From 1d0a21cd92f233cf1c2cb617de67e844493458f6 Mon Sep 17 00:00:00 2001 From: sergeyyarkov Date: Wed, 18 Oct 2023 22:52:41 +0300 Subject: [PATCH] first --- bin/Debug/modbus-logger.exe | Bin 0 -> 31031 bytes bin/Debug/modbus.dll | Bin 0 -> 103936 bytes bin/Release/modbus-logger.exe | Bin 0 -> 37888 bytes bin/Release/modbus.dll | Bin 0 -> 103936 bytes bin/Release/settings.conf | 12 + lib/libmodbus_win32/modbus-rtu.h | 43 ++++ lib/libmodbus_win32/modbus-tcp.h | 52 +++++ lib/libmodbus_win32/modbus-version.h | 51 +++++ lib/libmodbus_win32/modbus.dll | Bin 0 -> 103936 bytes lib/libmodbus_win32/modbus.h | 329 +++++++++++++++++++++++++++ lib/libmodbus_win32/modbus.lib | Bin 0 -> 16854 bytes lib/libmodbus_win32/v3.1.10.txt | 5 + main.c | 288 +++++++++++++++++++++++ modbus-logger.cbp | 52 +++++ modbus-logger.depend | 28 +++ modbus-logger.layout | 20 ++ obj/Debug/main.o | Bin 0 -> 2703 bytes obj/Release/main.o | Bin 0 -> 6933 bytes 18 files changed, 880 insertions(+) create mode 100644 bin/Debug/modbus-logger.exe create mode 100644 bin/Debug/modbus.dll create mode 100644 bin/Release/modbus-logger.exe create mode 100644 bin/Release/modbus.dll create mode 100644 bin/Release/settings.conf create mode 100644 lib/libmodbus_win32/modbus-rtu.h create mode 100644 lib/libmodbus_win32/modbus-tcp.h create mode 100644 lib/libmodbus_win32/modbus-version.h create mode 100644 lib/libmodbus_win32/modbus.dll create mode 100644 lib/libmodbus_win32/modbus.h create mode 100644 lib/libmodbus_win32/modbus.lib create mode 100644 lib/libmodbus_win32/v3.1.10.txt create mode 100644 main.c create mode 100644 modbus-logger.cbp create mode 100644 modbus-logger.depend create mode 100644 modbus-logger.layout create mode 100644 obj/Debug/main.o create mode 100644 obj/Release/main.o diff --git a/bin/Debug/modbus-logger.exe b/bin/Debug/modbus-logger.exe new file mode 100644 index 0000000000000000000000000000000000000000..3387da30b0d7029bea5b703ce9f6f0d2b18c4129 GIT binary patch literal 31031 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 V3{TIJX6HaF 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 z繤}PIteNK;>n;d1uj;1mwQ^jT#3TsMyzJ$Es;cpL3U1cUU=P~5fD%-RRvTM1 zwEk_9WmBpj3Z;r}&Yvte;;Uasy)eoL_NKGINW>#DDmTj{xMLTog&i^L11{iYhxN84 zu1U=$mF(FpjoFK}%D_ywudYmnK_r1Jt3~Dn{-o_orYKM3ozhD~ru(uYm@!H@jyqN6hF$ighQ; z%;b*n54wSa9}>XF z%Iq$Vy_pc&po>u92iT51B)3Gb8hB|M zdBiHvI)bPuZi~-1qW42gOjC7J~Rl9fFXul_ z8?G6VY55l5=arhdT+vJ@Ln^9Su#y$;(o#$AyitrUmnBb`)a72UT;{&nwirccIpVYn znfb3*SZnM41=Q%Y*V@_3*{7{#tsP_CC(+CAjW4*La4?hw*YT<>xL!-!&AaS^!?W)- zmHA%ldwi6+e9nApChPKMDXN_sSUtJMlf^UlDLxSF)VB*e*tzyXxm&Gr3z-@Lma_sx z{bo%&X`GvU+uU>Y4tLxjzP+L*q&22J3nhWoDaWJq25^Awp;;h zeSx3~n?6~d|5i`{F^-ply`fa!OND2eJ3ML4aS#hTWlJ)kv!lnmP!7)Fxx4f;7q1@4 zMRB47#S`O@4xBJ#2O=y4xuoRu87_R=S_H=<9DKWo?GgXDvpp^c$Rexyn`}dZrwOxD zupl4$o(bK-(=IIs5Vet07Fp77r=;JiTnnS$6f+)U&WUwLEebfb5BW{f4h&7hbZ&yd z6I&~bsFD)UPyYotx3YcwDmee+8$;l%Q`_wSN8l_|aGrObk_%ttk{~vC$T;k34fL<_ z1bTfBZDft9JtGU@3ey+;nrHEnMUiWN3CE$0la@mpg-uxf zJr_bCE3W=*Q!M*Qw*`O8YNv|cE&e+AJI>!B{@VF#;%_^D=B&p~8M7Wg#na+x@jT7*G|x_+ojkjE zcJb`x*~=3}*2nw8ZbVTyqI9}?TqYy=i^Napoh z2p{Lq!As+8*Z9K?b6omIs`oxtz4z}!sutMdc?QSoqa^)fH3|(wa;_hej~39v_?Ug< z(m$4w^*vMy{TNb$y6*snyZKwn-@W{W_*=st5`+GK;E%o@Ltl^KnaMMgX9mv>v#t8@rEQq`vL^we$D3)SVcc*)Dou$XKX%T03MMXd8L#xO2u% z(FL;*-kB{7Yd+{j6!tQ!b2&!=ak*!+ZDZ=BE`BHLK^X*PSN%bWyf$36)@|+k6E8=290warelAvfgPcE;S-92wQzk(Sn;hMA6_r}@1! zQTg}RAJE3ZwJUO)CtOFGqvO(!y7tz>2Bln)+wjyM3%yH)X$O}quD~+D;ORAYaP7by z3Sut)QX_as3HPXlB2%r^c#rA|9ABRz#iT|_J(pjv1gHpTckXab;vOI7iU2L`px8bb^WQ`a?dnH&_T9Oyb`!6_T zaNVj$%?ZLu^Y2_8*QOKA~83Z^5dAwMVWoidC06z^coLv+Dddt1c4;-5ABHQ%t+U z2Zw!$TX&n5h+DLHiE!>}&J?U1RfC0t6yL879sRJy+?{u%=G}2eEp~%>NAN*x`RiEZ z?WGe5C4}YRFYRgW=3TnL7iH^IAB*OOLlL ziH>EGF*06uq^VXb`LSf0Z0%45VY3f%Tjh4eXMLZFY;{55jN2-QiK~?{Rw1cFH45*t zzXOl)E7TEvJ7+oFdPhOx8^W-W#g#*uSuN7S1-H03Xu9`CV|M8t-2mDULRjd zE5keATU5m+(yHTW@93-t37QU@&tvas)qMq}t_z%9eT`KvU%z5;;_H?6*U69BVE`0y zV)jcBdL|}*$D}nWZL&>}I(>DF-$0&=35N^43yRB1(FZHcSWt|?264Wp6j~^l0h#mF zFP0*Op1}Ul4#OFJIUyhXcfR^rq=@A0cjbB3_wW*)(k!>#tjKM=EBYi`?jdf4*7U0` ziw`yf5#ReydQ@1YY}nDzH{!eM>57(p)fV60$BRUsY(u%Akl86yO(s&w?L`X~RL<)h zuj?EVSX zsCY&kos^W86`LQ50DayO?4QSChmnS*Pd_w2F`H31emq~85Tx!UJr;W(?mV3&TAY=i z(Ju?ES7$gJ>O5Ow-ka^YeL*agondWJW8+=4+as=hEIAMU;RS^Nh>Rax^^K~Ig+j`3 zJ$GqSfi}+C%K^`}^MwRq8RFDnA#HQt6zn3tl zb*tXWjmoSTcg%+A~%l{IWK=&E_&FUi>+_Vu~Yb5D+D+3afT3wTus?cP-5YE zIBoR;!2!8a#Fes^uJXw=^2&!>tdVqx=q!1DK=14lUYxRjF#iyq4R zh^^38RkoMsw^XMw&$3HDoBSzn@GEzvj-~` z!%y*QPsy0{!lz}takTBWD&>B*#jHLBFQtALHN?m28rrpsBpItC;G}gAR0cbd+Px-n z*W!q&$VwxM>*(kbDJy&!D_~~|RoY_}y-^UU%pW6iSB!ad9E?b(WfeI}mo!WmebU^L>~= z`m}c8!I;N=^{5OuDw~#wdQ28K1-1*Mt7Vc*ewLxE+(Ht}GhtC=5L;y3NF8nN?9;`> zZ;)!lyZu#m=U1ykcRTHHmkH>o_O8@s() zYHgw4;mC4C^PdyAs5iIB`m=nDELVybsXhW@o)h>;gui<{o`_+zK9wGuEX}l<;_t{U}8JauWBZ@*+I+VUQ_sWI0}aJ4NNa(1X7FsCyV}?%cksPm{t)+R4Oj;sNcT zp(-pbMN1ytbkR`v6mj>KEmJ+NW1FsOM}gp9Sgh?# zGpupJ1h@+=QMDEiY7*m8bI8W`mv-M8!MBZ)j_4)UqXV^BPpJC!!nf58Ut&pB8;;=H zW=V(j^af}$V`*vf33XIm5EfP6cI1f;jc+&iT6B*)7+K9BI8H z8i`|n1`9lvTMJKH?KOhgC^mVer#SI&W1wAQeZJ(}Rmx+xuco?JF|oVkaKYa0ICBce z)i~v=&PZB=!|jahbyz?@UEFvX>jnIZ1k3!QaPTzK0%wIqR^bS61ncCAhyNqBzkjI( z#`z4rL*#;z8^_Iww$+@yR!h+fGn1ldqULBWA~`;>Fg$uI-xS_;-3%4T_C20Y0BUk| z&Dq>gYFjV^rnw_Jsd3oU2SVvn7pf?aL|slA{osfW*L(fig=E)8s9f%;3pMu~`NY2o zIFKy4uI|w?d@t?yZS&6WZgz)YEbP}KxzS5e)aHAkiH-YfBHyk#b20I&U3w%-Z{8ay z%vgCbKzmSSUGa6z9oV<(a$eoKxbwyLTIOvS&CZgykPD``ERNB;(5LhLW>JRg1WXla zy1A3DuiNa_F5T?Zrs*9?q10ORWntN@PNkJO`C8wquUX}b5!wi5I@=sqkc1vmVP7oj zBPOZJv5@KRYGsBpuykmWF-77-uAW7G=M12UR#s*rPwqKML)|DNMmewuS!6xW#Sw@<^b7}Hby~~Usxurs>#oL#t*6JqVp;m_TN+l z+W$gT^gd(&C{#r!?XZIA0O6q!?d1Jjh{X6wXpv0+U{_VLeFd`^ilKIwq4;{eD348c z=i1!ZeD?zvm?@3(rgh;MeT45N=X7I4bOcP4X@~vs#=uJWk;N;rwSnQKzN@DkP_-P@1{2PyZ-YBt%?XGA78WocrYr zfkCyzfh3a^3emY%YbrqC{uL-hw#RK9lu=5sz68B4zyVn8ls_QcAXnHwWAPolKFk=3 zNy1V3B!BGNGGV3^7mJ=^PL^7WL*Y z%3=eMf*_F*%rYm-UPHD9*`jZqL1#0?!|vaam+NiZN-K?UU)|$Gtesiak#}TaPY?C4 z_*QtCjdAi^llsUZhB% zaE$Nqe<5JItsYu3vR=~nuMOJZe86agP`py(w530Rml(qj$NnKhMHyfa>@mQS-!frXdyNP;Mp;JGH%u~vU0Ge z&l!U^%*lS$q4YMXc8AJ7tObSr?#MPuubrm%cC4PlFxi7T+WIv+Nwbf0!5`X&sa|PQ zz0$+R1`}kP&l0;WhnLl3HC~1&Me|3dYr7tgCLQeLzwAPy+%oJb5 z9u?IZUe*CuOPvEOH~YPTt6!>8OVsZxw`KHX)Rt zUc8b83kE0pa~({*;!>IIXXw})L|YtoN~xOb99-N04B7A)lOjdtvt<7I)%^7i&fm<${C!@Acxr77`o3=Uq@i=S zZ36v%-rT)VdhVRLD-vU&?}gnraph8M<#F%F2$#tx84sDge2K=vf6EX?69UZATu`jo z+WWbUgl&?)ic9-P(3rP`{jAPRi$1LQdQ4v>rVBY zVBM~s*I2ixXRb9vJttW=sOK2#I`y1lU9Fx|tt)uydkSK!3apD%)GW)Vo^!2X>N(Gf zv2?~(6m+P|v%qKdR?F)|=|N)H zS0&ag6?|5L`6{?kg5OZV%@Q0>P~US+;ugmql+a`|C6KJd>YxJ-vf%jK9Y}ukF*p>& zd~~P8AUH93y^1Nd-jRkhR;O=+JA36vm{-`7#Swb2QZ6^#a-q<(TP_!H zQJr*yQ~L&mzIMa6o!XVdv5VPk`EQt>q+Lwp$Q!=x(lABs)_1#ypVHuJA|tl`(x$^5 zdXuxIXE)Qp5z1^#0v4+I001cTcF%6vy@WPam?TL32Z(Kz`hQ3LJM`wHXhQ;`zpi~| zOf?K9wcW5!!n45uX<7VGn<->TM7O#)&9i?C&vZ_ct=4MnNm;hAn22XZwXYPldf-3l zdtuikM6G%o7M*DgevYWsaFMU-Z4I6okgv)R5vyQd(E=g%h-|?Hw4OOD7@5Tp%|9jB zH6ZH6Eo26p-@frd?>X{SgV)~IuxIvdn>)PNJW>0uqXue^J?XhAMq!6JH_5lnQTr#k zlCO=%Zo)f5hrbMW(D?VNJ?m_Oetn&bou>S|>pQgc0-PGH>0*1Zi7irIQ@Fb0`RA*W zo?jSwl6QTX$59$aWV-r|O`A5ElaGUP^Reh`Hvd$AZ=7ql*jPPW``$Q?nQTYcK0KIw zi@vX8MtDtqN7Xpgy>j*y9PMB$RzECmqB__Gx8vx0JxA*AsPBj->tw{jtpeh+=nu@+ zpH_`4AAeZYT>HM%`(W~X{XoZTIrZioKpOn$d*ONY9p*&Wr(6t~6Z19CiYxL*4B2IBG-bHh6vju(CGH+3ng{1T_zuT@dx#Lw`Klo@)8A%LrYG=mNRR)I zba)kBFc(I|{A6J4A;B62p6}6L(U}RXsV(f_t>%9V$j{kuo&wtN7$@wM$j<=pIeD*L z*1_7l&UO5+fc1dj^ZP^a`4}T?t_gRT2ge_ zl!n1B=&Jhl=$~K+_MEtMF9eVtO*?_3Jity{)S;g#;Nq3re19)Do;o7x4af(@-1EKHwZm zL*@N{GYyq~{R$e|OY~n)L)Q%QG}w{K#WFgB!3Hk=X6NlKGlJ{c5E+XeHMFOUMO%zT zn~g;qjYZEIi=H+Xy=W|Y0$w6=K+QpfLgZguyy0Mp?21JWXg)Gfh{_rzFEl1$z0-^J zPS4cg7!pm_Tr;B4-{v+Z&Ct)J`5qB_Oo%vdztrh(Y_Ew-tU2RZox*nRmgpbM!fZ3u zG+twoFjF~HBv&PuN87OfsarXrvG|!!S5{a|mTmJu^w(8M_zQegw$#yo(w9Ao6|(Z^ zPgR|UwwY>I{qp<@-Bs@BucqdNCQQ9Hlzl@>=;f(1eUFKsqp88Q{;A*bJ(ersWxmHJ z@T^LS*4|Q;7D3c0mVngv@a?>vSFNw^4kB-WtApf4%q)2!BGL`O5WQq-{<=%_>Ma+q z93Bg9xw@rc7;?d};EVLd4K3C0eW@OJ8!^B$0Ixm*M=nNLsmRbaYF~r*SZJ3Fbw@L) z`9D<6X^EN>snw^VuU_3kk*TS^M-U&0Rkf6!>Upvj}RU2-YmM; zuevuNMLdy*ghx{NRIF-Pd8B}F)v(Cl@-Vb#qb>!1=*%?}r+QXxza=^$QR%AZZ)l0` z(5tf?p*eQF;ag&SG_;%A|J}r9@Mg4P)*C3Jp5Snb<%RsYn5^uKr-pZS;*1 z+#;>^J^T(iqUBY?%Wu)K@vl73M|bjhY|dUx>$ASUcern7C+@Tk)t)KJa5&bb+THr6 zX!6SocsB~4j;2k`_dO1yAZ90hqJ$M=gj--KX7K5} zBQU}8OP;Du>N)NTzL;O~tmbkBGxJL}YOb8%m}&AY-{V&R-Lw~@^xvc3Ao%hjk%)-g zV+3Ca?8cBTNM4=ZbNuDp9|^zg1yb@$G7!XSsxX3k@=IRu)nSj;5oM=Smv_VrzR+C# zf=h3{L+==76xK-%;%h-ngEpJTw+o6_xR~DXnP`Z2LX)wyOmVCCS6O3bqD09(2gZoJ;U7HbKJMB z({-#n_=YniGuvbks*jt6#}D84c5}zL!yl(1Q1M3dyW zIDGX})n&))zHNnjOs&-{*#~PW`pvfB6K?WTMYjUy6)BvzmuN7_5%m#}VMAsW3G}>f zv$`QI_-KXUt1#vaH-k?YtCNf}Y&;_yB2xQT-Yopx^^K#P{&)DBG}`I^E`KlZcZ$DW z{)#Vh`fucK2Y>(0-?#aT^Nm7->mE7>V@k`y+z(WDie7<^1je`5z9;?0iq{%E z^m=RXFn>q*JIdc1{QU=i$M}1bzvKL!;P2$w*5F$=u>?t5jKcL59FtR8XC_@6b@Q7g zezdAP!4vJ9$S39?O!)OYW?wtp{Qmarbaz&Tabd&Eq}G`(XX{LNZbNah9O^Ffh=hVY zgueP;NG~-NR2Z)9glaI^>PAe>*VD>d0r&J{zQ>)z0{QTTwW92cr69f&sLYV~bh792 zdQGL5S1j;UjV`jvX3L80&Fh92mafF=t@q}sMI1nqqgPkD2lM89IqypYd7)*I`_VnY zxTSgGdwczbu&*%1+S+VohTSv2-&7c`^LYR3wbRYLC}o0)zFo&FV0tM++4Ghnm0Q5G z4-M^oqxwCW{V1ZGy5xCy|qQ&9|)x9v{mP$6Es*v|=myL-W(TPi*pNXxn#6 zhmSun{#bYt#yb1eE2PY)zraVJg+6@)ft@y;?DswLq`cX5vVXOoeUxT#360EBE*1Fn)O^P@c zZZ=DrTzid@7ok`s;d$w>WpSJPgaOqIKH=Mj(AQHCM_l>(e$%cm+vo_phvV+u9cUKf zD7VCrj*Sjuwjz!xIx|qe?AEkXl_08{%I~+;dHy5@U;{=TizMyDi=MWm%DKxV4 zd>Z+wqLH7{&~8N|y9a3G=ZZ#tK1b2W&xJ;I3yu6VKEY71lpC}-o!pKfw4#$8=g~=v z%i(u?^*5s56~r345w7W_3n|krcY_DHr{@E=TrnN%2i)aDD3xmvdl=YM7DK zI>VjYiXX1X;xjB0u~B%^9JR#MtmcpWwIB5}5!CkYLxz==i``rYIvZGVIlQcc{gmsi zG&Wbv86gzSvBK9-W&jlJID>Ir&pWm6$0)OQg52QPrS7w2*A$gf9Rs^2DbvA79uLoP zhVR6zIUCb0NR>RcRlZolR5+#XKA`%W_^w&qAzud}ypA+nmRM$I^GD-cN79a&&EZL@ zfED&$V3zD@{&-wkJKss`2~SN5^eV=8CTg5{N6@WE=5~Ii3uZf}{Evj3sNT1SGjffR z*RZPQ4jfwPobD=oT?pXbw0+@8xF_#0wbu+G51Fp+n&w~? zQBDrGGLdd=blp02a`gx%P;^#JAYV&ub>-d~Sk$!gQ}(>_bkD4aIr?2!AFqkJkU?x% z=xRl?jsAUfU|)peDfUG*fm|*5R%TYWlsvKW_iQo@|10)#ShBvgK!$U7|Gt{{(lN@^ zP?Ut_%+>g|5KDa$jfr^SKcJ_#n7 z`(JTz;2FQKbf*J~6dG^qr-w!d4usMI`?L$wMS&*jO&3dl(d2Z8n=#riJ5Lv0LCDOd zotBc;8cj;uy;$mXJ3{0_nh$-%?%n=S@^(li#x}}cmHNAPdqPQRE#14_l8d^!cPB}R z%JEqrFR5&G_3TzKCZ)BR`*tc24}``A4g%PI06QRn-D3k*U;~!Lv5haemW)5V_^#T| z31V1ZJ(EJi1BW$Vx^!ZT-d@m>ULc`_crCE~>_oM=rq4T~dZ@~Or`>b==sD@hee|SX zo=M#;S@LvBkEYb_6A*pd_M6Q+rI*IH?h-&l*-APmbkQ_vR>;Fa>w>g5qa(;p4@9LH zBy;@1ke}`&Mw1kxR0}CL#2X3AG2){q z?(3r!;&bEwdMn1ah9=msUuwhd1@_TEN2|_<9~6+b{#9+jQ44CSXdj5l18yW~e(eY2 zTwJPEpZ5KFQ70lnbxjYts{D(8DIG!&AMpHAutP#PP?ByWl=Ms0F@&79S=W@>12O_; z`>TQrpI zXf0JcT#Si4u?%q9JTyM&={Yj~SlS`>dbo#(yhw^Qnw7YS4V0CeieL<_VRO}$ccgBw zwCB#A=6Hklc?jAq+J`@>c$4-e5tP9eoKn_H>JKFF%4{CrBB+!_GQ&}znuD5md^m>l zq_3EF$HpJjBL$(cwUKx;BGL>{N;N~C(hPYfnY+#Qyh3kU(A(2Y|EsC$aMU1sqeKpD zZNn0!Zn*R+^mhHqV#TBbjcL@|P50wDMj)vNVP>hlKIIJw@SJ+3uwqB!*lQMAuWaJY%67^flSn z#6l^7Q1&&eu0_k!^#0bEmyNr6ufFED=y_gb>v_)lt;f1ql_s!+Ky;gcz0^pTIuT2v zEs&Ss&wf>#|dfud>g0F~ev-DAvj8{hYqEGSx7 zzNq{zG&*C4Y(gSJEhzeHjYuYlsBh789jHZe3$CSh*VOT8r1Z4J?&e_ zTJ?Y0`x5x3s%`xpC{P(BA_@pfm;_{K=6Pso3$3;#w1rltk~XJpAWdQhXt{u8Qn&?0 zMMXtLL_kGFMdboliXg%jwJ6FUYLSXXP*G7v<$dd%oFr|ja^HRLfB*OQO!?U7>~Zb2 z*PhqjM^bgRK8eEMU`DXVn0gI8;}Av)uZR|ED=44|+I#py)C#dzVvGG&PEBQ*>VNgt(zT#KfaNaV${#~?MbTaKk$9iid>dW1A zJ04W?=O=i!pxE#|&X)LB3Q`kG`(kc;={h?&^)#I^+RmS2!mUokJ1PP?aKhg-^^{aN z;1so)C=}W#lo~$XG907f=*L^S)jvBl!k4V}GMq5LmF*U^8T{v47V(a~LBWY5xKg^y z+~PP!A8%Ow;f+p5x?LvP7M}@zu+>Ge~x^?Z}e4iTMyi669U?vaiyw{_p$Zrkn0zd8thsx^T(8g#Js-qD>MY}4qE7n=*@(NsB zQN?gd3M;PhIQ@yWw1wC`nYj-KraR6nKx9=Kx+@WCA2<*9N!5+Q*{|Tlxijk}p?tap ziWFW+xAHdLDixRUy@NGG6c?HQ_cO88*bnGmYLar!!_y}q*sq5s@=8ed!AO9d}r>WOx9XCA&3 z#6o$^LS(D1-cAyZQTt+!?syi;tR=D*Rur4uR=6=h_8y;$$SIJn4N4LUy}#tWlUkpZ zh?P6}LSNiMU%VmIzT;iPsqCax`S@%dzexBD-Gb6{vANUY&fVMX#lilnpJ*ugvIBOc-@cotmEAzaM1F;naJC_?HlPrq$jO9k1H;> zeJ^eI!L~1@vs3F&q3ZJ2#29?>!H+kyN*vzGkH`0@0(!sWt8?iph-#&~LRl1oOU*&>-G`R6w$$$9x$O$l3 zu&D2dM7Hn27$OPBmD&K#`THjZwc5)~!GCPp!I zU4;~LQ;Z-&SK&SG%n{t=l5^%r_!?+u-_B6>fxk0HT7ERH;q}aW77x2LZoBx2QD3lc%!MxqUQDJ3KOuX}|wr@Ks9fKKo+pY9nQd~%O zM)fXk&pJ2vhfDN{(hpQSp(~2fJibyI>d}w?Sm{S(NJ8;gQN`#mv;$u~qnj~@UBo7< z7B{zkZ#)|8k1v^iO`50MgV(|8Fsxd`YTt>6CKd=Z55t9KAbr@cf^m_IOZ^6;H9@TZ zW52Ee2{TWXuv>r|fVRNdkc6EC4gouW7l9{$`+-W}LtK&jIdBTN2(-TgVS!r!BajB< z0>!`#U=i>r@ElML8~{!M7lC-cgxv(lffOJg2m<#5tAS0x9^er04e%S#9yH$!$bmE< zAMgQlfTh4XU=y$l_yjlxoCewkK_?&w5`k>M4a@_c05$?x-C$n=XMs-0>&<``m9InK{t;%(ne@cROscG4Ac(Mfioi{$_t zUC7%g3G=W*RsgtIkOi0wcVNkw9_~Z&H=dO-FLS~*1h*l0a=@1ZE=BNx-?rI_lIqGN zg7{3P_$=Cs@1iN%i>7EVnvLznchPLlUvu_iIMEdSiKb{TnvLznchQXatKKHr-m=A8 zJ6pGTr`6j#;`X%f@LtCc-oLu-Ki+M(`>Oa|2fB7U*!|N(H{A637d=0_vB%-g`#!#I zf0ye&`LNTqA6>JzMtVxF_(Ap4k4o(?XLLVn)ThlCf3;k)S${ikG+i*9JF6d1e|+GH zLAQMK-Oz;ZhkSc-a9!ViU-kd`*v-AaJlf|-FInx1NsgzAo?cm4yn0Q^Gn{jkd)*6V zFL^yLJ~w&F^R8#tmX>e)TgB$TOyBh8tUI^P{QH&}8-k(NroHj{RR1fl2423yx8A|HNj}LGJ=At$QrWdk3gMNW0$695fc!cpT>&I^$K8c6 z<<~Q*6vtC*fl1wPksnY46hXSmA!k-dn;UXAm2r^9UW_K}Ll{1Ph~MSp(vNVVuv8{{ zJ;g46nIq`(dSpSb%vIv?`nk3&x0I9lxq#2>ak@MuvVhw$m6P>z%3J|Y|DY_$yWSDv z0zu9haYS8YsoB{hvt_A%zt=AdaKRu2_Hff=MU+lS$S))`Aj1&|3ZD8o2R05@5)OA| zVUit0k=Mt8evswlrn-tiYCzT`k&*C2^uWy#q|6jLLQeSWS2P%J1fCS+-4&1(hdf0* zQ-mA`LO!3@Pq_u3D!d`T%;$Cli@pA`whi(;t<>e_WJPXofKn=Tc$|1`LW#(yWN*mr zB=Y^-RL&2+djE(~R4(Bx27-P{1GI8wzF>t=W|SovxXj6>I@}>nRu&2bWgc%(R>;Yw zbAE4>*U8z*NVbS`O+}{U<^AOOvR)P$*%mq6MIq!)w5KrH9ADZpUtmyo40AQ7+wQW<2sH~auKfPDb`0f>VAcj8Oz z)igdfkV*4$l5&C$e=y`5Fc2&VhWs96mE&c$$m=9Ir!2E{4|wQu%7T7}C*TmIAw8u5 z)AEJ9gMIme?1*7}es9oQ3FotPr zXg{uBV1kjnGodm?GE-O~LoK2hU7ljE5G8ZFP+dKY6}mip--h}b@D@$+`htwn0|!$h zSF&Wci}M6Y5_u9J@Q$J)&PVc4?Dv*|nxQ;@{>Wd*<8$}}jzZLcbUT71K@dH%LN_Ia zRs&6q!!4WU2teRMC8a?=PLgl%A}rgba4h7gX8TbcNg~NpLqAdZr!vDhfp23;X0rMA zE5Pyc&r|Lfq?l5t1`U34yqhw}1UG{9~Z~uD)T2`0lbmC1UNUUDQ;8d9DJQJlRvB2zLTWJR3nrWWgfjIir+;X;ww^~!^Ky0 zYFi!TKhh%)9ZDV=xO-%%y)M)R$fn@TMtew1JhDu$6M_)!xkz%2LetLIEwLOug)(ok zQ0VCW@~G>}29pu7Y#PLnD?qPRKpDb+CDdm4;jPS3E{k~Oql?G|UnJyTY{J6b39`e- z*T}lLH26q|r{`y;%Cf*ESDDYvm7yWxD}6@hFx61SP<~Jo$w#QH5b__*3kp4wheo7} zy^|Q0r#UR+VRD-W1x2EN&+nyG=n958#3v($`MoqK2xa(6{EAt*QvZmX=VgPqh2enE z&qs0!pJ=6oo*hFXkslZfPy`J{ApGv~ppHfbgX+APP6N3T%7TVrBso{W7rq-4(j?}H z=?m%cHp194(qfaHNIl25H8N{t6w=7A(-kN}=g2`mKz=j98if(r-i+@^9T!^!K57so zR+(sLL#_J zhXA*-be0RV3}FIrlOZ&v&cTNR&u%<9G0+o#!x7dGcNg4?`R6kDi^eI$Tnd+I@Kpgb z#QXQ*e=n$_{FK3^2qw`$CZ$Yi3N{WtZybDzv9?7@4y5SjS4CEhlrG&VJ=C#jeP60HJ<1x^`}4*jS^Ja7@;hx0T=-_3l;*jy41h0>(5odOVF zJeXzDk4iG?TZlEON$zEl+*3*PLb&B)nRLt!0Y(|cgzJr5fe?lu$%6)A+L3GITYb*s z#aK{QCJc)pv@|GiQ_aP!#7(0r3=R3AI!P+SIN6_C?h4xd-Xe@L7$^^bdsN=U>!C>9 zjX%alaH5|)^q<~om;g`@O7^1zoPT8DWOU={7%PY8!g)d%nx`gV7(SJ=dwn4vACK@Z zM1%1gKeid>Eze`4u~L)@`BpI{QceNyGl)dS4U)^{{1dC5C9x;rvGUTT5lQKRFxg)J zaL$2g2xrHj2t6J=+?JZ1m71YaQm|AH_2hQ13w@!V-1tWgF_m$%p4l#~-~ijO&B0 zGA=y(Vypw2quh* zvd3)B0sCN(=Ex*IZm$D_bBxO{`wgeRV zT6S;*0$f?48}pG6KfCt`GXdV0%Y$A6Gt%k2=(gpTDZ+z6jJX|{1z>rh!b zMpIyh7fS(d*Ax!169XV?Avab|iutNV{R}uoG!3CT$4_DgBow**1EV8Ko=yzEMWQ^Y zjG>|+2736%JEpkZnGTnS&pYK?N%`gny+Xwf_#9ZBp^+|x&ViX>48vmirD(*jNZvW2 z@UnA}AMiVfB^E5n6mdhZoF9}9(I%%f(DLx~MH6s_-IaQB$9#<@u#lXn4_PVa@Cno+ z9;NPg@;J>E6Ob>rXgF=N;Q~SD?}XD(I3Jn|*;E%+G0=oYCN|Va@(B=Ks1wcbzQF6@ z&}t@NVhTe>(-AI0m%>2dqWR{R)=&=uUhqMfeMbF;dBm0bP;W2_BhEx?CeLRD&z}%d z4ErgA*tvqG{EUGX0~-5po-g4*G_VE<9fTr}5p}-ON5@?x<=Np%jsisMS>}T5Lg-K- z&?(hLc~uJ{6-8 zJuU@5k*1G8^=p9#&ND9zc=754$5MBT9F?aLZgS~iM2(2z*Lf%v1nD|M{DMB zphXS|vr2UPVi10fsaM;!=(Wfj-;L{WLHZIvoC6eM{*Q%UOes(&5qFA<8dO^1;4?@I zm29}Uv`SVn(>$Uji(2TSDQM23t0cqG7V#v}*w^j#l)zs$7r-Jcni41GoxBh^rg~k- zy5L3)8}FNzW+>hiZyA~;LDJ}bnBO}E>qhzJ)bI8AT_k(y2_yMl#gD~7R4rje zJW2y!+bG?@Xq$ly`*ZX-A_F zzzi&g$F!y%S!dvfU+_B&J*l`%WT(0n2+)F=6RYfeIZ)c+@f^=5qAwCBb;w?HyDqS~ z(V7@&EW$FnQwGv#R0me@Y4N4u(S`5;m(wVW%Wt^~Umk%CR~mmn+X=wf80VVqrv4pj*th}pob|nT_E$^zlYffe7R;@6?nm>PjE5_vVN_*u3jFtxU*W2?dF@C}z z%WhwQV6p*~3n~$cVVG4~S{fhUrrhV7=JPceU%{Cnn(B7+fFG$W#0ih=p_pf=j#blm zjDFCO^SmVH`M#Lv`(vIThpTzsFaIZFjsFHao#xRFP|5{+b^-BK4@Us8QMIX+4(^4({e=Px$*^xge0$tHhEI~5oNTPo& zBvd8ZQkIyTtz04y5@G;)*(u ze|P@>-Rb|!{Qsj4ym@!N1OIpDKP}BzR%WDCMaG=?4VGo%C!>c7{8(mYg43CR2mI`r z*nb7E{)Y7%ewhyAys44rk(dOLbq?*Lhdm^PN}!#=*sUQqAIGhjBU4;Sm?_X$Gt=QO zDup?mEA)r3Kt*o1Iz0R%(xLbn;-xql;-Yu}55iSY92B0yQW%y)>x)h}P<(zD|CC!A z@(03pd7RV3gsF_`ID!;uD= zDZH7(+b56A8aX<*FZo3fghT|02ho8t_ydg~6%>PT(2r~&H^>z7hAbkdl;Q9%O?>!o zn3HfZzjU%h+7e;2b5e40yDGQtS$8t^z7YpL2~B%uD>Zz{#__Z!92lRPl{Y?x3rq=m zedDo6SjO+K4&nD9<>LeXqVdyQ9+h&uU_aF7EEEWu^aNx0gdD@Mp371Qt!L;gGqx{m zitl?1&>i3>zBhJnAJ$iF&b?RB?}u;W{C)Qax!-rcqojHFl`bZI6^NxD$0zuFiuBf( z3GU=)1D-|u#`!dQ8phMueg7Z0f9!1-epe$pW(69$I!=z_`*l>$t;u*M-NrwQj?l`Z|ARW!BhVHTPQ@EF(`F;0m zUT^5$IR4w-{C)Rd_BC{GoPPEv4c%k;RJET;p9Es_7wi5R+>SJIkEL()0en9ghz;L3 z{XvHtx;K`~b6+%cZyerr^!MFc|JcwymOi3u%1;g58^(i$kO1v0jx zB{mL|y=7&&*r&rnSpYY}kp2S4J3lG9(uOL0CqsMC8{pD-#aC7)!A2v64Z9wr_lWK< zHU?QTb^(N_l3036dkD+5{^`XJMTi8@&gy!-^HZWKzn&GG7iBtZ8eQecvL3 zgO*?u`=?r@VV8s7R%MU#&%ze!3w&-v*h2IKbNTI!bSy`Ed0XTOEXhE@B(WiJx#CWQ zUEH^RHYTiSX^k805j2RMsiHa}vIbHayDko;(ya5|7U_W$4*P*6oL}5iJ{Qfqzz*bG zM*N}Vk_6pT+?^na-A+HM2HZp?nNlHS5Q${Ko(>^iIHjb~bQ z3x0)_R_!@wx(A9mw8z2NNs^@)>DUtM592@4Up@H~@&E;D3TY6^nb+y1P5dPGCPw0< zHqf~6p5)6*kUGdV|Arx6(C@8ad2wTe{WPA+T=6ZOn^nBuY)*JR9pwZ`8%Yv)agivC zk+fu(zX5gi*gJUby?#l+8CSJ9L(f1l$i6eK$=oe=Gj zJlFZ%5o#Nf0(`y06HAf|Ck;?~9~LSu##oxMA7W(*ym}3#8{W@uTuMnEXO7S15fUHA zr){TVW!dzcL_E8e(jJ+bNzb1`+M&(hawe0S1T;egBBu*J;KK) zaDODf?oV;t&@xg!xn8l**cViul#7V+#cEy(a$M6|2EUCh2pv1pA|pA|;S)*= zc|02X4vt#{Ii;O_YME8_ZK0tq@-xu_Pz9qN8FV^a7V6MQNy9;>K7f=D|z(imQ zFb%j5cox_M)BwkTi$JI85;h1(2RL9VumD&Nyadz$CxG+7RezDN?!aIm87Kfkz&v0D z@B**{_!RgKXfs2?dIM%)Bv1;>1s(%l18RVJ;2d!6OwbM(0Xt9(%m5w*UI*R*4g$x4 z3qXfih#SxWc|a*J9asX8=6efhz{jyxtTlFu;_-RSwyYiQh3UYqW*t!s*MQ~MV%_mN zd?2k0>&m*JsJpWs*cG~o^<;E*s5k4w`m%oPX4W4oz60@@&_U2$8v=c%1SZFsA|(Vz z4I$Gq9nQTOpjT$X88{2X!Nw9<5)03TX%rzm7SLH3F7hIrDG*kw7rF1QSRe*Wx0fV-TVaCRXkjqu@( zuuU0uo6*34A5kWWb~uV9(hy@+0EKjaut3}ujl>g}Qo!qsM$~=9u!yDrnkTWZ!6ILy z*8(5ZLIp;Usz-yO;VoiRdt?0x))DpA260@*me=i%dg5OTVwLElZa%EDMN+~`LFAN2 zj5SVq74RG`a79D`dF2b!kI}CfLDZ_i$+@vk*2n=XNKn=)fNexnDVhLeq6o`=kkv-9 zk;~<+nkGPgFOvY22cfj@K;Z~V-6BooooYt7j?f?^Ol?z_NDg@?s#uN0lkA-|xQva1 z-_S;~MOgF1N@Yy!4Qd*NEFvX!`AXW* zHh}Ko&)@$F2mVO^*@&LCAM}z*2fR3}e;u_U9e2{uCL1TOhri1%k?sJt0HI|#n+MQO z0^oc+`gj4fhE30;&w=3#^v#)Is8h3#p$NbgDE_vG-q9VUgz4%_F1O&Z)%{I>&?Htlgxnq`0t z@BuvlKR~onKFEJ1Ks3(|n{!~2`&@wB=K&PYeZW8f%kTXAQ!t6XRRE>81|WZL07T#W z0J-l6$h|9=Li`eWhDZJUwl#(7`$O2f==klG0ow%p??A3Zx(lF}N~%cz!cUZK(G;T+-$k=I`{vyLS^r`@ zqA7;|cbZ~zK=r$HtVBxft{En^RZ^J5`tsYc{|GY!CbdC5U{c$9HeVvW7Umw9)Rr%W z*$t)}CZ^*|4YNDUi+K_$wUPT^-UM?4%$_jqFl8{i!t4c8Hbx@t4YP8zL|P8h2a`5` zC&8Q!(+=|@%nX>cnPi43pNO=9ixVW$lRyoy1y}(r0?Gj=URU4b~@?0DRt1RMbN z09$}{z;a*_P!8k+DS!+hzf$1rI6MP2KsB%dSOqKr$WJhAPJ)>M$blX}96;`aKsWuU zUQmBV`TQ5f8!`ORPulEH2q|m!_eU}RXSg@7R3p&eyi&)1M*gmZ%4S6%+ypc$0b(11*uQ!$6yP5Q0=LNK3tMlfeTSxZeNOPp27n`_~J+tY`h zmI=;H{^viOLH>UeoL;*^|4Cv0ufzWbE9+L?z`j~pzj9pj@y~jS4>1Y@|51k~9+I(w zLz53FoBIFgz~{B+pp!F8pln~Egx9@D4*UGy>O(g!62{FULI3JI(b<^R1^8r{7=O(q z^fMg#p<;}87Nbu=`sANXDr?bSMl9;=Xu^zZ99~MTx*A$YdqV z*%(98_=LtbGT=@!TRlKSmB^3u5JX)BvaIw8@t^uZ&|9(Ryl`39|h;qAv=i8T{`?f2CU_l)dzVs7Fc5AA<2`RZ1S z2fp+~;<>FWQofzt>E79M{+77a{PF4!E~WP@f9s<}@6Osq$18V_*z~~Kq%HHOjP7q( ze8yKhW7w9@?)m)O;}=fMdTvzmQ^%$r-SgwXgn6@XP8lHW^4!@MrAOc1aX#h5nteZ= zIdSCH=?{L8%I$gQzN=TixT4$9r-ygoy0j0?zAH3!cUortu(~x57)+XtuY8-6x#p`0 zmbWLEs-C!i?4=2-Pdz28&V6Q)&awB`sP-7)7+nJ+dmr2b^9{E z%Nu)tu+?-TKMbwzq!$^?k>@ zYo_gazRs4AG44p_jyIP+cx<=r{vA1{P|ACq-+c5X+vg>lmKsuDxas8&mfHIE+4<#` zO(un-YP!ua`u1(JUe1}(X>);X|91(CTfce#{Oc~H*!tR@Ic|8S|2KE8y~Q?j-BWd2 zoHK^kd^Xxz^q1Cq`s7ZVd+EN}mix{dyG<|Zm#nB>XYRFduYS&mhc~ic_nQtc$dB*- za{bY}R<|_moR>PR&FhbZbe|42s_y9VVV_Tx-=!}ZYgm2vo7H)To|&_HOJBKW zP4<&1x4$7B+%LUuh*mu^=f(G@^t<==xK-7kzcuqh{mz@7_% z{B`cVFSTAe^P0LLpFjEjhr8lFTYW$r{#Hs;B6Yfw$%SWV;;L z9GKuP?C07qV^953>1FJxt*@jA!ap${vR?wb71hw!Lf|^VfgN~D!p5Q;#CLrQHGGZ1 z?F0q*pKd6~!3`QCSr*>Y@&9ms)0eTo$9<3S1ku+Lxrmz4bmL&(@V5-A%?=A8Z;0^G5|ZOxUHcKYkzc;Mg^!5Zl9o3Qm|_&iNu$J zIO%Q&O2>!vgnKT?AFZHbCl2w5cW=rfw=Zb1vWHz>#2rL5zBHd?^gB&eTrU5_JL2sa#0?#A(A=;@81{HcSaRV?d>8JIjO8gw zk2!J~L3x?m6R`BgMR~?RQ7KpE2n;C`4;RyI0Y*olZ0J-)Z@Nm&RSb2SF;Mw{4wa?1 zVyL{gwL@E(%#51?0{jgdvMY;CC4@uB09S;|5P}taJT$d3M~-;g{jRA{&nV#n5yx0( zIw2Y&Wv&d|ujt0TV))qu+ySn))tnHCyJ6r+{4qY7 zq;5`VK&v?+l4%4tCy4yC+LP=_DJi(tB0oR;@aOw~EN^^4F_;V$hMvY^ z<3Q6S)2pVVruOEZ=Duc~d8GMvbAkC6i`IIV^%HA1o5eQX=CW)|lrJkcEB7nER;H?!s=ilsQIAlMS9{cVs-IJDQh%s6 zYVOsn(bQ{x(_E`nYE!hMwI$k+_HOM9+I?D?E?rloTdJ$oU8V1%&(|;1bB31;wT4t< z(74R_rSWUyx5l50=Zu$(txWAq*O|>1WdbbAow`x!SzLyvw}DTw@++kz3L%85X-`qVwv+i2{Pk9@u+KP^8izX%nSI7Pf-lVY`QqwZ&2JN;n&GvH!pV|Sy)c#EmplxCi2 zE;3Iy|7>n&ky?gW=35@Ktgy7PzGdBQJ#M{doo{=>_NnbBQdVJ;5U*c8PyV+2yxgF8 zQ}LnV0p(id-;{@xKPtPcR;qeyteT0MEt+c04$Usj9!-sApXPw(u%=d1hjQJomFQ>d z_v>33ZUA52Ft#z5n%7t^SlZaWwjpA4@U<{fBU|3iOD-^);7C^f7w>^4}8!;ERh3}d!&jB&hi z5@cku(Q6DDD~xv<=NcCp7aJciK5SfX++(aawlm!XUY|E5nA0FRdFJuvNoJ>cvH4Z= zUh@I-VRNmy&RlOkX+C8>ZMIrc!u)>SvdwbXa@109IcYg%xyEX;mRW<=a_bChrFEWl zfpw8}iS>}R)>>z+x1O}>ZC}|=*?zSV^EM!V74k~?O8K+$E{Yo!I>m5Bj-o)}RZLaP zSKOy~Lh%;l@k_-Sg+$q3IacXX`jrnU-&Ve_tW_qcG^*jM9jZ@MH>(G$Gt_g{OVx+f zoi(>=rfROz4%QZFztA4j#_Kxj7U@3J?bjXAU8f(S*XT{)`Q7@J`VaNr>029aH{50T z!O+t9vGEJzNn;z+)ux+G+2$K87UXS;Ws~K!#SXe3v7NB}LS^C;XznKeO#Y2LPSHVO zRE$=PQ#ch<6pIxn6{i(#l%14aK&wKjS0*bnl!eMN<=x5$l#eN&S5`yyse?+VGOI?Y zGE|dQzo=TOJE^;OqZ)O_w{TBT$ z{rmbu`s4cV^=I{QhE9gAhQ4TPbcQ5DnqiW`YnW=7YgldAY&c@*W$bSpWy~`Mj8(>$ zje|^CsJ}~0%S?5q(~zgu=Jw_u=H6(JQq6YAmESzge5ZN7d6D^k^CRXb&1=jrLdG_u zF4vepHXq{U>>KmQ@@}8h$YxG<|G2X!*=?#PXHpxaC{R50-P5 z>#crkhAr3Tw#`GG{@%t`2yJ3Zd0+W0^6~Ol<(uUf(rK^1-(-{Ut6VJrhQyn3kf}~zuIuEp|@d> zL2pPlj7FUfpryalFwd~q@SI^icwcSUWq99k!0?6PC&PKD(_L-6&Uk~dk5O*a8tq1h zvBX$z{LENkop0S}{oLBsHi7uH9{171kSk1zWQAMtv|_Vjr{WvMPm1%3mXO;trBC^w za+C5sYICcFell5}CC`_;y#IiZB(6A-BsD3bA#%b>XPbe^|flX+MxFHWzZJ2>loUI>$SbLw}1kx zwop5nIIp`)_ke!7VWDA_VYj)x^#R*4!WK?i*A%IPgkuwqidm;>U-*k>UH`I{S5sFhW03(hfHfs zM@-+D&Z2H~GtRcH@m^bjx(h(TA+kt<|m5tw;Otn=VctuWt|9r=rDNj(%mW zew}{3ey{$5euzO0c{Cdm4Jl{|G7NUZqv&f^8P*!s8K#?_wR~c^%GTeu*Y+9Fc1ob_ zxV)3XqnL|2^nv12g&cM0F=cC2d({M0k?L;MbE?l(b*fV;o%${HC{2Ne(}XnBHTP?l zVT|ztdeFDfcOJxO<6F%cO)Ip9g{UXJbO}10E=5#^E8y&^{8!cTHm*NZ1af+Sm3b37$Cn%akJu}VzV+=HCA;|)dKDRE9%|qbLh#( zpyl0Y+JX_t4%05v9#f5JpXq?epB1zo=3@95)` zjN^<>S2^)`($%{N^zNzBylUTf}W9%e~LtJlIh)LMd`ImcFLJBx9V1T$2u zZ7beGd9+imSK%d5!jD6jD^@60Db^}BC^jneYO^{~ouW=dduCVXf)C@t38%VL?MA&0 zs!4(d=mzWL7=!3_W?dpmBu$s0v+Hto`MUAwae}&X-3*k^Jlz8H#Y-?QjFmNJ7wG7# z8lW1ix=8B47+4AAvJNd=nz7Wlz_`}93*(bGQ@m+_NsaNL553EJ@aUB3qNyuJx@L1C zKU%3YuRyy|3x#5t#cWALZ!yU-!%~S6T(zYZO2#s4qID9+B`d63tkqWfqP6}$XunsW)H`c?X!~MZq1Ku)+Rf1BYR99+c58#$8QOW; zMHr(m*RIm8({9ji(e6OcyhmGuk?;ZSVQsCpPFt@%iP8IM?OE+bC_cyO;&ttHQe9_V z*Ki&DJq}LNId!FwapL4g(|U7P%K(cWkY=LEwWr<~}Wf^j~3VGatHe-*a#(WcG_~*auNBDv&LK7Tcy^{)~?nb;6`8T0PA3@+^V+ft!D5h#hPZ#u-dJ; z)_m)DaLQ>dwYsf7a7-A-EwwJQE(iBkS=U#nTJVnoErg(P?l1To=eRL~veQ)I=bSoq>e5ZteYIQ|$8kJDFvxLri0Nl%fB*A8)hLb{y*-NC z8velzb%x9jZpd9)Txl(@C|gpoXqk2KqSDeb(RzQOwZc_uEiSb>X69Izl@%0@A3i+7 zrlZbwa$Kgtgr^~T4##zILRh517{e_^RxN^=)aW)KN%XT{H~!+` z#oZk17spvOSgJsE@Y5sh!3PLx{=fO-yErc95_PxKbKC?X>@vUcV&O^=W$q&UA%du{ z{hdG>zlB`(!tn)*#6?IaP)0QZ`plIe4EWi(MBn%d4RFFR6x1S6pGpS+A!+9p+Q%0z z%`bv<=0+i769Top9AUr@`0V5FudJjjO9cLG8BjPNSPWjyqukl@!3078<{ zmp&_(av87Mkf44LodbRhPAp;VS}DH^f#80HFyKdU10MgK{2y>2M>;X#1>djioX01| zwm58TC?MvE?=8HIPzT$j6K13>BkY{|lLZ_no#54+aE?>QL)u=4EkSnJEHCiYc8+Rt zTM+X$o+6YH29%ot7l+uS%JVqxg&35g$w|s}wgx-*2NUX|kXOCL>Rsia*Mg41-0DjRbi|yH#;GO75T%!fSegh$3V!5Ls09*ZCl;QH=$N9BWhO z&PPwgn>p|!PI1^06;zz~ILG-`Oq}RNRFU--jb_$Aih0H<_1JxAuFoL2|AkDCPw;F) zoaB?5;^sB*oOd}l@d;EGr%!x}qEQonjmY(B;2#rV?a=#)*U|Gw1F(__P#@E%>ZA2HWa__yt}{I_O`Hgm>%B$Q?)!dd{i2devzl#$5?GRHp*Hy8nJHi^Lqtnn_t; z4eOuQm^z%$v};FXpJJEuPI10W!XLFJ^3dinIhOU)WHhgiq6ReSs*Q8djpf{&*>X#cyk9zDm7{IyHe_CCxf@TU zF0d4_M4w8}t8FGmZ!EQIRu3UhYO=~5XtWXdW@ErcEAwquVhpJXF$NLi#T$eGgIkXo z@2IFb1f)L6&_&DL^M0=NZ_ey@W`lG^w3*)|Jawd+-@Yu~L^zHifT!|(uq_kJ2Oy!g|?)^Joten)hKxWN+@fHH{U{!<;J?lDg70t zVJhpMrKe7MYOebur9Yr_OWi*xU5_-F)r7RXOAX9MM<8DoLnyn{&yXYRyj{tKJ#HcH zwh;*UM#{6=W(FHgOm<7bC%MscP;kS*F$Vn{IZ|IxaBoG1)RfBDyMXxnf~~<$JT;NE zA-3sO;wY$)e0C<2aD+X8ylLv0ZCr1 z$$*mNO9}=&x*;0aU#m6?3)^xr@rkx%@59zWv}UH2bgMVRAWyf}SfpG9wF){i;+v=gvw@nxHEy)++l*X{oJi5~>!@WsdG@ZnkyW&d5$hNM5Qyf6u=2k$`vFk+l!E2yfVqSQ3MQEyi2vx{x0n20Ic3Z!hpw(D&o-zGx| zMzVG+gns~PR280d*se#D6pvQR(Ny(n+h|VQi0FDw+<+Pk>A;?cknRMubi(4#hY3ZO zO~ga$ESPr)%u{~_*Q==Z1?v{3w!<2=VNo~XX*)NL{z!epT82<5WW`l=NhcDdzDOXl zf=xD%87FM~6eY@S1PsII@zB$Csq}Qv^{_JBj?`NYdW4C56NPUPq>^qT2iY?PXr)H; zx^t8%ND|70Z8;{Tl2;<7vlj1qjsq~Nq13$*rP5ie;O=G#lQuD7e3SKa{Mt?m5`!X6 z-GP~fwWA@f9Ixc?Y=-te!Vvz7{)UZ|8cnDj>qSugsG>nv?1dz)kfaTgjFXxY8f!J0 zM|$?U{-&hEKNQ?|fuDgFgg3SkrXqCwjs2^Ju6q{_X)ylXH;o`--Ek^1oJ9*UXdy=3 zfEN4$>J`-r+br(A!nV_>@*!#j<Iq%^N30uR69^;NAEPD_ zz?+&&O?(?e zzZm7Z^5u~Kxu9r+dng2>pJ&ej1I(1`6k2M#j`ZhW!JyO>Gp{k}V8Dp+lx|R>Jp>3| zbqAVt{a1$DNWpfCLpA&@L+F{h8hC=pWcC**6OpTqoJks#fh76j2gPwkwMrNb5F-kZ z1z&+f3Iv-m^OztI%#Xn~Wu6Hd_i+fzu^9{)<`+&J=8G2+fDlR>lhgzCjYjP#xf_Cx zhM;3Gbu`k*z?M?K17QIIOu>!f6dGSTS~-jjtaM&ohT<29NSTo;L!nO)|5+E7qEPNe z#=r)4LeRm$FGKug1d*nJlwn{YCg{dceQH~|GQ@(t;`NF#rNcEMFg?UiQ%a{eT5eD# znNXXA!J0jlrT3X3Q!-5QG&c1;pUJw#U_Q`b0tZm{4~+h{z(IXJrCH8VfypjRTo9Tn znLaRD(b7_u0GO*wZ?k0x@s)n+!#d_&uqTuWZTpEwfTZd zc$C1G+#7fl_KgUmOp?6ZHYT{11_ zu2IT0%CwjoJ`$PmpJe>So=Ib^5+U<8>Hvu6)!Ea~FY3)8Al;#R2Q6}W^2c-J7Obh? zlTKtpQxd!)Gy(zwO++VKXgqx@(4=EtUujC&B|Nqn*_f7)^ln5lUd7-~H&sRSqz}>A z?)e(>j;(SEZwv#65~LO*NHW3r05h*<0G-EI^%JjosQj(4GYs?-k)Sw6HKW&1wwRRn zT*suZ4W6&pz6I5Y4UE*svwWb=iZ<1w7!9Don;k^sIi|H=Nllq-9o>>{0*au275f>JC2T;B{JyXxvt-RQw}*M6n1&-LyEwubuO?0*o1 z_V1ryyn-Td2*c5eX^vK_aV=@Y#vtr*G4EY%8{UkOKMuk*OUJB9J;JuwTcj^O4G+}B z-XS#`r1N2}6W%#t@eOK_hyX4OTq|aD8+W@hWA_Ax}`Kc^z~p&Mwv1?i3aD_G=M~`nrEA; zroG}L&JC508}P{R2{p7F>2-E-7-Ft?WwyyXjn>#ROjWV+X-&by;Ftibrr@)o;EWMs zc5~P`YJ9;_WzEsbakWywAfLt9};+qs_TO>5A z@Q~onMyD0%>H+x+C2La8L#pHB+PXTwj6vBEaz zQSk7FZf|yC_1ToF4#{^%gtMzAJs4<9Spd8znHHNAJ4V7$XcuYECYE+qs(e}tAaOl$G4y>{%oqf;s?2f^i|lF z*U_AANUXt<#psWtqABMw*&Kmg4>3VL2MWL+WfDJzRC}VP*~gG;_*7^1IakjGI{hDz zPGSKA0|Mp>9#KQU80=nx2VHmPQ+}u!_nZp_nOX%+D+yx3p>+%SU@s=BApEz%`W~{E zsmdA?hM04oG6kdTA!uSsz2LnQ5{z$^r;x#^8ArM>$DGn2cyFZqHVi%jj>Us#udwm2 zsDw#M%XJSW=)8R>@N8!lv9CeKN$~syf2+S7DtNv?9|LCjtY(C&Kp+~|jL;l1Le70? z*4+vyz>Gtr-bXNVOfZcjl_>)m>OKXeq{S989NR|LB?8>NR~(AHFN_UHb~LKel=!(a zg_LvS-KZd~wfrEsrxI0f%!w`{THz9Lb>mr+>WLnrh?X-q_&-6`CGoasKswpxwFfTf zU&|Dxa#}w;6QCa;8a7by+=3=I+XZ(b^7{J^ME=nX$RZc+(~ZPZ2N?-3d|fs{_7T5iYK&pS$fD@~3T;AN+Kyw~|Tyhhauc@o9HLxJ!{-seT~oM?H9#lHeL zC|`l5lE*W}`dXP{O=*TZ(hRNk zPBx}Ati3O!HNeBR9b^>_1j#UqX6Y$b2n%W?H(+vD_b!bnsnsdZ;i2NGAQ`Ka82OB0 zg^9de^*F?ir52lfi)!N=z^%Z`{r((0ajd}|%v!IkkbDL#Z)oXbfgc@ra5Yw9v|__b zg#2pi7X*i_&|+=^DIuO|!Dp_+xZ~9Ar$IrcEn(dmt{QxA789@<#@b27Hb0p-c;#vl z*ef+Tu>NmJH^U-wbu@+Y^VBb2#P@O>IY@=r{g#fY}cok=TYr{LNTq?RMTLJ zTf})6C_Z!+y}97`UvQw?snT?l_rV}cW+hA&B&2SHMoUe0=1XtA8MwJn|EQDxSgX{{BgQobc#PWSE#C{hxG`3Fd}Vpjd=p&NIQZ2=327lyv@w)fHH5 zr8KX70E-Mv&h^M8!rn}U*1X>?yoBg zL=H!TVc5HXwQ803ultg#M%wc?P^9k$=wL$xcQ0J+qII7K*9z`uQLearMeB|S?^f0{ z70G!|DLH28Y?Pe0dBqA(aOJha8_uUR`y;&6YcTY9f~$H^SR^~2dNYc;3uN5btj$S# zg;&oT_MEK$%qVBQDr`geV?%qF<_tC@`3%h?KA|;B9^f@hZwgvX)VSDh^k(f3KTT-d zKL@y+wMCiE%L_IWE%LYWc{%I3b)V6-Bspu7lJ%VQnN`kuDKJ^d+N|6|Ym{)L$oSr4 z7GC|9um6Te!)^~+lY-&G#$O@fopVP--b+f>mYNY#y#Wo#r^62j?%gPoKb22OUkUQr zqyyo5Tz^rrUQNl`vf>J5!6xh!Mk;xmm1*$PtA^L2cC%r;R$U4j#A`9h%4d=e3a@q= zWXx`R0#c75{0MSgCz1{(fpdcAVMtWR7)7XNfn1?xEy;OKqQ3<3y6Jp1sPIpQra&Sj zoEGO(AgeFDTX5$im$)dwI&3%iVE!Q#xy{f+OOW8IQzRDuodAN`Xzfsr0@k@RPzB5a zr=a{W3|X5rM+yT>cqi*AC2z~vyjS5JWo@o9(wgnLG0b|?fwWgN4pp3+x6>@qdmJfD z5SUfuJ@NH|`zS^*Gq3NkNo2t@*wAJ3mE216$w~M(+Ef$&uDr)}TzIEZ0gUsR6xXJz znTm5$e0Q(&Ir2RP&v|I0=BebEs_qQ!2k_qv8qe^&pbS|r^*CRu7Ow>mbG<(O8Y9T2 zZxK+D>sYVzB@PG$&ujRLEW6-oK?*gP8}V1vpl#p-n5m@Jx$5)m8Lng%?PwUW>CHAu zLf}Kl*kn}^Ahdmov?8#&CA zbN>wwbVaFfi|$HYcNcS|R+B5Wqs6%cuxg@8N?==sTT`yrEd_*qP z0h)e~oX{5`u9uX;E$m)Ti1bDjLCQMmW{}?B?QHdBDs*mEvYs(aH_4q)KN7p#P=9u` zI_)GBNnade{yV@tPgO(>|5Z>`ok;bjJII;Z0Yc5*tnCB*Ddq_BYWqz@dDR-2rtL*? zPPCkE@%KSTN$pyk&(I72tz#NbR_|vhLR-w2GErO8v<%F)oZ1^e#^d>Q|76pL|IE&z4qGjrAnH_rR#Sn)<^W-IlZtlY zD9%Kqbg#n>kQ#s#AupRj;JMobGFI5>8Bof?BD3SWc2%b(Plt*pVh_LPCNa`6t1)~a7#K3>FV|i(iJ5d@9 zP+H7X(qiVgwfgLR-eQBWeiL$~z7*lHYv4d(XHD2Jf)aiIA#5}u0q@uSXUtd9d86PC z$MA+;GUTr~te;cMXbLNtl$ zJgPc@y2b1*x^9><6Yx`1NL9DfB6}FMMe8F^k86Z3=@gQu zdp_t>Mp09BE724v0so)|`8<|%@SBq{HPW>X1htHY51p7wt8LLd{55oxk_KfM%5w#G zw4MR!jwdmrEKIiGD1shZcz-nwqrnuv0hV7xaUUEbe;z;~pLHOz8uTz!(3uMj{DXKj z%!^e2wv~^ z&7gvkVC*3@p$OvBk57@UbH)4^D`hY}C^T!NdTN~np~TgSdMjZt=P?_UQ5L?87_{p1)r zV?$0+Ezz?VDb^i0i+X#rLhVuc>v*7HY}X5K!!yZcGcS0`Fi;K;^X8i_44|vAvhp{> z+EaTWxT#Qqi{R3*#PI(Pa3GS6W@u+V&jv7Qp8RPM^m9DM0fQ%;D1a})Dyf9c8 zT?bKGBwJ|sucO9?Atl$tJ7l932FAY-ecuTobN;UhU=#rQ)f&3$zXN@N(#A+?VrUxB zQDNstYN1Psv?Y-29|c5;pyabm3<#VHCHv1H6C5-$s-=2n$f2m5|7RN6$%1Dp1_(gH zbdWH#&TPH^+7LZpYi^Cv@1w0)NOvdojKqvcS1}L~;}4*GJ0>sgt@W5*{83;VYSO*< z4Co?F_jdnd#7k&x-5BJkv0q?{KkQ$EiW-j=ASJv*J^ExYm+pj?3U5%aJ^?;vq-oIm zuSWmgT1m|%L3d%_moVK&7klU19R3E@eXy~=60!6skl_fUg(o>=@cyqbNeDZsRq_G* z8A@7zF=Loeji8cx1;*iiDJdwPm^NVW9|N+`88-PtNe9=Rcn+Oap0JUFtK5PM4_zP0 zMv8{fZKVy9p*KOB$NHq5>-2ThcMK^(>hOHq(sd=a65M79L++Sz%5&J3cJ4m>*{5B< z6E@s}wPfe+&aMM~_V~MSY}r^2cO32rM9^QvM*N+ROIWLI)+phzP2^UghSme_Rdh*qQ?l#cgW>nf2;uH+-Zcl#^-8z$uN#j&#RxosJ2eyS0X;vB;Jh zj5zzy&$3aQYYt2DRuWh2^n}=EMU3Vr$k=MU4G*56ctr~K=mZZP(2=)48o6{QcNAh! zK}!cT9S6R(BH26?4z(O1hU-OgVu+!cHd}avHa^!i5vMQQzXj|TWF+lXCP+bRRTT4| z4L-QIDJ^SzMXf$V1fu;7`8 zYRUo&d?gQ^$g}>BX28^Gy{|0>Xb2%RQ4Ia0O9|IOWa_+Y;AU%`Zq&Q2^9#)p2V0D^ zy+l>X#GrAidNozG{@Eb=J$m(znq~8ySL+s0NIl8IASaar!|dKn zOOUitnGZYrE(lpkL#-{TbscPgfU}Er?{QrB-Q#WpLtwdZ-vrt|p<_%k+B-CS0{tCg z$KQhv+sZ@3Gmtt`Uu8i{E47?#meaY~RwcaQuvKj}(|ohKv&6RgAjE~Zs`Hz}+ECdK z?Z<+twZ1Fb&_Sc)DuAYfNArojE8v3LZYUS(xG z-h|Ph!UVU7wuQ&qAP7AV*Wp*8CU6!IPDs585pAaJ!nrqq=rKxossS>kkq3BM_y}%V zbfRC5Nc2tc{6_O3=C^3_M{{JWCcw2B-l^(bPa6(<<%2q8T*}1Jg6v8SXGW(Fy%Grt zpbMyEF}g&?4>qN9hzLm^O8$5yA`> zRBvMe)!W_q?xEd>-tByM5OpAlblID6fx0N{aWDdx{}zV4^KfT?r?~T*kV5`45xbFs z=co7!QHWrgjhIFYc$i}U7PJPOY$S%EMDGeTh3rr~%#)!3fZ6`l;JfbMyzTH>I)3c1%F$GiB3+HVp~_ z9%Mkux$+a5o__-BvtjLsDg*8sBV?)(*MjsGRLjKnOgv&3+Nz9l8(5Qz zkd2V369|C003`ecbYo#TTh3P{VBV5(+eA%|1=# zcM*>GZoyN8x;k0v!+=D?3*qZyyi`R~ns8tPOg%}YA~(bcaFm%3VdG>nDh}JiotP;w z>4*ZVO;9FTgtx^$E5KGfex`+Mku6>bF6+@0h?(RxGJmVq;?z%}H~z@fQ9i;*&gQq^Zt zypyrZ91R7))z1$lSPsLRNkE80`5F_rz{Z6Y8MJK;f5QI^u!rwi z#U2pIbNHj7_#nRkc_I561}Z^fImQ^p8Y;NSeP`2^e*~4W^&9G;VGJF#knR5t-Z9x}GONCh(*vw2jhTVg zbkNY%EvYw+*{Y6rYrOOf(16tpCkAYW;O+unHG>H;X9R>$VT0gqq@nIJ z9NMjqG}zN`|FhQKs~HNrc;q-5eE0C@Xz;-A9@^sio2C!M8{#7IB_!@w=nz`BE4M=! zVR-cbuc1VRhVEtzP*?=w$yr(-s~B8xK;rOj1HJliPM=?hBd~dP|6xi*YlFLl?yh2R z!>0O>9p2!IfmG{|>@gTzW^~qp8QI-{kw8Zn-(UnqYE!z)f;tS)h*PYOQ9uJ}m*y?R z3EOZN6P?MZF_N#UPuwu-*k&j464=WaXod|hs6MAAfs~YQ(fR&SN7=N#-KFi#s{$b8 z`cf%O>KF{(;lhMf!{68?8kpguxPHezhcx=G;$H(f)~pN0sY-$H589X6@>*FaNI z*-qSS!xj-}w9Bw4fsq&$?`RqQMDK^00XOBD7{8Zb6&n+(fe0X*Ob&+UUfAT2Z9_Zd zRgv%u%Q<1=7bpPv8S)VbpI&sx06P-l#7-EX7lC-)o?N0e^%;;DVy(POXQp}uR&R72 zk(Bwa9n3VZtp|D=P%|E*>vjl`)XM=1-M^)AvfAdr9#|_S*H|z!mc#Z4+hzm<=Ft8G z*~^ekY=Bn5CLTwJtXPl%qsRDBBjfXUGR8f_ocC-sb_BBC(Uw$T4MtUSSC`ceO=!EFGX zW+%{(II_!0q+!e)`=??5id;WY;WGuIuHA~j{9$R4qqB`CM!$Q`} zcd=K8={f3fC&*yylp}sxmBY)ciPCK#!dh753IEKu%?QH0%?>BA2hLPa(k8>XTTpYAPxkIK3WO4H0$Xqq&P^pHp(A!Edd z{?+gTAuWe|8cJ^mE_#VfO zBn8J}*y{>_E>WMd{eNYu4rSLn%sRSKQ#Ih`Nln$+81aK?bbuJTK=Rm3*fCdR4{Rt# z9qkNjEVx}4AMp;a2Q^n$1)1!=qjo~F+ewGQn#bkdhqDNz%c+Mk$j8D8R;yz;tw}(K zNFMlMIE9$jhc89mkN1@Pn=kMi(EPp}*_D_S^)#aH;)&l}h8LR_>`y=3IlN{>k#=(j# z3?$eGW)ztV^d7oN8RW-V(Y|KCbU*HI#Dmq?U7(e~M}Qchxy-%cu!W4;{_h|(X-zbS z$&*-SfMt*U0c{aFL`(_S4yAIDUVC8rtCLnUl-h;bgpAf*)MQpP?S^^a(S=a>>4InT z&=mO-z`mIRr2dsCX2Sc-Km&vHMDWZ6A)zMx3rPBmHwVBroA?eaYyv4L>m+-FL7PsP zQUO7X`ooWuKY;B5G!sM0wNc+OOP1=Bq+kkIkRZ6}J(7N$BeW68JYrI{P`B3O$QkD# z802IgiEOIEn4_;H3jlFRK@J5Z>%UIx0o%Ut%b52`ZXsd?PaSybe@7oyluf-9 z9vcTD0ElZHy=_t#Z5rA9S0hiGYM#dUVQr=WUufr6i}6+rD4L6rmh0I|=03p{TQo7q ztyqTa>>49OAT?!%-e2`>-lINehAYuc1a4)JUs(TG|IE(XyQt$o@GJR1QeOn zl2PEy2`lCex-poF^WopA9ajMl_fx>ufdRNcn5n<7j<+i49Zd2W@E)e{23|jhpAv_+ z0SjK>8|<7y>oC@A3vYuZ{P7Tds$mk$9kzP-yPad!reev>+ zdK&CPGgb_?{?|Q=YQ6Jq*9V@$!byK09{b%%J-Dk+n`x|7RG}p}Yx&xXS{{k#0qriN zcAFX1Nnf*@sl>)yWde4JXVO_RT?B@T&Bg1H)8%g51ZfG3G&CA^RX-f$#HmuVF$FIZ zFCULev7nypmRWdXs01W)$|^fBmwTxZd4kjw%Asexd(?u~Ac+2K zZT$rA0wmkft=K?xQ7sx@&5z^6pW+=S*80m32m4e6-hHBGA=U9RnEDT9c-DRts0Qjl zwR~9f*Zh^BW`N4k`<=-^?f{!Jsn0*hgaR$dAip=C(nDL||1%{@5VnQU7X33sCT(vl ze-Q6EC&0=*jU3WXA^=*Z-U!Z0CveS2oC&}T9BE!ps4&$L6hy_&brG9MPN-!;FW4(! zGz}02mFBM#bX2)UYD#9;EO1+tows5C#PtwJ0V;cuY@}kE1W~N*=h%yglk`!aWaQx> zpI${uAZRp1msNjE0B%8${;EkCEKpKq(%$o8NmmIKAWVm>>1F8f9*rz5i{gLK2VjPYS zxQl9cW^cisq=%d}@3 z!9f0kZY5sF!~-NY)?eISr-wLkxe|rZSx%a}4)Ah!(${z`<%rzqiVkFxK13RJVW1l7 zQ%=f}%jq_A9A*i6FB#RzDpG7gOs3E*_ro=^6_{_!(A7er!^c599s%Z2 zUPv3l@jOTya%rM(fIg8mb3hZKnO)ITfYiYb+WL)4GdWyrc)c~3Q(ycyfJ3!;Nj~-onfV}DM4RQxJ(jz2EW%?w7}HW?wEO}1;6Q=stq6iGw5q^f zT$nfWabDUL4ME|2>DO4(JjEyNl{-OE?n5Yx#_ z9H|uI1d4GKxQ$|HN#Bqod`mwthVrdtTTT@+z6cLLV5K#FzSw-}`9Qv6lHQ*A+1Kp zZ_P_u*HZB%7FwUtd!Eg-H)>1TjV@%MZ*fUM9GZedN+O+nk_I?&{ru{)@vT=MNIEDx zIe8C(p%2n$v@1V>*jc$N)PoDu-xZ?%CmQwEe(Ft_KmHf=LugXdd^S-ton}|TW0Wg5 zy=ljut5IBquP2Pc9a#M)?_saM15yV!>&Zo|?W!>bW@k}G-nVG}N&UPB#EC%2nkwxCGvKx6cgF$<<1*qPWy zd@rfm&Rqhnd|=)2O(3BDY?z^8-B~LdUh#yNZ~Ozn2Y$=mhc^)>P?#(|%!jWXL-$>2 zLQLoJJq;pWj%5+LIZ|pe&GXCDIZF7jA4&(d#!A!5N$i>_7pS5PZjc&($iz-BQVFm#VNi<>L-A}Ifgw95dW zFm~+$`3JdI_J^Mm>70oMcaQHPP}%wCl2xrarr*zaB*MlbyyMEHm@W z>6S2K_noL}_u9>{jxui4nx7l#4p`C!|H+rQ7N@3_gYd8uQB75sKeOK?Z*4p z_1@Lj!QZpuqP>~FiS~+ri%$6n+Dx||6VL>GlOefsDXJwX z|3PSx@O&-Opg5n?RTlX*A{6IMI}wNAxB!mY?A56iB^*1;OH`2tyVw!^>|7VE3Z-d(Upy z5Lju~w`eyN<>cqt`z5a1IL%*+1)<3RNyO`EU16?=>dzUW@DAm+ZkQWP09X3|4xW%$ z_M8*PDOX{Mc)Ps6r_msu1UGmYcWH7oRoNxpk0<%0+6dQW&pB5+Mn?e3vsmnOo%AGF3&s4=}KqM+p+L!LjCEC+9U5Y|;K(5g58fqE?dPRFpf|NDR? zY}Y4Oaa!bWl{~)w+z>+t1}mGUOc+TiEmgybKZCCN1knmpyja04Go_059IT2-!pA9V znUdk8<$&un>8IE6c(jsb!Qm-g0fMdc&i6)(i!pfE<_zY#1o?10X8WWb;uw6=di zkuCgNIYzk!vmZ3J{hO4JS9HNQCg?*E1jglF5`;KPr+%H)0E1lIVA#> zWfLiU`|^DQpH>_VG~uH}#9@$VA)_i|ZHtwzl4en6TjJYXH+oZ_B-87?7oR9e;k}tZ z<0U_Q171l=xy3ayrM;qCiKP#-kdB+ACUfJ}K4eI(hJkrM8t4L1A_eu9Hj6t zw^pE!T|virG4QLXfmq`I@-#GIMJi4inzWak7=SYjtTNroO!;ob7w9B;%W>2YfUUjl zUOuv3HF{UC=izExA**aeV-2sY-uyi_CccC0Z1PgF+cqr3ml{*Fge%RsSGZml1Fj?hm|cWN*C(jq*qq0@wF)eYmD}+O zU@*A0{&=)@>kO82DBU}=aA-OP@+=j0^vb8&PvRh$eJ7A{8$G~=!#(wVCwy;wXqT2~VBZ-m49#8n@VeaHlsJZ}4K=wtk8c|_pv^2%uc z3iJeO$D<8XAY5Coz)=vk!GajvyK79YQ}8ke|Frof8o1+tG(pM3i&yN<2QI_)4M}Me zyuU;nFh0^}qrI!2gcb2{-urkk)g+rSpdUf0Vzx;Q@WMPi)YNPxnlf$X_CU%f!usFi z30x=R#G?_jVwC;uUBWiAExbb>s$4^cv6&~>6-URCumS6xa*jrr!-KVe9D|KKA3qk| zs_!!f9HFa}PBvuNiV~Ad%BScvFLx~OQpixsWHR9%oCY^cy={g*9i5H^L(pjvcZ4bv z%i#QMy&0r(IaEc-uz0hhz4L3LQw~(#tYkzd`LKx*LHm131g32>Gw0Tn_7&ap8igIZ z4XyZ!8$Ln?)&|FL4chlP6ZP1v$0j|F*5g_|cIfd+JpXa^Z0M9BNK}+634E3;_faUe(1M3GH`XmD0OB z9d|8H_x9rJIB=2nvdJOkwA{90n(+2<>ATUc?7N`H!Xx`R96(}tt^WWCrjf`-6;=WJ zXFs?inV*F3+4RDt>PGyX+=|c^co|?gTWe*Y(AQ+!J60f({qZN;yW}(S>GtEWTX?NO z#*LNJ*m5~TYXb})GmNZXZf^eqIc=220Br}c*ooWU{smSud9bNczs4#!ve6pb58x`&<)KJ`y&(fiC@+53P(3_2}D2;6)>GqC-B*I8m#Q@01T$ zlnQU3mwHDFZu0ToV$3-s?}|T%$*8maYxzujSNJzr*3q>2G4Y<|eU35}Y-^K`_x8Xo zX#_*eDIZsmVKbr5mnqGa!%{wWh2aBCXcy~*P|NHIuFQaExudri5V)VMQwPTA>#39v zE6hm;??SV}2J(N|SMvS0^fT(7?1`A0=-m`^#g*&)l$OG|aTK$H6@mDAWX!!6#)$M2 zfIPn6AAIn8_T{add!!Rf)j$0;7);t-=X~7GwK$J}3tW+$^<|6mb4seOyojZtb6;H^ ziq+@XgRicL9v-8I=DL-XmRLbuoy3rIu$pDa^X7G67T~?emU+78V^aJ6h*s-LIq{GQ4SP%b;(g8N`_1>n*H2HRCp$R+IABSE>o zJ^eZ@AJ|81+<(Djt2pbhq2=C$WYR(GI}Vqz__&H%^9fHj;yW*d{pCNfl|>T~*(^Jo z)UOGNvlW}xY~z_%x4x`@I9u}J`%YW7lY>-uh&ujDbdr1&_!n4UINw*(P?xamK+|w_ z=%m7QjJN_q85BclR@eOva3JOtf3X7R2*6nnsT#(L;%p+$x*=;AJasFY!aUn7Y!pz3v6i5xgAB5VtinD-CiTz2?LO!# zO6m#RMc+SkxClSLqaV_wZUBgMo)_F((3n)l8-$vrw2&C)%{IuRnz;mQR=N+0jap^i zwuR~fH@-H7h*xK#e&CNxzaY6;C{-QE0$=esTLb3Rc$T#fS;e8OtB}R`!`mvU)=)g7 zd>y5?!%NXzLyNAchUEav=~4|+6PyU zqJrOx6^U+7NmOYlKskNRTKyiQ!%w#g^m4r}DVMsL>W)SkGR>%HilT}@fDRFY+lgkOk-f?0tkKnbQBB zI^9XOiMI`-PL!gIP0;?WgiGTeHKMq-s(VoAKaLHP{txrtI+zc&kdUPRUjPLF23F#R z+J?&_^#5b{S3K80Z-Se_h0E8YY+s7A_lyLdemgmnZTvA*q7FMK}EUK(5tVFjfxXMCN zEG}JAIeu|jX%RPhQE^FOfwio>u+&N!#Ysjun$2a; zWdHG3dPN~XN|#tsWX&ooxZhPtbxR8uQ^oNFou8eSo52#3(()X7&aA1q_p+oTEjKNH z($w4>_LP%5Gh2HCef_wB-8dfK5-weI ze@UTLEVC{qYLQx6Xa$4tf7a>b(tp|(!41GySW!_{!KKffF~gajJ9Xxa{M>u-KiXx_ z%*@Q6IwRLPYj#>@epU|WoRKyu)0v->>zJ9Bo1Zyz3WqSoIV;~WbrzSCnKs**Kh=># z|H)e}n!NEMd>WA#YTRhW|FY*QEhsE1E-fq=&*iulFD|UCEOM2UtO_xe^2gjeZcM?r zG0V6ymGj3`a*M`tIbvCPIYf8=Dr;r&lF~&b)|{zRKq!~4{a<}dq$EUZ5%>c4Z3#ry zkHty3Xs4^9@XiR%YMotNA-Wco+~X>&Sj7s^ck0;~Vu1+si$v?9 zf`STg&pM`@M!40QSNcF{*@{wYd1axipv+oPSW>oF({B97hGN;`vJ&g^!iq{#_b~{FYQZH*$g&YV~yWfV@zd9eGwgpF`YrmsY1Tw7iNK>8vtcaojkl%|C?q@O_GIN#li(#sbAX~W*T|IxZo ziTh>q-RD;QK6|92{cis3n&+ElZ`!dRaq`XIJz!4fs=Mx3)tHvfZR+sMNnW1Lwa!?wto|?Q_|NYa9-aGH zy8Y3AuDtHGD;?Pz_7%d{fWVl!<@( zm*WTFkGDMk^rIh{w$B@rUiNB1+|X7UCYS!{?T;!Q^3Q+P{d)3uXYTfg&76>R%XNuo zGFCitU+O!RYY)%7(nZU+s}a^*gk?&4`kmG|v0&M_q$byI{ z^W;X*+#JQHM?NsLc})TNMmOkxbH~7CNLM_pawBZwQ<0F*>7ikt0UzYH0>Z8Ii?N z*?2b2ViCY?2-Md$)Tj5MxRR*EnG(M~Y=hDGMFgufiS}hK*AL34ew05P4AMfJn-OK1 z4+&V2Oh%|d{#3*vnyt%pRY{9v@}7&Lt$-mM^t)U;)JKBZ4A_N;2g@@vDt2m=H9IO6 zvi$}7n;vC`LNWm}I;frZQTI`*3#h5goD!%|;*6Sw*ekQmx7U-22!w8(VFtCZhf`R3Gimg^oHQ1)?;crRTHs z<@z1sZx?X6w3yy4t9l=}`4CW#Z@g=cX2bmOkzh)0K9+Ew<1D5G0@OfZg%o{KcE$jKTsAy@3 z6B_wWL{u~+X2Fm&r?sH^E+z!hsaFv!YlFc*A*QxA7$--W*He9oH&#b9qCzt&v_$ca zNb3I~gj&G=p5W7?5@$(6*7F;}JVxV8eH^4kCZdS;cTD)^2)%1dcs<5R!-q`T5VoFA zmxhErX^3b{YffuP+XYie>OgJ+`@f!}9|;C&$FaXo8ajgkhe~e`tdx#QRHp>(w7DTa zGA2K2XV%44nBHwdo%c6jj|Ek^!6cIuDud0j2T9OY|}=a{486VK0Bg zk;##lwLxSrh}X}(77YGIr=frDwj1-JCcr0I8x@DYQwB}lZ~*$Jbw}ikL3+ND!NYP; zwR=zm5wYoEGP43VMZAPZ+Kx@0!#z7=iEeLWc5fHdjb03NIy)Hf7gPB(~;6gC0RErW|hM4AQ4edP)N<*8@U}=6K9asq1ojUB~^n9o)Tte?B zM;bFOso|RLaL}23z{_18Z?M|-t?%rJk8&j1&5=k-{C+J=}tFb z{{>jqU)Y)ae&6I-9n`_rP%-co-ro@n-hevvyWBV-*~B8W0XF>d{faYgzhnnsM=sed zMym+CHE#!lbbzMmZ#kST_(GGlh+JSQ`uFeu{~TE9yFg==ype@>&Pv zMYp0(1IImz{Lt^tX6QTe{;NNgU>o6ABHWB{JHj-C`3Nf!HX^);upOZd;Twb=1ip#m zu0psOfqtoaJQ?w9gd&9H2yTR@5H=zF8DT5JPK0KJHiQERUm|>i(1*b7;KXFCx5(uoc0F@GinWgd+$l!oLvCBbdOe zD-dE4YzT=6^vggzAE6w<2ItCRF}tFSPFA?{hAD+&=Auf`$|{FK$3Z8QR6!!UKf`&XtRoE-GD8$elAzt#nLE&&e!Y zR4@q#6wZ~HL7gcZ~pHnF2l>!~8BE*H|bijr) z7qrGz^EoAjh2`9nd~Qi4$eq2Y#8t?>&FkkRpk4%DIPRTL4m&yFxKH^|1G#1Wt#a91 zex+DZ;40_t;PUgA6pG6h6_+lmSW?NQ;d$Bp`HNi@`O6le4_SCF&(AL`U0z&KR?6W& z^<~dRI9V&?xW#zF31j}E^74E-pyRk-bNP!4!GDh1#^vLTt+WiIfXm0p)cvj^?qj4% zDk&9V$S*FtpW_}f;l~)v(ibY%rQZ8{ZS8goA31I>EAjN=m z8H*|l3m@QC7>mS0oTIKX7Oj9rp=6B_d_liC?)OGINGd7BsVAN`X-{-w#l2))rql3e z7f*I?8R@?dR@5XR!A;K6$=wXB@u zK42-r*G8!#)*QEo(k18^w~tb#)ZhV1iDeI9g=ef>h4bHK9QTD$gFj(h9%2A@#<*f} zC9A8Qin3#4*rlsD?K!`+a78{2-N;rMLV5Z@FXfF29V67K9pBf;;LLqIr#bh=V7{Y)(mInt+#~w9u1t! zDwi*=5Vf2*Jpb<;2KEKq`uFeua1PKJ`X+>b|NigffT7FI#Uey+v2%RezxCk%CN21X E07m6ykN^Mx literal 0 HcmV?d00001 diff --git a/bin/Release/modbus.dll b/bin/Release/modbus.dll new file mode 100644 index 0000000000000000000000000000000000000000..89fd83bf949aad65463bf788bd0ff25256820111 GIT binary patch literal 103936 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 V3{TIJX6HaF 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 z繤}PIteNK;>n;d1uj;1mwQ^jT#3TsMyzJ$Es;cpL3U1cUU=P~5fD%-RRvTM1 zwEk_9WmBpj3Z;r}&Yvte;;Uasy)eoL_NKGINW>#DDmTj{xMLTog&i^L11{iYhxN84 zu1U=$mF(FpjoFK}%D_ywudYmnK_r1Jt3~Dn{-o_orYKM3ozhD~ru(uYm@!H@jyqN6hF$ighQ; z%;b*n54wSa9}>XF z%Iq$Vy_pc&po>u92iT51B)3Gb8hB|M zdBiHvI)bPuZi~-1qW42gOjC7J~Rl9fFXul_ z8?G6VY55l5=arhdT+vJ@Ln^9Su#y$;(o#$AyitrUmnBb`)a72UT;{&nwirccIpVYn znfb3*SZnM41=Q%Y*V@_3*{7{#tsP_CC(+CAjW4*La4?hw*YT<>xL!-!&AaS^!?W)- zmHA%ldwi6+e9nApChPKMDXN_sSUtJMlf^UlDLxSF)VB*e*tzyXxm&Gr3z-@Lma_sx z{bo%&X`GvU+uU>Y4tLxjzP+L*q&22J3nhWoDaWJq25^Awp;;h zeSx3~n?6~d|5i`{F^-ply`fa!OND2eJ3ML4aS#hTWlJ)kv!lnmP!7)Fxx4f;7q1@4 zMRB47#S`O@4xBJ#2O=y4xuoRu87_R=S_H=<9DKWo?GgXDvpp^c$Rexyn`}dZrwOxD zupl4$o(bK-(=IIs5Vet07Fp77r=;JiTnnS$6f+)U&WUwLEebfb5BW{f4h&7hbZ&yd z6I&~bsFD)UPyYotx3YcwDmee+8$;l%Q`_wSN8l_|aGrObk_%ttk{~vC$T;k34fL<_ z1bTfBZDft9JtGU@3ey+;nrHEnMUiWN3CE$0la@mpg-uxf zJr_bCE3W=*Q!M*Qw*`O8YNv|cE&e+AJI>!B{@VF#;%_^D=B&p~8M7Wg#na+x@jT7*G|x_+ojkjE zcJb`x*~=3}*2nw8ZbVTyqI9}?TqYy=i^Napoh z2p{Lq!As+8*Z9K?b6omIs`oxtz4z}!sutMdc?QSoqa^)fH3|(wa;_hej~39v_?Ug< z(m$4w^*vMy{TNb$y6*snyZKwn-@W{W_*=st5`+GK;E%o@Ltl^KnaMMgX9mv>v#t8@rEQq`vL^we$D3)SVcc*)Dou$XKX%T03MMXd8L#xO2u% z(FL;*-kB{7Yd+{j6!tQ!b2&!=ak*!+ZDZ=BE`BHLK^X*PSN%bWyf$36)@|+k6E8=290warelAvfgPcE;S-92wQzk(Sn;hMA6_r}@1! zQTg}RAJE3ZwJUO)CtOFGqvO(!y7tz>2Bln)+wjyM3%yH)X$O}quD~+D;ORAYaP7by z3Sut)QX_as3HPXlB2%r^c#rA|9ABRz#iT|_J(pjv1gHpTckXab;vOI7iU2L`px8bb^WQ`a?dnH&_T9Oyb`!6_T zaNVj$%?ZLu^Y2_8*QOKA~83Z^5dAwMVWoidC06z^coLv+Dddt1c4;-5ABHQ%t+U z2Zw!$TX&n5h+DLHiE!>}&J?U1RfC0t6yL879sRJy+?{u%=G}2eEp~%>NAN*x`RiEZ z?WGe5C4}YRFYRgW=3TnL7iH^IAB*OOLlL ziH>EGF*06uq^VXb`LSf0Z0%45VY3f%Tjh4eXMLZFY;{55jN2-QiK~?{Rw1cFH45*t zzXOl)E7TEvJ7+oFdPhOx8^W-W#g#*uSuN7S1-H03Xu9`CV|M8t-2mDULRjd zE5keATU5m+(yHTW@93-t37QU@&tvas)qMq}t_z%9eT`KvU%z5;;_H?6*U69BVE`0y zV)jcBdL|}*$D}nWZL&>}I(>DF-$0&=35N^43yRB1(FZHcSWt|?264Wp6j~^l0h#mF zFP0*Op1}Ul4#OFJIUyhXcfR^rq=@A0cjbB3_wW*)(k!>#tjKM=EBYi`?jdf4*7U0` ziw`yf5#ReydQ@1YY}nDzH{!eM>57(p)fV60$BRUsY(u%Akl86yO(s&w?L`X~RL<)h zuj?EVSX zsCY&kos^W86`LQ50DayO?4QSChmnS*Pd_w2F`H31emq~85Tx!UJr;W(?mV3&TAY=i z(Ju?ES7$gJ>O5Ow-ka^YeL*agondWJW8+=4+as=hEIAMU;RS^Nh>Rax^^K~Ig+j`3 zJ$GqSfi}+C%K^`}^MwRq8RFDnA#HQt6zn3tl zb*tXWjmoSTcg%+A~%l{IWK=&E_&FUi>+_Vu~Yb5D+D+3afT3wTus?cP-5YE zIBoR;!2!8a#Fes^uJXw=^2&!>tdVqx=q!1DK=14lUYxRjF#iyq4R zh^^38RkoMsw^XMw&$3HDoBSzn@GEzvj-~` z!%y*QPsy0{!lz}takTBWD&>B*#jHLBFQtALHN?m28rrpsBpItC;G}gAR0cbd+Px-n z*W!q&$VwxM>*(kbDJy&!D_~~|RoY_}y-^UU%pW6iSB!ad9E?b(WfeI}mo!WmebU^L>~= z`m}c8!I;N=^{5OuDw~#wdQ28K1-1*Mt7Vc*ewLxE+(Ht}GhtC=5L;y3NF8nN?9;`> zZ;)!lyZu#m=U1ykcRTHHmkH>o_O8@s() zYHgw4;mC4C^PdyAs5iIB`m=nDELVybsXhW@o)h>;gui<{o`_+zK9wGuEX}l<;_t{U}8JauWBZ@*+I+VUQ_sWI0}aJ4NNa(1X7FsCyV}?%cksPm{t)+R4Oj;sNcT zp(-pbMN1ytbkR`v6mj>KEmJ+NW1FsOM}gp9Sgh?# zGpupJ1h@+=QMDEiY7*m8bI8W`mv-M8!MBZ)j_4)UqXV^BPpJC!!nf58Ut&pB8;;=H zW=V(j^af}$V`*vf33XIm5EfP6cI1f;jc+&iT6B*)7+K9BI8H z8i`|n1`9lvTMJKH?KOhgC^mVer#SI&W1wAQeZJ(}Rmx+xuco?JF|oVkaKYa0ICBce z)i~v=&PZB=!|jahbyz?@UEFvX>jnIZ1k3!QaPTzK0%wIqR^bS61ncCAhyNqBzkjI( z#`z4rL*#;z8^_Iww$+@yR!h+fGn1ldqULBWA~`;>Fg$uI-xS_;-3%4T_C20Y0BUk| z&Dq>gYFjV^rnw_Jsd3oU2SVvn7pf?aL|slA{osfW*L(fig=E)8s9f%;3pMu~`NY2o zIFKy4uI|w?d@t?yZS&6WZgz)YEbP}KxzS5e)aHAkiH-YfBHyk#b20I&U3w%-Z{8ay z%vgCbKzmSSUGa6z9oV<(a$eoKxbwyLTIOvS&CZgykPD``ERNB;(5LhLW>JRg1WXla zy1A3DuiNa_F5T?Zrs*9?q10ORWntN@PNkJO`C8wquUX}b5!wi5I@=sqkc1vmVP7oj zBPOZJv5@KRYGsBpuykmWF-77-uAW7G=M12UR#s*rPwqKML)|DNMmewuS!6xW#Sw@<^b7}Hby~~Usxurs>#oL#t*6JqVp;m_TN+l z+W$gT^gd(&C{#r!?XZIA0O6q!?d1Jjh{X6wXpv0+U{_VLeFd`^ilKIwq4;{eD348c z=i1!ZeD?zvm?@3(rgh;MeT45N=X7I4bOcP4X@~vs#=uJWk;N;rwSnQKzN@DkP_-P@1{2PyZ-YBt%?XGA78WocrYr zfkCyzfh3a^3emY%YbrqC{uL-hw#RK9lu=5sz68B4zyVn8ls_QcAXnHwWAPolKFk=3 zNy1V3B!BGNGGV3^7mJ=^PL^7WL*Y z%3=eMf*_F*%rYm-UPHD9*`jZqL1#0?!|vaam+NiZN-K?UU)|$Gtesiak#}TaPY?C4 z_*QtCjdAi^llsUZhB% zaE$Nqe<5JItsYu3vR=~nuMOJZe86agP`py(w530Rml(qj$NnKhMHyfa>@mQS-!frXdyNP;Mp;JGH%u~vU0Ge z&l!U^%*lS$q4YMXc8AJ7tObSr?#MPuubrm%cC4PlFxi7T+WIv+Nwbf0!5`X&sa|PQ zz0$+R1`}kP&l0;WhnLl3HC~1&Me|3dYr7tgCLQeLzwAPy+%oJb5 z9u?IZUe*CuOPvEOH~YPTt6!>8OVsZxw`KHX)Rt zUc8b83kE0pa~({*;!>IIXXw})L|YtoN~xOb99-N04B7A)lOjdtvt<7I)%^7i&fm<${C!@Acxr77`o3=Uq@i=S zZ36v%-rT)VdhVRLD-vU&?}gnraph8M<#F%F2$#tx84sDge2K=vf6EX?69UZATu`jo z+WWbUgl&?)ic9-P(3rP`{jAPRi$1LQdQ4v>rVBY zVBM~s*I2ixXRb9vJttW=sOK2#I`y1lU9Fx|tt)uydkSK!3apD%)GW)Vo^!2X>N(Gf zv2?~(6m+P|v%qKdR?F)|=|N)H zS0&ag6?|5L`6{?kg5OZV%@Q0>P~US+;ugmql+a`|C6KJd>YxJ-vf%jK9Y}ukF*p>& zd~~P8AUH93y^1Nd-jRkhR;O=+JA36vm{-`7#Swb2QZ6^#a-q<(TP_!H zQJr*yQ~L&mzIMa6o!XVdv5VPk`EQt>q+Lwp$Q!=x(lABs)_1#ypVHuJA|tl`(x$^5 zdXuxIXE)Qp5z1^#0v4+I001cTcF%6vy@WPam?TL32Z(Kz`hQ3LJM`wHXhQ;`zpi~| zOf?K9wcW5!!n45uX<7VGn<->TM7O#)&9i?C&vZ_ct=4MnNm;hAn22XZwXYPldf-3l zdtuikM6G%o7M*DgevYWsaFMU-Z4I6okgv)R5vyQd(E=g%h-|?Hw4OOD7@5Tp%|9jB zH6ZH6Eo26p-@frd?>X{SgV)~IuxIvdn>)PNJW>0uqXue^J?XhAMq!6JH_5lnQTr#k zlCO=%Zo)f5hrbMW(D?VNJ?m_Oetn&bou>S|>pQgc0-PGH>0*1Zi7irIQ@Fb0`RA*W zo?jSwl6QTX$59$aWV-r|O`A5ElaGUP^Reh`Hvd$AZ=7ql*jPPW``$Q?nQTYcK0KIw zi@vX8MtDtqN7Xpgy>j*y9PMB$RzECmqB__Gx8vx0JxA*AsPBj->tw{jtpeh+=nu@+ zpH_`4AAeZYT>HM%`(W~X{XoZTIrZioKpOn$d*ONY9p*&Wr(6t~6Z19CiYxL*4B2IBG-bHh6vju(CGH+3ng{1T_zuT@dx#Lw`Klo@)8A%LrYG=mNRR)I zba)kBFc(I|{A6J4A;B62p6}6L(U}RXsV(f_t>%9V$j{kuo&wtN7$@wM$j<=pIeD*L z*1_7l&UO5+fc1dj^ZP^a`4}T?t_gRT2ge_ zl!n1B=&Jhl=$~K+_MEtMF9eVtO*?_3Jity{)S;g#;Nq3re19)Do;o7x4af(@-1EKHwZm zL*@N{GYyq~{R$e|OY~n)L)Q%QG}w{K#WFgB!3Hk=X6NlKGlJ{c5E+XeHMFOUMO%zT zn~g;qjYZEIi=H+Xy=W|Y0$w6=K+QpfLgZguyy0Mp?21JWXg)Gfh{_rzFEl1$z0-^J zPS4cg7!pm_Tr;B4-{v+Z&Ct)J`5qB_Oo%vdztrh(Y_Ew-tU2RZox*nRmgpbM!fZ3u zG+twoFjF~HBv&PuN87OfsarXrvG|!!S5{a|mTmJu^w(8M_zQegw$#yo(w9Ao6|(Z^ zPgR|UwwY>I{qp<@-Bs@BucqdNCQQ9Hlzl@>=;f(1eUFKsqp88Q{;A*bJ(ersWxmHJ z@T^LS*4|Q;7D3c0mVngv@a?>vSFNw^4kB-WtApf4%q)2!BGL`O5WQq-{<=%_>Ma+q z93Bg9xw@rc7;?d};EVLd4K3C0eW@OJ8!^B$0Ixm*M=nNLsmRbaYF~r*SZJ3Fbw@L) z`9D<6X^EN>snw^VuU_3kk*TS^M-U&0Rkf6!>Upvj}RU2-YmM; zuevuNMLdy*ghx{NRIF-Pd8B}F)v(Cl@-Vb#qb>!1=*%?}r+QXxza=^$QR%AZZ)l0` z(5tf?p*eQF;ag&SG_;%A|J}r9@Mg4P)*C3Jp5Snb<%RsYn5^uKr-pZS;*1 z+#;>^J^T(iqUBY?%Wu)K@vl73M|bjhY|dUx>$ASUcern7C+@Tk)t)KJa5&bb+THr6 zX!6SocsB~4j;2k`_dO1yAZ90hqJ$M=gj--KX7K5} zBQU}8OP;Du>N)NTzL;O~tmbkBGxJL}YOb8%m}&AY-{V&R-Lw~@^xvc3Ao%hjk%)-g zV+3Ca?8cBTNM4=ZbNuDp9|^zg1yb@$G7!XSsxX3k@=IRu)nSj;5oM=Smv_VrzR+C# zf=h3{L+==76xK-%;%h-ngEpJTw+o6_xR~DXnP`Z2LX)wyOmVCCS6O3bqD09(2gZoJ;U7HbKJMB z({-#n_=YniGuvbks*jt6#}D84c5}zL!yl(1Q1M3dyW zIDGX})n&))zHNnjOs&-{*#~PW`pvfB6K?WTMYjUy6)BvzmuN7_5%m#}VMAsW3G}>f zv$`QI_-KXUt1#vaH-k?YtCNf}Y&;_yB2xQT-Yopx^^K#P{&)DBG}`I^E`KlZcZ$DW z{)#Vh`fucK2Y>(0-?#aT^Nm7->mE7>V@k`y+z(WDie7<^1je`5z9;?0iq{%E z^m=RXFn>q*JIdc1{QU=i$M}1bzvKL!;P2$w*5F$=u>?t5jKcL59FtR8XC_@6b@Q7g zezdAP!4vJ9$S39?O!)OYW?wtp{Qmarbaz&Tabd&Eq}G`(XX{LNZbNah9O^Ffh=hVY zgueP;NG~-NR2Z)9glaI^>PAe>*VD>d0r&J{zQ>)z0{QTTwW92cr69f&sLYV~bh792 zdQGL5S1j;UjV`jvX3L80&Fh92mafF=t@q}sMI1nqqgPkD2lM89IqypYd7)*I`_VnY zxTSgGdwczbu&*%1+S+VohTSv2-&7c`^LYR3wbRYLC}o0)zFo&FV0tM++4Ghnm0Q5G z4-M^oqxwCW{V1ZGy5xCy|qQ&9|)x9v{mP$6Es*v|=myL-W(TPi*pNXxn#6 zhmSun{#bYt#yb1eE2PY)zraVJg+6@)ft@y;?DswLq`cX5vVXOoeUxT#360EBE*1Fn)O^P@c zZZ=DrTzid@7ok`s;d$w>WpSJPgaOqIKH=Mj(AQHCM_l>(e$%cm+vo_phvV+u9cUKf zD7VCrj*Sjuwjz!xIx|qe?AEkXl_08{%I~+;dHy5@U;{=TizMyDi=MWm%DKxV4 zd>Z+wqLH7{&~8N|y9a3G=ZZ#tK1b2W&xJ;I3yu6VKEY71lpC}-o!pKfw4#$8=g~=v z%i(u?^*5s56~r345w7W_3n|krcY_DHr{@E=TrnN%2i)aDD3xmvdl=YM7DK zI>VjYiXX1X;xjB0u~B%^9JR#MtmcpWwIB5}5!CkYLxz==i``rYIvZGVIlQcc{gmsi zG&Wbv86gzSvBK9-W&jlJID>Ir&pWm6$0)OQg52QPrS7w2*A$gf9Rs^2DbvA79uLoP zhVR6zIUCb0NR>RcRlZolR5+#XKA`%W_^w&qAzud}ypA+nmRM$I^GD-cN79a&&EZL@ zfED&$V3zD@{&-wkJKss`2~SN5^eV=8CTg5{N6@WE=5~Ii3uZf}{Evj3sNT1SGjffR z*RZPQ4jfwPobD=oT?pXbw0+@8xF_#0wbu+G51Fp+n&w~? zQBDrGGLdd=blp02a`gx%P;^#JAYV&ub>-d~Sk$!gQ}(>_bkD4aIr?2!AFqkJkU?x% z=xRl?jsAUfU|)peDfUG*fm|*5R%TYWlsvKW_iQo@|10)#ShBvgK!$U7|Gt{{(lN@^ zP?Ut_%+>g|5KDa$jfr^SKcJ_#n7 z`(JTz;2FQKbf*J~6dG^qr-w!d4usMI`?L$wMS&*jO&3dl(d2Z8n=#riJ5Lv0LCDOd zotBc;8cj;uy;$mXJ3{0_nh$-%?%n=S@^(li#x}}cmHNAPdqPQRE#14_l8d^!cPB}R z%JEqrFR5&G_3TzKCZ)BR`*tc24}``A4g%PI06QRn-D3k*U;~!Lv5haemW)5V_^#T| z31V1ZJ(EJi1BW$Vx^!ZT-d@m>ULc`_crCE~>_oM=rq4T~dZ@~Or`>b==sD@hee|SX zo=M#;S@LvBkEYb_6A*pd_M6Q+rI*IH?h-&l*-APmbkQ_vR>;Fa>w>g5qa(;p4@9LH zBy;@1ke}`&Mw1kxR0}CL#2X3AG2){q z?(3r!;&bEwdMn1ah9=msUuwhd1@_TEN2|_<9~6+b{#9+jQ44CSXdj5l18yW~e(eY2 zTwJPEpZ5KFQ70lnbxjYts{D(8DIG!&AMpHAutP#PP?ByWl=Ms0F@&79S=W@>12O_; z`>TQrpI zXf0JcT#Si4u?%q9JTyM&={Yj~SlS`>dbo#(yhw^Qnw7YS4V0CeieL<_VRO}$ccgBw zwCB#A=6Hklc?jAq+J`@>c$4-e5tP9eoKn_H>JKFF%4{CrBB+!_GQ&}znuD5md^m>l zq_3EF$HpJjBL$(cwUKx;BGL>{N;N~C(hPYfnY+#Qyh3kU(A(2Y|EsC$aMU1sqeKpD zZNn0!Zn*R+^mhHqV#TBbjcL@|P50wDMj)vNVP>hlKIIJw@SJ+3uwqB!*lQMAuWaJY%67^flSn z#6l^7Q1&&eu0_k!^#0bEmyNr6ufFED=y_gb>v_)lt;f1ql_s!+Ky;gcz0^pTIuT2v zEs&Ss&wf>#|dfud>g0F~ev-DAvj8{hYqEGSx7 zzNq{zG&*C4Y(gSJEhzeHjYuYlsBh789jHZe3$CSh*VOT8r1Z4J?&e_ zTJ?Y0`x5x3s%`xpC{P(BA_@pfm;_{K=6Pso3$3;#w1rltk~XJpAWdQhXt{u8Qn&?0 zMMXtLL_kGFMdboliXg%jwJ6FUYLSXXP*G7v<$dd%oFr|ja^HRLfB*OQO!?U7>~Zb2 z*PhqjM^bgRK8eEMU`DXVn0gI8;}Av)uZR|ED=44|+I#py)C#dzVvGG&PEBQ*>VNgt(zT#KfaNaV${#~?MbTaKk$9iid>dW1A zJ04W?=O=i!pxE#|&X)LB3Q`kG`(kc;={h?&^)#I^+RmS2!mUokJ1PP?aKhg-^^{aN z;1so)C=}W#lo~$XG907f=*L^S)jvBl!k4V}GMq5LmF*U^8T{v47V(a~LBWY5xKg^y z+~PP!A8%Ow;f+p5x?LvP7M}@zu+>Ge~x^?Z}e4iTMyi669U?vaiyw{_p$Zrkn0zd8thsx^T(8g#Js-qD>MY}4qE7n=*@(NsB zQN?gd3M;PhIQ@yWw1wC`nYj-KraR6nKx9=Kx+@WCA2<*9N!5+Q*{|Tlxijk}p?tap ziWFW+xAHdLDixRUy@NGG6c?HQ_cO88*bnGmYLar!!_y}q*sq5s@=8ed!AO9d}r>WOx9XCA&3 z#6o$^LS(D1-cAyZQTt+!?syi;tR=D*Rur4uR=6=h_8y;$$SIJn4N4LUy}#tWlUkpZ zh?P6}LSNiMU%VmIzT;iPsqCax`S@%dzexBD-Gb6{vANUY&fVMX#lilnpJ*ugvIBOc-@cotmEAzaM1F;naJC_?HlPrq$jO9k1H;> zeJ^eI!L~1@vs3F&q3ZJ2#29?>!H+kyN*vzGkH`0@0(!sWt8?iph-#&~LRl1oOU*&>-G`R6w$$$9x$O$l3 zu&D2dM7Hn27$OPBmD&K#`THjZwc5)~!GCPp!I zU4;~LQ;Z-&SK&SG%n{t=l5^%r_!?+u-_B6>fxk0HT7ERH;q}aW77x2LZoBx2QD3lc%!MxqUQDJ3KOuX}|wr@Ks9fKKo+pY9nQd~%O zM)fXk&pJ2vhfDN{(hpQSp(~2fJibyI>d}w?Sm{S(NJ8;gQN`#mv;$u~qnj~@UBo7< z7B{zkZ#)|8k1v^iO`50MgV(|8Fsxd`YTt>6CKd=Z55t9KAbr@cf^m_IOZ^6;H9@TZ zW52Ee2{TWXuv>r|fVRNdkc6EC4gouW7l9{$`+-W}LtK&jIdBTN2(-TgVS!r!BajB< z0>!`#U=i>r@ElML8~{!M7lC-cgxv(lffOJg2m<#5tAS0x9^er04e%S#9yH$!$bmE< zAMgQlfTh4XU=y$l_yjlxoCewkK_?&w5`k>M4a@_c05$?x-C$n=XMs-0>&<``m9InK{t;%(ne@cROscG4Ac(Mfioi{$_t zUC7%g3G=W*RsgtIkOi0wcVNkw9_~Z&H=dO-FLS~*1h*l0a=@1ZE=BNx-?rI_lIqGN zg7{3P_$=Cs@1iN%i>7EVnvLznchPLlUvu_iIMEdSiKb{TnvLznchQXatKKHr-m=A8 zJ6pGTr`6j#;`X%f@LtCc-oLu-Ki+M(`>Oa|2fB7U*!|N(H{A637d=0_vB%-g`#!#I zf0ye&`LNTqA6>JzMtVxF_(Ap4k4o(?XLLVn)ThlCf3;k)S${ikG+i*9JF6d1e|+GH zLAQMK-Oz;ZhkSc-a9!ViU-kd`*v-AaJlf|-FInx1NsgzAo?cm4yn0Q^Gn{jkd)*6V zFL^yLJ~w&F^R8#tmX>e)TgB$TOyBh8tUI^P{QH&}8-k(NroHj{RR1fl2423yx8A|HNj}LGJ=At$QrWdk3gMNW0$695fc!cpT>&I^$K8c6 z<<~Q*6vtC*fl1wPksnY46hXSmA!k-dn;UXAm2r^9UW_K}Ll{1Ph~MSp(vNVVuv8{{ zJ;g46nIq`(dSpSb%vIv?`nk3&x0I9lxq#2>ak@MuvVhw$m6P>z%3J|Y|DY_$yWSDv z0zu9haYS8YsoB{hvt_A%zt=AdaKRu2_Hff=MU+lS$S))`Aj1&|3ZD8o2R05@5)OA| zVUit0k=Mt8evswlrn-tiYCzT`k&*C2^uWy#q|6jLLQeSWS2P%J1fCS+-4&1(hdf0* zQ-mA`LO!3@Pq_u3D!d`T%;$Cli@pA`whi(;t<>e_WJPXofKn=Tc$|1`LW#(yWN*mr zB=Y^-RL&2+djE(~R4(Bx27-P{1GI8wzF>t=W|SovxXj6>I@}>nRu&2bWgc%(R>;Yw zbAE4>*U8z*NVbS`O+}{U<^AOOvR)P$*%mq6MIq!)w5KrH9ADZpUtmyo40AQ7+wQW<2sH~auKfPDb`0f>VAcj8Oz z)igdfkV*4$l5&C$e=y`5Fc2&VhWs96mE&c$$m=9Ir!2E{4|wQu%7T7}C*TmIAw8u5 z)AEJ9gMIme?1*7}es9oQ3FotPr zXg{uBV1kjnGodm?GE-O~LoK2hU7ljE5G8ZFP+dKY6}mip--h}b@D@$+`htwn0|!$h zSF&Wci}M6Y5_u9J@Q$J)&PVc4?Dv*|nxQ;@{>Wd*<8$}}jzZLcbUT71K@dH%LN_Ia zRs&6q!!4WU2teRMC8a?=PLgl%A}rgba4h7gX8TbcNg~NpLqAdZr!vDhfp23;X0rMA zE5Pyc&r|Lfq?l5t1`U34yqhw}1UG{9~Z~uD)T2`0lbmC1UNUUDQ;8d9DJQJlRvB2zLTWJR3nrWWgfjIir+;X;ww^~!^Ky0 zYFi!TKhh%)9ZDV=xO-%%y)M)R$fn@TMtew1JhDu$6M_)!xkz%2LetLIEwLOug)(ok zQ0VCW@~G>}29pu7Y#PLnD?qPRKpDb+CDdm4;jPS3E{k~Oql?G|UnJyTY{J6b39`e- z*T}lLH26q|r{`y;%Cf*ESDDYvm7yWxD}6@hFx61SP<~Jo$w#QH5b__*3kp4wheo7} zy^|Q0r#UR+VRD-W1x2EN&+nyG=n958#3v($`MoqK2xa(6{EAt*QvZmX=VgPqh2enE z&qs0!pJ=6oo*hFXkslZfPy`J{ApGv~ppHfbgX+APP6N3T%7TVrBso{W7rq-4(j?}H z=?m%cHp194(qfaHNIl25H8N{t6w=7A(-kN}=g2`mKz=j98if(r-i+@^9T!^!K57so zR+(sLL#_J zhXA*-be0RV3}FIrlOZ&v&cTNR&u%<9G0+o#!x7dGcNg4?`R6kDi^eI$Tnd+I@Kpgb z#QXQ*e=n$_{FK3^2qw`$CZ$Yi3N{WtZybDzv9?7@4y5SjS4CEhlrG&VJ=C#jeP60HJ<1x^`}4*jS^Ja7@;hx0T=-_3l;*jy41h0>(5odOVF zJeXzDk4iG?TZlEON$zEl+*3*PLb&B)nRLt!0Y(|cgzJr5fe?lu$%6)A+L3GITYb*s z#aK{QCJc)pv@|GiQ_aP!#7(0r3=R3AI!P+SIN6_C?h4xd-Xe@L7$^^bdsN=U>!C>9 zjX%alaH5|)^q<~om;g`@O7^1zoPT8DWOU={7%PY8!g)d%nx`gV7(SJ=dwn4vACK@Z zM1%1gKeid>Eze`4u~L)@`BpI{QceNyGl)dS4U)^{{1dC5C9x;rvGUTT5lQKRFxg)J zaL$2g2xrHj2t6J=+?JZ1m71YaQm|AH_2hQ13w@!V-1tWgF_m$%p4l#~-~ijO&B0 zGA=y(Vypw2quh* zvd3)B0sCN(=Ex*IZm$D_bBxO{`wgeRV zT6S;*0$f?48}pG6KfCt`GXdV0%Y$A6Gt%k2=(gpTDZ+z6jJX|{1z>rh!b zMpIyh7fS(d*Ax!169XV?Avab|iutNV{R}uoG!3CT$4_DgBow**1EV8Ko=yzEMWQ^Y zjG>|+2736%JEpkZnGTnS&pYK?N%`gny+Xwf_#9ZBp^+|x&ViX>48vmirD(*jNZvW2 z@UnA}AMiVfB^E5n6mdhZoF9}9(I%%f(DLx~MH6s_-IaQB$9#<@u#lXn4_PVa@Cno+ z9;NPg@;J>E6Ob>rXgF=N;Q~SD?}XD(I3Jn|*;E%+G0=oYCN|Va@(B=Ks1wcbzQF6@ z&}t@NVhTe>(-AI0m%>2dqWR{R)=&=uUhqMfeMbF;dBm0bP;W2_BhEx?CeLRD&z}%d z4ErgA*tvqG{EUGX0~-5po-g4*G_VE<9fTr}5p}-ON5@?x<=Np%jsisMS>}T5Lg-K- z&?(hLc~uJ{6-8 zJuU@5k*1G8^=p9#&ND9zc=754$5MBT9F?aLZgS~iM2(2z*Lf%v1nD|M{DMB zphXS|vr2UPVi10fsaM;!=(Wfj-;L{WLHZIvoC6eM{*Q%UOes(&5qFA<8dO^1;4?@I zm29}Uv`SVn(>$Uji(2TSDQM23t0cqG7V#v}*w^j#l)zs$7r-Jcni41GoxBh^rg~k- zy5L3)8}FNzW+>hiZyA~;LDJ}bnBO}E>qhzJ)bI8AT_k(y2_yMl#gD~7R4rje zJW2y!+bG?@Xq$ly`*ZX-A_F zzzi&g$F!y%S!dvfU+_B&J*l`%WT(0n2+)F=6RYfeIZ)c+@f^=5qAwCBb;w?HyDqS~ z(V7@&EW$FnQwGv#R0me@Y4N4u(S`5;m(wVW%Wt^~Umk%CR~mmn+X=wf80VVqrv4pj*th}pob|nT_E$^zlYffe7R;@6?nm>PjE5_vVN_*u3jFtxU*W2?dF@C}z z%WhwQV6p*~3n~$cVVG4~S{fhUrrhV7=JPceU%{Cnn(B7+fFG$W#0ih=p_pf=j#blm zjDFCO^SmVH`M#Lv`(vIThpTzsFaIZFjsFHao#xRFP|5{+b^-BK4@Us8QMIX+4(^4({e=Px$*^xge0$tHhEI~5oNTPo& zBvd8ZQkIyTtz04y5@G;)*(u ze|P@>-Rb|!{Qsj4ym@!N1OIpDKP}BzR%WDCMaG=?4VGo%C!>c7{8(mYg43CR2mI`r z*nb7E{)Y7%ewhyAys44rk(dOLbq?*Lhdm^PN}!#=*sUQqAIGhjBU4;Sm?_X$Gt=QO zDup?mEA)r3Kt*o1Iz0R%(xLbn;-xql;-Yu}55iSY92B0yQW%y)>x)h}P<(zD|CC!A z@(03pd7RV3gsF_`ID!;uD= zDZH7(+b56A8aX<*FZo3fghT|02ho8t_ydg~6%>PT(2r~&H^>z7hAbkdl;Q9%O?>!o zn3HfZzjU%h+7e;2b5e40yDGQtS$8t^z7YpL2~B%uD>Zz{#__Z!92lRPl{Y?x3rq=m zedDo6SjO+K4&nD9<>LeXqVdyQ9+h&uU_aF7EEEWu^aNx0gdD@Mp371Qt!L;gGqx{m zitl?1&>i3>zBhJnAJ$iF&b?RB?}u;W{C)Qax!-rcqojHFl`bZI6^NxD$0zuFiuBf( z3GU=)1D-|u#`!dQ8phMueg7Z0f9!1-epe$pW(69$I!=z_`*l>$t;u*M-NrwQj?l`Z|ARW!BhVHTPQ@EF(`F;0m zUT^5$IR4w-{C)Rd_BC{GoPPEv4c%k;RJET;p9Es_7wi5R+>SJIkEL()0en9ghz;L3 z{XvHtx;K`~b6+%cZyerr^!MFc|JcwymOi3u%1;g58^(i$kO1v0jx zB{mL|y=7&&*r&rnSpYY}kp2S4J3lG9(uOL0CqsMC8{pD-#aC7)!A2v64Z9wr_lWK< zHU?QTb^(N_l3036dkD+5{^`XJMTi8@&gy!-^HZWKzn&GG7iBtZ8eQecvL3 zgO*?u`=?r@VV8s7R%MU#&%ze!3w&-v*h2IKbNTI!bSy`Ed0XTOEXhE@B(WiJx#CWQ zUEH^RHYTiSX^k805j2RMsiHa}vIbHayDko;(ya5|7U_W$4*P*6oL}5iJ{Qfqzz*bG zM*N}Vk_6pT+?^na-A+HM2HZp?nNlHS5Q${Ko(>^iIHjb~bQ z3x0)_R_!@wx(A9mw8z2NNs^@)>DUtM592@4Up@H~@&E;D3TY6^nb+y1P5dPGCPw0< zHqf~6p5)6*kUGdV|Arx6(C@8ad2wTe{WPA+T=6ZOn^nBuY)*JR9pwZ`8%Yv)agivC zk+fu(zX5gi*gJUby?#l+8CSJ9L(f1l$i6eK$=oe=Gj zJlFZ%5o#Nf0(`y06HAf|Ck;?~9~LSu##oxMA7W(*ym}3#8{W@uTuMnEXO7S15fUHA zr){TVW!dzcL_E8e(jJ+bNzb1`+M&(hawe0S1T;egBBu*J;KK) zaDODf?oV;t&@xg!xn8l**cViul#7V+#cEy(a$M6|2EUCh2pv1pA|pA|;S)*= zc|02X4vt#{Ii;O_YME8_ZK0tq@-xu_Pz9qN8FV^a7V6MQNy9;>K7f=D|z(imQ zFb%j5cox_M)BwkTi$JI85;h1(2RL9VumD&Nyadz$CxG+7RezDN?!aIm87Kfkz&v0D z@B**{_!RgKXfs2?dIM%)Bv1;>1s(%l18RVJ;2d!6OwbM(0Xt9(%m5w*UI*R*4g$x4 z3qXfih#SxWc|a*J9asX8=6efhz{jyxtTlFu;_-RSwyYiQh3UYqW*t!s*MQ~MV%_mN zd?2k0>&m*JsJpWs*cG~o^<;E*s5k4w`m%oPX4W4oz60@@&_U2$8v=c%1SZFsA|(Vz z4I$Gq9nQTOpjT$X88{2X!Nw9<5)03TX%rzm7SLH3F7hIrDG*kw7rF1QSRe*Wx0fV-TVaCRXkjqu@( zuuU0uo6*34A5kWWb~uV9(hy@+0EKjaut3}ujl>g}Qo!qsM$~=9u!yDrnkTWZ!6ILy z*8(5ZLIp;Usz-yO;VoiRdt?0x))DpA260@*me=i%dg5OTVwLElZa%EDMN+~`LFAN2 zj5SVq74RG`a79D`dF2b!kI}CfLDZ_i$+@vk*2n=XNKn=)fNexnDVhLeq6o`=kkv-9 zk;~<+nkGPgFOvY22cfj@K;Z~V-6BooooYt7j?f?^Ol?z_NDg@?s#uN0lkA-|xQva1 z-_S;~MOgF1N@Yy!4Qd*NEFvX!`AXW* zHh}Ko&)@$F2mVO^*@&LCAM}z*2fR3}e;u_U9e2{uCL1TOhri1%k?sJt0HI|#n+MQO z0^oc+`gj4fhE30;&w=3#^v#)Is8h3#p$NbgDE_vG-q9VUgz4%_F1O&Z)%{I>&?Htlgxnq`0t z@BuvlKR~onKFEJ1Ks3(|n{!~2`&@wB=K&PYeZW8f%kTXAQ!t6XRRE>81|WZL07T#W z0J-l6$h|9=Li`eWhDZJUwl#(7`$O2f==klG0ow%p??A3Zx(lF}N~%cz!cUZK(G;T+-$k=I`{vyLS^r`@ zqA7;|cbZ~zK=r$HtVBxft{En^RZ^J5`tsYc{|GY!CbdC5U{c$9HeVvW7Umw9)Rr%W z*$t)}CZ^*|4YNDUi+K_$wUPT^-UM?4%$_jqFl8{i!t4c8Hbx@t4YP8zL|P8h2a`5` zC&8Q!(+=|@%nX>cnPi43pNO=9ixVW$lRyoy1y}(r0?Gj=URU4b~@?0DRt1RMbN z09$}{z;a*_P!8k+DS!+hzf$1rI6MP2KsB%dSOqKr$WJhAPJ)>M$blX}96;`aKsWuU zUQmBV`TQ5f8!`ORPulEH2q|m!_eU}RXSg@7R3p&eyi&)1M*gmZ%4S6%+ypc$0b(11*uQ!$6yP5Q0=LNK3tMlfeTSxZeNOPp27n`_~J+tY`h zmI=;H{^viOLH>UeoL;*^|4Cv0ufzWbE9+L?z`j~pzj9pj@y~jS4>1Y@|51k~9+I(w zLz53FoBIFgz~{B+pp!F8pln~Egx9@D4*UGy>O(g!62{FULI3JI(b<^R1^8r{7=O(q z^fMg#p<;}87Nbu=`sANXDr?bSMl9;=Xu^zZ99~MTx*A$YdqV z*%(98_=LtbGT=@!TRlKSmB^3u5JX)BvaIw8@t^uZ&|9(Ryl`39|h;qAv=i8T{`?f2CU_l)dzVs7Fc5AA<2`RZ1S z2fp+~;<>FWQofzt>E79M{+77a{PF4!E~WP@f9s<}@6Osq$18V_*z~~Kq%HHOjP7q( ze8yKhW7w9@?)m)O;}=fMdTvzmQ^%$r-SgwXgn6@XP8lHW^4!@MrAOc1aX#h5nteZ= zIdSCH=?{L8%I$gQzN=TixT4$9r-ygoy0j0?zAH3!cUortu(~x57)+XtuY8-6x#p`0 zmbWLEs-C!i?4=2-Pdz28&V6Q)&awB`sP-7)7+nJ+dmr2b^9{E z%Nu)tu+?-TKMbwzq!$^?k>@ zYo_gazRs4AG44p_jyIP+cx<=r{vA1{P|ACq-+c5X+vg>lmKsuDxas8&mfHIE+4<#` zO(un-YP!ua`u1(JUe1}(X>);X|91(CTfce#{Oc~H*!tR@Ic|8S|2KE8y~Q?j-BWd2 zoHK^kd^Xxz^q1Cq`s7ZVd+EN}mix{dyG<|Zm#nB>XYRFduYS&mhc~ic_nQtc$dB*- za{bY}R<|_moR>PR&FhbZbe|42s_y9VVV_Tx-=!}ZYgm2vo7H)To|&_HOJBKW zP4<&1x4$7B+%LUuh*mu^=f(G@^t<==xK-7kzcuqh{mz@7_% z{B`cVFSTAe^P0LLpFjEjhr8lFTYW$r{#Hs;B6Yfw$%SWV;;L z9GKuP?C07qV^953>1FJxt*@jA!ap${vR?wb71hw!Lf|^VfgN~D!p5Q;#CLrQHGGZ1 z?F0q*pKd6~!3`QCSr*>Y@&9ms)0eTo$9<3S1ku+Lxrmz4bmL&(@V5-A%?=A8Z;0^G5|ZOxUHcKYkzc;Mg^!5Zl9o3Qm|_&iNu$J zIO%Q&O2>!vgnKT?AFZHbCl2w5cW=rfw=Zb1vWHz>#2rL5zBHd?^gB&eTrU5_JL2sa#0?#A(A=;@81{HcSaRV?d>8JIjO8gw zk2!J~L3x?m6R`BgMR~?RQ7KpE2n;C`4;RyI0Y*olZ0J-)Z@Nm&RSb2SF;Mw{4wa?1 zVyL{gwL@E(%#51?0{jgdvMY;CC4@uB09S;|5P}taJT$d3M~-;g{jRA{&nV#n5yx0( zIw2Y&Wv&d|ujt0TV))qu+ySn))tnHCyJ6r+{4qY7 zq;5`VK&v?+l4%4tCy4yC+LP=_DJi(tB0oR;@aOw~EN^^4F_;V$hMvY^ z<3Q6S)2pVVruOEZ=Duc~d8GMvbAkC6i`IIV^%HA1o5eQX=CW)|lrJkcEB7nER;H?!s=ilsQIAlMS9{cVs-IJDQh%s6 zYVOsn(bQ{x(_E`nYE!hMwI$k+_HOM9+I?D?E?rloTdJ$oU8V1%&(|;1bB31;wT4t< z(74R_rSWUyx5l50=Zu$(txWAq*O|>1WdbbAow`x!SzLyvw}DTw@++kz3L%85X-`qVwv+i2{Pk9@u+KP^8izX%nSI7Pf-lVY`QqwZ&2JN;n&GvH!pV|Sy)c#EmplxCi2 zE;3Iy|7>n&ky?gW=35@Ktgy7PzGdBQJ#M{doo{=>_NnbBQdVJ;5U*c8PyV+2yxgF8 zQ}LnV0p(id-;{@xKPtPcR;qeyteT0MEt+c04$Usj9!-sApXPw(u%=d1hjQJomFQ>d z_v>33ZUA52Ft#z5n%7t^SlZaWwjpA4@U<{fBU|3iOD-^);7C^f7w>^4}8!;ERh3}d!&jB&hi z5@cku(Q6DDD~xv<=NcCp7aJciK5SfX++(aawlm!XUY|E5nA0FRdFJuvNoJ>cvH4Z= zUh@I-VRNmy&RlOkX+C8>ZMIrc!u)>SvdwbXa@109IcYg%xyEX;mRW<=a_bChrFEWl zfpw8}iS>}R)>>z+x1O}>ZC}|=*?zSV^EM!V74k~?O8K+$E{Yo!I>m5Bj-o)}RZLaP zSKOy~Lh%;l@k_-Sg+$q3IacXX`jrnU-&Ve_tW_qcG^*jM9jZ@MH>(G$Gt_g{OVx+f zoi(>=rfROz4%QZFztA4j#_Kxj7U@3J?bjXAU8f(S*XT{)`Q7@J`VaNr>029aH{50T z!O+t9vGEJzNn;z+)ux+G+2$K87UXS;Ws~K!#SXe3v7NB}LS^C;XznKeO#Y2LPSHVO zRE$=PQ#ch<6pIxn6{i(#l%14aK&wKjS0*bnl!eMN<=x5$l#eN&S5`yyse?+VGOI?Y zGE|dQzo=TOJE^;OqZ)O_w{TBT$ z{rmbu`s4cV^=I{QhE9gAhQ4TPbcQ5DnqiW`YnW=7YgldAY&c@*W$bSpWy~`Mj8(>$ zje|^CsJ}~0%S?5q(~zgu=Jw_u=H6(JQq6YAmESzge5ZN7d6D^k^CRXb&1=jrLdG_u zF4vepHXq{U>>KmQ@@}8h$YxG<|G2X!*=?#PXHpxaC{R50-P5 z>#crkhAr3Tw#`GG{@%t`2yJ3Zd0+W0^6~Ol<(uUf(rK^1-(-{Ut6VJrhQyn3kf}~zuIuEp|@d> zL2pPlj7FUfpryalFwd~q@SI^icwcSUWq99k!0?6PC&PKD(_L-6&Uk~dk5O*a8tq1h zvBX$z{LENkop0S}{oLBsHi7uH9{171kSk1zWQAMtv|_Vjr{WvMPm1%3mXO;trBC^w za+C5sYICcFell5}CC`_;y#IiZB(6A-BsD3bA#%b>XPbe^|flX+MxFHWzZJ2>loUI>$SbLw}1kx zwop5nIIp`)_ke!7VWDA_VYj)x^#R*4!WK?i*A%IPgkuwqidm;>U-*k>UH`I{S5sFhW03(hfHfs zM@-+D&Z2H~GtRcH@m^bjx(h(TA+kt<|m5tw;Otn=VctuWt|9r=rDNj(%mW zew}{3ey{$5euzO0c{Cdm4Jl{|G7NUZqv&f^8P*!s8K#?_wR~c^%GTeu*Y+9Fc1ob_ zxV)3XqnL|2^nv12g&cM0F=cC2d({M0k?L;MbE?l(b*fV;o%${HC{2Ne(}XnBHTP?l zVT|ztdeFDfcOJxO<6F%cO)Ip9g{UXJbO}10E=5#^E8y&^{8!cTHm*NZ1af+Sm3b37$Cn%akJu}VzV+=HCA;|)dKDRE9%|qbLh#( zpyl0Y+JX_t4%05v9#f5JpXq?epB1zo=3@95)` zjN^<>S2^)`($%{N^zNzBylUTf}W9%e~LtJlIh)LMd`ImcFLJBx9V1T$2u zZ7beGd9+imSK%d5!jD6jD^@60Db^}BC^jneYO^{~ouW=dduCVXf)C@t38%VL?MA&0 zs!4(d=mzWL7=!3_W?dpmBu$s0v+Hto`MUAwae}&X-3*k^Jlz8H#Y-?QjFmNJ7wG7# z8lW1ix=8B47+4AAvJNd=nz7Wlz_`}93*(bGQ@m+_NsaNL553EJ@aUB3qNyuJx@L1C zKU%3YuRyy|3x#5t#cWALZ!yU-!%~S6T(zYZO2#s4qID9+B`d63tkqWfqP6}$XunsW)H`c?X!~MZq1Ku)+Rf1BYR99+c58#$8QOW; zMHr(m*RIm8({9ji(e6OcyhmGuk?;ZSVQsCpPFt@%iP8IM?OE+bC_cyO;&ttHQe9_V z*Ki&DJq}LNId!FwapL4g(|U7P%K(cWkY=LEwWr<~}Wf^j~3VGatHe-*a#(WcG_~*auNBDv&LK7Tcy^{)~?nb;6`8T0PA3@+^V+ft!D5h#hPZ#u-dJ; z)_m)DaLQ>dwYsf7a7-A-EwwJQE(iBkS=U + * + * SPDX-License-Identifier: LGPL-2.1-or-later + */ + +#ifndef MODBUS_RTU_H +#define MODBUS_RTU_H + +#include "modbus.h" + +MODBUS_BEGIN_DECLS + +/* Modbus_Application_Protocol_V1_1b.pdf Chapter 4 Section 1 Page 5 + * RS232 / RS485 ADU = 253 bytes + slave (1 byte) + CRC (2 bytes) = 256 bytes + */ +#define MODBUS_RTU_MAX_ADU_LENGTH 256 + +MODBUS_API modbus_t * +modbus_new_rtu(const char *device, int baud, char parity, int data_bit, int stop_bit); + +#define MODBUS_RTU_RS232 0 +#define MODBUS_RTU_RS485 1 + +MODBUS_API int modbus_rtu_set_serial_mode(modbus_t *ctx, int mode); +MODBUS_API int modbus_rtu_get_serial_mode(modbus_t *ctx); + +#define MODBUS_RTU_RTS_NONE 0 +#define MODBUS_RTU_RTS_UP 1 +#define MODBUS_RTU_RTS_DOWN 2 + +MODBUS_API int modbus_rtu_set_rts(modbus_t *ctx, int mode); +MODBUS_API int modbus_rtu_get_rts(modbus_t *ctx); + +MODBUS_API int modbus_rtu_set_custom_rts(modbus_t *ctx, + void (*set_rts)(modbus_t *ctx, int on)); + +MODBUS_API int modbus_rtu_set_rts_delay(modbus_t *ctx, int us); +MODBUS_API int modbus_rtu_get_rts_delay(modbus_t *ctx); + +MODBUS_END_DECLS + +#endif /* MODBUS_RTU_H */ diff --git a/lib/libmodbus_win32/modbus-tcp.h b/lib/libmodbus_win32/modbus-tcp.h new file mode 100644 index 0000000..768d38c --- /dev/null +++ b/lib/libmodbus_win32/modbus-tcp.h @@ -0,0 +1,52 @@ +/* + * Copyright © Stéphane Raimbault + * + * SPDX-License-Identifier: LGPL-2.1-or-later + */ + +#ifndef MODBUS_TCP_H +#define MODBUS_TCP_H + +#include "modbus.h" + +MODBUS_BEGIN_DECLS + +#if defined(_WIN32) && !defined(__CYGWIN__) +/* Win32 with MinGW, supplement to */ +#include +#if !defined(ECONNRESET) +#define ECONNRESET WSAECONNRESET +#endif +#if !defined(ECONNREFUSED) +#define ECONNREFUSED WSAECONNREFUSED +#endif +#if !defined(ETIMEDOUT) +#define ETIMEDOUT WSAETIMEDOUT +#endif +#if !defined(ENOPROTOOPT) +#define ENOPROTOOPT WSAENOPROTOOPT +#endif +#if !defined(EINPROGRESS) +#define EINPROGRESS WSAEINPROGRESS +#endif +#endif + +#define MODBUS_TCP_DEFAULT_PORT 502 +#define MODBUS_TCP_SLAVE 0xFF + +/* Modbus_Application_Protocol_V1_1b.pdf Chapter 4 Section 1 Page 5 + * TCP MODBUS ADU = 253 bytes + MBAP (7 bytes) = 260 bytes + */ +#define MODBUS_TCP_MAX_ADU_LENGTH 260 + +MODBUS_API modbus_t *modbus_new_tcp(const char *ip_address, int port); +MODBUS_API int modbus_tcp_listen(modbus_t *ctx, int nb_connection); +MODBUS_API int modbus_tcp_accept(modbus_t *ctx, int *s); + +MODBUS_API modbus_t *modbus_new_tcp_pi(const char *node, const char *service); +MODBUS_API int modbus_tcp_pi_listen(modbus_t *ctx, int nb_connection); +MODBUS_API int modbus_tcp_pi_accept(modbus_t *ctx, int *s); + +MODBUS_END_DECLS + +#endif /* MODBUS_TCP_H */ diff --git a/lib/libmodbus_win32/modbus-version.h b/lib/libmodbus_win32/modbus-version.h new file mode 100644 index 0000000..750c74a --- /dev/null +++ b/lib/libmodbus_win32/modbus-version.h @@ -0,0 +1,51 @@ +/* + * Copyright © Stéphane Raimbault + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef MODBUS_VERSION_H +#define MODBUS_VERSION_H + +/* The major version, (1, if %LIBMODBUS_VERSION is 1.2.3) */ +#define LIBMODBUS_VERSION_MAJOR (3) + +/* The minor version (2, if %LIBMODBUS_VERSION is 1.2.3) */ +#define LIBMODBUS_VERSION_MINOR (1) + +/* The micro version (3, if %LIBMODBUS_VERSION is 1.2.3) */ +#define LIBMODBUS_VERSION_MICRO (1) + +/* The full version, like 1.2.3 */ +#define LIBMODBUS_VERSION 3.1.1 + +/* The full version, in string form (suited for string concatenation) + */ +#define LIBMODBUS_VERSION_STRING "3.1.1" + +/* Numerically encoded version, eg. v1.2.3 is 0x010203 */ +#define LIBMODBUS_VERSION_HEX \ + ((LIBMODBUS_VERSION_MAJOR << 16) | (LIBMODBUS_VERSION_MINOR << 8) | \ + (LIBMODBUS_VERSION_MICRO << 0)) + +/* Evaluates to True if the version is greater than @major, @minor and @micro + */ +#define LIBMODBUS_VERSION_CHECK(major, minor, micro) \ + (LIBMODBUS_VERSION_MAJOR > (major) || \ + (LIBMODBUS_VERSION_MAJOR == (major) && LIBMODBUS_VERSION_MINOR > (minor)) || \ + (LIBMODBUS_VERSION_MAJOR == (major) && LIBMODBUS_VERSION_MINOR == (minor) && \ + LIBMODBUS_VERSION_MICRO >= (micro))) + +#endif /* MODBUS_VERSION_H */ diff --git a/lib/libmodbus_win32/modbus.dll b/lib/libmodbus_win32/modbus.dll new file mode 100644 index 0000000000000000000000000000000000000000..89fd83bf949aad65463bf788bd0ff25256820111 GIT binary patch literal 103936 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 V3{TIJX6HaF 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 z繤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 + * + * SPDX-License-Identifier: LGPL-2.1-or-later + */ + +#ifndef MODBUS_H +#define MODBUS_H + +// clang-format off +/* Add this for macros that defined unix flavor */ +#if (defined(__unix__) || defined(unix)) && !defined(USG) +# include +#endif + +#ifndef _MSC_VER +# include +#else +# include "stdint.h" +#endif + +#include "modbus-version.h" + +#if defined(_MSC_VER) +# if defined(DLLBUILD) +/* define DLLBUILD when building the DLL */ +# define MODBUS_API __declspec(dllexport) +# else +# define MODBUS_API __declspec(dllimport) +# endif +#else +# define MODBUS_API +#endif + +#ifdef __cplusplus +# define MODBUS_BEGIN_DECLS extern "C" { +# define MODBUS_END_DECLS } +#else +# define MODBUS_BEGIN_DECLS +# define MODBUS_END_DECLS +#endif +// clang-format on + +MODBUS_BEGIN_DECLS + +#ifndef FALSE +#define FALSE 0 +#endif + +#ifndef TRUE +#define TRUE 1 +#endif + +#ifndef OFF +#define OFF 0 +#endif + +#ifndef ON +#define ON 1 +#endif + +/* Modbus function codes */ +#define MODBUS_FC_READ_COILS 0x01 +#define MODBUS_FC_READ_DISCRETE_INPUTS 0x02 +#define MODBUS_FC_READ_HOLDING_REGISTERS 0x03 +#define MODBUS_FC_READ_INPUT_REGISTERS 0x04 +#define MODBUS_FC_WRITE_SINGLE_COIL 0x05 +#define MODBUS_FC_WRITE_SINGLE_REGISTER 0x06 +#define MODBUS_FC_READ_EXCEPTION_STATUS 0x07 +#define MODBUS_FC_WRITE_MULTIPLE_COILS 0x0F +#define MODBUS_FC_WRITE_MULTIPLE_REGISTERS 0x10 +#define MODBUS_FC_REPORT_SLAVE_ID 0x11 +#define MODBUS_FC_MASK_WRITE_REGISTER 0x16 +#define MODBUS_FC_WRITE_AND_READ_REGISTERS 0x17 + +#define MODBUS_BROADCAST_ADDRESS 0 + +/* Modbus_Application_Protocol_V1_1b.pdf (chapter 6 section 1 page 12) + * Quantity of Coils to read (2 bytes): 1 to 2000 (0x7D0) + * (chapter 6 section 11 page 29) + * Quantity of Coils to write (2 bytes): 1 to 1968 (0x7B0) + */ +#define MODBUS_MAX_READ_BITS 2000 +#define MODBUS_MAX_WRITE_BITS 1968 + +/* Modbus_Application_Protocol_V1_1b.pdf (chapter 6 section 3 page 15) + * Quantity of Registers to read (2 bytes): 1 to 125 (0x7D) + * (chapter 6 section 12 page 31) + * Quantity of Registers to write (2 bytes) 1 to 123 (0x7B) + * (chapter 6 section 17 page 38) + * Quantity of Registers to write in R/W registers (2 bytes) 1 to 121 (0x79) + */ +#define MODBUS_MAX_READ_REGISTERS 125 +#define MODBUS_MAX_WRITE_REGISTERS 123 +#define MODBUS_MAX_WR_WRITE_REGISTERS 121 +#define MODBUS_MAX_WR_READ_REGISTERS 125 + +/* The size of the MODBUS PDU is limited by the size constraint inherited from + * the first MODBUS implementation on Serial Line network (max. RS485 ADU = 256 + * bytes). Therefore, MODBUS PDU for serial line communication = 256 - Server + * address (1 byte) - CRC (2 bytes) = 253 bytes. + */ +#define MODBUS_MAX_PDU_LENGTH 253 + +/* Consequently: + * - RTU MODBUS ADU = 253 bytes + Server address (1 byte) + CRC (2 bytes) = 256 + * bytes. + * - TCP MODBUS ADU = 253 bytes + MBAP (7 bytes) = 260 bytes. + * so the maximum of both backend in 260 bytes. This size can used to allocate + * an array of bytes to store responses and it will be compatible with the two + * backends. + */ +#define MODBUS_MAX_ADU_LENGTH 260 + +/* Random number to avoid errno conflicts */ +#define MODBUS_ENOBASE 112345678 + +/* Protocol exceptions */ +enum { + MODBUS_EXCEPTION_ILLEGAL_FUNCTION = 0x01, + MODBUS_EXCEPTION_ILLEGAL_DATA_ADDRESS, + MODBUS_EXCEPTION_ILLEGAL_DATA_VALUE, + MODBUS_EXCEPTION_SLAVE_OR_SERVER_FAILURE, + MODBUS_EXCEPTION_ACKNOWLEDGE, + MODBUS_EXCEPTION_SLAVE_OR_SERVER_BUSY, + MODBUS_EXCEPTION_NEGATIVE_ACKNOWLEDGE, + MODBUS_EXCEPTION_MEMORY_PARITY, + MODBUS_EXCEPTION_NOT_DEFINED, + MODBUS_EXCEPTION_GATEWAY_PATH, + MODBUS_EXCEPTION_GATEWAY_TARGET, + MODBUS_EXCEPTION_MAX +}; + +#define EMBXILFUN (MODBUS_ENOBASE + MODBUS_EXCEPTION_ILLEGAL_FUNCTION) +#define EMBXILADD (MODBUS_ENOBASE + MODBUS_EXCEPTION_ILLEGAL_DATA_ADDRESS) +#define EMBXILVAL (MODBUS_ENOBASE + MODBUS_EXCEPTION_ILLEGAL_DATA_VALUE) +#define EMBXSFAIL (MODBUS_ENOBASE + MODBUS_EXCEPTION_SLAVE_OR_SERVER_FAILURE) +#define EMBXACK (MODBUS_ENOBASE + MODBUS_EXCEPTION_ACKNOWLEDGE) +#define EMBXSBUSY (MODBUS_ENOBASE + MODBUS_EXCEPTION_SLAVE_OR_SERVER_BUSY) +#define EMBXNACK (MODBUS_ENOBASE + MODBUS_EXCEPTION_NEGATIVE_ACKNOWLEDGE) +#define EMBXMEMPAR (MODBUS_ENOBASE + MODBUS_EXCEPTION_MEMORY_PARITY) +#define EMBXGPATH (MODBUS_ENOBASE + MODBUS_EXCEPTION_GATEWAY_PATH) +#define EMBXGTAR (MODBUS_ENOBASE + MODBUS_EXCEPTION_GATEWAY_TARGET) + +/* Native libmodbus error codes */ +#define EMBBADCRC (EMBXGTAR + 1) +#define EMBBADDATA (EMBXGTAR + 2) +#define EMBBADEXC (EMBXGTAR + 3) +#define EMBUNKEXC (EMBXGTAR + 4) +#define EMBMDATA (EMBXGTAR + 5) +#define EMBBADSLAVE (EMBXGTAR + 6) + +extern const unsigned int libmodbus_version_major; +extern const unsigned int libmodbus_version_minor; +extern const unsigned int libmodbus_version_micro; + +typedef struct _modbus modbus_t; + +typedef struct _modbus_mapping_t { + int nb_bits; + int start_bits; + int nb_input_bits; + int start_input_bits; + int nb_input_registers; + int start_input_registers; + int nb_registers; + int start_registers; + uint8_t *tab_bits; + uint8_t *tab_input_bits; + uint16_t *tab_input_registers; + uint16_t *tab_registers; +} modbus_mapping_t; + +typedef enum { + MODBUS_ERROR_RECOVERY_NONE = 0, + MODBUS_ERROR_RECOVERY_LINK = (1 << 1), + MODBUS_ERROR_RECOVERY_PROTOCOL = (1 << 2) +} modbus_error_recovery_mode; + +typedef enum { + MODBUS_QUIRK_NONE = 0, + MODBUS_QUIRK_MAX_SLAVE = (1 << 1), + MODBUS_QUIRK_REPLY_TO_BROADCAST = (1 << 2), + MODBUS_QUIRK_ALL = 0xFF +} modbus_quirks; + +MODBUS_API int modbus_set_slave(modbus_t *ctx, int slave); +MODBUS_API int modbus_get_slave(modbus_t *ctx); +MODBUS_API int modbus_set_error_recovery(modbus_t *ctx, + modbus_error_recovery_mode error_recovery); +MODBUS_API int modbus_set_socket(modbus_t *ctx, int s); +MODBUS_API int modbus_get_socket(modbus_t *ctx); + +MODBUS_API int +modbus_get_response_timeout(modbus_t *ctx, uint32_t *to_sec, uint32_t *to_usec); +MODBUS_API int +modbus_set_response_timeout(modbus_t *ctx, uint32_t to_sec, uint32_t to_usec); + +MODBUS_API int +modbus_get_byte_timeout(modbus_t *ctx, uint32_t *to_sec, uint32_t *to_usec); +MODBUS_API int modbus_set_byte_timeout(modbus_t *ctx, uint32_t to_sec, uint32_t to_usec); + +MODBUS_API int +modbus_get_indication_timeout(modbus_t *ctx, uint32_t *to_sec, uint32_t *to_usec); +MODBUS_API int +modbus_set_indication_timeout(modbus_t *ctx, uint32_t to_sec, uint32_t to_usec); + +MODBUS_API int modbus_get_header_length(modbus_t *ctx); + +MODBUS_API int modbus_connect(modbus_t *ctx); +MODBUS_API void modbus_close(modbus_t *ctx); + +MODBUS_API void modbus_free(modbus_t *ctx); + +MODBUS_API int modbus_flush(modbus_t *ctx); +MODBUS_API int modbus_set_debug(modbus_t *ctx, int flag); + +MODBUS_API const char *modbus_strerror(int errnum); + +MODBUS_API int modbus_read_bits(modbus_t *ctx, int addr, int nb, uint8_t *dest); +MODBUS_API int modbus_read_input_bits(modbus_t *ctx, int addr, int nb, uint8_t *dest); +MODBUS_API int modbus_read_registers(modbus_t *ctx, int addr, int nb, uint16_t *dest); +MODBUS_API int +modbus_read_input_registers(modbus_t *ctx, int addr, int nb, uint16_t *dest); +MODBUS_API int modbus_write_bit(modbus_t *ctx, int coil_addr, int status); +MODBUS_API int modbus_write_register(modbus_t *ctx, int reg_addr, const uint16_t value); +MODBUS_API int modbus_write_bits(modbus_t *ctx, int addr, int nb, const uint8_t *data); +MODBUS_API int +modbus_write_registers(modbus_t *ctx, int addr, int nb, const uint16_t *data); +MODBUS_API int +modbus_mask_write_register(modbus_t *ctx, int addr, uint16_t and_mask, uint16_t or_mask); +MODBUS_API int modbus_write_and_read_registers(modbus_t *ctx, + int write_addr, + int write_nb, + const uint16_t *src, + int read_addr, + int read_nb, + uint16_t *dest); +MODBUS_API int modbus_report_slave_id(modbus_t *ctx, int max_dest, uint8_t *dest); + +MODBUS_API modbus_mapping_t * +modbus_mapping_new_start_address(unsigned int start_bits, + unsigned int nb_bits, + unsigned int start_input_bits, + unsigned int nb_input_bits, + unsigned int start_registers, + unsigned int nb_registers, + unsigned int start_input_registers, + unsigned int nb_input_registers); + +MODBUS_API modbus_mapping_t *modbus_mapping_new(int nb_bits, + int nb_input_bits, + int nb_registers, + int nb_input_registers); +MODBUS_API void modbus_mapping_free(modbus_mapping_t *mb_mapping); + +MODBUS_API int +modbus_send_raw_request(modbus_t *ctx, const uint8_t *raw_req, int raw_req_length); + +MODBUS_API int modbus_receive(modbus_t *ctx, uint8_t *req); + +MODBUS_API int modbus_receive_confirmation(modbus_t *ctx, uint8_t *rsp); + +MODBUS_API int modbus_reply(modbus_t *ctx, + const uint8_t *req, + int req_length, + modbus_mapping_t *mb_mapping); +MODBUS_API int +modbus_reply_exception(modbus_t *ctx, const uint8_t *req, unsigned int exception_code); +MODBUS_API int modbus_enable_quirks(modbus_t *ctx, unsigned int quirks_mask); +MODBUS_API int modbus_disable_quirks(modbus_t *ctx, unsigned int quirks_mask); + +/** + * UTILS FUNCTIONS + **/ + +#define MODBUS_GET_HIGH_BYTE(data) (((data) >> 8) & 0xFF) +#define MODBUS_GET_LOW_BYTE(data) ((data) &0xFF) +#define MODBUS_GET_INT64_FROM_INT16(tab_int16, index) \ + (((int64_t) tab_int16[(index)] << 48) | ((int64_t) tab_int16[(index) + 1] << 32) | \ + ((int64_t) tab_int16[(index) + 2] << 16) | (int64_t) tab_int16[(index) + 3]) +#define MODBUS_GET_INT32_FROM_INT16(tab_int16, index) \ + (((int32_t) tab_int16[(index)] << 16) | (int32_t) tab_int16[(index) + 1]) +#define MODBUS_GET_INT16_FROM_INT8(tab_int8, index) \ + (((int16_t) tab_int8[(index)] << 8) | (int16_t) tab_int8[(index) + 1]) +#define MODBUS_SET_INT16_TO_INT8(tab_int8, index, value) \ + do { \ + ((int8_t *) (tab_int8))[(index)] = (int8_t) ((value) >> 8); \ + ((int8_t *) (tab_int8))[(index) + 1] = (int8_t) (value); \ + } while (0) +#define MODBUS_SET_INT32_TO_INT16(tab_int16, index, value) \ + do { \ + ((int16_t *) (tab_int16))[(index)] = (int16_t) ((value) >> 16); \ + ((int16_t *) (tab_int16))[(index) + 1] = (int16_t) (value); \ + } while (0) +#define MODBUS_SET_INT64_TO_INT16(tab_int16, index, value) \ + do { \ + ((int16_t *) (tab_int16))[(index)] = (int16_t) ((value) >> 48); \ + ((int16_t *) (tab_int16))[(index) + 1] = (int16_t) ((value) >> 32); \ + ((int16_t *) (tab_int16))[(index) + 2] = (int16_t) ((value) >> 16); \ + ((int16_t *) (tab_int16))[(index) + 3] = (int16_t) (value); \ + } while (0) + +MODBUS_API void modbus_set_bits_from_byte(uint8_t *dest, int idx, const uint8_t value); +MODBUS_API void modbus_set_bits_from_bytes(uint8_t *dest, + int idx, + unsigned int nb_bits, + const uint8_t *tab_byte); +MODBUS_API uint8_t modbus_get_byte_from_bits(const uint8_t *src, + int idx, + unsigned int nb_bits); +MODBUS_API float modbus_get_float(const uint16_t *src); +MODBUS_API float modbus_get_float_abcd(const uint16_t *src); +MODBUS_API float modbus_get_float_dcba(const uint16_t *src); +MODBUS_API float modbus_get_float_badc(const uint16_t *src); +MODBUS_API float modbus_get_float_cdab(const uint16_t *src); + +MODBUS_API void modbus_set_float(float f, uint16_t *dest); +MODBUS_API void modbus_set_float_abcd(float f, uint16_t *dest); +MODBUS_API void modbus_set_float_dcba(float f, uint16_t *dest); +MODBUS_API void modbus_set_float_badc(float f, uint16_t *dest); +MODBUS_API void modbus_set_float_cdab(float f, uint16_t *dest); + +#include "modbus-rtu.h" +#include "modbus-tcp.h" + +MODBUS_END_DECLS + +#endif /* MODBUS_H */ diff --git a/lib/libmodbus_win32/modbus.lib b/lib/libmodbus_win32/modbus.lib new file mode 100644 index 0000000000000000000000000000000000000000..4d7500d1622bca7d4dba69991c581e55bd3dd8e3 GIT binary patch literal 16854 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 +#include +#include +#include +#include +#include +#include +#include + +#define DEFAULT_POLL_INTERVAL_MS 1000 + +#define NB 5 + +#define CON_TYPE_TCP 0x01 +#define CON_TYPE_RTU 0x02 + +static volatile sig_atomic_t keep_running = 1; + +static char *get_timef(char *format, size_t maxsize) { + char *str = malloc(sizeof(char) * maxsize); + time_t system_time = time(NULL); + struct tm* time = localtime(&system_time); + strftime(str, maxsize, format, time); + return str; +} + +int get_file_size(FILE *fp) { + fseek(fp, 0, SEEK_END); + int size = ftell(fp); + fseek(fp, 0, SEEK_SET); + return size; +} + +static char *app_get_setting_val(char *key) { + FILE *fp = NULL; + char content[1024]; + char *value = malloc(sizeof(char) * 128); + bool is_exist = false; + + if ((fp = fopen("settings.conf", "r")) == NULL) { + perror("Failed open configuration file"); + exit(EXIT_FAILURE); + } + + /* read file to content */ + int c = fread(content, sizeof(char), 1024, fp); + content[c] = '\0'; + fclose(fp); + + /* extract value by key */ + char *input = strtok(content, "=\n"); + while(input != NULL) { + if (is_exist) { + strcpy(value, input); + break; + } + if (strcmp(input, key) == 0) + is_exist = true; + + input = strtok(NULL, "=\n"); + } + + if (!is_exist) { + free(value); + return NULL; + } + + return value; +} + +uint8_t app_check_con_type(char *type) { + if (strcmp(type, "TCP") == 0) return CON_TYPE_TCP; + if (strcmp(type, "RTU") == 0) return CON_TYPE_RTU; + return 0; +} + +modbus_t *app_create_connection(char *type) { + modbus_t *ctx; + + switch(app_check_con_type(type)) { + case CON_TYPE_TCP: + { + char *IP = app_get_setting_val("IP"); + char *PORT = app_get_setting_val("PORT"); + puts("Creating TCP Modbus connection."); + ctx = modbus_new_tcp(IP, atoi(PORT)); + } + break; + case CON_TYPE_RTU: + { + char *PATH = app_get_setting_val("RTU_PATH"); + char *BAUD = app_get_setting_val("RTU_BAUD"); + char *PARITY = app_get_setting_val("RTU_PARITY"); + char *DATA_BITS = app_get_setting_val("RTU_DATA_BITS"); + char *STOP_BITS = app_get_setting_val("RTU_STOP_BITS"); + puts("Creating RTU Modbus connection."); + ctx = modbus_new_rtu(PATH, atoi(BAUD), *PARITY, atoi(DATA_BITS), atoi(STOP_BITS)); + } + break; + default: + fprintf(stderr, "Connection type can be \"TCP\" or \"RTU\"."); + exit(EXIT_FAILURE); + break; + } + + if (ctx == NULL) { + fprintf(stderr, "Unable to create the libmodbus context\n"); + exit(EXIT_FAILURE); + } + + if (modbus_connect(ctx) == -1) { + perror("Connection error"); + modbus_free(ctx); + getchar(); + exit(EXIT_FAILURE); + } + + return ctx; +} + +static void app_sig_handler(int sig) { + keep_running = 0; + exit(EXIT_SUCCESS); +} + +char **strsplit(char *input, const char *delimiter, size_t *count) { + if (!input || !delimiter) return NULL; + + char *tmp = input; + size_t size = 0; + + while (*tmp != '\0') { + if (*(tmp + 1) == '\0' && *tmp != *delimiter) { + size++; + break; + } + if (*tmp == *delimiter) + size++; + tmp++; + } + + *count = size; + + char **result = malloc(sizeof(char*) * size); + if (result) { + size_t idx = 0; + char *token = strtok(input, delimiter); + while (token) { + *(result + idx++) = strdup(token); + token = strtok(NULL, delimiter); + } + } + return result; +} + +void putchar_many(char c, unsigned int count) { + while(count--) putchar(c); +} + +int main(void) { + FILE *fp = NULL; + bool is_stdout_log_enabled = 0; + uint16_t tab_reg[NB] = {0}; + uint16_t tab_reg_len = (sizeof(tab_reg) / sizeof(uint16_t)); + + char *con_type = app_get_setting_val("CONNECTION_TYPE"); + char *poll_interval = app_get_setting_val("POLL_INTERVAL_MS"); + char *enable_stdout_log = app_get_setting_val("ENABLE_STDOUT_LOG"); + char *base_logger_dir = app_get_setting_val("LOGGER_DIR"); + + size_t slaves_count = 0; + char **slave_ids_str = strsplit(app_get_setting_val("SLAVE_IDS"), ",", &slaves_count); + unsigned int *slave_ids = malloc(sizeof(unsigned int) * slaves_count); + unsigned int selected_slave_idx = 0; + unsigned int i = slaves_count; + while (i--) + slave_ids[i] = atoi(slave_ids_str[i]); + + free(slave_ids_str); + + signal(SIGINT, app_sig_handler); + + if (con_type == NULL || base_logger_dir == NULL) { + fprintf(stderr, "The \"CONNECTION_TYPE\" or \"LOGGER_DIR\" is undefined."); + exit(EXIT_FAILURE); + } + + if (enable_stdout_log != NULL) { + is_stdout_log_enabled = atoi(enable_stdout_log); + } + + modbus_t *ctx = app_create_connection(con_type); + + puts("Successfully connected."); + + modbus_set_slave(ctx, slave_ids[selected_slave_idx]); + + init_dir: ; + char *writing_date = get_timef("%Y-%d-%m", 11); + char *current_writer_dir = malloc(sizeof(char) * 256); + + snprintf(current_writer_dir, 256, "%s\\%s", base_logger_dir, writing_date); + _mkdir(current_writer_dir); + + char *logger_path = strcat(current_writer_dir, "\\log.csv"); + + if ((fp = fopen(logger_path, "a+")) == NULL) { + perror("Cannot open file for logging"); + return EXIT_FAILURE; + } + + while (keep_running) { + char *time_str = get_timef("%Y-%d-%m %H:%M:%S", 20); + char *date_str = malloc(sizeof(char) * 11); + strncpy(date_str, time_str, 10); + + /* update writing folder */ + if (strcmp(date_str, writing_date) != 0) { + fclose(fp); + free(current_writer_dir); + free(logger_path); + free(writing_date); + modbus_flush(ctx); + goto init_dir; + } + + int response = modbus_read_registers(ctx, 0, NB, tab_reg); + + /*if (response == -1) { + fprintf(stderr, "%s\n", "Error while reading registers"); + Sleep(500); + continue; + }*/ + + // csv header + int f_size = get_file_size(fp); + if (f_size <= 0) { + fputs("DATE,SLAVE_ID,", fp); + for (uint16_t i = 0; i < tab_reg_len; i++) { + fprintf(fp, "REG%d", i+1); + if (i != tab_reg_len - 1) + putc(',', fp); + } + fputc('\n', fp); + } + + /* date and slave_id */ + fprintf(fp, "%s,%d,", time_str, slave_ids[selected_slave_idx]); + + if (is_stdout_log_enabled) { + system("cls"); + printf("Log directory: %s\n", logger_path); + printf("Time: %s\n", time_str); + printf("Filesize: %d\n", f_size); + puts("Registers type: Holding"); + printf("Slaves count: %d\n", slaves_count); + printf("Data"); + } + + uint16_t i = 0; + while (i < tab_reg_len) { + if (is_stdout_log_enabled) + printf("\tREG%d: %d\n", i + 1, tab_reg[i]); + + fprintf(fp, "%d", tab_reg[i]); + + if (i != tab_reg_len - 1) + putc(',', fp); + i++; + } + + if (is_stdout_log_enabled) putchar_many('=', 65); + + free(time_str); + free(date_str); + + putc('\n', fp); + if (is_stdout_log_enabled) putchar('\n'); + Sleep(poll_interval != NULL ? atoi(poll_interval) : DEFAULT_POLL_INTERVAL_MS); + } + + puts("Stopped by signal SIGINT"); + fclose(fp); + modbus_close(ctx); + modbus_free(ctx); + + return EXIT_SUCCESS; +} diff --git a/modbus-logger.cbp b/modbus-logger.cbp new file mode 100644 index 0000000..2b23c72 --- /dev/null +++ b/modbus-logger.cbp @@ -0,0 +1,52 @@ + + + + + + diff --git a/modbus-logger.depend b/modbus-logger.depend new file mode 100644 index 0000000..909357e --- /dev/null +++ b/modbus-logger.depend @@ -0,0 +1,28 @@ +# depslib dependency file v1.0 +1697658335 source:c:\users\vbox\desktop\modbus\modbus-logger\main.c + + + + + + + + + +1670403614 c:\users\vbox\desktop\modbus\modbus-logger\lib\libmodbus_win32\modbus.h + + + "stdint.h" + "modbus-version.h" + "modbus-rtu.h" + "modbus-tcp.h" + +1683884788 c:\users\vbox\desktop\modbus\modbus-logger\lib\libmodbus_win32\modbus-version.h + +1670403614 c:\users\vbox\desktop\modbus\modbus-logger\lib\libmodbus_win32\modbus-rtu.h + "modbus.h" + +1670403614 c:\users\vbox\desktop\modbus\modbus-logger\lib\libmodbus_win32\modbus-tcp.h + "modbus.h" + + diff --git a/modbus-logger.layout b/modbus-logger.layout new file mode 100644 index 0000000..641bb9c --- /dev/null +++ b/modbus-logger.layout @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/obj/Debug/main.o b/obj/Debug/main.o new file mode 100644 index 0000000000000000000000000000000000000000..e63ea2d2328d60b3cd67a601e98ee175162cd630 GIT binary patch literal 2703 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 literal 0 HcmV?d00001