From 1e122912721abe7ecf372234fc832a1db523c109 Mon Sep 17 00:00:00 2001 From: YXZhu Date: Wed, 7 Dec 2022 23:29:42 +0800 Subject: [PATCH] bw add partial mode example --- .../Epaper/epaper.c | 178 +- .../Epaper/epaper.h | 4 +- .../MDK-ARM/EpaperModuleTest_APM32F103.uvoptx | 4 +- .../MDK-ARM/Objects/EpaperModule.axf | Bin 129560 -> 130292 bytes .../MDK-ARM/Objects/EpaperModule.hex | 1477 +++++++------- Example/EpaperModuleTest_APM32F103/Src/main.c | 35 +- .../Epaper/epaper.c | 188 +- .../Epaper/epaper.h | 4 +- .../Objects/EpaperModuleTest_AT32F403A.axf | Bin 144996 -> 145012 bytes .../Objects/EpaperModuleTest_AT32F403A.hex | 1496 +++++++------- Example/EpaperModuleTest_AT32F403A/Src/main.c | 35 +- .../EpaperModuleTest_CH32F103/Epaper/epaper.c | 180 +- .../EpaperModuleTest_CH32F103/Epaper/epaper.h | 4 +- .../MDK-ARM/EpaperModuleTest_CH32F103.uvoptx | 4 +- .../MDK-ARM/Objects/EpaperModuleTest.axf | Bin 321492 -> 325072 bytes Example/EpaperModuleTest_CH32F103/Src/main.c | 35 +- .../User/Epaper/epaper.c | 180 +- .../User/Epaper/epaper.h | 4 +- Example/EpaperModuleTest_CH32V103/User/main.c | 35 +- .../EpaperModuleTest_GD32F103/Epaper/epaper.c | 178 +- .../EpaperModuleTest_GD32F103/Epaper/epaper.h | 4 +- .../Objects/EpaperModuleTest_GD32F103.axf | Bin 94768 -> 96028 bytes .../Objects/EpaperModuleTest_GD32F103.hex | 1711 ++++++++-------- Example/EpaperModuleTest_GD32F103/Src/main.c | 35 +- .../EpaperModuleTest_GD32F303/Epaper/epaper.c | 178 +- .../EpaperModuleTest_GD32F303/Epaper/epaper.h | 4 +- .../MDK-ARM/EpaperModuleTest_GD32F303.uvoptx | 13 +- .../MDK-ARM/EpaperModuleTest_GD32F303.uvprojx | 20 +- .../GD32/EpaperModuleTest_GD32F303.axf | Bin 247408 -> 249016 bytes .../GD32/EpaperModuleTest_GD32F303.hex | 1724 +++++++++-------- Example/EpaperModuleTest_GD32F303/Src/main.c | 35 +- 31 files changed, 4117 insertions(+), 3648 deletions(-) diff --git a/Example/EpaperModuleTest_APM32F103/Epaper/epaper.c b/Example/EpaperModuleTest_APM32F103/Epaper/epaper.c index bd55ec2..3d72107 100644 --- a/Example/EpaperModuleTest_APM32F103/Epaper/epaper.c +++ b/Example/EpaperModuleTest_APM32F103/Epaper/epaper.c @@ -25,6 +25,30 @@ EPD_PAINT EPD_Paint; +static uint8_t _hibernating = 1; + +static const unsigned char ut_partial[] = +{ + 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x40, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0A, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x0, 0x0, 0x0, +}; + void epd_delay(uint16_t ms) { delay(ms); @@ -142,13 +166,6 @@ void epd_write_data(uint8_t data) epd_cs_set(); } -void epd_read_data(uint8_t reg, uint8_t *data, uint8_t length) -{ - epd_cs_reset(); - - epd_cs_set(); -} - void _epd_write_data(uint8_t data) { @@ -177,12 +194,20 @@ uint8_t epd_wait_busy() } return 0; } -uint8_t epd_init(void) + +void epd_reset(void) { epd_res_reset(); epd_delay(50); epd_res_set(); epd_delay(50); + _hibernating = 0; +} + +uint8_t epd_init(void) +{ + if (_hibernating) + epd_reset(); if (epd_wait_busy()) return 1; @@ -232,10 +257,28 @@ uint8_t epd_init(void) return 0; } +uint8_t epd_init_partial(void) +{ + if (epd_init()) + return 1; + + epd_write_reg(0x32); + epd_cs_reset(); + for (int j = 0; j < sizeof(ut_partial); j++) + { + _epd_write_data(ut_partial[j]); + } + _epd_write_data_over(); + epd_cs_set(); + + return 0; +} + void epd_enter_deepsleepmode(uint8_t mode) { epd_write_reg(0x10); epd_write_data(mode); + _hibernating = 1; } void epd_init_internalTempSensor(void) @@ -247,34 +290,20 @@ void epd_init_internalTempSensor(void) epd_write_data(0x7F); epd_write_data(0xF0); } -uint8_t data[3]; -int32_t epd_get_internalTempSensor(void) -{ - - uint32_t temp; - - epd_read_data(0x1B, data, 3); - - temp = data[0]; - temp = temp << 4 | data[1] >> 4; - - if (temp & (1 << 11)) - { - temp = (((~temp) & 0xfff) + 1) * 10 / 16; - temp = -temp; - } - else - { - temp = temp * 10 / 16; - } - return temp; -} void epd_update(void) { epd_write_reg(0x22); // Display Update Control epd_write_data(0xF7); - // epd_write_data(0xFF); + epd_write_reg(0x20); // Activate Display Update Sequence + + epd_wait_busy(); +} + +void epd_update_partial(void) +{ + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xCC); epd_write_reg(0x20); // Activate Display Update Sequence epd_wait_busy(); @@ -296,26 +325,31 @@ void epd_setpos(uint16_t x, uint16_t y) epd_write_data(_y >> 8 & 0x01); } +void epd_writedata(uint8_t *Image1, uint32_t length) +{ + epd_cs_reset(); + for (uint32_t j = 0; j < length; j++) + { + _epd_write_data(Image1[j]); + } + _epd_write_data_over(); + epd_cs_set(); +} + void epd_display(uint8_t *Image1, uint8_t *Image2) { uint32_t Width, Height, i, j; uint32_t k = 0; Width = EPD_H; Height = EPD_W_BUFF_SIZE; + epd_setpos(0, 0); + epd_write_reg(0x24); - epd_cs_reset(); - for (j = 0; j < Height; j++) - { - for (i = 0; i < Width; i++) - { - _epd_write_data(Image1[k]); - k++; - } - } - _epd_write_data_over(); - epd_cs_set(); + epd_writedata(Image1, Width * Height); + epd_setpos(0, 0); + epd_write_reg(0x26); k = 0; epd_cs_reset(); @@ -329,50 +363,58 @@ void epd_display(uint8_t *Image1, uint8_t *Image2) } _epd_write_data_over(); epd_cs_set(); + epd_update(); } void epd_displayBW(uint8_t *Image) { - uint32_t Width, Height, i, j; - uint32_t k = 0; + uint32_t Width, Height; + Width = EPD_H; Height = EPD_W_BUFF_SIZE; + + epd_setpos(0, 0); + epd_write_reg(0x26); + epd_writedata(Image, Width * Height); + epd_setpos(0, 0); epd_write_reg(0x24); - epd_cs_reset(); - for (j = 0; j < Height; j++) - { - for (i = 0; i < Width; i++) - { - _epd_write_data(Image[k]); - k++; - } - } - _epd_write_data_over(); - epd_cs_set(); + epd_writedata(Image, Width * Height); + epd_update(); } +void epd_displayBW_partial(uint8_t *Image) +{ + uint32_t Width, Height; + + Width = EPD_H; + Height = EPD_W_BUFF_SIZE; + + epd_setpos(0, 0); + epd_write_reg(0x24); + epd_writedata(Image, Width * Height); + + epd_update_partial(); + + epd_setpos(0, 0); + epd_write_reg(0x26); + epd_writedata(Image, Width * Height); +} + void epd_displayRED(uint8_t *Image) { - uint32_t Width, Height, i, j; - uint32_t k = 0; + uint32_t Width, Height; + Width = EPD_H; Height = EPD_W_BUFF_SIZE; + epd_setpos(0, 0); + epd_write_reg(0x26); - epd_cs_reset(); - for (j = 0; j < Height; j++) - { - for (i = 0; i < Width; i++) - { - _epd_write_data(Image[k]); - k++; - } - } - _epd_write_data_over(); - epd_cs_set(); + epd_writedata(Image, Width * Height); + epd_update(); } diff --git a/Example/EpaperModuleTest_APM32F103/Epaper/epaper.h b/Example/EpaperModuleTest_APM32F103/Epaper/epaper.h index 9321f8f..e16d781 100644 --- a/Example/EpaperModuleTest_APM32F103/Epaper/epaper.h +++ b/Example/EpaperModuleTest_APM32F103/Epaper/epaper.h @@ -62,12 +62,14 @@ extern "C" void epd_io_init(void); uint8_t epd_init(void); + uint8_t epd_init_partial(void); void epd_enter_deepsleepmode(uint8_t mode); void epd_init_internalTempSensor(void); - int32_t epd_get_internalTempSensor(void); void epd_update(void); + void epd_update_partial(void); void epd_display(uint8_t *Image1, uint8_t *Image2); void epd_displayBW(uint8_t *Image); + void epd_displayBW_partial(uint8_t *Image); void epd_displayRED(uint8_t *Image); void epd_paint_newimage(uint8_t *image, uint16_t Width, uint16_t Height, uint16_t Rotate, uint16_t Color); diff --git a/Example/EpaperModuleTest_APM32F103/MDK-ARM/EpaperModuleTest_APM32F103.uvoptx b/Example/EpaperModuleTest_APM32F103/MDK-ARM/EpaperModuleTest_APM32F103.uvoptx index ea93896..7a6917e 100644 --- a/Example/EpaperModuleTest_APM32F103/MDK-ARM/EpaperModuleTest_APM32F103.uvoptx +++ b/Example/EpaperModuleTest_APM32F103/MDK-ARM/EpaperModuleTest_APM32F103.uvoptx @@ -220,7 +220,7 @@ App - 0 + 1 0 0 0 @@ -700,7 +700,7 @@ Epaper - 0 + 1 0 0 0 diff --git a/Example/EpaperModuleTest_APM32F103/MDK-ARM/Objects/EpaperModule.axf b/Example/EpaperModuleTest_APM32F103/MDK-ARM/Objects/EpaperModule.axf index 9c3131a2d5767fb111e360b942ef7723f9be3296..edebcfb1e7293db105854b92a592f274d8eebe2a 100644 GIT binary patch literal 130292 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

+_P!Emiunj{($TtSni*) zxY8qOF4=iJi+c;)kzTw%%i`Vx_h7iRO?C#hW++O!Asg~Hv;4kdLS{|=)Sao7Vy$5r z|LRCd(v~cb=h9>?_l@9MxAyxrxHi(~vbfg;xQ}FU?}9r{HX47lF*8XI!W!%8;l?bF zPX@SG1-Y-XgRK4tmt_fAT9;)j^$IH_tWU6@>#t7?k@bmftjeuE@qUgXqxCPZ!jo1oa|*2G6^Ol5EWV1vkCdIgug}87v}wh`eb;&KHr_ zjmQN?Bv(XEM&xD4ymc-Sk(Z3frCNl_%x0>7nJ-|(7IE%I*V)U<|I7fgi8bD|<>-HA z9Q$AFV8}6|PrGp;pE4`Xzm3cr#>;YRBtn;$|)TCw};I>UQ2!_;cqUGbfp{U-0kb@4B9bl~?+qmV z?FuH&hwlQzgp z=KEQ}$sr`pGiWZW(q^dUNA~*w_tGrxp90(qv$(GZxaVeZ-__iCQ{AC7LWWjndJ<*2 zX65{U_4OweHn1r%z1ik8tx+mqlXtv9B;+`;f_3SG9Y=dr%T9FF5&8wo)XO_5CJZ@w ztnQ+8dG#`4w#VXxB`1&7PhrWpNUGzlwps{Rjv=f2wMXKN?DKy1ald2Zo6RL%NXZEao7Q91jrSUJxPL&`bI4O0kLxZ&-t%W<+N z-0)qlyL(>k)aslGZumsk{fjz+lMyG#GFo&7`|{qgJ4*Gpy!n5^O&_7Z>a3RUDXU%w zt50>N_R{1$r#`otI&Mi$WM@%M)GBtwLL9b~r4mSTrdCc=x_QGaNlw+Ohjmf;G&xwS zo=vC8*;*z2K)|mYuT?Tv4n!d*Y}FSTUIb`z$d(g(X*4-!%eg}d&zuGQJAZPRQ4+5Y z;5tdMI5$l5lk3#efPe>mRNiS3i?iqWP4gg!8N~y8s<4t`jn>X) zvBvX6oOeRWT{!fgL?UPO1Y||hERmQ5CdHD&|JmN>|`yK6|5vrSYf9)P5%;t(7ASroQbLbL?6~2D4KntW#oSVsfnLT%BVR# zp&XHu@QiAbV$I~qE_OL$D1s)ljbcgBh+yL`aTW7~oJLIjC)trxg#x4=Qai;e)XrwH zOh`$wrt_F6#Wjluaj_2f894M`FkDmB=ZjUyBO%P+B`%}1`C=W&gZ{*tq@DA{vJuYT zB`%32qhU$X$3o6dy5v1rf$tI_odS2Fd}t4&q^NJE2jRl5eb;c zL)nXUxOTRPB^jihj1+sBA)kOH-Rl7TCR95NlcX9C3&q2&JXEI#v5emV%gU&vQ7rK* z4b;Y#)mY)n-y|NYiddePu>mjAX7!)VsT6`q)&eUw!2Ccei^+NMu2jw!iI3ep^sv9g zG8xG#=gF|9YpJyHArw7;GG#bFLqF$g5C2F%Hz4tS9_5^p(Z(U3#UnvT-4a`pmodzW zdu_Z>vyx(o(#XA7r97y3u-Fn)hEl9&Q6Ke3tS@WlF=Fl1&L**p-?S!X{pM(?KrfKi z#H`eK6P8$B6BA24TP zlsIPc&_Klc4iCx65&IfL7RyVeWK{nRlu8Nd>pavU>m}obJy6_|A8NTM+h{ngYFQt{ zU`y_?^q-A?Uy$*Z*4v7=a#-~|6zb(zCNo+6Lj+bHPt5s(Q+mL((P=S2*PZNWEzsx8 zKA9)Nn8&OE)umo)Vhe+CM#(LCE+fC)yb2gOJNDQJDUYX|INar5{Om9BPvLr zjcO^)(So7^QOTYKC69zCmeie3B`7-i9}o=dsP!D&rZIhe4!-`Agpo$E3V8M$wFHBp zSkmY0Sul|6f1DX<5rim~w9kP>fR{d0{R5zcF&5{6JOhUzX%=oq7;=^vDm6-2 zT35E12G*5SR0PGE%p;KvENHs$`C?hY?5ZTWn#e=)G4-F+b?Y{%nlIL#^=-L(2qTc- zNrYn(EUqFRaw3-0cf%0Zk%l2wtG_EtbC53!0RUD3dbhXF@NCDt|CDZ>f< z7tF1Z+Ea%i;vyl*lI~sX8lH?s4n>Pe3?e4>BAy&)jmsofjox)UsGEnBufdY8ZUEIu zRHBTqQ7!6e?bie zn$@5{>!NUX~BSc z^63QvkP(u+DOYe+y**2o zzcs{xGb0BlrFIIJ*I6N!R0^ujfmoA`6I1_51rrbQ8kSc<%o$*8Dgsh%3wa1pLMt*( zO#LUp$k9s4?f~^vSQ5hso{Zj4SmML5lDPDr1SrQY1&BfF#VXd$w2`8fGMd))%SbgN ztN(0R(zXW3z62n-Gc{T7%9z|`y>q3xi=>P%#rEFexb&aIBM!-m*DN$0!?J{Ie5K{o ziUo2iiQRK!@(NTe$_BUfx|p48 zIejRhozIgo6cd&xT@=SGZxPm)jT2MmM1V>1Vp-?XMp61Y&nlhU`UEnV$P_HP;?VFfwYKaq@=FtKilH>2N{-_ z`p>cicuEqhkjG?DTry%Nd9$$=80Ya=CmAQE{tJdAm4(6+tB^-RGJDWPh9TB$pCK-j z`1xWT&trUutA~f6#M;DT7&!EwjZ-2rlZW|5I1lH+j|6s%af%oMqXSpJkuAPe2tJbXU>FDV{ypW6O3I%p`ck~v{EGn5<*t~jm_u++Yy{ndYxAm+j zJa$HVXUDQbi;I`a0Z((k-4g%GxH*R}S=dpwyuYb`EeG97mLz*ux368^-)E>(jCdWi z?v5o*t2_JGwe@x^2~wLo`ubb#hfLF!)K$)#LXw=ezU8H@#j}cMI%|9Sx>odbv==U4 z+1Bf{ww5(EmMv~=sy?QwwRv%}sl_8gz7q0t?u36 zkvvebx_fo6)4007t-r$rRlWh2@urcYW~X&!*Rqb@p0@t3o)ym8{?;{IfY8;} z?Hrw~ZfH$b*S8j@oFyq|Y05b*<(!^!&PX|DrksbSoU>BS!&1(YV03}_(4U{8l0b|l zfhbD?ahBEAI_1^Pt&LSpRn6KZwhp2xSyffpT2fp$_v9ditLl$#p4(b7vpkD7%aAH+=OyQswU$&>9&P-2gwixZLv3qq!$KW~ z@PTuykDjY>eN$6wQ^TBQAIvRlGzpwj-PqJDdar9TaruN=k5F0NSXI$n-B90JT3cOT z)zmttrM9-RC0Sdw$fP%u-?*ruzIJg2uSEQ|HfDM;`u8z8iq0|Zx6IzWJ>GiExC6?Jqq<)y93s>bT%+}5%=)eTuhsjOuK zQp*RVRt!k39FSTyAa%}w)T6VgWt9~r0})HJh|P74*^<=cY$B4gvb?u6l{GeJ%M$;z zROcwYr>D>ot58Do6B8s(8%T2cK*SjX5&e=2hIwd~jLhE1p%@0rp1nVA;`<1 zV$RXh!O1IkS}AW;gImiT>1B%r7HemTI7_s%RGg*SIZd3?v~#*Rr)%d7an8`rnc|$O zorj838+4)K#`5BsC2*FOI!v60X(w+%+?bM-5|aRv0^WndF=^mMD8QtGH=zKN4qk-< zW;oUIPB11hYE*2j5@VGbYnrj98_V-I)1X6*HOp9s8H>c}&`6!Jy?{uK!Cp|LK~&zj zpsLbo(23C|iP3hku}X|pYOHC-nr^Ha#+qrYLya}dSce&l#OTmSjIq6dNQ}W=P$Z_j zsX`v&FK;U5Dd8#QnZ`4nMYD1PYUI7Cs#aQLRlUQzUO;t|CN)9fC0>VBIj2@gG}rn?gh;EccgpJ; zw22{sQ@_O|ipE8i(3-W`)FeW-B9%B*jg1nK?lHt6eT61?RgD*PbCWze9J-Y`wMT0q zvAwQ@9z>9&LhL$i(q9Omrw~imS3RmC$BmNR#n#pVLn95Cpk}d+38LQ;tr!bjF_&?f zgeMkMt(xQLV1|4eG>ejBFE)(iHNgr}6G{>NJNn5KVZqK-NH5ZQ? zKW$z8sjvev+9)J0e+DC=GPCUHCF31y`noYzt>&h4p=&|(Co`Y!=8jcsnmT&=m@^4) z?HW>L#Edg7M6|MIbzdqAItSvdy{m7HltsW@zAzo71?0&$(l3gaH8Klq?de$8r6+Ii7LA@ii^f|Zi^kg}i{?#OD^~Y(cC8?9tRpyUx_X?xH60!8rm>kxWV54d zl%7^f!=+JbxA6($dM4x6?a>qI?&w*;>|PqN?pwSWTeGufWgFTNx;G<(w7R>EcC*2! zG7oEZdiwe_K_+6&PG?tdUq20Bll%!+v(w(yE7f9kk7lGMUd_(3wzbrR{*KD7lQb`F zUexR??_Hi;-Myh_^(t8j(CN{tATDXXy2?}CI##dkcTRBDI~$zV^-k*svxdQVKx%NQ zbE4Dbm^!&=jjo1^J&PUWvi9~~r%?yATrXBE($`Zui;cCYqo>_jEXE=v*U_q|#(I!e zxw^l5pYt)*+69%?d$#^$z2P1ELjZEoQ8m302~ zRV;tKX;0Vfm^)dQ3~+zyziYv(Nnh1k!CkBs-K&?Mm_E<)2g~V;Vc9D!@)Fl?a$a3? zo8+B^*;uLHs;SpFwC2X@I^k86)nZj?!75J>TrO|X3SN_`w|}XVtd+MYW=4Q|I4lES zB5k4x>EVa5WjIhaw_IMKOuS1xyHwki6=D%wQ)7jA!9~m-t*)h3lF-sr?!A8-L}X5~ zMff%+j;y5d5O1xYO@=yN`bdBE9FIf74MXQtRH7Xs>gP$z2&+_>ILV_OJ)_4cb@Ys#CSM}1S>#*K z!1at<6z2sfHUa8sHpVn@O&4Q^7&FB<)X~#mg3_xc(@apM#scYStC^+KV2THZ?P# zlmea%8DHo$maB_|?0L-%CG4G}x_$9#XG+Cyj zEN^Yzu!d!8yELA$P%X+!%^4OpIddz@q?VU!qiK#KGY%fq)KD&NZGuF9Mt$Wi48^Ia zbDV`@G*ryVm?k94j;^X|EOS^ErNNaEM3RRk0Oq|isR1k`Iz3~+dvz6=B3EMQXe*kK zsL&IIsF)OK=f+jHw!7O&G5}uQ#%_u3 z*aS4UEn~FyKk+uQ@1^Vu-THc$FG+p&ZSOz+cfE`l;|6 zHF0^Ass;40X%v<#Qf~!4Qa5Zp1!CVOfY`1{L$a-72(qoTu&l94w%Ha2qfKWt^0FAn zL&YBG$hW3=`n}B_QBzrYt<9F9Rn@1HWDiVMj7?m~_?u!WiodUxMlw5VhE!W#k<5rr zlf2lnhtkFyLz`A#Qv!S~8BPi>ESp!=l5DN6tgUL53ALAAk1X%KDyEHfWsUPZPHlN* zE&HLiwisAqA>+`p+9cX%d6x%xEZGG;`WY6)g^uKt+qj zloTD^EK@#h60CMNvd?E~OtU}cmXg$`G-R+++0`dwGMRFipHXbo%c|+Dk|4_jXT*%# z8!85YS(DPk#vs{@6tgH<(p5crplAfWBzpNUEVSTZkDDUM%1sB$Pr+Cgww>6~vL-Er zy0!fsoVMvm4<>_Zaz-Cj-rLc3Vr54^%T=uG$l{m@-lPVB^k7m1Bhb7)o$q7AZp>i& z*jpPnaW$HSas!&z>m+%>nsgq$mdmu7S@ue!rbgkxBsZ;U>+P>VK0RTXWRpIhDiv}M z9s(@mX>MD0XXV;8-5nX3%c7gaSNB%hA~pU41h0$(6i-Cf$9vbV=}%8nbq2YyqpiJ( zqeg4{=5)8Mu*#7o>MW{=;yqK&lCoD~iyb|~a8NzxpXA3`yw)Hqn2oYbzixGJds?0G z2SlvC_OD*Ux~Q$J{)mQURkNsSip(3tc#FA)<}KB-)Xnl^Z^xW&c1#Q>ee7Y|zeyI8 zKD}VrNe?AUma@Lu+1sWUVcWU|EtlD#mj~^(`jYhwy!-3DCNgi3VV8zeM8+A-PIsGG z_cdfaity8uiU+~=Rc(zOU$Dg}BMGO?Ysc$oyK8OR^~MN<9BhTsGfN<{SF^%z1nuNT zs!X7jd&2^~GnH0zC}S$&Er{WKwua9(x*8mCe-sio7iC8w1d8o#YRua#j;l0&|BNkRMv z>E1+N$ed8+l(iIF$zi4QbWADIVKXx+(`RK-re{*7Wrb6kMJdS&xuhgBoUEuStLBuo z)EaGi!xC8xk!*NSpAXJnzmUeMbtsD#Rr96DGf5P=)t09nkx1=W!%rs!!q8(2IVxxa z6@rf7pQCi{ZCiGglY`ox8qXWhi_?;A+=eC7drJw-_$|qsCtK*vlm#|*^xKbVIE$jg(7DMZnrJx1 zx3+%`hepJ!7f%|^_c*}WAHCJc)_?-t6;G9@ag(f23_xdD%~ly_Cy zQ!;Jc`ec;NrHL*z*|l^p;%tUQ6PWQz<&aN#tiOtk8L_2{Hv-c$AWPG-mN?L?nCVO4 zY>_^MB!0bFt2cWSivNn^lMp+L6uNZTdJgGNI4$-6zwynxC_RVrqV+17$OhlL%z5S0Fqwr5EA^sHd#8E8o_F&1U;8-+w5DzOiBx#0 znk2KKy8P~GP7bn^KmxW#qLo~HiRItCH znVi-L_!H#&6X5xiVC3*m6<;_t$*4oV7D^+UczqfDMUgL3Hzy^I+kBvbEN=5zhH;yZ zF^t=MMq=FN>k;ENAHW#*VKxbb!wGILJp#-(7)FYdvhA7x3lER^rDg4q8Q%kw?MQzy&y!Blw2ONEELkUivox@7#BRB)Kd zKsHb%S|6t&6RhQxda|5f3M9cIue4Eispe*4ugrbESJ8ZIl4%YrwNm4CLVRe7*n`r_ z^uz?6`IBvPyhrk)`zCWBO$Xv(IhK~flxi9##tbZn+ye5|ayTl08|2_q3hRSXDd-)S zN)fz6Qz=4i(gfgdwMo*Ymo=yKw4i~0!UP8LWndaNkSpPG?oN-JQ(B^%PVMK(z@5<} zLDFNHfP))zd=dQF8OYDhK=Q$re46*!8A#_-o`Fo8dIer2rnfLNDrxLyEJ@64O99P zNs^u5c+iBy3s*A@GWpg7J^9eDZSRy|Dp$Py0)FJ2YdSP95fdV>Azl^%K5w3M0w;mf z3FdvFy_gIH2wolnlvFzB^s*x*sT9&&!b~G1GYKYMU&cg5*390y+4&BrZ2*qv#ovn0 z_A>y>_vCHT59BF}<$L-EoBmlW-&5LgfMAy7+TNugGcQ@YCPnqso=G;s zOe?)3GzQm_`gG6%_U#K)Q%d`VO4h<(;EYXhl@KIS|iP9v@u#eAh`j@8?pvyuZKqtZe zgf;uXut_za1)bE@&Z*&*%ezm^I66Ggd2xxhgd;sfE{Ejxc?WaQcntxRvXLxFk%R_V zU4A7q`{A?zgH?s{lt7uBCI`FhcZ82tMMd@}VaaMy!gB+#GO{r~h97oGP1mDlR%Pav8aTG&fz zEi<1%21(`FBo5Q*ONQjz3D2W<4NlNwRkqZeY?5~ak7(8lDsYjIM+safk z)j}R6aKVsA30yPeQ35v{d6d9KM;;|`-;qZNTzlkESm^O9h$UsGnpKJ{sqA#K0F)&) zBYl#p`78i6R@IdyTUm1S;>yInh@PZqUq&Q_eG#u22ZVx@bTKa_{%FjDkD2q|LFzg2nAe~ENt12IYijP#H*^G5&!<}O7~ z_wNY@Q|1-3Q6m04?2G8H=~Bf}(wadi4G?@!$;#rix{$)Y2vN|z^E!hd$L&HuF*+xQDdRSRTk)-e{1gP{YHKt9WrqyIuTH_q^8WKb$E zNV)b#-jR)b@h>kvvCX^9ca{3CY2u=b)Kb`*gKg>4g)cp^*wVXt^3r!!i`(zw=q)Q+ z(fTYNTFfnFmgy~t$V4o-hGM!~{Y{2;iVw4nqM=z7Grg?05pr$su0loI1mMS#!!FFs1Y;ztLdNhZ)#2qvw` zuAW-C!9mLzQq@UZfZ^?rYqD7r$|8H}%A)%LH+HOQTay+tg{IF>WH0g*bE+K`q;zlA zN&<7@W=H1aCh&jprWHO%?_1f`+0SRzddZ=e+l!Xz%aC;J=2E1SxXwh<;;oTt4Fu;J ztN?ZOq%l+T3Ay{k&$AgI=<84#Iy)&Mezd#qL|M}yB8k_d{_D#c{LHq#^`mR~iTtqk zziX|cwV&|QCk6hnA$Z$u{py}NGAN%7vB1|_-NjCAwsu9`YQBA6-TVKvcP_wjRp%YQYdb^~12#{$I7PrV1!J$Z ztCcJp43%XWtCq29`4y_n^=kJ@TD+@Wc2|~6fiWGD;^34=O(!%!10@YU=>LBn_kQV$YatTdMR`%+ZXG995+Lsg43X{jT-4VF)Zd z)%2k!V9KZRe}TuHp@*XIWx0A*Wt)UPyme~oGuk%3aHrS<6N`8kI5-d?oGbPSgpb8; z4BWKFS+6f@);lns6pk`4-PQ*m6m-sUcy}T1!X=2~2*l=!xs>zj0(W!1N(`E{fm*Sm zyjd|@b?T~Cgs0Oq_eX<^vtxd~?9fTtD z-a|-?kz)~JA)tRaFHi4K@QKY!iZEF{vO4)FJQeLE5nO0<#U%=*W-7u(ap#2Qml_5o&vWu%l%-= zEEizIZ7jDTyc6q-SUH8*7TDe=?5&;s-EyqgvLEXKtcS2>k;WmcR`z3rUpF#_4`CgE zo!uVuh_@WV`ZeSQ^CXm;04KDkt`jpDUSwu5q-q_)mzs4Oe!1>6>*e_6TE%MP`_x>o zWz5X@Ze{Y9)2YAuHhSvp^xAT}qaB`)b9x%qqrIP*;^#3l4KwLyl51=yu?=acE1N;{|T}E+u2gbeRH3Ovzx7+X=NH_YyW@Ej+5#x#_@9k+Eklr3%|x7*M3dq3*_t613me3Q5y96=Tu_i(ZHLYd~BGhJDzd$gj-CQb|+h+w+f0f{q!Av}Uuq4z>%TWPOs3|#F39Ozo zt40+f;Vl8PGFg2a0<2h;IisqbESm9O2#zXTLe2WhN@?xaBftu3nNyqcB5ZjOfv5pY zsOePM=vh5yDCUW?%&CNV5-k@Hh)#S0?|D6sC*SHhe<}-rK{RX9U#kp$pAVwmLEre9UaS0Ai&Oz<);u} z$I$ZA)C>MTm>oK+{}BT0tXcjs0_?b1ei;FF?kvBKzzc$r1s*$jR(}kb72Gn5PH_1D+RNDT_>3Omls6wQU9u7>Q7r3=~>?wI}A}PRxES8 z<7i-(dEUXd&T#l_@EDF~p0Y`J%fThV7lNyT`@jvs+raw;=fPhPTm^qw@YUe23BCdR zsNmbc-xB;8@Y9072(}B4hv{d1lIcGr_+jXIKCS+5z^uQPp8~VKT7C}9`fvFl*e-T| zJik`Y{2CI>{Msq_4KVAowQreYW8);m2j5!c@DhhtIsEGmU*>Sx;j10~xWjik{O1lo z;_!DIe%9fG4$qkzKi-oZJ{!#IwauS4aI4^pz)8XVV73p|{xUGz1IuGzwl9`Ah6i;T5%ddbGz{Ux&&|(6&@(@I{+a$$-;eT*`fE8QI03!8{YB729NN2jm$$=yp6P#cf3DtT^abD6 zexK2^K+Gn-yJ64cW09JT{Z|iT|Bukyh2`@nnp<`L&GFuF^e3o2>n&){>!rP4VR~Hs z634#B;SW1J>F~`Cf6n1AIn4CzME)d^M5gCqM}Ii}7sviphvy!v`;RA>_!oh1L49E} z%>69`9{^kZIv%^CUk2t*B z;k^#u;PCG|e7D2*IsA~r-*)&(ho5&CZ9}*)zZM=BqDNlr@c9mRIDE0geGY%f;j+WO z?eKnw?{N6D4u9R@?>YQKhw(5wTzI^1IlORws8;!L2AF*xF0@~w_3C=Ka8AO@YQ3rj zg> zC&AZ(*^JQs8So8)Uk2X_X8(x#x!CYFusz-r!JicRGr@O(A2aq#z*pn`?<&J9z^{Sr z{?>x$;(3VW4}p&tJOVx)Z1=YZ{EOgL6W>1YO0Ye?JHfce3iIoJFz%^ZPBHd>1>Pg{ z{{+4jY|rO&;JXC>1pEMaz1jYllX1Pr{i)sGeDFfB-F`9nEWzi2mkG{-R|@V1_X_R@ zZv|gw_O}E40N9@YD)_I#w;TN)@D;efyvguKz#qWF zz&8Dlf!_pgG4{`bx8i=Z%kWF!kArP_Jr+B<6+CA2i@^!pud(muaDT|{{~3H9`nz`j&x3J|Z8^=@zhoGw?B8P?VeD;@3d>g=g9(yh}VE<$*cB0ABja4nAknW zg`C5~qviZW+@zdyIKByn%J6fmXdgkj9Jd&8*tlPcwkT%e8x$uC@hHp1dfcK~jwe#P zC=N3@!|anJP7-wDBxP2_EW7Z4B_6s0Ty%va{BhsQOW+ zmkX&nJ{abVV|u7SN_~XKLKl=HJM25mkTy6p4yw6oz%+)^c9~1D?Cg@7Sk`vQbI=8! z$zg0=*oOd7C%gR4NV8H#o#v?tH%iAU5=fjU^#@(9oBe)hX55+w7s|zIw4T-s}v8I&3uk?3rv#Egz}I%EU+&^T2UG zO*G|+(hM5xYX;3oaSEDz0T*OUO^9@|&^1dgKceP3Lp(vXSgMRp1W=FZk84>BP=tI; zdES5n%Tgs*KtZbRnI;_P+~}_5l|ikdzLsAzQ7jd@8;x2K-@FI)WOB=T3~nCm-knVj zB-bW4B-bPdlLNiU?p6Jn%+~&FdTW0so!qgiKb=kvLNW-+AS8Xgy}kIqJ$Vh*t%JRT z+d7li3~t%bvtg~q6~OiV$xVX;-95d@&6@`LlD%uXyOJCGdNyyu0OBO3!s$v5;M&`j z?CoCDw;LA`Qzdd?2$xw~P4F$d9*=4zg-{n&CVabY>^avSM&4Sga-^)pG0YojwWDFE z7=>N)=%*zSk z!;Q*hl)mxMCQ3v#l%XBVbL6m%r&b{zr zB1EC+9mo0c)d%QzqNO@=wBI~CiE{a(VXy+W(!g^S+th~KO$0z+XgeKaPhehiVLU1fcA}1i$ z0z-X6e-<&Bc3Tk>3EvhmxpsgdMDcwZZx=!zI|ph6Qmj-eNh}T}iJi)3-aYIdn)>*V zO6$BLF4Hb7q%87-VWrlwie>bogWPb@pD3b@NBtFqNroU0&2OAg)id6-!7bB9uc)DJ zdKg&b04a2!)MOysY{t~cF*wff7?wHh{{aJw59_Eqa`jB#)`xdWt{t!|r{we|VvZ{c z#%8k8T0Qu!kNzcSr_&Zr62;x>DSl$}LD>no#JHeAXWS1MH*P9kJqFGsMuXXn24^Q) zXy?L?9QK4|BB&PpNx1C@eAOHETVr}k12X)e@qlgbwsH;qIC=z{9xMY7FkxO3Qn1&JI(FtP|NpviTHcDkRlPU71f*Q51A^lbBN> z$`Dab7_COS`VL8zAw8N^bw|u&E_CMAtY7k$(f8B3%Z1xV-_PiFR4r?*Jw;WnuBOa~nMp5Qy}R#j|9O z&;GIe8gABg$o!w(*wIpPd{^slb`(Z}T&}I{!(Ml-j8eI)b=fj>Q&Augz|CMSSKH$^ z;3#OdeNq5<9$vaeYq{zeZFsB2>B7;`W0!BF0wIF zMF+KBU%hf=dm6%gbz(Jg0?(J0ZEOdZiuK0o)KEWuQ2gpcz3Q0~<`JL3Eu)SYS%@))dEw@X!qz#s_Nr8S^JorP*x(^Ze8lH%7O3 zSullLk0Qqs<6OV9INsrAY}#kNLvxsAf3iN?}=H%(fhwRKrv zuPJ^5n9!phf1W!v<*!{gFqBTUrMm0`-x;3!_KoLD6NLcDL^Uh~xE~8vpY8kh$wMog z!gRN$&vx|qI-pu^&y1worclWnsR~>gVvKpkyu+x3?;|S0kgp&l>sJs`!dDP6#w!TP zd<79>{R$!`!Yhb4$2U>0Af$nM1tA4|1tD3zf{+3}sE;w9vP*$_1tA4|1tFQQAYzP{ z0h0C0fS80Y17ZTa43Ny10h0C004Y%~1N51RJ+!Z&xmC~UQQ&7;;`1eRLv)!RUcoZ2 z7Ui06(?)o}-Huz+ZUj=Q3i!F<;aafU(nu{=4lMAJYr|-QLOGrtSTP@yn22iFZGeZ# zXi6HnVf;2~>UX??{zWRUD>TGoM&aRgv&VPtSoo^F<=hJ}?f`?u@OkQ93TC@790fdW2i+ERV7aQM|5QyD)7rumV3ak-+?fKn{u-%609k3e{-d#q6``} zcm~B4yq0x!6<2p7%6cL}-Bs5MycXAM)>RQ$-5_8_2+aF^s;4?lz}@xtdH>h@--fBG zZ#_>v_0&^ORaYO?SvG!h73Z9(Lt{mZ&_TwG#qFG}#!u6jX9Tm5U&KNzC|Rxk%u46X z7^yL1D1O87yB0Xp!we-$#dip1Tn`%I3&D3M@Ic`Iul_!Zn_F1h;5e&h6VlU|LALN# zM<;lJ4{bm4-@Rxr*|T_qzlv8e%PQc7DY5+h+P-_sJ?{#{6MO0iiz>5v-@lt{yFV`8 z=$-7F;*G`XBW+x)`r5}T*?tnbveplKbOxh2>%wmfZ%x!?1>w%^nKM8)wHZ!fMMBDNF_F*a4s zVKIGqo1WMgU6%W9Mg7#h(M3O9LPc%c#%R3}32)+7!-P;DHo(}_tsBfOtgQwiEYXaX%R|)hIAO|=myqyY+RqH-=9*yd5=h+KI_#;bR*lOgGT;F2iJt| z^%*G*8^R}Zes~-V-T%H3B{DdNVF(Eae2& zutBTW_LiNj)lORBZ<@R$a7EhXJt|IYLN6^TsOVAgI#Qy3SjB*f+t&A}&}v^>!RIt= z)ancNva_^WtvfeOX(C6Rp$Mn}NXFHs%?|mbVP8 z9y*D*FtTgQ>eC}bCZRN9jxc|3G@o+w_a5S9wNv-z@#V-Z+Z!FqYtcI^*_sr;-ruv0 z*RMbu*&04{?{-QTzu$YJ=#yGs-WJkQYg6mz?$HqI1(4L%21z8bb~?pp?Mcl~Eua)h zwR7$$BMr*hq8F16D|pBIW%XLYS$nuF$=ghB^xwbLS3R|j%>hRX*^D7(pIh**yu;w~uCE9;D#Mk6l^V{Z%>WcpLD_F~c-EH&o5q_r~5Nucdm);kn6)_8Shdq61q)@X^=?9h$5@B&vDyrfR+}(H=f@6Y@C|MbQn< zRddLh32quq>)d>ru z<(h=Ih4f{bXksNi;+=@mTbWvab$Q3T)K63&hxbrAmodv(|!A=4b`_(l(< z%P9Z5jhakT{y#P{=osHXBU8=~$FR1q_7_^LZQy}K`-h3pV9d7tp4zu+nZD)gnne5L z1RveL-Lr4iC45xd_C))PM56r-{I(uE24&JwW>X?`Y+wsJ<_{?2-LkeO+Ll1uixYg* zzU}(HRg3t@Z&9uUWm*y&zm7*(+pEup;8!7(-@V^LkA;x;*JoQWx7@ye7;JuBg0-!Z zspUv*+F$fc26#W(&)S~ZZ#>SemW{opaO>d-y(agw)=uEbUpjIqU5S_>4&pZ+X~jc% z^c#yj590hJUli#u(iESR%$thXDc5$@e%mWrHf}VTu?D}k4cE4q(DdSi`PKQ83#RJL z`o3vZ`eVga{i~jyFm*4B^sk~GuC{KDXR>1C^{CeO%|P#tI~cA`v>z|S68J+jf_^`E zA^bSezWHFt>JM))+0?yPH?ZcZdn1v@;;HE4o8tyE;kV=;Hy*UA7<~19#IWf>PfOcI z#zmBsu*eEJ??;ec3*QNeDA$-4-LN0M&&m?*J31WiHh83E!^M+W{wX)CDKFa8vXS-a zcEhjBJ?~`I^8@;f*bF}W`|W(_Kew|@$L?sGdTmRf%2zeDEm4f$&`;teYo91@!Z=~g z`fbmahpNI=K>6BAe*5a4qPcQYS-DuLuX%iz&tJXi_1(-b*8FxCPl@h~UA%c$Z1MB! zH>^Lo%7U#}TTcAxT@!=8kM-4!<-sl5YG0*Ty>1svnYwc#n>l{R$9(m*si~Brx`nTN4&yQ^~nw+np>4!6|9>1_%rK&Ro>&BqN-t4 zetAwywBHLa-n0F)cu{jv)fiZw{q5ow4UaOW{ z4=z9J>a&*TFaP`UDZZ&Yw|c^x*siUfzE}Gne{!I~py*UaQEj)T_*xiPcF;Y!+~9g;|-if>&xl ztrdD@?;9Ri&)a-##rmH0^V^~xPuZf1=rQ`Pt^62_fmySx3Odv4J3VaXjE0R^=vmZ9 zD_VH5XpXM;Hn;X@!C2HjNs-p7&ds`x_e?^+=7V{0L%G-a#?w0l8O_xLCXAY6Zsi#L1T z-YU&K_xm8(JO&DkBt4-cx1}vWR_|xml z>=jybqCG7!x{{CFvzcETi_Cnv3CZ3p91fD-L}4<_2* z?D#A`c6p*Onm={#ss&H>VXGpjCG`+yhLxRp)yQLqs!objwM?j*ny{XpP>mGD71bht zf5GK__$t=i9rOQdhay!I!F_ti)V=$sCEELUP#NMZox%#o+@FdSco?-jJYg)-!}764 zM>>LZuVh+DF0W>*!hJ+@WbKw6JfpS#%^iA%w^=-rYE8(e^V&Jk_|^rB`nw;@ag+jElPwKY`z6I0j!1q3ynjZ3We}-fFFZ72HtkD@d)Kmd_h#-levLVl37N>(}6uo)beG z#5#SFwwkqtX*vtm(-zr!17LW1G8F_5L0bn|}Brvbu zU8PsCzTQ~hBL9{%tNd%4C(O&eFxOhliuP?yYbnAwYP*&7d%B7jOqj@GzKU*fUTPh$ z?H6rEdHYst@!+DIt;h>bXw!WIiUM2aw++#(#cOvL^OXMPHe**4=EyRRnbnw=``z}` z)$?+v#q}Fgo2iDkw#+Lswwzn!-Ev7$?_}*4=FW_zu9@1Fn!;a8UCD~HzedWB&DUaM zJo@_s^KXt@A)YT{Klt=5R(|{T8>)=orNvnO{_UM*+P9O}UKB4L>W%YWtf+nKW4pYJ z?Y2@D`}liP+qm)Sc@!DG43!sCsS|s5chOV)3(o48`ay54ywJI!8ATS#mk0GJY)Je zwlpI>V<}rE%Z@86D=T2j5ai07GPW!wC55wbWfLb}&Xz&JWstB8(yT~XDMt>8UKYW@ zmT9K8j4jiR&@%9sm5q~Sy+}{b|2fh*SV>i(mZ6OEWt_886e?wTR>aCfx&-OD-HdK? zna^l2d<@MUU%^Nf#!el8f2g+%mFpVUbVe1zD3oN@j2SZ)vt`wll_jjCva-^muzDFQ zL4KGSSEXQm8Ghh_2hc`C*B4`4Ux}iTXycU-A1bPZfy&6jOZ70QOC=ACWp=4M~4I& zg(fVPBsFh&e#`UCOyD0XJXCoT6Pi!sNN;PI97QhIcx%ZQB{3vm0nNZba2;`Yi){`~ zk0S*uG1goguWhDm{4A@(vXW^;IBW?P9TGc%tx~i$S7SP~VJxoe5Q<7ks3G;&1h~SD zl`xM$K5pRYg@xOaJdu{Bjwlrb(^#1B*`6FR2X+hQ2@O_z^juL zQFe<79!=IuEhiRDbc}5s+abH1$#%}LKN@uO6{vC-}epNC}5TP^d21}Bw1 zL;9Gg)|3@cy^M9}Nj;ZFV`Ox)d2VcM46~5*H~pU4d!RGY=v=ZwIvU0Rs6`e;6b)R7{6=R)>_P$nwknLlN?eR|E({mBB?(L06+)mrgubRmSyvx z0I>jQEM~<}mdqd+lAUs(Ppi~{C-aS9YEsV_<);P>D;BXVRaNcUwH65_TUl`=Wnq-1 z|8`p-KMI|h;EdHqW6|2A{jFNcw(W28KxOb?6+`S&Pk>LQ6@Ajg2~e55?XGENm;|3tJJiLJ!A?7_q|SDv?OEEgFfyU_6M9CQ2Ix zxI3ALA0_1xZJ}CR2Z(eyImM);eMD=+I;#zPB{3E<3@or%Fl1RFJf8@K?Dkt$sbzt` z0e(R(C@v~2$cKz#qp7JHaoDn~bZSehB}@1)v6U8L;DJu3=bU_-9t$-!kv)RxHZC!Y zS4%)=tds)S&z7HCke^TId!-K>T2PPV_`fzn68EuiTJ6LbIaHr4F3T76#`ysEf+(;` z^EuBiwJ;1JkrYVUKbg@Qjbf=xtWB*&VT0uJV@kkI<%ym2vxk13*3#X0avv3+-nmmh7*v)R#J# zI7mOcJy@^c$isuMCdOok`$__k4{{t#OpL`ka4a6~gzKZx`mkXY4-#Tfv1OFJYO^Qh zkvde|Dmfan>^$_wU zJ<8bmt5&VLy_QTN`C)(CgwfTjiK~;J**UFXLxaFC3s|Lv+Og;kat}8@xag49gEpl| z5(G}lCkU+iN74bKiC@{{(^k-K&)S4!rUFnu-(u)MMp;qJj#!Ko<`9fYc~T-l$zscg zJ))FB0S^=#m~oK8zi2dAY{H!|z9|DgW(^%27;4#RWJH(W(jaFjN)tW5c#xcbNc>XU z0cd3m$PyIbkg=vMjS`?WGaX)zX;ar_`lkeKZE}*3MX(Haist5GlAm)GGy2v4P{n^Oovw6zxJ!B{JjO!&-jqTz4LDeVh}Ld!xyoCI*ztBoQj zW?>pFwu*n*@bT!7bo)?1U{r_XnWEK73SrS$Udh+ji~cH9 z%@nn>LUbf#cqEUVb6EIeZIKdOVh$^GG~jfoLyVQ!eHv}ZwH2+EQ&*Bs{bkj*Mgfzy zk?rTc04yC2$OQ>Jwl$XIN0d+=3cd335FihyEgZHSAqbY_(Fs4dM^2cIJmP6}SQvO9 ze#rJH^2s#-$T#exH71?4wWaC0<P^=b($uu$Pc}QTqlfpQpd6Esg{-1-w;o{=@x33|c4XVsm zx|JGcNgL*s)?%u*LehuKT&F5qT4xvtbS|8Z>@u6rbdANChj}{8OGd|K=hZHEwigYZ zbx^9&IS$Wf$#sO2%df^|ED+s+NXkU3sEx&BL;?G>g$&b2c0#wRX#-1uNG%#40Z&JQ zw*|!JLjp59{KrU752dH*^5hnc#i$sL=+cVFgk|w4Y6|C3g)B2KH)O?P5R&wtgd8{0 zIc)z@cDDP}s*TCIs4ONQ{FlB8#RV4KQcgtnMbb~npKUo|gZw$kgW96x%hbfBBuUj3 z3VR)%+QWFbUY7CNJ@R^maW;K4+nyEqm_B4l?dW>$N^Lzlzm7DnSDIk%XuzK~3b1e%Cd zUtZ9$kF3KUgh!Q=o}M{&={fnb?Nl}?2Tt3z#lVDO+ZXC!B&x9-p$_u}O&ZI!vE>-+ zrZbkKwGe`KlXGyY+_sTSCS@h<44Q0vg1B%XmM1586D~aAqc9Ay)FSeczektaLx=hD za(y7#a)^!O_!9A0UZNvLW|LOturx8%#?~q^Al$k%{wGfPp>Xd^#=GZ*LtX0PzHxD9 z9&=_)I_ctAYior;+cwUgCPTS--Dw2C=jDMr7dY&+Y8oM0oyz427Tc~v%L|PEurOP_t#V#rVF#@;gRmZY3+{~d ztbNL{r6dwz+zvG3ZGd^S;=nwg>^xOXEFMNH$I4k*1Whub>)xC#Ef&uOk0D(MOAT39 z(7wJ=Vlc|$xPw_ad2s`>AV_lA_Ls8@4KoNyB*>;zs`HdfsPkxu-=ym|#TVfgP{XBf z-+c4UD_$j;UD}0a>9Xy%Gb@+IjfvW%C}L1u2aVPF-KHLetF=|lKV9pJw(dpyQ4m7X z;nOq(p^()@rDVNF)Ftzwi;?`q zIl<%@Y$ZAl2$KD7Be*NLTuTC*r-K%&x(scHHuAdqm~M{kc$u-6$C}cEc(6BJx*m4u z#PP+_j>hOx@c3xyCWFJ7^xUOiw2qLS3e#lUrQq&0bo1yVszN>_yu5cQ zZZhJa2`C){%vlb_Z7qpZ^iSeQ9#~kZq=~!F50~K6#)wpq2U3I9VV{tL%{s=RX4m<27 zC+q_hTzBE1E6?O%YYn&4>&marOFMo*ueP+`W z9UUD9ZF)zmqhVCmV}~{|A#+?o6pLogg%Ccw?nDABbyow3)h>!ev{Ohj744);(f^i# z_>X${&_nW&4x<2G@SubH;7rIHhoiJKFE7A~5#z{9t{#O%rDNfCU?o6|rFp%vq=F+- zMkz9K!%p2vi8dcZ2JPEPsxZp#8Y!@$eNfr8n0t`jzI!XaSOpW&hJN#kCJ}>I3x{M zX%Cf7k;OcWrDmg;2#{39{F&VEx07a?tdBqmC}}|{J)omf#S$z6OD@juAtx6C(;a~T z8A*XiW~M;`#Cb?ux9)aD$j@>rl9cRD==Z1jO<8;Qk+SyiU>GLD8wuZ8o--6}&G9fT zOo<*V@UUuV<{jlZ=~zJY9L((o^~)KXQ;H|=xgJ@(m#etVK*ZjInIqKBB`agWcm#Jp zDa;yyN);oXwnK;Rov^?In~>3{FZv`E@hC+KkEn}k>f5PrX^sW!9CJj~wo3h|7nSg$ zUVLcgsoiJ#&+wm)GW|U)H%PV^a75vLId<`ZRD#;7$_yg2-CiC}+U;1h%+-{^T?L^T zr0x)>#U5&8u~SOIp(CJ&)KbD>NtGoSPW{zM8b#f)x=CP!YG%v9%|ues+U?= zLN!uij56m%0TCD>m1FNAv4|?bktj=!WbOovuc7M(6m=?6eNqrkmTUS%Z^a(N8*0cGqt6+uhdPWl!lb zVRB?LV~*2<(rbITy^QQBjJ`%s1CGN(xQ(o#ItlDa{%H1g%m`J5GUJch**34wZC<0( zyeV$;rgoaw-)T>pP+ZpToHo*I^9CHzU{tpL5i6xT&Mj?`aoEJ->IHjZ>1IzXS%(`i z+i`O#qkGq?lH(}su*m^HlbJpGBC`3}bB`PZz1;56yK_#@b8IGO)uWD; z|KIhU(+je*vK{08U(3OxbwS?NXJuTNA*04 zG<$&NcGVaI-lkw+y2p5L_c+BnZge`e)a;+%Is5;gK2Y5!oXo>|v0LYP&z^C!>>0P~ z6zkYky37$B3eU1TAm=DuLu;BIUHaB>L3@gI#M?vkC_PU?oRwtfawM;FG+Y0{XeL9D zqO``7Ykd0zrn^sIp3e1(mnLgk;uAmC`|?zqhSk13&QqLXm>g0&PpMr`o%ZS@4GbO# z0&l=k)l&i(v^_JVJTtx1Gc(j>gzMC3FW+!#>|E((b#@~yU;gD1rE^J3CrG)@%W*AT zSn5|!0o1e zTtwN<L2MqT=U+uF11z(}?y9Y%6p?PMH<%^q3!B$NB%q1$1@SoJ@I+QS&* zmnOR-X5?h8;iFhLIeU#6k)<%w)gf{-kaCyy6EV@)+3(I;bHd( zqlZIuyI;&%aN*p!0~uc$$Vg+@d%%5~PZ+x4F}#KkZ^Wh;sfOQY8hEWjy)r`gF6b?b z|EY{hlsy|V=!MSzsf;F+rF$x*M+iS^i_Wl7ZD{}(2mdpCQ`4x`hXVTz6<`*(Em4>!LX7eYSKevD4?yV}d@!rzrn*xffXfu#>!cesBc zn>9+B^vlC^=-Q?T_}n@c15-V3;77+G{K^CRVLYURy9}lO6(*Vgir%&Spnt$|4N^);YT!P)wpN^Ci|$dO?AJ4-;>BMk@=WYj^YnRisqUR zkR|Qtwk4$%UV0QCcGDaF4gKHA|4-=u$~H$U-<7}E)t>)^ziWB-c!{9B^k72Shvap| zZhoR44XeH+`b_+~_GKZ?J)>lPXJ4v*rZSIop(%aNLphoo6((L<11OAlB|4_+Sk?R$(C+=c9r+P8~;@M6m-#VkP9C=N`H6tK{r2& z%C;V@y)n>2Sa&J=5e~c7)r5O=!MR;jc%J@yY6B04)zBeh9h0p!XvuiqAoZ$iPbnCi%$a3yr9OpTGKZBnDMC0 zcdcp514Zgw@I3UO^IP&dLaxshZ8c~`U1+L4WXtn{s!x@{jjA8LW*L#ZR*+>HHD``m zih4+2m9J!dfi~K@A9?+=1vJt{m2vB3>uj%E-TAZz>dIg1t{dwbRres|kC6PGbt{`r zL)}qHlXItYouJBs#3GV@^mFfz(H7x*Xts`>bt;)pf_A}=$ee+`AEao>>qHay4g4NO zIZ7)WNaDgIeJRS`hID11@D_ffc7s@{Kpb75o3wZ?V6>%C2$75WY0MsSv8o;Ni$^Rf!un{0_gY_7@H+SFY}xP;C&Q9QsiRI58LEq)<%7VH+2l+{28N@w;zTerErx3SWKqpcBX7C_p zojiV7mBozR$nGGXyN=-DlBb#(--C|R3gh?v2v3w5_#z;yB%TM3d!gizKdjSb!k$bxGT>cKxCEDHV!VRi5Wgs5mcqDCH!BWmJ713q&T%r`X{m6^99)RfdY!CwNx4v!Ko zsi<#B@EOVaXQDY83=4iFbMd)zGFf+w&?pQ!SjMW6zVm|PY3K%LA~b^MBMb$vLKqI- zhR_QB24PX~S%k&Gw-J^kRWUvdegVjXKOoeDLEQT?f_)K&g7h5A3Qk8D37&%xmb#K6 zEqFUc=y8gS;6{opFjwSuTlgVpU7AXekWrin1T~f6m(0*R&bPzBf-fsMu9nYLJMAMC-mSA zb|Mt~rJb;XPuht{@HIO@^(0do^J3|R&#KuDQ(5*V zg~tOMEc<1JtAM>M`_Bqb0M=Rd+X`0$Yb^VHg(m{jV9ESF`o?>bro&t(X<2_&bew&& z{s!^QsovdZ=ROA^b4s*3Bd@3-^wNK&GfMKo!3ZD)PbFq|UZ_EUSxqJ$r0St4c zDSRd{%+*cdp8>;MJrte=40GixTmuYq^;7ugz%bWfg=Yi9Tq6{&1%|nfS9lIE%vGlF zS->z?wZe0OrMW(Z?|SPs1LmsNvQ7d$pS^WK_V}c=DI-3o~6haX*$ni*>e@1 z4-E62r*H#sFP43=!WRR>oQoA+0Nj&hFH?9SFwA?M!i#`&;H?T@0t|DnQutEf?kxLm zg)ak!`R`YFF>n^kenjCV!03+k3SSPK$+DkS_zGZj&x;B#1x|m#^?jV3@B+;oE>=z99Ei!W)4x`TRxU7l1u1`(uSS0b?@yo5HQYf@OcD z@Md64PP-I-5tw6mDEtzz9Bnt^n#B96)(!6Rs+P4+(f;VzE3wgAIjU=n+DZ3TwAIOci>81CYj>s?^Di({_$fZ;BVx!wncyEx|h z02uD#nCmaVa2Lm1+koLNj=4SrhPycC`YSNp#WB}Mz;GAGTpt6&T^w_L0_+}bpQ_RJ zXFR6&{#^@qGZ1EZRC~XK`BDLP5cvSiXLz@3+3AYB1L9!5?h5Y&hWUCaybBoS>!a{L zfMLG=3V#C(^9@n>TVR-Pq{9CMhWY3PD>=Ef0mFP{3hxGn`6ej*9Wcx{Md3ZbFy9P? z_X5LwKT~)gFwA$B!rueKeCI0M4h-`(C>#fd`7TrV2VjggXYSt*bB3@SX5F)Krc9-k zYXg=ATEs)@r+$lt_;o02{4;G7aC$j{LbB}iU`C<0HIO+C8Qzxyw4Qq@khNM>^Tz_yS>d;VVdX6fZvlpt-&c4mFgdBh?*PNfe^>ZjU|4yl!tVjY%54h24-6}RukZ)J zZYTXqAbCcej}xo+;{dJSJ`Q9ZQ2d|5Jeb7TEkxca%@Ye`ryxf<&F2sY^8^+CJ21?X zrSKQPFi%flxxV=_plfi-zKZ@8=r9-V@!9gW1H)V+75*9+<~l)@-x1L1J`Kz4jSp{n zzYWm(>Dxfo1jXM5bx#C1fyf7?y59w|r>o+7Ar9)Esqj8vsC$;e-vdM4a}{m}#+YgV zmd%X=L;b~y{sS=7ze?f#z)=5Mg%1EjeaDA8l=`2LemqF)7aq*INy!&MmbDU~gUBgC zaz;-u+addc7y>SF2C%foAUss?rUmJIo)*l)-C|o^Y--P13veQlv!uB6V75cf>>{q4 z5_bjh=LBiK&k1JH^e#KEC&aY?+(l&MK)YVSY=@lJMVzI?{h9dt2E!27H<Ua<2H4dz1J&|ub|AVK!caEN;opoGX}QryU3_6LeQ zIw-sTV}(nCx`wWH2KE@x(ba!f^y5HB*E*hiJm~1!U5Y*y7+w3F!Y62vBAQKk%{d_C@M-fA^|(~(gzTP! z!IqMdOVcdtMbAvo5HK%9ww~YPKJXPGll2@y;`ZcjKt?XzoXMqYY?els)4k}?id}3O z6+1>2BU!8$J!P>;Hxp@~Buz#p>qQS-Y|?5X6-yHFvtIP<#U?#Sq>++D{7}&$wGinz zNg{sMo1Vx}yLin;B9+pevpjkn(=0Pzqs&T6TNxUQ(WF=5jY#|@k(I2G(1eqKSl;tc zdXVIPpSYJ$COZ|QR9`~Udb|($Us1#IFuLSp7hdys;=C?@C^+fnoqnC<^k*^ltmGsS z0sMH)cf`4}K+0Q5Tm`bgO1k}6u!hu-xjm??Jo4z_j)f$zArboO{IdXLq1CdMap=rp z;9-3xK(?=l=T1kC>>!pVPmS~l2$CToL=x8aJ&lyeS1}vmroXW%?#q)J%~@IEH;3G68v~g z0}&4VVBwDHE6A8b>K`KY+2C5IeYX=+I`44>6s1| z452%-^_{r568JpAy*O!EJR8AWoDIY|kW-%zS&QJZ zPCPV3H=XrkIcYugVU2D_Cs8qd+wdx49W1HE-vUPo+uXyh?o9Xi8TQ+fY1v@3ghlY< zH5*8UseDK`+?SwR-bj-Q$ttHGR;7)Kj{~c$@?^Wp(|~1_Hr=k$PRlB(GIy0&gfYF2 z54l)XS?8|uoWrWLQSqIs%6hxXCsdU--LBG3yQ*A-M`gATyhBx9!H2wsa*bq>D`b_! z`E+T^E9?$!2US|y#>4q3bn_m()ZHWKrhYQb20sbW_0oV}lIYv{kbzi$-aw*nw}o8; zys{Gy=O;@6HnsRGP*)T64#{0yfVucC7p?}rhwv}#2G0fl72!LjZ?VDjsIf>Y5GMtm z=EM24hlt^6TOi$LmK8i}<29-R8xNDhpOeDbV0t!*wKUuTTP&FV3JH^DdPSOv4OR~; zc};I(c!Ljl67pno->{qe39xLgja74P)Z-4ksEwO$@I3XHlh+I*Nn804FHRMYk>*=% zNrQl&bm5bMpL1b)6SUQZ-vO4UwaX9tBhlXHG~kQ>0NR^`|H20r0Dl84wS3pM3Qb6| z6-nF&nAT?cd$Rnnm`m0;(7q=8fi3$C;D2=TvcdFZc80X#cxqal522grvT1R#?U8>3HJ`OCKWYdT9Gh~Bo#754g+L|<) z{P_r3b(54k;yjx`Jv;0IO5Y%vY)4omJ@GD5={9XhZ!DXnO1If6RRT+ulK4E}6R6d< zNfASufy-g znf+4($Qdob)&q%>fk+%9c?J{THvD+aqtu88wIS3-*@y@2Mmz~D8f3o z^8E!~^CGGLjy7ZlVyXT+w)!in2)RWPzX?2rs!ZZNz^8QL;bLVgJHy7qFqsWG5oP6I zwfT$tVu2)W|Gur#OkipIBwh|IT_%ZN2bSmU_iX-yz_N)S*mwx!OA{qA=`KxVmuF+} zEKI(7!E3fbRr-xlZ(s15e*n^NjCuhBYgJT0zcK0^3|`X>kbYy-YZ$zy2#|iMQ?aPN z5oXtpOAY2Tb}8~aANh692j)pgl3RMVG4o`kOF;H~sF^fXRZ#k`f~9W2*_=$^8J)TX z$@3^#m3}73)o6&%;Qo;Bpe*t(@_Y%FMN92ZDb2W+wH{yx0nYWTKLYF}pm9&uM*s-| zf_t-e0HmTfe7IMe#UVJ0fQP4M^#rg8c)6K%8~|zT^YH*nO~cur?x^_6Qu`pemXecF z#~}GMC1<6cgydV4JSBB5lAlqsE_Df#-%;|)RC;jjr)HF-Za}ghB^PSV z`I>!C?!t}-ht6w|HrXnKt(b4#K}-joFSG%;2BnurwBtPV@m5Qe157|BkLbrC^68%0 z$l)S`dw&j$M^{8-`ZPp%o8)|C8J8jW6PC|nkd{&;3V7zV)R~0`4;?VmG6+ROf=5V~>XTa!vr#EK-!#qxJ)ByK%dCSkCehy2! zQpuYQI?Q(suvEVmxI6e2o&%iC((X|BEMSuK4%#SjPcJA-WrFwCE-=$8Y-{Amhb z0Sxnp6kZAp^Jgl2C2$XxmaXtr!03(~g_i-NJ8~6{0;4C9nE*tzZ>3x<}Ok6dq78XuTuD4U^Lg6tL_7acV46DzXXPN-k|VW zV0hu-QDmp-cK4*_E?eH>VN z^TWWHZ2q9=>wq!YJg4v@z=EZ1Quw#P8tkFUKMH%u(GbFQi+G%OLw7#T%{LW4-itFo z02o5#mt=Qt;AwwTzX$9d z{O<$12mc4a?!o^TVE5qP2J9aE9|F4v|6hUKga0F7_u&5+*gg0^QG4&CXjMACrKol_J&0F3T*25(T4>(EmbJ%sAvz0TlG z2OZrpThTL69^Fx|a3(Oi!x_xoG#yt@SVz7=`sHYaP(MdAFH-zHq5eXET|^!r)$gUH zU9QM^5C`?0g_Q*i^&NHdH9Z@>5mo#Jprbb&b^8FLH*Qe$LSXd9Z3_1VMsM7s@G-#X zjRzI(2aMimQMd>g?^-^maDQNG9t+TgN03$@zV!$UdL&5SfzWT}DL3hta`O!op|gR$ z7~}7qWO;oF*Ui5ua5*>3j}^Fro95>VEaf5dD+R9P-OQZ;@)^!mJZz?-9;#Vi#tY4m z0#ROMW+||o4>Efwa5XPB^Axy-k1+cx(8x>70Sa8p$C^U`;v^>~ zT7f1$**qRV$2G3Lf=@Fe0P<wCe}mlg-3Uw;_zIDr zi?eUhFg`BhdqjpWM72p4jdiAVSK7luqftuo;FC7=tmZ;g!b|m^Bf_UKN|9rnh~T0y zYFMVH6bg@?dImD^(G0q#Gj#LPq*@{sd&-vrEGBZMPE(_)r!^{a0DsvTW9529krMr<-pm{s`222OxlZ2I6F?Ub)`6*sg>)sP|XJJ{}nAeXej7uzQA^ z01WkZDta|A)caQ9iNH|rJB23!<9z?U!Y2abeD5@OGBD2f2NZn@FlJ2f*vp@jfZfZR zslYhl`4oK`FwXbRwa;{2$5k_W`Vh7EG@Vv^r{PZuDSo_#Z>9tE!d((kBh7K9i#&^Z z+H`!bRu896AkMiuEd=J`FCi&Gbr94GfNqG11yayCy0nAr_H&^Z>{(f$z7QC8tyK6TUH8B))e6tY4GEm6Pg1x67*n;Q`NjBC>e3Eg+~X0K z>U83}R5xcRe(X3lX94sj@|9Bk%XRZ?MW#Pzg!d8_0c-d}-rcUDgsIW=!?La=@FdTs zotLj7gV)?iIWxOYgRr-d*@R5(98dS--1sF=SX;>|kc9&il>IdjUUNT{U6OMX?D#Y# zuNVzd4m~m1+zH ztZHcS@L830m!3PfZq|gly80zf_TpKm%)ev-vhk6iSqm42^cR?LgID64$a~9Oi za_7#dTexU;r}k4SPdpa2%bmJ|utV%QG+8^jZeiV`+0}C{ng@L(2~RZ*?W8FaolMG* zyLYScmFKECmt4@vPuX%K@07X=r_8x%&N+2XDayuEZbK`-WZ~h3DAyv&sS8oya2n+o z5bc!HDjZRiQAnAUb!T02&XoBVITXs38-J(OT{Q2M)0}+DE20voELk|?+_~pF1j>{< zfh+6IKCC5_Nk$chzODNLC4HOyTmlTD>lN4FvHHsqQQ;JYxpNuuU z`2fk-%QX=->wK^1-jgaFgisS@2r*qDG{pG`Ln4aM5_cek;72Hes7*4~#CtL}#4Z_! z1nv=nZi%prBVw?OQJ}(3XkwQYOKHQz zyPz=fCDE;<{j}pnyUaCuQLgAoQA7-)s8;b*iBe!DrcD z^I~^qR5Z%WJ7uOvYKA-BVx7!=!p(ZOcn%PDdKFPbypOQesqsPaB`^~m2%XH|iEMgV zMf64JWIiQE$joXxQ~HIrLi`*sdbKXjr+9f|iMSkz)@Wm~XhLFbw6RF6Mxr^|Xo-g; zsVO2hAQ5e9t`;vLu^cY5RmRO>L4P50d9*nszOfUA>XKHmA2~2%iiJoMVT!mYLKG3B z5n7@eVMxqGXoz}*IFlgML?c4Zk~YE@>TUyOVztcm(%w4XO$g2`KqfYr<%(q@i}q%owyxm5M5j+%-aq6kY+`o0-okd;@SV zW^PvaM&Mj#zNYX^z&)9{6*VRlpGbwbzC`mn-}2;B_1#Q#><_cv4e z(GAQNVM2V1@aHQ2^$=eGP(|cFO7Tw$bATfM0gXpz3{m(gU~~pOev`(18W^2%g2K-L zL!EMkp9Mx|Oj7tcV06YQ3O^5w&Y)*>Qr<>jbjDc0TkAM zQ<%3a^4qrcR|8Am-2(Aw?){3s6&THZMB#UU(cH%s|GU6w?sJO%9x$5wlEUu;qq(mt z`~fhU`=-Kw0Y-D_ai%oiHbJ+8&5soR5cG6rehw`4`>W8gn1Zv7r2B=RiEe1_XTtvv z#s4=n_d9?YMBXi%`*&gPSL81t4&J~q$Yph30mB=-3U3F7H>4^2H88v(L*X63Fi%f~ zcLKvamcqM$VV)v|{{am16f670YR_anx`t<0qh=I2a{t9H&q}YK$H1e3o~XUNY)9^ z>EtYw)yD;B(QzInOR-47mm2WHyMV~>3`-{me5NlYufT+u@ga)Rk+D6QV3`ZS$mjBI zQ~}Gpg-~4*g|M_YmLePP^^v$U(^o>=CK7ihiA#S9@MQ__z$IhWCxGW31L`bNIV*t6 zr;9q_NWg`ike>Bk?m+o0Uw$|QFE~(L*Jtx-QuOsC+9pqus(eV~dq9@$x<@KVUh1x|4aoZ^ybx4D%V<~R&c%xoaiu|C>e5|K(kMyW}m1%*TpM6 zG=ZJr6ga~r(QbA&F`VNtoa17^P3z(<`JZcN*p}yC}YfdErA86zPIrG3Ko$LcC2Am7{p zfiVbn65iQc*S^SGh2%vf_bZn7Fw#pXy`AT^B2D{3w6C?i_mRGp(mU|Ik8dFFE@Wuu z2JmE%Jx<950s3IepD1}nU=Wg@P_i*_I+7mPS6drcgrr5ub%7N~j-urHz$v4<+RI9Udya@RN$THbS2>%TK%_jfEu?^*%n;Tam6PIWRb@4Dl zL%e`6B;G@4iJb@|g7ufze%TahVh}~TD5J;_r%@CV=Tl^fC`A!*2SvDAd{oA`PjC_B zxNdH|g?ujlj!+YEgt|x@KvfqY42jVQEioA(1ka%eqAr!OCT^6mA?}xPNIWBBOS~=P zi1<>*D6rp7Xd*a}BtYXnb|NH7?1Uwz*olZZ%T7=|$rO~{49%RI8z+bxKxx#(U5J$Z zv?{TV_(Ni&ox2iU&9#~0Q-b232=OA^7DTvLVbi7xMk7!J5#mcjt4NkMN8|xQ#X&@4 zN!BG|jAWfeG~5@kd54Lg$=oX_*ARD7gkJfbjD;$Dp7^8W+J+E!f)IwpA%tO(aV%N) z7=%UQIE2MwD#8*a{%SD~5VwXALTnR7xGbdz_fqUO+$?@4d0s{s67M6l#8(K5MF+wb zsA}`A5$S_TR$qi%9FI_lsR;4ee7h|Vh`EyC3WQOe**Cwm$HZ-fKlY0UDgM?Yo}##2 z6R#nDd7CCaBD|lAZxG-AC>IIBSBmr@c!U2m(FalMI57edENrXtf|vxz#2E+;=8>6n z|K?noyAYwH^*7=QKuz2tGn1^{xcHT1U1zh}`oAJt022vKY(@+>RSnxB-a*FIFyP-2 zFNa_4BZi3Z6hpU&$U@W{5e10WM#Qm*nj%WoPsJEuE~*h~;xvT1I2)lM79zy0IfRzD z8DT`+g%GtSmBhW4hme7{j}UVF=^LCHd_56N9fr*5L8DN#22$`GiwW$r!4=L+0srG* zElNSo9|O$a3Q$dCJWIp%>nj2CRYkTpJDYDRY;Sfp-%;4!>}-Chu)W#Y{7hkcv$Of7 z!uDoo^B)S^o1M+?6t*`zo9znQo1M)=3fr5VP0!Gz`u1jL(^S~r>}+NzY;Sfp!wTD* zoy}grCDeSi**T@!1BA`aFwe&U|1pXmo1OiG0O-3)0-K#-o>;&fp~&`TXY)9P?aj_+ zL}7cgvsnc!tFt#do6{8C-t26iuCTq?*{oIA-t27FtMY2Ib4okugU!xR_uGJff#Pq2 zx|afE<2)d+*%|777ciHq;`U}|^IC=N&Cce{3fr5V%~cB9o1M+Ofu*z9o1M*HE4sbe z*<7cvz1i7pQP|$>+-YsK**WD8q#rgrLwz3fKc(bjv$OwsfcJ@v&CXEY6Eq#Nz1g`_ zoZ9T1;_-nWo1GypE$Dwqi3>v9>i~sB#%5=TOAne3+1~8jDNb#6PLVe^u-O^na)SQ% zAwhN?Haq)20$51m@};<5LDM1Io1Htwsm;zQzb1Zcc80jVLI2;CIBa(I?*Mp_$k;0Y z?fM5zhiq?l?i8msJEwd{{MhUaaYKXt-H;&r1`n(Kae#CK}>iJ zwl_O>4s3g~vl&oyd$V(==h~Z{&1^-tH#?iX6t*`zn}rJ7o1M)83fr5VJ3U!#c23z$ z`i>7;XwLYcf0*LOW@rBxfEbad%H~WAnhx3C>}-}Rc6+n4IZHsv*|kl`s#rx$|W9zjXG(!esV06!fWE0PJ8`ExLK z-hNp^$hrNZzV(eKn>7M~`CO(tRKYashwl0Esc0Az+p@FV!~n#YKHcKVB|^4XIA zYru6QiE?WYqdb7?wvthRbE#F?BLT|@o+aTD!0`mGY!k=MLQ+Px^jN?L07w%!^iIdkKEH^F!Pjbge9V zB!d%w&Tz$_!R-R-tLMCCBo*lA6zC@l;M(jm65o%LmF+N$ewKb`CvUm$i(P zh1~aOP9e53M{3y-3}+L=6o+BT5e!!l!x;|48AmYOLJV~dLtTFD8 z-zoF`<_NZ(#J1jM`-@^*e*{~c*j}*N7@oPx&UnG4RkrN205$h5N2|9a1G@NB8gy^* zGRK8dCHnwk|H@(iO0wtlhy2^gC%)p7yA&v=0_{$LcDumIszAG4pvQH%)oj=BGb#|! z?uUctT%q(1XymF;>$g-(Ks(*3g+?2%xtt0O(lUC}u%H9aYt>zW=Rl*Mv^4Am_S=ZP z%&y}BRY%!jb(Cq;lH4~zeU9p^&}fRu{Tld>gexVsJ;c`GHzahfONRihz84@@ALm^U z#e6RyxCeIC4BjiG9qj!HXrtk0T7vn>?a1fwO;*kC1=AD)99w5{0A>=vzAOI_fVl*) z@5+Ayz(oY`QmLOhYzYDEyYkNmXe5ArSN>Z7XsBwm?@Hbw_#BntwgBBB*h|Stfu%^A z;L~OWRwG$J$x{M&yPplGWL@ATB&#TSW#B_3XH&97esuH-N-pxQLUq2i2nNDDS{64# zS{nCL6ZeuLLF|Eg0h|c}A+(VioC*_b_#?FbuR+Nokbwq!AiyG!iDpsj2NLLp7jFY4 zxTJrA>T3$nS5;r36OL4dn2s2jwXsNW`~_X{ z5ao);5#nli4I+bkBoVI+JR@nZ5KX*?5Law=xh&iukhC2{W61({irq3ZL7BoVp#n+L zQ=%sz6U7L*C`Bj~X{La%rTp-()4&=9Q%Q^cDH zQ^j8q`o(sHrr3)xP5dwR-UKkNs_g&2ch20IEHi1kH{A#YDwH-&(v?MMwzf%=G)&SB z3L&&f8%Wcdq_l<7*0yXeY_iB&L{T=CO+j`}`cV<#w zU*FgF|NsAfq`l{y@AEuod(LvtcF(wnkZBvmjj9N!)FjNPnu+PD8qAnVVaBakN}UMg zXceZb&ch7SzfyfsB-JgLdFp;lqQ)#x&tVp--(x1!Uon#^|4^bI%$2SG&|rTHr1buz`O@eP0uw7NU9ulZ6}1 zz}FX4-eJNTjTupsFMCU#i%!5lbezw-?6SP`EJX20`1i>HCv@4U>)n=ca+*I2&!GBI(z<(n@P6JNJ{ z^JQYao%iHTZ^7m=PkKF6}Skx%bD4ii}1M0lKZ zJQ}Qv%YK=d|7*z~UnY|MR=04KmFLUE!Zm;hvu&3z6UqKEH?huoUqNt`{w9l$2BVIk zHXH+{^n=n|31+uDD2-#m>~;sW81cD$lZg8J+`@OQJYOaj{vGg1VV|wl z&*A_4BYbsiCOFg|sE_miqW&VwKLw2Xhgy6p81;{^cqEb)f|2QfC3#Yc5oEsG|RsNK1We@ zT6`s#!xTYZbrqP-;7rTk11@qB=U99-nA&-f#a{p?_z1w_Yrut0;tLj=FB21Aw)ji% zsjW9!Y`#oP*H-goV&Z1YH(w?uz5&*?`8xd5+1zFM=F7yy{T7=q6B7?vd?WIFu=B9> ze-rxPrRL;sU~ua4Wg^9Si(B|(E6M6&y^TR6nZvmIAh0@x;OzDy*$kA@om4+$>Z_|2Dz z>BeuqOiVX^^JQYX@tZFb(~aMJnV4?;=F7x%<2PR>rW?QcGBMrw&6kPk#{ZPbZqWFj z22=Zk#{UdB-1wgb(;9-t{~Vas5H$Yh!L)`zy)W3tFE^FCe3^*)e&rS(VAb~$>YEOb zYe!x7A5q`Sp~n9T!J)pO@tZFb(~aMJnV4?;uOd%v2^#-v;Be#r1329H&6kPk#&5n% zOef!bnV4?;=F7x%<2PR>rfZA&GBMrw&6kPk#&5n%OgDb>Wn#MVzf1bUjsGv;0w>-0 z{|XK_{=b34ud4UJaVOpQ-v`GygGy`BjsF91xbc4oW~31`{=b72=k{#tGG8X98^8TB zF@If>^5V-xiZd1|Jj@m+UnUk-13n{czD%Sz3nGa{mTkUFOpip&mx+m^EZ=;Ym~Oo0 z%f!SA%Qs&pri;gXnV48*`R2>SM32Sh%fxi?*e?_Fr!uE^`7)8@mqZHttUO;P7H$H_ z$73#ECX)OKk;FF3HeV*D2Uh0G#B_4amx+npR^EJ>m`<+wGBI(E<(n@P6Bk=-zD!J9 zZL#?>F>$@c=F7yy?G~Fa6BGAa9DJFWl*`bHhGT4yG4QPi1d&}GVggpyc}6H zlQn^7aGI4Fhq*n=EWd{kl^b;Uz*H075<=rJZU=ULS0m12M?oJh0tae=$ULZPQcy?m zvCLmZrdy(NbRZ+N%s7$RHf$<^d>{hbMBE54QzzPKBJin^4~swf6SjXsCam_44g%IJo5^@IX59P)uFIdMq82W|@3%6xNHw zwh`=*T5-x(t;4vOfZj%$Q*a9+tMrobKEJS#Bn@+ zJkN_jjV6aeenY4$+>*Z%@-gCZg?nKTvLxF*_U|Hcl3Ox~z&41;N$ws*MqaLUhKSCv zDZop~tURF@imLE(np?66?`Mej)3o=n$OI8N$1NE^$Gss)gwa5mh+OHGT#3jR zMdV8N8(AVpipba8lJ6mMr-*#beIO7qS!ofG2i%g^5qVrh9&jH;B%PH|DRhYJW8re? z6Ux)>_*dvc%C%~C3*{wO+T{fK(&cv&=F0}xgZ~`DCxYKkV`uzX1S5LllQjuuVnhdX z9%9ito_!6LPhbiKmm2&%@bEN$;uvvHiae=vdV7$v>m%*o6X%QUoQQnP>kyRVl=8U8eoKO1Y`pa1rA@?+GWa4JgpY3q zAD!k;>=1V<@;9Ag3DQ)Z$0W$!$jCqIE(r3ddF00MPNz!AqpOu6{YJ!hM@H@|^+Wz7 zIKOB41fueck>40L;(r(Mt4-)Tp@xGhsfKq?D5x-qC~myHj{uL;gaw^{2u+TZJgU6Us#@6t9CyqF+&T5$mN0 zzM`bUP23{x>$N-G4zw@Rv5XL3_o|XdDMsz@-jKihwcFH;sp#K5_8<{|M#+1iIh;gv*n@GA&H2VW8$CK(SU z`gjpLI9jsPiX0qGXLg!)J4J`%XZSo`nMV{M?!1l>nNu`?)1#e6t|&SeXNfrPDY^mY zRB<*HC0*8>#d&KHi&D-B;#^a74$jTu>@WHT&Wpskt>{UdH;D7hqE~U=FU|{!5)ppF zP@G@hM>0|>w*wSA`%Xq3dGVMeG)?DD;Xo$p#6O1DUC2cyxJ94GeX+QI;FJ(T)G21R z5_PYJlyIKHbW6$Ld{WNe=RE{3#35f7o&wQT=VC_HwU~M8ZcIMW!Yoz4#hj-;z}(@g z;R~=L>L9WBnp>H@LwalN)V%XShWux$EGB6V4He+;^-Ucii~ zKVtGB)_quUzvPbvtIUx*xMtJ%Y*CahL@6A7Vw+t71jfJ7VRjNIh1uDiW(yjTLL2 znk*JRDzzO^M_|iu&3QWEa-?e!6h|$=Bt<4WH>hJZaf1-mF3gC!7*nb1FXk4F=Og@%(&{q%u~BD^VP+e1?qatLUj*j zLOqU|RKLP3Qg34pp>`?)imXy27l~F5#2l*TVxAXKi?Gg*sAB|0)doR)87C;FE)f({ z*JItxX-%wK^3>B@J6UB zgg8RoF2oV)2UvU?_&nD6W7KO{H;+|+$GUZ_DsDn#tlAgryoqWi*7*}vt)NnMoS;&* zQP3oHo}fwUIzjuZhXn1fo)a`#y(4I{lAmik??81B*7*mjDnV0Ko1m#`HP)ZX)yY_I zl&jBT{kdFShxJyux*zMj3!~~O?DH>VS0Imk$D^_BXf*z5j7W--`XG{5swyJ+d}imU znGregHZxNA8h+%Sd&Lcvh3^CI6m|pelc<^-NqCEW_MzO-!m>%B#fO2J_!e7yIGBm< zD2qQ1W*KCh#Yccy_So0rBf-r3CtExZ%shXp#Z_SD^%WLZgIU#@V{r|bRjk7;t_3r3 zt+v?wT3cd)#pc)A5=|DHUu#RGEH=N^mRN3aJ>gN|{jUp~BXR()IZ}A6<#SbM;c9^X zx^T5tS1OWNXW4CdM_v6EF9D;j%@!{OqpochF9V~lT^26~qpnX`yaJ56&a?PvFzUL* z;$y(5>q?7Pf>GC(EIt;Dx^A%eI56tE#o~4_^ZGk1J|4_G{yvL4z|7mfWAO=K7U>?f zcokTyOCP}F*V<6m+DPG#;U6ls>qOM`6hI%qD)PI1* zo58YVZSfW`#WBm`Q^2fReca+x!4yxO#aqFwS~XdG8kpi*V(~Wr2axjRryv!-)`t3a zMGB9DuN&v-QriGagw3zDp}sRCi5|;7o8VAizs2U)+7hQ&Y<{gR@kxt6gFNax%i_<1 zQQx^1p94mH7h8NT81-Fg@p)j>_a%$Z2cy0lExrJZ`fj!Ob70hWm&F%?QQx;Mz6gx^ z9#g~9l-?J8f9voKRrB;0#^Ux2!)`t47iWL6J%3qE8UItt!?C)sxT@y*X zX4zjNIMnwii_NdKCEl{w{90S$FBY3$YfHRuvH7*OgmaW%TGtaE>Wf-zeyuH$XR-OU zwnW0>n~+C+#TI`RjQU1c{53G@E3x?NVAMC!;+w&!Z$FD~0i(VHExr|u`leZY8yNLf zT6{a09fa8ye*;YCaj3=L1ha#1gvED&=}f9Ez7xzM;(Uw01*UUpu=p-8i-^q@-wmd- zNm+akm_@{;7T*h|^Euk$`@k$Bwp)BZn9gXm#Seg4MC`WsK`@I1*lMs@jqq;Rw4KSFgm6(GN-ruelsTH9lh#16~;5#FgTfw~?C(^&=TdIC&m zwcE=77))ym)b$fEtu0X3Pr+1|KwUor)7k=c{Txhd3)J-_nCcR!>nSkRB~aJXV5&=? zu4lkhmq1<5f~hWnx}F15T>^DI52m^V>UsejZf(D?txbMfOYv)M1$mf-XW9I6WT5b~ z0A4tbdJpyGsozEt7h3l32oCjKX0iFTw#3yIn_p{7eA(jHkVkztS^Nhu>buqAKY~%; zoff|iMt%2L{3kH#`;NtLfKlHg7XKNH`kt`(O)%G_>m#`NjNhV1#ukI) z$6&nOie^tyjOQXMzZ-(`^kosADjbHWer3e@M7soVmasY5L?zBwiAk1SXg!6ffAi}wLjh^Jdz3Z~FLYw^B>N1Z(v=qP2cJT^*5dua6w)mg9{{FHe8}R-V7kPgTl_IFUE*&oJ`hZo_*bwV{~QFS zOH>q`E}bc0y2L`T<{u2EOB`wWQz;I*yz!PlO+}d{GaOwu1pQX(%PuNa;bbd66ZKCA zoGk2*YxU1oi9;=Wt|{$#79Rpeee*3o6pXqWEj|n!Zt{oQ%P^jl@T>G?7*(n;W#wy# z{usd9!fw>j*QrF8WiK$%_gK8pMBis|y@`Ia#SK}}FS5}uDJJ|Dec42dD%@t}Q$&9z zU_jW%=;+&2;sVQFYNG$V#mh|eS6RH=M1QTtE3%?L+D88~3BO%m{?M)pZ?f_oME?!I zo5Gg!;@p9z5)W8*r-}Yyi@QwpKeBj@iT>vnug!|S+mF65XpB8-O#bmhiEO=+&mGpQ z!so5$Pmq>h1GWo$vrbFDO4q}UG+f%rYgYVZ>K&b3P!Bix7eBD*!{32C?y;lWnA=wj zy-^mdmWcBdx~O5h#5v;&BU#6JjkxsRi1!JX6aOQn6Ei^!!@-eq3F6qaU@g>>brSX{_o%BS^mTIE@#vos@3#eRkp6M>>%bQUenP{M`#8=^0{b;w0{p$e z^%svMk*|rfPdFwujQ>c@$0f=;iBiXMr^Mon8Ow``_dV=ZVLu}Nhn_}oI$e+W>AFz@ zeB?+19QKAd9}_XNycg4+*NNxnL}2Kbt>@>&vk@{e>=2<>bqtSNp;yB(yqb>TkJ&MN zPCS30WB7~p{DF?4gjk%YPR3V6C@Fg`I{8Ug1jceOS`wXf#kZXHw&J&m_=G@wLWcMR zUwnTw#48;QJt*Qc0`VCc;xn}PSU2^y#5Kd!=?}&AGx1y>c&@je-xu-vP|~Cdy2t)b z#8o(y;v?^#Zc+f$dND%TAeG}M8PPk)bGR||Lxv$6MI`N`=Fn$V-Jhx9Y z@?@zfS?WvVX{Yq-xPJpX@=T;u+N9j)9eI|Ix-Tb;Z$My``d*w5i*tSvi=fU(5*E3w z=zg4);(Vm&KvoJG#CffA42>r0yu>&%>TZIRaK485<^5TY#+E;R0nUkxUgrPkMv$(RN4 z3e3WIEoLIV3^N%&5wj?M8s?Drd6>oVFJcaje-m?9{M(qr<4>X{6|vAV$7U^mx}%MZW?~7S!SXNfo^Y()m2WAJ%ZHw z-Hb+DI6CSrd?yjJfUBPi3oYR4=fa^DaP@QHNDH|7xv&Iq3~!PsS3eg{upF*_F5J(8 z9qxgJ2U@_@&xO-0;OghXN(;F9xp1xpT>V`5aSOQmxv(0rM&dccomV&?ptHc$&xH*Z zaP@OxGoW9@xca%U6|h~vr`+Rp+3TB2x%#+$x|W=8lkl2FFiH$%so0QN*1nb2sN)2m)wHEVW~VUew#9`#%{k0=eQx?6M{2d*pp#X{7z(F z&*yrEJK-7$c$rSa1NrwS~sVn!ieB$~*yks7n; zYa*JiFW!^dD#;hoQMmLV#y$4?68xbPNA2eaf2f2vNe6v+5VVNvpg(Sc7OeAdWWw1m zK|E$G@nZ>V5h2-^?~6iM86vzTgcCx9nB-w?h%ibBy&=K@LKtu!9xh3ci(fgP4=Len z!gM~yaSyTiyG{zD3Ww`fs@EX$2?b_E6&*_nI?-PM*akEbhpT;{@<|P5RL#dcP%Xt= zsJbwBxM~v?+kj_bu?_fnEZGLU96u3u8SemdRUYP!QYU&HHd~N}d6;@mGhfq8^>?x6 zsp8|Xj<*5KSNnk-HA|>@YJphX3aXP9X;I6;+>C&krv@-#nXr#mrvq6Q#oQ55-xMpV zek2y#ds;^QLj4}h%@LUVNK(55axiAGs=_Q)%P{Aub(rLGmsk;XsaR3#4Lt+)H zr^PB&e-LY)iX4xHj}mS3Et8JTU8Kq&xatthh^obms>PUj>S)Yj)rncEHek+Er(zPq z8Dd4$`C{>bj97WfLQa?V`AasX>CW;OW1lxR4XdVH!^QPan!q*LE${0 z-UAYHK?hbum5Al4gRthQxtOJ@9*!Zq2yw)ikG*J8h7@!?>u7yqNh9|v=t_?s3V0p^iRlBZZ?f>*XrttB=4~7UKS|1l>I)7*Mm{tcP-uk=2G^@EdB%-b^g@iJ}{TEKWlM6 z81=qr@c@|1?q9KZBN%nRZt=-rF1vrn;!R-G|AEDu!CZFlt@5+81x#@yEj|UzW%na3 zJ{3&yOt5$>n4cFpz~a-u6xTG1xB2Va1q*mNMA?i(eVDW1>&D4uT;gy*m$2E4qj8=Y zN!D7n*^Emrve<0KB~uog&A8+Wi_KxREu=o-%>buqA&x6D2yVR=h zj5zvXGY<7#6-nG><*!D4_W`aI_II@Uu8AbSW7%diF8O_n&1PKkF^kP+T=EHv&1PKk zXBL~yxa89oo6Wf7^A?-Uxa5CWY&PSPFIj9h)c20X zH-k~%dlugUMtu&wzOFsDf>EDm@oiw#S77n&V1C@D$l`B+={$y6{7o>wH8jfNJHT`% zV=cZD%x?`%wD?e34MnXrGU ztIK1Nj^NO)k-V>V=$dnpst^Q>8t{E{S-`V3)J;9Fs&_6 z*U!PUwm@A^f@y7mx}E~l+5&Yw4W_yT>UsuDbqUnO0Tk*TJaoVvGL-MtxUU{012HU1RZ|!Km*#i{AvJ zzOP&S78vz?)8e+o`}iRpLb(#csBye*?Hk z*q>AKx;R56UxlJy#%HktPX&I%;VsC9PSR&J?OO%YgE>VdYR{m15Hy1D< z>^(Yrm#bvJHn+B?gR{4`7ko+NxwW0(zNivM+TgAwxN5*d!sga?wDlF0TwvMP>%ElZ zB8zX(x3;H)ztP_-DNsfD=hk+D$6RdXxwSp91Tab1-_^n2u9C-Ewz;)Ed4k1vn8G;8 zVsmSIa)ZU+GKI0x;=91~CZ}0!Zf#GVVX?WjJ^5LS&8_Xpi!3&`wkI#Q*xcHlyxL-O zYkTrqi_NX=$*)>$Zf#HAZn3$wJ*^&lYkR>YHtM3>+KzgDpb~dl`A1RDeSj)qKd066 zLzVoVWt&^ulaGRR-8HwiCx34F=GOM)3l^JO+mkO@d2?%f@{g8pZf#G#W3jolJ^7x+ z=GOM4Lo3sD`zh2*>yKG%Zf#E%S^NxqTKh<_PT#Zst?dOv*-MCWYdhKfrAq8$%!yHn+AXS6TcA_;ill7Mok!lj|)ux3;HC*WTJ*;IJVV<<@qx`?gA)Y~|l2yITSK z2>U~w-M^~jZp${ewkOZB*xcHl4nDZGJyyjO_ael+BZ_Zg0coMkeUH5vLTt#;$oV6t zufa8R*D#j4Bj-nV2paY@i2b;PlUJ&x9~9}2ZG}4g$o-g#tPS7>;1mtluzceb4-mr` z?dMVPQ!ZhiF8oS~!R+hNwUUBog@4$HzuWD|kyk=+-yAgxxlyw8FiH~c#AOy+9X zZ@(39^R&0iAUdP32v~0mtFE{rwz!{(jP1bvLvgd45|gynLGX@@O~%=V)14C&HFt?~ ze(cvsjzI^JUzTt$@Yv5mmG>3*0*}1{cR7mVUf{8J;yz5=&&9_61owP#KcA-~J4)Oy z6pVcv`bu$gFL3O1qWB7g$n4lPI3E;eRqT5>pAqMx*spQEBF-hT4{=5$4adiO@E_ZR zu>&0M8Mg(iExu{&RP0Yfj&FCyx5YP)JrsPs;4RMBHrzLh`!vFdE&_Sc3HLylD8G8v z#*#XuJa?Z?u{a&(BIT@=e#yN6Qo{KGX5B%K^AvV*QvaM0`(52;3D_;*L=1nbRzh#V z;Lahh9y>M{5q^k$zF6_RqpgRSYkcIbvXmlA>9LeiQ2t{IE2JBtTqVJe@KmX+4&4aQ z(d-!J+(Mgl_t=XdsD0mumx!F7xJuA| ziflWv%W!*99Z6F1LS6eIR@Bk`n)^lA3FleN@+s_;V9Vd1Vx)kjCB2^O9=qa1YEEUO zJRo!m;fP3OK-eUN=E!cg=4l|br?Z7{Tx1xv+Yl}jLT}_kjujZfSB0=Gaz^0gTSE9$ zq$ddU5g}ZxE|!xBI?!i?a82|FfXg6KC=gg)xkm=5&Q$X2y6$^LNwFmJLMSVnZhq*? zsX27zqR#G~_LFDLn6;8$_mZckv8s8&%IfakmHc{Hckim6jjKByyaYc57PvOIw+^gs z>Fn#?u(r0Z`{d5P>4;~Fn%_K|u7C3^?QeR0I#`@+oo-m&wZ3lsO!^nn)@fbIPoy0awO`&O+pr2Z}a1N_7nz(YIHsN+dd zIBGm~vtT%fv|agGc`q`au2$_U#OX10>{V$-u`nk4jO8K5Jl5pZ!9Jrk#F#0Ja-Y#0 zVjL)pSw5pa#27D(Lw!bVh;euxj3ZsIpkR?#9^2`uE_MI*vUK9ki^KnpBR-pB>W=MQ zG4;69;FV1ERC!F@vi+`@`kCNq-q=o0HOACU+Z$r)S*I+fzPx>BO#RM5;u3MaDzu9v zfVZ47uS9Jr^M;-7jb81ITH_7xCb%`bJaa;ZrUi-r0tSPrD6GG41uWV~jm$_Z)Wd!5uO1CT4Kx!(y_*xwJ zJV=5&x?#5HjhGkAaTCImSOtfp(u0eNa zZDVO7gZ-XnS9%3kd!rV4Lt zET}{`4c_qBJKlk)%~3CH6{NnPuJR6oaA0hjchGci_%vaw|JYh4%xhJdW|qcOeuFm* zv3RW9ODyz8PWR$#yb)8qV#1V)QCRQAr%O_v*m{*D<(rD8_{i2!2h%1U(48b@Lcxh7 zr3|UrF?Bbo*oT55A`jZoSd%va`{3BBn0k;zOo^#`C8&qCcBSj+O_HmJ32J!3aL=W5 zz8TJQk#HZ=5e?U=SD{9+RZ{U|n8^Z_xQcqWbtijp4Y5zg)EBpQsTWAcu-IxZk8BN# zeG*%0XOEZH;c>)wrL$PRacDh1rv9iJyuwCJoaPnL=YN)Tqk?ycH)gB- zcuCY>h&NvFmK3C9R`j;-&ths9@>J^G(XzXD(Z%eJsdrBeFmx zkuh~)bSIv=)N7~iBp`KhH1GSmVB-zmVT79>>xw<)O}-mP1CGO_-gbniNQOB;G~_$yRhyivIguu+CBto0|L7Y zGF*833!w|gkWc9lze9*<r3I+vA@b%GbjQ@U5F;<&kCIG@P zb_wH=DDH3K9urePjCOe=$kLbw@6axj|^L%R9?7kI8Wq#!bxVJ*2wBvIy#S0~dat3K)~Epefj;Eny} zDbkwMr5RmrtP{tIIs;6<$V=++O0*d;ac}(A!E!el2&G zs%KBhEA=L+>j`WkNth%(GOzO|iSRH!2PK#!jX)sr-zWk79CtFNZt!SuPZAj=bEEfX zFMn-J{gn79h_8EhH9y-diTN(Fl*Rp?EsOi{P^cc1e5m_P>h1^lWpOtY%HsRPnwaj5 zQztZd1!|(al*nG0y5p3)L`P3ZDsDbyC!2%5@~4XOe}XQP1!s_GLZQY#?RAl6D!*i@ zQ^;lBMD>(crUgj#Go)%L<;^+!ui%9q@;SWFmesXD^6>&Gi{IlVbuHQhEva5a!cpR; z7W@)^!BJijy~pJQo)=TEkn*DG{G`oBa-a$&lrpcdOkHxylTS@M}qZz&x?e>Q3_DaNYk2gwP zPiIbz`tzw*@tRWS(Ojk19TQutYsVA@4kLOgf-?0A4VuEaoc3C>+Z+1@Z`^Kg{BCdJ z7j}8$PTx&4p^5Qg8hbSzpY)*WM|hyae9hstOIy2Odl%c%)GSGnZYVO69mgxzE2pIt zUFGdR-J3Mcn@ZIwj#bi!Gs>G8Q+pUBPE#8jynP9FDltfhb^!g9v{;6bQ|Oc323;km z(3+%vmbuiRzbH-NFa_rFRP=nh>y8~e zR>eyu@;71PgbC^;rz8@I#iSZ;XVx2aMkAkF4gXDZ!hfxH+X|UGC++WJf*Djgf997l zh1}SWlBj=SB9KB4rlR5LWxJ7IW$LSEYe%K)<;$d{u|dr&%QdBOmr&1Ccf+pxcAcpI zNtO79oiIs2@+*o=zg%xv0W+OzwwHMYbT3p$s+x@F_NS^G?Arx&8doDhfBb9aaKp;I zg6ZDa>G&v9mm2yj0UiI)k)7`4H}=ezh|fia?(r`UebHIChvV$>%FDdcGG2X<8mPI< z-e@M|>I~okG4&qsU@H6!dOYdX8a z^^sjtpJV_wXhzP3F=&BYxi`j*dkgAYdt*EbLzh%`ZFpvHK7PA5#tz0Z`xcD!^2@zZ z4F9{+rn@#v7dIf9UogWPHI)|bjbhB1AstiSKErVpzO|ISvQ~b6g7J#Gf#-AKW(A&_zd3ZPu|+1hg+9|hEEm3?^sG;CUv=C z|3(mCCmrF;thC=ou)_=JjDCO+@9aBc46DDt#iVy03v*Ft`2X3jAhSgI&%S^}I{Wp* zf?}S$ewrIpWtlPMl`}-N-fvzxQYcjoW>6zVy1xvw9^-9O%$sAzE(WD#-VELl`;>cg zaeh2@u(!{2Z}BuCOrGW)4y_XQ0ocW{sov~z?_kyz4hEDl-EY=Q32tn9R^k4V2!45y&OD=m z#lS9aEUzv1s$JebckA)ffw8sIr%(5$9qd(1_izm5RWmc=6(FAvsxQ)^k1v?zja7`X zS>%{_HgB!0RNjG1NkMsYJ!8K#OMY)gJq&BmKJKS`W5}yz(C$YT?gnMZ+FTw@krLWP zJ}J1G8nx^0SBWL`T>nvuF9EF(W4qrQU75P3^v=kFUZhWh=nUKR}6^n-8) z&E609#&~9L3|SY;4(e!0);lmH-^H>>oRzIzd+Wr{wcUPp?|#|d7+>~-l9x_qCU4y< z=RP>nTj%=ukz!ta%T|=Go=|#8;pVM+;`uadKzhM9(BaDjBHGOveY^`}WESHL(a1S; z`9&~f`E9Js{8E09IQP=|K8Tln3r2Y#!%IH%ihWm0Q`GA#G?pJQ&v9+XnjOgNx)0Tx zKZETC*}?OS>3f+ZhW2aHveuP5i0Tgm+c|={ zJFsEG{4`0qRm50|yU6%_izBb*c-=s z-)?UootVeA>BQXOl9(UlczO{}V+*Fgxu)LCG%w4M_yCE~5-Ic09XZ^yX}*^G)@j*E zx+uhbC5J0LlJ-k>p3LFi0e6fa@Aq=J55YYME^SlYecH|}RY*5vL;g~Z-&ak@G4;9A zuFBd0knyjMlqBuQ@pukR)^cADuXXEA_)54oQr6S6lJvC@_wgL=18^tE{^5OFvy&t% z+v9yb+>+z*=@9qYF!vQUhSf`OS(adZkELr?*DODk+4GYGz*`4 zg+yxo?c(WnJS7UwkP+zAa^zS5VKmsluEumm39?*UF&IPoKf=4~)X+Ji=8evk6 zLI-EX)R{S9UdqoI4Wnj^B(Hjqu70yAJ3BWbQ$(jAt@m-C`vq3hqRzM33;Wgcz<>KU3wLc3qt&5zZd9`SzGaUTZJswEvP?09z$Wv&X#OL zOekkPM5aI$K=xLpUa~L(P&?e6-URkpAs@(#d;B7A1U>P-<+@NO@@m-UL`La-W!@}0 zx*hl#MYqK=;z%3RTI!1IKr@JTulnbLnnO@8JfZt!^N9(&LYk9*5Tdklp;2 z%*o9S>JhlZnCQvWuuwO$tP#(12*^Y_ci1Fj++hq;_UcvMHG_NoEFJTpqt`28$Y?1% ztleMIc^iy;azTrGls#wO$M;6E2WLM(Mi0)i$HejiDIk-@jpgOuP@Zt`T1jssA>H!0 zH+9=O)4nW%y0MeKmp7~CzGr*pfGe*O%MD&70ax}q^9$I6Wlrp% z*a}gJ25(e_S3FJjql)QMQ{GUus>>@`#Ae87`cn36r|DJYOU>5g8?vQ(ZcZXT)Y0fZ zUN4BVBNO7#<*OK?(&LM56pMz@sa@9wlyH=s&9#wkMoD3vI8NX7ON@pdR1ktmZ&zi!xV2< zPc5Z&vs&Ej4Gzz)OZQ1i=ZmK{Do}Q;X%Lp z#DjcZtR5w}0%?Q1WNys~?s>SJXV6?$rOmh~i0oG(?qxaLS3=wibGUyDanH%&zNNW~ zrhCI^gbc0D^d+iv&C2`#>g!J`Y-m$rkoTCs%dj?MS7MOei`jz|I&Iu+=}_AQE!QSkAb41q9vHC2yfwRIqM+uw#K=wd_P! z9j0HfOuhV*V8W0C#p(e{msc+%=ItSt94J=bg(c%6sg8HrY9Suwbg_CwdnE4Lw(H0r zXWzn){j0WSi?AFuRzF8r7FMQlF2aqS$kwc1y?;x`6m`}O+CBYihbVQqpRjI&nZE|x zOH|f%9o@YY8XHY~3r))8AgdfW^a?8EK-ii^i@efBsG9Y&#>S?+qw|hfvv!defs{9C z_ikJ*Z{Fj1_bh6hUY|!n-ax)1>@-Wh^Y&BwaWdjWSw@S^q7RZ|b!WO|lqx6eBH!Tx z5BG06tJQnUs^7ut!Y{ z%c>vgq6%noURM1glO{)ImGlE4zjA7p!-N@8$iZ383ue&d?5w&tlP1S!)iuyO|A^<` z`IEznl6ZZt)@c!o?-*!)a!Z=NuECWnNzI>lkh6+{LLT%9cxQ=N94W_dh6g#7C?42T zg~c&AE~?PZHnAr1M4dO?mOVK1pF|?({RHGh(k7AUQ}T|SVb*`*K^&4`ea7E8YJZ$l zc!+N%)@x|ojL{0gNJ1m8*$3_G$0~k;>OZ{l2Qpxv~Ge}D%MsWN?VIyh?I5b=q4lA zA|(={w(NL>C-lR4{x<`cLxvJ}fsVIDEGhfk3T6eTYQdCPWxil)kGRSW15^KrTI2wt z0I9N6EU`+pvrQ}$Qj1tp4KvFOkHUaYXie_3R2pV z{*!pDTjKIF>5Cm`S-E05mnQv#_S+^fol8G3t!@d>1|~W;V&T9_p;q!x5@J2VBQ;O# zCwStxFN{`<-y`5j9_4J@zDFES^Wf=MSX@*lPO;YVXc2KpO0r5AXEV&%&Y|Lgs)qf%@4iPQok+vXqBaiDW{~4A^+H$cZc_JaUNlr$!gc<}y znOh$?g(H79Itl(qJVYU6`4d(tCxFE*slk_6qj*qZLJEC@?-u(t9@kkR);m5~?Dq{B zQ~!knErvo3kse$+2*MZZW*)*X6k69z+Kr6^N9m089Vbw3LEO2pN@FLdeSGTS!W7#5S31`A3;N z0kbvCseBnP2rFeWa+Fv`D&ys2rA$UrVi~E7*M^lcsc#j_NadtU@@QBYnveh_ zH^P!)7Q39sb(Z#F4Hze;{OUJlx4c9eNDQ z_#L#Yj7m~siC<};Hn!}>3S0k8!KA8)<$D<)@-p5Cr8`L}1e2_#R*W*pmXgY1a$deC zo%7}5;~pM**e9?|Msmt|Dy*4WDr0;IMGv6-(#g`#IoiWN($CFE+{&YzQ#0E*H0LZH z2}0_Y*pj@gVU`@ohpOL5lyfOgQ5v}ytC9y57mF=1Whupa7WGko#5zwqj~44H?Q9jx z_|0fy*002#(F zPC;xdkD>);^qbj&631*F6ereoJR~Pi>>CVOEI*Z6%|QM79W114w3p@9OV$f}Fdvd1 zYPl%eXgH&4Ssx={OYX7spViVNknxt$+lsepSj{{X>J?ZfGdcZ36jlLG-1&r4dBBXZ z88JZDZ;P>7px>EyKt-;=7?`F!Qz9>aw(~gxwpsbu!P)`%Yvf+ z=3-I_#A@IX6=cpvwUp*)K~aIIWbcBKM?w@!>drqUC_4Ec5RB-k^&H%$F>@&ozW$Sh zkw&qKc=jH(1cRVh(&y}5FqG?moEd2mgeaD@&%r~Kj0ks-mp)Ye6QG1K9_M79!NZU= z3pXnaId%+{8YL{PD_cy1>q;srf?`eOk;n!YG+nr!6j;IBswBBOP=}aNiJ|B}ld7Y{ z+Pl6j7Zv#4GJ1|sf~UYY2^Low4>=J_>bqfx>u|#mt1)2U(0|eo$T3|3l{~~MmUKmf zD;@?M9hF!&Xr~M(^q&N0-9~C}9fnAWgd|J4cd;9IvKl!QEhaIDnAppC@|+DGlUOx& z&+(uh9#XymOS-y2R3}l1G9pezPCqZa<2A2*PcOCvBXLPkpW)d{aK~%0N}T}lrtlc@ zU#X`(5{71A>%XvuLd~iO=H3-9Tv8#{h<_+(YM8F~61b@ZIP{-HEvID#Nc|&3v5I;2 z9`%13BEI$C|GZ#GJq1Lu_cZ>ef^s5O5*bRP4RP?+ZWP`k))+tPTtSJ}=rM&$|Jl+N zok~d!Qkz9?ykUtoi6^(1AnHGpGrewS3qCg;BKc2;7!s78>OYHGzv--CZigpP|I=yw zR|IY496Zg19rt z*i;0h+LrPVqJ&mvoS6Dgf{|00lHEb-sjwu5Q9N0_pRmM-VYT4We-faa&=epBsTZqU zJ2OU#R?28v*DoX0hOGXxVM*H>B>NJ83rd$HT1Vq)4eL!RKjEb?jY4v=3MbqU z|8Z*m>12mmgVe>`WXnNC3GD)&tf82&MCqb9W_io8&NEI-{U=HmDN%AMkGz}3Ha^;p z!+8Qv)G6K(*&{CFKck*x`Y+#OJw=?k8Si;HbVvyQ{2L&GFqK#=(L!$4A?m-7;6Hw+ zgarR_h@qEHF;VP2YANM^>Lo5C91k__i0%=m@h4X<`b(F3WFc|w<$V>Z2U1vjPtkl6 zhFDTegA0lxL?X_BY2E=x=FY1nj=8?TOc4<2W}ZQkC$iN%9)Te#PKi0IGD6W!+yt^j zEF&d#P5;>zzdy*Z#MFP5CBRpbSfxBBgW{4AGs&BWwbVF|$2!?KG4)?KB&jSEo>-+k z5|Y`2E;9_V<^>FKnZzF@*6}>Xhq!uq2uiGNJcfZo|JgVtA~Sh7sto6$Jou5ojy6v5 zeu{Bo>Ob)-M-J09B|~3wWKiT{Jmg)hA|9g@9Qsd(fuQ9MQidYu_eqjUQEqM+awbd! zLy<|@vsxk6MD5H-o%LWs*0WrZ%G6HH`gI%D_jdLU99qiNbfp5jdpi3{XO~sXE^S-C zzUR==j=puPdOCX7lpZr{byw#JbISQWk>GIF%HYzt`G>At)>*Y`pmks)XW}YWw)CxE zy>Zn*zoAa6(-+M(LF?&U*}A@KU{gn5=gKg(t+Rii-G1{lV`WqAqG=?_>F8fo*vZbn04a+gmspHsI8+>sZt2Y{WUYeZX1Py?S76I>!FB>-z>Yvtl;f zg`M4N*7`zCo$J>3ZShGys9E2$zRyXmALtn9G(lBw!DYN@r;fL(zPZg=-7(PNENH1; z+}={(++Ln`R-~PkY3Gczb7tB(EA5<}cFsvV=cb*9q@5Mv=tA+KtRO`dp%^PdQC5WF ztZHm@s_Wa@Q+2I%ZQ3Qa4x+WCuCBJdqP%J0DPcloHeptp(6qR=uDzOIjN1mYeiu^Ha+gH#e@x;#G*>_EfePLvAzV>Z&ERsj9ZR_S*WT?Ug!!4ARV8 z(%f89#q3<#j6p)1JxFjBm4gIWIcv6)s%fHMsjh5qsY}(jENriuU%xnqD3!HpP-^v{ z)S5x5wS!XY2Bpp)l)4~?T2)(9F&MEjhuGGX%9W%h=Ms^eo8x^+YgMW(SC;r^qDvH)?g$bw212-Z|J2W1f^=K8L#T9nFBKugn-99nHvjc#7^8><%3 zoU5BnhooWK^6EOLzLFk7n5{Jn={nMwww?A_ld1`MYzny-FAa%Rx2|x^3qf86HS-rp z2Pf~>8I`<34Q{V?q?auhSgxHF;;hilN^w?d=L~Vq(9W6SoT;6qelXNz;TcFqx} zHt0gdjpfHPSKwSNb%;0*(N5lixG^Ou6(#{D1-u7^W75EjP=HAVZ$bek9lQz!%yR1G zonTC2)TrE86~?MG)(m6KG?wpgwn1}@HP={&7>mT|&`6!J{eVb~!G2JrK~$bvT372V z)``(3iP3hsu_}yJX{;H>nrWt%;1^HBNDTD=J3qrIfRGcF+>u@V~8w@#z2~51l6>vY8p{>3Qi4-8t65I zQbQ;;gi=E&H4;jVgi<4+)JP~b5=xDPLZWnLF6ldj)SOnoC=%k(wwbiK<}) zfw8#JX=-hvs*(5Bx<+Y{b)X3~yG^K@Bz?%O(Hw*HR729%*V#b=C8g~GL)0ULkv9Hr%-XnwdS_b^hW&%K` zokODo&!N$o=g{cbb7=llux5R4SN9sy%v|5u(B13wZ|LL)oI-QIHb>VAO_BCSTheah z6U1#x#;u!?FVfT5yM`IKG%VdE_!F%*XT#bKaxHX!A_ZxEPY2a~OF(7%)aLZ|_iKX8 zpW2+R?!Nv3+N&l7^CYI<-F;Hr>w7gLJzr{bPUzT3aSn9WcAu+1cW>Z+6g}wdEUh z^;+Ru?DAHvUft)UbTeJ07ZjH3+a{eA##-LlyV_YH#&RS#(JpG&4-9m!Zg1@Db@UR+ z>dnpypH9fwTdcFfI#M00yEpbbD{40O^}%wMTStG*`i;EF++J zv%=Y2?rbU7?nAf-*B6(9WuU!Xm}72LT{*}NsQ<2Y zs8)U1Y7Muk*7U4jbyDVxC>Yjeu2JQ#iOB0#zjJxXENqpx3udZTzyH!NTxe~n`X=Gk zR5fDNX~8;Q5L_+qyBc0->GyP{)6yvKJIt&A^}tnzs6^UItI-1mW6O)XYGJj!?3f}~ z_;#hXYiq-?KCNjoQg`cLqvl-X&GVFG^TuMaTyI7m&l9DC_!9AB9=|kOvz^@>n7GFZF)hV zrOIikc3Q}Atn*QB7PZMIdx5-)>>9XL@&N~>k{3Nxqxb1P^)Wo zMK%_gqSJ+A>Sd~}#;-ECjOXfF(NK+4H!-vqJ%ns+W9TOZ)Qo_P0$Ub~sJL2}`Hp&K z_`Xwg=Q|r)mZf~BEJzS~%aVEqcEs&0ZCjjjs_IiU%tv`@#9r7EtnLoBcHFv9Jl4#| zSSUuV7)?#{t5Qz27*&E><_iPBd>9@xWa>ds0?Z>@s&tgq?QL85)wQ5E$XY)Z<)ugW z%UYd)T)Ix2X>Z9IxtN6GL}w0@^xGVBqyX@iwyWrQ9po z`ukR`On|#_HNeb}nsgF|fiy#-UY>EoeX0 z#1P#i#;2i-mc`51HT0cFGH%hs7Dg%6jPzveGapAi zPv$6%LSx5ndDD_M8S18%W3-7O5$lnx?5Bu>h>c|yNn13rMJ7uvvI4toNsC^>t*tf_ zC`b}fr7?+K55w%Bo@Hcep?JpD(FAL*(mG_FHoZ7(hT76WX%F?yvI=ZNViHI+zDYFx zqAnZ2Et(JHB>5$UXA>)g^uKt+qjloTy!lPRAz30AvP?8uoK z(-w@mr6l#?2^p-^cK6GeOr{*>_YG5e0W_0U5oVd-jF@rzL&Y#K%TRjQ7$%#MVh$xo zx~^9b6pf&tL_Z&fg%*75bJGM_tm$OMDICkPj*~i< zoeMT{9abC5T^ZE$C_J3x)^#0y12xEJCM=t5(ic#rLhi*wh-Ex2?C9yL-MFErGb?jB zbd&h{zFJ$P#(#+5mvM;Vi^#He-^L9CnQ5xeBBxknZ{-Bg#{T&|{9LY4LyfF9=TJoy z@7Z#el)Ly^?&ukYgX%e!BtNg>w+30XOv%#uruBWRGwMt*AY#FFVEqP`LTzOYMl`IX znsro@R(}xVuiqM)zdFmRH7kyNo%4Ix+c2EWv4?H{CRt4S^g3u4J(O&u$dYPTUx!|I z?dTD-N@jz89<lp4B_e04LVusG5&xSLSM$pUA5B{`PYlU^#YYEo%;_n;j_EHr1m{xpx@I=@cl~djI1Cns^xQJEOZL(ELs3S?9^N3w1^+GQ59MHhE?IqcRA#GL6sD{J#gu-A zkWccZSifzqWdWeQWnq0|V|`1j_8U;;D5wM$5acLm2BC%fco)iQY&NxVF-L2K7;LyM zWNCzxt%J}wKblRgoS7>*qtej$(ep*^3}ae2j%$|`#DAFXPxOV%SyIkJ%SqCTLn;^P zn9`&}W@l4o&ds6B%%;r938ylLQjrsKMMZWvIZ@Tt&97S0Xte3CeaK>nWW$I0ByaBe zh15r_Ls_(_J4%W?n?#XYZTZ>}iS#Bl{7gb93_Z4xLwz<-A(+W}m?CQiVa$BmV5Hd} z^1TB%=O?L^P&mt@W%Otz9i$n&{JYN)>aCMtSwPRxnRccp!T*CNr0mo=Yl8mKQ7Pv8 z)CH#cXnv5RQvc1VzO9aCvMo&ztD#XQ-iBe3~C3ihnb2)1K_KUSxf;I4#-6 zZCEnBx0KL~-;(@!vW5OkSzv4Dfc?gW<0m={ottc;iH7rb8wWOUSVX+~@nq0UPHUNH zv~tiwi?wZ*-COZs!m!BqZlTO9)1rb>fk#2e4SI^Dy1UjMjOpmnhn#FKO?2tWuBH1C z=Q1Rk(2Q3qhkRjU{bkRHEnU13n4SSynwGW1!DhuwUqZ);^tmJP>(5&K*_%*;R~#R2 z*jc2|rOVcH$Y8>0ssAsZDeA7|K#m->(!H>sAr1odu9nplslve<-@J=5b0{xbzmkb; z_`S=VSH9SiS-7y$FWQWEnh$gm&{(klI>7O!4IQgaqQXnnB$uNF(f^XJ#1Lfy#h zo6gLcbvXndps=&drz!+Z{qQHr)?a9vEF?Qg?j107QGA#R_P@HvYku?U-#%5=1Nq$1 zgG{zKjYEay;Emq>6tq~DaV@KQMGJfXve3(6h}I=FHSBL_CZ{z*{saa71o-|W7&-h? z$G1qWGU|};dNPP6-atlw`xA&X%}FU+&cnFPrz*yM zh)n|FaMs#Sj{x(vgpuORcZd^?n={}cPB?bP{=#XhSxj4DUq@8Lx?_mexS$Yj#;OvWtoKku>rOx`S$&!;3? z7Rr}XVH|uk<@=uHtCQvWa4LM{r@}{m$UX`_GBW;5Dmct!ARDL>ZGbb73D)u|eOb;g zg_2;AU)m_UQggGhU*-YduV?`_$ux(R+Ntq6AptZ+>_cf~dSZgkg2}cy-XnR@eUmwm zrUUV@97{`MN;Lx$V-}V}ZXx-4IUE(ji{;=`8ta2nY3Lu9N)!A;Q)xnDiwPjuYLlc( zFKbTeX+Z;ngb57g%fJk7C|APe+?^gbr?o^ko!-xrfjgr|f~3bX0f#r{_)zzwGmsyh zf#lOD`H1eLGmy?dc?L3L>J@sCnBKz7sHCx*u_T?DZtKhVxC6HgxwixxwqddQw!ZFl zTGR}=Xq+1PgMJH5sI~(&qI4-?Q45WzeZLt|i~LY6G)(DFBuRFH<3ke;FI>$u$mClS z^yEXow*6Cr>0I&l3;B_Au9?uhL`;ahhImC37iDZB$)Sw_F^&+BKUa-QPSz0 z-^Y%Wq*6!=2{VJxl1(u21~MipvS#+q&CYj7ZG&)pFTqxPuAf0zfhT{HelSlttiaPh z*!0g~1)egF1BA0A=hi#>x;Ly%S8wB~nt92_4QZ;c_H42dW?Jb_J3?V+5_KV^cXUNA zd-f_c5yPXNxdt+pFxad$m-gTLFef*>S?u}BuCOFWMlgK7!pm4*v9?{)Xk{YIY1&Tt z{z*&H0A;AE$xU6B#8{gx;Z^I?MeYxG{aN8jeh5@GnFC6cIQ5`OAG)sysQw_)9K{zZ z&CD|Gz>h=2ElVuXj`#3UTVsjRB+Rg{&FLFhRnub=pvyuZKqtY$gf;iTux6damp~_X zujbV7+EqO#WgQ(J?7X-{TfvbYB9}w*`n-cVXuN>{D%nVuq)0+TtnQ$anf-9t`ITh) zQ`!?a?<^k=2}#CKoN51;?`N?`m1j)1uK(=Nvj6Ly|MnSedbBL(f9xsMk8WjXXBRb? zFa>(ihZusJ00J`gDs(G@UL**8bNBzd`&M+?|Bt)?M}Gp*x_AkDDeYC}%f~ROI+w&@ zI(;3Gd^_QL^e?Old#uZqnx9MZ@5&L)`ay-R{P8KFi+_Ad==vX@61oJ)r-ZHo@+qMU zfqY8nE+U^2x{}DJgl;DCDWMCBdj%+YSWr&d(a(4a*V9?y9>6!k0;c&|QVm3;| zpN|6({WV>>I4at+2$dm1;HjmyJfkk8aUeoevuYO3l%*6?(Sj6Yk^>L)I-LH$PH~(3+(oHC`@5xkb~IeTgLY0s@kRDkkUjBMa#~7dhb|c7NKM}<)bTT zI0^sJ6*T|XUO^Kq9MvtArCG;VG!BLiOal2VSC0M*-P{esn~_1OyddR*8hJ;i_~Kt) zd}5n-Ti~h;TrVzH%n_2s4StQU9C#nD^Vv}aK0jsi;1r)5zB z8GE*a&v5CZBpgerhN3;rI@+EY5Om8giv}2eJm@NiNqBS?-#| zoTbg#+MJ_JL;_DUeA&60bBHz>`-n%jx5Pr)1SAe$nsJYoFu^ds(MWEBqI6ir(w4~5 zJ?h?3rdrG`WtQnLiO57OyoO@BTm4Ojc8U+Pj-sJi6f?c7zvQMb0MTDw_Te^E2DoE?ztd)f3#BGku$xYz@ z;^iuQj^4kvyK8{Yto4#ZANLHMpsy{`v776QPUZ#^NsGTmsx=UvYp?>;-J8Ko&nH-P zN$1%N5QMa5aaR{b#LsT`pCpioBwnBTuPSD z@Fld(>wBBXpnNvO0$+Q5ic5&i9k5LuyckK0|5Yl9$${#@)K5zm2pRARBwW$kJNlXsc@CnoHwmec3ozUTR(F z(`0E$k|~`;dD>Z#c2=gHGt$nP#>tT=hRSO@dV4#2d_Q55?>9{H!w8cG32Rnv@UwGC za|}tp1pKIE&9I_&CnC9Yk`8p1kPe;1M{)6JZ+B0(uzS1g?&(fgU@C?AFsfKkU@*p(NjXKFLN1Ks z5L}^*shE%$SD;8-u??{+MG`@ZiU`DUYzX=PyZg<&Y3-pCSSdSUq`B>1zt>GE zGyS?Eifh-~`DvCpv}z8ImO)~bPL{0kXNh)(C{aV^kLf7DChz*-GE9MmrJ4cs1YG?z z_AfBp$&Yi4!N=%jxf!dHTfzX|I<++AEH_^mK3oSCLA(nb8jKNU5Z5W}3I_TxaZ{AL zgMs+A-h=t1Flo8@vH{qjpmB~Pn+tglCP6$yAW|ysQqHRj48w&cGq|k{)=O1mz>39c zb5|2Dj80SCSWPomCGp7H&%vynIrBFx!^l$+7SdplEsv`*?Kz3IyK^Cd$jiO=P(Dt{ z(}=K8q*=EhPs32bgvrc%yO57m@$uR*yo@L7oVl(2n%bj|j>Hb0n`Zv2Y~#RY(0rzd zkJJ@KbM@^fj90|-^OF+@l`(~+;N4m^U~l*R_YH|6z-{U1-Z$8e;jgusdfpqXc>!A~ z&6~GhDFX-iX+-3gYdhq9lOg|G zCPU2aCONiadW@m5cwlWEk7A4|&xee_ipns6YI>P{N!wc?S9X0tl3 zLpvYy?F>8MdSJ&+F*2hvyz&~;CXJ)EeQR$*_OZalcuY(<=pI;b^wt~lV_1PW3@;jh z?WAfgcP&g_JIa-@CXad2C|9vY5Kn}Y&?c<4L)+@}8LJd9Mm$g`8^Z7HiJ}6_&&TkA zVy7|O3wvQvf80FHwmLwk+8H=UmpHnu!QXIXG8z~)7Jy-uyI{+U2VtsovpCg!51#;W ztSq)kh*NV6OU8fh+3i*(&Mgz&9cKI_xi_hR4YmeRs%Skbl!ev7fs$4>W}-w4_^VeiIH_hRQ>ExKS!8@*zd(ow?w=UOMi8{eLa5nIGvXe&#egiEPm-0efix1J?bvO zK8zi!iy2*!%Ww0wj2uxuED+mJ5~iW`xW@*KH~N=ekI)fvxByRTa8-$^eqV#99_Nrq0#iJ=jH`ZdnFc{NCwzAN221;onJ@ zGN#QmkEAzKIrGXq%vAsXn%+UQrPFczTyOSE*tzQKOW3D7&OMObq~tZYrxZ^Y?w9Q^ z*NAr;FBdeG#Y!0m-I=2}4(hfah5nK9*)|W?MeHBM{$cE*&t)N(fVl?boEFz_`kmgw zU&2rK`w-%L13Oo5oHI9QYr?%3yXfzO`+m3o5q^138OFW?J9R~`8)d+2Hp`;Z?ex0| z<$E)BUgH*GXB+=4cKWgGc?}=OPQUxGOMESUQ`XO^q=LENH|zDGjCvq+c%u^@KwR?FQg$r=R zr#^)@xL5*M$+=)DtAOY?;b8R8XEHaOS~ z5&jGu?7|4&4F|hJ!k>pDjc$kV18}h0B>W&8>_Q12fP>u^;jhCHcU4lsV_vK;eUjKT|Qx!FPp9K zK{(iig?WDFE9UuGh0BPR^RgmLIWIB7Y#+Uf**-Qaru+)Uls`Q`8U7i?l)s{w?fH<$ z@JeIHHY<45I?UhWg4f=D%j4q^0gvZ6 z_<68wk{-{m$XQ(2-jobG#GotSun5vB3}jO^%UP%2mp=KVM0c!QOjEK7al{mOdV_B*DS^|7p&?YE}*Dg9zXfhr{0z8T@ejbgivJnR>p6a~ zrGnSt;QdWFbv)X;;(1`+A4Gl@nD-;$3&6a839~-&ek8mS^0eZM!5PKd!HX5=!7EVT zxJEeZ8|&YIs(+J^U#j?a@Rdq`KRB=W>tNYaUr(3krg<68%wa`!XxR`71{AnFm1|48v2YkBA$pI@Gzgq-Ec^UeI<3!a1a zC;Tr<>vaiU{)%4)XGgQCVvNvXA;AwfS>XB`{0zjK2d%Ue7xe+ zoFvcnc#+2+0nb(8mwS8>7=3!vKRgHNZ3CmvWb#KI_4qoEf8XN=J$}ODA9(!l9-o8< zM4f)dpi~DtlfZH9< zTMz^EJOH-qm6 z%kka`zDLRb0Q?2;(@y^YcsHKk_Bj3~_&>ms-d}>>R{R3^M2v5U{AKW|U`g*y@M++* zi*F7Nqz5d=cQ&{mEalY&&Vd&?{f~hsl>AEY9bh@1JHcO2JOw@g-r&OD27U`H>3s%_ zXO<}Ze(+g}9|E7J_)##PNh1Bf0QV{W8}Oyz8(n%o0zU_q{J#$VC-9e@{7o?Wpl$mc zx1AaUtMU9P`U}C^!Hb^=^8 z21x#E@ZR4H+798lnf$llJ!j!{4en#)e*pjFe7xSnb&>op;Abzi{e$`7Uw{uOo_`vT zBrwlE3ues<&Hy8+h|dG#T&EEX@y!mpz$kkspB=0Or}6(r)I-YGg1>Z1%$q1bk1AFk zWD41OF;_MVoMf87Ak)lt(R=wyI$=hV?jE{(jJwCWm(#yzh4Jq+ZiH%PjkAN?VHi^t zsYg+-@rA6JZKu=3k2#NUA~K|k$O>85T!gy=ArOV}XGCx#qGq<+MrR`FHnDV@WR{zB z@dweEpj|dfquyas?h5?xWZZ{DVaORX`C7I;Y{!R95p-zi)X=4&M?ajCj6o)8vCIgfv3&|)erAAVtR!L^k zn)i(gxs%1GNu4Cf)Jf`GkKa~O+*QgKhc7M`$96~FQ^R%==rG#BFusbcHz#Ug zTENfZ%POUL0#n5Q=099?FAj9wVFTgr4GRA}8{zFNmOqZ$rN&kC0{niC_9>2urB z@-RAAnCoP@)I{=fSkoLYim7!$^iC(}n@+HHI>Gws1Q#7%gtnX;P26iMEb6Se;Y#t) zEM22i9dC7pA{hc5e)e23W|xiD5_Mv*vMqIZNSXkp}t++nZeBZ%*M>x%ur^qKht;Nrq0goo4Px; zZ|dyGTyf#1j*iR_e1_mN1fPNa{(k(uJaYr~?L+-Tmo3lSFtlysx{d2Ct^jV>l-V+b zW#IcWTel1jWct_k^=2*^ShsZxX2)i*&P#7*5EsYZOn=|nfnB&BxF(T{T(}NOGr@=2 zcCw}T6e3yNnDAk?)8|5Rm{uxO<1|o>V^|bXq&p*5DRyD9x(-r~B;`0B6tu)qF30&P zm*aTK<*L$|Q0_Q=sSC*jT?GksP9x1K%u+^4$H!S2X;vrW{EbICaVBb!A8s^xPK%Xz zYV~5s=1>}s3j`(-ChFrMj3V$ecUPKmdi<^(ANt2BqUA z%zgPVTTjVP__>Ms;-~Egn2GPL1ZH-8D}kAa-%4QS<+lYO*)5P*B6|;!hn?Los0urXyCAD=ct5UE%*6@p^!Kyji(Vhb0dfqATvv4(`7waJk1QidB6{?@vK z@=B)ZOgSid;vAUiHHlhjd=haOpTwzbWx7IAXlcMg3&k=+($Csw(0;Lz2k{lFA;Rbz z7jq+}aH52JJld}!te^uAb^A>cntEq&*vyT?re>IVT+Z}?aa#+?&N@(wSza@lFrp`z zcym8k=d5u9%$hx-73$cIF|&1Ki`&+^xUslRQyK2KVrOERCOxxjfW{N3XY&@VfW&0& z`ZbBgj%0NyHR)x@o74ivla-0rPVjP>vEY)i;3Z-`WufQT8ckFuinT&G37Ztf(DX*b zB!|^qnAbBx^9|t)rp;N!R#Wq)pN*&H_-PXtv1JS9DBr-WDViB_AkIQw`2!;VQlkd@ z7)Bl40Nn2i#bT{d#vij-6r(XWHRGr%cLT@SumNkBp4ANVT*=u)WVuk!O&UW_3>te4 zq6=!X7yE6+jXQ^~a8U&xFHV|SV9KjuEO8(1+pLwQie;@hR-J@N9-SMQiI^NL<U!cX=^={lxVrG(G*KSJclpPpG*@9)m2s?aKq>>gbGI%iDXc zUuQQS7TvVGZgfy~;_(U(1+?On$*j#aU?)B4x2aS?(?zPyLY2$3nP#^RPqg;h(LadQ zI9VwIYd6YH=fnKIcwS#$%z(b@)uhMX%AL zW8ZGH3Qsukx3Rl2QY|;&nyME^@lz<}c7~0K8hWCQ#_E+TyE@>RuT88*QDCHJ=_Os@ za;ec=ogLnUAJntPaK9Pd!D`qOcs8^VqYQDXptNP=YBU8;CpX2k+&yPHrG_~`W_NXC zqJmZBcbjhc68pDVZRX02B@^QljbdR5Y`YbU^~MK+br%kAESAdQuAZ)*VU#-eb({J& zUp&0FG(L>sFBBMuw)is^PG-w93jy`~)D#1w|GTs}g=dTsXT;)Uzq>fzWiZ~uXPlrr z%t|=fnCWp!ko?i7GJ4cOc8%6p(@?RHJ!45QjdsCeZCn@xEyo_K!3^ih<{A~(a=Kj0 z>4OjIH!ZK>_h_nnp;&`;HdNE9tII93R!FCp4)nX~H;82^8p)B>si|=NMT5f~+4gL& z482Y>0y{9CFHaPT$R?U$p@;{s;_7q4P=*-NFmKYA?l{Mj<4s(x($zWI(LRMn-pp2E zm=80htL|+=HF`5pRf>EWpxM3*&^~+_kYKzF(9D+s3AQf-5?**2kmO_#^D;myn3n#-fYIe+?GpV$MteNgZ9CZHBBJQjf~Wb zyM#vTxk^!hmt1k<78LnokU+dS9^xXZBiSNGjd3e!=0@<_tefBQD!LTeylv3%9&>^K zuXY2zzsAPb)@?sSW1n9L0(^RTBRyuiF&^&xgch55CysZi(Z>5PH-5W7J@+Yndhzer zgel`DX;P1F>ftxt4!zUQ1Gr7}@Cw|-C;rrH&KHVhXM1{I-WUW=;JvJD%oDdPc5#yn zm?ZZ219aINVEWs~@> ugNI5c*l{Suciqt@=l4eVNEizDKyS=d3bM#> Hello World."); - epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); - #if 0 epd_paint_showString(10,100,(uint8_t *)&"APM32F103CBT6 Example",EPD_FONT_SIZE16x8,EPD_COLOR_BLACK); #else epd_paint_drawRectangle(10, 103, EPD_H - 10, 116, EPD_COLOR_BLACK, 1); #endif - epd_displayBW(image_bw); + + sprintf((char *)&text, ">> Partial Mode"); + epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + + epd_displayBW_partial(image_bw); + + delay(1000); + + for (uint32_t i = 123; i < 8 * 123; i += 123) + { + sprintf((char *)&text, ">> Num=%d ", i); + epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + + epd_displayBW_partial(image_bw); + + delay(100); + } + + sprintf((char *)&text, ">> Hello World."); + epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + epd_displayBW_partial(image_bw); + + delay(1000); + + epd_update(); #endif epd_enter_deepsleepmode(EPD_DEEPSLEEP_MODE1); diff --git a/Example/EpaperModuleTest_AT32F403A/Epaper/epaper.c b/Example/EpaperModuleTest_AT32F403A/Epaper/epaper.c index c90b316..77cb956 100644 --- a/Example/EpaperModuleTest_AT32F403A/Epaper/epaper.c +++ b/Example/EpaperModuleTest_AT32F403A/Epaper/epaper.c @@ -22,6 +22,30 @@ EPD_PAINT EPD_Paint; +static uint8_t _hibernating = 1; + +static const unsigned char ut_partial[] = +{ + 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x40, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0A, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x0, 0x0, 0x0, +}; + void epd_delay(uint16_t ms) { delay_ms(ms); @@ -158,21 +182,6 @@ void epd_write_data(uint8_t data) epd_cs_set(); } -void epd_read_data(uint8_t reg, uint8_t *data, uint8_t length) -{ - epd_cs_reset(); - spi_i2s_data_transmit(SPI2, reg); - while (spi_i2s_flag_get(SPI2, SPI_I2S_BF_FLAG) != RESET) - ; - for (uint32_t i = 0; i < length; i++) - { - data[i] = spi_i2s_data_receive(SPI2); - while (spi_i2s_flag_get(SPI2, SPI_I2S_BF_FLAG) != RESET) - ; - } - epd_cs_set(); -} - void _epd_write_data(uint8_t data) { while (spi_i2s_flag_get(SPI2, SPI_I2S_TDBE_FLAG) == RESET) @@ -200,12 +209,20 @@ uint8_t epd_wait_busy() } return 0; } -uint8_t epd_init(void) + +void epd_reset(void) { epd_res_reset(); epd_delay(50); epd_res_set(); epd_delay(50); + _hibernating = 0; +} + +uint8_t epd_init(void) +{ + if (_hibernating) + epd_reset(); if (epd_wait_busy()) return 1; @@ -255,10 +272,28 @@ uint8_t epd_init(void) return 0; } +uint8_t epd_init_partial(void) +{ + if (epd_init()) + return 1; + + epd_write_reg(0x32); + epd_cs_reset(); + for (int j = 0; j < sizeof(ut_partial); j++) + { + _epd_write_data(ut_partial[j]); + } + _epd_write_data_over(); + epd_cs_set(); + + return 0; +} + void epd_enter_deepsleepmode(uint8_t mode) { epd_write_reg(0x10); epd_write_data(mode); + _hibernating = 1; } void epd_init_internalTempSensor(void) @@ -270,34 +305,20 @@ void epd_init_internalTempSensor(void) epd_write_data(0x7F); epd_write_data(0xF0); } -uint8_t data[3]; -int32_t epd_get_internalTempSensor(void) -{ - - uint32_t temp; - - epd_read_data(0x1B, data, 3); - - temp = data[0]; - temp = temp << 4 | data[1] >> 4; - - if (temp & (1 << 11)) - { - temp = (((~temp) & 0xfff) + 1) * 10 / 16; - temp = -temp; - } - else - { - temp = temp * 10 / 16; - } - return temp; -} void epd_update(void) -{ + { epd_write_reg(0x22); // Display Update Control epd_write_data(0xF7); - // epd_write_data(0xFF); + epd_write_reg(0x20); // Activate Display Update Sequence + + epd_wait_busy(); +} + +void epd_update_partial(void) +{ + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xCC); epd_write_reg(0x20); // Activate Display Update Sequence epd_wait_busy(); @@ -319,26 +340,31 @@ void epd_setpos(uint16_t x, uint16_t y) epd_write_data(_y >> 8 & 0x01); } +void epd_writedata(uint8_t *Image1, uint32_t length) +{ + epd_cs_reset(); + for (uint32_t j = 0; j < length; j++) + { + _epd_write_data(Image1[j]); + } + _epd_write_data_over(); + epd_cs_set(); +} + void epd_display(uint8_t *Image1, uint8_t *Image2) { uint32_t Width, Height, i, j; uint32_t k = 0; Width = EPD_H; Height = EPD_W_BUFF_SIZE; + epd_setpos(0, 0); + epd_write_reg(0x24); - epd_cs_reset(); - for (j = 0; j < Height; j++) - { - for (i = 0; i < Width; i++) - { - _epd_write_data(Image1[k]); - k++; - } - } - _epd_write_data_over(); - epd_cs_set(); + epd_writedata(Image1, Width * Height); + epd_setpos(0, 0); + epd_write_reg(0x26); k = 0; epd_cs_reset(); @@ -352,50 +378,58 @@ void epd_display(uint8_t *Image1, uint8_t *Image2) } _epd_write_data_over(); epd_cs_set(); + epd_update(); } void epd_displayBW(uint8_t *Image) { - uint32_t Width, Height, i, j; - uint32_t k = 0; + uint32_t Width, Height; + Width = EPD_H; Height = EPD_W_BUFF_SIZE; + + epd_setpos(0, 0); + epd_write_reg(0x26); + epd_writedata(Image, Width * Height); + epd_setpos(0, 0); epd_write_reg(0x24); - epd_cs_reset(); - for (j = 0; j < Height; j++) - { - for (i = 0; i < Width; i++) - { - _epd_write_data(Image[k]); - k++; - } - } - _epd_write_data_over(); - epd_cs_set(); + epd_writedata(Image, Width * Height); + epd_update(); } +void epd_displayBW_partial(uint8_t *Image) +{ + uint32_t Width, Height; + + Width = EPD_H; + Height = EPD_W_BUFF_SIZE; + + epd_setpos(0, 0); + epd_write_reg(0x24); + epd_writedata(Image, Width * Height); + + epd_update_partial(); + + epd_setpos(0, 0); + epd_write_reg(0x26); + epd_writedata(Image, Width * Height); +} + void epd_displayRED(uint8_t *Image) { - uint32_t Width, Height, i, j; - uint32_t k = 0; + uint32_t Width, Height; + Width = EPD_H; Height = EPD_W_BUFF_SIZE; + epd_setpos(0, 0); + epd_write_reg(0x26); - epd_cs_reset(); - for (j = 0; j < Height; j++) - { - for (i = 0; i < Width; i++) - { - _epd_write_data(Image[k]); - k++; - } - } - _epd_write_data_over(); - epd_cs_set(); + epd_writedata(Image, Width * Height); + epd_update(); } diff --git a/Example/EpaperModuleTest_AT32F403A/Epaper/epaper.h b/Example/EpaperModuleTest_AT32F403A/Epaper/epaper.h index aac4323..4122024 100644 --- a/Example/EpaperModuleTest_AT32F403A/Epaper/epaper.h +++ b/Example/EpaperModuleTest_AT32F403A/Epaper/epaper.h @@ -62,12 +62,14 @@ extern "C" void epd_io_init(void); uint8_t epd_init(void); + uint8_t epd_init_partial(void); void epd_enter_deepsleepmode(uint8_t mode); void epd_init_internalTempSensor(void); - int32_t epd_get_internalTempSensor(void); void epd_update(void); + void epd_update_partial(void); void epd_display(uint8_t *Image1, uint8_t *Image2); void epd_displayBW(uint8_t *Image); + void epd_displayBW_partial(uint8_t *Image); void epd_displayRED(uint8_t *Image); void epd_paint_newimage(uint8_t *image, uint16_t Width, uint16_t Height, uint16_t Rotate, uint16_t Color); diff --git a/Example/EpaperModuleTest_AT32F403A/MDK-ARM/Objects/EpaperModuleTest_AT32F403A.axf b/Example/EpaperModuleTest_AT32F403A/MDK-ARM/Objects/EpaperModuleTest_AT32F403A.axf index 340009aafcb6bae547e0927533757fba9ee68264..569bf08bf49a6629406c1af73d81560f3ba58bbe 100644 GIT binary patch delta 28823 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 QMm*PQORA++-cCvWUm{(UPyhe` diff --git a/Example/EpaperModuleTest_AT32F403A/MDK-ARM/Objects/EpaperModuleTest_AT32F403A.hex b/Example/EpaperModuleTest_AT32F403A/MDK-ARM/Objects/EpaperModuleTest_AT32F403A.hex index 6b694ff..eecbc04 100644 --- a/Example/EpaperModuleTest_AT32F403A/MDK-ARM/Objects/EpaperModuleTest_AT32F403A.hex +++ b/Example/EpaperModuleTest_AT32F403A/MDK-ARM/Objects/EpaperModuleTest_AT32F403A.hex @@ -1,5 +1,5 @@ :020000040800F2 -:10000000C825002025020008F9020008F1020008B6 +:10000000882B002025020008F9020008F1020008F0 :10001000F5020008E1020008950300080000000056 :100020000000000000000000000000002D03000898 :10003000E502000800000000290300083103000861 @@ -26,18 +26,18 @@ :100180003F02000800F002F800F03CF80AA090E8F6 :10019000000C82448344AAF10107DA4501D100F042 :1001A00031F8AFF2090EBAE80F0013F0010F18BFD3 -:1001B000FB1A43F001031847CC3E0000EC3E000060 +:1001B000FB1A43F001031847083F0000283F0000E6 :1001C000103A24BF78C878C1FAD8520724BF30C883 :1001D00030C144BF04680C60704700000023002455 :1001E00000250026103A28BF78C1FBD8520728BF47 -:1001F00030C148BF0B6070471FB501F071FA1FBDD9 +:1001F00030C148BF0B6070471FB501F08FFA1FBDBB :1002000010B510BD00F031F81146FFF7F5FF01F011 -:1002100061F800F04FF803B4FFF7F2FF03BC00F001 +:1002100077F800F04FF803B4FFF7F2FF03BC00F0EB :1002200057F800000948804709480047FEE7FEE705 :10023000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE796 :1002400004480549054A064B70470000350300087D -:1002500085010008C81F0020C8250020C8210020F3 -:10026000C8210020704770477047754600F02CF891 +:100250008501000888250020882B002088270020A1 +:1002600088270020704770477047754600F02CF8CB :10027000AE4605006946534620F00700854618B093 :1002800020B5FFF7DDFFBDE820404FF000064FF03E :1002900000074FF000084FF0000BAC46ACE8C00977 @@ -64,20 +64,20 @@ :1003E000C8BF03F564421170704700004EF60C510F :1003F000CEF200010A684FF6FF031A4060F30A22AA :1004000042F0806040F0FD7008607047B0B543F680 -:1004100000050446C4F200052846022101F04AF80E -:100420000028F9D02846214601F042F8B0BD00006E +:1004100000050446C4F200052846022101F068F8F0 +:100420000028F9D02846214601F060F8B0BD000050 :1004300010B543F60004C4F2000400BF204680213A -:1004400001F038F80028F9D110BD000070B584B073 +:1004400001F056F80028F9D110BD000070B584B055 :100450004FF4C0100121012500F0FAF8002000211E -:10046000002600F061FE01AC204600F009FE40F2DB +:10046000002600F077FE01AC204600F01FFE40F2AF :100470000110ADF80C0020468DF80460029500F0E4 -:100480000BFE032000F0FEFF06200021002200F0FA -:10049000E7FF04B070BD0000B0B582B00220C0F22A +:1004800021FE032001F01CF806200021002201F0CB +:1004900005F804B070BD0000B0B582B00220C0F213 :1004A00018000121012500F0D3F86C46204600F029 -:1004B00031FE41F60000C0F20010CDE9005040F6D8 -:1004C0000000C4F20100214600F074FE02B0B0BD8D -:1004D00080B5052000F054F9012000F0D7FD40F66A -:1004E0000000C4F20100012100F0C4FE002818BF82 +:1004B00047FE41F60000C0F20010CDE9005040F6C2 +:1004C0000000C4F20100214600F08AFE02B0B0BD77 +:1004D00080B5052000F054F9012000F0EDFD40F654 +:1004E0000000C4F20100012100F0DAFE002818BF6C :1004F00080BD40F20000C2F200000178042204290D :1005000008BF0122027080BD41F20401C4F2020161 :100510000A6800F00F0022F0F00242EA00100860C2 @@ -115,675 +115,675 @@ :10071000026001634FF41F018160704741F20401E0 :10072000C4F202010A6860F301020A607047000027 :1007300041F20400C4F202000068C0F38100704777 -:1007400080B5042000F0C0FF40F20400C2F20000B7 +:1007400080B5042000F0DEFF40F20400C2F2000099 :1007500000684DF68361C4F21B31A0FB0101880CD7 -:1007600040F28001C2F20001086008684FF47A711B -:10077000484340F27C01C2F20001086080BD0000E5 -:1007800080B5002808BF80BD4EF2100140F27C0EFB +:1007600040F28401C2F20001086008684FF47A7117 +:10077000484340F28001C2F20001086080BD0000E1 +:1007800080B5002808BF80BD4EF2100140F2800EF7 :10079000CEF20001C2F2000E4FF0320C002300BF77 :1007A00082B2332A06D3DEF80020323802FB0CF284 :1007B0004A6004E0DEF800005043486000208B608F :1007C0000A6842F001020A600A6802F00112012A76 :1007D000FAD00A6822F001020A6002048B60DFD1BD :1007E00080BD000080B540F60040C4F201004FF427 -:1007F000805100F08BFC80BD80B540F60040C4F213 -:1008000001004FF4805100F083FC80BD80B540F6BC -:100810000040C4F201004FF4804100F077FC80BD3D +:1007F000805100F0A1FC80BD80B540F60040C4F2FD +:1008000001004FF4805100F099FC80BD80B540F6A6 +:100810000040C4F201004FF4804100F08DFC80BD27 :1008200080B540F60040C4F201004FF4804100F072 -:100830006FFC80BD80B5FFF7A3FF80BD2DE9F043BD -:1008400081B08846054600200021002600F0B0FB5C -:10085000242000F0FBFBFFF7C5FFA5F101090027ED -:1008600009EB0605002400BF15F8010FFFF7CEFDC8 -:10087000013C14F1FA00F7D10137102FA6EB040662 -:10088000EED1FFF7D5FDFFF7B7FF002000210025CF -:1008900000F08EFB262000F0D9FBFFF7A3FFA8F1A4 -:1008A0000108002608EB0504002700BF14F8010F1B -:1008B00080F0FF00FFF7AAFD013F17F1FA00F5D124 -:1008C0000136102EA5EB0705ECD1FFF7B1FDFFF7C0 -:1008D00093FF00F085FB01B0BDE8F08310B504463E -:1008E000102000F0B3FB204600F09AFB10BD000082 -:1008F00080B500F049FB3220FFF79CFF00F04EFB73 -:100900003220FFF797FF00F079FB28B9122000F0A2 -:100910009DFB00F073FB08B1012080BD012000F0B9 -:1009200095FB272000F07CFB012000F079FB0120E3 -:1009300000F076FB112000F089FB012000F070FB35 -:10094000442000F083FB002000F06AFB0F2000F041 -:1009500067FB452000F07AFB272000F061FB0120B7 -:1009600000F05EFB002000F05BFB002000F058FB75 -:100970003C2000F06BFB052000F052FB212000F032 -:1009800065FB002000F04CFB802000F049FB1820A4 -:1009900000F05CFB802000F043FB4E2000F056FB93 -:1009A000002000F03DFB4F2000F050FB272000F01E -:1009B00037FB012000F034FB00F020FB002818BFBB -:1009C000012080BD2DE9F04184B00224C0F218045A -:1009D00020460121FFF73CFE601C0121FFF738FE95 -:1009E00002AD284600F096FB40F60044C4F2010434 -:1009F000A4F5806630464FF480714FF4807700F0A4 -:100A000085FB40F20040C0F21010CDE90270304684 -:100A1000294600F0CFFB1820ADF80D004FF4007010 -:100A200002903046294600F0C5FB20464FF4804135 -:100A30004FF4804600F06CFB4FF010084FF48067D5 -:100A4000204629468DF80E80ADF80C70029600F015 -:100A5000B1FB4FF400500826029020462946ADF81D -:100A60000C708DF80E6000F0A5FB4FF40040029072 -:100A7000204629468DF80E6000F09CFB20464FF47E -:100A800080514FF4805600F043FB204629468DF8F4 -:100A90000E80ADF80C70029600F08CFB0E20C0F2B8 -:100AA0001C000121FFF7D4FD6D46284600F0EEFC46 -:100AB00040F20310C0F20500009040F20010C0F2B6 -:100AC0000110A4F5544401902046294600F0F8FC9A -:100AD0002046012100F0E2FC04B0BDE8F0810000F6 -:100AE00080B540F60000C4F201004FF4007100F040 -:100AF000C1FB002818BF012080BD000080B540F276 -:100B0000680CC2F2000CBCF81210002908BF80BDAE -:100B10004FF0000E06E000BFBCF812100EF1010EFF -:100B20008E4512D2BCF81030002BF5D04FF0FF31BB -:100B3000DCF800200EFB03220A445070BCF8103091 -:100B40008A1C01319A42F3D3E6E780BD2DE9F04FCC -:100B500085B006461046B2EB060B0F46049248BF1E -:100B6000CBF1000BD81B80EAE071024648BF42423D -:100B7000C1EBE07904984FF0FF31B0424FF0FF38FD -:100B8000ABEB020A88BF4FF0010818460293BB4244 -:100B900088BF01210191039203E000BFBBEB4A0F24 -:100BA00011DAB4B2BDB20E9A2046294600F016F80A -:100BB000B9EB4A0FF2DC049884420BD00398464408 -:100BC000AAEB000AEAE70298854203D00198DA44CA -:100BD0000744E6E705B0BDE8F08F000080B50138B6 -:100BE000013980B289B200F06FF880BD2DE9F04183 -:100BF00082B00F46DDE908811C461546064681B1E4 -:100C0000A7420BD2B9B230462A460B46CDF8008037 -:100C1000FFF79CFF0137B8B2A042F3D302B0BDE8A2 -:100C2000F081304639462A463B46CDF80080FFF732 -:100C30008DFF3046394632462346CDF80080FFF717 -:100C400085FF284621462A463B46CDF80080FFF71F -:100C50007DFF2846214632462346CDF80080FFF727 -:100C600075FF02B0BDE8F08110B540F2680CDDF808 -:100C700008E0C2F2000CCCF80000C8084C07ACF841 -:100C80000810ACF80A20ACF80CE04FF0010E18BFC9 -:100C90000EEBD100ACF81000ACF81220ACF80E301E -:100CA0002BB1B42B12BF084610460A4601E010468D -:100CB0000A46ACF80400ACF8062010BD40F268010A -:100CC000C2F200010860704710B540F2680CC2F231 -:100CD000000CBCF80E30B32B0BDC93B15A2B36D181 -:100CE000BCF80830C0431844BCF80A30C9435C184B -:100CF00013E0B42B0CD0B3F5877F0C4618BF10BDA2 -:100D00000BE0BCF808E0C94304460EEB010004E028 -:100D1000BCF80A30C0431C180846BCF81030A4B216 -:100D200081B26343DCF800C003EBD10E1CF80E3037 -:100D300000F007008024C4401C436FF0800141FA9A -:100D400000F0002A08BF03EA00040CF80E4010BDB2 -:100D50002DE9F04F87B00130039080B20290C01AA5 -:100D6000FA2800F38380082B02D1062464B97DE0C1 -:100D7000D8085F074FF0010618BF06EBD3005F08E5 -:100D8000784384B2002C71D04E1C109DA2F120003B -:100D900041F6965182B25808C0F60001DDF80C9079 -:100DA000B5FA85F70190002001EB02114FF0000821 -:100DB00004920091CDE9054312E000BF02991FFAA9 -:100DC00089F0401A019926468842039804BF81465B -:100DD0000836059908F101081FFA88F0814245D9C3 -:100DE000082B09D1049941F2FA6201EB4101C0F6E6 -:100DF000000202EB410119E0182B0BD0102B13D08D -:100E00000C2B33D1049941F6221201EB4101C0F6BB -:100E1000000206E0049942F2863201EBC101C0F6FD -:100E2000000202EB810101E0009900BF084490F844 -:100E300000A04FF0000B34465FEACA702A461FFA42 -:100E400089F0B1B208BF7A09FFF7C8FE4FEA5A0A23 -:100E50000136BBF1070F0BF1010BEDD3069B09F136 -:100E60000109082BAAD105992646B3E707B0BDE8CA -:100E7000F08F00002DE9F04F87B0DE085F07059284 -:100E80004FF0010218BF02EBD306002E009653D09C -:100E9000119E00F1010A4A1CB6FA86F51FFA8AF083 -:100EA00000234FF0000B17460390CDF810A004E08C -:100EB0000133009998B288423ED205980028F7D0B5 -:100EC0004FF000080293CDF804B000BF10991FFA4C -:100ED0008BF00C5C4FF00009069200BFE007324631 -:100EE0001FFA8AF0B9B218BF6A09FFF777FE6408E3 -:100EF0000137B9F1070F09F10109EFD30AF1010A2E -:100F000003991FFA8AF0401A059908F101088842EE -:100F1000049808BF8246069A1FFA88F00BF1010B6D -:100F200008BF083288421746D0D30598DDF804B0D0 -:100F3000029B83441746BBE707B0BDE8F08F000073 -:100F40002DE9F04381B099461378CBB1DDF82080CC -:100F50000D4606464FEA5907541EB9F1080F08BF5F -:100F6000062700BFB0B2DAB229464B46CDF8008062 -:100F7000FFF7EEFEA3783E44002B04F10104F1D10B -:100F800001B0BDE8F083000080B540F60000C4F277 -:100F900001004FF4807100F0B9F880BD80B540F6D3 -:100FA0000000C4F201004FF4807100F0B1F880BD80 -:100FB000B0B5044640F22710451A4E2000F046F81E -:100FC000C4F3C70000F02CF84F2000F03FF8E8B25F -:100FD00000F026F8C5F3002000F022F8B0BD0000B4 -:100FE00080B5222000F032F8F72000F019F8202018 -:100FF00000F02CF800F002F880BD000010B5FFF7FB -:101000006FFD58B149F641440120013C08BF10BDB5 -:10101000FFF710FCFFF764FD0028F5D1002010BD9C -:10102000B0B543F600040546C4F20004FFF7DAFB4E -:101030002046294600F03CFA2046802100F03AFA8A -:101040000028F9D1FFF7D8FBB0BD0000B0B543F6DA -:1010500000040546C4F20004FFF7D8FBFFF7C2FB0B -:101060002046294600F024FA2046802100F022FA8A -:101070000028F9D1FFF7C0FBFFF7D2FBB0BD00009D -:1010800000214160012101810170704740F214414B -:10109000C4F201010860704740F20841C4F2010146 -:1010A000426851F8083C934341F8083C51F8043C2D -:1010B000934341F8043C437A002B08BF7047037800 -:1010C0006FEA020C2BB151F8043C134341F8043C85 -:1010D00004E051F8083C134341F8083C0B6803EA6C -:1010E0000C030B604B6803EA0C034B60007A012889 -:1010F00007D018B9086810430860704708681043A3 -:1011000008604868104348607047000041617047BC -:101110000161704740F200424FF6FF71C0F20012C9 -:10112000C0E900127047000080B58B08032B88BF10 -:1011300080BD0C2202EA810E4FF00F0C02EB8301FE -:101140000CFA0EF2DFE803F002290F1C0821C4F2AA -:1011500001010B6800FA0EF023EA02020A600A6835 -:101160001043086080BD0821C4F201018B6800FAB9 -:101170000EF023EA02028A608A681043886080BD0C -:101180000821C4F20101CB6800FA0EF023EA020242 -:10119000CA60CA681043C86080BD0821C4F201015A -:1011A0004B6800FA0EF023EA02024A604A681043D4 -:1011B000486080BDB0B58B790A88032B0BD07BB912 -:1011C0004979282901F00F0E18D0182908BF0261AB -:1011D000110616D12EE04FF0000E110611D129E0B4 -:1011E00003F0080C0B79C97903F00403634401F0A0 -:1011F000030103EB010E110603D11BE0426111064E -:1012000018D000234FF00F0C002104E00131082911 -:1012100003F104030ED022FA01F4E407F6D00468C7 -:101220000CFA03F5AC43046004680EFA03F52C4392 -:101230000460EBE7B2F5807F38BFB0BD120A00232F -:101240004FF00F0C002104E00131082903F10403E1 -:101250000ED022FA01F4E407F6D044680CFA03F544 -:10126000AC43446044680EFA03F52C434460EBE75A -:10127000B0BD000080680840401AB0FA80F0400914 -:101280007047000010B582B00420C0F218000121A0 -:10129000FFF7DEF96C462046FFF73CFF40F20040C6 -:1012A000C0F2101001904FF40050009041F2000085 -:1012B000C4F201002146FFF77DFF02B010BD00001F -:1012C00041F20C00C4F20100016881F40051016098 -:1012D0007047000088B000F069F9FFF731FAFFF7B6 -:1012E000DBF8FFF7B3F8FFF7CDFFFFF76BFBFFF776 -:1012F000FFFA40F28407C2F20007FF2638467A213F -:10130000FA22B4230096FFF7AFFC41F22405C2F2A3 -:10131000000528467A21FA22B4230096FFF7A4FCA0 -:101320003846FFF7CBFCFF20FFF7E8FB2846FFF726 -:10133000C5FCFF20FFF7E2FB43F2E200C0F600002D -:10134000CDE9000600200021FA227A230026FFF7CB -:1013500091FD38462946FFF771FA4FF4FA50FFF72E -:101360000FFA3846FFF7AAFCFF20FFF7C7FB29A2B8 -:101370000A20002118230096FFF7E2FD2AA20A2086 -:10138000322110230096FFF7DBFD2EA20A201D213B -:1013900010230096FFF7D4FD2846FFF78FFCFF20AF -:1013A000FFF7ACFB46F26C40C0F22E00069045F20F -:1013B0002070C7F26F20059046F66540C6F66C7047 -:1013C000049043F63E60C4F62000039003AA0A206E -:1013D000472118230096FFF7B3FD01240A20672157 -:1013E000F022742300960194FFF700FC384629464A -:1013F000FFF724FA0120FFF771FA40F20004C2F26D -:1014000000046425FFF75CFF20786843FFF7B8F914 -:10141000F8E700BF322E31332045706170657220CD -:101420004D6F64756C6500007769746820323530E3 -:10143000207820313232207265736F6C7574696F59 -:101440006E00000044657369676E65642042792010 -:1014500057654163742053747564696F0000000020 -:1014600070B514460D460646FEF7A6FF29462246ED -:10147000FEF744FF01463046FEF7A6FF3046FEF772 -:101480008BFF70BD80B5FEF7B1FF80BD0021C0F8B5 -:10149000031001600121C17170470000026801F072 -:1014A000010122F0400242EA811101607047000010 -:1014B000C16070478068084018BF01207047000075 -:1014C000C26922F40062C2610A78032A27D8DFE8E1 -:1014D00002F00206121A026822F400420EE00268CC -:1014E00022F400420260026822F480420260026834 -:1014F00042F4806212E0026842F400420260026834 -:1015000022F4804206E0026842F40042026002686F -:1015100042F480420260026822F480620260CA796A -:10152000036802F0010223F4007343EA42220260DE -:101530004A78012A06D1CA79012A03D1026842F405 -:10154000807202E0026822F4807202604A780368C6 -:1015500062F3820303608A784368072A23F4807366 -:1015600088BF03F5807343608A78036862F3C5031C -:101570000360CA78036802F0010223F0800343EAA3 -:10158000C21202600A79036802F0010223F40063C8 -:1015900043EAC22202604A79036862F341030360AE -:1015A0008979026861F300020260704780B5FFF735 -:1015B00093F801200121FEF7DDFF00BFFFF734F8AB -:1015C0000028FBD002203B210122FFF755F8002024 -:1015D000FFF71CF802200121FEF7CCFF1920FFF7CE -:1015E00007F80128FAD10020FEF78EFF0420FEF74D -:1015F000A7FF0420FEF796FF0120FEF7AFFF0220B1 -:10160000FFF78CF8FFF794F80228FBD10020FEF7D3 -:10161000A5FF00F001F880BDB0B541F2040441F22D -:101620000025C4F20204C0F27A05FFF781F802280F -:101630000BD090BB206D80052FD5E06A800144BFA0 -:1016400046F60045C0F2DC2527E0206821682268C4 -:10165000C1F38341C2F3417213010133002A1A46D8 -:1016600008BF02220F2908BF1A46C00302EB01007F -:1016700006D440F60011C0F23D0100FB01F50CE07C -:101680002168890301D4454307E0216DC1F301318D -:101690000231B5FBF1F101FB00F540F20400C2F2AA -:1016A00000000560216804A2C1F30311515C0268C7 -:1016B00022FA01F10160B0BD00000000000000004E -:1016C00001020304060708094EF21001CEF20001E0 -:1016D0000A68042822F0040208BF04320A60704736 -:1016E000F1EE100A4FF6FF71C0F2C03120EA01009E -:1016F00040F04070E1EE100A70470000000000006A -:101700000000002F000000000700070000147F14F5 -:101710007F1400242A7F2A120062640813230036F3 -:101720004955225000000503000000001C22410022 -:10173000000041221C000014083E08140008083E66 -:101740000808000000A06000000808080808000061 -:1017500060600000002010080402003E5149453E30 -:101760000000427F4000004261514946002141454E -:101770004B31001814127F10002745454539003CB5 -:101780004A49493000017109050300364949493683 -:1017900000064949291E0000363600000000563672 -:1017A0000000000814224100001414141414000056 -:1017B0004122140800020151090600324959513EE4 -:1017C000007C1211127C007F49494936003E41419C -:1017D0004122007F4141221C007F49494941007F4D -:1017E00009090901003E4149497A007F0808087F3C -:1017F0000000417F4100002040413F01007F08146C -:101800002241007F40404040007F020C027F007F69 -:101810000408107F003E4141413E007F090909064E -:10182000003E4151215E007F091929460046494981 -:1018300049310001017F0101003F4040403F001F4E -:101840002040201F003F4038403F006314081463CD -:1018500000070870080700615149454300007F41B7 -:10186000410000552A552A55000041417F000004DF -:101870000201020400404040404000000102040018 -:10188000002054545478007F48444438003844447D -:10189000442000384444487F003854545418000809 -:1018A0007E0901020018A4A4A47C007F0804047827 -:1018B0000000447D4000004080847D00007F1028AF -:1018C00044000000417F4000007C04180478007C44 -:1018D0000804047800384444443800FC24242418C4 -:1018E0000018242418FC007C080404080048545400 -:1018F000542000043F444020003C4040207C001C19 -:101900002040201C003C4030403C0044281028442B -:10191000001CA0A0A07C004464544C441414141473 -:10192000141400000000000000000000000000008F -:10193000FC000000000002000000000C020C02008D -:1019400000000000000090D0BCD0BC900003000359 -:1019500000001824FE448C00030207020100182432 -:10196000D8B04C80000300010201C038E438E00028 -:10197000010202010202080600000000000000004F -:101980000000000000F80402000000010204000250 -:1019900004F800000004020100009060F86090006C -:1019A0000000010000002020FC20200000000100B9 -:1019B00000000000000000000806000000002020D9 -:1019C00020202000000000000000000000000000B7 -:1019D0000002000000000080601C02000403000000 -:1019E0000000F8040404F8000102020201000008EB -:1019F000FC000000000203020000188444241800C8 -:101A000003020202020008042424D8000102020298 -:101A1000010040B088FC80000000000302003C246C -:101A20002424C400010202020100F824242CC00076 -:101A30000102020201000C04E41C04000000030087 -:101A40000000D8242424D8000102020201003844F6 -:101A50004444F800000302020100000010000000EE -:101A6000000002000000000020000000000006004E -:101A70000000002050880402000000000102909045 -:101A800090909000000000000000000204885020A8 -:101A90000002010000001804C42418000000020025 -:101AA0000000F804E494F80001020202020000E0E1 -:101AB0009CF0800002030000030204FC2424D800F0 -:101AC000020302020100F80404040C0001020202F5 -:101AD000010004FC0404F80002030202010004FCFB -:101AE00024740C0002030202030004FC24740C00A2 -:101AF000020302000000F0080444CC40000102028E -:101B0000010004FC2020FC04020300000302040482 -:101B1000FC040400020203020200000404FC0404AA -:101B200006040403000004FC24D00C040203020099 -:101B3000030204FC04000000020302020203FC3C56 -:101B4000C03CFC0003000300030004FC30C4FC04A0 -:101B5000020302000300F8040404F8000102020278 -:101B6000010004FC24241800020302000000F88491 -:101B70008404F80001020207050004FC24649800B4 -:101B8000020302000302182424448C000302020210 -:101B900001000C04FC040C0000020302000004FC21 -:101BA0000000FC04000102020100047C80E01C042F -:101BB0000000030000001CE03CE01C0000030003E8 -:101BC0000000049C609C0400020300030200041C4B -:101BD000E01C04000002030200000C84641C0400EA -:101BE0000203020203000000FE02020000000704DC -:101BF0000400000E30C000000000000102000002DE -:101C000002FE0000000404070000000402040000BB -:101C100000000000000000000000000008080808A4 -:101C20000808000002000000000000000000004062 -:101C3000A0A0C00000010202030204FC2020C0009A -:101C400000030202010000C0202060000001020227 -:101C5000020000C02024FC0000010202030200C0B8 -:101C6000A0A0C0000001020202000020F824240409 -:101C70000002030202000040A0A0602000070A0A40 -:101C80000A0404FC2020C00002030200030200201A -:101C9000E4000000000203020000000020E4000055 -:101CA00008080807000004FC80E02020020302006E -:101CB00003020404FC000000020203020200E02010 -:101CC000E020C00003000300030020E02020C0004B -:101CD00002030200030200C02020C0000001020233 -:101CE000010020E02020C000080F0A02010000C00F -:101CF0002020E0000001020A0F0820E04020200020 -:101D00000203020000000060A0A020000002020206 -:101D100003000020F820000000000102020020E083 -:101D20000020E00000010202030220E02080602089 -:101D30000000030100006080E080600000030003F9 -:101D4000000020608060200002030003020020E009 -:101D5000208060200808070100000020A06020000B -:101D6000000203020200000020DE02000000000763 -:101D70000400000000FF00000000000F000000024F -:101D8000DE2000000004070000000201020404023B -:101D90000000000000000000000000000000000043 -:101DA000000000000000000000F80000000000003B -:101DB00000333000000000100C06100C060000007C -:101DC00000000000000040C07840C0784000043FA0 -:101DD00004043F040400007088FC08300000001870 -:101DE00020FF211E0000F008F000E0180000002194 -:101DF0001C031E211E0000F00888700000001E2138 -:101E000023241927211010160E00000000000000E6 -:101E1000000000000000000000E0180402000000C4 -:101E200000071820400000020418E00000000040F5 -:101E3000201807000000404080F08040400002026F -:101E4000010F01020200000000F00000000001018B -:101E5000011F01010100000000000000000080B02F -:101E60007000000000000000000000000000000101 -:101E7000010101010101000000000000000000302C -:101E800030000000000000000000806018040060C6 -:101E900018060100000000E010080810E000000F24 -:101EA000102020100F00001010F80000000000208B -:101EB000203F2020000000700808088870000030D3 -:101EC000282422213000003008888848300000187B -:101ED000202020110E000000C02010F80000000794 -:101EE0000424243F240000F808888808080000190A -:101EF000212020110E0000E0108888180000000F3B -:101F0000112020110E0000380808C8380800000011 -:101F1000003F000000000070880808887000001C66 -:101F2000222121221C0000E010080810E00000001F -:101F3000312222110F00000000C0C000000000008C -:101F400000303000000000000080000000000000B1 -:101F500080600000000000008040201008000001A8 -:101F6000020408102000404040404040400004046B -:101F70000404040404000008102040800000002035 -:101F8000100804020100007048080808F000000072 -:101F9000003036010000C030C828E810E000071803 -:101FA000272423140B000000C038E0000000203C70 -:101FB00023020227382008F8888888700000203F14 -:101FC000202020110E00C03008080808380007182B -:101FD00020202010080008F808080810E000203F22 -:101FE000202020100F0008F88888E8081000203F03 -:101FF00020202320180008F88888E8081000203FD7 -:10200000200003000000C03008080838000007184E -:102010002020221E020008F808000008F808203FCF -:10202000210101213F20000808F8080800000020D5 -:10203000203F2020000000000808F8080800C080A9 -:1020400080807F00000008F888C028180800203F22 -:1020500020012638200008F8080000000000203F7A -:1020600020202020300008F8F800F8F80800203F71 -:10207000003F003F200008F830C00008F808203F6B -:10208000200007183F00E01008080810E0000F10BB -:10209000202020100F0008F808080808F000203F52 -:1020A000210101010000E01008080810E0000F18ED -:1020B000242438504F0008F8888888887000203F12 -:1020C0002000030C30200070880808083800003811 -:1020D000202121221C00180808F808081800000018 -:1020E000203F2000000008F808000008F808001F42 -:1020F000202020201F000878880000C83808000031 -:1021000007380E010000F80800F80008F800033C4A -:102110000700073C03000818688080681808203012 -:102120002C03032C30200838C800C83808000000F1 -:10213000203F2000000010080808C8380800203898 -:10214000262120201800000000FE020202000000EC -:10215000007F40404000000C30C000000000000044 -:1021600000010638C00000020202FE00000000402C -:1021700040407F0000000000040202020400000052 -:10218000000000000000000000000000000080804F -:102190008080808080800002020400000000000037 -:1021A0000000000000000000808080800000001916 -:1021B000242222223F2008F8008080000000003FF7 -:1021C000112020110E000000008080800000000E11 -:1021D000112020201100000000808088F800000EEF -:1021E000112020103F200000808080800000001F10 -:1021F000222222221300008080F088888818002084 -:10220000203F202000000000808080808000006B44 -:1022100094949493600008F8008080800000203F30 -:10222000210000203F20008098980000000000203E -:10223000203F20200000000000809898000000C08F -:102240008080807F000008F8000080808000203FB0 -:1022500024022D302000000808F8000000000020B3 -:10226000203F202000008080808080808000203FF0 -:1022700020003F20003F8080008080800000203FC1 -:10228000210000203F200000808080800000001F8F -:10229000202020201F00808000808000000080FF20 -:1022A000A12020110E000000008080808000000E20 -:1022B000112020A0FF80808080008080800020206E -:1022C0003F212000010000008080808080000033DA -:1022D000242424241900008080E080800000000075 -:1022E000001F202000008080000000808000001F70 -:1022F000202020103F20808080000080808000010E -:102300000E300806010080800080008080800F3041 -:102310000C030C300F0000808000808080000020C3 -:10232000312E0E31200080808000008080808081EE -:102330008E7018060100008080808080800000215F -:10234000302C2221300000000000807C02020000BE -:102350000000003F404000000000FF0000000000BF -:102360000000FF0000000002027C8000000000402E -:10237000403F0000000000060101020204040000CA -:10238000000000000000000000000000000000004D -:10239000000000000000000000000000000000003D -:1023A000000000000000000000000000000000F03D -:1023B000F0F0000000000000000000017F010000BC -:1023C000000000000000001C1C1C000000000000B9 -:1023D0008060301C8C60301C0C000000000000008D -:1023E00000000000000000000000000000000000ED -:1023F0000000000000E00000000000E00000008697 -:10240000E69F86868686E69F860000011F01010101 -:1024100001011F010100000080C06020F820E0C021 -:102420000000000003070C18FF70E18100000000AD -:10243000070F10107F100F070000806020608000E1 -:102440000000E02000000F3020309F70DC3710309B -:10245000C0000000100E030007181018070000004D -:10246000C02020E0C0000000000080E01F38E887A6 -:1024700003C43C040000070F1810100B070D1010C8 -:10248000080000808C4C38000000000000000000B4 -:10249000000000000000000000000000000000003C -:1024A00000000000000000000000000080E0300894 -:1024B00004000000000000FEFF010000000000001A -:1024C00000000000030F1820400000040830E080E6 -:1024D0000000000000000000000001FFFE000000FE -:1024E0000000004020180F03000000000000000062 -:1024F00000000000C00000000000004266663C18BA -:10250000FF183C6666420000000000000300000067 -:10251000000000000000000080000000000000102B -:1025200010101010FF10101010100000000000001C -:102530000300000000000000000000000000000098 -:10254000000000000000000000000000000000800B -:102550008C4C38000000000000000000000000006B -:1025600000000000000000101010101010101010DB -:10257000100000000000000000000000000000004B -:10258000000000000000000000000000000000004B -:1025900000000000000000001C1C1C0000000000E7 -:1025A00000000000000000000000E0380C00000007 -:1025B000000080701C03000000000060380E010065 -:1025C000000000000000000080C060202060C0808B -:1025D000000000FEFF010000000001FFFE000001FE -:1025E000070E181010180E0701000000808080C030 -:1025F000E000000000000000000000FFFF000000FD -:10260000000000001010101F1F10101000000080AC -:10261000402020202060C080000000030300804094 -:1026200020381F070000001C1A1918181818181F46 -:1026300000000080C020202060C080000000000357 -:1026400003001010182FE780000000070F10101073 -:1026500010180F070000000000000000C0E0F000AC -:10266000000000C0B088868180FFFF8080000000ED -:1026700000000010101F1F1010000000E0606060DC -:1026800060606060000000003F1008080818F0E07B -:10269000000000070B101010101C0F0300000000BA -:1026A00080C040202020E0C0000000FCFF21100876 -:1026B000080818F0E0000001070C18101010080FAF -:1026C00003000000C0E06060606060E06000000047 -:1026D00003000000E0180700000000000000001FD9 -:1026E0001F00000000000080C0602020202060C08B -:1026F00080000087EF2C1818303068CF8300000767 -:102700000F0810101010180F07000000C0C0202084 -:102710002020C0800000001F3F604040402010FF8C -:10272000FE0000000C1C101010080F030000000039 -:102730000000000000000000000000000000000E8B -:102740000E0E0000000000000000001C1C1C000019 -:102750000000000000000000000000000000000079 -:102760000000000C0C0000000000000000000058F9 -:102770003800000000000000000000000080402041 -:10278000100000001028448201000000000000003A -:10279000000000000102040810000000000000001A -:1027A0000000000000000084848484848484848485 -:1027B0008400000000000000000000000000000095 -:1027C0001020408000000000000000000000000019 -:1027D00001824428100000001008040201000000DB -:1027E000000000C020201010101030E0C0000003D6 -:1027F000030000F010080C070300000000001C1C80 -:102800001C0000000000000000C0406020202040AC -:10281000C00000FCFF01F00E03C1FE03807F000139 -:10282000070E08111110110904020000000080E0D9 -:10283000E000000000000000807C4340477FF880FB -:10284000000010181F1000000000131F1C1020E0D3 -:10285000E02020202060C080000000FFFF1010104A -:1028600010182FE78000101F1F1010101010180FE5 -:102870000700000080C0402020202060E00000FC15 -:10288000FF0100000000000001000001070E181009 -:1028900010100804030020E0E02020202040C08029 -:1028A000000000FFFF000000000001FFFE00101FFD -:1028B0001F10101018080E07010020E0E020202053 -:1028C00020202060800000FFFF101010107C00000E -:1028D0000000101F1F10101010101018060020E02C -:1028E000E020202020206060800000FFFF101010FA -:1028F000107C00000100101F1F10000000000000ED -:102900000000000080C06020202040E0000000FCAB -:10291000FF0100004040C0C140400001070E1810F8 -:1029200010100F0F000020E0E0200000000020E069 -:10293000E02000FFFF101010101010FFFF00101F0C -:102940001F1000000000101F1F100000202020E0BA -:10295000E020202000000000000000FFFF00000039 -:10296000000000001010101F1F10101000000000C9 -:102970000000202020E0E0202020000000000000D7 -:1029800000FFFF0000000060E0808080C07F3F000B -:10299000000020E0E020000020A06020200000FFD8 -:1029A000FF30187CE3C000000000101F1F10000063 -:1029B00001131F1C181020E0E020000000000000A0 -:1029C000000000FFFF000000000000000000101FDA -:1029D0001F10101010101018060020E0E0E000009A -:1029E0000000E0E0E02000FF013FFEC0E01E01FF2C -:1029F000FF00101F1000031F0300101F1F1020E016 -:102A0000E0C0000000000020E02000FF0003071CE1 -:102A100078E08000FF00101F100000000000030F8E -:102A20001F00000080C060202060C080000000FE09 -:102A3000FF010000000000FFFE000001070E18105B -:102A400010180C07010020E0E0202020202060C0AA -:102A5000800000FFFF2020202020301F0F00101FCB -:102A60001F100000000000000000000080C0602077 -:102A70002060C080000000FEFF010000000000FF99 -:102A8000FE000001070E1111133C7C67210020E0BD -:102A9000E0202020202060C0800000FFFF101030C8 -:102AA000F0D0080F0700101F1F10000000030F1CBC -:102AB00010100080C060202020204040E00000076F -:102AC0000F0C1818303060E08100001F0C08101047 -:102AD0001010180F07008060202020E0E020202048 -:102AE00060800100000000FFFF0000000001000006 -:102AF0000000101F1F100000000020E0E020000078 -:102B000000000020E02000FFFF00000000000000A7 -:102B1000FF0000070F1810101010100807002060A9 -:102B2000E0E02000000020E060200000077FF88047 -:102B300000807C03000000000000071F1C0700004D -:102B4000000020E0E02000E0E0200020E02000077E -:102B5000FFF8E01FFFFCE01F00000000031F030060 -:102B6000011F03000000002060E0A0000020E060E2 -:102B70002000000000038F7CF8C601000000001058 -:102B8000181E130001171F1810002060E0E020003D -:102B9000000020E06020000001073EF8E018070078 -:102BA000000000000010101F1F1010000000008027 -:102BB0006020202020A0E0E0200000000000C0F005 -:102BC0003E0F0300000000101C1F171010101018FB -:102BD00006000000000000FC0404040404000000DF -:102BE000000000FF00000000000000000000007F67 -:102BF000404040404000000010E0000000000000A5 -:102C0000000000000000031C6080000000000000C5 -:102C10000000000000030C708000000004040404A5 -:102C200004FC0000000000000000000000FF0000A5 -:102C30000000000040404040407F000000000000D5 -:102C40000010080C040C0810000000000000000038 -:102C50000000000000000000000000000000000074 -:102C60000000000000000000000000000000000064 -:102C70000000000000000000000080808080808054 -:102C8000808080808080000000040408080000002C +:1008300085FC80BD80B5FFF7A3FF80BD2DE9F041A9 +:100840000C46054600200021002600F0B3FB2420C2 +:1008500000F0FEFB28464FF4945100F013FC0020FA +:10086000002100F0A7FB262000F0F2FBFFF7BAFF03 +:10087000A4F10108002500BF08EB0604002700BF13 +:1008800014F8010F80F0FF00FFF7C0FD013F17F5DE +:10089000947FF5D10135102DA6EB0706ECD1FFF7BB +:1008A000C7FDFFF7A9FF00F09DFBBDE8F081000048 +:1008B00010B50446102000F0CBFB204600F0B2FB40 +:1008C00040F27C00C2F200000021017010BD000067 +:1008D00080B540F27C00C2F200000078002808BF1A +:1008E00000F056FB00F08CFB28B9122000F0B0FBA2 +:1008F00000F086FB08B1012080BD012000F0A8FBBC +:10090000272000F08FFB012000F08CFB012000F07D +:1009100089FB112000F09CFB012000F083FB4420A8 +:1009200000F096FB002000F07DFB0F2000F07AFB2A +:10093000452000F08DFB272000F074FB012000F023 +:1009400071FB002000F06EFB002000F06BFB3C20F0 +:1009500000F07EFB052000F065FB212000F078FB15 +:10096000002000F05FFB802000F05CFB182000F00E +:100970006FFB802000F056FB4E2000F069FB00204A +:1009800000F050FB4F2000F063FB272000F04AFBF3 +:10099000012000F047FB00F033FB002818BF0120C6 +:1009A00080BD00002DE9F04184B00224C0F218049B +:1009B00020460121FFF74CFE601C0121FFF748FE95 +:1009C00002AD284600F0BCFB40F60044C4F201042E +:1009D000A4F5806630464FF480714FF4807700F0C4 +:1009E000ABFB40F20040C0F21010CDE9027030467F +:1009F000294600F0F5FB1820ADF80D004FF400700B +:100A000002903046294600F0EBFB20464FF480412F +:100A10004FF4804600F092FB4FF010084FF48067CF +:100A2000204629468DF80E80ADF80C70029600F035 +:100A3000D7FB4FF400500826029020462946ADF817 +:100A40000C708DF80E6000F0CBFB4FF4004002906C +:100A5000204629468DF80E6000F0C2FB20464FF478 +:100A600080514FF4805600F069FB204629468DF8EE +:100A70000E80ADF80C70029600F0B2FB0E20C0F2B2 +:100A80001C000121FFF7E4FD6D46284600F01CFD27 +:100A900040F20310C0F20500009040F20010C0F2D6 +:100AA0000110A4F5544401902046294600F026FD8B +:100AB0002046012100F010FD04B0BDE8F0810000E7 +:100AC00080B540F60000C4F201004FF4007100F060 +:100AD000E7FB002818BF012080BD000080B540F270 +:100AE000680CC2F2000CBCF81210002908BF80BDCF +:100AF0004FF0000E06E000BFBCF812100EF1010E20 +:100B00008E4512D2BCF81030002BF5D04FF0FF31DB +:100B1000DCF800200EFB03220A445070BCF81030B1 +:100B20008A1C01319A42F3D3E6E780BD2DE9F04FEC +:100B300085B006461046B2EB060B0F46049248BF3E +:100B4000CBF1000BD81B80EAE071024648BF42425D +:100B5000C1EBE07904984FF0FF31B0424FF0FF381D +:100B6000ABEB020A88BF4FF0010818460293BB4264 +:100B700088BF01210191039203E000BFBBEB4A0F44 +:100B800011DAB4B2BDB20E9A2046294600F016F82A +:100B9000B9EB4A0FF2DC049884420BD00398464428 +:100BA000AAEB000AEAE70298854203D00198DA44EA +:100BB0000744E6E705B0BDE8F08F000080B50138D6 +:100BC000013980B289B200F06FF880BD2DE9F041A3 +:100BD00082B00F46DDE908811C461546064681B104 +:100BE000A7420BD2B9B230462A460B46CDF8008058 +:100BF000FFF79CFF0137B8B2A042F3D302B0BDE8C3 +:100C0000F081304639462A463B46CDF80080FFF752 +:100C10008DFF3046394632462346CDF80080FFF737 +:100C200085FF284621462A463B46CDF80080FFF73F +:100C30007DFF2846214632462346CDF80080FFF747 +:100C400075FF02B0BDE8F08110B540F2680CDDF828 +:100C500008E0C2F2000CCCF80000C8084C07ACF861 +:100C60000810ACF80A20ACF80CE04FF0010E18BFE9 +:100C70000EEBD100ACF81000ACF81220ACF80E303E +:100C80002BB1B42B12BF084610460A4601E01046AD +:100C90000A46ACF80400ACF8062010BD40F268012A +:100CA000C2F200010860704710B540F2680CC2F251 +:100CB000000CBCF80E30B32B0BDC93B15A2B36D1A1 +:100CC000BCF80830C0431844BCF80A30C9435C186B +:100CD00013E0B42B0CD0B3F5877F0C4618BF10BDC2 +:100CE0000BE0BCF808E0C94304460EEB010004E049 +:100CF000BCF80A30C0431C180846BCF81030A4B237 +:100D000081B26343DCF800C003EBD10E1CF80E3057 +:100D100000F007008024C4401C436FF0800141FABA +:100D200000F0002A08BF03EA00040CF80E4010BDD2 +:100D30002DE9F04F87B00130039080B20290C01AC5 +:100D4000B0F5947F00F38280082B02D1062464B9A9 +:100D50007CE0D8085F074FF0010618BF06EBD30010 +:100D60005F08784384B2002C70D04E1C109DA2F115 +:100D7000200041F6D25182B25808C0F60001DDF8D9 +:100D80000C90B5FA85F70190002001EB02114FF0AD +:100D9000000804920091CDE9054311E002991FFA81 +:100DA00089F0401A019926468842039804BF81467B +:100DB0000836059908F101081FFA88F0814245D9E3 +:100DC000082B09D1049941F2367201EB4101C0F6BA +:100DD000000202EB410119E0182B0BD0102B13D0AD +:100DE0000C2B33D1049941F65E1201EB4101C0F6A0 +:100DF000000206E0049942F2C23201EBC101C0F6E2 +:100E0000000202EB810101E0009900BF084490F864 +:100E100000A04FF0000B34465FEACA702A461FFA62 +:100E200089F0B1B208BF7A09FFF7C8FE4FEA5A0A43 +:100E30000136BBF1070F0BF1010BEDD3069B09F156 +:100E40000109082BAAD105992646B3E707B0BDE8EA +:100E5000F08F00002DE9F04F87B0DE085F070592A4 +:100E60004FF0010218BF02EBD306002E009653D0BC +:100E7000119E00F1010A4A1CB6FA86F51FFA8AF0A3 +:100E800000234FF0000B17460390CDF810A004E0AC +:100E90000133009998B288423ED205980028F7D0D5 +:100EA0004FF000080293CDF804B000BF10991FFA6C +:100EB0008BF00C5C4FF00009069200BFE007324651 +:100EC0001FFA8AF0B9B218BF6A09FFF777FE640803 +:100ED0000137B9F1070F09F10109EFD30AF1010A4E +:100EE00003991FFA8AF0401A059908F1010888420F +:100EF000049808BF8246069A1FFA88F00BF1010B8E +:100F000008BF083288421746D0D30598DDF804B0F0 +:100F1000029B83441746BBE707B0BDE8F08F000093 +:100F20002DE9F04381B099461378CBB1DDF82080EC +:100F30000D4606464FEA5907541EB9F1080F08BF7F +:100F4000062700BFB0B2DAB229464B46CDF8008082 +:100F5000FFF7EEFEA3783E44002B04F10104F1D12B +:100F600001B0BDE8F083000080B540F60000C4F297 +:100F700001004FF4807100F0DFF880BD80B540F6CD +:100F80000000C4F201004FF4807100F0D7F880BD7A +:100F900080B5FFF7E9FF3220FFF74CFCFFF7EEFFCB +:100FA0003220FFF747FC40F27C00C2F20000012132 +:100FB000017080BDB0B5044640F22710451A4E209E +:100FC00000F046F8C4F3C70000F02CF84F2000F002 +:100FD0003FF8E8B200F026F8C5F3002000F022F850 +:100FE000B0BD000080B5222000F032F8F72000F0FC +:100FF00019F8202000F02CF800F002F880BD000065 +:1010000010B5FFF75DFD58B149F641440120013CA0 +:1010100008BF10BDFFF70EFCFFF752FD0028F5D109 +:10102000002010BDB0B543F600040546C4F200042C +:10103000FFF7D8FB2046294600F058FA20468021C9 +:1010400000F056FA0028F9D1FFF7D6FBB0BD00003A +:10105000B0B543F600040546C4F20004FFF7D6FB22 +:10106000FFF7C0FB2046294600F040FA20468021C9 +:1010700000F03EFA0028F9D1FFF7BEFBFFF7D0FBE6 +:10108000B0BD0000B0B50C460546FFF7ABFB3CB168 +:10109000013D00BF15F8010FFFF7B8F9013CF9D188 +:1010A000FFF7C6F9FFF7A8FBB0BD000000214160C3 +:1010B000012101810170704740F21441C4F2010125 +:1010C0000860704740F20841C4F20101426851F8DB +:1010D000083C934341F8083C51F8043C934341F8E1 +:1010E000043C437A002B08BF704703786FEA020C78 +:1010F0002BB151F8043C134341F8043C04E051F88F +:10110000083C134341F8083C0B6803EA0C030B60EE +:101110004B6803EA0C034B60007A012807D018B92A +:101120000868104308607047086810430860486802 +:10113000104348607047000041617047016170478B +:1011400040F200424FF6FF71C0F20012C0E90012F7 +:101150007047000080B58B08032B88BF80BD0C2230 +:1011600002EA810E4FF00F0C02EB83010CFA0EF233 +:10117000DFE803F002290F1C0821C4F201010B680B +:1011800000FA0EF023EA02020A600A6810430860BF +:1011900080BD0821C4F201018B6800FA0EF023EA39 +:1011A00002028A608A681043886080BD0821C4F208 +:1011B0000101CB6800FA0EF023EA0202CA60CA6895 +:1011C0001043C86080BD0821C4F201014B6800FAD9 +:1011D0000EF023EA02024A604A681043486080BD6C +:1011E000B0B58B790A88032B0BD07BB949792829B4 +:1011F00001F00F0E18D0182908BF0261110616D190 +:101200002EE04FF0000E110611D129E003F0080C7A +:101210000B79C97903F00403634401F0030103EB84 +:10122000010E110603D11BE04261110618D0002304 +:101230004FF00F0C002104E00131082903F10403F1 +:101240000ED022FA01F4E407F6D004680CFA03F594 +:10125000AC43046004680EFA03F52C430460EBE72A +:10126000B2F5807F38BFB0BD120A00234FF00F0CDB +:10127000002104E00131082903F104030ED022FA11 +:1012800001F4E407F6D044680CFA03F5AC4344607B +:1012900044680EFA03F52C434460EBE7B0BD000050 +:1012A00080680840401AB0FA80F04009704700009A +:1012B00010B582B00420C0F218000121FFF7C8F970 +:1012C0006C462046FFF73CFF40F20040C0F2101091 +:1012D00001904FF40050009041F20000C4F2010070 +:1012E0002146FFF77DFF02B010BD000041F20C0067 +:1012F000C4F20100016881F40051016070470000F0 +:1013000088B000F071F9FFF71BFAFFF7C5F8FFF797 +:101310009DF8FFF7CDFFFFF745FBFFF7D9FA40F245 +:101320008804C2F20004FF26204680214FF4947204 +:10133000B4230096FFF788FC41F20835C2F200059D +:10134000284680214FF49472B4230096FFF77CFC6A +:101350002046FFF7A3FCFF20FFF7C0FB2846FFF75E +:101360009DFCFF20FFF7BAFB43F21E10C0F6000001 +:10137000009017200321FA227A230196FFF76AFDD5 +:1013800020462946FFF75AFA01200126FFF790FA76 +:101390004FF4FA50FFF7F4F9FFF79AFA2046FFF7F7 +:1013A0007DFCFF20FFF79AFB002729A20A200021DD +:1013B00018230097FFF7B4FD2AA20A203221102338 +:1013C0000097FFF7ADFD2EA20A201D2110230097E4 +:1013D000FFF7A6FD2846FFF761FCFF20FFF77EFB25 +:1013E00046F26C40C0F22E00069045F22070C7F223 +:1013F0006F20059046F66540C6F66C70049043F683 +:101400003E60C4F62000039003AA0A204721182357 +:101410000097FFF785FD0A2067214FF48F72742330 +:1014200000970196FFF7D2FB20462946FFF706FA00 +:101430000120FFF73DFA40F20004C2F200046425E7 +:10144000FFF754FF20786843FFF79AF9F8E700BFE9 +:10145000322E3920457061706572204D6F64756C55 +:1014600065000000776974682032393620782031B1 +:101470003238207265736F6C7574696F6E0000008E +:1014800044657369676E65642042792057654163DE +:10149000742053747564696F0000000070B51446C1 +:1014A0000D460646FEF788FF29462246FEF726FF30 +:1014B00001463046FEF788FF3046FEF76DFF70BDEF +:1014C00080B5FEF793FF80BD0021C0F803100160D6 +:1014D0000121C17170470000026801F0010122F092 +:1014E000400242EA8111016070470000C16070470C +:1014F0008068084018BF012070470000C26922F4CC +:101500000062C2610A78032A27D8DFE802F00206E7 +:10151000121A026822F400420EE0026822F400422D +:101520000260026822F480420260026842F4806233 +:1015300012E0026842F400420260026822F4804233 +:1015400006E0026842F400420260026842F480420F +:101550000260026822F480620260CA79036802F0C5 +:10156000010223F4007343EA422202604A78012A0E +:1015700006D1CA79012A03D1026842F4807202E0DE +:10158000026822F4807202604A78036862F3820380 +:1015900003608A784368072A23F4807388BF03F5C1 +:1015A000807343608A78036862F3C5030360CA7876 +:1015B000036802F0010223F0800343EAC2120260D2 +:1015C0000A79036802F0010223F4006343EAC222AD +:1015D00002604A79036862F3410303608979026813 +:1015E00061F300020260704780B5FFF775F80120D3 +:1015F0000121FEF7BFFF00BFFFF716F80028FBD060 +:1016000002203B210122FFF737F80020FEF7FEFF02 +:1016100002200121FEF7AEFF1920FEF7E9FF0128A5 +:10162000FAD10020FEF770FF0420FEF789FF0420A6 +:10163000FEF778FF0120FEF791FF0220FFF76EF81A +:10164000FFF776F80228FBD10020FEF787FF00F0B5 +:1016500001F880BDB0B541F2040441F20025C4F2A6 +:101660000204C0F27A05FFF763F802280BD090BBA2 +:10167000206D80052FD5E06A800144BF46F6004505 +:10168000C0F2DC2527E0206821682268C1F383418D +:10169000C2F3417213010133002A1A4608BF022225 +:1016A0000F2908BF1A46C00302EB010006D440F61A +:1016B0000011C0F23D0100FB01F50CE02168890337 +:1016C00001D4454307E0216DC1F301310231B5FB7F +:1016D000F1F101FB00F540F20400C2F200000560E8 +:1016E000216804A2C1F30311515C026822FA01F1DE +:1016F0000160B0BD00000000000000000102030412 +:10170000060708094EF21001CEF200010A6804280B +:1017100022F0040208BF04320A607047F1EE100A9A +:101720004FF6FF71C0F2C03120EA010040F0407076 +:10173000E1EE100A70470000000000000000002FDA +:10174000000000000700070000147F147F1400242D +:101750002A7F2A120062640813230036495522505A +:1017600000000503000000001C224100000041228F +:101770001C000014083E08140008083E0808000079 +:1017800000A0600000080808080800006060000071 +:10179000002010080402003E5149453E0000427FEF +:1017A0004000004261514946002141454B3100183B +:1017B00014127F10002745454539003C4A494930FD +:1017C00000017109050300364949493600064949B7 +:1017D000291E0000363600000000563600000008C2 +:1017E000142241000014141414140000412214089F +:1017F00000020151090600324959513E007C121184 +:10180000127C007F49494936003E41414122007F18 +:101810004141221C007F49494941007F09090901D2 +:10182000003E4149497A007F0808087F0000417F57 +:101830004100002040413F01007F08142241007F09 +:1018400040404040007F020C027F007F0408107F70 +:10185000003E4141413E007F09090906003E4151D9 +:10186000215E007F09192946004649494931000196 +:10187000017F0101003F4040403F001F2040201FEA +:10188000003F4038403F00631408146300070870AD +:10189000080700615149454300007F414100005560 +:1018A0002A552A55000041417F000004020102042C +:1018B0000040404040400000010204000020545419 +:1018C0005478007F48444438003844444420003869 +:1018D0004444487F00385454541800087E090102DB +:1018E0000018A4A4A47C007F080404780000447DB0 +:1018F0004000004080847D00007F102844000000EC +:10190000417F4000007C04180478007C08040478BF +:1019100000384444443800FC2424241800182424AB +:1019200018FC007C080404080048545454200004A7 +:101930003F444020003C4040207C001C2040201CB4 +:10194000003C4030403C004428102844001CA0A02B +:10195000A07C004464544C44141414141414000067 +:10196000000000000000000000000000FC0000007B +:10197000000002000000000C020C02000000000049 +:10198000000090D0BCD0BC900003000300001824DD +:10199000FE448C000302070201001824D8B04C80DA +:1019A000000300010201C038E438E0000102020136 +:1019B0000202080600000000000000000000000015 +:1019C00000F80402000000010204000204F8000014 +:1019D0000004020100009060F86090000000010027 +:1019E00000002020FC20200000000100000000007A +:1019F0000000000008060000000020202020200039 +:101A000000000000000000000000000000020000D4 +:101A100000000080601C0200040300000000F804C5 +:101A20000404F8000102020201000008FC000000AA +:101A3000000203020000188444241800030202027A +:101A4000020008042424D80001020202010040B070 +:101A500088FC80000000000302003C242424C40011 +:101A6000010202020100F824242CC000010202023B +:101A700001000C04E41C0400000003000000D82452 +:101A80002424D80001020202010038444444F80032 +:101A9000000302020100000010000000000002002C +:101AA00000000000200000000000060000000020F0 +:101AB0005088040200000000010290909090900075 +:101AC0000000000000000002048850200002010015 +:101AD00000001804C4241800000002000000F804EC +:101AE000E494F80001020202020000E09CF0800091 +:101AF00002030000030204FC2424D80002030202B3 +:101B00000100F80404040C0001020202010004FCBC +:101B10000404F80002030202010004FC24740C0017 +:101B200002030202030004FC24740C0002030200FE +:101B30000000F0080444CC4000010202010004FC53 +:101B40002020FC040203000003020404FC0404003F +:101B5000020203020200000404FC0404060404035D +:101B6000000004FC24D00C0402030200030204FC65 +:101B700004000000020302020203FC3CC03CFC0023 +:101B800003000300030004FC30C4FC040203020051 +:101B90000300F8040404F80001020202010004FC3E +:101BA00024241800020302000000F8848404F800D2 +:101BB00001020207050004FC2464980002030200ED +:101BC0000302182424448C000302020201000C04C6 +:101BD000FC040C0000020302000004FC0000FC04F2 +:101BE000000102020100047C80E01C0400000300EC +:101BF00000001CE03CE01C00000300030000049C0B +:101C0000609C0400020300030200041CE01C0400AA +:101C10000002030200000C84641C040002030202A0 +:101C200003000000FE020200000007040400000E92 +:101C300030C00000000000010200000202FE0000AF +:101C4000000404070000000402040000000000007B +:101C50000000000000000000080808080808000054 +:101C6000020000000000000000000040A0A0C00032 +:101C700000010202030204FC2020C0000003020253 +:101C8000010000C02020600000010202020000C02C +:101C90002024FC0000010202030200C0A0A0C0003A +:101CA0000001020202000020F824240400020302C2 +:101CB00002000040A0A0602000070A0A0A0404FCF9 +:101CC0002020C0000203020003020020E400000004 +:101CD000000203020000000020E4000008080807DA +:101CE000000004FC80E02020020302000302040440 +:101CF000FC000000020203020200E020E020C0001D +:101D000003000300030020E02020C00002030200C3 +:101D1000030200C02020C00000010202010020E0F8 +:101D20002020C000080F0A02010000C02020E000AF +:101D30000001020A0F0820E04020200002030200F8 +:101D400000000060A0A020000002020203000020AA +:101D5000F820000000000102020020E00020E00066 +:101D600000010202030220E0208060200000030145 +:101D700000006080E080600000030003000020603D +:101D80008060200002030003020020E02080602029 +:101D90000808070100000020A060200000020302E4 +:101DA0000200000020DE0200000000070400000026 +:101DB00000FF00000000000F00000002DE20000015 +:101DC00000040700000002010204040200000000F9 +:101DD0000000000000000000000000000000000003 +:101DE0000000000000F80000000000000033300098 +:101DF000000000100C06100C06000000000000009F +:101E0000000040C07840C0784000043F04043F0414 +:101E10000400007088FC08300000001820FF211E1C +:101E20000000F008F000E018000000211C031E2153 +:101E30001E0000F00888700000001E2123241927CE +:101E4000211010160E00000000000000000000002D +:101E50000000000000E01804020000000007182045 +:101E6000400000020418E0000000004020180700B5 +:101E70000000404080F0804040000202010F01025B +:101E80000200000000F0000000000101011F01013C +:101E90000100000000000000000080B070000000A1 +:101EA000000000000000000000000001010101012D +:101EB00001010000000000000000003030000000C0 +:101EC0000000000000008060180400601806010097 +:101ED000000000E010080810E000000F10202010A3 +:101EE0000F00001010F8000000000020203F20200C +:101EF00000000070080808887000003028242221A3 +:101F00003000003008888848300000182020201158 +:101F10000E000000C02010F8000000070424243F39 +:101F2000240000F8088888080800001921202011E2 +:101F30000E0000E0108888180000000F112020110A +:101F40000E0000380808C83808000000003F0000F4 +:101F500000000070880808887000001C22212122DF +:101F60001C0000E010080810E000000031222211DF +:101F70000F00000000C0C000000000000030300072 +:101F800000000000008000000000000080600000F1 +:101F9000000000008040201008000001020408102A +:101FA0002000404040404040400004040404040439 +:101FB00004000008102040800000002010080402E7 +:101FC0000100007048080808F000000000303601E9 +:101FD0000000C030C828E810E000071827242314A8 +:101FE0000B000000C038E0000000203C2302022764 +:101FF000382008F8888888700000203F20202011B1 +:102000000E00C030080808083800071820202010EB +:10201000080008F808080810E000203F20202010E1 +:102020000F0008F88888E8081000203F20202320AF +:10203000180008F88888E8081000203F20000300F6 +:102040000000C03008080838000007182020221EB1 +:10205000020008F808000008F808203F21010121CB +:102060003F20000808F8080800000020203F20203A +:10207000000000000808F8080800C08080807F0089 +:10208000000008F888C028180800203F20012638E2 +:10209000200008F8080000000000203F2020202039 +:1020A000300008F8F800F8F80800203F003F003F33 +:1020B000200008F830C00008F808203F200007186A +:1020C0003F00E01008080810E0000F10202020104A +:1020D0000F0008F808080808F000203F210101015E +:1020E0000000E01008080810E0000F182424385001 +:1020F0004F0008F8888888887000203F2000030C73 +:10210000302000708808080838000038202121227B +:102110001C00180808F8080818000000203F2000DC +:10212000000008F808000008F808001F2020202000 +:102130001F000878880000C83808000007380E0122 +:102140000000F80800F80008F800033C0700073C0E +:102150000300081868808068180820302C03032CBE +:1021600030200838C800C83808000000203F200090 +:10217000000010080808C838080020382621202050 +:102180001800000000FE020202000000007F404034 +:102190004000000C30C000000000000000010638C4 +:1021A000C00000020202FE000000004040407F002C +:1021B0000000000004020202040000000000000011 +:1021C000000000000000000000008080808080800F +:1021D00080800002020400000000000000000000F7 +:1021E000000000008080808000000019242222224C +:1021F0003F2008F8008080000000003F11202011DF +:102200000E000000008080800000000E11202020C1 +:102210001100000000808088F800000E11202010BE +:102220003F200000808080800000001F22222222A8 +:102230001300008080F0888888180020203F20202C +:1022400000000000808080808000006B9494949354 +:10225000600008F8008080800000203F21000020FE +:102260003F2000809898000000000020203F2020A0 +:102270000000000000809898000000C08080807FEF +:10228000000008F8000080808000203F24022D30EC +:102290002000000808F8000000000020203F202057 +:1022A00000008080808080808000203F20003F20D0 +:1022B000003F8080008080800000203F21000020BF +:1022C0003F200000808080800000001F2020202010 +:1022D0001F00808000808000000080FFA12020116E +:1022E0000E000000008080808000000E112020A0E1 +:1022F000FF80808080008080800020203F2120009F +:102300000100000080808080800000332424242489 +:102310001900008080E0808000000000001F202065 +:1023200000008080000000808000001F202020101E +:102330003F20808080000080808000010E300806F1 +:10234000010080800080008080800F300C030C3002 +:102350000F0000808000808080000020312E0E3130 +:102360002000808080000080808080818E70180630 +:10237000010000808080808080000021302C22219C +:10238000300000000000807C020200000000003FDE +:10239000404000000000FF00000000000000FF00BF +:1023A00000000002027C800000000040403F00006E +:1023B0000000000601010202040400000000000009 +:1023C000000000000000000000000000000000000D +:1023D00000000000000000000000000000000000FD +:1023E0000000000000000000000000F0F0F000001D +:1023F00000000000000000017F010000000000005C +:102400000000001C1C1C0000000000008060301C4C +:102410008C60301C0C000000000000000000000078 +:1024200000000000000000000000000000000000AC +:1024300000E00000000000E000000086E69F8686C5 +:102440008686E69F860000011F01010101011F0130 +:102450000100000080C06020F820E0C00000000003 +:1024600003070C18FF70E18100000000070F101037 +:102470007F100F0700008060206080000000E020D7 +:1024800000000F3020309F70DC371030C00000009B +:10249000100E03000718101807000000C02020E0ED +:1024A000C0000000000080E01F38E88703C43C043F +:1024B0000000070F1810100B070D10100800008007 +:1024C0008C4C3800000000000000000000000000FC +:1024D00000000000000000000000000000000000FC +:1024E000000000000000000080E030080400000050 +:1024F000000000FEFF0100000000000000000000DE +:10250000030F1820400000040830E08000000000A5 +:1025100000000000000001FFFE000000000000407D +:1025200020180F0300000000000000000000000061 +:10253000C00000000000004266663C18FF183C66C0 +:1025400066420000000000000300000000000000E0 +:1025500000000000800000000000001010101010AB +:10256000FF10101010100000000000000300000019 +:10257000000000000000000000000000000000005B +:102580000000000000000000000000808C4C3800BB +:10259000000000000000000000000000000000003B +:1025A000000000101010101010101010100000008B +:1025B000000000000000000000000000000000001B +:1025C000000000000000000000000000000000000B +:1025D000000000001C1C1C000000000000000000A7 +:1025E000000000000000E0380C00000000008070D7 +:1025F0001C03000000000060380E01000000000015 +:102600000000000080C060202060C080000000FE4C +:10261000FF010000000001FFFE000001070E18107E +:1026200010180E0701000000808080C0E00000004C +:1026300000000000000000FFFF000000000000009C +:102640001010101F1F1010100000008040202020CC +:102650002060C080000000030300804020381F0776 +:102660000000001C1A1918181818181F0000008004 +:10267000C020202060C08000000000030300101074 +:10268000182FE780000000070F10101010180F0718 +:102690000000000000000000C0E0F000000000C0EA +:1026A000B088868180FFFF8080000000000000105D +:1026B000101F1F1010000000E0606060606060602C +:1026C000000000003F1008080818F0E000000007B4 +:1026D0000B101010101C0F030000000080C04020E1 +:1026E0002020E0C0000000FCFF211008080818F0BE +:1026F000E0000001070C18101010080F0300000084 +:10270000C0E06060606060E0600000000300000006 +:10271000E0180700000000000000001F1F0000007C +:1027200000000080C0602020202060C08000008762 +:10273000EF2C1818303068CF830000070F081010F6 +:102740001010180F07000000C0C020202020C080FB +:102750000000001F3F604040402010FFFE000000CE +:102760000C1C101010080F030000000000000000F7 +:1027700000000000000000000000000E0E0E00002F +:10278000000000000000001C1C1C000000000000F5 +:102790000000000000000000000000000000000C2D +:1027A0000C0000000000000000000058380000008D +:1027B0000000000000000000008040201000000029 +:1027C000102844820100000000000000000000000A +:1027D00001020408100000000000000000000000DA +:1027E00000000084848484848484848484000000C1 +:1027F00000000000000000000000000010204080E9 +:1028000000000000000000000000000001824428D9 +:10281000100000001008040201000000000000C0C9 +:1028200020201010101030E0C0000003030000F062 +:1028300010080C070300000000001C1C1C00000016 +:102840000000000000C0406020202040C00000FCCC +:10285000FF01F00E03C1FE03807F0001070E081187 +:102860001110110904020000000080E0E0000000E7 +:1028700000000000807C4340477FF8800000101873 +:102880001F1000000000131F1C1020E0E02020207B +:102890002060C080000000FFFF10101010182FE70C +:1028A0008000101F1F1010101010180F07000000DC +:1028B00080C0402020202060E00000FCFF010000DC +:1028C0000000000001000001070E1810101008049D +:1028D000030020E0E02020202040C080000000FF16 +:1028E000FF000000000001FFFE00101F1F1010106D +:1028F00018080E07010020E0E020202020202060A2 +:10290000800000FFFF101010107C00000000101F5E +:102910001F10101010101018060020E0E0202020DA +:1029200020206060800000FFFF101010107C00006D +:102930000100101F1F100000000000000000000038 +:1029400080C06020202040E0000000FCFF0100006B +:102950004040C0C140400001070E181010100F0F7A +:10296000000020E0E0200000000020E0E02000FF68 +:10297000FF101010101010FFFF00101F1F1000009C +:102980000000101F1F100000202020E0E020202069 +:1029900000000000000000FFFF0000000000000039 +:1029A0001010101F1F101010000000000000202049 +:1029B00020E0E020202000000000000000FFFF00D9 +:1029C00000000060E0808080C07F3F00000020E0C9 +:1029D000E020000020A06020200000FFFF30187CD5 +:1029E000E3C000000000101F1F10000001131F1C97 +:1029F000181020E0E020000000000000000000FFB0 +:102A0000FF000000000000000000101F1F10101049 +:102A100010101018060020E0E0E000000000E0E0E8 +:102A2000E02000FF013FFEC0E01E01FFFF00101F7D +:102A30001000031F0300101F1F1020E0E0C0000063 +:102A400000000020E02000FF0003071C78E0800069 +:102A5000FF00101F100000000000030F1F00000007 +:102A600080C060202060C080000000FEFF010000E8 +:102A7000000000FFFE000001070E181010180C07E0 +:102A8000010020E0E0202020202060C0800000FF26 +:102A9000FF2020202020301F0F00101F1F100000DB +:102AA000000000000000000080C060202060C080A6 +:102AB000000000FEFF010000000000FFFE0000011A +:102AC000070E1111133C7C67210020E0E02020203C +:102AD000202060C0800000FFFF101030F0D0080FF1 +:102AE0000700101F1F10000000030F1C10100080B3 +:102AF000C060202020204040E00000070F0C181884 +:102B0000303060E08100001F0C0810101010180F0A +:102B100007008060202020E0E0202020608001006D +:102B2000000000FFFF000000000100000000101F77 +:102B30001F100000000020E0E02000000000002046 +:102B4000E02000FFFF00000000000000FF00000781 +:102B50000F1810101010100807002060E0E020008F +:102B6000000020E060200000077FF88000807C03E8 +:102B7000000000000000071F1C070000000020E00C +:102B8000E02000E0E0200020E0200007FFF8E01F48 +:102B9000FFFCE01F00000000031F0300011F0300F3 +:102BA0000000002060E0A0000020E06020000000A5 +:102BB00000038F7CF8C6010000000010181E1300EF +:102BC00001171F1810002060E0E02000000020E046 +:102BD0006020000001073EF8E01807000000000038 +:102BE0000010101F1F101000000000806020202027 +:102BF00020A0E0E0200000000000C0F03E0F030035 +:102C0000000000101C1F1710101010180600000004 +:102C1000000000FC0404040404000000000000FFA5 +:102C200000000000000000000000007F4040404025 +:102C30004000000010E00000000000000000000064 +:102C40000000031C60800000000000000000000085 +:102C500000030C70800000000404040404FC000065 +:102C6000000000000000000000FF00000000000065 +:102C700040404040407F0000000000000010080C71 +:102C8000040C08100000000000000000000000001C :102C90000000000000000000000000000000000034 :102CA0000000000000000000000000000000000024 -:102CB000000000000000000098D844642424FCF8C0 -:102CC0000000000F1F18101010081F1F1018002000 -:102CD000E0F000000000000000000000FFFF180806 -:102CE00004040CF8F00000001F0F18101010180F4B -:102CF000030000000000000000000000000000E0F1 -:102D0000F8180404043C3800000000030F0C1010F5 -:102D10001010080600000000000000000020E0F095 -:102D2000000000E0F81C04040408FFFF000000039A -:102D30000F18101010081F0F0800000000000000FE -:102D40000000000000000000E0F8484444444C78D3 -:102D500070000000030F0C18101010080400000091 -:102D6000000080C0602020E0C00000040404FFFFD9 -:102D7000040404040000000010101F1F10101000B5 -:102D80000000000000000000000000000000000043 -:102D900070F88C04048CF874040C007076CF8D8D60 -:102DA0008D89C87870000020E0F00000000000006D -:102DB00000000000FFFF08040404FCF800000010FD -:102DC0001F1F100000101F1F1000000000000060F7 -:102DD0006000000000000000040404FCFC0000008F -:102DE000000000001010101F1F1010100000000045 -:102DF000000000000060600000000000000004040B -:102E000004FCFC0000000000C0C08080C07F3F00C8 -:102E100000000020E0F000000000000000000000C2 -:102E2000FFFF80C0F41C0404000000101F1F1100ED -:102E3000031F1C1010000000202020E0F000000004 -:102E400000000000000000FFFF0000000000000084 -:102E50001010101F1F1010100000000000000000D4 -:102E600000000000000004FCFC0804FCFC0804FC5A -:102E7000FC00101F1F10001F1F10001F1F1000005C -:102E8000000000000000000000000004FCFC080836 -:102E90000404FCF8000000101F1F100000101F1F8A -:102EA000100000000000000000000000000000E032 -:102EB000F0180C04040C18F0E00000030F0C1010C4 -:102EC00010100C0F030000000000000000000000C4 -:102ED00000000004FCFC080404040CF8F00000806E -:102EE000FFFF889010101C0F03000000000000007E -:102EF00000000000000000E0F81C04040408F8FCD6 -:102F0000000000030F1810109088FFFF80000000E1 -:102F100000000000000000000000040404FCFC109D -:102F20000804040C0C001010101F1F1010100000DB -:102F30000000000000000000000000000000000091 -:102F40003078CCC48484840C1C0000001E1810103F -:102F50001011190F06000000000000C00000000062 -:102F6000000000040404FFFF04040400000000004B -:102F700000000F1F1010100C0000000000000000E7 -:102F80000000000000000004FCFE00000004FCFE45 -:102F9000000000000F1F181010081F0F080000008D -:102FA0000000000000000000000000040C3CFCC415 -:102FB0000000C43C0C0400000000010F1E0E0100C4 -:102FC0000000000000000000000000000000043CC1 -:102FD000FCC400E47CFC84807C040000071F070024 -:102FE00000071F07000000000000000000000000B4 -:102FF00000000004041C7CE4C0341C040400001025 -:10300000101C1601131F1C18100000000000000007 -:1030100000000000000000040C3CFCC400C43C04A0 -:1030200004000000C080C1370E0100000000000055 -:103030000000000000000000000000001C0404C4A8 -:10304000F47C1C0400000000101C1F171110101845 -:103050000E0000000000000000F80C04000000005A -:103060000000001028EF0000000000000000000039 -:10307000003F60400000000000000000FF00000072 -:103080000000000000000000FF0000000000000041 -:1030900000000000FF00000000000000040CF80029 -:1030A00000000000000000000000EF2810000000F9 -:1030B0000000000040603F00000000000000001819 -:1030C0000602020408102020300800000000000062 -:1030D00000000000000000000000000000000000F0 -:1030E00000000000000000000000000000000000E0 -:1030F00000000000000000000000000000000000D0 -:1031000000000000000000000000000000000000BF +:102CB0000000000000008080808080808080808014 +:102CC00080800000000404080800000000000000EC +:102CD00000000000000000000000000000000000F4 +:102CE00000000000000000000000000000000000E4 +:102CF0000000000098D844642424FCF80000000F71 +:102D00001F18101010081F1F10180020E0F00000FE +:102D10000000000000000000FFFF180804040CF889 +:102D2000F00000001F0F18101010180F0300000013 +:102D30000000000000000000000000E0F81804049B +:102D4000043C3800000000030F0C1010101008069F +:102D500000000000000000000020E0F0000000E0A3 +:102D6000F81C04040408FFFF000000030F181010F3 +:102D700010081F0F08000000000000000000000005 +:102D800000000000E0F8484444444C787000000023 +:102D9000030F0C181010100804000000000080C081 +:102DA000602020E0C00000040404FFFF04040404C9 +:102DB0000000000010101F1F101010000000000085 +:102DC00000000000000000000000000070F88C040B +:102DD000048CF874040C007076CF8D8D8D89C878C2 +:102DE00070000020E0F00000000000000000000083 +:102DF000FFFF08040404FCF8000000101F1F10006F +:102E000000101F1F100000000000006060000000A4 +:102E100000000000040404FCFC00000000000000AE +:102E20001010101F1F101010000000000000000004 +:102E300000606000000000000000040404FCFC00CE +:102E400000000000C0C08080C07F3F000000002064 +:102E5000E0F000000000000000000000FFFF80C064 +:102E6000F41C0404000000101F1F1100031F1C109D +:102E700010000000202020E0F00000000000000012 +:102E8000000000FFFF000000000000001010101FF5 +:102E90001F101010000000000000000000000000E3 +:102EA000000004FCFC0804FCFC0804FCFC00101FEF +:102EB0001F10001F1F10001F1F1000000000000047 +:102EC0000000000000000004FCFC08080404FCF8FA +:102ED000000000101F1F100000101F1F1000000036 +:102EE0000000000000000000000000E0F0180C04EA +:102EF000040C18F0E00000030F0C101010100C0F61 +:102F000003000000000000000000000000000004BA +:102F1000FCFC080404040CF8F0000080FFFF88901B +:102F200010101C0F03000000000000000000000053 +:102F3000000000E0F81C04040408F8FC0000000392 +:102F40000F1810109088FFFF8000000000000000A4 +:102F5000000000000000040404FCFC100804040C41 +:102F60000C001010101F1F101010000000000000B7 +:102F70000000000000000000000000003078CCC419 +:102F80008484840C1C0000001E1810101011190FEE +:102F900006000000000000C0000000000000000467 +:102FA0000404FFFF040404000000000000000F1FE1 +:102FB0001010100C000000000000000000000000D5 +:102FC00000000004FCFE00000004FCFE0000000005 +:102FD0000F1F181010081F0F08000000000000004D +:102FE00000000000000000040C3CFCC40000C43CD5 +:102FF0000C0400000000010F1E0E01000000000084 +:1030000000000000000000000000043CFCC400E4DC +:103010007CFC84807C040000071F070000071F075A +:10302000000000000000000000000000000000049C +:10303000041C7CE4C0341C0404000010101C1601A5 +:10304000131F1C181000000000000000000000000A +:10305000000000040C3CFCC400C43C04040000005C +:10306000C080C1370E010000000000000000000019 +:1030700000000000000000001C0404C4F47C1C04D8 +:1030800000000000101C1F17111010180E00000087 +:103090000000000000F80C04000000000000001018 +:1030A00028EF00000000000000000000003F60402A +:1030B0000000000000000000FF0000000000000011 +:1030C00000000000FF000000000000000000000001 +:1030D000FF00000000000000040CF80000000000E9 +:1030E000000000000000EF281000000000000000B9 +:1030F00040603F00000000000000001806020204CB +:10310000081020203008000000000000000000002F :1031100000000000000000000000000000000000AF :10312000000000000000000000000000000000009F :10313000000000000000000000000000000000008F @@ -871,76 +871,76 @@ :10365000000000000000000000000000000000006A :10366000000000000000000000000000000000005A :10367000000000000000000000000000000000004A -:10368000000000000000000000008080808080803A -:103690000000000000C0E0E0E0E0C0C0000000006A +:10368000000000000000000000000000000000003A +:10369000000000000000000000000000000000002A :1036A000000000000000000000000000000000001A :1036B000000000000000000000000000000000000A -:1036C0000000000000000000000000007EFEFEFE82 -:1036D000FEFEFE00000080FEFEFEFEFEFEFEFC0082 -:1036E000000000FCFEFEFEFEFE3E000000000000AA -:1036F00000008080808080800000000000000000CA -:103700000000000080F8FEFEFEFEFEFEFEFEF080E1 -:103710000000000000000000000000000080808029 -:10372000808080000000000000F8F8F8F8F8F8F851 -:103730000000000000000000000000000000000089 -:10374000E0F0F8FCFCFEFE7E7E3E3E7E7EFEFCFC53 -:10375000783000000000F8F8F8F8F8F8F8000000F9 -:103760000000000000000000000000000000000059 -:103770000000000000000000000000000000808049 -:1037800080808000FFFFFFFFFFFFFF000000030FAE -:103790001F1F1F1F0F0F000000000000000000800F -:1037A0008080808080800000000000000000000019 -:1037B0000000000000000000000000000000000009 -:1037C000000000000000003FFFFFFFFFFFFC00C003 -:1037D000FFFFFFFF7FFFFFFFFFFF8000FEFFFFFFF8 -:1037E000FFFF0F000000F0F8FEFEFFFF7F1F0F0F2E -:1037F0001FFFFFFFFEFCF8C000000000C0FCFFFF41 -:10380000FFFF7F071FFFFFFFFFFFF88000000000A2 -:10381000C0F0FCFEFFFFFF7F1F1F1F1F3F3F3F0E3B -:10382000041F1FFFFFFFFFFFFFFF1F1F1F1F0000E1 -:10383000000000000000000000001F7FFFFFFFFFEE -:10384000FFFCF8F8F0F0E0E0C1C08000001F1F1F8F -:10385000FFFFFFFFFFFFFF1F1F1F0F000000FFFF05 -:10386000FFFFFFFF00000000FFFFFFFFFFFFFF0063 -:103870000000C0F8FCFEFFFFFF7F1F1F1F3FFFFF80 -:10388000FFFFFFFFFF00000000FFFFFFFFFFFFFF44 -:10389000000000C0F8FCFEFFFFFF3F1F1F1F3FFF9F -:1038A000FFFFFEFCF8E00000000000000000000048 -:1038B0000000000000000000000000000000000008 -:1038C00000000FFFFFFFFFFFFCFFFFFFFF1F0001D6 -:1038D000FFFFFFFFFFFEFFFFFFFFFF070000001ECF -:1038E000FFFFFFFFFFFFDF1F1F1F1F1F1F9F9F1FE8 -:1038F0001F1F0000E0FEFFFFFFFFFFFFFCFCFCFDC1 -:10390000FFFFFFFFFFFFFCC00000FFFFFFFFFFFF07 -:10391000FF800000000000800000000000FFFFFFAB -:10392000FFFFFFFF0000000000000000000000009B -:103930000000000080C0C0800101030303070FFFE7 -:10394000FFFFFFFFFFFF70000000FFFFFFFFFFFF13 -:10395000FF00000000000000FFFFFFFFFFFF00006E -:103960000080FFFFFFFFFFFFFF000000FFFFFFFFE2 -:10397000FFFFFF8000000000FFFFFFFFFFFFFF00D1 -:10398000000000FFFFFFFFFFFFFF000000FFFFFF41 -:10399000FFFFFFFF8000000000FFFFFFFFFFFFFFB2 -:1039A0000000000000000000000000000000000017 -:1039B00000000000000000000000000000073F3F82 -:1039C0003F3F3F3F3F3F0F000000003F3F3F3F3F33 -:1039D0003F3F3F3F01000000000001070F1F1F3F56 -:1039E0003F3F3E3E3E3E3F3F1F1F0E00303E3F3FAB -:1039F0003F3F3F1F01000000000000033F3F3F3FEB -:103A00003F3F3C000003070F1F3F3F3F3F3E3E3F0D -:103A10003F3F1F1E080000030F1F3F3F3F3F3F3E39 -:103A20003F3F1C18000000000000000000070F1FAF -:103A30001F3F3F3F3F3E3E3F3F3F3F1F1F0F07039C -:103A400000000000070F1F3F3F3F3F3E3F3F3F1C2E -:103A500000000F1F3F3F3F3F3F3E3F1F1F3F3F3F85 -:103A60003F3F3F00000000070F1F3F3F3F3F3F3EEB -:103A70003F1F1F3F3F3F3F3F3F000000003F3F3F92 -:103A80003F3F3F3F0000000003070F1F3F3F3F3F06 -:103A90003E3E3F3F3F1F1F0F03000000000000009D -:103AA0000000000000000000000000000000000016 -:103AB0000000000000000000000000000000000006 -:103AC00000000000000000000000000000000000F6 -:103AD00000000000000000000000000000000000E6 +:1036C00000000000000080808080808000000000FA +:1036D00000C0E0E0E0E0C0C000000000000000002A +:1036E00000000000000000000000000000000000DA +:1036F00000000000000000000000000000000000CA +:1037000000000000000000007EFEFEFEFEFEFE0047 +:10371000000080FEFEFEFEFEFEFEFC00000000FC3F +:10372000FEFEFEFEFE3E0000000000000000808065 +:103730008080808000000000000000000000000089 +:1037400080F8FEFEFEFEFEFEFEFEF08000000000A1 +:103750000000000000000000008080808080800069 +:103760000000000000F8F8F8F8F8F8F80000000091 +:10377000000000000000000000000000E0F0F8FC85 +:10378000FCFEFE7E7E3E3E7E7EFEFCFC783000002F +:103790000000F8F8F8F8F8F8F80000000000000061 +:1037A0000000000000000000000000000000000019 +:1037B0000000000000000000000080808080800089 +:1037C000FFFFFFFFFFFFFF000000030F1F1F1F1F72 +:1037D0000F0F00000000000000000080808080804B +:1037E00080800000000000000000000000000000D9 +:1037F00000000000000000000000000000000000C9 +:103800000000003FFFFFFFFFFFFC00C0FFFFFFFFC6 +:103810007FFFFFFFFFFF8000FEFFFFFFFFFF0F00A6 +:103820000000F0F8FEFEFFFF7F1F0F0F1FFFFFFFDE +:10383000FEFCF8C000000000C0FCFFFFFFFF7F0798 +:103840001FFFFFFFFFFFF88000000000C0F0FCFE3C +:10385000FFFFFF7F1F1F1F1F3F3F3F0E041F1FFF64 +:10386000FFFFFFFFFFFF1F1F1F1F000000000000E2 +:103870000000000000001F7FFFFFFFFFFFFCF8F8C3 +:10388000F0F0E0E0C1C08000001F1F1FFFFFFFFF3E +:10389000FFFFFF1F1F1F0F000000FFFFFFFFFFFFC5 +:1038A00000000000FFFFFFFFFFFFFF000000C0F867 +:1038B000FCFEFFFFFF7F1F1F1F3FFFFFFFFFFFFFFC +:1038C000FF00000000FFFFFFFFFFFFFF000000C040 +:1038D000F8FCFEFFFFFF3F1F1F1F3FFFFFFFFEFC27 +:1038E000F8E0000000000000000000000000000000 +:1038F00000000000000000000000000000000FFFBA +:10390000FFFFFFFFFCFFFFFFFF1F0001FFFFFFFFA7 +:10391000FFFEFFFFFFFFFF070000001EFFFFFFFF8E +:10392000FFFFDF1F1F1F1F1F1F9F9F1F1F1F000065 +:10393000E0FEFFFFFFFFFFFFFCFCFCFDFFFFFFFFC2 +:10394000FFFFFCC00000FFFFFFFFFFFFFF80000044 +:10395000000000800000000000FFFFFFFFFFFFFFEE +:103960000000000000000000000000000000000057 +:1039700080C0C0800101030303070FFFFFFFFFFFAB +:10398000FFFF70000000FFFFFFFFFFFFFF000000D0 +:1039900000000000FFFFFFFFFFFF00000080FFFFAF +:1039A000FFFFFFFFFF000000FFFFFFFFFFFFFF80A3 +:1039B00000000000FFFFFFFFFFFFFF00000000FF0F +:1039C000FFFFFFFFFFFF000000FFFFFFFFFFFFFF04 +:1039D0008000000000FFFFFFFFFFFFFF000000006E +:1039E00000000000000000000000000000000000D7 +:1039F000000000000000000000073F3F3F3F3F3F46 +:103A00003F3F0F000000003F3F3F3F3F3F3F3F3FF2 +:103A100001000000000001070F1F1F3F3F3F3E3E17 +:103A20003E3E3F3F1F1F0E00303E3F3F3F3F3F1F88 +:103A300001000000000000033F3F3F3F3F3F3C00CC +:103A40000003070F1F3F3F3F3F3E3E3F3F3F1F1ECC +:103A5000080000030F1F3F3F3F3F3F3E3F3F1C1802 +:103A6000000000000000000000070F1F1F3F3F3F45 +:103A70003F3E3E3F3F3F3F1F1F0F07030000000038 +:103A8000070F1F3F3F3F3F3E3F3F3F1C00000F1FC0 +:103A90003F3F3F3F3F3E3F1F1F3F3F3F3F3F3F00B6 +:103AA000000000070F1F3F3F3F3F3F3E3F1F1F3FAC +:103AB0003F3F3F3F3F000000003F3F3F3F3F3F3F12 +:103AC0000000000003070F1F3F3F3F3F3E3E3F3FC8 +:103AD0003F1F1F0F03000000000000000000000057 :103AE00000000000000000000000000000000000D6 :103AF00000000000000000000000000000000000C6 :103B000000000000000000000000000000000000B5 @@ -1031,8 +1031,12 @@ :104050000000000000000000000000000000000060 :104060000000000000000000000000000000000050 :104070000000000000000000000000000000000040 -:1040800000000000A8400008000000200800000018 -:10409000C0010008B040000808000020C025000052 -:1040A000DC010008000000000100000000127A009E +:104080000000000000000000000000000000000030 +:104090000000000000000000000000000000000020 +:1040A0000000000000000000000000000000000010 +:1040B0000000000000000000000000000000000000 +:1040C000E04000080000002008000000C0010008D7 +:1040D000E840000808000020802B0000DC010008F8 +:0840E0000100000000127A004B :040000050800018569 :00000001FF diff --git a/Example/EpaperModuleTest_AT32F403A/Src/main.c b/Example/EpaperModuleTest_AT32F403A/Src/main.c index 4c2efbd..9522aa1 100644 --- a/Example/EpaperModuleTest_AT32F403A/Src/main.c +++ b/Example/EpaperModuleTest_AT32F403A/Src/main.c @@ -61,9 +61,12 @@ int main(void) epd_paint_showPicture((EPD_H - 250) / 2, (EPD_W - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); epd_display(image_bw, image_red); + epd_enter_deepsleepmode(EPD_DEEPSLEEP_MODE1); delay_ms(8000); + epd_init(); + epd_paint_selectimage(image_bw); epd_paint_clear(EPD_COLOR_WHITE); #ifdef EPD_213 @@ -97,9 +100,12 @@ int main(void) epd_paint_showPicture((EPD_H - 250) / 2, (EPD_W - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); epd_displayBW(image_bw); + epd_enter_deepsleepmode(EPD_DEEPSLEEP_MODE1); delay_ms(5000); + epd_init_partial(); + epd_paint_selectimage(image_bw); epd_paint_clear(EPD_COLOR_WHITE); #ifdef EPD_213 @@ -112,15 +118,36 @@ int main(void) #endif epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); - sprintf((char *)&text, ">> Hello World."); - epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); - #if 0 epd_paint_showString(10,100,(uint8_t *)&"AT32F403ACGU7 Example",EPD_FONT_SIZE16x8,EPD_COLOR_BLACK); #else epd_paint_drawRectangle(10, 103, EPD_H - 10, 116, EPD_COLOR_BLACK, 1); #endif - epd_displayBW(image_bw); + + sprintf((char *)&text, ">> Partial Mode"); + epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + + epd_displayBW_partial(image_bw); + + delay_ms(1000); + + for (uint32_t i = 123; i < 8 * 123; i += 123) + { + sprintf((char *)&text, ">> Num=%d ", i); + epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + + epd_displayBW_partial(image_bw); + + delay_ms(100); + } + + sprintf((char *)&text, ">> Hello World."); + epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + epd_displayBW_partial(image_bw); + + delay_ms(1000); + + epd_update(); #endif epd_enter_deepsleepmode(EPD_DEEPSLEEP_MODE1); diff --git a/Example/EpaperModuleTest_CH32F103/Epaper/epaper.c b/Example/EpaperModuleTest_CH32F103/Epaper/epaper.c index 298225a..c73f513 100644 --- a/Example/EpaperModuleTest_CH32F103/Epaper/epaper.c +++ b/Example/EpaperModuleTest_CH32F103/Epaper/epaper.c @@ -22,6 +22,30 @@ EPD_PAINT EPD_Paint; +static uint8_t _hibernating = 1; + +static const unsigned char ut_partial[] = +{ + 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x40, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0A, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x0, 0x0, 0x0, +}; + void epd_delay(uint16_t ms) { delay(ms); @@ -141,13 +165,6 @@ void epd_write_data(uint8_t data) epd_cs_set(); } -void epd_read_data(uint8_t reg, uint8_t *data, uint8_t length) -{ - epd_cs_reset(); - - epd_cs_set(); -} - void _epd_write_data(uint8_t data) { @@ -176,12 +193,20 @@ uint8_t epd_wait_busy() } return 0; } -uint8_t epd_init(void) + +void epd_reset(void) { epd_res_reset(); epd_delay(50); epd_res_set(); epd_delay(50); + _hibernating = 0; +} + +uint8_t epd_init(void) +{ + if (_hibernating) + epd_reset(); if (epd_wait_busy()) return 1; @@ -231,10 +256,28 @@ uint8_t epd_init(void) return 0; } +uint8_t epd_init_partial(void) +{ + if (epd_init()) + return 1; + + epd_write_reg(0x32); + epd_cs_reset(); + for (int j = 0; j < sizeof(ut_partial); j++) + { + _epd_write_data(ut_partial[j]); + } + _epd_write_data_over(); + epd_cs_set(); + + return 0; +} + void epd_enter_deepsleepmode(uint8_t mode) { epd_write_reg(0x10); epd_write_data(mode); + _hibernating = 1; } void epd_init_internalTempSensor(void) @@ -246,34 +289,20 @@ void epd_init_internalTempSensor(void) epd_write_data(0x7F); epd_write_data(0xF0); } -uint8_t data[3]; -int32_t epd_get_internalTempSensor(void) -{ - - uint32_t temp; - - epd_read_data(0x1B, data, 3); - - temp = data[0]; - temp = temp << 4 | data[1] >> 4; - - if (temp & (1 << 11)) - { - temp = (((~temp) & 0xfff) + 1) * 10 / 16; - temp = -temp; - } - else - { - temp = temp * 10 / 16; - } - return temp; -} void epd_update(void) -{ + { epd_write_reg(0x22); // Display Update Control epd_write_data(0xF7); - // epd_write_data(0xFF); + epd_write_reg(0x20); // Activate Display Update Sequence + + epd_wait_busy(); +} + +void epd_update_partial(void) +{ + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xCC); epd_write_reg(0x20); // Activate Display Update Sequence epd_wait_busy(); @@ -295,26 +324,31 @@ void epd_setpos(uint16_t x, uint16_t y) epd_write_data(_y >> 8 & 0x01); } +void epd_writedata(uint8_t *Image1, uint32_t length) +{ + epd_cs_reset(); + for (uint32_t j = 0; j < length; j++) + { + _epd_write_data(Image1[j]); + } + _epd_write_data_over(); + epd_cs_set(); +} + void epd_display(uint8_t *Image1, uint8_t *Image2) { uint32_t Width, Height, i, j; uint32_t k = 0; Width = EPD_H; Height = EPD_W_BUFF_SIZE; + epd_setpos(0, 0); + epd_write_reg(0x24); - epd_cs_reset(); - for (j = 0; j < Height; j++) - { - for (i = 0; i < Width; i++) - { - _epd_write_data(Image1[k]); - k++; - } - } - _epd_write_data_over(); - epd_cs_set(); + epd_writedata(Image1, Width * Height); + epd_setpos(0, 0); + epd_write_reg(0x26); k = 0; epd_cs_reset(); @@ -328,50 +362,58 @@ void epd_display(uint8_t *Image1, uint8_t *Image2) } _epd_write_data_over(); epd_cs_set(); + epd_update(); } void epd_displayBW(uint8_t *Image) { - uint32_t Width, Height, i, j; - uint32_t k = 0; + uint32_t Width, Height; + Width = EPD_H; Height = EPD_W_BUFF_SIZE; + + epd_setpos(0, 0); + epd_write_reg(0x26); + epd_writedata(Image, Width * Height); + epd_setpos(0, 0); epd_write_reg(0x24); - epd_cs_reset(); - for (j = 0; j < Height; j++) - { - for (i = 0; i < Width; i++) - { - _epd_write_data(Image[k]); - k++; - } - } - _epd_write_data_over(); - epd_cs_set(); + epd_writedata(Image, Width * Height); + epd_update(); } +void epd_displayBW_partial(uint8_t *Image) +{ + uint32_t Width, Height; + + Width = EPD_H; + Height = EPD_W_BUFF_SIZE; + + epd_setpos(0, 0); + epd_write_reg(0x24); + epd_writedata(Image, Width * Height); + + epd_update_partial(); + + epd_setpos(0, 0); + epd_write_reg(0x26); + epd_writedata(Image, Width * Height); +} + void epd_displayRED(uint8_t *Image) { - uint32_t Width, Height, i, j; - uint32_t k = 0; + uint32_t Width, Height; + Width = EPD_H; Height = EPD_W_BUFF_SIZE; + epd_setpos(0, 0); + epd_write_reg(0x26); - epd_cs_reset(); - for (j = 0; j < Height; j++) - { - for (i = 0; i < Width; i++) - { - _epd_write_data(Image[k]); - k++; - } - } - _epd_write_data_over(); - epd_cs_set(); + epd_writedata(Image, Width * Height); + epd_update(); } diff --git a/Example/EpaperModuleTest_CH32F103/Epaper/epaper.h b/Example/EpaperModuleTest_CH32F103/Epaper/epaper.h index 373b271..8dbe8dd 100644 --- a/Example/EpaperModuleTest_CH32F103/Epaper/epaper.h +++ b/Example/EpaperModuleTest_CH32F103/Epaper/epaper.h @@ -62,12 +62,14 @@ extern "C" void epd_io_init(void); uint8_t epd_init(void); + uint8_t epd_init_partial(void); void epd_enter_deepsleepmode(uint8_t mode); void epd_init_internalTempSensor(void); - int32_t epd_get_internalTempSensor(void); void epd_update(void); + void epd_update_partial(void); void epd_display(uint8_t *Image1, uint8_t *Image2); void epd_displayBW(uint8_t *Image); + void epd_displayBW_partial(uint8_t *Image); void epd_displayRED(uint8_t *Image); void epd_paint_newimage(uint8_t *image, uint16_t Width, uint16_t Height, uint16_t Rotate, uint16_t Color); diff --git a/Example/EpaperModuleTest_CH32F103/MDK-ARM/EpaperModuleTest_CH32F103.uvoptx b/Example/EpaperModuleTest_CH32F103/MDK-ARM/EpaperModuleTest_CH32F103.uvoptx index 8925783..85f3921 100644 --- a/Example/EpaperModuleTest_CH32F103/MDK-ARM/EpaperModuleTest_CH32F103.uvoptx +++ b/Example/EpaperModuleTest_CH32F103/MDK-ARM/EpaperModuleTest_CH32F103.uvoptx @@ -183,7 +183,7 @@ App - 1 + 0 0 0 0 @@ -563,7 +563,7 @@ Epaper - 1 + 0 0 0 0 diff --git a/Example/EpaperModuleTest_CH32F103/MDK-ARM/Objects/EpaperModuleTest.axf b/Example/EpaperModuleTest_CH32F103/MDK-ARM/Objects/EpaperModuleTest.axf index 5a251e2c3bf564b23ac2e46a2688a286a57ec95c..2620563152aa5b99d28ba5bf372cc771c89ee996 100644 GIT binary patch delta 15889 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 delta 13796 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 ie0quU+-)h^m|r5Xc;z*SLSC> Hello World."); - epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); - #if 0 epd_paint_showString(10,100,(uint8_t *)&"CH32F103C8T6 Example",EPD_FONT_SIZE16x8,EPD_COLOR_BLACK); #else epd_paint_drawRectangle(10, 103, EPD_H - 10, 116, EPD_COLOR_BLACK, 1); #endif - epd_displayBW(image_bw); + + sprintf((char *)&text, ">> Partial Mode"); + epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + + epd_displayBW_partial(image_bw); + + delay(1000); + + for (uint32_t i = 123; i < 8 * 123; i += 123) + { + sprintf((char *)&text, ">> Num=%d ", i); + epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + + epd_displayBW_partial(image_bw); + + delay(100); + } + + sprintf((char *)&text, ">> Hello World."); + epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + epd_displayBW_partial(image_bw); + + delay(1000); + + epd_update(); #endif epd_enter_deepsleepmode(EPD_DEEPSLEEP_MODE1); diff --git a/Example/EpaperModuleTest_CH32V103/User/Epaper/epaper.c b/Example/EpaperModuleTest_CH32V103/User/Epaper/epaper.c index 298225a..c73f513 100644 --- a/Example/EpaperModuleTest_CH32V103/User/Epaper/epaper.c +++ b/Example/EpaperModuleTest_CH32V103/User/Epaper/epaper.c @@ -22,6 +22,30 @@ EPD_PAINT EPD_Paint; +static uint8_t _hibernating = 1; + +static const unsigned char ut_partial[] = +{ + 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x40, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0A, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x0, 0x0, 0x0, +}; + void epd_delay(uint16_t ms) { delay(ms); @@ -141,13 +165,6 @@ void epd_write_data(uint8_t data) epd_cs_set(); } -void epd_read_data(uint8_t reg, uint8_t *data, uint8_t length) -{ - epd_cs_reset(); - - epd_cs_set(); -} - void _epd_write_data(uint8_t data) { @@ -176,12 +193,20 @@ uint8_t epd_wait_busy() } return 0; } -uint8_t epd_init(void) + +void epd_reset(void) { epd_res_reset(); epd_delay(50); epd_res_set(); epd_delay(50); + _hibernating = 0; +} + +uint8_t epd_init(void) +{ + if (_hibernating) + epd_reset(); if (epd_wait_busy()) return 1; @@ -231,10 +256,28 @@ uint8_t epd_init(void) return 0; } +uint8_t epd_init_partial(void) +{ + if (epd_init()) + return 1; + + epd_write_reg(0x32); + epd_cs_reset(); + for (int j = 0; j < sizeof(ut_partial); j++) + { + _epd_write_data(ut_partial[j]); + } + _epd_write_data_over(); + epd_cs_set(); + + return 0; +} + void epd_enter_deepsleepmode(uint8_t mode) { epd_write_reg(0x10); epd_write_data(mode); + _hibernating = 1; } void epd_init_internalTempSensor(void) @@ -246,34 +289,20 @@ void epd_init_internalTempSensor(void) epd_write_data(0x7F); epd_write_data(0xF0); } -uint8_t data[3]; -int32_t epd_get_internalTempSensor(void) -{ - - uint32_t temp; - - epd_read_data(0x1B, data, 3); - - temp = data[0]; - temp = temp << 4 | data[1] >> 4; - - if (temp & (1 << 11)) - { - temp = (((~temp) & 0xfff) + 1) * 10 / 16; - temp = -temp; - } - else - { - temp = temp * 10 / 16; - } - return temp; -} void epd_update(void) -{ + { epd_write_reg(0x22); // Display Update Control epd_write_data(0xF7); - // epd_write_data(0xFF); + epd_write_reg(0x20); // Activate Display Update Sequence + + epd_wait_busy(); +} + +void epd_update_partial(void) +{ + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xCC); epd_write_reg(0x20); // Activate Display Update Sequence epd_wait_busy(); @@ -295,26 +324,31 @@ void epd_setpos(uint16_t x, uint16_t y) epd_write_data(_y >> 8 & 0x01); } +void epd_writedata(uint8_t *Image1, uint32_t length) +{ + epd_cs_reset(); + for (uint32_t j = 0; j < length; j++) + { + _epd_write_data(Image1[j]); + } + _epd_write_data_over(); + epd_cs_set(); +} + void epd_display(uint8_t *Image1, uint8_t *Image2) { uint32_t Width, Height, i, j; uint32_t k = 0; Width = EPD_H; Height = EPD_W_BUFF_SIZE; + epd_setpos(0, 0); + epd_write_reg(0x24); - epd_cs_reset(); - for (j = 0; j < Height; j++) - { - for (i = 0; i < Width; i++) - { - _epd_write_data(Image1[k]); - k++; - } - } - _epd_write_data_over(); - epd_cs_set(); + epd_writedata(Image1, Width * Height); + epd_setpos(0, 0); + epd_write_reg(0x26); k = 0; epd_cs_reset(); @@ -328,50 +362,58 @@ void epd_display(uint8_t *Image1, uint8_t *Image2) } _epd_write_data_over(); epd_cs_set(); + epd_update(); } void epd_displayBW(uint8_t *Image) { - uint32_t Width, Height, i, j; - uint32_t k = 0; + uint32_t Width, Height; + Width = EPD_H; Height = EPD_W_BUFF_SIZE; + + epd_setpos(0, 0); + epd_write_reg(0x26); + epd_writedata(Image, Width * Height); + epd_setpos(0, 0); epd_write_reg(0x24); - epd_cs_reset(); - for (j = 0; j < Height; j++) - { - for (i = 0; i < Width; i++) - { - _epd_write_data(Image[k]); - k++; - } - } - _epd_write_data_over(); - epd_cs_set(); + epd_writedata(Image, Width * Height); + epd_update(); } +void epd_displayBW_partial(uint8_t *Image) +{ + uint32_t Width, Height; + + Width = EPD_H; + Height = EPD_W_BUFF_SIZE; + + epd_setpos(0, 0); + epd_write_reg(0x24); + epd_writedata(Image, Width * Height); + + epd_update_partial(); + + epd_setpos(0, 0); + epd_write_reg(0x26); + epd_writedata(Image, Width * Height); +} + void epd_displayRED(uint8_t *Image) { - uint32_t Width, Height, i, j; - uint32_t k = 0; + uint32_t Width, Height; + Width = EPD_H; Height = EPD_W_BUFF_SIZE; + epd_setpos(0, 0); + epd_write_reg(0x26); - epd_cs_reset(); - for (j = 0; j < Height; j++) - { - for (i = 0; i < Width; i++) - { - _epd_write_data(Image[k]); - k++; - } - } - _epd_write_data_over(); - epd_cs_set(); + epd_writedata(Image, Width * Height); + epd_update(); } diff --git a/Example/EpaperModuleTest_CH32V103/User/Epaper/epaper.h b/Example/EpaperModuleTest_CH32V103/User/Epaper/epaper.h index 6adf2ca..ae75666 100644 --- a/Example/EpaperModuleTest_CH32V103/User/Epaper/epaper.h +++ b/Example/EpaperModuleTest_CH32V103/User/Epaper/epaper.h @@ -62,12 +62,14 @@ extern "C" void epd_io_init(void); uint8_t epd_init(void); + uint8_t epd_init_partial(void); void epd_enter_deepsleepmode(uint8_t mode); void epd_init_internalTempSensor(void); - int32_t epd_get_internalTempSensor(void); void epd_update(void); + void epd_update_partial(void); void epd_display(uint8_t *Image1, uint8_t *Image2); void epd_displayBW(uint8_t *Image); + void epd_displayBW_partial(uint8_t *Image); void epd_displayRED(uint8_t *Image); void epd_paint_newimage(uint8_t *image, uint16_t Width, uint16_t Height, uint16_t Rotate, uint16_t Color); diff --git a/Example/EpaperModuleTest_CH32V103/User/main.c b/Example/EpaperModuleTest_CH32V103/User/main.c index 02d4d82..4365862 100644 --- a/Example/EpaperModuleTest_CH32V103/User/main.c +++ b/Example/EpaperModuleTest_CH32V103/User/main.c @@ -68,9 +68,12 @@ int main(void) epd_paint_showPicture((EPD_H - 250) / 2, (EPD_W - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); epd_display(image_bw, image_red); + epd_enter_deepsleepmode(EPD_DEEPSLEEP_MODE1); delay(8000); + epd_init(); + epd_paint_selectimage(image_bw); epd_paint_clear(EPD_COLOR_WHITE); #ifdef EPD_213 @@ -104,9 +107,12 @@ int main(void) epd_paint_showPicture((EPD_H - 250) / 2, (EPD_W - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); epd_displayBW(image_bw); + epd_enter_deepsleepmode(EPD_DEEPSLEEP_MODE1); delay(5000); + epd_init_partial(); + epd_paint_selectimage(image_bw); epd_paint_clear(EPD_COLOR_WHITE); #ifdef EPD_213 @@ -119,15 +125,36 @@ int main(void) #endif epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); - sprintf((char *)&text, ">> Hello World."); - epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); - #if 0 epd_paint_showString(10,100,(uint8_t *)&"CH32V103C8T6 Example",EPD_FONT_SIZE16x8,EPD_COLOR_BLACK); #else epd_paint_drawRectangle(10, 103, EPD_H - 10, 116, EPD_COLOR_BLACK, 1); #endif - epd_displayBW(image_bw); + + sprintf((char *)&text, ">> Partial Mode"); + epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + + epd_displayBW_partial(image_bw); + + delay(1000); + + for (uint32_t i = 123; i < 8 * 123; i += 123) + { + sprintf((char *)&text, ">> Num=%d ", i); + epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + + epd_displayBW_partial(image_bw); + + delay(100); + } + + sprintf((char *)&text, ">> Hello World."); + epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + epd_displayBW_partial(image_bw); + + delay(1000); + + epd_update(); #endif epd_enter_deepsleepmode(EPD_DEEPSLEEP_MODE1); diff --git a/Example/EpaperModuleTest_GD32F103/Epaper/epaper.c b/Example/EpaperModuleTest_GD32F103/Epaper/epaper.c index 59580cc..a53f523 100644 --- a/Example/EpaperModuleTest_GD32F103/Epaper/epaper.c +++ b/Example/EpaperModuleTest_GD32F103/Epaper/epaper.c @@ -22,6 +22,30 @@ EPD_PAINT EPD_Paint; +static uint8_t _hibernating = 1; + +static const unsigned char ut_partial[] = +{ + 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x40, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0A, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x0, 0x0, 0x0, +}; + void epd_delay(uint16_t ms) { delay(ms); @@ -132,13 +156,6 @@ void epd_write_data(uint8_t data) epd_cs_set(); } -void epd_read_data(uint8_t reg, uint8_t *data, uint8_t length) -{ - epd_cs_reset(); - - epd_cs_set(); -} - void _epd_write_data(uint8_t data) { while (spi_i2s_flag_get(SPI1, SPI_FLAG_TBE) == RESET) @@ -166,12 +183,20 @@ uint8_t epd_wait_busy() } return 0; } -uint8_t epd_init(void) + +void epd_reset(void) { epd_res_reset(); epd_delay(50); epd_res_set(); epd_delay(50); + _hibernating = 0; +} + +uint8_t epd_init(void) +{ + if (_hibernating) + epd_reset(); if (epd_wait_busy()) return 1; @@ -221,10 +246,28 @@ uint8_t epd_init(void) return 0; } +uint8_t epd_init_partial(void) +{ + if (epd_init()) + return 1; + + epd_write_reg(0x32); + epd_cs_reset(); + for (int j = 0; j < sizeof(ut_partial); j++) + { + _epd_write_data(ut_partial[j]); + } + _epd_write_data_over(); + epd_cs_set(); + + return 0; +} + void epd_enter_deepsleepmode(uint8_t mode) { epd_write_reg(0x10); epd_write_data(mode); + _hibernating = 1; } void epd_init_internalTempSensor(void) @@ -236,34 +279,20 @@ void epd_init_internalTempSensor(void) epd_write_data(0x7F); epd_write_data(0xF0); } -uint8_t data[3]; -int32_t epd_get_internalTempSensor(void) -{ - - uint32_t temp; - - epd_read_data(0x1B, data, 3); - - temp = data[0]; - temp = temp << 4 | data[1] >> 4; - - if (temp & (1 << 11)) - { - temp = (((~temp) & 0xfff) + 1) * 10 / 16; - temp = -temp; - } - else - { - temp = temp * 10 / 16; - } - return temp; -} void epd_update(void) { epd_write_reg(0x22); // Display Update Control epd_write_data(0xF7); - // epd_write_data(0xFF); + epd_write_reg(0x20); // Activate Display Update Sequence + + epd_wait_busy(); +} + +void epd_update_partial(void) +{ + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xCC); epd_write_reg(0x20); // Activate Display Update Sequence epd_wait_busy(); @@ -285,26 +314,31 @@ void epd_setpos(uint16_t x, uint16_t y) epd_write_data(_y >> 8 & 0x01); } +void epd_writedata(uint8_t *Image1, uint32_t length) +{ + epd_cs_reset(); + for (uint32_t j = 0; j < length; j++) + { + _epd_write_data(Image1[j]); + } + _epd_write_data_over(); + epd_cs_set(); +} + void epd_display(uint8_t *Image1, uint8_t *Image2) { uint32_t Width, Height, i, j; uint32_t k = 0; Width = EPD_H; Height = EPD_W_BUFF_SIZE; + epd_setpos(0, 0); + epd_write_reg(0x24); - epd_cs_reset(); - for (j = 0; j < Height; j++) - { - for (i = 0; i < Width; i++) - { - _epd_write_data(Image1[k]); - k++; - } - } - _epd_write_data_over(); - epd_cs_set(); + epd_writedata(Image1, Width * Height); + epd_setpos(0, 0); + epd_write_reg(0x26); k = 0; epd_cs_reset(); @@ -318,50 +352,58 @@ void epd_display(uint8_t *Image1, uint8_t *Image2) } _epd_write_data_over(); epd_cs_set(); + epd_update(); } void epd_displayBW(uint8_t *Image) { - uint32_t Width, Height, i, j; - uint32_t k = 0; + uint32_t Width, Height; + Width = EPD_H; Height = EPD_W_BUFF_SIZE; + + epd_setpos(0, 0); + epd_write_reg(0x26); + epd_writedata(Image, Width * Height); + epd_setpos(0, 0); epd_write_reg(0x24); - epd_cs_reset(); - for (j = 0; j < Height; j++) - { - for (i = 0; i < Width; i++) - { - _epd_write_data(Image[k]); - k++; - } - } - _epd_write_data_over(); - epd_cs_set(); + epd_writedata(Image, Width * Height); + epd_update(); } -void epd_displayRED(uint8_t *Image) +void epd_displayBW_partial(uint8_t *Image) { - uint32_t Width, Height, i, j; - uint32_t k = 0; + uint32_t Width, Height; + Width = EPD_H; Height = EPD_W_BUFF_SIZE; + + epd_setpos(0, 0); + epd_write_reg(0x24); + epd_writedata(Image, Width * Height); + + epd_update_partial(); + epd_setpos(0, 0); epd_write_reg(0x26); - epd_cs_reset(); - for (j = 0; j < Height; j++) - { - for (i = 0; i < Width; i++) - { - _epd_write_data(Image[k]); - k++; + epd_writedata(Image, Width * Height); } - } - _epd_write_data_over(); - epd_cs_set(); + +void epd_displayRED(uint8_t *Image) +{ + uint32_t Width, Height; + + Width = EPD_H; + Height = EPD_W_BUFF_SIZE; + + epd_setpos(0, 0); + + epd_write_reg(0x26); + epd_writedata(Image, Width * Height); + epd_update(); } diff --git a/Example/EpaperModuleTest_GD32F103/Epaper/epaper.h b/Example/EpaperModuleTest_GD32F103/Epaper/epaper.h index 3d7accb..cc5b6c0 100644 --- a/Example/EpaperModuleTest_GD32F103/Epaper/epaper.h +++ b/Example/EpaperModuleTest_GD32F103/Epaper/epaper.h @@ -62,12 +62,14 @@ extern "C" void epd_io_init(void); uint8_t epd_init(void); + uint8_t epd_init_partial(void); void epd_enter_deepsleepmode(uint8_t mode); void epd_init_internalTempSensor(void); - int32_t epd_get_internalTempSensor(void); void epd_update(void); + void epd_update_partial(void); void epd_display(uint8_t *Image1, uint8_t *Image2); void epd_displayBW(uint8_t *Image); + void epd_displayBW_partial(uint8_t *Image); void epd_displayRED(uint8_t *Image); void epd_paint_newimage(uint8_t *image, uint16_t Width, uint16_t Height, uint16_t Rotate, uint16_t Color); diff --git a/Example/EpaperModuleTest_GD32F103/MDK-ARM/Objects/EpaperModuleTest_GD32F103.axf b/Example/EpaperModuleTest_GD32F103/MDK-ARM/Objects/EpaperModuleTest_GD32F103.axf index 8b7d35c4128d6d32cbd5b2957f9005ef19e0ce3b..52ff5f5da9cc4a4949f5a02eea772ba57f045193 100644 GIT binary patch delta 29800 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

%i(xy8K=;78uQThfnr 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 f%pY0s&QxAq**vn~C&> Hello World."); - epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); - #if 0 epd_paint_showString(10,100,(uint8_t *)&"GD32F103CBT6 Example",EPD_FONT_SIZE16x8,EPD_COLOR_BLACK); #else epd_paint_drawRectangle(10, 103, EPD_H - 10, 116, EPD_COLOR_BLACK, 1); #endif - epd_displayBW(image_bw); + + sprintf((char *)&text, ">> Partial Mode"); + epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + + epd_displayBW_partial(image_bw); + + delay(1000); + + for (uint32_t i = 123; i < 8 * 123; i += 123) + { + sprintf((char *)&text, ">> Num=%d ", i); + epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + + epd_displayBW_partial(image_bw); + + delay(100); + } + + sprintf((char *)&text, ">> Hello World."); + epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + epd_displayBW_partial(image_bw); + + delay(1000); + + epd_update(); #endif epd_enter_deepsleepmode(EPD_DEEPSLEEP_MODE1); diff --git a/Example/EpaperModuleTest_GD32F303/Epaper/epaper.c b/Example/EpaperModuleTest_GD32F303/Epaper/epaper.c index a8f0b48..aa2be21 100644 --- a/Example/EpaperModuleTest_GD32F303/Epaper/epaper.c +++ b/Example/EpaperModuleTest_GD32F303/Epaper/epaper.c @@ -22,6 +22,30 @@ EPD_PAINT EPD_Paint; +static uint8_t _hibernating = 1; + +static const unsigned char ut_partial[] = +{ + 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x40, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0A, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x0, 0x0, 0x0, +}; + void epd_delay(uint16_t ms) { delay(ms); @@ -132,13 +156,6 @@ void epd_write_data(uint8_t data) epd_cs_set(); } -void epd_read_data(uint8_t reg, uint8_t *data, uint8_t length) -{ - epd_cs_reset(); - - epd_cs_set(); -} - void _epd_write_data(uint8_t data) { while (spi_i2s_flag_get(SPI1, SPI_FLAG_TBE) == RESET) @@ -166,12 +183,20 @@ uint8_t epd_wait_busy() } return 0; } -uint8_t epd_init(void) + +void epd_reset(void) { epd_res_reset(); epd_delay(50); epd_res_set(); epd_delay(50); + _hibernating = 0; +} + +uint8_t epd_init(void) +{ + if (_hibernating) + epd_reset(); if (epd_wait_busy()) return 1; @@ -221,10 +246,28 @@ uint8_t epd_init(void) return 0; } +uint8_t epd_init_partial(void) +{ + if (epd_init()) + return 1; + + epd_write_reg(0x32); + epd_cs_reset(); + for (int j = 0; j < sizeof(ut_partial); j++) + { + _epd_write_data(ut_partial[j]); + } + _epd_write_data_over(); + epd_cs_set(); + + return 0; +} + void epd_enter_deepsleepmode(uint8_t mode) { epd_write_reg(0x10); epd_write_data(mode); + _hibernating = 1; } void epd_init_internalTempSensor(void) @@ -236,34 +279,20 @@ void epd_init_internalTempSensor(void) epd_write_data(0x7F); epd_write_data(0xF0); } -uint8_t data[3]; -int32_t epd_get_internalTempSensor(void) -{ - - uint32_t temp; - - epd_read_data(0x1B, data, 3); - - temp = data[0]; - temp = temp << 4 | data[1] >> 4; - - if (temp & (1 << 11)) - { - temp = (((~temp) & 0xfff) + 1) * 10 / 16; - temp = -temp; - } - else - { - temp = temp * 10 / 16; - } - return temp; -} void epd_update(void) { epd_write_reg(0x22); // Display Update Control epd_write_data(0xF7); - // epd_write_data(0xFF); + epd_write_reg(0x20); // Activate Display Update Sequence + + epd_wait_busy(); +} + +void epd_update_partial(void) +{ + epd_write_reg(0x22); // Display Update Control + epd_write_data(0xCC); epd_write_reg(0x20); // Activate Display Update Sequence epd_wait_busy(); @@ -285,26 +314,31 @@ void epd_setpos(uint16_t x, uint16_t y) epd_write_data(_y >> 8 & 0x01); } +void epd_writedata(uint8_t *Image1, uint32_t length) +{ + epd_cs_reset(); + for (uint32_t j = 0; j < length; j++) + { + _epd_write_data(Image1[j]); + } + _epd_write_data_over(); + epd_cs_set(); +} + void epd_display(uint8_t *Image1, uint8_t *Image2) { uint32_t Width, Height, i, j; uint32_t k = 0; Width = EPD_H; Height = EPD_W_BUFF_SIZE; + epd_setpos(0, 0); + epd_write_reg(0x24); - epd_cs_reset(); - for (j = 0; j < Height; j++) - { - for (i = 0; i < Width; i++) - { - _epd_write_data(Image1[k]); - k++; - } - } - _epd_write_data_over(); - epd_cs_set(); + epd_writedata(Image1, Width * Height); + epd_setpos(0, 0); + epd_write_reg(0x26); k = 0; epd_cs_reset(); @@ -318,50 +352,58 @@ void epd_display(uint8_t *Image1, uint8_t *Image2) } _epd_write_data_over(); epd_cs_set(); + epd_update(); } void epd_displayBW(uint8_t *Image) { - uint32_t Width, Height, i, j; - uint32_t k = 0; + uint32_t Width, Height; + Width = EPD_H; Height = EPD_W_BUFF_SIZE; + + epd_setpos(0, 0); + epd_write_reg(0x26); + epd_writedata(Image, Width * Height); + epd_setpos(0, 0); epd_write_reg(0x24); - epd_cs_reset(); - for (j = 0; j < Height; j++) - { - for (i = 0; i < Width; i++) - { - _epd_write_data(Image[k]); - k++; - } - } - _epd_write_data_over(); - epd_cs_set(); + epd_writedata(Image, Width * Height); + epd_update(); } +void epd_displayBW_partial(uint8_t *Image) +{ + uint32_t Width, Height; + + Width = EPD_H; + Height = EPD_W_BUFF_SIZE; + + epd_setpos(0, 0); + epd_write_reg(0x24); + epd_writedata(Image, Width * Height); + + epd_update_partial(); + + epd_setpos(0, 0); + epd_write_reg(0x26); + epd_writedata(Image, Width * Height); +} + void epd_displayRED(uint8_t *Image) { - uint32_t Width, Height, i, j; - uint32_t k = 0; + uint32_t Width, Height; + Width = EPD_H; Height = EPD_W_BUFF_SIZE; + epd_setpos(0, 0); + epd_write_reg(0x26); - epd_cs_reset(); - for (j = 0; j < Height; j++) - { - for (i = 0; i < Width; i++) - { - _epd_write_data(Image[k]); - k++; - } - } - _epd_write_data_over(); - epd_cs_set(); + epd_writedata(Image, Width * Height); + epd_update(); } diff --git a/Example/EpaperModuleTest_GD32F303/Epaper/epaper.h b/Example/EpaperModuleTest_GD32F303/Epaper/epaper.h index 3dd3d74..b0c2cf4 100644 --- a/Example/EpaperModuleTest_GD32F303/Epaper/epaper.h +++ b/Example/EpaperModuleTest_GD32F303/Epaper/epaper.h @@ -62,12 +62,14 @@ extern "C" void epd_io_init(void); uint8_t epd_init(void); + uint8_t epd_init_partial(void); void epd_enter_deepsleepmode(uint8_t mode); void epd_init_internalTempSensor(void); - int32_t epd_get_internalTempSensor(void); void epd_update(void); + void epd_update_partial(void); void epd_display(uint8_t *Image1, uint8_t *Image2); void epd_displayBW(uint8_t *Image); + void epd_displayBW_partial(uint8_t *Image); void epd_displayRED(uint8_t *Image); void epd_paint_newimage(uint8_t *image, uint16_t Width, uint16_t Height, uint16_t Rotate, uint16_t Color); diff --git a/Example/EpaperModuleTest_GD32F303/MDK-ARM/EpaperModuleTest_GD32F303.uvoptx b/Example/EpaperModuleTest_GD32F303/MDK-ARM/EpaperModuleTest_GD32F303.uvoptx index a9ee435..eefae98 100644 --- a/Example/EpaperModuleTest_GD32F303/MDK-ARM/EpaperModuleTest_GD32F303.uvoptx +++ b/Example/EpaperModuleTest_GD32F303/MDK-ARM/EpaperModuleTest_GD32F303.uvoptx @@ -342,11 +342,6 @@ ARMDBGFLAGS - - 0 - DLGUARM - - 0 ST-LINKIII-KEIL_SWO @@ -441,8 +436,8 @@ 0 0 0 - ..\Src\systick.c - systick.c + ..\Src\gpio.c + gpio.c 0 0 @@ -453,8 +448,8 @@ 0 0 0 - ..\Src\gpio.c - gpio.c + ..\Src\systick.c + systick.c 0 0 diff --git a/Example/EpaperModuleTest_GD32F303/MDK-ARM/EpaperModuleTest_GD32F303.uvprojx b/Example/EpaperModuleTest_GD32F303/MDK-ARM/EpaperModuleTest_GD32F303.uvprojx index 6d8f334..9bcafe8 100644 --- a/Example/EpaperModuleTest_GD32F303/MDK-ARM/EpaperModuleTest_GD32F303.uvprojx +++ b/Example/EpaperModuleTest_GD32F303/MDK-ARM/EpaperModuleTest_GD32F303.uvprojx @@ -393,16 +393,16 @@ 1 ..\Src\main.c - - systick.c - 1 - ..\Src\systick.c - gpio.c 1 ..\Src\gpio.c + + systick.c + 1 + ..\Src\systick.c + usart.c 1 @@ -954,16 +954,16 @@ 1 ..\Src\main.c - - systick.c - 1 - ..\Src\systick.c - gpio.c 1 ..\Src\gpio.c + + systick.c + 1 + ..\Src\systick.c + usart.c 1 diff --git a/Example/EpaperModuleTest_GD32F303/MDK-ARM/GD32/EpaperModuleTest_GD32F303.axf b/Example/EpaperModuleTest_GD32F303/MDK-ARM/GD32/EpaperModuleTest_GD32F303.axf index 71d2e14c12420b2c99c34b2d6c01432a753f754d..1b38cfc2656e44aaff3cf163e267d6fcb7e1a0e7 100644 GIT binary patch delta 20514 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 diff --git a/Example/EpaperModuleTest_GD32F303/MDK-ARM/GD32/EpaperModuleTest_GD32F303.hex b/Example/EpaperModuleTest_GD32F303/MDK-ARM/GD32/EpaperModuleTest_GD32F303.hex index b7c4c7c..3db70fc 100644 --- a/Example/EpaperModuleTest_GD32F303/MDK-ARM/GD32/EpaperModuleTest_GD32F303.hex +++ b/Example/EpaperModuleTest_GD32F303/MDK-ARM/GD32/EpaperModuleTest_GD32F303.hex @@ -1,5 +1,5 @@ :020000040800F2 -:100000003029002049010008D9060008D50600085B +:100000007823002049010008D9060008D506000819 :10001000D7060008D10600086107000800000000AC :10002000000000000000000000000000FD060008C5 :10003000D306000800000000FB060008FF060008C9 @@ -18,8 +18,8 @@ :10010000630100086301000863010008630100083F :10011000630100086301000863010008630100082F :10012000630100086301000863010008630100081F -:10013000DFF810D000F02CFA00480047911C0008AE -:10014000AFF300803029002006488047064800476A +:10013000DFF810D000F02CFA00480047B91C000886 +:10014000AFF3008078230020064880470648004728 :10015000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE777 :10016000FEE7FEE7050700083101000800F0004245 :1001700030F000400AD0C10D01F56071C0F31600E7 @@ -89,8 +89,8 @@ :1005700064EB0101141E73F1000405DB1C464FF00F :100580000043524263EB0403994208BF904230BDDE :10059000064C074D06E0E06840F0010394E80700D0 -:1005A00098471034AC42F6D3FFF7C6FDF853000865 -:1005B00018540008202A04DB203A00FA02F1002037 +:1005A00098471034AC42F6D3FFF7C6FDC05400089C +:1005B000E0540008202A04DB203A00FA02F100206F :1005C00070479140C2F1200320FA03F31943904091 :1005D0007047202A04DB203A21FA02F000217047FC :1005E00021FA02F3D040C2F120029140084319469B @@ -116,17 +116,17 @@ :100720004160002144F620620091009B5B1C009315 :100730009342FAD34160C1620168084A11400160E6 :100740004FF41F018160016821F48021016002B033 -:1007500001F04ABE88ED00E000100240FFFFF6FE07 +:1007500001F060BE88ED00E000100240FFFFF6FEF1 :10076000FEE700000FB4054B10B503A9044A029838 -:1007700000F00CF910BC5DF814FB00005D1A0008D5 -:10078000180000200FB4084B10B504A902AA039862 +:1007700000F00CF910BC5DF814FB0000851A0008AD +:100780001C0000200FB4084B10B504A902AA03985E :1007900000F0FCF8044602A9002000F07AFC204694 :1007A00010BC5DF814FB00009310000802E008C8BC :1007B000121F08C1002AFAD170477047002001E0DB :1007C00001C1121F002AFBD17047000070B5074C11 -:1007D00005460221204601F0E1FD0028F9D0294616 -:1007E0002046BDE8704001F0B8BD00000038004070 -:1007F00010B5044C8021204601F0D0FD0028F9D12D +:1007D00005460221204601F0F7FD0028F9D0294600 +:1007E0002046BDE8704001F0CEBD0000003800405A +:1007F00010B5044C8021204601F0E6FD0028F9D117 :1008000010BD0000003800402DE9FF5F82B00021DC :10081000DDE90430020DDDF840B0034318D044F6A2 :100820001050A2F2FF3242431514119801281FD034 @@ -270,7 +270,7 @@ :1010C00001290BD0022908D1816B21F440118163E1 :1010D00002F44011826B114381637047C16A21F4AD :1010E0007001C16202F47001C26A1143C1627047AB -:1010F00010B540F2096001F001F9012001F04CF84F +:1010F00010B540F2096001F017F9012001F062F823 :101100001D4C01221102204600F0C1F800220221EC :10111000204600F0BCF84FF4E0420221204600F0E7 :101120005AF8002000F09AF80021204600F026F836 @@ -306,315 +306,315 @@ :1013000003490A6810440A688242FCD3704700000F :101310001000002002480168491C0160704700006D :101320001000002070B5054D29680C1802E000205F -:1013300000F026FF2868A042F9D370BD10000020FD -:1013400000224FF48051014800F0A2BB000C014084 -:1013500001221103014800F09BBB0000000C01407A -:1013600000224FF48041014800F092BB000C014084 -:1013700001229103014800F08BBB0000000C0140EA -:101380002DE9F04700258A4681464FF494764FF0C8 -:1013900010082946284600F0EDFA242000F03EFB14 -:1013A000FFF7CEFF0027002419F80500FFF70EFA1B -:1013B000641C6D1CB442F7D37F1C4745F3D3FFF781 -:1013C00017FAFFF7C5FF0021084600F0D3FA2620E0 -:1013D00000F024FB0025FFF7B3FF00275FF00004B7 -:1013E0001AF80500C043C0B2FFF7F0F9641C6D1C89 -:1013F000B442F5D37F1C4745F0D3FFF7F9F9FFF767 -:10140000A7FFBDE8F04700F0CDBA10B504461020A4 -:1014100000F004FB2046BDE8104000F0E3BA10B530 -:1014200000F098FA3220FFF76BFF00F09BFA3220B1 -:10143000FFF766FF00F0C4FA002858D1122000F030 -:10144000EDFA00F0BDFA002851D1012000F0E6FAD3 -:10145000272000F0C7FA012000F0C4FA012000F0B4 -:10146000C1FA112000F0DAFA012000F0BBFA4420A2 -:1014700000F0D4FA002000F0B5FA0F2000F0B2FA24 -:10148000452000F0CBFA272000F0ACFA012000F054 -:10149000A9FA002000F0A6FA002000F0A3FA3C20F0 -:1014A00000F0BCFA052000F09DFA212000F0B6FA09 -:1014B000002000F097FA802000F094FA182000F045 -:1014C000ADFA802000F08EFA4E2000F0A7FA00203E -:1014D00000F088FA4F2000F0A1FA272000F082FAED -:1014E000012000F07FFA00F06BFA002800D0012004 -:1014F00010BD000010B588B040F2026000F0FEFEA2 -:1015000040F2036000F0FAFE4FF4C06000F0F6FE17 -:10151000234C4FF4807303221021204600F020FB5F -:101520004FF4004303224821204600F019FB1D4CD4 -:101530004FF4804303221021204600F011FB4FF4AA -:10154000204303221821204600F00AFBA3140322A3 -:101550001021204600F004FB40F20E7000F0CEFE99 -:10156000114C204600F0FCFE684600F033FF4FF4BB -:10157000404001904FF482700090032000210590BC -:101580006015CDE9021018200491069069462046A6 -:1015900000F009FF204600F0DBFE08B010BD00009F -:1015A00000080140000C01400038004010B54FF425 -:1015B0000041034800F027FB002800D0012010BDA7 -:1015C0000008014030B500210A4AC3B20DE00020F6 -:1015D00006E000BF01FB04041568401C80B22B55D7 -:1015E000148A8442F6D8491C89B2508A8842EED8BF -:1015F00030BD00001C2500202DE9F84F1F46914604 -:1016000082468846151A01D5A0EB09057C1A002CE4 -:1016100000DDCC1B4FF0FF32CA4501D2012000E0B3 -:1016200010460090B84500D2012293462E1941463B -:1016300050460A9A00F018F8B4EB460F07DCCA458A -:1016400010D0009926440AEB01001FFA80FAB5EB8E -:10165000460FECDBB84505D008EB0B002E441FFA13 -:1016600080F8E4E7BDE8F88F491E401E89B280B2D9 -:1016700000F052B82DE9F8418046DDE907501E46DA -:1016800017460C4648B90CE023463A4619464046F0 -:101690000095FFF7B1FF641CA4B2B442F4D3BDE8D7 -:1016A000F8810B4640460095FFF7A6FF42463346B9 -:1016B000214610460095FFF79FFF3A4623463146E4 -:1016C00010460095FFF798FF3346424619463846C4 -:1016D0000095FFF791FFE2E730B50B4C039D2060CA -:1016E00021816281A5814D074FEAD10000D0401CC5 -:1016F00020826282E38123B1B42B02D0A180E280F8 -:1017000030BDA280E18030BD1C2500200149086069 -:10171000704700001C25002070B5184C2346E68950 -:101720001B89D6B125465A2E6D891AD0B42E1DD0EC -:10173000B6F5877F10D103460846218A25684143C4 -:1017400001EBD3018020002A6C5C03F0070220FA31 -:1017500002F010D02043685470BD591A491E8BB254 -:10176000EBE7181A401E83B2681A01E00B46281AEC -:10177000401E80B2E1E784436C5470BD1C250020FC -:101780002DE9FC4F401C1FFA80F9491C1C468DB204 -:10179000A9EB0400AB46CDF80490B0F5947F60DC73 -:1017A000082C0ED0600700D0012000EBD4006108A7 -:1017B00010FB01F080B28246203A90B200900020E7 -:1017C0004CE00620F7E7082C13D00C2C18D0102C76 -:1017D0001BD0182C45D10098244900EBC00000BF55 -:1017E00001EB8001002711F80860F00712D00B9A76 -:1017F00013E000981E4900EB400001EB4001F1E7C7 -:1018000000981C4900EB4000EAE71B49009801EBF7 -:101810000011E7E70B9830B3002229464846FFF74E -:1018200023FF6D1C7F1C7608BFB2ADB2082FDCD33E -:1018300009F101001FFA80F9082C0BD00198A9EBDF -:101840000000B0EB540F05D10BF10800DDF8049057 -:101850001FFA80FB08F101005D4680B280465045CA -:10186000B1D3BDE8FC8F0122D7E700007442000825 -:10187000E835000810380008843C00082DE9FF4FC7 -:10188000401C82B04FF0000984B2491CCDE900949D -:1018900092468DB24A46AB46580700D0012000EB75 -:1018A000D300059010462FE0002026E00F98002678 -:1018B00010F8097009F101001FFA80F9F8072BD020 -:1018C000109838B3002229462046FFF7CDFE6D1C44 -:1018D000761C7F08B6B2ADB2082EEFD3641C019817 -:1018E000A4B2211A514504D10BF10800019C1FFA42 -:1018F00080FB08F101005D4680B280465045D5D39B -:101900000098401C80B2009005998842CCD306B064 -:10191000BDE8F08F0122D6E7109AD4E72DE9F8410F -:101920001E46154688460446079F0BE0334641464F -:1019300020460097FFF724FF6D1C082E07D004EB0C -:10194000560084B22A78002AF0D1BDE8F881A41D9F -:10195000A4B2F7E700224FF48071014800F098B874 -:101960000008014001221102014800F091B8000076 -:101970000008014070B5C0F3C705A1F227114C4221 +:1013300000F03CFF2868A042F9D370BD10000020E7 +:1013400000224FF48051014800F0B6BB000C014070 +:1013500001221103014800F0AFBB0000000C014066 +:1013600000224FF48041014800F0A6BB000C014070 +:1013700001229103014800F09FBB0000000C0140D6 +:101380002DE9F047002589460446FA274FF010085A +:101390002946284600F0EEFA242000F03FFB3901F0 +:1013A000204600F05BFB0021084600F0E3FA26200F +:1013B00000F034FBFFF7C4FF0026002419F80500F5 +:1013C000C043C0B2FFF702FA641C6D1CBC42F5D3E7 +:1013D000761C4645F1D3FFF70BFAFFF7B9FFBDE8DE +:1013E000F04700F0DFBA000010B50446102000F00E +:1013F00015FB204600F0F6FA01490120087010BDE7 +:1014000018000020324810B5007808B100F0A0FAAA +:1014100000F0D6FA002858D1122000F0FFFA00F0B0 +:10142000CFFA002851D1012000F0F8FA272000F06F +:10143000D9FA012000F0D6FA012000F0D3FA1120E9 +:1014400000F0ECFA012000F0CDFA442000F0E6FABA +:10145000002000F0C7FA0F2000F0C4FA452000F089 +:10146000DDFA272000F0BEFA012000F0BBFA0020D0 +:1014700000F0B8FA002000F0B5FA3C2000F0CEFAF7 +:10148000052000F0AFFA212000F0C8FA002000F09B +:10149000A9FA802000F0A6FA182000F0BFFA8020F8 +:1014A00000F0A0FA4E2000F0B9FA002000F09AFAFD +:1014B0004F2000F0B3FA272000F094FA012000F04A +:1014C00091FA00F07DFA002800D0012010BD000044 +:1014D0001800002010B588B040F2026000F024FF30 +:1014E00040F2036000F020FF4FF4C06000F01CFFEA +:1014F000234C4FF4807303221021204600F044FB5C +:101500004FF4004303224821204600F03DFB1D4CD0 +:101510004FF4804303221021204600F035FB4FF4A6 +:10152000204303221821204600F02EFBA31403229F +:101530001021204600F028FB40F20E7000F0F4FE6F +:10154000114C204600F022FF684600F059FF4FF48E +:10155000404001904FF482700090032000210590DC +:101560006015CDE9021018200491069069462046C6 +:1015700000F02FFF204600F001FF08B010BD000072 +:1015800000080140000C01400038004010B54FF445 +:101590000041034800F04BFB002800D0012010BDA3 +:1015A0000008014030B500210A4AC3B20DE0002016 +:1015B00006E000BF01FB04041568401C80B22B55F7 +:1015C000148A8442F6D8491C89B2508A8842EED8DF +:1015D00030BD0000601F00202DE9F84F1F469146E6 +:1015E00082468846151A01D5A0EB09057C1A002C05 +:1015F00000DDCC1B4FF0FF32CA4501D2012000E0D4 +:1016000010460090B84500D2012293462E1941465B +:1016100050460A9A00F018F8B4EB460F07DCCA45AA +:1016200010D0009926440AEB01001FFA80FAB5EBAE +:10163000460FECDBB84505D008EB0B002E441FFA33 +:1016400080F8E4E7BDE8F88F491E401E89B280B2F9 +:1016500000F052B82DE9F8418046DDE907501E46FA +:1016600017460C4648B90CE023463A461946404610 +:101670000095FFF7B1FF641CA4B2B442F4D3BDE8F7 +:10168000F8810B4640460095FFF7A6FF42463346D9 +:10169000214610460095FFF79FFF3A462346314604 +:1016A00010460095FFF798FF3346424619463846E4 +:1016B0000095FFF791FFE2E730B50B4C039D2060EA +:1016C00021816281A5814D074FEAD10000D0401CE5 +:1016D00020826282E38123B1B42B02D0A180E28018 +:1016E00030BDA280E18030BD601F0020014908604C +:1016F00070470000601F002070B5184C2346E68933 +:101700001B89D6B125465A2E6D891AD0B42E1DD00C +:10171000B6F5877F10D103460846218A25684143E4 +:1017200001EBD3018020002A6C5C03F0070220FA51 +:1017300002F010D02043685470BD591A491E8BB274 +:10174000EBE7181A401E83B2681A01E00B46281A0C +:10175000401E80B2E1E784436C5470BD601F0020DE +:101760002DE9FC4F401C1FFA80F9491C1C468DB224 +:10177000A9EB0400AB46CDF80490FA285FDC082CF6 +:101780000ED0600700D0012000EBD400610810FBF0 +:1017900001F080B28246203A90B2009000204BE0E7 +:1017A0000620F7E7082C12D00C2C17D0102C1AD0DA +:1017B000182C44D10098244900EBC00001EB8001B3 +:1017C000002711F80860F00712D00B9A13E0009878 +:1017D0001E4900EB400001EB4001F1E700981C4975 +:1017E00000EB4000EAE71B49009801EB0011E7E736 +:1017F0000B9830B3002229464846FFF725FF6D1CA1 +:101800007F1C7608BFB2ADB2082FDCD309F101000E +:101810001FFA80F9082C0BD00198A9EB0000B0EB5F +:10182000540F05D10BF10800DDF804901FFA80FB7E +:1018300008F101005D4680B280465045B2D3BDE854 +:10184000FC8F0122D7E70000A042000814360008F0 +:101850003C380008B03C00082DE9FF4F401C82B026 +:101860004FF0000984B2491CCDE9009492468DB234 +:101870004A46AB46580700D0012000EBD300059044 +:1018800010462FE0002026E00F98002610F809707F +:1018900009F101001FFA80F9F8072BD0109838B32E +:1018A000002229462046FFF7CFFE6D1C761C7F08DC +:1018B000B6B2ADB2082EEFD3641C0198A4B2211ABF +:1018C000514504D10BF10800019C1FFA80FB08F17F +:1018D00001005D4680B280465045D5D30098401C3B +:1018E00080B2009005998842CCD306B0BDE8F08F55 +:1018F0000122D6E7109AD4E72DE9F8411E46154695 +:1019000088460446079F0BE0334641462046009731 +:10191000FFF726FF6D1C082E07D004EB560084B29B +:101920002A78002AF0D1BDE8F881A41DA4B2F7E717 +:1019300000224FF48071014800F0BEB80008014059 +:1019400001221102014800F0B7B800000008014070 +:1019500010B5FFF7EDFF3220FFF7D2FCFFF7F0FFE5 +:101960003220FFF7CDFC02490020087010BD0000B6 +:101970001800002070B5C0F3C705A1F227114C4232 :101980004E2000F04BF8284600F02CF84F2000F0D5 :1019900045F8E0B200F026F8C4F30020BDE870403E :1019A00000F020B810B5222000F038F8F72000F041 :1019B00019F8202000F032F8BDE81040AFF30080A5 -:1019C00070B5002444F6206506E0641CAC424FF07C -:1019D000010005D8FFF794FCFFF7E8FD0028F4D1DB +:1019C00070B5002449F6404506E0641CAC424FF077 +:1019D000010005D8FFF794FCFFF7D8FD0028F4D1EB :1019E00070BD000010B50446FFF7AAFC21460A4C62 -:1019F000204600F0B2FC0221204600F0CFFC002877 -:101A0000F9D08021204600F0C9FC0028F9D1BDE8BA +:1019F000204600F0C8FC0221204600F0E5FC00284B +:101A0000F9D08021204600F0DFFC0028F9D1BDE8A4 :101A10001040FFF79DBC00000038004010B50446A0 :101A2000FFF79EFCFFF78CFC21460B4C204600F094 -:101A300094FC0221204600F0B1FC0028F9D080215E -:101A4000204600F0ABFC0028F9D1FFF781FCBDE88F -:101A50001040FFF78DBC00000038004070B5074D06 -:101A60000446C1B2284600F0A3FD0721284600F035 -:101A7000D4FD0028F9D0204670BD00000038014098 -:101A80000148006870470000100000204161704765 -:101A90000AB10161704741617047000010B54FF411 -:101AA000C06000F02BFC40F2026000F027FC40F226 -:101AB000036000F023FC01210A4800F0AFF8012385 -:101AC00003222821084800F04BF8084C0423032285 -:101AD0001021204600F044F82046BDE810400421C3 -:101AE000FFF7D4BF0002300000080140000C0140A5 -:101AF00010B5194C2115031B4A00A04221D009DC66 -:101B0000164BC01817D0884218D0904222D14FF4FB -:101B1000417408E08B4217D0934218D0B3F5406F60 -:101B200018D14FF44274204600F004FC2046BDE872 -:101B3000104000F0F1BB40F20234F4E740F203340D -:101B4000F1E740F20534EEE740F20634EBE740F20D -:101B50000734E8E710BD00000014014000F8FEBFA4 -:101B60002DE9F04301F00F04CD0602D5042A19D067 -:101B7000144300254FF00F095FF0010202FA05F649 -:101B80001E401AD007684FEA850C09FA0CF827EABC -:101B9000080704FA0CF848EA0708282908D0482959 -:101BA00008D008E0C26B44F003041A43C263E0E7C4 -:101BB000466100E00661C0F800806D1CADB2082DE2 -:101BC000DCD3082502FA05F61E4016D047684FEA16 -:101BD0008508A8F1200809FA08FC27EA0C0704FA8E -:101BE00008FC4CEA070C282902D0482902D002E060 -:101BF000466100E00661C0F804C06D1CADB2102D56 -:101C0000E0D3BDE8F0838068084000D00120704731 -:101C1000C068084000D0012070470000F0B5144CA7 -:101C2000002801DAE36900E06368420D120185B221 -:101C3000C0F301579540C0F30346032F05D0C202FD -:101C40000AD50322B240934307E023F0E0626368C1 -:101C500023F0E063636002E0AB4343F0E06201B174 -:101C60002A43002801DAE261F0BD6260F0BD0000A5 -:101C7000000001400168054A1140B1F1005F04D144 -:101C80004168006880F30888084770470000FE2F0D -:101C900088B000F0ABFA0720FFF72AFB00F002FC47 -:101CA000FFF7FCFEFFF724FA00F024FC0127FFF702 -:101CB000E7FE06463546AEA0FEF754FDB3A0FEF79C -:101CC00051FDB9A0FEF74EFDBFA0FEF74BFDC44885 -:101CD0000168C4A0FEF746FD012000F08FFA01461E -:101CE000C4A0FEF73FFD022000F088FA0146C5A01F -:101CF000FEF738FD032000F081FA0146C5A0FEF78B -:101D000031FDC8A0FEF72EFDFFF7F4FBFFF787FBC0 -:101D1000FF244FF49478B42342468021C7480094AE -:101D2000FFF7DAFCB42342468021C5480094FFF750 -:101D3000D3FCC248FFF7EAFCFF20FFF743FCC04892 -:101D4000FFF7E4FCFF20FFF73DFCBE48CDE90004AF -:101D50007A23FA2203211720FFF790FDB849B748EC -:101D6000FFF70EFB4FF4FA50FFF7CAFAB348FFF73C -:101D7000CDFCFF20FFF726FC00241823B2A2214649 -:101D80000A200094FFF7CAFD1023B4A232210A20D2 -:101D90000094FFF7C3FD1023B7A21D210A20009471 -:101DA000FFF7BCFDA648FFF7B1FCFF20FFF70AFCD8 -:101DB000B8A102A8FEF7E6FC182302AA47210A20D0 -:101DC0000094FFF7ABFD4FF00108CDE90048742304 -:101DD0004FF48F7267210A20FFF74CFC984997480F -:101DE000FFF7CEFA0120FFF710FBDFF8B8A2DFF80B -:101DF000B8B2DFF8B89200BFFFF742FEA8420AD996 -:101E0000FFF73EFE00F5FA75012F4FF0040158462A -:101E100015D0FFF73BFEFFF733FEB0420ED9FFF7B8 -:101E20002FFE00F10A0601214846FFF7ECFE0128CB -:101E30009AF8001050466DD001290CD094E0FFF7BD -:101E4000E7FE012801D0012200E0002204215846CB -:101E5000FFF71EFEDFE78AF80040012F01D00127BF -:101E600000E0002792A0FEF77DFC02219648FFF7D4 -:101E700001FA02E00120FFF755FA02219248FFF72C -:101E8000BEF90028F6D002218F48FFF7B4F98E483A -:101E90003C30006840F6E4414843000B00EE100A75 -:101EA000B8EE400ADFED890A30EEC00A9FED881ACD -:101EB0008548C0EE010AB3EE090A403030EE800AD0 -:101EC0008AED020A0068484300EE900AF8EE600AC4 -:101ED0009FED801A10EE100A60EE810ACAED030A27 -:101EE000FEF744F941EC100B7BA053EC102BFEF7EE -:101EF00039FCDAF80C00FEF739F941EC100B82A03E -:101F000053EC102BFEF72EFC39A0FEF72BFCCAF881 -:101F1000044029E009B980F800804168491CCAF8EA -:101F20000410322920D38348006878B182A0FEF7DC -:101F300019FCBFF34F8F7F48001D0168854A01F4EB -:101F4000E06111430160BFF34F8FFEE782A0FEF70F -:101F500009FC00F0C7FA5846FFF7CAFD4846FFF7EC -:101F6000C7FD8648FFF786FE002000F009F943E729 -:101F70000D0A57654163742053747564696F20437B -:101F80006F726520426F6172640D0A00776561634C -:101F90007473747564696F2E74616F62616F2E6300 -:101FA0006F6D0D0A000000007765616374737475CE -:101FB00064696F2E616C69657870726573732E63E6 -:101FC0006F6D0D0A00000000777777772E776561D7 -:101FD00063742D74632E636E0D0A0D0A00000000F9 -:101FE0001400002053797374656D436C6B3A25645B -:101FF0000D0A0000434B5F4148422069732025646D -:102000000D0A0000434B5F41504231206973202587 -:10201000640D0A00434B5F41504232206973202512 -:10202000640D0A00457061706572204D6F64756CB7 -:102030006520546573740D0A000000001C00002028 -:102040009C12002048260008322E3920457061700D -:102050006572204D6F64756C650000007769746867 -:1020600020323936207820313238207265736F6C17 -:102070007574696F6E00000044657369676E65640E -:102080002042792057654163742053747564696FE9 -:10209000000000003E3E2048656C6C6F20576F7258 -:1020A0006C642E0000000020000C0140000801407C -:1020B00048656C6C6F2C576541637420537475646C -:1020C000696F0D0A000000000024014000C0B24406 -:1020D0009A998940000080395468652074656D7054 -:1020E0006572617475726520646174612069732022 -:1020F00025322E31662064656772656573204365FD -:102100006C736975730D0A005468652072656665A5 -:1021100072656E636520766F6C74616765206461BB -:1021200074612069732025352E33666D56200D0AA3 -:102130000000000008ED00E0456E74657220494122 -:102140005020426F6F746C6F61646572202E2E2E6A -:102150000D0A00000400FA05456E7465722073795B -:102160007374656D2049535020426F6F746C6F61BA -:10217000646572202E2E2E0D0A00000000F0FF1F55 -:1021800004490A6822F004020A6008B120BF7047BF -:1021900030BF704710ED00E0124A10B55168124B85 -:1021A0001940D36A0C2823F0005317D2DFE800F05F -:1021B00006060606160916091010101041EA8031AD -:1021C0000CE020F0040041EA803040F0805105E04E -:1021D00020F00C0041EA803143F000535160D3629B -:1021E00010BD000000100240FF3FFFEF0248416AAF -:1021F00041F08071416270470010024070B537A510 -:1022000088B02ECD8DE82E0035A20446D2E900120A -:10221000CDE9041232A20020D2E90012CDE9061263 -:10222000324A5168324BC1F3810119B1012901D001 -:10223000022901D019462BE0516801F480352D495F -:10224000B5F5803F0AD1D56A15F0804F00D02A4BF2 -:10225000556805F40035B5F5003F00D10B465168CF -:102260005568C1F383412D0101D541F01001556836 -:102270006D0001D541F020010F2901D2891C06E033 -:10228000A1F10F052F2D01D8491C00E03F21594332 -:102290005368C3F303131DF8035021FA05F355687F -:1022A00004AEC5F302255268755D23FA05F5C2F345 -:1022B000C22206AEB25C23FA02F244B1012C08D06D -:1022C000022C08D0032C00D1104608B070BD08467F -:1022D000FBE71846F9E72846F7E700000000000092 -:1022E0000000000001020304060708090010024074 -:1022F00000127A0000093D00006CDC02054901EB88 -:1023000090110A6800F01F030120984002430A6000 -:102310007047000000100240054901EB90110A6867 -:1023200000F01F030120984082430A6070470000BC -:1023300000100240054901EB90110A6800F01F03EC -:102340000120984002430A607047000000100240DC -:10235000016841F0400101607047C16070470000B2 -:102360000D4910B5401808D0B0F5806F08D0B0F511 -:10237000784F0FD14FF4437404E040F20E4401E073 -:1023800040F20F442046FFF7D5FF2046BDE810403D -:10239000FFF7C2BF10BD000000C8FFBF8068084043 -:1023A00000D001207047026802F441530A681A43C2 -:1023B0004B6813438A681A43CB6813430A691A436C -:1023C0004B698969134319430160C16921F40061B4 -:1023D000C16170470021016041608160C16041615D -:1023E00081610161704700002A480021026842F4BF -:1023F000803202604FF6FF730268491C12F4003FFE -:1024000001D19942F8D10168890300D4FEE7C1697E -:1024100041F08051C16120490A6842F440420A609B -:102420004268426042684260426842F480624260B0 -:10243000426822F440324260426842F440324260D4 -:102440004268164B1A4042604268154B1A4342607C -:10245000026842F08072026002689201FCD50A684C -:1024600042F480320A604A68D203FCD50A6842F41A -:1024700000320A604A689203FCD5416821F00301EA -:102480004160416841F00201416041680907FCD5A3 -:10249000704700000010024000700040FFFFC3B70B -:1024A0000000340870B50E484FF47A710068B0FB34 -:1024B000F1F0401EB0F1807F11D24FF0E024606156 -:1024C00065170F212846FEF708F90020A0610720B4 -:1024D00020612846BDE870400521FEF7FEB8FEE702 -:1024E000140000204FF0E020002101614161816172 -:1024F0007047000010B540F20260FFF7FFFE40F2A7 -:102500000E60FFF7FBFE124C4FF4007303221821FC -:102510002046FFF725FB2315032204212046FFF761 -:102520001FFB0C4C204600F047F84FF4E1312046E9 -:1025300000F012F80421204600F07AF80821204625 -:1025400000F07CF82046BDE8104000F061B80000C3 -:10255000000801400038014070B5134B04460D4699 -:102560000020E11A1A159C421BD005DC0F496118A6 -:1025700017D0914208D114E0914212D0B1F56C4FBE -:1025800002D10320FFF73AFE00EB5500B0FBF5F156 -:102590004FF6F07201EA020001F00F010843A0605B -:1025A00070BD0220EEE70000004C004000BCFFBF01 -:1025B000C1F3080141607047134B10B5C21A1915D9 -:1025C000984213D007DC114A80180CD088421AD1E7 -:1025D00040F212440FE08A420BD0B2F56C4F12D198 -:1025E00040F20E3407E040F2114404E040F213449C -:1025F00001E040F214442046FFF79CFE2046BDE86F -:102600001040FFF789BE10BD004C004000BCFFBF6A -:10261000C16841F40051C160704700EB911000683F -:1026200001F01F0201219140084000D001207047B5 -:10263000C26822F004020A43C2607047C26822F0F6 -:1026400008020A43C260704700000000000000005A -:10265000000000000000000000000000000000007A -:10266000000000000000000000000000000000006A -:10267000000000000000000000000000000000005A +:101A3000AAFC0221204600F0C7FC0028F9D0802132 +:101A4000204600F0C1FC0028F9D1FFF781FCBDE879 +:101A50001040FFF78DBC00000038004070B50D4607 +:101A60000646FFF76DFC002403E0305DFEF7AEFE96 +:101A7000641CAC42F9D3FEF7BBFEBDE87040FFF733 +:101A800067BC000070B5074D0446C1B2284600F09F +:101A9000A5FD0721284600F0D6FD0028F9D02046F4 +:101AA00070BD000000380140014800687047000028 +:101AB00010000020416170470AB101617047416127 +:101AC0007047000010B54FF4C06000F02DFC40F2EC +:101AD000026000F029FC40F2036000F025FC0121C7 +:101AE0000A4800F0AFF8012303222821084800F03B +:101AF0004BF8084C042303221021204600F044F840 +:101B00002046BDE810400421FFF7D4BF000230009A +:101B100000080140000C014010B5194C2115031BB1 +:101B20004A00A04221D009DC164BC01817D08842C9 +:101B300018D0904222D14FF4417408E08B4217D064 +:101B4000934218D0B3F5406F18D14FF44274204639 +:101B500000F006FC2046BDE8104000F0F3BB40F268 +:101B60000234F4E740F20334F1E740F20534EEE7E3 +:101B700040F20634EBE740F20734E8E710BD00001E +:101B80000014014000F8FEBF2DE9F04301F00F04FE +:101B9000CD0602D5042A19D0144300254FF00F09B1 +:101BA0005FF0010202FA05F61E401AD007684FEAFC +:101BB000850C09FA0CF827EA080704FA0CF848EA39 +:101BC0000708282908D0482908D008E0C26B44F04B +:101BD00003041A43C263E0E7466100E00661C0F80F +:101BE00000806D1CADB2082DDCD3082502FA05F685 +:101BF0001E4016D047684FEA8508A8F1200809FA68 +:101C000008FC27EA0C0704FA08FC4CEA070C282910 +:101C100002D0482902D002E0466100E00661C0F827 +:101C200004C06D1CADB2102DE0D3BDE8F083806818 +:101C3000084000D001207047C068084000D0012053 +:101C400070470000F0B5144C002801DAE36900E0A9 +:101C50006368420D120185B2C0F301579540C0F38D +:101C60000346032F05D0C2020AD50322B240934394 +:101C700007E023F0E062636823F0E063636002E062 +:101C8000AB4343F0E06201B12A43002801DAE2618C +:101C9000F0BD6260F0BD0000000001400168054A2F +:101CA0001140B1F1005F04D14168006880F30888F9 +:101CB000084770470000FE2F88B000F0ADFA0720FB +:101CC000FFF716FB00F004FCFFF7FCFEFFF710FA2D +:101CD00000F026FC0127FFF7E7FE06463546AFA0D9 +:101CE000FEF740FDB4A0FEF73DFDBAA0FEF73AFDB9 +:101CF000C0A0FEF737FDC5480168C5A0FEF732FD5C +:101D0000012000F091FA0146C5A0FEF72BFD02204C +:101D100000F08AFA0146C6A0FEF724FD032000F079 +:101D200083FA0146C6A0FEF71DFDC9A0FEF71AFD05 +:101D3000FFF7D0FBFFF766FBFF24B423FA227A21DA +:101D4000C9480094FFF7B8FCB423FA227A21C748A7 +:101D50000094FFF7B1FCC448FFF7C8FCFF20FFF771 +:101D600021FCC248FFF7C2FCFF20FFF71BFCC04864 +:101D7000CDE9000400217A23FA220846FFF76CFD22 +:101D8000BA49B948FFF7FCFA0120FFF72DFB4FF4E1 +:101D9000FA50FFF7B5FAFFF735FBB348FFF7A6FC9B +:101DA000FF20FFF7FFFB00241823B2A221460A20E0 +:101DB0000094FFF7A1FD1023B3A232210A20009462 +:101DC000FFF79AFD1023B7A21D210A200094FFF708 +:101DD00093FDA648FFF78AFCFF20FFF7E3FBB8A1BD +:101DE00002A8FEF7CFFC182302AA47210A2000947C +:101DF000FFF782FD4FF00108CDE900487423F0227F +:101E000067210A20FFF726FC98499748FFF7B8FAA0 +:101E10000120FFF7E9FADFF8B8A2DFF8B8B2DFF87F +:101E2000B89200BFFFF740FEA8420AD9FFF73CFE78 +:101E300000F5FA75012F4FF00401584615D0FFF751 +:101E400039FEFFF731FEB0420ED9FFF72DFE00F14B +:101E50000A0601214846FFF7EAFE01289AF8001019 +:101E600050466DD001290CD094E0FFF7E5FE012823 +:101E700001D0012200E0002204215846FFF71CFE99 +:101E8000DFE78AF80040012F01D0012700E000279A +:101E900092A0FEF767FC02219648FFF7EBF902E0FB +:101EA0000120FFF73FFA02219248FFF7A8F9002826 +:101EB000F6D002218F48FFF79EF98E483C3000682B +:101EC00040F6E4414843000B00EE100AB8EE400A29 +:101ED000DFED890A30EEC00A9FED881A8548C0EE12 +:101EE000010AB3EE090A403030EE800A8AED020A98 +:101EF0000068484300EE900AF8EE600A9FED801AF1 +:101F000010EE100A60EE810ACAED030AFEF72EF900 +:101F100041EC100B7BA053EC102BFEF723FCDAF8FE +:101F20000C00FEF723F941EC100B82A053EC102BB0 +:101F3000FEF718FC39A0FEF715FCCAF8044029E0AA +:101F400009B980F800804168491CCAF80410322998 +:101F500020D38348006878B182A0FEF703FCBFF36A +:101F60004F8F7F48001D0168854A01F4E0611143ED +:101F70000160BFF34F8FFEE782A0FEF7F3FB00F096 +:101F8000C7FA5846FFF7C8FD4846FFF7C5FD864823 +:101F9000FFF784FE002000F009F943E70D0A5765BA +:101FA0004163742053747564696F20436F726520B8 +:101FB000426F6172640D0A007765616374737475B2 +:101FC00064696F2E74616F62616F2E636F6D0D0AAD +:101FD00000000000776561637473747564696F2E27 +:101FE000616C69657870726573732E636F6D0D0A2D +:101FF00000000000777777772E77656163742D7422 +:10200000632E636E0D0A0D0A00000000140000200C +:1020100053797374656D436C6B3A25640D0A000047 +:10202000434B5F4148422069732025640D0A00003C +:10203000434B5F415042312069732025640D0A00F3 +:10204000434B5F415042322069732025640D0A00E2 +:10205000457061706572204D6F64756C65205465C4 +:1020600073740D0A0000000020000020C00F002043 +:1020700074260008322E313320457061706572205D +:102080004D6F64756C650000776974682032353077 +:10209000207820313232207265736F6C7574696FED +:1020A0006E00000044657369676E656420427920A4 +:1020B00057654163742053747564696F00000000B4 +:1020C0003E3E2048656C6C6F20576F726C642E002A +:1020D00000000020000C01400008014048656C6CC5 +:1020E0006F2C57654163742053747564696F0D0AD2 +:1020F000000000000024014000C0B2449A998940C9 +:10210000000080395468652074656D706572617473 +:1021100075726520646174612069732025322E31E7 +:102120006620646567726565732043656C736975C5 +:10213000730D0A00546865207265666572656E638A +:102140006520766F6C7461676520646174612069D5 +:10215000732025352E33666D56200D0A00000000D1 +:1021600008ED00E0456E7465722049415020426FD1 +:102170006F746C6F61646572202E2E2E0D0A000044 +:102180000400FA05456E7465722073797374656D89 +:102190002049535020426F6F746C6F6164657220E8 +:1021A0002E2E2E0D0A00000000F0FF1F04490A68C1 +:1021B00022F004020A6008B120BF704730BF7047A8 +:1021C00010ED00E0124A10B55168124B1940D36A65 +:1021D0000C2823F0005317D2DFE800F006060606AD +:1021E000160916091010101041EA80310CE020F099 +:1021F000040041EA803040F0805105E020F00C00FE +:1022000041EA803143F000535160D36210BD0000B9 +:1022100000100240FF3FFFEF0248416A41F0807129 +:10222000416270470010024070B537A588B02ECDCE +:102230008DE82E0035A20446D2E90012CDE9041241 +:1022400032A20020D2E90012CDE90612324A5168CA +:10225000324BC1F3810119B1012901D0022901D00A +:1022600019462BE0516801F480352D49B5F5803FC2 +:102270000AD1D56A15F0804F00D02A4B556805F475 +:102280000035B5F5003F00D10B4651685568C1F3E4 +:1022900083412D0101D541F0100155686D0001D534 +:1022A00041F020010F2901D2891C06E0A1F10F05A0 +:1022B0002F2D01D8491C00E03F2159435368C3F337 +:1022C00003131DF8035021FA05F3556804AEC5F356 +:1022D00002255268755D23FA05F5C2F3C22206AEE7 +:1022E000B25C23FA02F244B1012C08D0022C08D0CF +:1022F000032C00D1104608B070BD0846FBE7184615 +:10230000F9E72846F7E700000000000000000000A1 +:1023100001020304060708090010024000127A00B7 +:1023200000093D00006CDC02054901EB90110A68D0 +:1023300000F01F030120984002430A60704700002C +:1023400000100240054901EB90110A6800F01F03DC +:102350000120984082430A6070470000001002404C +:10236000054901EB90110A6800F01F030120984015 +:1023700002430A607047000000100240016841F00B +:10238000400101607047C160704700000D4910B501 +:10239000401808D0B0F5806F08D0B0F5784F0FD155 +:1023A0004FF4437404E040F20E4401E040F20F4465 +:1023B0002046FFF7D5FF2046BDE81040FFF7C2BF1B +:1023C00010BD000000C8FFBF8068084000D0012099 +:1023D0007047026802F441530A681A434B6813437A +:1023E0008A681A43CB6813430A691A434B6989699F +:1023F000134319430160C16921F40061C161704751 +:102400000021016041608160C160416181610161C1 +:10241000704700002A480021026842F480320260BE +:102420004FF6FF730268491C12F4003F01D1994234 +:10243000F8D10168890300D4FEE7C16941F08051F9 +:10244000C16120490A6842F440420A604268426021 +:1024500042684260426842F480624260426822F40C +:1024600040324260426842F4403242604268164B59 +:102470001A4042604268154B1A434260026842F0BB +:102480008072026002689201FCD50A6842F48032D0 +:102490000A604A68D203FCD50A6842F400320A6036 +:1024A0004A689203FCD5416821F00301416041680C +:1024B00041F00201416041680907FCD57047000006 +:1024C0000010024000700040FFFFC3B70000340856 +:1024D00070B50E484FF47A710068B0FBF1F0401E01 +:1024E000B0F1807F11D24FF0E024606165170F21B9 +:1024F0002846FEF7F2F80020A06107202061284658 +:10250000BDE870400521FEF7E8B8FEE714000020A2 +:102510004FF0E020002101614161816170470000BE +:1025200010B540F20260FFF7FFFE40F20E60FFF7C9 +:10253000FBFE124C4FF40073032218212046FFF7D4 +:1025400023FB2315032204212046FFF71DFB0C4C1F +:10255000204600F047F84FF4E131204600F012F831 +:102560000421204600F07AF80821204600F07CF88B +:102570002046BDE8104000F061B8000000080140AE +:102580000038014070B5134B04460D460020E11A97 +:102590001A159C421BD005DC0F49611817D09142D7 +:1025A00008D114E0914212D0B1F56C4F02D1032052 +:1025B000FFF73AFE00EB5500B0FBF5F14FF6F07275 +:1025C00001EA020001F00F010843A06070BD022083 +:1025D000EEE70000004C004000BCFFBFC1F3080163 +:1025E00041607047134B10B5C21A1915984213D0A9 +:1025F00007DC114A80180CD088421AD140F21244EC +:102600000FE08A420BD0B2F56C4F12D140F20E347B +:1026100007E040F2114404E040F2134401E040F2CC +:1026200014442046FFF79CFE2046BDE81040FFF70B +:1026300089BE10BD004C004000BCFFBFC16841F422 +:102640000051C160704700EB9110006801F01F025B +:1026500001219140084000D001207047C26822F05B +:1026600004020A43C2607047C26822F008020A43AB +:10267000C260704700000000000000000000000081 :10268000000000000000000000000000000000004A :10269000000000000000000000000000000000003A :1026A000000000000000000000000000000000002A @@ -702,74 +702,74 @@ :102BC0000000000000000000000000000000000005 :102BD00000000000000000000000000000000000F5 :102BE00000000000000000000000000000000000E5 -:102BF0008080808080800000000000C0E0E0E0E095 -:102C0000C0C0000000000000000000000000000044 -:102C100000000000000000000000000000000000B4 -:102C200000000000000000000000000000000000A4 -:102C300000007EFEFEFEFEFEFE00000080FEFEFEA8 -:102C4000FEFEFEFEFC00000000FCFEFEFEFEFE3E60 -:102C50000000000000000000808080808080000074 -:102C60000000000000000000000080F8FEFEFEFEF4 -:102C7000FEFEFEFEF08000000000000000000000EC -:102C8000000000808080808080000000000000F84C -:102C9000F8F8F8F8F8F80000000000000000000064 -:102CA000000000000000E0F0F8FCFCFEFE7E7E3E2E -:102CB0003E7E7EFEFCFC783000000000F8F8F8F85C -:102CC000F8F8F8000000000000000000000000001C -:102CD00000000000000000000000000000000000F4 -:102CE00000000000808080808000FFFFFFFFFFFF6A -:102CF000FF000000030F1F1F1F1F0F0F0000000029 -:102D00000000000000808080808080800000000043 -:102D100000000000000000000000000000000000B3 -:102D2000000000000000000000000000003FFFFF66 -:102D3000FFFFFFFC00C0FFFFFFFF7FFFFFFFFFFF64 -:102D40008000FEFFFFFFFFFF0F000000F0F8FEFE17 -:102D5000FFFF7F1F0F0F1FFFFFFFFEFCF8C00000EB -:102D60000000C0FCFFFFFFFF7F071FFFFFFFFFFF0B -:102D7000F88000000000C0F0FCFEFFFFFF7F1F1F77 -:102D80001F1F3F3F3F0E041F1FFFFFFFFFFFFFFFFF -:102D90001F1F1F1F000000000000000000000000B7 -:102DA0001F7FFFFFFFFFFFFCF8F8F0F0E0E0C1C07D -:102DB0008000001F1F1FFFFFFFFFFFFFFF1F1F1FE0 -:102DC0000F000000FFFFFFFFFFFF00000000FFFFFC -:102DD000FFFFFFFFFF000000C0F8FCFEFFFFFF7FCA -:102DE0001F1F1F3FFFFFFFFFFFFFFF00000000FF4F -:102DF000FFFFFFFFFFFF000000C0F8FCFEFFFFFF2A -:102E00003F1F1F1F3FFFFFFFFEFCF8E00000000018 -:102E100000000000000000000000000000000000B2 -:102E200000000000000000000FFFFFFFFFFFFCFF9D -:102E3000FFFFFF1F0001FFFFFFFFFFFEFFFFFFFF80 -:102E4000FF070000001EFFFFFFFFFFFFDF1F1F1F28 -:102E50001F1F1F9F9F1F1F1F0000E0FEFFFFFFFFA0 -:102E6000FFFFFCFCFCFDFFFFFFFFFFFFFCC00000BD -:102E7000FFFFFFFFFFFFFF80000000000080000059 -:102E8000000000FFFFFFFFFFFFFF00000000000049 -:102E90000000000000000000000080C0C0800101B0 -:102EA000030303070FFFFFFFFFFFFFFF700000009A -:102EB000FFFFFFFFFFFFFF00000000000000FFFF1B -:102EC000FFFFFFFF00000080FFFFFFFFFFFFFF008D -:102ED0000000FFFFFFFFFFFFFF8000000000FFFF7B -:102EE000FFFFFFFFFF00000000FFFFFFFFFFFFFFEE -:102EF000000000FFFFFFFFFFFFFF8000000000FF5A -:102F0000FFFFFFFFFFFF00000000000000000000C7 -:102F100000000000000000000000000000000000B1 -:102F2000000000073F3F3F3F3F3F3F3F0F00000093 -:102F3000003F3F3F3F3F3F3F3F3F01000000000059 -:102F400001070F1F1F3F3F3F3E3E3E3E3F3F1F1FBB -:102F50000E00303E3F3F3F3F3F1F0100000000009A -:102F600000033F3F3F3F3F3F3C000003070F1F3F31 -:102F70003F3F3F3E3E3F3F3F1F1E080000030F1FE5 -:102F80003F3F3F3F3F3E3F3F1C1800000000000016 -:102F9000000000070F1F1F3F3F3F3F3E3E3F3F3FA8 -:102FA0003F1F1F0F070300000000070F1F3F3F3F99 -:102FB0003F3E3F3F3F1C00000F1F3F3F3F3F3F3E14 -:102FC0003F1F1F3F3F3F3F3F3F00000000070F1FD5 -:102FD0003F3F3F3F3F3E3F1F1F3F3F3F3F3F3F0081 -:102FE0000000003F3F3F3F3F3F3F0000000003071E -:102FF0000F1F3F3F3F3F3E3E3F3F3F1F1F0F03001E -:1030000000000000000000000000000000000000C0 -:1030100000000000000000000000000000000000B0 -:1030200000000000000000000000000000000000A0 +:102BF00000000000000000000000000000000000D5 +:102C000000000000000000000000000000000000C4 +:102C100000000000000000000000000080808080B4 +:102C200080800000000000C0E0E0E0E0C0C00000E4 +:102C30000000000000000000000000000000000094 +:102C40000000000000000000000000000000000084 +:102C500000000000000000000000000000007EFEF8 +:102C6000FEFEFEFEFE00000080FEFEFEFEFEFEFEFC +:102C7000FC00000000FCFEFEFEFEFE3E0000000028 +:102C80000000000080808080808000000000000044 +:102C900000000000000080F8FEFEFEFEFEFEFEFECC +:102CA000F080000000000000000000000000008034 +:102CB0008080808080000000000000F8F8F8F8F8BC +:102CC000F8F8000000000000000000000000000014 +:102CD0000000E0F0F8FCFCFEFE7E7E3E3E7E7EFEC6 +:102CE000FCFC783000000000F8F8F8F8F8F8F8007C +:102CF00000000000000000000000000000000000D4 +:102D000000000000000000000000000000000000C3 +:102D1000808080808000FFFFFFFFFFFFFF0000003A +:102D2000030F1F1F1F1F0F0F0000000000000000F7 +:102D30000080808080808080000000000000000013 +:102D40000000000000000000000000000000000083 +:102D50000000000000000000003FFFFFFFFFFFFC3D +:102D600000C0FFFFFFFF7FFFFFFFFFFF8000FEFFB0 +:102D7000FFFFFFFF0F000000F0F8FEFEFFFF7F1FC8 +:102D80000F0F1FFFFFFFFEFCF8C000000000C0FC9B +:102D9000FFFFFFFF7F071FFFFFFFFFFFF88000001F +:102DA0000000C0F0FCFEFFFFFF7F1F1F1F1F3F3F03 +:102DB0003F0E041F1FFFFFFFFFFFFFFF1F1F1F1F0F +:102DC0000000000000000000000000001F7FFFFF67 +:102DD000FFFFFFFCF8F8F0F0E0E0C1C08000001F4A +:102DE0001F1FFFFFFFFFFFFFFF1F1F1F0F00000040 +:102DF000FFFFFFFFFFFF00000000FFFFFFFFFFFFDF +:102E0000FF000000C0F8FCFEFFFFFF7F1F1F1F3FF9 +:102E1000FFFFFFFFFFFFFF00000000FFFFFFFFFFBE +:102E2000FFFF000000C0F8FCFEFFFFFF3F1F1F1F59 +:102E30003FFFFFFFFEFCF8E0000000000000000084 +:102E40000000000000000000000000000000000082 +:102E5000000000000FFFFFFFFFFFFCFFFFFFFF1F51 +:102E60000001FFFFFFFFFFFEFFFFFFFFFF07000066 +:102E7000001EFFFFFFFFFFFFDF1F1F1F1F1F1F9F02 +:102E80009F1F1F1F0000E0FEFFFFFFFFFFFFFCFC76 +:102E9000FCFDFFFFFFFFFFFFFCC00000FFFFFFFF87 +:102EA000FFFFFF800000000000800000000000FF26 +:102EB000FFFFFFFFFFFF0000000000000000000018 +:102EC00000000000000080C0C08001010303030770 +:102ED0000FFFFFFFFFFFFFFF70000000FFFFFFFF7E +:102EE000FFFFFF00000000000000FFFFFFFFFFFFEB +:102EF00000000080FFFFFFFFFFFFFF000000FFFF5B +:102F0000FFFFFFFFFF8000000000FFFFFFFFFFFF4C +:102F1000FF00000000FFFFFFFFFFFFFF000000FFBA +:102F2000FFFFFFFFFFFF8000000000FFFFFFFFFF2C +:102F3000FFFF000000000000000000000000000093 +:102F4000000000000000000000000000000000077A +:102F50003F3F3F3F3F3F3F3F0F000000003F3F3FAD +:102F60003F3F3F3F3F3F01000000000001070F1FB0 +:102F70001F3F3F3F3E3E3E3E3F3F1F1F0E00303E45 +:102F80003F3F3F3F3F1F01000000000000033F3F65 +:102F90003F3F3F3F3C000003070F1F3F3F3F3F3E87 +:102FA0003E3F3F3F1F1E080000030F1F3F3F3F3FB4 +:102FB0003F3E3F3F1C1800000000000000000007DB +:102FC0000F1F1F3F3F3F3F3E3E3F3F3F3F1F1F0FF3 +:102FD000070300000000070F1F3F3F3F3F3E3F3FFA +:102FE0003F1C00000F1F3F3F3F3F3F3E3F1F1F3F23 +:102FF0003F3F3F3F3F00000000070F1F3F3F3F3F65 +:103000003F3E3F1F1F3F3F3F3F3F3F000000003F0D +:103010003F3F3F3F3F3F0000000003070F1F3F3F80 +:103020003F3F3E3E3F3F3F1F1F0F03000000000099 :103030000000000000000000000000000000000090 :103040000000000000000000000000000000000080 :103050000000000000000000000000000000000070 @@ -862,490 +862,502 @@ :1035C00000000000000000000000000000000000FB :1035D00000000000000000000000000000000000EB :1035E00000000000000000000000000000000000DB -:1035F000002F000000000700070000147F147F1454 -:1036000000242A7F2A1200626408132300364955D9 -:10361000225000000503000000001C2241000000B1 -:1036200041221C000014083E08140008083E080847 -:10363000000000A0600000080808080800006060A2 -:103640000000002010080402003E5149453E0000E1 -:10365000427F4000004261514946002141454B31C3 -:10366000001814127F10002745454539003C4A498F -:103670004930000171090503003649494936000601 -:103680004949291E00003636000000005636000069 -:1036900000081422410000141414141400004122E4 -:1036A000140800020151090600324959513E007CBC -:1036B0001211127C007F49494936003E41414122A6 -:1036C000007F4141221C007F49494941007F09098F -:1036D0000901003E4149497A007F0808087F00003F -:1036E000417F4100002040413F01007F08142241FA -:1036F000007F40404040007F020C027F007F0408B2 -:10370000107F003E4141413E007F09090906003E0D -:103710004151215E007F0919294600464949493136 -:103720000001017F0101003F4040403F001F204059 -:10373000201F003F4038403F006314081463000717 -:103740000870080700615149454300007F4141006E -:1037500000552A552A55000041417F00000402010E -:1037600002040040404040400000010204000020EC -:1037700054545478007F484444380038444444202A -:1037800000384444487F00385454541800087E09D7 -:1037900001020018A4A4A47C007F0804047800009F -:1037A000447D4000004080847D00007F102844005C -:1037B0000000417F4000007C04180478007C08046D -:1037C000047800384444443800FC242424180018A9 -:1037D000242418FC007C0804040800485454542095 -:1037E00000043F444020003C4040207C001C20401E -:1037F000201C003C4030403C004428102844001C61 -:10380000A0A0A07C004464544C4414141414141458 -:103810000000000000000000000000000000FC00AC -:103820000000000002000000000C020C020000007A -:103830000000000090D0BCD0BC900003000300004A -:103840001824FE448C000302070201001824D8B09B -:103850004C80000300010201C038E438E00001029E -:103860000201020208060000000000000000000043 -:10387000000000F80402000000010204000204F845 -:1038800000000004020100009060F8609000000059 -:10389000010000002020FC202000000001000000AA -:1038A000000000000000080600000000202020208A -:1038B00020000000000000000000000000000002E6 -:1038C000000000000080601C0200040300000000F3 -:1038D000F8040404F8000102020201000008FC00E0 -:1038E00000000002030200001884442418000302B0 -:1038F0000202020008042424D8000102020201008E -:1039000040B088FC80000000000302003C24242416 -:10391000C400010202020100F824242CC0000102AC -:10392000020201000C04E41C04000000030000007B -:10393000D8242424D800010202020100384444445F -:10394000F800000302020100000010000000000067 -:10395000020000000000200000000000060000003F -:103960000020508804020000000001029090909016 -:1039700090000000000000000002048850200002B7 -:10398000010000001804C424180000000200000018 -:10399000F804E494F80001020202020000E09CF046 -:1039A000800002030000030204FC2424D800020368 -:1039B00002020100F80404040C00010202020100EA -:1039C00004FC0404F80002030202010004FC247455 -:1039D0000C0002030202030004FC24740C00020326 -:1039E00002000000F0080444CC4000010202010083 -:1039F00004FC2020FC040203000003020404FC0475 -:103A00000400020203020200000404FC0404060491 -:103A10000403000004FC24D00C040203020003028F -:103A200004FC04000000020302020203FC3CC03C50 -:103A3000FC0003000300030004FC30C4FC04020388 -:103A400002000300F8040404F8000102020201006D -:103A500004FC24241800020302000000F8848404FB -:103A6000F80001020207050004FC24649800020328 -:103A700002000302182424448C0003020202010005 -:103A80000C04FC040C0000020302000004FC000013 -:103A9000FC04000102020100047C80E01C04000020 -:103AA000030000001CE03CE01C00000300030000D9 -:103AB000049C609C0400020300030200041CE01C40 -:103AC00004000002030200000C84641C04000203D2 -:103AD000020203000000FE020200000007040400CE -:103AE000000E30C00000000000010200000202FED3 -:103AF00000000004040700000004020400000000AD -:103B00000000000000000000000008080808080885 -:103B10000000020000000000000000000040A0A023 -:103B2000C00000010202030204FC2020C0000003C8 -:103B30000202010000C02020600000010202020019 -:103B400000C02024FC0000010202030200C0A0A06B -:103B5000C0000001020202000020F8242404000238 -:103B6000030202000040A0A0602000070A0A0A0425 -:103B700004FC2020C0000203020003020020E40035 -:103B80000000000203020000000020E4000008081A -:103B90000807000004FC80E020200203020003026A -:103BA0000404FC000000020203020200E020E02006 -:103BB000C00003000300030020E02020C000020337 -:103BC0000200030200C02020C00000010202010028 -:103BD00020E02020C000080F0A02010000C02020C1 -:103BE000E0000001020A0F0820E04020200002034C -:103BF000020000000060A0A02000000202020300FA -:103C00000020F820000000000102020020E0002057 -:103C1000E00000010202030220E02080602000009A -:103C2000030100006080E0806000000300030000EA -:103C300020608060200002030003020020E020805A -:103C400060200808070100000020A060200000029A -:103C500003020200000020DE020000000007040052 -:103C6000000000FF00000000000F00000002DE2046 -:103C7000000000040700000002010204040200002A -:103C80000000000000000000000000000000000034 -:103C900000000000000000F80000000000000033F9 -:103CA0003000000000100C06100C060000000000A0 -:103CB0000000000040C07840C0784000043F040489 -:103CC0003F040400007088FC08300000001820FF4A -:103CD000211E0000F008F000E018000000211C0385 -:103CE0001E211E0000F00888700000001E21232401 -:103CF0001927211010160E0000000000000000001F -:103D000000000000000000E01804020000000007AE -:103D10001820400000020418E000000000402018B5 -:103D200007000000404080F0804040000202010F88 -:103D300001020200000000F0000000000101011F6C -:103D400001010100000000000000000080B07000D0 -:103D50000000000000000000000000000001010160 -:103D600001010101000000000000000000303000EF -:103D700000000000000000008060180400601806C9 -:103D80000100000000E010080810E000000F102003 -:103D900020100F00001010F8000000000020203F4D -:103DA00020200000007008080888700000302824D7 -:103DB0002221300000300888884830000018202078 -:103DC00020110E000000C02010F80000000704249D -:103DD000243F240000F808888808080000192120E2 -:103DE00020110E0000E0108888180000000F11203C -:103DF00020110E0000380808C83808000000003FF5 -:103E0000000000000070880808887000001C222153 -:103E100021221C0000E010080810E0000000312200 -:103E200022110F00000000C0C000000000000030A0 -:103E300030000000000000800000000000008060F2 -:103E40000000000000008040201008000001020473 -:103E5000081020004040404040404000040404045A -:103E60000404040000081020408000000020100816 -:103E700004020100007048080808F000000000304B -:103E800036010000C030C828E810E00007182724D9 -:103E900023140B000000C038E0000000203C230287 -:103EA0000227382008F8888888700000203F2020EA -:103EB00020110E00C030080808083800071820201C -:103EC0002010080008F808080810E000203F202013 -:103ED00020100F0008F88888E8081000203F2020F4 -:103EE0002320180008F88888E8081000203F2000E8 -:103EF00003000000C0300808083800000718202020 -:103F0000221E020008F808000008F808203F2101DE -:103F100001213F20000808F8080800000020203F89 -:103F20002020000000000808F8080800C0808080F9 -:103F30007F00000008F888C028180800203F2001F2 -:103F40002638200008F8080000000000203F20204C -:103F50002020300008F8F800F8F80800203F003F63 -:103F6000003F200008F830C00008F808203F20007B -:103F700007183F00E01008080810E0000F1020208C -:103F800020100F0008F808080808F000203F210161 -:103F900001010000E01008080810E0000F182424B8 -:103FA00038504F0008F8888888887000203F20002B -:103FB000030C3020007088080808380000382021E1 -:103FC00021221C00180808F8080818000000203FEB -:103FD0002000000008F808000008F808001F202052 -:103FE00020201F000878880000C838080000073823 -:103FF0000E010000F80800F80008F800033C070074 -:10400000073C0300081868808068180820302C03DB -:10401000032C30200838C800C83808000000203FB2 -:104020002000000010080808C838080020382621A1 -:1040300020201800000000FE020202000000007FA5 -:1040400040404000000C30C00000000000000001B3 -:104050000638C00000020202FE000000004040409E -:104060007F000000000004020202040000000000C3 -:104070000000000000000000000000008080808040 -:104080008080808000020204000000000000000028 -:1040900000000000000080808080000000192422C1 -:1040A00022223F2008F8008080000000003F1120FD -:1040B00020110E000000008080800000000E112002 -:1040C00020201100000000808088F800000E1120E0 -:1040D00020103F200000808080800000001F2222EE -:1040E00022221300008080F0888888180020203F5A -:1040F000202000000000808080808000006B94946D -:104100009493600008F8008080800000203F210028 -:1041100000203F2000809898000000000020203FF1 -:1041200020200000000000809898000000C08080DF -:10413000807F000008F8000080808000203F24027B -:104140002D302000000808F8000000000020203F6B -:10415000202000008080808080808000203F200020 -:104160003F20003F8080008080800000203F2100B1 -:1041700000203F200000808080800000001F202061 -:1041800020201F00808000808000000080FFA12090 -:1041900020110E000000008080808000000E1120A1 -:1041A00020A0FF80808080008080800020203F2130 -:1041B00020000100000080808080800000332424E3 -:1041C00024241900008080E0808000000000001F8F -:1041D000202000008080000000808000001F202040 -:1041E00020103F20808080000080808000010E3001 -:1041F0000806010080800080008080800F300C0362 -:104200000C300F0000808000808080000020312E64 -:104210000E312000808080000080808080818E7040 -:104220001806010000808080808080000021302CF2 -:104230002221300000000000807C0202000000000B -:10424000003F404000000000FF00000000000000B0 -:10425000FF0000000002027C800000000040403FA0 -:10426000000000000006010102020404000000003A -:10427000000000000000000000000000000000003E -:10428000000000000000000000000000000000002E -:1042900000000000000000000000000000F0F0F04E -:1042A000000000000000000000017F01000000008D -:1042B00000000000001C1C1C0000000000008060CA -:1042C000301C8C60301C0C0000000000000000005E -:1042D00000000000000000000000000000000000DE -:1042E000000000E00000000000E000000086E69F03 -:1042F00086868686E69F860000011F010101010176 -:104300001F010100000080C06020F820E0C0000014 -:10431000000003070C18FF70E18100000000070F88 -:1043200010107F100F0700008060206080000000E8 -:10433000E02000000F3020309F70DC371030C000CC -:104340000000100E03000718101807000000C0201E -:1043500020E0C0000000000080E01F38E88703C4B0 -:104360003C040000070F1810100B070D1010080078 -:1043700000808C4C380000000000000000000000AD -:10438000000000000000000000000000000000002D -:104390000000000000000000000080E03008040081 -:1043A0000000000000FEFF0100000000000000000F -:1043B0000000030F1820400000040830E0800000D7 -:1043C000000000000000000001FFFE0000000000EF -:1043D000004020180F030000000000000000000053 -:1043E0000000C00000000000004266663C18FF1894 -:1043F0003C66664200000000000003000000000070 -:1044000000000000000080000000000000101010FC -:104410001010FF101010101000000000000003002A -:10442000000000000000000000000000000000008C -:1044300000000000000000000000000000808C4C24 -:104440003800000000000000000000000000000034 -:1044500000000000001010101010101010101000BC -:10446000000000000000000000000000000000004C +:1035F00000000000000000000000000000000000CB +:1036000000000000000000000000000000000000BA +:10361000000000000000000000000000002F00007B +:1036200000000700070000147F147F1400242A7F85 +:103630002A12006264081323003649552250000004 +:103640000503000000001C224100000041221C0074 +:103650000014083E08140008083E0808000000A0F6 +:1036600060000008080808080000606000000020F2 +:1036700010080402003E5149453E0000427F4000D0 +:10368000004261514946002141454B310018141256 +:103690007F10002745454539003C4A494930000123 +:1036A0007109050300364949493600064949291E72 +:1036B00000003636000000005636000000081422D4 +:1036C00041000014141414140000412214080002D4 +:1036D0000151090600324959513E007C1211127CF9 +:1036E000007F49494936003E41414122007F414126 +:1036F000221C007F49494941007F09090901003E18 +:103700004149497A007F0808087F0000417F410055 +:10371000002040413F01007F08142241007F4040CB +:103720004040007F020C027F007F0408107F003EB3 +:103730004141413E007F09090906003E4151215E99 +:10374000007F091929460046494949310001017F96 +:103750000101003F4040403F001F2040201F003F2C +:103760004038403F006314081463000708700807DE +:1037700000615149454300007F41410000552A55F1 +:103780002A55000041417F0000040201020400406C +:10379000404040400000010204000020545454788E +:1037A000007F4844443800384444442000384444AE +:1037B000487F00385454541800087E09010200184C +:1037C000A4A4A47C007F080404780000447D400089 +:1037D000004080847D00007F102844000000417F6D +:1037E0004000007C04180478007C08040478003849 +:1037F0004444443800FC242424180018242418FCD1 +:10380000007C0804040800485454542000043F4439 +:103810004020003C4040207C001C2040201C003CFC +:103820004030403C004428102844001CA0A0A07C4C +:10383000004464544C441414141414140000000084 +:1038400000000000000000000000FC00000000007C +:1038500002000000000C020C02000000000000004A +:1038600090D0BCD0BC900003000300001824FE449C +:103870008C000302070201001824D8B04C8000031A +:1038800000010201C038E438E00001020201020236 +:10389000080600000000000000000000000000F822 +:1038A0000402000000010204000204F80000000409 +:1038B000020100009060F86090000000010000002C +:1038C0002020FC202000000001000000000000007B +:1038D000000008060000000020202020200000003A +:1038E00000000000000000000000000200000000D6 +:1038F0000080601C0200040300000000F8040404BF +:10390000F8000102020201000008FC0000000002B1 +:10391000030200001884442418000302020202007B +:1039200008042424D80001020202010040B088FCEF +:1039300080000000000302003C242424C400010293 +:1039400002020100F824242CC0000102020201003E +:103950000C04E41C0400000003000000D82424240C +:10396000D80001020202010038444444F800000378 +:103970000202010000001000000000000200000030 +:103980000000200000000000060000000020508819 +:10399000040200000000010290909090900000004E +:1039A0000000000000020488502000020100000016 +:1039B0001804C4241800000002000000F804E49475 +:1039C000F80001020202020000E09CF08000020305 +:1039D0000000030204FC2424D800020302020100B8 +:1039E000F80404040C0001020202010004FC0404B7 +:1039F000F80002030202010004FC24740C0002031C +:103A00000202030004FC24740C0002030200000004 +:103A1000F0080444CC4000010202010004FC202014 +:103A2000FC040203000003020404FC04040002027C +:103A300003020200000404FC040406040403000062 +:103A400004FC24D00C0402030200030204FC040062 +:103A50000000020302020203FC3CC03CFC00030025 +:103A60000300030004FC30C4FC0402030200030052 +:103A7000F8040404F80001020202010004FC2424FA +:103A80001800020302000000F8848404F800010218 +:103A90000207050004FC24649800020302000302EC +:103AA000182424448C000302020201000C04FC04CC +:103AB0000C0000020302000004FC0000FC040001F2 +:103AC00002020100047C80E01C04000003000000EE +:103AD0001CE03CE01C00000300030000049C609C10 +:103AE0000400020300030200041CE01C04000002A6 +:103AF000030200000C84641C0400020302020300A1 +:103B00000000FE020200000007040400000E30C0A6 +:103B10000000000000010200000202FE000000049C +:103B20000407000000040204000000000000000080 +:103B30000000000000000808080808080000020053 +:103B400000000000000000000040A0A0C000000134 +:103B50000202030204FC2020C00000030202010054 +:103B600000C02020600000010202020000C02024EA +:103B7000FC0000010202030200C0A0A0C00000017E +:103B8000020202000020F8242404000203020200C2 +:103B90000040A0A0602000070A0A0A0404FC2020BC +:103BA000C0000203020003020020E4000000000243 +:103BB00003020000000020E40000080808070000DD +:103BC00004FC80E020200203020003020404FC0045 +:103BD0000000020203020200E020E020C000030017 +:103BE0000300030020E02020C000020302000302C3 +:103BF00000C02020C00000010202010020E02020BF +:103C0000C000080F0A02010000C02020E0000001EF +:103C1000020A0F0820E040202000020302000000FA +:103C20000060A0A020000002020203000020F82093 +:103C3000000000000102020020E00020E00000017E +:103C40000202030220E02080602000000301000047 +:103C50006080E0806000000300030000206080605E +:103C6000200002030003020020E0208060200808FA +:103C7000070100000020A0602000000203020200F3 +:103C8000000020DE0200000000070400000000FF2A +:103C900000000000000F00000002DE200000000411 +:103CA00007000000020102040402000000000000FE +:103CB0000000000000000000000000000000000004 +:103CC000000000F800000000000000333000000099 +:103CD00000100C06100C06000000000000000000A0 +:103CE00040C07840C0784000043F04043F04040012 +:103CF000007088FC08300000001820FF211E000022 +:103D0000F008F000E018000000211C031E211E0036 +:103D100000F00888700000001E21232419272110BC +:103D200010160E000000000000000000000000005F +:103D3000000000E018040200000000071820400006 +:103D400000020418E00000000040201807000000F6 +:103D5000404080F0804040000202010F010202005A +:103D6000000000F0000000000101011F010101003E +:103D7000000000000000000080B0700000000000A3 +:103D8000000000000000000000010101010101012C +:103D900000000000000000000030300000000000C3 +:103DA0000000000080601804006018060100000098 +:103DB00000E010080810E000000F102020100F0095 +:103DC000001010F8000000000020203F202000001C +:103DD0000070080808887000003028242221300074 +:103DE00000300888884830000018202020110E007C +:103DF0000000C02010F8000000070424243F240025 +:103E000000F80888880808000019212020110E00F9 +:103E100000E0108888180000000F112020110E000B +:103E200000380808C83808000000003F0000000003 +:103E30000070880808887000001C222121221C00C4 +:103E400000E010080810E0000000312222110F00ED +:103E5000000000C0C0000000000000303000000082 +:103E600000000080000000000000806000000000F2 +:103E7000000080402010080000010204081020000B +:103E80004040404040404000040404040404040056 +:103E900000081020408000000020100804020100EB +:103EA000007048080808F0000000003036010000EB +:103EB000C030C828E810E0000718272423140B009E +:103EC0000000C038E0000000203C23020227382018 +:103ED00008F8888888700000203F202020110E00FC +:103EE000C0300808080838000718202020100800F3 +:103EF00008F808080810E000203F202020100F00DC +:103F000008F88888E8081000203F202023201800A7 +:103F100008F88888E8081000203F2000030000000F +:103F2000C03008080838000007182020221E0200B0 +:103F300008F808000008F808203F210101213F206F +:103F4000000808F8080800000020203F202000009A +:103F500000000808F8080800C08080807F0000008A +:103F600008F888C028180800203F200126382000C3 +:103F700008F8080000000000203F2020202030002A +:103F800008F8F800F8F80800203F003F003F200044 +:103F900008F830C00008F808203F200007183F004C +:103FA000E01008080810E0000F10202020100F007B +:103FB00008F808080808F000203F2101010100006E +:103FC000E01008080810E0000F18242438504F00B3 +:103FD00008F8888888887000203F2000030C302073 +:103FE00000708808080838000038202121221C00B1 +:103FF000180808F8080818000000203F20000000FA +:1040000008F808000008F808001F202020201F00E2 +:104010000878880000C83808000007380E01000042 +:10402000F80800F80008F800033C0700073C03000C +:10403000081868808068180820302C03032C302072 +:104040000838C800C83808000000203F20000000E1 +:1040500010080808C8380800203826212020180039 +:10406000000000FE020202000000007F404040000D +:10407000000C30C000000000000000010638C00045 +:1040800000020202FE000000004040407F000000ED +:104090000000040202020400000000000000000012 +:1040A0000000000000000000808080808080808010 +:1040B00000020204000000000000000000000000F8 +:1040C00000008080808000000019242222223F20EE +:1040D00008F8008080000000003F112020110E0031 +:1040E0000000008080800000000E112020201100C0 +:1040F000000000808088F800000E112020103F2072 +:104100000000808080800000001F222222221300F5 +:10411000008080F0888888180020203F2020000040 +:104120000000808080808000006B949494936000F5 +:1041300008F8008080800000203F210000203F2000 +:1041400000809898000000000020203F2020000000 +:10415000000000809898000000C08080807F0000F0 +:1041600008F8000080808000203F24022D302000CD +:10417000000808F8000000000020203F2020000078 +:104180008080808080808000203F20003F20003F92 +:104190008080008080800000203F210000203F20A0 +:1041A0000000808080800000001F202020201F0051 +:1041B000808000808000000080FFA12020110E0080 +:1041C0000000008080808000000E112020A0FF8071 +:1041D000808080008080800020203F21200001001E +:1041E0000000808080808000003324242424190073 +:1041F000008080E0808000000000001F2020000080 +:104200008080000000808000001F202020103F20C0 +:10421000808080000080808000010E300806010050 +:1042200080800080008080800F300C030C300F00F5 +:1042300000808000808080000020312E0E31200020 +:10424000808080000080808080818E701806010050 +:1042500000808080808080000021302C222130006E +:1042600000000000807C020200000000003F40408F +:1042700000000000FF00000000000000FF00000040 +:104280000002027C800000000040403F000000006F +:10429000000601010202040400000000000000000A +:1042A000000000000000000000000000000000000E +:1042B00000000000000000000000000000000000FE +:1042C000000000000000000000F0F0F0000000001E +:1042D0000000000000017F0100000000000000005D +:1042E000001C1C1C0000000000008060301C8C6062 +:1042F000301C0C0000000000000000000000000066 +:10430000000000000000000000000000000000E0CD +:104310000000000000E000000086E69F868686869A +:10432000E69F860000011F01010101011F0101003C +:10433000000080C06020F820E0C0000000000307FB +:104340000C18FF70E18100000000070F10107F10B3 +:104350000F0700008060206080000000E020000067 +:104360000F3020309F70DC371030C0000000100E7E +:1043700003000718101807000000C02020E0C0004C +:104380000000000080E01F38E88703C43C04000000 +:10439000070F1810100B070D1010080000808C4C30 +:1043A00038000000000000000000000000000000D5 +:1043B00000000000000000000000000000000000FD +:1043C00000000000000080E0300804000000000051 +:1043D00000FEFF0100000000000000000000030FCD +:1043E0001820400000040830E080000000000000B9 +:1043F0000000000001FFFE00000000000040201847 +:104400000F03000000000000000000000000C000DA +:1044100000000000004266663C18FF183C666642D9 +:104420000000000000000300000000000000000089 +:104430000000800000000000001010101010FF109D +:104440001010101000000000000003000000000029 +:10445000000000000000000000000000000000005C +:10446000000000000000000000808C4C38000000BC :10447000000000000000000000000000000000003C -:104480000000000000001C1C1C00000000000000D8 -:104490000000000000000000E0380C0000000000F8 -:1044A00080701C03000000000060380E0100000056 -:1044B00000000000000080C060202060C08000007C -:1044C00000FEFF010000000001FFFE000001070EDA -:1044D000181010180E0701000000808080C0E00056 -:1044E000000000000000000000FFFF0000000000CE -:1044F00000001010101F1F1010100000008040203E -:1045000020202060C080000000030300804020388D -:104510001F070000001C1A1918181818181F00008F -:104520000080C020202060C0800000000003030045 -:104530001010182FE780000000070F10101010183F -:104540000F070000000000000000C0E0F0000000C5 -:1045500000C0B088868180FFFF80800000000000DE -:104560000010101F1F1010000000E060606060600D -:104570006060000000003F1008080818F0E000002C -:1045800000070B101010101C0F030000000080C06B -:1045900040202020E0C0000000FCFF211008080897 -:1045A00018F0E0000001070C18101010080F0300AD -:1045B0000000C0E06060606060E060000000030038 -:1045C0000000E0180700000000000000001F1F00AE -:1045D000000000000080C0602020202060C080001B -:1045E0000087EF2C1818303068CF830000070F08C1 -:1045F00010101010180F07000000C0C0202020204D -:10460000C0800000001F3F604040402010FFFE00BF -:1046100000000C1C101010080F0300000000000028 -:10462000000000000000000000000000000E0E0E60 -:104630000000000000000000001C1C1C0000000026 -:10464000000000000000000000000000000000006A -:10465000000C0C00000000000000000000583800B2 -:10466000000000000000000000000080402010005A -:10467000000010284482010000000000000000003B -:10468000000001020408100000000000000000000B -:1046900000000000008484848484848484848400F2 -:1046A00000000000000000000000000000001020DA -:1046B00040800000000000000000000000000182B7 -:1046C000442810000000100804020100000000004F -:1046D00000C020201010101030E0C00000030300C4 -:1046E00000F010080C070300000000001C1C1C0058 -:1046F00000000000000000C0406020202040C000FA -:1047000000FCFF01F00E03C1FE03807F0001070ED5 -:1047100008111110110904020000000080E0E000FF -:10472000000000000000807C4340477FF8800000CC -:1047300010181F1000000000131F1C1020E0E020C4 -:1047400020202060C080000000FFFF101010101813 -:104750002FE78000101F1F1010101010180F0700F7 -:10476000000080C0402020202060E00000FCFF010D -:1047700000000000000001000001070E18101010DA -:104780000804030020E0E02020202040C08000003A -:1047900000FFFF000000000001FFFE00101F1F10BF -:1047A000101018080E07010020E0E0202020202033 -:1047B0002060800000FFFF101010107C000000003F -:1047C000101F1F10101010101018060020E0E0201D -:1047D000202020206060800000FFFF101010107C5F -:1047E00000000100101F1F1000000000000000006A -:1047F000000080C06020202040E0000000FCFF019D -:1048000000004040C0C140400001070E18101010C9 -:104810000F0F000020E0E0200000000020E0E0207A -:1048200000FFFF101010101010FFFF00101F1F10CE -:1048300000000000101F1F100000202020E0E020DA -:10484000202000000000000000FFFF00000000002A -:1048500000001010101F1F101010000000000000BA -:10486000202020E0E020202000000000000000FFC9 -:10487000FF0000000060E0808080C07F3F000000FB -:1048800020E0E020000020A06020200000FFFF309A -:10489000187CE3C000000000101F1F10000001136F -:1048A0001F1C181020E0E0200000000000000000A5 -:1048B00000FFFF000000000000000000101F1F109C -:1048C000101010101018060020E0E0E000000000BA -:1048D000E0E0E02000FF013FFEC0E01E01FFFF001E -:1048E000101F1000031F0300101F1F1020E0E0C066 -:1048F000000000000020E02000FF0003071C78E01B -:104900008000FF00101F100000000000030F1F00B8 -:10491000000080C060202060C080000000FEFF0119 -:104920000000000000FFFE000001070E1810101824 -:104930000C07010020E0E0202020202060C0800043 -:1049400000FFFF2020202020301F0F00101F1F100D -:104950000000000000000000000080C06020206017 -:10496000C080000000FEFF010000000000FFFE000C -:104970000001070E1111133C7C67210020E0E020AC -:104980002020202060C0800000FFFF101030F0D0F9 -:10499000080F0700101F1F10000000030F1C10104D -:1049A0000080C060202020204040E00000070F0C65 -:1049B0001818303060E08100001F0C081010101033 -:1049C000180F07008060202020E0E0202020608079 -:1049D0000100000000FFFF000000000100000000D7 -:1049E000101F1F100000000020E0E0200000000069 -:1049F0000020E02000FFFF00000000000000FF009A -:104A000000070F1810101010100807002060E0E0D9 -:104A10002000000020E060200000077FF880008078 -:104A20007C03000000000000071F1C0700000000BE -:104A300020E0E02000E0E0200020E0200007FFF878 -:104A4000E01FFFFCE01F00000000031F0300011F28 -:104A500003000000002060E0A0000020E0602000D3 -:104A6000000000038F7CF8C6010000000010181E33 -:104A7000130001171F1810002060E0E02000000064 -:104A800020E06020000001073EF8E0180700000069 -:104A900000000010101F1F10100000000080602098 -:104AA000202020A0E0E0200000000000C0F03E0F29 -:104AB0000300000000101C1F171010101018060033 -:104AC0000000000000FC04040404040000000000D6 -:104AD00000FF00000000000000000000007F4040D8 -:104AE00040404000000010E0000000000000000016 -:104AF00000000000031C60800000000000000000B7 -:104B0000000000030C70800000000404040404FC96 -:104B10000000000000000000000000FF0000000096 -:104B2000000040404040407F0000000000000010B6 -:104B3000080C040C08100000000000000000000039 -:104B40000000000000000000000000000000000065 -:104B50000000000000000000000000000000000055 -:104B60000000000000000000808080808080808045 -:104B7000808080800000000404080800000000001D +:10448000001010101010101010101000000000008C +:10449000000000000000000000000000000000001C +:1044A000000000000000000000000000000000000C +:1044B00000001C1C1C0000000000000000000000A8 +:1044C00000000000E0380C000000000080701C03B9 +:1044D000000000000060380E010000000000000035 +:1044E000000080C060202060C080000000FEFF014E +:1044F0000000000001FFFE000001070E1810101858 +:104500000E0701000000808080C0E0000000000075 +:104510000000000000FFFF0000000000000010107D +:10452000101F1F101010000000804020202020606D +:10453000C080000000030300804020381F070000F7 +:10454000001C1A1918181818181F00000080C02025 +:10455000202060C080000000000303001010182F0E +:10456000E780000000070F10101010180F07000060 +:10457000000000000000C0E0F000000000C0B088B3 +:10458000868180FFFF808000000000000010101F67 +:104590001F1010000000E06060606060606000005C +:1045A00000003F1008080818F0E0000000070B109A +:1045B0001010101C0F030000000080C040202020BD +:1045C000E0C0000000FCFF211008080818F0E0001F +:1045D0000001070C18101010080F03000000C0E0C5 +:1045E0006060606060E06000000003000000E018B0 +:1045F0000700000000000000001F1F000000000076 +:104600000080C0602020202060C080000087EF2C48 +:104610001818303068CF830000070F0810101010F2 +:10462000180F07000000C0C020202020C08000001C +:10463000001F3F604040402010FFFE0000000C1CA7 +:10464000101010080F030000000000000000000020 +:104650000000000000000000000E0E0E0000000030 +:1046600000000000001C1C1C0000000000000000F6 +:10467000000000000000000000000000000C0C0022 +:10468000000000000000000000583800000000009A +:1046900000000000000000804020100000001028F2 +:1046A0004482010000000000000000000000010240 +:1046B00004081000000000000000000000000000DE +:1046C00000848484848484848484840000000000C2 +:1046D00000000000000000000000102040800000EA +:1046E00000000000000000000000018244281000CB +:1046F00000001008040201000000000000C020209B +:104700001010101030E0C0000003030000F010088B +:104710000C070300000000001C1C1C00000000002F +:10472000000000C0406020202040C00000FCFF01CD +:10473000F00E03C1FE03807F0001070E0811111067 +:10474000110904020000000080E0E0000000000009 +:104750000000807C4340477FF880000010181F1045 +:1047600000000000131F1C1020E0E020202020602B +:10477000C080000000FFFF10101010182FE780000D +:10478000101F1F1010101010180F0700000080C01D +:10479000402020202060E00000FCFF01000000001D +:1047A000000001000001070E18101010080403009B +:1047B00020E0E02020202040C080000000FFFF001B +:1047C0000000000001FFFE00101F1F10101018084D +:1047D0000E07010020E0E020202020202060800043 +:1047E00000FFFF101010107C00000000101F1F10B1 +:1047F000101010101018060020E0E02020202020CB +:104800006060800000FFFF101010107C00000100AD +:10481000101F1F100000000000000000000080C0FA +:104820006020202040E0000000FCFF01000040402C +:10483000C0C140400001070E181010100F0F0000FB +:1048400020E0E0200000000020E0E02000FFFF105A +:104850001010101010FFFF00101F1F1000000000AC +:10486000101F1F100000202020E0E020202000006A +:104870000000000000FFFF0000000000000010101A +:10488000101F1F101010000000000000202020E06A +:10489000E020202000000000000000FFFF000000DA +:1048A0000060E0808080C07F3F00000020E0E020CA +:1048B000000020A06020200000FFFF30187CE3C033 +:1048C00000000000101F1F10000001131F1C181013 +:1048D00020E0E020000000000000000000FFFF00DA +:1048E0000000000000000000101F1F10101010102A +:1048F0001018060020E0E0E000000000E0E0E0200A +:1049000000FF013FFEC0E01E01FFFF00101F10006E +:10491000031F0300101F1F1020E0E0C00000000074 +:104920000020E02000FF0003071C78E08000FF006B +:10493000101F100000000000030F1F00000080C0C7 +:1049400060202060C080000000FEFF010000000029 +:1049500000FFFE000001070E181010180C070100E0 +:1049600020E0E0202020202060C0800000FFFF2009 +:1049700020202020301F0F00101F1F1000000000FB +:1049800000000000000080C060202060C0800000A7 +:1049900000FEFF010000000000FFFE000001070E06 +:1049A0001111133C7C67210020E0E0202020202012 +:1049B00060C0800000FFFF101030F0D0080F07002B +:1049C000101F1F10000000030F1C10100080C0609B +:1049D000202020204040E00000070F0C1818303045 +:1049E00060E08100001F0C0810101010180F070065 +:1049F0008060202020E0E020202060800100000076 +:104A000000FFFF000000000100000000101F1F1049 +:104A10000000000020E0E020000000000020E02076 +:104A200000FFFF00000000000000FF0000070F185B +:104A300010101010100807002060E0E020000000B7 +:104A400020E060200000077FF88000807C030000E9 +:104A500000000000071F1C070000000020E0E0200D +:104A600000E0E0200020E0200007FFF8E01FFFFC4E +:104A7000E01F00000000031F0300011F03000000EF +:104A8000002060E0A0000020E060200000000003A3 +:104A90008F7CF8C6010000000010181E13000117DB +:104AA0001F1810002060E0E02000000020E06020DF +:104AB000000001073EF8E0180700000000000010A9 +:104AC000101F1F101000000000806020202020A078 +:104AD000E0E0200000000000C0F03E0F03000000F6 +:104AE00000101C1F17101010101806000000000006 +:104AF00000FC0404040404000000000000FF0000A7 +:104B00000000000000000000007F404040404000E6 +:104B1000000010E0000000000000000000000000A5 +:104B2000031C608000000000000000000000000383 +:104B30000C70800000000404040404FC0000000069 +:104B400000000000000000FF0000000000004040E6 +:104B50004040407F0000000000000010080C040CE2 +:104B6000081000000000000000000000000000002D +:104B70000000000000000000000000000000000035 :104B80000000000000000000000000000000000025 -:104B90000000000000000000000000000000000015 -:104BA00000000000000098D844642424FCF80000B1 -:104BB000000F1F18101010081F1F10180020E0F021 -:104BC00000000000000000000000FFFF18080404BF -:104BD0000CF8F00000001F0F18101010180F030041 -:104BE00000000000000000000000000000E0F818D5 -:104BF0000404043C3800000000030F0C10101010D7 -:104C0000080600000000000000000020E0F00000A6 -:104C100000E0F81C04040408FFFF000000030F1864 -:104C2000101010081F0F0800000000000000000016 -:104C3000000000000000E0F8484444444C78700054 -:104C40000000030F0C1810101008040000000000F2 -:104C500080C0602020E0C00000040404FFFF0404C2 -:104C600004040000000010101F1F101010000000AE -:104C7000000000000000000000000000000070F8CC -:104C80008C04048CF874040C007076CF8D8D8D89A3 -:104C9000C87870000020E0F0000000000000000074 -:104CA0000000FFFF08040404FCF8000000101F1FB0 -:104CB000100000101F1F10000000000000606000C6 -:104CC000000000000000040404FCFC0000000000E0 -:104CD00000001010101F1F10101000000000000036 -:104CE000000000606000000000000000040404FCFC -:104CF000FC0000000000C0C08080C07F3F000000BA -:104D00000020E0F000000000000000000000FFFFB5 -:104D100080C0F41C0404000000101F1F1100031FBA -:104D20001C1010000000202020E0F0000000000017 -:104D30000000000000FFFF00000000000000101055 -:104D4000101F1F10101000000000000000000000E5 -:104D50000000000004FCFC0804FCFC0804FCFC004F -:104D6000101F1F10001F1F10001F1F100000000049 -:104D700000000000000000000004FCFC080804041F -:104D8000FCF8000000101F1F100000101F1F100073 -:104D900000000000000000000000000000E0F0182B -:104DA0000C04040C18F0E00000030F0C101010109D -:104DB0000C0F0300000000000000000000000000D5 -:104DC0000004FCFC080404040CF8F0000080FFFF61 -:104DD000889010101C0F030000000000000000006D -:104DE0000000000000E0F81C04040408F8FC0000C7 -:104DF00000030F1810109088FFFF800000000000D3 -:104E00000000000000000000040404FCFC10080482 -:104E1000040C0C001010101F1F10101000000000D8 -:104E200000000000000000000000000000003078DA -:104E3000CCC48484840C1C0000001E1810101011B7 -:104E4000190F06000000000000C000000000000074 -:104E500000040404FFFF040404000000000000003C -:104E60000F1F1010100C00000000000000000000D8 -:104E7000000000000004FCFE00000004FCFE000036 -:104E800000000F1F181010081F0F0800000000007E -:104E9000000000000000000000040C3CFCC4000006 -:104EA000C43C0C0400000000010F1E0E01000000B5 -:104EB000000000000000000000000000043CFCC4F2 -:104EC00000E47CFC84807C040000071F07000007CE -:104ED0001F070000000000000000000000000000AC -:104EE0000004041C7CE4C0341C0404000010101CEA -:104EF0001601131F1C181000000000000000000025 -:104F00000000000000040C3CFCC400C43C0404008D -:104F10000000C080C1370E0100000000000000004A -:104F2000000000000000000000001C0404C4F47C29 -:104F30001C0400000000101C1F17111010180E0098 -:104F400000000000000000F80C0400000000000059 -:104F5000001028EF00000000000000000000003FEB -:104F600060400000000000000000FF0000000000A2 -:104F7000000000000000FF00000000000000000032 -:104F80000000FF00000000000000040CF80000001A -:104F90000000000000000000EF28100000000000EA -:104FA000000040603F000000000000000018060202 -:104FB000020408102020300800000000000000005B -:104FC00000000000000000000000000000000000E1 -:104FD0000000F010101010FF10101010F000000072 -:104FE00000000F04040404FF040404040F00000084 -:104FF0004040405F555555755555555F4040400000 -:105000000040200F094989790909090F2040000053 -:1050100000FE02424ACA4A4ACA4A4A4202FE000006 -:1050200000FF40504C4340404F50505C40FF000058 -:105030000000F888888888FF88888888F800000041 -:1050400000001F080808087F888888889F80F00073 -:1050500080828282828282E2A2928A86828080001C -:10506000000000000040807F000000000000000001 -:10507000101010FF109008888888FF888888080022 -:105080000444827F01808040432C102846818000A8 -:105090000010101010D030FF30D0121C1010000083 -:1050A00010080402010000FF0000010204081000C3 -:1050B00004040484E43C2724242424E40404040099 -:1050C00004020100FF0909090949897F0000000065 -:1050D00000FE225A8600FE9292929292FE000000FA -:1050E00000FF04080700FF4020030C142241400089 -:1050F0000080402018068000071820408000000033 -:1051000001002070282621202024386000010100A1 -:10511000001012929292929292121202FE000000DD -:105120000000003F101010103F0040807F00000082 -:10513000000000C080808080808080FC848080802F -:10514000808080C0C0000000000000FF7F40404021 -:10515000404040FF40404040404040FF7F00000052 -:1051600000000000000000000000007F7000000050 -:10517000000000000000000000000000000000002F -:1051800000000000000000FCF8000000000000002B -:10519000000000000000000000000000FFFE02020E -:1051A00002020202020202FFFF02020202020202E5 -:1051B0000202FF0300000000000000001F1F0404A3 -:1051C00004040404040404FFFF04040404040404A9 -:1051D00004041F00000000000000000000000000A8 -:1051E000000000000000007F3F0000000000000001 -:1051F00000000000000000000000000000000000AF +:104B90000000000080808080808080808080808015 +:104BA00000000004040808000000000000000000ED +:104BB00000000000000000000000000000000000F5 +:104BC00000000000000000000000000000000000E5 +:104BD000000098D844642424FCF80000000F1F183B +:104BE000101010081F1F10180020E0F00000000037 +:104BF000000000000000FFFF180804040CF8F0009B +:104C000000001F0F18101010180F03000000000004 +:104C1000000000000000000000E0F8180404043C5C +:104C20003800000000030F0C1010101008060000E0 +:104C30000000000000000020E0F0000000E0F81C90 +:104C400004040408FFFF000000030F1810101008F0 +:104C50001F0F08000000000000000000000000001E +:104C60000000E0F8484444444C7870000000030F12 +:104C70000C181010100804000000000080C0602014 +:104C800020E0C00000040404FFFF0404040400004A +:104C9000000010101F1F1010100000000000000086 +:104CA0000000000000000000000070F88C04048C7C +:104CB000F874040C007076CF8D8D8D89C8787000E3 +:104CC0000020E0F000000000000000000000FFFFF6 +:104CD00008040404FCF8000000101F1F100000105E +:104CE0001F1F1000000000000060600000000000B6 +:104CF0000000040404FCFC00000000000000101090 +:104D0000101F1F10101000000000000000000060C5 +:104D10006000000000000000040404FCFC0000002F +:104D20000000C0C08080C07F3F0000000020E0F095 +:104D300000000000000000000000FFFF80C0F41C25 +:104D40000404000000101F1F1100031F1C1010009E +:104D50000000202020E0F000000000000000000023 +:104D600000FFFF000000000000001010101F1F10C7 +:104D70001010000000000000000000000000000013 +:104D800004FCFC0804FCFC0804FCFC00101F1F10C1 +:104D9000001F1F10001F1F10000000000000000077 +:104DA000000000000004FCFC08080404FCF80000FB +:104DB00000101F1F100000101F1F10000000000037 +:104DC000000000000000000000E0F0180C04040CDB +:104DD00018F0E00000030F0C101010100C0F03006F +:104DE0000000000000000000000000000004FCFCC7 +:104DF000080404040CF8F0000080FFFF88901010F5 +:104E00001C0F030000000000000000000000000074 +:104E100000E0F81C04040408F8FC000000030F186C +:104E200010109088FFFF80000000000000000000CC +:104E300000000000040404FCFC100804040C0C0036 +:104E40001010101F1F1010100000000000000000C4 +:104E5000000000000000000000003078CCC4848412 +:104E6000840C1C0000001E1810101011190F0600F1 +:104E70000000000000C00000000000000004040466 +:104E8000FFFF040404000000000000000F1F1010CA +:104E9000100C0000000000000000000000000000F6 +:104EA0000004FCFE00000004FCFE000000000F1FD8 +:104EB000181010081F0F080000000000000000007C +:104EC0000000000000040C3CFCC40000C43C0C04C6 +:104ED00000000000010F1E0E010000000000000095 +:104EE0000000000000000000043CFCC400E47CFC66 +:104EF00084807C040000071F070000071F070000D4 +:104F00000000000000000000000000000004041C7D +:104F10007CE4C0341C0404000010101C1601131F94 +:104F20001C1810000000000000000000000000003D +:104F300000040C3CFCC400C43C0404000000C0801D +:104F4000C1370E010000000000000000000000005A +:104F50000000000000001C0404C4F47C1C040000D9 +:104F60000000101C1F17111010180E000000000088 +:104F7000000000F80C04000000000000001028EF02 +:104F800000000000000000000000003F6040000042 +:104F9000000000000000FF00000000000000000012 +:104FA0000000FF0000000000000000000000FF0003 +:104FB000000000000000040CF800000000000000E9 +:104FC00000000000EF28100000000000000040601A +:104FD0003F00000000000000001806020204081054 +:104FE0002020300800000000000000000000000049 +:104FF0000000000000000000000000000000F010B1 +:10500000101010FF10101010F000000000000F042E +:10501000040404FF040404040F0000004040405F47 +:10502000555555755555555F404040000040200F7F +:10503000094989790909090F2040000000FE024250 +:105040004ACA4A4ACA4A4A4202FE000000FF405089 +:105050004C4340404F50505C40FF00000000F88837 +:10506000888888FF88888888F800000000001F086A +:105070000808087F888888889F80F0008082828264 +:10508000828282E2A2928A868280800000000000F2 +:105090000040807F0000000000000000101010FFA2 +:1050A000109008888888FF88888808000444827FD8 +:1050B00001808040432C1028468180000010101091 +:1050C00010D030FF30D0121C101000001008040265 +:1050D000010000FF00000102040810000404048421 +:1050E000E43C2724242424E40404040004020100F2 +:1050F000FF0909090949897F0000000000FE225AC2 +:105100008600FE9292929292FE00000000FF040838 +:105110000700FF4020030C14224140000080402083 +:105120001806800007182040800000000100207051 +:10513000282621202024386000010100001012924E +:105140009292929292121202FE0000000000003F22 +:10515000101010103F0040807F000000000000C0D1 +:1051600080808080808080FC84808080808080C07F +:10517000C0000000000000FF7F404040404040FF72 +:1051800040404040404040FF7F00000000000000E1 +:10519000000000000000007F700000000000000020 +:1051A00000000000000000000000000000000000FF +:1051B000000000FCF80000000000000000000000FB +:1051C0000000000000000000FFFE020202020202D6 +:1051D000020202FFFF020202020202020202FF03B7 +:1051E00000000000000000001F1F04040404040469 +:1051F000040404FFFF0404040404040404041F0062 :10520000000000000000000000000000000000009E -:105210000000000000F8F8F0F0702000000000002E +:105210000000007F3F0000000000000000000000D0 :10522000000000000000000000000000000000007E :10523000000000000000000000000000000000006E -:1052400080000000000000000000000000000000DE -:105250000000000000FFFFFFFF0000000000000052 -:10526000000000000000000000000000808000003E +:1052400000F8F8F0F07020000000000000000000FE +:10525000000000000000000000000000000000004E +:1052600000000000000000000000000080000000BE :10527000000000000000000000000000000000002E -:1052800000FFFFFE060606060606060606060606DA -:105290000606060606FFFFFFFF06060606060606CA -:1052A0000606060606060606060606FFFFFFFF07B9 -:1052B00002000000000000000000000000000000EC -:1052C00000FFFFFF000000000000000000000000E1 -:1052D0000000000000FFFFFFFF00000000000000D2 -:1052E0000000000000000000000000FFFFFFFF00C2 +:1052800000FFFFFFFF000000000000000000000022 +:10529000000000000000000080800000000000000E +:1052A00000000000000000000000000000FFFFFE02 +:1052B000060606060606060606060606060606068E +:1052C00006FFFFFFFF06060606060606060606069A +:1052D00006060606060606FFFFFFFF07020000009F +:1052E00000000000000000000000000000FFFFFFC1 :1052F00000000000000000000000000000000000AE -:1053000000FFFFFF18181818181818181818181880 -:105310001818181818FFFFFFFF1818181818181871 -:105320001818181818181818181818FFFFFFFF0079 -:10533000000000000000000000000000000000006D -:105340000201010000000000000000000000000059 -:105350000000000000FFFFFFFF0000000000000051 -:10536000000000000000000000000001010000003B +:1053000000FFFFFFFF0000000000000000000000A1 +:1053100000000000000000FFFFFFFF000000000091 +:1053200000000000000000000000000000FFFFFF80 +:1053300018181818181818181818181818181818ED +:1053400018FFFFFFFF181818181818181818181841 +:1053500018181818181818FFFFFFFF0000000000A9 +:105360000000000000000000000000000201010039 :10537000000000000000000000000000000000002D -:10538000000000000000000000000000000000001D -:105390000000000000FFFFFFFF0000000000000011 +:1053800000FFFFFFFF000000000000000000000021 +:10539000000000000000000101000000000000000B :1053A00000000000000000000000000000000000FD :1053B00000000000000000000000000000000000ED -:1053C00000000000000000000000000000000000DD -:1053D00000000000001F1F0F0F0000000000000071 +:1053C00000FFFFFFFF0000000000000000000000E1 +:1053D00000000000000000000000000000000000CD :1053E00000000000000000000000000000000000BD -:1053F0000000000000000000185400080000002019 -:105400001C000000AC070008345400081C000020F9 -:1054100014290000BC070008000000000000000084 -:10542000000000000000000000000000000E270740 -:045430000000000078 +:1053F00000000000000000000000000000000000AD +:10540000001F1F0F0F000000000000000000000040 +:10541000000000000000000000000000000000008C +:10542000000000000040000000000000000000003C +:1054300080800000000000000000000040400000EC +:1054400000000000000000000080000000000000DC +:10545000000000000000000000000000000000004C +:105460000A0000000000020100000000000001002E +:10547000000000000000000000000000000000002C +:10548000000000000000000000000000000000001C +:10549000000000000000000000000000000000000C +:1054A00000000000000000000000000000000000FC +:1054B0000000000022222222222200000000000020 +:1054C000E05400080000002020000000AC070008A5 +:1054D000005500082000002058230000BC070008E9 +:1054E00000000000000000000000000000000000BC +:1054F00000000000000E270701000000000000006F :0400000508000131BD :00000001FF diff --git a/Example/EpaperModuleTest_GD32F303/Src/main.c b/Example/EpaperModuleTest_GD32F303/Src/main.c index 63cacd2..5c09545 100644 --- a/Example/EpaperModuleTest_GD32F303/Src/main.c +++ b/Example/EpaperModuleTest_GD32F303/Src/main.c @@ -94,9 +94,12 @@ int main(void) epd_paint_showPicture((EPD_H - 250) / 2, (EPD_W - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); epd_display(image_bw, image_red); + epd_enter_deepsleepmode(EPD_DEEPSLEEP_MODE1); delay(8000); + epd_init(); + epd_paint_selectimage(image_bw); epd_paint_clear(EPD_COLOR_WHITE); #ifdef EPD_213 @@ -130,9 +133,12 @@ int main(void) epd_paint_showPicture((EPD_H - 250) / 2, (EPD_W - 122) / 2, 250, 122, gImage_4, EPD_COLOR_WHITE); epd_displayBW(image_bw); + epd_enter_deepsleepmode(EPD_DEEPSLEEP_MODE1); delay(5000); + epd_init_partial(); + epd_paint_selectimage(image_bw); epd_paint_clear(EPD_COLOR_WHITE); #ifdef EPD_213 @@ -145,15 +151,36 @@ int main(void) #endif epd_paint_showString(10, 29, (uint8_t *)&"Designed By WeAct Studio", EPD_FONT_SIZE16x8, EPD_COLOR_BLACK); - sprintf((char *)&text, ">> Hello World."); - epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); - #if 0 epd_paint_showString(10,100,(uint8_t *)&"GD32F303CCT6 Example",EPD_FONT_SIZE16x8,EPD_COLOR_BLACK); #else epd_paint_drawRectangle(10, 103, EPD_H - 10, 116, EPD_COLOR_BLACK, 1); #endif - epd_displayBW(image_bw); + + sprintf((char *)&text, ">> Partial Mode"); + epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + + epd_displayBW_partial(image_bw); + + delay(1000); + + for (uint32_t i = 123; i < 8 * 123; i += 123) + { + sprintf((char *)&text, ">> Num=%d ", i); + epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + + epd_displayBW_partial(image_bw); + + delay(100); + } + + sprintf((char *)&text, ">> Hello World."); + epd_paint_showString(10, 71, text, EPD_FONT_SIZE24x12, EPD_COLOR_BLACK); + epd_displayBW_partial(image_bw); + + delay(1000); + + epd_update(); #endif epd_enter_deepsleepmode(EPD_DEEPSLEEP_MODE1);