From 54b0eaeebf4afc9b3e8e8dbc7aed0a60bdb0f25f Mon Sep 17 00:00:00 2001 From: Florian Date: Wed, 15 Nov 2023 14:46:10 -0600 Subject: [PATCH] [DOCS] Add Theengs bridge (#1807) --- README.md | 14 ++++++++++---- docs/README.md | 15 +++++++++++---- docs/img/Theengs-Bridge-ble-gateway.png | Bin 0 -> 28402 bytes 3 files changed, 21 insertions(+), 8 deletions(-) create mode 100644 docs/img/Theengs-Bridge-ble-gateway.png diff --git a/README.md b/README.md index 36aeb27..21a5ba9 100644 --- a/README.md +++ b/README.md @@ -21,10 +21,17 @@ The reference sheet, with the list of all functions, pinouts is [here](https://d Upload OpenMQTTGateway directly from the [upload page](https://docs.openmqttgateway.com/upload/web-install.html) (no additional software required) or [build your own configuration](https://docs.openmqttgateway.com/upload/builds.html) with [PlatformIO](https://platformio.org/) or [Arduino IDE](https://www.arduino.cc/en/software) +## Products powered by OpenMQTTGateway -## The first plug-and-play OpenMQTTGateway BLE gateway and Smart Plug ! +### Theengs Bridge, BLE gateway with external antenna -[Theengs plug](https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption) is available flashed with OpenMQTTGateway, and brings the functions below: +[Theengs bridge](https://shop.theengs.io/products/theengs-bridge-esp32-ble-mqtt-gateway-with-ethernet-and-external-antenna) is a powerfull BLE to MQTT gateway for over [80 sensors](https://decoder.theengs.io/devices/devices.html). Equipped with an Ethernet port, and external antenna, ensuring an enhanced range for your BLE sensors. It supports also WiFi connectivity. + +[![Theengs bridge view](./docs/img/Theengs-Bridge-ble-gateway.png)](https://shop.theengs.io/products/theengs-bridge-esp32-ble-mqtt-gateway-with-ethernet-and-external-antenna) + +### Theengs Plug, BLE gateway and Smart Plug + +[Theengs plug](https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption) brings the following features: * BLE to MQTT gateway, tens of [Bluetooth devices](https://compatible.openmqttgateway.com/index.php/devices/ble-devices/) supported thanks to Theengs Decoder library. The plug uses an ESP32 acting as a BLE to Wifi gateway to scan, decode and forward the data of the nearby sensors, * Smart plug that can be controlled remotely, * Energy consumption monitoring, @@ -32,8 +39,7 @@ Upload OpenMQTTGateway directly from the [upload page](https://docs.openmqttgate [![Theengs plug view](./docs/img/Theengs-Plug-OpenMQTTGateway.png)](https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption) -Support the project by purchasing the [Theengs plug](https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption) -The plug is available in North America only, other regions are planned. +Support the project by purchasing the [Theengs bridge](https://shop.theengs.io/products/theengs-bridge-esp32-ble-mqtt-gateway-with-ethernet-and-external-antenna) or the [Theengs plug](https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption) ## Compatible items diff --git a/docs/README.md b/docs/README.md index 6111417..c4294cd 100644 --- a/docs/README.md +++ b/docs/README.md @@ -56,9 +56,17 @@ Under the hood, OpenMQTTGateway offers features such as: * Over the air updates * Local or cloud, your choice -## The first plug-and-play OpenMQTTGateway BLE gateway and Smart Plug ! +## Products powered by OpenMQTTGateway -[Theengs plug](https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption) is available flashed with OpenMQTTGateway, and brings the functions below: +### Theengs Bridge, BLE gateway with external antenna + +[Theengs bridge](https://shop.theengs.io/products/theengs-bridge-esp32-ble-mqtt-gateway-with-ethernet-and-external-antenna) is a powerfull BLE to MQTT gateway for over [80 sensors](https://decoder.theengs.io/devices/devices.html). Equipped with an Ethernet port, and external antenna, ensuring an enhanced range for your BLE sensors. It supports also WiFi connectivity. + +[![Theengs bridge view](./img/Theengs-Bridge-ble-gateway.png)](https://shop.theengs.io/products/theengs-bridge-esp32-ble-mqtt-gateway-with-ethernet-and-external-antenna) + +### Theengs Plug, BLE gateway and Smart Plug + +[Theengs plug](https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption) brings the following features: * BLE to MQTT gateway, tens of [Bluetooth devices](https://compatible.openmqttgateway.com/index.php/devices/ble-devices/) supported thanks to Theengs Decoder library. The plug uses an ESP32 acting as a BLE to Wifi gateway to scan, decode and forward the data of the nearby sensors, * Smart plug that can be controlled remotely, * Energy consumption monitoring, @@ -66,8 +74,7 @@ Under the hood, OpenMQTTGateway offers features such as: [![Theengs plug view](./img/Theengs-Plug-OpenMQTTGateway.png)](https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption) -Support the project by purchasing the [Theengs plug](https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption) -The plug is available in North America only, other regions are planned. +Support the project by purchasing the [Theengs bridge](https://shop.theengs.io/products/theengs-bridge-esp32-ble-mqtt-gateway-with-ethernet-and-external-antenna) or the [Theengs plug](https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption) ## Media diff --git a/docs/img/Theengs-Bridge-ble-gateway.png b/docs/img/Theengs-Bridge-ble-gateway.png new file mode 100644 index 0000000000000000000000000000000000000000..0d4d59cc5083dcf386b535d8e480ff47c3d8b545 GIT binary patch literal 28402 zcmeFZ2Urx%(kMLSETDiA7Xc;b99Km^K(c})dC4qk$(dah6(x#@CB^Qxn3V9YBcAuS~#D+2&BQZlkC z($XqYO1#oiDsqY{(qJaZYm&dU1uT1V&;!K3=z?tg1*5^6Kk5UUPWr3dN$WI7$o`-~ z3Eolu8<_PE_yp@OK1r_rjZc#6fAI-&NcuPWH%LkUtc$w*SF5N&$x(yQZ(sr&_51aB z_;?J^1gI$~sVFI^si>%EXsBuFSs3W)=;+x`pJ8O-=78{Ub8vC-3P=d@@`>?taS163 zi%Ch#$;m+kmDQDG)Ffo(WKM{X(9qD()6t(}U^pjpp6k5K-+df^0+^|R5Wtd*P^ zc1~_yenH{e_Z5{@)iob#>zZ3y+uA!mf9dS)>mL{#8Xg&)!OYIhFDx!Cui$=eZSU;v z;r9Z zXlv%b$dTGlP0*>~NBQ2s^i^DtYdyRUk=&f!e@wTPa7~GSi#HOsv@GT!;8_|cQ=HG6 zXbhtdbVYiNAe(iLq8b{fc8#jNMt$euBd-n?s{pqjmnc|BGKy~5+FhuvKp%2_*If|Z zr{fhQ|1F9js5Tvya6hm(`g_?=*$OImwLc5aFB$_7c2bn#T;N_G%%G6N#R|pNj-r?4&vkv(IgLF4Vv$ zzKz|!>_Zk|C{$_EBgEIZP{wJ%uxSL-pW7q>eVz1xD&~Z7}51g;= zELA8jzI1sjmG{|UOXYX-DZTG+?rzT3Hl>;Hy)m8sD7~-i;vjoZSFH84uE5~Uawc72 z=qh}G!z^1dD5;DKXFz;=1G#sL19P(_BG?BS)e-{5GcoQI#63&t<1|o}t;>3GF9r~L zO&SASAtR+G=b@IT9kG(=u6`GPKc&@iUa(YMh4!)8{fxQN8?HiYYvNToY(B;2I5D>d zfN(H`g7wj$-MH=jQT$rBh%ZCNjscf^YHendnD>{3m32FuSa1va={wb16Y!M)f1X099(XT6D{YClP%;}oFCGJdn$yVHtQS1TfEF*U z5Ri4}_tXArvm><9U}hWL2+gVd4!QE<8py<-RW%~8k9yV_kn7>$$3T_vYmK{EPyRoZ zMEM}yY|TbD_Vyd(sL+3wjhih2q&le#-DUX~OQEzuWKgUAKvi+^h2F~6e((M};-k}= zPr~nME3HN)$bJjafMTbv;P?p!NamF~`R-y1FJG|)?27^0hu27I$t0vR>vx(yQGNVH zUAT;ocmD+~P%xU(xL%}o`Efg4Twm9jFUtA9(aK&YR~IhOgFM6B5fhunj)(W(xhHeV z{gRasP)cTqznec1l4$&+v}dHWWFz+hUE~n$92v?6Kx(weedmn6U72V>{91e3x{EK0 z{OKM34?V{5uh_WzXFg6Rc--LlO#js%j*6p0Zyg^YzmGn`i@h5EKH#tXjU ze0fX2Sh(wR>m2}M3RU|~Wu$eDA|$o-7UF6x;q)4=Gih{zl<(;0zrORA%u4VlF#evohDiadx3#nE=E(DG)(Wjcf zZGlK}b>7)R)sysmrF0`Jc;8sv?}_d)%h9`U;(F562FrLLR52DINwFoi&DupDTUb? z)wPy6wdqP;_chvh788`%ciTuc;kXSJN z_}DvoI0x`LIJ?5U)%i9*qWO4XPU?IX@&-}{KAO&Muxnv{&SqhTHypz}9F?8;pc)Lc zY9T5iUOryV0rtEhUY_3mDk188zo@H#@JY5LAMY=e01tJ(TcBO23HNj6m6MQ@kP-*& z(;yi>kO+;MpOcG<=~eANXn=R>e1EhyI5=1$SXKh==PD_!tgI|4B_k;#BMxGS`-gf5 z*oTOF`}6;z@jH>L&i;;mFrNSz+?)4=sJ#O`FhHFTY{c)a^YSq;_>1;`DhV&IlP3Sd z_7Bhs0t^3la`V3t>fg*2>^mBC93Uc-i;QzC@ljC1yeFFVFfAQetDCz9!>; z`ET2ELdOZDBdZ{5FQ+8!C@wGK1kzD>hb99k&l9zFia#D8Y<8^XW(T4kZ z*@N!^=4J2dEa~p!?8?V`A}^K8#=7c!G7?gM+!}k@2e^Q^pvuC$o#4U#f8^hQc{!T} z*q_KwT0vP^PC-UWRz^uyPFYUo4-9i>KYvhTPKf|KcSv<1R5H(-(TQ0 zm_Jx`=+h1l--Y}y?fRFv{w@jpUC95^ zuK#<)^|z&ov$vDFV6Y%m;}}EwPFGXY&e+sQTlcya==TQQxUW4Oz5L0g0Km&Tz|U0Y z3NPr3jB&0%l?7ayP} zl^4Xijt&5JwKg5peSI2I-UD`W<#Ufg?^}FV8@*ZNH8ak1)Nn z_f0eKDgY)fKnKtT3;<(*7jOUq0T|#31OVdT)f>$52TZ}|SN@Cg9KXsNgQXn6QZT>~ zEO8Zp173jrukygjI{ z0FaFXz$fp&m509u03|TcK=$Nsc>*W^V7w0i)vbTab4Ue%nrHwxH{xUOXaB1nGVo05 z0tQ2V=7aGJO8_|Y9RO&pf0rBh?BqF+Jp=$ZKv`Yy27s4o0C3S2q;2zG@O=^z_)Bj8 zEzTeE`xP)CB_TQa|KlK|AUioIL1#4u6(tx&024J09St=#Ef`avWuT>{qX!Qvnp2Dn z^rueXUjYNK^hqi3pPrhE`UKJA6)*s*{+|yR91*f&K+o+zH<2or zX4kk4>hj0udKIwWnT(_=EJi=#5rdQBWlaWV``|l4?;drEtvylOIuzOnKO$M}MKd9% zbB56Ln@~7vR2b@EV2yd6UShdCSb~)iXVdR5mx_F`?jgw=>asN9HL<|-v1ajg$2bzJ z3C9b2zdSS{_B3+it!KT$Z-LIzd)QM+^C3mLLt+;z`(3W({On!bi&6XJ=%!hIzNTD^ za@r_A@r#EJ<*G^YN9&(UrKM>N{ZGSGbIRWIJm@exXpX-&Ay~CnF`zNDJYTp?Z^uGZ z#J|)S$cs?^E|;#jpj2gRcEp?L^IuDFHrvq{XpM-#8r_YcnEjI8aa$ChQFz<^!KT-PoTo>b&7^Y_6qHgK>b`La9-1>m zR57eOx8wCnAHfE1hIz^GV4`7_rgS^v7&s&Q+nS9ZCwUm@4bS+t=~9Rt&Erbv$gr_E8!*sj|L zd~|_3LUc%;)j*WzIr^7(ARdBESUcJ71wz*2MQ+k^Uf&dQ_t@Glz<=$-Se74>}#7RZ}MK& zg^_w}pJ{HC>Wv7_>L_#z%S$g_?sL)!bo5JQ`jYS=;DXV#M{~RVZJx?y^-ybzZFLU$ zlxxDJZx>Qn<7e$2O+xSNDH&M1omCNGIcos^i#4z}MHQy}4l^>}l-{s>aZTd!HN(NEE++W3XjJavp7Y7q8JhthIhWoP$ zpfQyncHZPw=l)g~8&IW4eNoMI!!_72ETFgs-!^lO;HIW9DT2k|A16>g4-`U-8s#T{ zL@r;64L|SCpPhBjNAx9jsvSiY($#9_b^wi4lYP4~xGytex$?xwmq%qI{?@yW4>?(r z1;HxrqJlcOjc5#n$(_RxRRU8SElsLfA2i?d?eca0s2VZc|NQ#&tPgur@g`%0Cl(%C zuX8am2mi5!Bd?5xPoLAkl%~{?ztquOOnO83XV<&hq`n_oto*b>Cy}c^(oZxyVjM}; z$P;0Z*i^UJilSP+E%;O``cPxhG(nj^sg8ec<{TLMdZaewi&L~sZJuHvTrO-LyVzGb zmR>N%KKkX16!b+IX0rpzD&NC}&)hN|kSvuf3lyHK&4lH+h6*Ib%APhd)m7em8|N+P zfA|~22PZ#9O)aob9|PotIPcuqGW^BOCUI-?y0k-+dhCNJBVSqXr>1ED=1#LtQ|g#+Ey5&yVR=)J_n`5yGSq4H-gj#=pR8!(g?+#YYVJBx=ODiBWLsO~rN;A7h+xj*8(voSqPw-_$z zc#+4S9vvO4=@KaJ{5nGZpo#O6qa8p zhtF)h>YQS&8Vj);S7llmTxaG?rQ`6XVpia3e4aozX3u}FS;TxoSy{C~PH(gdEu{Ygq+i61}1wJ}QNjRcW`h1#$;|N!h7lQSr;sf3% z9vx6m$QWZAvJ%xH$&Khau#2g;Ka`KSjD^O?B~PQzj%klRkHYM4@WM(w%NDL(59(4D zjSc0JC1juGYM)|wicOGZOv6Zjc>A-Ey>gcQg1fGUrI38E%R1slwL#vFM!F1!UOl4m z;pqpg25nZR29w!g`4{qvtZf@6iYqlNj~)a-M(C~{WodBYD`qx7LD;QF@n)?Db`MWg z%|hAK%O0PxM#Hx~+P_br*004aSxw83?@#dC)5#ELET+qvjqs8^2`zO?)|4 zXL`2~Q$l591h_Zy_HL)bnXPTovt7joQ)Nz@&=*^OrX>^pje4SE^JZioQm<0v@}SYp z-1%<&G0*}p-wKV?^NVXhAqJrtNIb71A-|^0&WP<8SawF_Bb(ZwKci8xQyVbkK|p0$ z7vz7!FjF`NlG-7}al$t)$-@-8!|53J(Ef(@lhY1b3=!9U6P; zfjx$#P;mUArCewQ_extvq3{DI^A2OY^5}=dJ|aWlG4RaD4ZSPt0X;DF*qYkq$I_!% z(bF@KQN?EL=Xc$hTM@`y{+g?>2@LrWoy85DS&13vm5M#SjOS^Vo2x_p-{c$(UwgDZ9nYk! zH6ifS+vS`85~{qX9m;@g5<*VDzs-V=#F}9S(5+=7#{j0PE#tws)JnPCW#>49ja?yv?0SrC06_O(if@OsB5(V0z+^%o=RO0S)f&>-Cn70>(?GA<;Kb`VU7j zBY6)GKG$_|JPxKF7Jc>3e5{XkZ|^RG4cR0`IDhDacbzGFC}%`h(;84)^YKU7_PVu6 zeP6PPrRHVN8c`o?dhs2MY|1S8hN_Xa{p}2u6shrwXUYLFF+O^o-KtYML$#S4uNKb@ z)ZZxk=zX|$41C51M3`a~32f;^TCdp#>)j-L6JtwR6oS#?K6WzMzgR0j=X-9`J!*5rz#`ksz*lV?Yq}2AWoVhgr5V4B`3nbz%*fsTx$~L1Jy|+v| z&+Fw3e(Gd$FMr{%t6!49Rz{?@oJQj>=C5_nAY(F_a6R!=o2Lyh`jMhHKMY=Y)a5Jp z!$4%BMZoR77T*`fAiv=ygLS>k=wl~JNX3eyT^b~=MUr>q7S;A zw)-wWuEemBHjX=6Nc+%Z1tubuqO$dLKzHmjew9dD3##u${K=#yFtmmOCyHjR$eeCm z?4`8Dw$WBIIT`n?uPt8lUqqfXE5hh|?;tz@gz4o`aEM7jHUS85u5D6>PNOcmJKO4lAzT~0R9EiDRYWJ>%@Bx8XwtJFrR&@y<7$1o8~B|W^|M53-NW+) z>4ADq_*;B(Tbj*iUMj{qKO`Gl?_;y?uNF?}9Li=~!rr+?5mP~p%g5#uX(F-c*`bGO zqBENuV9nZU?4==sx*!mnfQ&h$JE z8yRqUSw&qu->>$rY>?%{3n9N#))#2b*Y5O;C=#hl4#kP%$cnNkdC9xzO3I>{&G_f# zmJ=Ry!GTQml_*;86ilna`bP!JW?85MLhYFg9mk>Qr z_LA*o{ts2Py>jQOw$X~~Vg*#Y5uH=+4{r_BH*=%h;_nV?`Oo;%I7ptW?ej~YPbtm) zAsi+u(KQFNK2^A~E|67P=2AaYc({lyYdRAlhxd4m51X|atT)hzb!2#!R$V63jVzRN zW9e3XTL9x^cL2V~qwOR?!Lvi%7|$a5A=vAi4>aU({abb+>85?T_cji0j$O>*txcO$ zeSQqMU&ELS;vWk(L|(RIe3UN|=xi9C*SB+huTWQy)@0;$R*dMGOMfhG$zqOjHW>2P zR%e&B{UOov;C?+d>uVnP_s?9GPa$ml*X>3n*Ud2Di4=&h5ayj&g{vQXBP0taFMWIS zOqV;Sw3h0g3>8%g@~nlHx3|6wp;yA1TX_!ktul{lX9u+0lHVm?2bI>DK=<(0r1IIO zx=@kTs)zREzWAXZtQc?#GBi447t*myftM{@xgH-GIz1siFLaj$^}bz+?CvMlb=DXE zok@4{jEDIUj%-rYI1LKuid;M!5xEMh%OHS zinHTW*bFx`Hr?6{A>W97IgloPkw~Nq$$3{>Up{O;}Aw;&8`| z;<{FuTUdUpU9<)xt~7h*rCPVl;;mjx-P4{0`kVS>Kc557lufmLZ>O;6lk0Q27d#?; zTky$P1rU8(Z69VFuUaTNajP9B=b{}1pAdOv0k;w8n)bC}YZK)uV6VLqrDoB8!(^v!=vi&XeB;N1=<{>B3l*7RPijkOrMsT$i6QF^I6Ubo(e(NH9jFH zBlIIA6EXw|+Yc{XeIUS%vUgs)Tvp|lrTkpjbeA@JemzoMT`hXYN&@kt&8{Ial@JQj zipHzsAiEoV;OeAXkMWFRYrM=#?@t=Ofef*$&%aaieLdI234HDmOxrjHyy3$-pX{*4 zn^ESIWcYZVa)~I9x0=O#%QfAuim21q9;X@`j_d7nCCso9Q^veFD7(DtV-#3ajbh7x`&nzNq_f3egza>bcT=>^O54g)oGx!f zB^^G%Y0f|%AQbR=UR3S3Ilo8T%(CJ7VqbJiE7ZG#ob0`pXi{=iTnx5>kw`rSYHV<; z?prGY1>U_T=|j@>G&R5WVr7hCCvvuGb7t$acHDVErA|e!wzANg@Q)?Lt#3uCU%r{z zlxVENHMihIhKi#^#&!Qgx(G`ws-2O(8zXryY_i-{^1*tb_%fG8c}~{GO4D72Q?h`} z)lX+nkw7&NPqAnM$D2b@e0Y0Nk&R%ht;4{DE$I7A`5m_R^ox#_CIVmc^VGg3^`{+i zz3VHE5Pj3(0fT$wFONo?=X*%qYCP7S{otlCX#v^mbF82}_OMYMU(`mV8jLVeY!?@8 zdEe&mx2qzyYu?)};I13*yGMlAX_$sky&7uub$!ez(k2L-tdXm=7ZP~J5}NM+igm|Y zwdVUlCinCgmmAiG3VE}fUkoNXcXhAGM)ItD3Do$2wYay9isoVJB|u-ps>3uMXN`6^ z+dIOTV(6~%8y9j2&D^{J0NW*cxT#Z!K3oX@bkDt=#79XzIV+PFC`7UEBzc46~ZV;jQ29g?lNQd#Qsn#)kL6H5#rQRu`(Iq^QcB5?iv} zrxker=_y*624Auj?riMl_KPaI;eZLX@$sv1Z_+GJOOY0Q;iAX&mM3z~^_DKRS6aoH z`PI!^q>4F)Pjp&UJ`L8}lTW2tNXmNKnQTz~%yYle!h7(&{?(0b?~eCBZo~2sgN-!( z1n$z1d+Jx5e^hd&R6JdN?Nwv?{^5=Lk;^onr|F4R*;w>$)DI0|{JkxmnySId42O2s zx^QmuFD0&Sx2E;phL!rrW?~vd)O1q@3Jv4Mu3iv9(V7|_mZ*n1d+!D{ylk=H|0;YX z(B0&zF+SbE+Kae@7_u1OD9DQ0O%(VE9otx4vwJty&K~B8bt&mNs_n9CZ_W1VIjSJ0 z97Q9WjNs{p;9MUV;r-H(U5)jvBd*%lt|MnPJ^vW+hvdSp>+C9ny>X-5R&kdWFH3vW zk2OzDZ13ei@)!~ALfWq?fP;y{=6xTTb+>x<9AO^RlJQWXx#M46s6V|?|G-rlno!|x zOyI;x{aD+OXE60rar64^Zm_OELM|m$^%{}&XL~I6fIwi4ZcZXlqfxD1PF~3BveVQ- zUq_DiUbZmg%#ntZ^fvZoHA+7EppXfVxs{gk%8QClsPAcI#+VH*CH=jHZQ|R{_^eQG z?(YvSNJbhG`eN(Mb${w9>f1v67rFVT%N`5j%doL}LnRwkUW!c|YBd&hQN*8=4Qc}6 ziIXBXr87GjU?F8Qs7DB1#E(hU{^!jLgM&lO;#o^Ie(~k{YMuHl8m&)^-1j<#b?#!_ zQSTR1B`f15-)=rn%RN`)F)A!9h?Z&SkdSCoJ~X^FmDB{wS}0i2)Ab4(Gs+h&$88kO zOq~ts+I7b!w%kJS;G+$~IS)M|tu{iEyk@nYROqr#JZH%GI{azQY0d&xV7rPU2Zwh! zBqVL9808~nhKaaFjfax z9UAD;#^+A9<}wAXkEUbY>;2l?<)FX zY32$O;m_xzc*v6)qpWjMIr?a;C*Zf7w8cX9s{ z65_<3>TVR&0KeL}XM&HJu(UXIwC!EH25nV42Bhxdb?mL2MI@Ho&5{QmI zV8!^QrbX6wZMzMiOFS(yh@TOBc5K8>DE*F>S64xZ#dQ?#p2xMvWmk(I{xdi|p^1zo!XF&Wa zgEY?7)r(G8S!bXNV$fUxQL)?W-ChhyV#HeX^pi=^W8nS}ktPYNV?2JV=7E>^7mac< z<|E^w9|JfzfpY@mf)ga1ww`fw84s9ie1AaRfFk=TznkJL-U$x!;0G`Nwe$WTeFphv zMBvuPOs)6eg~?SAesWNnTTR==kArW~~0>hgQuq{VXMj)@ld5z+tI zL_&B8zFC*REesguaP1JiH&%}6`oMCiebsT>YG3a&GAFSF3_cQA^3A+lcQN?3fDTE; zxT@=@-2SKoi@R2g+Yb(guIoaBKrX*e1Z!~NC-Okyq{d%dk|dDM>mE@czFEv{5;!11 zQ`pQ1w`izvUu8!}*`^?55baY$i((o)VeOwX>=4zFa2VJbNB1yA5Dd=yEdsslHxx4} z;cc;cyZbNzCA<3$|9Y}ftiOk7&~;nU1=^dsYAf{hs2J4Yt3yNy*LKiDUtpeo3}ok* zjk^<|C;8bu35{~lBh5;1?)scOv_WC7-j(pr<3SDS&BwW0h<}A#aqm9{wo9#WV@CLW zt6j;l5Xap-Jox$?4MB4$*Ka6slyN)B)?_$pcb3S&6h#z)#G8g$Eqj2WARCUO>aw;( zyqw06bcA>M_ho5f>P0kcH8VVg`(BJt;kp0AYIUNfB!p1nSW)6=HpVrdaKQ>iOzFC< z4$4?(=x3SpQSDhs6})xxkfREEB>KGGeHb(E@%EzYMk;}WlP5wR2YQy5S9MK}0mOy@ zqI+o8j=;h30xQ|Ra17)h3AqwSY%JDt{d@do-`w7Q7lyXF*`=Tnm2<>oQaTPxbUon5!OZ(%z89C3tf%GOOB*~AJam}f9HVlhh5|+!s;k;I?o<+RMRNIFRa5OJ>bU(->wyH-KH2_T}@lDKHam#No0T| z2d{16e8Ja5$A1hw?Y1io+~)*eP@*<+CIca%TSGg^S799K>yB(k+Z1J5$9sZv^|j`h zlTSqd(Ig@oJ6xjkZ8|*oHI17KwTvOS$0!}eRE{}^+nAcUAtB*Z2dxi+yH`adnT?n1gpMHZ0&26zx~yv7$KGzyvgsx^Ln9DT%H=9D)qT+ zjghZ5>g>0o#0FIF6P@xFVWF4fBA5E5!wT zVNQhUQDx&r4-Sgn$z_%3m_X5V>w<5Nweh7+A}cyK`N?^vhhF0K)Nw_MUwt#(=Ng%- zLU@#ebw4=r&cZ+BEpdb``+xC{`&wQL)ZF$#mU!hBKZ3pn$Ln$hA{bF%Ni2Kp1*&Y4 z$IesqMR2O^9l1gLYRBq$`yD=W{LE@PI3c+oIhBSIw0?~!|JX*ftPc$_{RrGZG4^KAhH{Ta<;JrBdEfWk_oWw7y(CtyFJu&RvTptsIyvP&Z))3}&_V?%xh1`& z4bxAv848PgjB)hmbeuOHOPtZvNj5!`23ysP|MYl>GAnb$TYOTPSs+16XlaGr)`(n6 zjVU~;?Uo!X<~8FT&`)TDS4^FTuiqX@>v^!AgV&nn%=$KzMov3=b3D3!m;BMby49I8 zksi3s-EPoOmqvVtl+&lCrY%0SZs(z^RL#ceJk*@B>^OU*rj@8Mo@jXne&||)G&-y4 zZXQq}XS!kT?ER98>t_2N|1+Yd8asB;1UFdan!n6uVb%Vo@Y?yxs)|S5@_os73W}b# zW-67Hp*@Z8yk|QSM}nJfv*K){AMP-6TY98jw@4f3;C_=i+hXCwFxcCgQy){5IGHsY zG;{Zk(KZFPZ#NVV$EIT*=FS?B%}hmYqgYli(XE?yT#uPtLDVW6lP05H6i}dJ<<~}C zAC**H{#o6zQPNcSENz7DdB?&Yfs^%6F=TdHaP7^k=q5)9{06oeUu2W8Xi(k%n@9M| ztOOul`0*WQ)7HBm=+^~v5vf14oF*ndfrHkXtCLC7&Q9psQiOA`(CF$UlV;Z!1Xp=E>Hj z+1gC;5y%@>_fg5766M5d7*0{+8Cy34)GG5c2}%a4y^bGjdtSw`*!9s7+>KQ9ii*xa zP#z^Bt4b@HUOu?+em^+$@zEghVRfMm5}!wSI8ha4OzkQ6;xMr=vURWhC@If|WkEnYfgP z9Qy{Asyh5Buj;!tvoYB~P87r+eHz?j8Hh1SJb5%RG?`w6+F_0Y7-Y@2*;`-9sc%3{=@HQ!-#jB~J4DL7NcS00({ zAI1m_ZWh5r)thV0pSQpFzaEmFhOn;GRkgJ}tj%w6Ef{UTu*K{3-SGab=#u|vok4&7 zV}VV>iEf>`X9}>m5O$uNB-6c%@(?{Ma;Th3dLwv0@_NgF@v^5eSwUWcFpV6L zTUg1q@FWe;Ww_GwVRkZez0&O5oT+sh^`!|trGk;dl~0N7FBmo3lro_`tQ^?>X&({Y z9hSJ>Mfgy)2xr%lr^A%59NX$}m&j}AWBJ=qX4uvp3*)}AVOwov2}i71xDih7`IJ~w zj*%S(GHY!f7N@xUVvb>b+=7!lHUJqc;E((;18!@{f4aLE+{4a|y?>EQ4&;1t|8$RGbR(Q{qTxS8G^nk4IKpskPPZi2?yjvF59mFHQv&rz=q+>6vd)h=pN;mn?gbnLxNt5UX3Q!dtxycn0L z7n-3{D4+S>AuqQRg7%69FNfECB|;fcfzlyzn>D~j&=p#`6~`@ zH>UOByo!iQmlxf4yUE_2{ai5dZUT0zoEXUUtdju`FX8M$u#9_aY`^jIz4=CwhvC{& z=k|?^6+UUbk|Y!HK(fc_(;6sD(HBXzYeO6j<8g+A8P5gSm1tQKq)mDbWkN0*?cWnQ z20jK#9RnjpA5Yz^o0ZF(kItXhQN2>Th(mnMWUh()G2+f7rA(=QC6Ir4%RCQ-&Fs(t z7eMM}t-GBKtbw7H$cx>93}It+k{Dr>=VFQ#OW6n8XT{qvF<)>qu)5wfNu1#q!PQER zI!cvlqf%jp=3^juCoer^FIV#X+2X*%45=BXarC&iRzRAVi6#cnZaeY*N#ZvP?i@<88h{*Pnpl?X?s_u@!OCNDFj9c`om(GA>)24QJ-BgHJ&3 z0>!C5g7a&MlIeBJKn8iecuk#;s)FzR2{Ik8vcpv7t;^;2T$|DHVUV_NIo-T*>WzLE z59M1l*$2pw@ED?11oLc($4qprc;F_(N@|)yxeGEF++E|>@S~ql8eR8}_rPMwV(nzx zmF_#-V0k_)Qy^24GGtWoMs;0+kwl9bV$uw?V+z?{Sfo-iR~IQM`C*c(jhHAp7+R}Rtcgw`h-yHKoKDBZ$UarxJmk7~Td zpFMOQ#XsuE3wiUr^KheNQlU-w81O{W>@9DX1$?Zj9NJEgwSMFk$N)8d@FtTc+p=UM z%lDyzB?>js+mq=hi5*daP7BG7q$O^r-TzBU3x;iY^5RYwr&rndRDr8)D z8O|T-giVA{M}Q8m6AN=0SF_fI(Z;*t4h@Fn#T757A8Ldbbp^%RVQ0%IRUe@k_{y^F z@64T+)>`9`-CYsh?LXXmRamMs18tk4C-`A6Bt9lUN@2wF-vh}RDCS??{l1956==>q z@J=h>Exyfs^o^$#6>8q})Y;t2T;rHb#%?3urE4Y0Z6dFB3Pz5Bqkx!U_aIWw_19c6 zaXiA{lKV>`*qtvvfBC8!DI$wJBK>=yE5EtGL&nCG$BF+YyMwXst#vPDuGP0Tfdabh`BHx(zV69!#_1j_eS(!`$l z%N{(fiCx1Ago@7>*ktCjtO%9*{Ch8iQrW0clWBzRQKnk(4Br0m>gZJT=9)t+F--0G zMhtW_OLU* zjB|b#tFZh=t;QsZ71D1DLXo1~kgSMqqOg})^B&PASd3veUE_9_iOJ|ya{KaLt(LMv zF4k-jnewA+1Smc+hj9G|e`BwA@4`ih46^H5V)m(l8E^*y3V$KB1%el!6F9oB_W{XL}7Cm{t_#Kvb}5AYIKRcHNO2)Ey7LY%xMHTsErShO=JYeLuvOR2s6|bRyB1d z#L?)<Psj2ztAXx}aP`zH}YPs(gjtNo{*{=EDy3|0NeXY$2PA%AL|#q1Q}j1lqF z*>E?p2nendCMnKu?*Yero`t&A{1&vB>@7AZIXKQA!_4HIJ`amDB z9|L^3UFBD!leA~M<>V>esk?gvZh{Qg!g?#5Oi7xSz+G*tc@ID3h$dM;q}a5Z`)u)f z+mOyUCu7o=QlRn3FNXV zWCPc{)N`16G`Od1UH>&fR=1>N&cN)(ZM7Had%mdM^aEO^TiagNmQ_E*1ZwL)#0*X{ zKYwaInpICV%eY?1{U+H6TkN9yco@ztdkjQK?#TaKTt^;;E@#s9QkKu6nZ@Jl)8i8| zsHfz64y7*T`ya3=nM^!DI3fDLO>CxRtPz19Yrk&`J7ba2E=H5q);$^8yL{KaZb?p< zef~N7Y0YwZwcq9o#0fDB;@?1@A_(=v#n!#iGYYs=KK+nV-GMM5tk(*|YdhGFGTbln`N*xM;*Ytz-rS(}SxZV%hEgoD3% z7>6r1Nlp~N%0yn9n;p!q?tgkSQlzrxAEL8z{-0b%lC!4@eRqy-F4?-0> zm#QD#dUe|R{Ee_=LPOCe9Isf^ggyy`7^;zfeQ6+}x_ptk}N0 zJGi2G?&VqWTBGXwO|<-<|9eZERi}0GTpz*p^#m*|_tn|a$Tb(`*Dr$wVj^{R)-4KN zGj_o7qCEtrW(ZU6Vtm9o4t9)9Y=7Jr0X-G1khih|ny;TlEKl)A;X7uh$X4y>>aG1> z<716d^#@8$-4;}RdQ)8>zD|YbD^#-$>Ezd1(fZ@_+okCuQTm5e1$<}~==57OR%_}M z@jLN!{b0RpZcPT|VU(*I>BOztxh}UzM%)#I`T7`#cH|c~VsNja@T!EzJN(|ET1fh? z7tX#faMfS@Sue}`{;as-vmwOOjMAN|?c)g}TtlY?npUk&-+tHcE!Utoc+kGG&`fN< zEMGNInI~K_9^hnukFjsxVhs6Sk-$o>@9X-SpjR7f)G%H?77~B9tLB4u^Slld`bf^^ z{KlC=yuH9e-nf8mu}1A{*f233>S{N3&p<`hR{TQQalFDVq@}sSlAwaG;gvXOW!vwozcf4}f9~w2^z!bbju+5JdX%Gt z?|8_e72-P-tA$KF9Rg_^RbR;P+*~x6Y0x%PNGZAeDl*^b1B73A?Xw>vJxze>1n5yYk<|t-iP3quM$mop_4F3UjenYFBPTV}dm`!OD#i79FHivdF!V5*WpvKV6bfGiqx?X{w%>s9$f@a{wpI7f5 z1L9|oatW8pLKxZ*6o@f2R?jXDg4Ktdt!YI@*R|JTHlxF?quruf)7;PPlrius(-mk! zCLaYHUUhWcyKl=lgu)u2@RAFOI4f?&W)%Cy%3k@x6o(3&7z8(85El9=vR%zN8bf6j zF*qK+hR76q!7@D}Z()RvHmi)mjJkP?FJ2ZfZJn7-x%S!FzKPsF$&9M#JB@!@VHrN5 zqq$CPXf)-2)pngxO>J#DT)iT;Toi1SARwqnk=`S40Rcnk9U>wkAVfM+5(FuNfPjL4 z5~Q~fdgw?Ei1gljZwVy?Qtq5@e$865X4aZnGe6F+{=(vE^Z$*t+3SJA9T=TN1hq5t+pSmmsrHQ zOUWLj2R)D(+B3no&H={qmPYx}Yp|MdBjReN$RFzY?WI;}Q*|gFu-{?z;rO#?1KFi$ zJzL`&PI-qQ&!X5{G^IhBN2ZozzIn47$C=7xCg0fS*kRTk(+Sw{TEJZ$7`R3po30Tuww4<+_;9bCj@MWM(OIQat|S8q?%o9PiK z%~zqPBKhd48fA9e7#H3(rZBCz=AR(r_+K{FH+=3^jAZ^*;K!8E{|qDsD)OHy43uAS5Zg^7 z4NiGFCZg)x(X}AK$&47lQ{thWj9pHd>Ycl-ZRnhTwwMTBmC)5{dvxN4|JI)~Sl6+r zO1w!HjA^V%S99e<;-kWTGh#9i35y%}4DzE`8joD(6{NEW>>Hi+lSm0hA_m#K&O40?5IZoJ3teSW zzW=o29~*lLa^(NCzYJo#_VY{-Gy4D#I4GM7LpuZtx+b&KkK|ZcZJL5^t&$-#2(spu z%@?y@rsEZWj`v@CO#(0gqWlxUVF+IYxt3U*>t&bgNOJax!&F*44YJszY&1bOS0Jqq z=0nCto6`2CG#M->i?|8Cw$p@*T-sY|rJu3CJqV2CEI*bYD(O_a-tTnmD8xpSYQi9J z-=G)NKkVPsBiI$I-O^DqkPXrLOG%%g#iw)u)5@OZB$de?yX-3GlTlW+q8JRe_`*-1 zn9iVy2BH+c@JOfw{HD#UFItPLSllB+er-b98aVvFm# z)L#>0mSqsjai!qb+p~VRC&x_xzRe=YK0p(pU;!s;nrN&wu`yR9DevAzfpZkse$EpQ z4c|DWSiU@-1FItU7yd@S7)N|ipgekxq1;QukPP)J!i2(z_!t*cf!1CH5u%*G19a;~ z%}3hSx@Hd|d#;?YlbuW1a5-#ZRrHq6w7t5NC4oWjCY+ca2y;}p6L=-#x-YWu#c^h~ z{ah9=Sr$_amSZO~Z)XDYEmYl~GNnR^bK@VKkC-R@WmRt-RHr|T9x}egASzZq%?#A9 zaPo9GgtNUHbN^xwJdVWpm^aTaF$W9HBPU}Sm**%@(%xbSC9}n^w~`nS(>4?-&0aUT zer#cVkdW|DdVj&iUNPQ|J|U=VCf9qs-9>#f?Q1gFF=kYKdn~+|)rKP?`>MExpCU4z z%WVp(hOno=+fR|vhq6+_0{a|Wa$zP6jJ~XaW2^NdSikn zu^7Ys{nau4+~TH@%JIslcQxbjZS$AD0bMV=6smKu3fTsK&HEO(U83Zu{R2|mVMDnR zPL0#Y3rHeTg@EfMM?VknK*b&vJhoxy+^ZVZI5c>hj)z)=>$%qk%np>&@0DEczt-LV zFq|%iAVik*q_}*3d0BZDy4#isA+qW!>M>#bRG&z`Urp(WvIQ8^Kpp`8Pw!yQlyDL7qfRl&irnY&)%|)yLs(BLay#=s85Ms z+72m-oC**tEnipO|Ef(as=sK4i0Grb44}R{FV0P7l1Fu5S6n=soL zb6ZmNKs}fodtrUB@LYq#8RG`s_aCnc_XCkFor7b7_KEWB=B~9iDc5WiB6-tF`9wgr zTLEJ*TYoy@qHD>;{nkt8qo!bDiR8CIJHnXh(x@!i~!T-1>1 z7F1u7wJ{@~OBTE@{Cf*s8UM(6CHRHln&ZW1_aN}!DW^VUfE5h3rW7v4)Ht|d&76QP zrv*<1qI9bwz9Wo*R~;Cer=p z6H`1f_iP`>b!4W4-aP1Gf1fqG0?6_POzQvY()wRt%rYd)1;KEJ6h(SVg(Q%AB|Fy| zT)PCm=I!ZP&|1n)Apq;|1Pq89mZ9Ud7|mAt{+miMf!mEfjvVldX|e6YWuxYeWt;s_@#I-a{ zijtp^M7O7kf z$u~)!KiZo}B{z`-w@31XE9<077v6GKoc>+*Og#*Z1nU7dD`p5qCLCZA8-7mg{;6gT@d_vq*zI>O(JeS>LV zh?q-$49s!FcmS-ae8@{Ksa0A0W9;4Q235zq3R9hLFVA(`)%BO)hD0a2$p_)aI)Q>6 z25;Rz@;a&bQMI9DTgtE#UV6n~RB(9H{r)>|D@DxQ8DhJN1DgFP%VVmGllb(<;FD=_ zS*2z!C%~I2YEk^0*)?aHK#t&so~&o1<*i$SsqoweW!w0K0nNwvvl}f!v-u+DmBmm4 z3~q|rt1YiLc#A~w#5X0PX;ZPp*wLWrJ=fx;a(ujFmf6BbS0C@m0;N7DA~G6X)tI_q zoI+?t+5GUUF{yK-evPH_6+%#74w`nrRJ%=X!9g6ZvcY0Vg}Czd;4WA!c#{3dTQFhU zkIa73Of^C`n+8PbbVI^(x2sC>uTdh&;BPU>Rqx&r$~z_2L$IczZXS0_kB)(qljke+ zg%Bqjsj*^Fsi>?2;fl_iut0YOmslPR%ueITv0x-^oL<;8pUy2t**h}<{hmR2zG?qX z(nVes)(bzkYICU?6t8Rqoc*}lq_Et4-$|Xqt|Of;DPgTq=ctpJoa&@+@#Zl;tQ~M| z$E3@6D8dP+CMX#A#EVNrN!MSEPb*3;U|9V%pR|~`!V-QoRXPJ%(Zyeyc#CV`z4*0S z@fjxBO(uphLbs;6CQQxe(wlOHf(~rm@;X2%Y(?5<4@)OG=UTQ56p4j%7_w%pF?nna z53#=FN0+rFT`KFUIOpCZB(@ield}1>3DXm=tZWnJ$DY;diq}6@0eK{DpM&{8{y@J( zvIn3^urV4RxlAeFOQ%PBC(_JuK|^|%@OwtLt()`UT@R`n-7E>64}XfW8_NoQqIRi! z(M5NfWtzLto@r4EI=AUxx}ovG`W+FuZ4Lm-6q06#wV_V9^^lhWhk0-m?A-5b`PR51 zz$YNGv4z3Vdn>8oR5k!r^432hs{Ij@RAUezb8)zl$PQMv1~++Su)#Pi51-P19>yq za5}N;T?u0P$$pp3ME!qcF$$=odI2Moph-}T*J~3qb0)_f83J|hvs++)ISbpn9gAFp z_>w=lE3Dy%jr5rJ2~-#0>yHBTsnQgjkqd{`@O$q|HV3MoZ`76A)XgJLkSv@Z?SqbR zi9Ge@OVjmaLX#f@Xw2dWo^WWvR2+vw%V{c(E3-dY%7)XKT#FE;Cc8D8xgn=x3u`ns zD&u@pAx)elHJWdaMCNYZFt}bd@+|gcQZZ)tH}mNSz=OH#x9nl5k^5$)=HzPvZA82) zMDs&{R6d2H&BsEy(#|7$GZ9wh>^SC(`@xkA*K6e=7Yt}s7V0nsgvNW-s)$lExKbNuZ>!UYeFPXY4IrZh>^)B4qkk1*icgJum<@81~ zf@lO|)(bUkOM{FYrhW_<92cK`j0*bfcGw!|6!<+lFk=%%o?=WQF75IHuG4bv9=0Hc zrL#~Q6d&8#a9d#CO988`GT^c^g=sGlBE|GEE~yO;3z??AQX0-Ap*-B?6r1?bWnkKi}e?qb4sI$~V} zOn-w{t&{^#MHdhk86!w5h;XxI(pbRa^ z(Aa!B{sFNcZdA+&b`xErWbgBuJ?-;S*?Md`ug%!>NGXXsn}~9H6nBhI zS)N@!*qa*@0NyKd=l34;6=Kq%W3J-z^w{aj{+v{mP3zN$6ZybQ?sMY@!H?x;+iD0l z&f#&Wu~+$?rLgMzUVIPCJo>4J1zR3SBu{ym`T@@et&f~#g6e|%dCwx3s2Zz|t}>P- z`fO$`ZJ_0ZO}O97fHv|eVG8N`!z|0V(q4@Z*L{ai5IL0NRFAOh&q2Z zw2BEC2X`858qU0quqblf;SCq(z6xFB@lgsNZ4jIn-Nr4(PD&WWzyt;rVBE8+<<6!N z>XkL?Ezm`P0GohQSS@USzulI1nJq0IZ+$g(O|oc!;BZzz%XP(-4OAn%o$iIJfZ8D` z{P+*b;=U=(0kGUTYip}d{S;R~UklL0PItHIZ031vwq^&m1E1vZ{<2gnjH#;B$iPa**D#my4Olvc;Gj5)N)~A?U zl@0S>87eOWj;Vk*u=zeslnB)r5~&C1?YY^F^`;kt!nQ_3p40B2$Dp|I{3YcE=dHX9 zGhVYLXRRAE!4oLz}i9|9yxnLU)KBsvMv8@aGHt!sdItR3YH=fc9wuC%p|Vu zuw-ne3upd9!mr$ZW83aEqAA-{Q2`BLKUHsi9OuaOi% z@CT^F9IKPzt6G~pa;^WP#sLw%svp_!hI8L8aJh@mqkTOP60L8_G;UeC<5j^HGfrpy zzSRi#S#&14;4E$@*ji3uU+9Qf%B?0DnBV&xOBkz!A*I0wa_PUPd+5rE$V{%>)Df{Pc1A*7Ccpn9u#^ zvK4Q0HMFlyOloDlFkuyW@s(HrJ*5W~N;BB2Nh>?W3C<30^JZD$Ag6TB1HR@GYgnT?B;Eu6MA_{eUiJ0MGkG4QY7uFngu0yQ3pcNlAJi2 zF>&XHUKy`iw}s5sCHwODsNV@RuQlCC+C~G*Q9;~mZcuL3BY8E16&9FhL|KcUZ`qi9 z#l@}%x*3}@XNOP?xJLPN0X=ctQo5mhYsj`d_Dt`$=%H!+@%Mk<&(_~<<&y^3K8^pU zZ5r8W``;k_|E>!7kDoEep++#J_)xS{)8!Mt&xncBqXI~Y6M5^yPM;nJbtA0+eaUno ziN+SoU|}f=kRvrr$C*#Aqxh?ZB~4i`*TN&hkIT;Sem#CBPbbmTP9GE_7x67nFzq$b zWi({bTKcjMyw>1C^~s`AGDktlwz`qMEv92GIzTRuB4b@Y=;h4uUBM*)r*?o2TW`-1>)C_6Wt9ry5;`!Pl3wZwBH3~Zd z0Q`MnOP$1Vecd;PB^2w8xdPCfK+hN_)@YCRB%cXBI>(dJ{YkjXt{Foor4%CUtJzu` z{?V)3Mf6E&-H4P>$Hbr5A`Pt<%0Ioix_)wX;sD{@4oczg&0cD{I`OZbBsooyQZ*$c zU%$3wVHf(YJ*QU8=6RLr%D@FGz<@R1+Fcx6aOV0mfMsFpd(J9j=i;VCFx_$u`TA2P z0RH#hq05^>(GJLq#YqcTX@$U_ff*YeTTwYjK8z5MpNV^3V#L+mfCDNY@LNI^qM?ao zd0cd6`N)xir#>>f<=yLtp!I4_X(iBwN3)If!RL3LJy}wZksW@(8(om@3G!y!6k^e8 z_`lB%y@9eq?PJ3c?7O!CZA3<8xR_(_>1gv^WT6NP4dyef$NV0!A)Otd+~)$o5Ojg1 z;$`nn*rFYTe$d1|OH-yND??~P)#mlkh09=Ab?ol%#O5qSrnDLATwTHanSVupg8ny0 L^Z(a9|4jTF=<$|B literal 0 HcmV?d00001