From fa4ffc234c6c57c5e2322f848c9d52ddbc07da81 Mon Sep 17 00:00:00 2001 From: Alex Fabre Date: Wed, 15 Jan 2025 12:49:20 +0100 Subject: [PATCH] boards: st: nucleo_f072rb: add support for Nucleo-F072RB board Add support for the STMicroelectronics Nucleo-F072RB board. Signed-off-by: Alex Fabre --- boards/st/nucleo_f072rb/Kconfig.defconfig | 12 ++ boards/st/nucleo_f072rb/Kconfig.nucleo_f072rb | 5 + .../nucleo_f072rb/arduino_r3_connector.dtsi | 39 ++++ boards/st/nucleo_f072rb/board.cmake | 10 + boards/st/nucleo_f072rb/board.yml | 6 + .../nucleo_f072rb/doc/img/nucleo_f072rb.webp | Bin 0 -> 46528 bytes .../doc/img/nucleo_f072rb_connectors.webp | Bin 0 -> 50494 bytes boards/st/nucleo_f072rb/doc/index.rst | 181 ++++++++++++++++++ boards/st/nucleo_f072rb/nucleo_f072rb.dts | 140 ++++++++++++++ boards/st/nucleo_f072rb/nucleo_f072rb.yaml | 25 +++ .../st/nucleo_f072rb/nucleo_f072rb_defconfig | 12 ++ .../st/nucleo_f072rb/st_morpho_connector.dtsi | 72 +++++++ boards/st/nucleo_f072rb/support/openocd.cfg | 12 ++ 13 files changed, 514 insertions(+) create mode 100644 boards/st/nucleo_f072rb/Kconfig.defconfig create mode 100644 boards/st/nucleo_f072rb/Kconfig.nucleo_f072rb create mode 100644 boards/st/nucleo_f072rb/arduino_r3_connector.dtsi create mode 100644 boards/st/nucleo_f072rb/board.cmake create mode 100644 boards/st/nucleo_f072rb/board.yml create mode 100644 boards/st/nucleo_f072rb/doc/img/nucleo_f072rb.webp create mode 100644 boards/st/nucleo_f072rb/doc/img/nucleo_f072rb_connectors.webp create mode 100644 boards/st/nucleo_f072rb/doc/index.rst create mode 100644 boards/st/nucleo_f072rb/nucleo_f072rb.dts create mode 100644 boards/st/nucleo_f072rb/nucleo_f072rb.yaml create mode 100644 boards/st/nucleo_f072rb/nucleo_f072rb_defconfig create mode 100644 boards/st/nucleo_f072rb/st_morpho_connector.dtsi create mode 100644 boards/st/nucleo_f072rb/support/openocd.cfg diff --git a/boards/st/nucleo_f072rb/Kconfig.defconfig b/boards/st/nucleo_f072rb/Kconfig.defconfig new file mode 100644 index 00000000000..1031692291f --- /dev/null +++ b/boards/st/nucleo_f072rb/Kconfig.defconfig @@ -0,0 +1,12 @@ +# NUCLEO_F072RB board configuration + +# Copyright (c) 2025 Alex Fabre +# SPDX-License-Identifier: Apache-2.0 + +if BOARD_NUCLEO_F072RB + +config SPI_STM32_INTERRUPT + default y + depends on SPI + +endif # BOARD_NUCLEO_F072RB diff --git a/boards/st/nucleo_f072rb/Kconfig.nucleo_f072rb b/boards/st/nucleo_f072rb/Kconfig.nucleo_f072rb new file mode 100644 index 00000000000..165ba6c2902 --- /dev/null +++ b/boards/st/nucleo_f072rb/Kconfig.nucleo_f072rb @@ -0,0 +1,5 @@ +# Copyright (c) 2025 Alex Fabre +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_NUCLEO_F072RB + select SOC_STM32F072XB diff --git a/boards/st/nucleo_f072rb/arduino_r3_connector.dtsi b/boards/st/nucleo_f072rb/arduino_r3_connector.dtsi new file mode 100644 index 00000000000..6ed2b49ad15 --- /dev/null +++ b/boards/st/nucleo_f072rb/arduino_r3_connector.dtsi @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2025 Alex Fabre + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + arduino_header: connector { + compatible = "arduino-header-r3"; + #gpio-cells = <2>; + gpio-map-mask = <0xffffffff 0xffffffc0>; + gpio-map-pass-thru = <0 0x3f>; + gpio-map = <0 0 &gpioa 0 0>, /* A0 */ + <1 0 &gpioa 1 0>, /* A1 */ + <2 0 &gpioa 4 0>, /* A2 */ + <3 0 &gpiob 0 0>, /* A3 */ + <4 0 &gpioc 1 0>, /* A4 */ + <5 0 &gpioc 0 0>, /* A5 */ + <6 0 &gpioa 3 0>, /* D0 */ + <7 0 &gpioa 2 0>, /* D1 */ + <8 0 &gpioa 10 0>, /* D2 */ + <9 0 &gpiob 3 0>, /* D3 */ + <10 0 &gpiob 5 0>, /* D4 */ + <11 0 &gpiob 4 0>, /* D5 */ + <12 0 &gpiob 10 0>, /* D6 */ + <13 0 &gpioa 8 0>, /* D7 */ + <14 0 &gpioa 9 0>, /* D8 */ + <15 0 &gpioc 7 0>, /* D9 */ + <16 0 &gpiob 6 0>, /* D10 */ + <17 0 &gpioa 7 0>, /* D11 */ + <18 0 &gpioa 6 0>, /* D12 */ + <19 0 &gpioa 5 0>, /* D13 */ + <20 0 &gpiob 9 0>, /* D14 */ + <21 0 &gpiob 8 0>; /* D15 */ + }; +}; + +arduino_i2c: &i2c1 {}; +arduino_spi: &spi1 {}; diff --git a/boards/st/nucleo_f072rb/board.cmake b/boards/st/nucleo_f072rb/board.cmake new file mode 100644 index 00000000000..136bd345f6a --- /dev/null +++ b/boards/st/nucleo_f072rb/board.cmake @@ -0,0 +1,10 @@ +# SPDX-License-Identifier: Apache-2.0 + +# keep first +board_runner_args(stm32cubeprogrammer "--port=swd" "--reset-mode=hw") +board_runner_args(jlink "--device=STM32F072RB" "--speed=4000") + +# keep first +include(${ZEPHYR_BASE}/boards/common/stm32cubeprogrammer.board.cmake) +include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake) +include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) diff --git a/boards/st/nucleo_f072rb/board.yml b/boards/st/nucleo_f072rb/board.yml new file mode 100644 index 00000000000..96a4c251439 --- /dev/null +++ b/boards/st/nucleo_f072rb/board.yml @@ -0,0 +1,6 @@ +board: + name: nucleo_f072rb + full_name: Nucleo F072RB + vendor: st + socs: + - name: stm32f072xb diff --git a/boards/st/nucleo_f072rb/doc/img/nucleo_f072rb.webp b/boards/st/nucleo_f072rb/doc/img/nucleo_f072rb.webp new file mode 100644 index 0000000000000000000000000000000000000000..36ee2ce83aabdbc294a476b931fdf0f171066860 GIT binary patch literal 46528 zcmV)BK*PUMNk&GvwEzHDMM6+kP&il$000080002<0RV0R09H^qAe^ND0B~6WodGKJ z0dE056$pbtAq48HQUm}|EUn*<@%=L&z#q!}rssard;=33%+-I^{#*MU@qblbeEZMp zpYh-O|JnSi|Fh8NOn%4yQTy5X-|V04f4+X|e|i7^|A+4%`p@}a7# zkNfZV|M>sq|Ns4=|DXF|?)Uch)PMFb@n7`6(f;}Tt^dUT%l?zz*Y+><|Fl2peno$t ze}4b9`P=cG|Nq@@_YeQCxVP+|{?BH=`Jc8Q^S)cZs{g3})Bcb5|K%6^xBY+4PmmA) z{@i^d{doU3=gY&dwSG2!>UyX6pUFQ;{_*}}`sepg_rKzx_YxzV82D{};l4kN?R2WdD2l1^g@c*Yr>8->^T|fAD{$`ZW8V z&mDLChyCyMp1{7Q{L}mo_RsNu>;Jv}-Fsqxd-=2Ozv!Ref7<_;{i^>7|Nrm{_~-Lq z?f>0B#($>%;s4+LZ`&W;f9ijt{q6L2```Hg`k&%|A^yOBm;X`!KmGUoU;H2OU;n?} zeklJT{{#Go`d|Hj;(!1A0Q}?ofBP@-Kj;7Ie~JJ7|7-L&`5*LO@gLp)$$!26`TzI+ zm)^Jjk9ohle$2nLAA2Skb=#QLT1^aFuH43|wlzVJ0q9vj#93fS+s#4%_Fb0@Tdv&3 zs?um;-FD_RRigIy@zKo9ST*i?Lq}@t$T>S6kvfft2z5Al*Kk!@O$=ME+{UWXXkylz z!2ttOuF$KSH@b0O;X%zv_rx8qo2wVbm)oj~ms?uk#bSA7mh1Fh{|0#!L8gNi>$fqg zv^$fc?FLLjVT#>$t{q1>0r2>((yDK%d`iSWY)&TqILuQ4O0luONsfz7rIveFt-}`U zw=tv9L!PQME_BM*?#&`|2-;0klue@_yxcmk zW}+ecE8geo6)F%qssKlwLC5EvwjX;J`Ae(^CnV6ty6s`*;5q5@>zQc&zV--K@7%P% zqnXZfjU$HpijhYlgsd|Br@v=k_ANrLC>WsFsBM8$5rvsQUA_Mu$sZw@yV;z;RoB17OeM*ZBF!Db40by$ zeh1dXXWIb1Y!sP}*7fz)N}?`sesjo+_k2ZYIQZgKrEZTDcs$D~vF{ z761~joxv(S8XJHG@PfEB?`~0J4O&9ya}uLsNR20PW_1TO+lp(mopc1}Ik*yWfsJsGw=f-Am^<5E2$kI4K9lg$S${F3^8P-@(x8x781k zTN2U=Tb`=hA>{1;QQ<3Rl7%ai1!A^6rAFL?m<3bhWvFN*K*Lg;S~}S~;f*VNvrXzq zG7R&-#ZG(%;70$h;AjJIIJB+{-fO1?yejQe;stJ<-5#ChdDLIYFZtV0{TdMaOk`Jm zUuoNelAA9k5z1f-H0^Hhnl6xq(*8=JfB#k_NVtnE;(*V4|s%W`46RJzCqEbA%7pC3Tt+bJi_ z4J7QB;#3|*_#KF}i_u9=#{%!ZChl3TiFcObXDvm8$Toi~wHp$BX@_vSb7~8^jwd#72kW1E( zUJnr=z+;N(1tK#rJC*yKU{s%dTW?MdAR6=l!^kC2X(BnOxHhIOmROoQ;4>*q4W> z+g-uxo*iAsr42is-lG6h$i^Fg)3HDFLb0HyD*!?@r2bBL_F<^cviw5#fQUwdOP&r< zuHJXh0+M@o2NDD9kuU%61Op^b! zo-+X2Mbo}D5a^C%>Fil0Pc#2-$*+lShzqJ>CG>~fibdH0i*?(W)mCy6v?la}tlpr7EwOj>7Baj=$6UTT&qQRIG)^*jq{DetV5;3xZvtkc6wCA#g* zYON(kESP(rrEEMCmcJLV2j@xgIyg=hUvv9GlmA~vT1?9&hg6kHZ$UQ#BBkVYEPXC# zVo2}*6THMBz*_w;jKJ?Yl@RPLJtn^A3TC!=_SeHc%wRISiB_{hjuGR9s(vf8^tuZN zOWVqh6%X7Ymp<)te1B7jS*Xp;x#{J|$QM#N?aXIj-y2RYWYCOD)Zu_4T~5N?k*D5U z(k%atr3*2e`SRfm=s}RGJ@~;kMAwz}h20UxiJq9d%Txn7#nmIEd9Fs#9>$e+h+;XyV3U7c&RzUj)dViCD zP-NZ>BbM7x_UXoayZWnUAXJ6(_C$gV3nb@%2Vj1_ zyn2Q5#(&IqJtVj%WPh!U4nc&2SWQSH}jK9|J! zS{4z1ul&2I%C_-+BJcDgp6~xp$&@u(O$=ME+{UYYDWLKmmuUA0(SyNC#i|pTuZ9Wx z({_2qz4q#u*)6%vtvxmCIzbq9+nCi_O$=M3Q-;~ODr|FT`a)}Nt$M{wU}br&591~w zO7mJEc-rm60092`kI(^5ur6-6N$R*^Cx4?#XBcvoh7@-XVt7`kYvMdcc*BJxZ5*TvCByd~I;wwQVzzg*_DN@gL4Cu|i>a)vt#L$NKJ~a~;n;vHu zg|?(pX*-vmARn$uG3D_@IjDse<=w+w`JKxahd`jH&$-b&`VJzk<#&goTwO`oVYOq} zVfnd{>&P9C=UU+#%rOLI;^!dV@l5`^yDfjwV|Ce8)l=D1tg5f39AqZI2haU7c}$N% z#~V7Z!$u9t`$aCsh`JTO{lLBWT_MJ?dx#`gyfn;b*XYx82Oa|^#%hgF~ zy>|j8+-hXLw_q&0Hy@u+5JLzaBBNoJAnEAp`j|(DBpDq&>i{KqWu^ir8;>M8BVZYi z^lT^LB{$X@mCa{14g`RjGsQ%ceCU^rq^|o6xYWAX<)zjhh!LYMVIbguPBl@cByYd1 zmo(hYWa9ZMGJ3_Q5ggKx(ZvFd3^T_nD;P=d8#ZsmtdiGnfwM_JC!c_54Uw6a`ixvr zRE60^B*T3-BMz`mMBTd=gV(HQh}x!1%Ao)Kaz4ggj=Bn4YA3S*gUBc_@Pygr#fI0< zU!ODRUc_7Tae$0|j1F`RZgt!k62Zfe1+}w4*kUfw9Li_ByqK70LObpNi9P{J7Pn*u zLwD?d%ehW_OTfuhdA_@H2u8g(RT zl zd&D=GkrI(%C0}VZgw~~ynSKQ=QKX+*z#9*m1sc_(RPLdR5o$lBA8rA0?AuyW%^7_I z>!xkr48rEw&*#E7DEh&iz~}NV%~QVLj>AFyvpl8C!pl8L56MFZfSfWbnx>ECQ&$Fa zG2j7Zhfu?BQZrJYpAsDmOEea|qa}NMN-`{A=N&fcH`3o?$iw>`+|Yi|1RpzxX>JIL zu=NDDyk2BD8Qmw71#5Q39h>C(e|JrQE|Wp=B*EGw{^tq6jA}8JVeuIiz2Q+A!`U=> zz1ysP4kYvx$|7Lu4DL2C+a*o=9OT29t_Zyj@fL}z=rq+A>GM)?K&nklv4tm@)~~%gOrYi08DEVj;QI_o$kK$JGr%nOCs7&O`GSs_AwzW$E5~7P@cLt`>u|_ty{6|5C zc^8gops`tD#(BiQeq(slRgUY`;bM?6s?PGSsAM#u!BO53*&}fVTM5fAzezv5KbupB ztY+^)NX2WV&mO6;+Qm|EZbiWaNn< zZdIc)TEq*`E7~$J{AdBVPM4=6FP`%E4YQ%M&Uf7qgt@^6X%uUI*M#T*yN8gJ$2?F_ zN4Dwf(nd@oJojqh_R{g$6>o&~q^{88jp<}`j4+cy6iyY4muCh3DM2eO`F8_sqpxg^ zaaF1J_&}x&O9PP~al2Wh`O?jl5rzGBLVy0y-f4{K8~J)#dix@=gHt@!Z@t40Mp+2u z!ag#48^1d$%3wfiOsX1^I92i;U&|ezE5NR!OW)Ewu-pd{U2mrF z+cIiVIBY4v%IR+<39>?vf+enWzc85r=6dRTSKRE?1@rW{UcO*4iV8zt96n7rj$b3! zVo)8xE*J$Zc7H1tO-(KT{KNg2JR7awPAd{QM02z69U1%!1B`UWfe_iyfuuxSw{-nA zYXR`Z#RZr#rS`#~kf6K-DE(qFvA<_bl@Da*(+R8XfMz%gtS~nb?7>o8OYb26eeU>} zWjy!kF&jDK-A}>o!Q-LNh)p4U8${@Ov5k|~L@c)2I61--{R)6vMpFO(b!{{BAHu30 zaKEwh88Lh{p7{vLKJ00VPg0n=!=C?&3oUblDblLzCObM1P~Dl!k832geHDMJklfXb zMCJ*l0KP@T3JA@@kkFl~b%jx%HU=uEsj=)x z?^EXF=G$y87nmP4Jk_xD!uCP3=<2LP&>jW9lcRlHgaWN*G=%)6Dl8X#JVGrL-s>S# zuf}^fJjDiVv>$oi=--<&f~&IgD3>J<|8avI8f1(iS<&ASq6ZAqMqvlk7L9DdEC_b| z%)VGaTitOvsHP)&bYZ)5_kgO*ffzG!`h9Hp#wsCGsr(w6TQ4jn!sF1Sp9spN8i6RRR=-GMDV+{{y|t3U{sQ1!+&tKn|p)V24OWB;XWAlY5UyI68&ILi?#H ziKkdYR+XFAR!r>6h-aEW6LL=a*j@;X$ch5Rq~~4cpm0+`Et*iKcVjRgo$KuT`+iJ4 z%1PL@NQYYQU~hqO)q*NriL{+EWa^fob^reMc4H;UWduZbNG+)VGAjNqen)oS_KsT2 z;&ou(#s$DJ>DH41gSVDhtZQvzf4uPof@P(Z&o7}#z%pXtHOc!pq$}^EIIFQl1 zlWYVvs?|+#JYqj__*vVvx|!@qoq3nnxrGJB<)1xBem91g)c05-YXIHriTp|$ItglS zs(EV)meV%sTZJ+C!$QL&s=A6pub>Gqu6Bfn#+4>!?7RhsHSXg(a{v;m_tl?P4&JX- z-CtM9T*{P@&G);oiaNeGcQ%q|IHx#ujqs>y(0Oz`H2(4^3^BH&!w!><8*N~4J>(tb z>O~2ZTfx`7!oj6VjXPyH*&<2G)A3upGxt0A3e>^>z(w`wvFswAD2^VF@`Q+)9|v_* zZLD$_Q$5sHtVKU|wPI+?)uXd;P5T6=G}Pg&fC(;(ZIib{2ENy4TrQ{uhb2SIbfHtb z3QAZ>3P{kxx$H$x5th_`$tx{09`xlch~12e_wFs@(8z z+mC)(Zv@B=LvuEji+MZ^0h%LC8t4PfZ*pq#kT|}L9niT~?c1A72I{FP8pgU(dS}WS zx3AENgC)U~h$&1^5H-KgcbQ4w3t4Gd$aTTI93jXyNTwE=hmA-6s8ObdI(fKs@8_lu-*?j*LU#xbvgk^LB;JNjR@ZI z69BX`5MtOHWa%U|ZG_=_3nNXLe!VI;d$}CSE4@|P$@uZIb;@x=_y?q?$B$Ob3K$$y z4ia;TLX}7Nb4>-7h^khAy$j~Iue0}J>e_--dU7+x2OSKM4*EMsagog`!2vKfs(M8M z(o)Nv>R%4CR72WxunKoS-dMjG0*X%qn1uawV$Guj(Qo=7S+jrw-fv8Dlql$^=aelc z<$wALjR`n(+9mG0V5B)zPtmsk1__tBYIu#@cGNUp5O%E#&PsCxle>@2j5eRjz0XN=11t+M1c;U-p^R9a2FBH!x!WG1?RuHr}r%bM$wq7C_D8y7`tkjYHsKmm#hujqz+#+~?E>uWMY(ihwdQ5stWs)s&n2 z#)#7_L!Gw6&XjQaV%r6U8=HrZAGHU~8M5q>R<;~R0h9F~2z)}o&3O*7mc(PP8q$15bt|$3m9{5$;(LCsEa22+A zL^gD;240%znFy8gwdTMyN89FE&|(JF+s*#s*Aql;Q>A-66mOC7w?29H-%$3@CeEeT z@zwa)Y!-phfTI!L%FKcEas_8?JyK~*DXi8s8tSISX;H(=68?;lCab18axB|CBerBk zTs@aVfIekXELN;^y1k=^K1yroEE1W{T@}qZh)oD?Q9he+P)XH?oQf2jJnoFb7_8!S z-5!zVpW*r4cM^QxfCT9eleEdK)=<#$L6|PP?%x=y2Kxig+fQmsp$m}4{@SD)P<&-) ziXfJLU@R;!0n1eRC>^z2f;(7*711M>T@Ib!*cH4L&@av5+w~XMP`Z-MtG=66^t_rM zT2>PLfY#}qk<(s*tkV{lqT5!z4+4?~l-(kAFW$TUSE8k@}pMik>#~2fiN#t^iJbvwY)aX!iIH%e_$#9r!H<0gYAtT{&KVj=wB6|m^WDrpsLR- z3}c8!3Iks_eX|*0M$qy-bUYS&O7s*Tj5F|&(e+9+EuMSAQzm>-fn42@(5u1jtU+~A z4{B{1=(5vQJbUz3_Db|r4SW()D|Z%+Gg((RS|4p|)z)^xbTS`*nU*CzE|K}i0r@-H z7C9r*uV{`w@@Y(HaU8cC(%ZbfVqOIF@bf-2_v~ zQ%n26T@vY%3qfl4e`63+80(1q!ghDaW-Wuq<-g-965hra9Mw6niK^ZZ093G5cZ=dAV;Xksky#j@Wx_d~7unM9a=5Tn6 zBL8H zl@H0cYmWI9pr?}OhO0v&jdRj6hIV{cYkMmHHT^jb@H@*Ek5At|;KAucRs|p#ho&gc zW!u6M+7}IEYdmliC8?dy7B4rtJX?u_woq=@wxsCtn-vWo4&=Fsjsso*t+BPM^0`D{ zec!_UD`>O|2c5QEdH(Msck%?x2Xx)v7lQQqif`%q7}4UY1XUNz7tvu*khNh4jj)l2 z3D|>b|2FKM#4k^fVnZ}%i-G-tn!GKaHc6}w%@M%sR)*t2`kuz!4qAZ1EA(M>>2X+l z#z3hZ9Y%#`=U(kf!)apK2VKKKY)FopJD&N{O^(RH_%mPKqMXcmixC`|aRNz7^nHO^ z2}8{-04A@&9r)!&t3(}XsWh19oxX}KAjcF!6vPQf+l_xB#fmD&TeToatiGdGN-pk@ zGBo+VzJ2Qj)RS~(o+~ipd|96N8V7l5|j}Mf3UlldaQ6`bT zyFQafF$MmfhwdissG!q{xjdD!iT<>Gl=F2ccs%?C*O$wLhtI#PG%Xk z9(`qypD&afbr>!O|G0^R`SIaxpCh}?=6CT}?uWOR&9(m^3_9b@2Y>8^KK++b%br02 z;ztJpBJ3s1i+TjGM_F}UqEDo#=#@f{{xF_4al;gT)@ z_1z9a7UItyfjjZ4XTU3rdHD9?;nLD}N)Ds1`$M%IwGVj|`l4pjC%dwvX>eyBug}S5 zVk`-^~2}Tn5@_)lFzbk?3rf4+Q zM>mD)D&S29&9fi@Yh3Q?*VAbM-q5yRK>y@~QD=~EiF_vXjSOXhpBh7$tBi-Cg|4t( zUXR&JCHN8FN<343KmQuIF0AkJRtu^8csl)}e@mJkbvi5RhgrbBe~JA$yuJIH$GOl@QNmtKKeQiaEGfS4gEWPW5Nt z@}q(Wvk#4xU{ujBC%z%^udQrXXgUG11sZ1+Cp{SNIl!B2-}pq-d77&Khcq}ZJa%8f z6F?02CO(kKoK;noJh6ory_Mj=N-(ot`p4h%LoEsU?&`+}S;xV}3rF-cF6)b zrmyp8{m|=?#A84%j4OGzkt)6Cak!(J_kU6i?lR0nh4HG72Hrt#UBrbu#l~1^R^LA9 zAmtPaEm~)1kX~a5=lN{C)V%?M+LB2BRgLINl-t^@&nnP9Xv!?W$9YKc-X5y+ovNBk z*M=xG%&2-UNz7?XX;pjaV10eS)5Ou?r&@@cyAGkmUs~zx@J9Q=h;9fEHQExW1PSPn zhN@3NrsF%cVg@G*21oI-r9Tr^#4_=1uP3@_mE1@O&=P18nC8RPMW1VRUHVYQM;*~A zCEu3hYOP#?m?@u`PEP3`mX?yzK*;?m!Lwv2!cWdHHRp*Q3)A~b27!a5=JO)lV*2DV#v zAgi;k=d~~2ye=%D&QUCxN3#O-WKCn`K-cN~6~X>|o=3axsw{!?j}fzyR#&&}*N55#UV$m$}?yfZOyAPFBb>-aR;%#Lv97u%4bvSIM zm8s*})Fw;-6L^**CRWfqa7afIFnoj^9}DcRc7&SUjgoqMjo~Ryz}G4IIp#8~e6kV3 zy37t^uy;S+^cGrgCxPC{tz*oN;xeP^7vK!Cf_PEdo^EQmW(w@7WwZ8vM@BTb5=0mL zd@N04-lr;VmgB*p4!0OabR|zMEi2C~&BuF2_}zD*jN+-vR^jJlta5%^fX)W#7;#Mn?~mir}CG1Y%9Ob>!40URS<)`@OM3b9C>fO`|ijdJUy2Zgx@iZ-sH; znyIYe&#nw4k(a~XA){gD1)5nAXlo6aHXLe%11|W?Y5Un*>PDWXt=Qt2S9`?dZI-x> z>JYkZ0JBbk#}It!1~?SMRIe{5dnFC_)(^61LQ!x+5_WSM!gR2WRA+@6`k^t>bJPn7 zHkhX|k#fwc4xrF?(Pvo?pl|Zy7NU^X9i|v}6*i30kUsjugTbe+(OyBS4dK1$+-P%J z#U*&;{RXFG^#HtpY_)zRNN1*NBl_k0S5dv$q`3+9_;C4BTu|y5hB+^okm*RR{#(9))aW7IZVfAE?`nt zCw+N}%406Gigb>4hp*)RkC|PPo08EW+8PV9|8y`(%O;>rS#^$-Y(ld`aNc}`nt<{% zM-L56LU~m*@N9nf$XFtZeMRIk;Bs04cWxY_oL4#>E<;I&|@FI^382u1_#A8^kdjxl^vJP!nbuZuJ?NK6g3b1#`f z|A?}?hp&Iew<`j!k@kEHu?Ba1dj~4<+3K3Fm8&{tCO7)~nHA+_#$8YTnT*w@hhG=E zChBU7`uH)Pp!HJsc`;R9*fCW7EBX+rUJ1~iShE^C@$4#_X%P0 zri$PKfRiYE@(w`a6B#&SRy37?9b-aV71n6a@!_>3AQ~u2qrdZPH+626@J;0ucWgRo z;z@BK$?bv7RQWO6BjF#-sS3V2gY;e6Z=ijXXQxIjgtnyWY_Ynb<4U8T&2U|xz#k{U zGNZ$gtnnKP@qnoX^d~?9p@*=dut!=rFx>&+9#TLG8uwe?lJJ9uS!1-xnpB4GhQ=;= zYlE}1c(;)LfKTk1ZYL`$w54W{r>|AR&SJAs^;ERP4TOUx8}r(6dvmY>?Fnj0J2KDD z_4n9JCPSf8|KO7`qL1u%#A8cZ#3Wp|?4FQ~k|b)mULq0E zlt~YGJqUh^ivf}bn4f?&V@9nPjr3g0z)5vsu5-UKk*bhBUQI8ZCC81*Cp@ zdgb9Kbh~goN%jWELUPXt>15+KZ?s?cuS$KWoL)K3D4G+SxFTkyhwnjb>^^+SZlCiq zWwBG7e*w5|S{NLK>w9Wd22W~qO^?JrmpUNpXAr;rzILdVRNJgMs}iQ*H@Nxz15ff< zS1s{1oSbu){1B`xG5$)G&Wb9%$N&f%O{_)-;R0S4IxXtWe-ZELfq=}Mo{G@N(6>wD z#|myx>7jfIqvlm;u1{%1Hy*%lQ?I|Sam7W6et1bwD^`O2shJgomIo7jHy6cDXf~dLojuEKnJVg<&iwSYmS7z zyajrFMKx?kcjFV4*AarpXKY8uo%7VtN6LrTiHPuwq?$>`jrc# z`YxOxDK_!?^K%y24bQ3WAe8oh%Q2kB#3+LWpJ$t-fB8z z8;XB7_K`U-0P-c8taBFVBW}PeS3r2TkSVeJiI(6k(-hzD5O7!vLVt)rCqt^L(ue}L zjWm$I7{nt?XbFb!))gnl$+$7jO|lzPuBZoI)6lAbKVn!zJGB}Lm9FH1nw#Ia%m*3UAQ-S2(aKhb&5y8sfVcdudL3(%9&@GcKk z#nuyI)UX$vbFUOjm*^tZ6SW!|wGWG^o$qc+9-bS~nCSNCGMBPtO)?!)COUwUliR_) z#j#iSSjXx=dCgvMA=9sQ8g6o`zZ$`!B*K(jDJV@4d1$FQr|*m>APf-N36m$$jv$*ry~tUF zmz=g}!3?LXIN=#S8rNQRnzT}2QCf?FK6@wc-|aS;{|E-15eGT~Rqtp3?tH-^Z(L8P zw^lesX$1~T8SySimlRNfH{r^ftfrq<-X5X5p1o@1MmmMm0z$c`fLlNH&I*~4k{mjL zz3ulpoQ2#;Vxr*WAGXi_l{Wuxd`31H90M(Ly`CQ#I3ooEbY>3L_G(vKgP7TO*K~|M zm025vU#RlXX>Cyp8#(o{#CWLZ^NI_|=nHdotDRt^{5i8n&6QG^Ou5tl(2YpFgm$xh zDv7(*<@&WSB|*J$xQg#iO_y17u^`WHMs}YU7W08FM}$M$2h6{}wreJ(Ma}X(Ci>6W zmHbkWKCG8rZvBv@Jhkf?XU)=`yl1;q@_u64U%xz`DyxR75WUKbAkn7x8Da+6g~9zmL9VwL=n#jBc7LnH)??+9uZ$daIH8O zt3K5P>_{O%cNtHk3duNUo>+HR4 zadRy%1;Sboogpih3}9`qUV()=_CIhaezwe2#li2Ztp z`_{!Q(fZqIlk=|EBM`Jsx^BCp;ZWGJb^+*^3FrWv90RVbPfS|1uyc$ zI*&p792o$+sbi0=<{v7Y;QxIcGKCO{<}KNk^-I_Lg+NJYz^dKe8o1?4B6uHkZ!?u^ zPmfRX63T@=Q;E1o64SQ)plouQXA0vfeg?mN$Q>}=z62x7<52^N10EyrdUI-UsHuxW ze~KdIYa?$)>7v4$jWNQY+;P+wyaqPjsv3&fqfLETu5L`+?HgW?I1Sq^H};}`DWa!? zre)wtZ&#}pcTH{9+=4q3?Sx$_8efu|?fjT)|JNlIXei1q@X`L&x{Fku`s!O}5JYSp zAE0!zO}GRefYdN1wn%f;N+2cMX@A4bZm78JJ7z%eM&>ruvrwd;w+6i~vvf^jMfhnb z*><%m8RJ?&C>94dUmQH;frtusQ@-0-n;tfNk8C z=XBs`)W#L?5@DVVCM!Zu@$RCrs26ajDH;!)BrBqBmYRQ|$@z>@7ew%rnoE+yvz4y1 z>BdXm9a#jd8es2G6d(ykRj7(>9K3XytYu)0ka|;$U#-aPcMcRM}yv6Ovw`m(@ z&7Oii>J8f-rym=+0~bZKUPOaSstirX$epGQ&k-6ktUl@r^r`*)mW%d-;i0Cly@BwBt)J(X z+D)W}Sj-J3O55R%p*dl(2J@(f;%7aCVaXsyM`q3*(lZxIG7j=9Cfoo-9ly|Q4^?F0 zlbdYKv2(3C!;!fQhDyI@h`Ff>HD!SP~7?jshb6uj=pU6FZo4$aHhnWFAJ1 zrE~@UF}Ou^yo|%hmKk*@YGBZe=}YOPYnQ%~sw-f#E6|Q63Z20h=YAn9wyCicb}pb} zB`Bza?YBL_zKgs`4>0~3rmnoY?KzScd8fv~TPza&`;pE&K}Zc0uO@KmEQf)(29d+D zU|ti&KE5ZHIBGdEXg)wTf-0pTJdSu5@^wuK!pNQt_%foag7vjTOAMBHPJfL>fTuSIjd45` z372S?y4j~vs(>I_1!IjvinM*o77?8v)H9BuMID`X#AS>;#A>gU! zE(i2TpTGodz1aDgcBmqa?BFiy@J$S9tn&{@?R)6QbvzVf8!#a`=6{elK_br##?z;U z@-~ZfMYGtjIws6E|Yq`qY3OALh|MW*Nc8DZ1TY z?SX5*wd5>WL6yys{w+u@5u*Ak9Gl46UxccRzbjrQnfH)QxK$%Mw3d~=mC@Gw?PnG! z9b)-8%X};RO5fw=b9(?q7hF0zGZopZ7+BW6n(DAQ3U;}?sygBIY_TuNYt)r(QH*jw z$xXa=RlaB0I~)6ulKYzDChUp7K_utMjB%3{7xu|@No3a}6wbAp)G7<6fa>>aHTerK z`V2)V@!geo)`@!jB`Azj<(?cw4$*LfrIH+!8J%rz)F6}Q3JL*uZB1{r1{n=qed;%or&IPbq%LV_zec{An;RzK8^TJcr0)#dgvh2uxtLE&-l^5gro6cLDO)RA8k;Zg2Ecm4gG|bdX z+18A{8@pm!v19zc5Q4S}p&r@bmY0>9946-ATch)L@7G=0!O&35=Y?zwQPQzlnjhGi zlh*loo)2 zWtzsTch2M{e=YjsKSHgPzL3;;%Je@B>*^5*)poK%i4+IEWWCd#&Cvkg=TtX9v&Ps` z1rb&5e{V2!^T;3RDn-MlRuU58yucAf0oA2t?Y32&(19{cQ7QZ2xtC^7lHWeE-p9sg zk=ZhSjmXp~Y@)RFxDY!4{J?+6KaJD!Upm%x|8%Nk^u&>0oN2xQra&65Xh%HQS-~M9 zTBVq&OGNXNK>{|9>9i4gi!?|gbLS!$48e6Y$yaL_p9CXmFV*FIyi(woR)kPcO$w^( zjvI8~9_Wbz^B~bW$@psk z#41=%iQZ1kgEyJhXarbqWC5LPIXeZC&mwW~A`P1)HQ}o9>1{XfYX{c$cn**B>Phj; zWAaUp>ej+8@jGt$C|n?xVXy|x%yezUQG3KLrRHL0a*MB^9$A^l@9%-nU*&BUf=}WL zqU9Vg*+UeAC+fw>6`UU`gn%TZ>QU07}hotQEjG~`4Zs%$!S>k}H-2^+rZ zr5@JwG+zK3Jgwdm=C6!+yXbkf`U7x{kQYo#CO8@o*gGwGwDVNK4YGn#TG4K;%F{Fs zvj)BUW2^j07<_UPvNR_8HQAmT!D&-K)b(JJlHaOrL;+Uc*6w~AVjCu9Ahi*^L-OU_ z-U*4R>c#2+bluJn_UblprsoXUE`*wL>_H1WNNuON-=K}~cUXMkfBu>=5quDiRk+xM z#y0%@-wv#nnArrSf`U4d@U~w@t_C9}+ek#7!J#o9FPU8;s&2GY#=6zfOhC^}!1?mn zK%x7cb#&NbEJ}4UK4^bo;*jskLM>#ReT4r3_Rd>XlgIe171{;IQ`9@#bnQl5 zeKJ|=bHQ;&l0XMz3@lAVUxfFOId%@E0sP{xqMP)CpIyVEb(D;x2wTr0(Jf`j%2tO_ zM+1+o9%uP>sHc%izX_AthxH>0hC7)?oKOs0?5R z@XZf%42c^8rVo21ChLW*h6>7%kqcYoPG4%E(b?Cl{~)5s6-O5-)A%Ye;1LZiSxkM9kdyq;zf!-ulyqjzhC5 zK>E^jZu50$_eGP)P}Y0J$4%u7VmP|NOq}cFH0{If&?~rIiK~KIh2pt%uA~lk+U-10 ze=4kw`v$$59cU7Dw@&$#KOV7_Ttf-z6%3(W$h9R3K@a#T?<3<6Zlsx`wQChc@PX0g zD=Y`tZlLl0Rc>~S#Rn)<%OJA=J3z$05{r#KpV_9*_ZDBfd{B<9n$CrKtC;CmjE?iN zo-u02K#|h<8yoJQ@hzA(vd!F{=|2B7#h)C3))G6?B;V?C%zRZ`#*mW&wD66=1Bf>v z$;-~bgP<1We(6=m?wm0l?fBm?+0)#q3c`yl)QLAyAVNnSoGG|0An@>bb1SnYB{RYf zOEEJ?&GlguGt;123kpmQNKY7RW3Z}rv_S7wAGQ1?DKX!y97m6_y|Sdz{=VEvi0X*I znkEb+^;HeB=`>r6!!~$tA_^4{oN;KNOr8T$;KxICTzF>9kZKb)5^CJT8Ej=ClOW(L zeGz&ecLhSJC4N;C95Oenvt>OrpEzE~$d^J4yOY`oN&2D}61HL+XSX!Vm@YIyoJ*2n zog`T#y?()V+Ec2hg|=3(I>{zVKGYilRA-gjy$l8o5w#VwM7uLc?fWOkTu8m83=rma zF+W>o<;>xEdC?yh5$1*%dafPqISF2QkQaT!&L$ab=k-fWCU{A9;Pn4AO1lDj1xun9 z!MC>+|CbMf{CgMfH;s7tYhRi_D+SNBxv6o&exwbQQOg*ZD1(I@nE{axa#zSK@x*N` zA8V|aE$6f6PtBR271W)2XI+W{?&`VeQ=YkkC3hdy{dOxTuD525bBIU7aLayLlhtl(a+i<6_uir_+G}1Iuj%ahxQh0>R}@ zowPI`{ljd}z9Cb(W?xeX1ajaQ+_&vH4#eC^+{HjwuRPG&cknfrvrpVn(bMCZjr1eX zbU5^Xpo=~x9AG`X(03D4LlX4($K$e=?>65OK0(d^VvLHCeP^UHBUIZ)X8wCkluL@~ z6)i!;IED4=?P$jXu3RTOxT{;>GRzWRgdP=Q61-cCwZ=K6>*{`uqMGfk!>^_cq2aE# z!gN27UI9|$U4TtR-j~k#IJnRXGPscW=hZRFxZ|A)l$CS3%8?g!Graxja#bvA37HMt0yHk4 z%3vlj)e_AjTbi&x_6-Li$nxiMfhwn}bkpMy-l5*df_m;TkZ2VG6$tz%&4t)>Abre; z0^u@%00HcNLal&dHV3WpAISbs_KB;m;lSXhQ_aFwUaP?{)CO52G_;A!Wfr`a?*@Dk z1ztMD=FGK1(jhs2&_{6t6>md`h$Q}AvDT_u3KZA?1!sU$ zeEk$N9U#{S78>(y#-pq)piu|DZ<dAVi>}Ji z-CV;UE1r>Q;Dr0qQt?DQHTNUc{#i*?FDNVBO|;~K^ivKO7r(bNK2a}GC%m(qa@PtI z5?NXZ4gUF&Z!B)^5k&zQV1V(!LbUox+3;4gQ=emzu}!6ZLQ8^9KFG2^4YD?~G2ujC z|1hab0JJ2;h~~2Og)UEttfoOv@K@d^pm2p}eAa z-H_Mj0UoPfY{d?YC;G8nZ%(LS8Fs4jQLmw^SNqEGHP&Lv)AG|cF+0^;0kQ>80kJC1 zL(gaen5-VXka!M@v?@~?&39salsK>esgGVSfQIC^a?j~REku^apb7q?wMBXKCdT#G zOO@=~L=EE#$jcyUEOIM(L5K%A#0mh$T|0Y@#Em6XxLK^-g*ZdFQs0EpkA)*TG6$N% z`+*AYv>*<(CN@dIYBLDAU=0-Xauyg>67_!~%}{8`_YnYzBukEs5*s0Z^!c_y-YGC@ zj!JUCN-2u+pcEnGMF-`}vN>(awZvrnjAZPPd z2K`nc1O;ehqCfIJ6l^aMgSF$fOMXUs54{OPe<}6{@TnT63Z|^5)#L`dU7|6RuiVAZ zFM8HMPEXVbes;??Upn|#_AAj!4@HFX$$$#*+#}ZI;Pn+{OSZAJl$u$$^h{a>`i1a# zOg0~zi4J+Y{H@kiX@BT>U$sbb;V>=|n;BN6Vm;O*cqbAdVbe*7O@@_rU&F6Qb1bU> zMj#m+LsPLo@L7feNl2P37(~`M{)sT{FBO*jE4nkjhW>TLY!n)J4PiW@eH+nsc|&>W zvqgQ9iD>oZLd;LuzyhWbCr-c?|4^I79l_RvSX&e#6a+03tsUw@|u!6iRLlO3a% zo?{ruVuSw(&ON2YK2dh_c`t?LYWe{aw{Dvc4tR5jv*%!C*=W31_Vuotr*)A1w7KXB z%4C(ua@<<5dd(lJdK0rlHJ<@t7vi)G^b52d+nw?9ox_wuTTc^Snp?{?_Jx&i#8G5K z=!($6K+edPVAt<&b&U1qiZOoblynG;gWfD&3GV$xaV1ZSzc~q=f6KpfMG7yUN!t}l zfK7<&)WSH;Vx(NoPqaWkRa&E3~+OK17x|$DBz4pEnec(x*CikmCN0(F@b~kWt z8L3D@7Jc@7miKI;3FMeoLd;4uh=kPpWg^T(sZ0jk+3l?PwZrw)mev(X?+si$igF(= zudj>!ch0Y^9!lTwRlz5i=8hIEmF?P;RWQua#-vod^U$3E`T#7bv>j)lP)=y|JYmCv z(#|_#iiW!6Yk%e{h1SQEzu`4-dXYSVO};Vt;w} z)Am*qZP%I$bD?-Xs;RUsDNhE46wZaoov_U3w!KDbepO<)YYl;)VIw)ND3Pa?L@Xtb|l6piFfm*t}_7>jY zFSD#-WaX6=e}k zuWdbZ2$mHrJ^VNmM(xeVZ}%5%-3Kc==$dhzzJos4e;A~e7vAQM{ZS|`q_4@dXNtwh z=etQHkz=TC9yc6zJ2e|tca+&0X8 z4H2hQl3=@(2|P!qp+N9VOSFmbsJgpi ztmv|KuhhH^?Om(T8VrPDBbGGPvnUZ>edWGPW?B}|*8oZ8E!(Z;Du9IxT{Zo%;D$76 zfa#L7fHB#Z)Y2mjdyyUQ=C;ZVdQpk@L>^#+w^Ta|odD)Q7)z}yxmts#@5+I?-lT8~ z9;l+z?S{+)5fQz%sz=i>zR)zHWM3r_cwIQdfGdq*2#ZRbZEbuz`6X6B4?)|*FPT%= z^U0Xt3J%d28V)g(FpZvjudsw~r&J@R2AqzhP;X$D@JNaKIyITWl>^@E(j^1qdEfLVB3sP`p_Od1+ zciQJ74Lcv;v2+Dbm-hvMO{9PT25N|Lyr9^q{S_?q_*_1VjKF&URS7tO-GpeHIUtPT zV7W_iXGSnLA0i3gTNhx$95CbDiA9UQFK0^kEp6{PvbHZqdJ?Z&d;EgW$NIVXZU1(kBSbpJ{1#18d4NuE12PCF zx9~?a4sO(d5c5X_b-(FNlkcc%vZ*5L0)GHfSsEI;P+zgE33}1fKwu~4R12>#Os>>v z$$`Gh`IX!v5iuPVRTZ~@G=+=mW&^NMbKw3L$HX8^Ple=Tuz}M8iQR`_?Ne8&hW}M% z>wVTlUk#A4osWO;ewiyRy4-@(Sl`%W%sTaV*E5i~Z^W5H00=b072l!ksHU&cpzIc% zV*oohjRu}lb5oHrkZO>YERmcOri+u0o?y9F;Y3vuC|QwYmUYv>I>|bGlN*a=JQr1o zR*6IThUkEH@F zMB8{b-s$E)3^G;Aw09PQ$F4pf0S)V`^6mzzbnUUT8}(RJo{p^iiYJrOnT~6K80_iN zGKoKk>)I5lSowuD@=`A&9}+@rNno;1oS+e!$8=9=IkNH3q}_&y_C}9p(rL*1=)#Q& zw$OG4AwqcjwOL}au(9i@r6)>|iNp}V8r3-}SCDFxS##swW*eUdPperxv(aY$g$A!UHWnO6~y(@y18~dtA$t-l_qHr1L2z?FiV&ogy(Wp^yeSF%mIO{ z+d_KnyeUrSQboE7K_iXiDj?e9DZUxJYLPH*6%!$geTsqm;btf_>P)ef^q1J$oeSf= z4M0sc;x9xnP9*=zdZrOCyXHS>l81@FBVORAU$CU!4W%AszY_@6Hcg_xPsy0ipLF z9tb(j?l?|$Ck`~+kx+))b%gcY|k@)%!()$bWM#C6eD?Wdc?ETybZLy{op)0piMgZW%a?59is_eo}9e z(FnbL=28<=4ZYY&lHH10M8};)rjGx;YN%b%(Kco<%{tne3Sm9tz+e=*k@c?C*#Pka zZ_NKeR`vypBYx+Kn=JCVjBg#Zd)MV9K*mnE8w=-#M6J7)o2(j3A(|2Zw;$8McxH>| z9G_@ll`6AO-P#1d`7jEs7a}Hq+#vb65PKs~!86dPu8Zi6Z}Z53?C*?HWENcO&_V{V zhTHY~eYP5j;rA|0(_GL7Yx1X@H6IBTdk9G=LW~y1KerKJ(zAZns@eH0= zHNKemNo@;eKXUgl_U9&KaYM8EHEubA1nzDk5H{6K@ssyVkiGXgjlhisZVZa{T>`iS zS-kOx;6;f6g^7jP$rrxRkaVnuK5|B|$@3g0(*Wy-5!1Gz)MVAC#7E|uf~+IB0aej~ zT-)$knLS}^w5Mev_c(UUn-QSA+F8eimOky@ImnHp&BY-_;XF%U|KCgvzUV17`OIfx z{}_(~NWZF<;@%Q5nG|OtTgDAzuqUL&HNKi;`#F|;boa$jjiAIg^wV{>fUpBZ5Jmg7 z<}$m)o+9&iJmLAO$a?}F8YG-VLzQJh!j48cHJV__uVDw~N~$4tr7m)i7FUMsYre^? zyNI8-U8pjq?-m1a8txO9Aa~Tp+u%$qqIWfj*aoqWNG^@`EzfCt=;8~4-)3tAh0H?L zf|YzHFzn3%b)00ZySH!~EaLiK$LSMV1i7*jnmKR%hoCO>ufP@Ts!3wF;tX4Z!tm5YL&X9nRYd*obal!7&@)IO~MtjG5Q;0OBC=wb~+^&t)>E4<)?ZOA};F+m0|m> z!mtE1riq%*k6>qVy@P*YaEM(y<-$G#jw5a{-0(#*`0D^E@X;Hp?p6?**O%V^jrv`LK60?C8ryNSxg=`H7``yeNd%#Pqydm2 zrCyvuviCSdnIRTIwWH-1F#M)@Sgy2-ijp&KwL9o?4raDcBfiLix`S>OkJ4Jw^N)$p?(n(~->3 zNk|V_@*$`H`g3=fO0bOJn95@jnJ5dDCqVxO^L<$b=~F;I2S~5IAd?3gt2VPX??wz0 zym=jtNiXhZ3ps>3j~A$5_(a#(O6$zuoGA*g_e394g+K-hWtbf^n>{jVCe#!6AWUU4 zpXejPOXOcKa_9jfSHMKi-A#SS%YGhUuGkJyigzpl^vxSLMUufzMIYl3;JBWNBqlhCtBlIFFz+wZYtmd%5 zSYL31&;>XygmApuMhgstkD)SJboec2*(! zWQ6Bhf-Ov+L4@x=Q1NYBLz)cMnFC|>)Sd#l8q;2*ldGNsUSi2=e_6n`#?ES-%=JT1QLgmNft>X7!Nx>S!w_g!Fl(*ra@&sf> z!AM@LD=v+ZWPQ+7mj%K}L~GMU-1Z4;9DW$ki~UI+8Gn5y)mgQo&@8l;iRXU>N&xn;@A{Xju66n@ioqXB1qaC`ep}3V7|B3RE!&826IL-( zjuKi3f~%bU%pt9b+?xGRo;tub$4|q|Q`)ctiAfkKI@`aP>1igs4h^*0P_SN;Vu3&89{dOGr*fKgON|c*tN=LufAnfq?=3>3|!q8%WJ`jPGbxKcx zVMUVNP#e>l@(7kNz zObfO6l1&{4-nw+6-KEq?vGW!aUy1_oV-VZWNAj8K@wFN@;^d}~dC(==aIfm!iN7fA ze&fj~>#ydx825U4gfmv%3@z`L2)gPCUH)JogDpVbrTW7S&1ln14Ci}pvU-pK5E%F> zp!`?l>KnR?)q4H2>to2R@p#(*ilnJL=z=Qv13aNNpA9V@*%MB zZ`YFJx=c$RAMvYIry60EIt98LH;KnIcHJeKaM3yS zbKAKO!m?4U#PR&B4F`J*3LQk%qoY>VP`fZC-KZO}E;_KZ-V;)p41{rkQLwcz<^2=~ z*C}K%4dwDnvp{moG0Qtl#2TU~r>o@(@UQd&EA8t2Mh#|!$|)A*9x!KjPJ8s%^|*Lm zSSBa2Hsc}G5vW+_g*Uz=t_45vdKF(*d%XF--@^7o)%hJcNbHWB4wrRKO!rkCX-KPO;#I z=o}hzOh%33eAl74Rb6$Q2#>sltVNLvYuxI=;0knLfN0n{wF!k-*IhYowV5het+iTn zgjDfssX87vBxO8c;v4Y_(WNmimned#uRk^1dykoz!9g43a0HN^a`Z~>&|8PUp2tv- zW8n=R)yyH6+xU~+X?reFBnIb}qJEQvYJY1IS9!036)>dQMi`e$`v+H>2C9_C`>cvz zh*VZ4Vcu+ex}~$}Es#V3o?;V=c^w-b9hi{!!QUZ;uJqcSdOtjxt}OxV13KZli=v!C z?&VoY$Z#+mEVkuCm5|C|H#}E6TN)|_UF;Fi$v_Q;s4n8Wh8mufXbrOg$TBmV!V%u( zjNO}$HkuAY=|T1m(Z;BI#ma0yxd69j(Be#K&f(FQkQS85viC3$1BdnwVQ!g4f~UT`T03q-rZ=$@woFNg&Dn*MPTpkn z)x(!1BD7Isa!|08Ex4{GG(tpX77-yq+0KyK5J1U;Ka+Xbev7Unu)s64lI`~@*&;2x zpczzV9gcI{-=@Fs!MdL#D!ocRsnWzRvz9f6it;rTtoSe1&@>S)*q8QZulxbmg_5Ie zL3-mj%IYTPV=J*4W5`A{K5=|E>lY~Q>DpoCZ+q48j{pp|W94yk1d|KwLFSQw(V(1@l(* zrQ8DBr4~odK$~(wDK|^8y}ednu`dlD>)0bv$Y5JD8++$bpeG}6R)Xo%xN$(97rnJ_ zQtl+UAY!5GH#K5;3HFgG7N$>**fcCZuYA!-6P4~XLty&&scyA1oY0eiM6>>SF($eT z56&}=>Qi=T=Z=i*lJO=P8XYZw#ix+dJa5~yOw*&ck^kjmN$f+N#jJg>m!%JB*gEhV zTi6?L3k6#pTif1R*DYM?(hL8?0Aa}=3S%U-T@#uFzImEhks7=Mmz?;IKc@OCNcBL> z0G$~I-@^A#lZ8sMrt;#`P=ENj+bOy)2d%fKlA_ESFR?(Rj`SM|t-9)qiGmeHiUPydb690d! zqghRbpePU)oIraY*vYK$v3m$86HLhKTucXa9?~lOkUb0mL<;~36!iBzC^cqbfm8mb zmd=e*gSGo?{~o^VYlTC@>8S2JxCvqdBuogV*a~ezz7e}S8Xs^IE2>vk;gagsyE|et z$`7Jq&&w|3aF{did~eaSza&Rajd7F%bmrDn&|Xe{B1q@2eB-9JxDhWpVq_^VxR=GQ z&}=3DBS@{k*ZZg)+cE)Kxnmhc&|g*p(`gv;9SF( z>)7U`Lnc7zRla49g3BF9*sR7&^%gZ*5sB^rd;RrdLt)J=5fMT|% zqQ4*frv7oyIKLKg6)9~f{kU?D_SZI)pBA{=8~O3-GDn)Nqt>@<5J0HvRuP+B*I_UX z)g4NRM>H8PqhN$0i2Tr^+lsi;Ys5E1`7&f4fJ{nt@3t)JPS@;`iU@KpS}(Ek`=oYZ zbr~4e3tD)L9gAEox&rJCKqoob*#@4&ZyPoc`CU2z6r3*FUG(ekWcUf9LOHmmeQXS) z@+bgYmzRJ?&BuW~`IFHYhAfFVXk!UhnjHVlyv{j<(+p)w1N}+HG>QR)R0`YZ&sj-) zqR9deVGG@>Nt-(_31e4ZEAFIm4uM*orzGF~Y$E)nlnGs#j>nda>jbj6J2v-cX04?N z(@LxQ%V3rm^6m;a(x25`RSl@c|Iuz}jA=zhy;&)<$GV*Zu{R(&@-;}(FG=^7M3(=b zah6>5PP=3caWk{`EU}HZL{cBM8HwF>k$Au1H)!R6w#YGX&HvfD#|fR9_qH!?rA`HX zgyj8-0Ne74s7&g0lVIqC@H9L*247{Me|AN5s}|sg4qLU8vJ=zn&~AFBySD~qbo=nX z?(e>6R#qw@6V`I8PQjV=9;LVISWkj#QSM@{oSYTk>YpqE&- z2Yl$Ir4pvXV1sv%n+Jy=D8ofXX?>*{5-Pd=WY|=k#ju}W=X5y{`B+gUs{ws=2uyyk zqDbusHORehdMI#YvZoGdMZ!!>2=#yVO@rK$RbmW6b=JDecdYe*7HQbKx0`~1DuD(R zh5o_x7n3uLWg=zto$hJwNBC5V1O!9F*jiPrJe_G)_)bF(A0otY^Y?7FMd2XBV~_)!W++D7agcbog$@Iial$a=D^w(c{B@kb*j{S zb2A^~COxGRPk}d4!6znd?O#}gmL*NUuH6;4IrH{BSlg zb|qQdWWje9;mrL(a#P%x6ROX-_)bcxYxFgATk6JLYe8{%mOQozCF_33NLf04!eOMN z?-VCU?n6*CVO-^D^tK=+c`z@n{$We;Hu&oUuxw18tjCP=7j6)}oiJjN3_`MXLXHRr z3G?3rJ0Vx5aC$?c$7>uP-aS4PNXf-gx9K1f22W4x_W2yYe@dkR!dlGxnG})+ ziBk=APsx;s(jR&aZHZ!}4>}I4mZaU^2^=^Ak-R+0!!Qoa zURC|K@a-;iQDFR8%MmX+0}p~5y|%6G-vL3!T)>dvk;_Xzse_pekrFjV+1|lD&+TOF zch^R2QP8dYjZT5<;ba^`N>iC@2Q>sZO40r*Gw^Rz^G(5J1#g21y~A!buXFI;3x>3a z+q2W{6G^MAr$O^kee2l0Yy?%}JHIBz$7aW(%Wq<1Lyn8(R8Lp@(I)9ChAS?mx8h8LvTWls zx3D*qk`n;?1es1JqG&b8O6bBNY~&+DR6i8hJ|MgFyKPn8_dY>FdxjVoeJn>0SLXP7&4r{rtPQ}0uR*s4s#}EWG4Fttn zfV>%`C9n{5VcOS>Hn`DAdMrP)H5xT*t}IK=aB;gC5oCIm^26^HEC&(@&i8BS8kPF@I3BKAqu!cL`ZwuqMVrSLpc8+-gQyt{v+Sk{NMj|D2! ztKEyKEd3g3-jm)cN5E*r?QoJ<03hvL?6SQmDnnW41^z1I^#Xo@O$UqfeI@LLl%IJR z?5St&?wUI+ahwKADJEH6a*!yc=D>1OQJ|K)WGgV)2-IOarDQYEFmq%|N$AfzrKj~T5;LtMrsWA zL0`2f;OFI%YYEnEc0|^3p#)c++s1*L4?rLcZEB9IKY#LK_zWY9kP<^+N!T@&>?) zSI=^00|s4OUUM*dZ;Nq$V$d**fO`v|We%BBzM7|nGX3N|N$@9#;oP~WmbafItmQ~} zOzJ1|76ow>;dp`HF99Gee6z#QrzY%a*Ck$`<>fT(qdT`9%-!FhpX z2_7S!;#Xf|r%~78L_>0WCAO@ZB2e(bTA-E@;UOunxz;SMES3@@{GYTO^=4rqT=Hs- z*a1qeL7edDry_L`o@_ijOnHBNg4Ck#mOu{dtd?k~*}IHoyH)cp9=bL1)bWl^`bx(& z(D%lcHvw24L$VTA#p5P$ZSMwCIxiaL=9yYMRVD{? ztZ^EPd)dvIiAFL#d1@B1FO-psm|n;Z+Cynq1!xU zATfybMq{UV;jC+EBZuAx$f&bgV@28Ri#oXP3bLo^Yt6i8Z7ziG zTSW#P1#a@8@VJKs|EJr46~5wOBg~Bb{1i;=bP=t2dzu6b5T@}qB{6G&8g)C|2;{`; zqmwO(s zyxh|21H@f)`02={+L(YO(w>eF|d64g-JU`YQ%)%!WRC?8cTr#%|8a;?f4 zmgeB%6iE~I`js8tvReg+4=&oFRERxiE=wtPYq@|e$;~L%ZffYjG)aG+W$Xov1Oht5 z>7i8;OM8fa*{h{8${=XAr77H?l5+jVONX*wq(-jgCSW=)76M~2f4Jg~3Vh{iWfhPk@ybH1iU2w}NffH4?~H|0gPGKV zLZJiXGYN{r2g1ztY^L=muR`TG4FC454>_tArt8!?a55AaP=e=JJLQkkgc=bBj~=4VpxH zb6-(1;y|8P)H+a+wUzg%mzSkCz{{b@>DIN7Z`S> zfVSbrsWI{=PY8F#)|Msqq}dQ{7~)7r@;aLJ=vPO)KczlF)GJ568{eWrkFt<3pi^`m z!Oe%5dyO!s&P{yqJ%E*=AJ7qL(xP2zUsxwD<8KUwh2;6}zQUS`W!7uM+*}|&5((tE zgoG*+y=6?8F7PZ2pr#!7`#a7G1CY&~4nMf;kie-i zqw1yK>z|znLrDu!yb(0ki?%w!L)b3$U?kG~q%k{viM|E>%E>6E!%gB^P!*5x_u%>l zsJBuF;|!Gm>gAjR>??sEZOd+HIo_Gwua=@JL%CQU1Ibs?=YRj8%HP#VI**E(Ra<^nK z1x4RyIP-9L?+=uea>Eg5i*70T#!%0w+tyJ#NqX*o=Sb|+B#sdIq#2Uu^0Sq%3nFiH zdV}^&c7mByu`N=cs($vU^rHQm(-0UNKMDXr2#-mRI}OX(=Q|!(GoIQW0hw{0T2ZH{h{Hp>ljItmijOuLrfbGrM#t@`ZtQNL<5=wCt6DT z$2jW=y=H9oTShvN&ZaYhd9_zA4Y6_X%WH|KdG@l(~>bmgynzH@R*2yQC7r!uir{l z;)uI+()rZ4u`@QiI-Ln6^=^z%%jMTzVTo0?<72I<2p34mm8QgZhDHi_wU9Qq#D!Vy z4R=sD%_OdlQ2yUBg!^W6f> zUwwK$M}j$uHS*jsi8%F5HBn|h1~>6bQGp4l;q7h&-->aJdvaaOoG)QCK?LZmECI@~ z9#l=I9KV=S-$H%d=yCzu}9qdBG8qh zTnbe*Q0(xZ^>Cdd6(`esyX>Jsx5vd|3O46}TSv&`s{2i4pPNl% zRB~e&{gi{UE^LLy?j}2S1)S{^6(XG`)PBh{=%QK}eG41xgJ}oyYm%D7)p7h&QaF*s@0!AyGbx=@lSu{6=C`Gs1>TsW~Q}85Sgne ztkkg2PVOGJTPW;7{SXak?ScBhJJ$lzg zmNhE7W$|g2PQ?Y?!lc0LoH-p^#HGGiI%L|hzAd#AI=gz4S?%izHLHD4z#s1Ea%`=? zP`oPtfeaDpz(#^lmem(nFNy>eXlUh)iK1JuuPh zg3s%-9-7Y5_faMZt~lVu9=iXWPTo)nHN&|a;k1h_lQlK+=PMVl0c8h{I0^=drPo$7 zy7JbUp%fmpSo zP<&z5e_{DCQt?r8R(2A3=ROy#;D7lDE~B3k2&O(A2S7(j*vJML7RK67w7!^d2UQNs?gr(Jtzzq z(t{>D&oegNLjp6<#s5}rhu>77QJ@ArWl13caZ&c3ymSKDj(mmzbrg~7>TGumlGE6| zL+_A)P}77d>2@UaG#tX7r1sK#xfK;rg664)yuv1fKDZ=Q|Ek5oxhOdi9NZU$H?a{32to|c3wN3ftpaYs`i=|<-O2gFI6+dZO7etM8~>erbla0t#s zxW`dp(xHEB0SiwM4$CMmm*+6E6R7QeIQb(-6#ZZ=A?y!6&Uqg--`5HQLZwnbDB8Yn z!+yHw2}Jo?*3QI2%9K~49;lf{br3iyRxsyG9M;m(xz-gG?fCKf`TlD(pfUPfdCk~X zT}M4*R_rda`l1C(Ve(-esPksPz@QXW0lJNv!12_YlST<|+SX~^OJq~P2|2`gzC^4J zvf1t>A}e#F_U?m%`@-S8`A=}KhL0_23DKDiXUJH^rJ1= zSKu!*=7X>gTU*+C;p@~Gx^pS(%CR6n(qY#zIcLYftrZxm2jPMzeiVF z`Vj=5fXzgYXq+d(uVlPLDR#SUfQ$UbWvn-AduOIe{c6yee@|3;s;d(HJ$h(7BA^@j zeR}VXD|tJ0UD7G?Bd1jGCoFs6xs_a(o3xgU#|8QSp?^P43F6yaYKYDhdw`&-Ljt|0 zlWPrAHraEv`QuJG0bJeH6{~X)p*3Dzk38dtB9{L#RQ7(UqVq7Nb#HQNuQoSYgm0nZ z;E7iC>k7-WeZt^pP;#)YJemm%=Q1051gFk0EfksLWP3SeK^+{j za9pbZFe%%k{FqI3?$fcPYSc_?2l!AluBM1>wsh!(wD01!%E0)!>gkTHr23G*6iHC9 zRxq1OSaF1COlCaeY$Dp-cu{+5-S}sp?!=eB2c;YbtV`tn+rd2ufb35ud#}|`!`uHB zma>bAD3GCD*ctA+%JW!+Do4fhUPF1Y=$~&qgQXn(K8%~n9n;j~AfM^@>?#9)-@t(_ z%a?g}9gW|A@?0`5j>?h#$&8T)2*=S6Ix2{3+H1cjA1Fl$G>3WD)C^7njn=3S5DDS0 zqm6>XWpV6Uh~vGNBl6u{s>g_4;qy6^jDKKSx1yPEjsa1edtIlOP~Vwg_1R+-Dd$M4 zRJm3S@#W=&6jtZiY-DF{&Re-d$1cl4-<6yxsIK7?oF_m;b6mLBEJ61wvCJnhg+!p4 zAU&6a&;bG)BUrTk%^iocb|^)%OE1{tl(x&iF+?&~2YW8Eno*tTuW#I|iGXYRefbI!Z_7fkQftG?Zd6nN@fMO?Uef3i0Ud(X51mx_bB2TBvC@PoKLJcy{Vzk zJ%jGyVaP0;?^$!36$$PlKT=!g(Wc-;qy@o;P(gl^1;v__TWR35`PsjD7Yc7gr}SH(<%c{{6K4TJdkc4i0n#sf>px^mebp*{Z?&9qnPaFc%FjBL46I{QKw8arw_ z0Y(qXL{2syQV6USrU zj@qAFA!h64NjeI%YC;*f<9N(HEDXDFGZ1mG{^)y4H_0wb0eO`FYBh4C-sQL!8kviC z$8QaLGQ^&6O&(ZfpbCg1p0gz4-u5UybbaI~C+Ktm#%B!;Z<;B@mTHZ&|OXYQ7 zZvTuOl(L2(U%W!&vDoKg-8b*fk#f;G%NC4k_L5F_MkmW_hfhbcepZW)PB7^FF7eJz zN9k4(uXa3Xe~bI$_2DW`ZiE;APP5v&5TQf`V(XclFYaZu5W4J$YU@wo8ucGBHVB4y zrGHlIe;C&0$9>$hsuV>R+G2C&2jfeZ84xj`l$DgnOdG@`Hz?`vTJS$YD{Tng>P_WP`8CW3_>|j1bi15;IQ{#Jy z^$)`1CLn6?NHz#nx`&&)I_0E)JRtaG_-jG7wcX5qFh2|`RpaN1#YK{XAc?(e`1u3gSUvDA zALNU}1b5jVJT&f9y4J@nIi~9UfYjHLDC2zUkz!U?ia#u ztA-|)cdbd*mKl^+TiWa_`E(^c@w6Ge4VBu22f2QP zhv57o3|72WIKWeo-p!3eUMi#{mcZgx2)6N>csOuEL( zjb49$A{~Wc8pioJjONKPgAFDwN83N=_B-*pEc6z{XV^{a>hB8;#KL)?s7HlzG$V)W z7}L_g%uEI&Wr0kM(&AuWi10@kegULJ-6FLe7pT(kvJ`)L1SPyLe79T5Vg|Y9WTiAOdIQ@tfOAwtvuOeX!JK?#KpYW0=SB%mEEa^mmO)&{E{RtF~iqr z6ALqh-Z+*nwes)M)GLt(^voewd8@fmOd3REP&*O(y5?i-X6y#kD&tNoXfV&497^G; z%t@=2Z4d)zb@?T|6W)7gkEC{+v8wdxndZVC5f*^^0IOOQ)BKM2=HTWu@9g;7l&gMI|6(1l!J61u#h!)^ zs>F2YUi*5)@FxvqPRR?n4{l7cIhy}UbeuULz~LnOqBxskyeD}Ksnm#g-F9do&2<=Q zHJH*Z_32+^Y!X*#-v+@dExkfam?-T9tTA>N`A z<-FTOKQG22eGd((G5yIRFk;oO6>f^1s)V2+>W`#0`M16Z;tM}oGr$?KYrW|-37I@8 z!7|@c4WC@J7hPB6Q&AQa! z6ih1s$Z@3vdenC@Jl(&3hg+y^vBEqb7m6oHGy;`74K?Zy znNao6$!{sR()vapEk}+n6_cGO&*4x53ifz^|8%#9S_*{e?QDCUA`@7q*!bm1)#%y$ zxA|;5lzxpSBiB)W$paf%EhIcmjDM^!(E(1^#K#vC9i41H_iYm!qVkZN0}{2#y_F*7 zWhZffJjIz9go9~`fSk1X|Fw(N~j5aSGdDf9#Vn0+iqe<7`F zHRXiC8<%}E(%9n!}Bs2>0Yi*&|Eh=yqFTquO=_=?lQe3R6A)@siQ zHP4|nu^)Gp&QAROjWIPrxV@H^y%8F%^05Sf!dbmc(AtoI04 zflBZU2}RPXR#VEl-0ra_Ur>n+%~M$MYlwd&U_l;e*)~R^$>lO>A8M7P7kKukBOB2f zUz-h+H~xO46?nn#Q`_TEYiC>Vn}pkBze$L|4kBjd-V%8U256ahDv_ENcd#n- zx}wdXP@G6mhx(c>+58Fi_E!FrM-y~$doNx8pt3KlWuj#YR>8GN8 zCgONA{bLJy-JdAoh_;_wtG{)!PymFNpms`Q0=9DJ%nI5u%w~r09CS?jHup=?_jgm9 zB-;yR)`qL2F0$+EaPk{yjO9hApzqITF6HU6t{fQ0&7M#=y=8L}3FNa47XXdV)`yxc zL&8q5D?({e@XzUmTA`$Kwv@zk#1KN!F+9auwAfvwfI9H+rB!-I1|K$-NVVqQ_)4<5 z-uE<^zDYUHJ<3puw%PFws@bd^jc;WMLuSXl?WI?(h{XnhT?sWo>w%uiP>#a%q#p=f zHG?ov3g&iu@_&m6@VexD0Gpz}5&fCd9k-RnFj^A|^T8EBK&dv@bgtUAzLu6{QX3H8R61{2s6;bEgQXErw?HE{Kj zM@J`Laste~BT%Ci^g3KRS#A@2d{kLxdcfrMs?Rou!So)MzP2y>oN(^gBOj}x7a&C= zJpwI)(SpU39Pns}Y8ru+bc~Cw3*_nzS3u*Krvp{dXjcvBe$3u`Ih}>0x}ACSN!{ql zB1#V`cBG5@pfs98iAvq2-68mD^wnF)i42!8c$lw~F%A@;AW6^^*DaQENbSjm_#xO< z_r-;q$S;Nj$)sK($wdSavntj_duWECkz8g#Tm*?w6@4=zjSG=6YB8(pTQ_2<3$Ohs zrH0zuI~|)rIKA5G`x-ybqS2QPzDV<{@15riLL+xM7#3sx38_s4p>*8Kpw;~4z1>i^ z<`a)jqxQPvcxyKG*6rgNFb5`HyOXo|EUb<`zQxp4a4wb{OVXk$jCrV$y>R98V0h5c zn1$KLuDafbd+?BACIF7k6V&|5w$HYBwddv7HNU10h>?-b1W>mYAuZAP#8;;J}JlfVuJ`LRqX&kei|g>gurSKqJjsux@|%O!8zkA~0`= z%ut3>J!3aji0Ov4f@TTgr5E@2<2UA)cztydPjRZHdLN9`#f)IHTxH zZxnYKOV!>GCA@bO5OnUh( zwZCvD;fgg^zD~*kLtaP{)=sd-i#&xU;_{vMN8sNpQsbZ!I@>=MDaVBd21?KugiD=P zw%#s7I!$jyJWz>j^ji6ELWoaF2+JZFLY0B}G@aDvlfRE>OjXR<33$;FnvO7}t9c6f z2p+j{p&qJ6sSCN&f(_d;buh8xwSZeRwWNy<_LgcYsLyZNhSpMt6gOoW(KJV>CRmFo zddro^HEh?-7m2Bx9JD11j^46v9)RaMz8gxYJyI^B+{%C!?fTu^Rxye#sN~g;|2JVRg~Eh7t5DEXgLaa0^qNqslCrU~i$_ zdzmSZro-B0&V+tD!?M)$Ek1#&0LP*Vu4~{~9obTeQ_qXST*aq&XLGpR*;mzd`<&Sd zKXFLED{aa1O~joXPAG!hzkb)Zm$VpQU1*}wnWip#yT_Pp#F%E*SVC76yXab}Suqx8 zB`aU4j*LlzSO6j1XNCY{$l@J$run8S!vaezr>i8Xry~UqpXpy17rL_DC&?Vsf&6%R z4l02M3FMKCDP~}_34u}LgNgkUKaso#2Nprj@2)5yjddaVob^`Vk}(PvsW~q)a29D3 zi&(pinxvwkx6MeJhI_Uieb3*#A|vm1hrqxUsiNLMVEvr8o?2oGueelVgP!*KI)1Lv98d5Rcxt@Z`NX#oU(a71 z&%r3CsB{*`=STT_*i}E%gwV8VR8~)N<=G;#85$b6&cZ)b&GVEWM+}1+4bxh`EJYhn z!6J(p&FPEN{ZkKa7};DZc7+Z9B!#~k+3AFxX9g@oSWtMP{B$MaSdNNu9C$GFC~<6r zM*IX#1FIWyW3zG@E`K`Yo^sUkpJ*Z<&Mipf0TG?3dxmqM@7U-2-qi1@@ra^6mX zR%X}*@L~$`$F^GrlH=0Mk^F|E3Qv#n2NrU>dEZqKY)dn^rB#5#=HdaqQA5Ua7kRy2 z&9@RTddF$sV8jAzgi(1r3s4nJ(GKjjUg@k1#6|b$E*=zE%yV5 z>ZzL5WcN#!Kmk4ysG9n7}P(d8aSSyk$B9*H_^5kVb0uV3_`Kvi`(pAV{6{5U{x?qeMR1t}+(ZwKKY{trq zb`sh<7j7*+p_LE21z6TvUSCctg#=u1)>?+~DL=G@crj4`ls)+xR93}b>X&h6gi_kW zoMa*Gg{Eo?1e3!%e4Y&U$Uk_+uDNt=zUJ?OeS)(*)4pqKUn=h|%hNZG?I@Fj8MA6X z>Q{Pr5)}_1R-sYh-3DTF%S&jWLr{(V6r6#L#;=xx2ql`bSN8LhEsMp$rEZF6DMLPw zeVPUYk6rA>uF}F$ce~}w!Jg~0qRH1o3vi!ArIFWeYiXfxM5cNRn1kgSO2!cc4kh0& zNx3IO%S9Si={YLMJA6*4W^z^i?tN$tv6)HOost|xzIRy%xO^a)V2!_bD8_{-^Vy+(s{ykv%<9BM= z+*8%MPIPbT9z8RJwBfCj+!Yn@p2dAOEOA=~H^%G(XETH>y`S)eCsan$+%u;s?aekU zmsM}0Tr0k|wPF{-(WH_sGHG-CxIPf^Hz}JxXVFI08U^;Z>t?k}Nr2Cw_HvB53T~+ zs2n&Ar1W?(K2FCNvfp@AQy?yhK0dQHqAE$%X?%FXrMLQz34cb2o4>y(!3%$Un8Ll+ zI4u~916-YZ^~{cV-A4BOY;|hRNgI*vA*>{4tsQSJFLuMfmOxt+R#+qjDE2~uOs8v& zUF!UuPB7t;SXv(RFu5zI)gA}Sf>2z9Rn*^p>mQ>LeSMq|;T&<#uR9!>S& zG5DDg}+1DXT9+4hD%Q0=LMEvfcLK2rZ z53`gUCHb+dpiK4n;thV-1>A1F0)_K9!viK(9rs%zEesv~X4a*h&c9|@e@T|NC|_q8IzoPQP3X%1idg6u$C;_)LL ze}kT@J}dmsF=z&yb2k6xIm%bx)|U;AXy(GDl~eiWm2CFPEpp`EB3H)q*>AE^Y{(tH z6X#ME?e{mu{yqDF04#l_Ky-E{ZcRd*m<%@_|T3@t<8Hz?lVdDFGKct+`- z+vR;b`qb&Vd{f+>N=5t(H69RHb15L$VC%_+(`GOld8YZiClD0yn8cZz>M82#)1MIS z6^D<7o96oc;kPc!nA)6krzUDG*AFd65%ZE5`1}W@F=2rjX_PMk;3PhZo#cCJ4Z;&6 zk7#K>x_C<)^}OD0s}nF}dm#uqmP}eD_nh&7OOBK87my0{I zUGW=HUv?#eup~P5D7Y&RMsuyi+t^EgG_d$#?qn|iatzlecQ5&1*l{kNVuKAXW=ZS) zt*6s`sWJan8p3UReX+ zV=N2u4!h!S|2Zmp-B}^&h7%16dIw@SC|G}I44{&&fq!SYaTe|gT|1_q%rE?1?Ar4 z&p)7%fdWyj`Q$d=1tCtFRc2u5>xvFS9jhhX>%6t-v9#omqINaC!(n7V$KCX~os*wB zBp-F1^dcF>l4!Ce2I=Vzd1{eK4(8eV?xIq9A6T?ndNSFge4A{DLt^Ptv8YIIN+C4% zj*ZWdhe@;bJ4|68V6#TXVVfn%uQ)MzWMVwA)K2#SE2e<&buBqWEFY~6^%b-4VMEnq zIv3ko@lvUot1hBZ^zs(ql4UrPMXRhqi-~7t!z&<&!{b3YeKUE1sa11`eP)_y(?1iC z>jWel#!OHL%MQ4swENidRVA=oiw72$|8(IEJ4w|2GQ8TY3l>vEcuMZrIG_`9V|8O~ zRu8b}K<=pU*A@%t21H!v4ts3W?a3k?fi4RI=PZ=!pbj|P# z_MzEU-Go_@f__A=2mt3&Hf{kdrnsXTh;^1Jx#|eP} zO2BKa-0b7wjQL&q3uT1r&o3c-&zPT~PwDn)u`Rdr8G-6^fBS|fm=?sKMTy(riG@wK zl6iS+x~}aSBhq#<8VFUSbpfVZ*<9pFS`N}QqTs}CG_}EbF{~a>cjcoIsUu zo&c>Q0W39HRJqX(AUNjM>d^KQ;9O%FM;SI?$C1de0RmE!S_C_E5K5Lcl~+|@KV}hX z&88t@Y*m_Hv{G%$%BZ9{WT(&TR^BHa=9Kk$LQU)qS&>5AH+y+NFF!Og{C+h7ZFv_U##7Rn_gX+Xh`ZpGkajr>YO(pOo6o)Tw|&SpwX8VM-d>`;;Gu zy}aD&10bxy{6*p)6^il*$k|i(_|({GCjRK_S!d4K+yHc)L=!^!sI?{f3IO~skovsZ z+fHjWoBk10Uc2v2Y&$8>4}_S~?Dr3Yy%6ac#j#`#)&7HG*p(YAk}WhD=X`yE7C$;Q zex*0nJaGmgx6ycYnxk(Tp~U#bcpM{vnO?|$gS5;C2|c}f1SsP!Zdu?c3aN^8qOLBN5pIo zg*;y%h+=RXJErsX9~nP9FuG@I--JP{uiCaK1cG|b8%oJ-GY$|2?G)O>?o7^&tX= zUmxow&URbxJUmW*5nJCS#tyM8%Y2MDqpbyl6p1_7-l+}w$=g_Ix>R^XjKkZjKbkQ2 zXl80Lt=z8K4&v(u&8l-bQwP>UIC#|jiEh|3LVM;g28(7}+n}c4(Hb;sFMS+XEERNV z?ooc;@R3|5qW(Y~aYX-l*s`*iMd{?;`nh&@$A>;d9+H2^_?*s+g@cf?t!SM>s8CNn z&>VL_Au5fJbiuA-j%JrFO4k zfk$?d<=9jKRRCk&4rv#skqLT%I)2G~MQTphi_IQX@dXTw`?8fli6{#DoftDe6ig|<@Uy*% zuq=siX^Qql$tQzlbxkD2OYme?5KNs50Ltm`H{ZlGrNkc*0022T0QKJ`GyoC=836WI zf&6^{AlLwi|EmE2br78Y(fS~i|M39@060ZNsJOo= z{&xk=$jroAAx@a{t@{95%@0yo9)X0 literal 0 HcmV?d00001 diff --git a/boards/st/nucleo_f072rb/doc/img/nucleo_f072rb_connectors.webp b/boards/st/nucleo_f072rb/doc/img/nucleo_f072rb_connectors.webp new file mode 100644 index 0000000000000000000000000000000000000000..db83da75dabf3b07048c78c5f08fb917ef91f44c GIT binary patch literal 50494 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%0Ab>kH@`_tX2!q%UkvgL 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 btK&;6hv&A9b(r_+fDdU}AwU2C00000DKi?N literal 0 HcmV?d00001 diff --git a/boards/st/nucleo_f072rb/doc/index.rst b/boards/st/nucleo_f072rb/doc/index.rst new file mode 100644 index 00000000000..154497de014 --- /dev/null +++ b/boards/st/nucleo_f072rb/doc/index.rst @@ -0,0 +1,181 @@ +.. zephyr:board:: nucleo_f072rb + +Overview +******** +The STM32 Nucleo-64 development board with STM32F072RB MCU, supports Arduino and ST morpho connectivity. + +The STM32 Nucleo board provides an affordable, and flexible way for users to try out new concepts, +and build prototypes with the STM32 microcontroller, choosing from the various +combinations of performance, power consumption, and features. + +The Arduino* Uno V3 connectivity support and the ST morpho headers allow easy functionality +expansion of the STM32 Nucleo open development platform with a wide choice of +specialized shields. + +The STM32 Nucleo board integrates the ST-LINK/V2-1 debugger and programmer. + +The STM32 Nucleo board comes with the STM32 comprehensive software HAL library together +with various packaged software examples. + +More information about the board can be found at the `Nucleo F072RB website`_. + +Hardware +******** +Nucleo F072RB provides the following hardware components: + +- STM32 microcontroller in QFP64 package +- Two types of extension resources: + + - Arduino* Uno V3 connectivity + - ST morpho extension pin headers for full access to all STM32 I/Os + +- On-board ST-LINK/V2-1 debugger/programmer with SWD connector: + + - Selection-mode switch to use the kit as a standalone ST-LINK/V2-1 + +- Flexible board power supply: + + - USB VBUS or external source (3.3V, 5V, 7 - 12V) + - Power management access point + +- Three LEDs: + + - USB communication (LD1), user LED (LD2), power LED (LD3) + +- Two push-buttons: USER and RESET +- USB re-enumeration capability. Three different interfaces supported on USB: + + - Virtual COM port + - Mass storage + - Debug port + +More information about STM32F072RB can be found in +the `STM32F072 reference manual`_ . + + +Supported Features +================== + +The Zephyr ``nucleo_f072rb`` board supports the following hardware features: + ++-----------+------------+-------------------------------------+ +| Interface | Controller | Driver/Component | ++===========+============+=====================================+ +| NVIC | on-chip | nested vector interrupt controller | ++-----------+------------+-------------------------------------+ +| UART | on-chip | serial port-polling; | +| | | serial port-interrupt | ++-----------+------------+-------------------------------------+ +| PINMUX | on-chip | pinmux | ++-----------+------------+-------------------------------------+ +| GPIO | on-chip | gpio | ++-----------+------------+-------------------------------------+ +| CLOCK | on-chip | reset and clock control | ++-----------+------------+-------------------------------------+ +| FLASH | on-chip | flash memory | ++-----------+------------+-------------------------------------+ +| WATCHDOG | on-chip | independent watchdog | ++-----------+------------+-------------------------------------+ +| I2C | on-chip | i2c controller | ++-----------+------------+-------------------------------------+ +| SPI | on-chip | SPI controller | ++-----------+------------+-------------------------------------+ +| RTC | on-chip | rtc | ++-----------+------------+-------------------------------------+ + +Other hardware features are not yet supported in this Zephyr port. + +The default configuration can be found in +:zephyr_file:`boards/st/nucleo_f072rb/nucleo_f072rb_defconfig` + +Connections and IOs +=================== + +Each of the GPIO pins can be configured by software as output (push-pull or open-drain), as +input (with or without pull-up or pull-down), or as peripheral alternate function. Most of the +GPIO pins are shared with digital or analog alternate functions. All GPIOs are high current +capable except for analog inputs. + +Board connectors: +----------------- +.. image:: img/nucleo_f072rb_connectors.webp + :align: center + :alt: Nucleo F072RB connectors + +Default Zephyr Peripheral Mapping: +---------------------------------- + +- UART_1 TX/RX : PA9/PA10 +- UART_2 TX/RX : PA2/PA3 (ST-Link Virtual COM Port) +- I2C1 SCL/SDA : PB8/PB9 (Arduino I2C) +- I2C2 SCL/SDA : PB10/PB11 +- SPI1 NSS/SCK/MISO/MOSI : PB6/PA5/PA6/PA7 (Arduino SPI) +- SPI2 SCK/MISO/MOSI : PB13/PB14/PB15 +- USER_PB : PC13 +- LD1 : PA5 + +For more details please refer to `STM32 Nucleo-64 board User Manual`_. + +Programming and Debugging +************************* + +Nucleo F072RB board includes an ST-LINK/V2-1 embedded debug tool interface. + +Applications for the ``nucleo_f072rb`` board configuration can be built and +flashed in the usual way (see :ref:`build_an_application` and +:ref:`application_run` for more details). + +Flashing +======== + +The board is configured to be flashed using west `STM32CubeProgrammer`_ runner, +so its :ref:`installation ` is required. + +Alternatively, OpenOCD or JLink can also be used to flash the board using +the ``--runner`` (or ``-r``) option: + +.. code-block:: console + + $ west flash --runner openocd + $ west flash --runner jlink + +Flashing an application to Nucleo F072RB +---------------------------------------- + +Here is an example for the :zephyr:code-sample:`blinky` application. + +.. zephyr-app-commands:: + :zephyr-app: samples/basic/blinky + :board: nucleo_f072rb + :goals: build flash + +You will see the LED blinking every second. + +Debugging +========= + +You can debug an application in the usual way. Here is an example for the +:zephyr:code-sample:`hello_world` application. + +.. zephyr-app-commands:: + :zephyr-app: samples/hello_world + :board: nucleo_f072rb + :maybe-skip-config: + :goals: debug + +References +********** + +.. target-notes:: + +.. _Nucleo F072RB website: + https://www.st.com/en/evaluation-tools/nucleo-f072rb.html + +.. _STM32F072 reference manual: + https://www.st.com/resource/en/reference_manual/dm00031936.pdf + +.. _STM32 Nucleo-64 board User Manual: + https://www.st.com/resource/en/user_manual/dm00105823.pdf + +.. _STM32CubeProgrammer: + https://www.st.com/en/development-tools/stm32cubeprog.html diff --git a/boards/st/nucleo_f072rb/nucleo_f072rb.dts b/boards/st/nucleo_f072rb/nucleo_f072rb.dts new file mode 100644 index 00000000000..207639f73b1 --- /dev/null +++ b/boards/st/nucleo_f072rb/nucleo_f072rb.dts @@ -0,0 +1,140 @@ +/* + * Copyright (c) 2025 Alex Fabre + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; +#include +#include +#include "arduino_r3_connector.dtsi" +#include "st_morpho_connector.dtsi" +#include + +/ { + model = "STMicroelectronics NUCLEO-F072RB board"; + compatible = "st,stm32f072rb-nucleo"; + + chosen { + zephyr,console = &usart2; + zephyr,shell-uart = &usart2; + zephyr,sram = &sram0; + zephyr,flash = &flash0; + }; + + leds: leds { + compatible = "gpio-leds"; + green_led_2: led_2 { + gpios = <&gpioa 5 GPIO_ACTIVE_HIGH>; + label = "User LD2"; + }; + }; + + gpio_keys { + compatible = "gpio-keys"; + user_button: button { + label = "User"; + gpios = <&gpioc 13 GPIO_ACTIVE_LOW>; + zephyr,code = ; + }; + }; + + aliases { + led0 = &green_led_2; + sw0 = &user_button; + watchdog0 = &iwdg; + die-temp0 = &die_temp; + volt-sensor0 = &vref; + }; +}; + +&clk_lse { + status = "okay"; +}; + +&clk_hse { + hse-bypass; + clock-frequency = ; /* STLink 8MHz clock */ + status = "okay"; +}; + +&pll { + clocks = <&clk_hse>; + prediv = <1>; + mul = <6>; + status = "okay"; +}; + +&rcc { + clocks = <&pll>; + clock-frequency = ; + ahb-prescaler = <1>; + apb1-prescaler = <2>; +}; + +&usart1 { + pinctrl-0 = <&usart1_tx_pa9 &usart1_rx_pa10>; + pinctrl-names = "default"; + current-speed = <115200>; + status = "okay"; +}; + +&usart2 { + pinctrl-0 = <&usart2_tx_pa2 &usart2_rx_pa3>; + pinctrl-names = "default"; + current-speed = <115200>; + status = "okay"; +}; + +&i2c1 { + pinctrl-0 = <&i2c1_scl_pb8 &i2c1_sda_pb9>; + pinctrl-names = "default"; + status = "okay"; + clock-frequency = ; +}; + +&i2c2 { + pinctrl-0 = <&i2c2_scl_pb10 &i2c2_sda_pb11>; + pinctrl-names = "default"; + status = "okay"; + clock-frequency = ; +}; + +&spi1 { + pinctrl-0 = <&spi1_sck_pa5 &spi1_miso_pa6 &spi1_mosi_pa7>; + pinctrl-names = "default"; + cs-gpios = <&gpiob 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; + status = "okay"; +}; + +&spi2 { + pinctrl-0 = <&spi2_sck_pb13 &spi2_miso_pb14 &spi2_mosi_pb15>; + pinctrl-names = "default"; + status = "okay"; +}; + +&iwdg { + status = "okay"; +}; + +&adc1 { + pinctrl-0 = <&adc_in0_pa0>; + pinctrl-names = "default"; + st,adc-clock-source = "SYNC"; + st,adc-prescaler = <4>; + status = "okay"; +}; + +&rtc { + clocks = <&rcc STM32_CLOCK_BUS_APB1 0x10000000>, + <&rcc STM32_SRC_LSE RTC_SEL(1)>; + status = "okay"; +}; + +&die_temp { + status = "okay"; +}; + +&vref { + status = "okay"; +}; diff --git a/boards/st/nucleo_f072rb/nucleo_f072rb.yaml b/boards/st/nucleo_f072rb/nucleo_f072rb.yaml new file mode 100644 index 00000000000..ddebe84fcab --- /dev/null +++ b/boards/st/nucleo_f072rb/nucleo_f072rb.yaml @@ -0,0 +1,25 @@ +identifier: nucleo_f070rb +name: ST Nucleo F072RB +type: mcu +arch: arm +ram: 16 +flash: 128 +toolchain: + - zephyr + - gnuarmemb + - xtools +supported: + - adc + - arduino_gpio + - arduino_i2c + - arduino_spi + - gpio + - i2c + - spi + - watchdog + - rtc +testing: + ignore_tags: + - net + - bluetooth +vendor: st diff --git a/boards/st/nucleo_f072rb/nucleo_f072rb_defconfig b/boards/st/nucleo_f072rb/nucleo_f072rb_defconfig new file mode 100644 index 00000000000..c60dfffbc3b --- /dev/null +++ b/boards/st/nucleo_f072rb/nucleo_f072rb_defconfig @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: Apache-2.0 + +# Serial Drivers +CONFIG_SERIAL=y +CONFIG_UART_INTERRUPT_DRIVEN=y + +# Enable console +CONFIG_CONSOLE=y +CONFIG_UART_CONSOLE=y + +# GPIO Controller +CONFIG_GPIO=y diff --git a/boards/st/nucleo_f072rb/st_morpho_connector.dtsi b/boards/st/nucleo_f072rb/st_morpho_connector.dtsi new file mode 100644 index 00000000000..397f3192dac --- /dev/null +++ b/boards/st/nucleo_f072rb/st_morpho_connector.dtsi @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2024 Alex Fabre + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include + +/ { + st_morpho_header: st-morpho-header { + compatible = "st-morpho-header"; + #gpio-cells = <2>; + gpio-map-mask = ; + gpio-map-pass-thru = <0x0 GPIO_DT_FLAGS_MASK>; + gpio-map = , + , + , + , + , + , + , + , + , + , + , + , /* SB49=ON */ + , /* SB48=ON */ + , + , /* SB55=ON */ + , + , /* SB54=ON */ + , + , + , + , /* SB56=ON, SB46=OFF */ + , + , /* SB51=ON, SB52=OFF */ + , + , + , + , + , + , + , + , /* SB42=ON, SB29=OFF */ + , + , /* SB41=ON, SB24=OFF */ + , + , /* SB40=ON, SB20=OFF */ + , + , + , + , + , + , + , + , + , + , /* SB25=ON, SB36=OFF */ + , + , /* SB28=ON, SB39=OFF */ + , + , /* SB35=ON, SB44=OFF */ + , + , + , + , + , + , + ; + }; +}; diff --git a/boards/st/nucleo_f072rb/support/openocd.cfg b/boards/st/nucleo_f072rb/support/openocd.cfg new file mode 100644 index 00000000000..f0d0b22a310 --- /dev/null +++ b/boards/st/nucleo_f072rb/support/openocd.cfg @@ -0,0 +1,12 @@ +source [find board/st_nucleo_f0.cfg] + +$_TARGETNAME configure -event gdb-attach { + echo "Debugger attaching: halting execution" + reset halt + gdb_breakpoint_override hard +} + +$_TARGETNAME configure -event gdb-detach { + echo "Debugger detaching: resuming execution" + resume +}