From 6575b55bc08d4040c80730ba0fbc385ee151c48d Mon Sep 17 00:00:00 2001 From: Hao Luo Date: Mon, 17 Feb 2025 15:37:41 +0800 Subject: [PATCH] boards: Add support for the Ambiq Apollo510 EVB board This commit adds support for the Ambiq Apollo510 Evaluation Board. Signed-off-by: Hao Luo --- boards/ambiq/apollo510_evb/CMakeLists.txt | 4 + boards/ambiq/apollo510_evb/Kconfig | 6 + .../ambiq/apollo510_evb/Kconfig.apollo510_evb | 6 + boards/ambiq/apollo510_evb/Kconfig.defconfig | 15 ++ .../apollo510_evb/apollo510_evb-pinctrl.dtsi | 24 ++++ boards/ambiq/apollo510_evb/apollo510_evb.dts | 128 ++++++++++++++++++ boards/ambiq/apollo510_evb/apollo510_evb.yaml | 19 +++ .../apollo510_evb/apollo510_evb_defconfig | 13 ++ boards/ambiq/apollo510_evb/board.c | 57 ++++++++ boards/ambiq/apollo510_evb/board.cmake | 6 + boards/ambiq/apollo510_evb/board.yml | 6 + .../doc/apollo510-soc-eval-board.jpg | Bin 0 -> 68540 bytes boards/ambiq/apollo510_evb/doc/index.rst | 75 ++++++++++ 13 files changed, 359 insertions(+) create mode 100644 boards/ambiq/apollo510_evb/CMakeLists.txt create mode 100644 boards/ambiq/apollo510_evb/Kconfig create mode 100644 boards/ambiq/apollo510_evb/Kconfig.apollo510_evb create mode 100644 boards/ambiq/apollo510_evb/Kconfig.defconfig create mode 100644 boards/ambiq/apollo510_evb/apollo510_evb-pinctrl.dtsi create mode 100644 boards/ambiq/apollo510_evb/apollo510_evb.dts create mode 100644 boards/ambiq/apollo510_evb/apollo510_evb.yaml create mode 100644 boards/ambiq/apollo510_evb/apollo510_evb_defconfig create mode 100644 boards/ambiq/apollo510_evb/board.c create mode 100644 boards/ambiq/apollo510_evb/board.cmake create mode 100644 boards/ambiq/apollo510_evb/board.yml create mode 100644 boards/ambiq/apollo510_evb/doc/apollo510-soc-eval-board.jpg create mode 100644 boards/ambiq/apollo510_evb/doc/index.rst diff --git a/boards/ambiq/apollo510_evb/CMakeLists.txt b/boards/ambiq/apollo510_evb/CMakeLists.txt new file mode 100644 index 00000000000..218a0602483 --- /dev/null +++ b/boards/ambiq/apollo510_evb/CMakeLists.txt @@ -0,0 +1,4 @@ +# SPDX-License-Identifier: Apache-2.0 + +zephyr_library() +zephyr_library_sources(board.c) diff --git a/boards/ambiq/apollo510_evb/Kconfig b/boards/ambiq/apollo510_evb/Kconfig new file mode 100644 index 00000000000..6929d894103 --- /dev/null +++ b/boards/ambiq/apollo510_evb/Kconfig @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Copyright (c) 2025 Ambiq Micro Inc. + +config BOARD_APOLLO510_EVB + select BOARD_EARLY_INIT_HOOK diff --git a/boards/ambiq/apollo510_evb/Kconfig.apollo510_evb b/boards/ambiq/apollo510_evb/Kconfig.apollo510_evb new file mode 100644 index 00000000000..38315f5fd69 --- /dev/null +++ b/boards/ambiq/apollo510_evb/Kconfig.apollo510_evb @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Copyright (c) 2025 Ambiq Micro Inc. + +config BOARD_APOLLO510_EVB + select SOC_APOLLO510 diff --git a/boards/ambiq/apollo510_evb/Kconfig.defconfig b/boards/ambiq/apollo510_evb/Kconfig.defconfig new file mode 100644 index 00000000000..9f9c9b2a196 --- /dev/null +++ b/boards/ambiq/apollo510_evb/Kconfig.defconfig @@ -0,0 +1,15 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Copyright (c) 2025 Ambiq Micro Inc. + +if BOARD_APOLLO510_EVB + +config SYS_CLOCK_HW_CYCLES_PER_SEC + default 32768 if AMBIQ_STIMER_TIMER + default 96000000 if CORTEX_M_SYSTICK + +config LOG_BACKEND_SWO_FREQ_HZ + default 1000000 + depends on LOG_BACKEND_SWO + +endif # BOARD_APOLLO510_EVB diff --git a/boards/ambiq/apollo510_evb/apollo510_evb-pinctrl.dtsi b/boards/ambiq/apollo510_evb/apollo510_evb-pinctrl.dtsi new file mode 100644 index 00000000000..3f173b61a03 --- /dev/null +++ b/boards/ambiq/apollo510_evb/apollo510_evb-pinctrl.dtsi @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2025 Ambiq Micro Inc. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include + +&pinctrl { + uart0_default: uart0_default { + group1 { + pinmux = ; + }; + group2 { + pinmux = ; + input-enable; + }; + }; + swo_default: swo_default { + group0 { + pinmux = ; + }; + }; +}; diff --git a/boards/ambiq/apollo510_evb/apollo510_evb.dts b/boards/ambiq/apollo510_evb/apollo510_evb.dts new file mode 100644 index 00000000000..2303e43e125 --- /dev/null +++ b/boards/ambiq/apollo510_evb/apollo510_evb.dts @@ -0,0 +1,128 @@ +/dts-v1/; +#include +#include "apollo510_evb-pinctrl.dtsi" +#include + +/ { + model = "Ambiq Apollo510 evaluation board"; + compatible = "ambiq,apollo510_evb"; + + chosen { + zephyr,itcm = &itcm; + zephyr,dtcm = &dtcm; + zephyr,sram = &sram0; + zephyr,flash = &flash0; + zephyr,console = &uart0; + zephyr,shell-uart = &uart0; + zephyr,uart-pipe = &uart0; + ambiq,xo32m = &xo32m_xtal; + ambiq,xo32k = &xo32k_xtal; + ambiq,extrefclk = &extrefclk; + }; + + aliases { + watchdog0 = &wdt0; + led0 = &led0; + led1 = &led1; + led2 = &led2; + sw0 = &button0; + sw1 = &button1; + }; + + sram0: memory@SSRAM_BASE_NAME { + compatible = "mmio-sram"; + reg = ; + }; + + sram_no_cache: memory@20280000 { + compatible = "zephyr,memory-region", "mmio-sram"; + reg = <0x20280000 0x100000>; + zephyr,memory-region = "SRAM_NO_CACHE"; + zephyr,memory-attr = <( DT_MEM_ARM(ATTR_MPU_RAM_NOCACHE) )>; + }; + + leds { + compatible = "gpio-leds"; + led0: led_0 { + gpios = <&gpio160_191 5 GPIO_ACTIVE_LOW>; + label = "LED 0"; + }; + led1: led_1 { + gpios = <&gpio64_95 25 GPIO_ACTIVE_LOW>; + label = "LED 1"; + }; + led2: led_2 { + gpios = <&gpio64_95 28 GPIO_ACTIVE_LOW>; + label = "LED 2"; + }; + }; + + buttons { + compatible = "gpio-keys"; + polling-mode; + button0: button_0 { + gpios = <&gpio64_95 29 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; + label = "BTN0"; + zephyr,code = ; + status = "okay"; + }; + button1: button_1 { + gpios = <&gpio64_95 30 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; + label = "BTN1"; + zephyr,code = ; + status = "okay"; + }; + }; +}; + +&xo32m_xtal { + clock-frequency = ; +}; + +&itm { + pinctrl-0 = <&swo_default>; + pinctrl-names = "default"; +}; + +&uart0 { + current-speed = <115200>; + pinctrl-0 = <&uart0_default>; + pinctrl-names = "default"; + status = "okay"; +}; + +&stimer0 { + clk-source = <3>; +}; + +&wdt0 { + status = "okay"; +}; + +&gpio0_31 { + status = "okay"; +}; + +&gpio32_63 { + status = "okay"; +}; + +&gpio64_95 { + status = "okay"; +}; + +&gpio96_127 { + status = "okay"; +}; + +&gpio128_159 { + status = "okay"; +}; + +&gpio160_191 { + status = "okay"; +}; + +&gpio192_223 { + status = "okay"; +}; diff --git a/boards/ambiq/apollo510_evb/apollo510_evb.yaml b/boards/ambiq/apollo510_evb/apollo510_evb.yaml new file mode 100644 index 00000000000..704c2c00208 --- /dev/null +++ b/boards/ambiq/apollo510_evb/apollo510_evb.yaml @@ -0,0 +1,19 @@ +identifier: apollo510_evb +name: Apollo510 EVB +type: mcu +arch: arm +ram: 3072 +flash: 4096 +toolchain: + - zephyr + - gnuarmemb +supported: + - uart + - watchdog + - gpio + - clock_control +testing: + ignore_tags: + - net + - bluetooth +vendor: ambiq diff --git a/boards/ambiq/apollo510_evb/apollo510_evb_defconfig b/boards/ambiq/apollo510_evb/apollo510_evb_defconfig new file mode 100644 index 00000000000..de397a65fbd --- /dev/null +++ b/boards/ambiq/apollo510_evb/apollo510_evb_defconfig @@ -0,0 +1,13 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Copyright (c) 2025 Ambiq Micro Inc. + +CONFIG_CONSOLE=y +CONFIG_UART_CONSOLE=y +CONFIG_SERIAL=y +CONFIG_UART_INTERRUPT_DRIVEN=y +CONFIG_HW_STACK_PROTECTION=y +CONFIG_ARM_MPU=y +CONFIG_PM=y +CONFIG_PM_DEVICE=y +CONFIG_PM_DEVICE_RUNTIME=y diff --git a/boards/ambiq/apollo510_evb/board.c b/boards/ambiq/apollo510_evb/board.c new file mode 100644 index 00000000000..b3cc847698c --- /dev/null +++ b/boards/ambiq/apollo510_evb/board.c @@ -0,0 +1,57 @@ +/* + * Copyright 2025 Ambiq Micro Inc. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include +#include + +#if DT_HAS_CHOSEN(ambiq_xo32m) +#define XTAL_HS_FREQ DT_PROP(DT_CHOSEN(ambiq_xo32m), clock_frequency) +#if DT_SAME_NODE(DT_CHOSEN(ambiq_xo32m), DT_NODELABEL(xo32m_xtal)) +#define XTAL_HS_MODE AM_HAL_CLKMGR_XTAL_HS_MODE_XTAL +#elif DT_SAME_NODE(DT_CHOSEN(ambiq_xo32m), DT_NODELABEL(xo32m_ext)) +#define XTAL_HS_MODE AM_HAL_CLKMGR_XTAL_HS_MODE_EXT +#endif +#else +#define XTAL_HS_FREQ 0 +#define XTAL_HS_MODE AM_HAL_CLKMGR_XTAL_HS_MODE_XTAL +#endif + +#if DT_HAS_CHOSEN(ambiq_xo32k) +#define XTAL_LS_FREQ DT_PROP(DT_CHOSEN(ambiq_xo32k), clock_frequency) +#if DT_SAME_NODE(DT_CHOSEN(ambiq_xo32k), DT_NODELABEL(xo32k_xtal)) +#define XTAL_LS_MODE AM_HAL_CLKMGR_XTAL_LS_MODE_XTAL +#elif DT_SAME_NODE(DT_CHOSEN(ambiq_xo32k), DT_NODELABEL(xo32k_ext)) +#define XTAL_LS_MODE AM_HAL_CLKMGR_XTAL_LS_MODE_EXT +#endif +#else +#define XTAL_LS_FREQ 0 +#define XTAL_LS_MODE AM_HAL_CLKMGR_XTAL_LS_MODE_XTAL +#endif + +#if DT_HAS_CHOSEN(ambiq_extrefclk) +#define EXTREFCLK_FREQ DT_PROP(DT_CHOSEN(ambiq_extrefclk), clock_frequency) +#else +#define EXTREFCLK_FREQ 0 +#endif + +void board_early_init_hook(void) +{ + /* Set board related info into clock manager */ + am_hal_clkmgr_board_info_t sClkmgrBoardInfo = {.sXtalHs.eXtalHsMode = XTAL_HS_MODE, + .sXtalHs.ui32XtalHsFreq = XTAL_HS_FREQ, + .sXtalLs.eXtalLsMode = XTAL_LS_MODE, + .sXtalLs.ui32XtalLsFreq = XTAL_LS_FREQ, + .ui32ExtRefClkFreq = EXTREFCLK_FREQ}; + am_hal_clkmgr_board_info_set(&sClkmgrBoardInfo); + + /* Default HFRC and HFRC2 to Free Running clocks */ + am_hal_clkmgr_clock_config(AM_HAL_CLKMGR_CLK_ID_HFRC, + AM_HAL_CLKMGR_HFRC_FREQ_FREE_RUN_APPROX_48MHZ, NULL); + am_hal_clkmgr_clock_config(AM_HAL_CLKMGR_CLK_ID_HFRC2, + AM_HAL_CLKMGR_HFRC2_FREQ_FREE_RUN_APPROX_250MHZ, NULL); + +} diff --git a/boards/ambiq/apollo510_evb/board.cmake b/boards/ambiq/apollo510_evb/board.cmake new file mode 100644 index 00000000000..f4ec9988f02 --- /dev/null +++ b/boards/ambiq/apollo510_evb/board.cmake @@ -0,0 +1,6 @@ +# Copyright (c) 2025 Ambiq Micro Inc. +# SPDX-License-Identifier: Apache-2.0 + +board_runner_args(jlink "--device=AP510NFA-CBR" "--iface=swd" "--speed=1000") + +include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) diff --git a/boards/ambiq/apollo510_evb/board.yml b/boards/ambiq/apollo510_evb/board.yml new file mode 100644 index 00000000000..b42efb3b452 --- /dev/null +++ b/boards/ambiq/apollo510_evb/board.yml @@ -0,0 +1,6 @@ +board: + name: apollo510_evb + full_name: Apollo510 SOC Evaluation Board + vendor: ambiq + socs: + - name: apollo510 diff --git a/boards/ambiq/apollo510_evb/doc/apollo510-soc-eval-board.jpg b/boards/ambiq/apollo510_evb/doc/apollo510-soc-eval-board.jpg new file mode 100644 index 0000000000000000000000000000000000000000..906b08bae267970163cc5d1fbd112df55f339ec0 GIT binary patch literal 68540 zcmbTdWmH^E6fM{U4I11U3ylPK_XKwcZVB%08X!Qh#@&OvyKCd_?ha|(;qkqB>&;p- zf9B1-tNz?N_tx2~>Qt?B_P%e6Z<~NmG7{1f02mk;z>oJE@U{Z@3P6B^M}UVzK!8U; zL_|PB{)CMD@gp)0ItJ<|d>jG-d>lMHA`&VxB4SD)9v(RZIVCmC7rHNmWQ;6~v@BG# zUuggP2n-@3A~F&(HZn3cEfF3O?f>!h)&;;sf=T+I2@CTX@BtGB78B;J4?qS0z`(zI z`=7)A>w@_J`|d9y(nn;JcZ2#*fDbURupi)H;o;%n-mQJ!`vGv6@K_YAq6pZ^KM_AW z;IR3}Ork@4^e2#KhuX=uODad2{R^YHS0{U$CUDJ3nV`dv+3 zLsLuJ$k@cx%-q7#$=Su#&E3N@@OMyf$e+-#*tqzF#H8eu)W5lT`2~eV#U(Yhb@dI6 zP0cMmy?y-ykinth>6zKN`Gv)$<*n_V-M#&T!=vMi%d6{~+q?UR$NzA_0AT+wSpOT@ z{{t81JFX9KaIkQQ|KWo9;P&2NG2!4TSP`&9l@WhBV1H)wN5T<{$*J!CNXf1O#Wi%C zLdFAeY*AhO2kn0%`~Ly4N7(c?0Bd_hsGFXT1SJv(Z(;{$EycuecMDZ-7IE3z}EtgEzpo zIc&n;mN@9uKyGE=v*a5fVCW5SpK5XMv%|X3BSi5A=(gT?mIpZDXvlfP>|ieR_>%vx zXBLNkAKP5YJ>CFD(6wECg|!WvFJ|cn#NOMjEx@yJo^du>+;O6?>s~1PHo?hXoj1Vd z^voLoJWb}m@kvq-Z{-bukeK!C8Xh#YAFq*@6(A%;;_RjPOtka{xLCHh|FSdLMe=!p z=JoIYv)rr6b-hqK2xUcr)f*sCR`Hcz=8$)1^=g>D zQy59WlJCg1^Pau_KeHKV+<;L<%713`2Cuy0lkIt4>A1K@k7V7#*p~W!E4J72lp`yR zXN}!$s|WnvF*I_h2P6{gjK(e(iof3gQ0kpGK*W?Y=`_jIPP|4{)~}YXlkKdJ z@5sakG1A9rK|NR)PK} zuLUV@0AzN}LD)WD!XX~mv8H!FIh@FEt6q&gsBljZH+`#w_kTh+US9ua&-^`AY1Biq zH<#a8{rhNyxhaSZh0lYRsq`z(cK-7!%e7XS9CfwL>tYZy<2zbaSh!jaW8gt#VfH~f zO30>NNNv=;qA3Upm}+?g?0V{sG_|)2?@I)#1?WgxHJD(-|QXAv$xQqMdP9@jqO zLANu#y{LsxKMCKz00#{;^PdNy%k(S6n+GBIuV&5cZ-5{9?=IgEdy_#A1>BFKUV0YZ z08vxpfhRbf$rqmVONu?r7*P+I1aE*-AM2zchd|AGH1{4Arha2D-%5oY8qcyAIIzJc{VMY_Vz zhG1jG`C>N#A5HR!4nX>;lFYybcjo=TX!j4>lBDrX#JakhZ}_NCU1 zKz*WVZ|QCRfA>-X2Q$|zc(bGgX?9sPQVS!d$2k9Z=>s8fEPfD)nP zt7JfY-M67-CWsw_Fv?`Z2EsQ{0n^8;sONBX24@4n#z48*rj+r>pCrD>;UuF)SeBt( z=L)}GQldElDe5GJ;I*94fLg^bqFL4-6z#^_vlO6-8HI}k){Ketab(Qcz)KJw`K0pt_c%iU1o`!X#naW^!^h$BmPA5S(#ZGstM+iGzW8b_HO#^Dn$6L?7as8Y0>gV7w>~N1>xUmL)dh2?e;fIP;Cs?|*J`$byXr2y#nVy`zUpI_#k**>G3@%m zZ)f$7s07-IGwDHYaG8Ji>V$Nd?VU#vj5UIAdJjxEKp~6b1isX^L#?C*$y1On)Q69Ip zRl^k1Du-Fs&lkT0r>$Bdo=`{XnJZ@OfPSSY{)C0-s~r+-0e9|RvU}?HZFKufNdF_h z5h)t96Zi%gBwh47P3X;R|I#k+satf}QLXX@z~(o-Fpc$e7w*|>R?c^Y zMg@05)$HB?eQJW-J(V6-2Pkt93|0*O@u&#uKLbW#wiFyCcjQ{3oAm+n60Pc2-Q<8a z)J~!K3_I7d&Va@AI{vl&-PPE55mdHP^<0 zjl-IEz@aIC9irb}(mnUAfN%U5G(1+HT%}^Di(19pDuCXEIBV>r+mW*k!c!!vYGfaE zOQFDWVFD(udsvr%(~&cUv9#G4V#HDDu*A*P$Q+pOs@%?a2?;3+*b2@2iYTolZd*AS z>o>4uQ7_ll^}a>d<}w(0?TIpW|6l4Ds6yhlhnpc4c8>VpH@+3A7cSuLG!su6ZZD(g==R>87qL+CojVhq^) zHfxs$z)u>h=SnctiB|1;g)4Sm)VQNgp{&VBDiDw{=C3v37WcAb7Z0=Mo?aI7mC;5P z$$bt2k#uIlE!Fg0T!j2AwakHoQB1j-A&OMfRN*fLR5CA9cM>Sh=Y3DG2`GtN&Fu_) zLjmg2w%fE~rK76o{b~Vcz+#G|=H1P^&nWE0ZLFN53-I~Q5%4Y|Wye|)Qv9I+AbJY$ zN@=XjGG?Xi>T59%fUbV5N-g5K>ER-A@6+v&l8-Y;EJy(Od58VYn5v=H=-u+<|JBVq-w67p#FPs&+?%ROH4O{_wJX>bVm>C02aqp z^!a+L7wzSBf=WiaGu@^bP;1Dr>B=t_7WOHp^q0Bo!Xe@i21YM@Y{k~p4foW2o(NM> z`)SzAE$|NMs((FUvmoniGzOJRktNq1)>py4a0YATBtaw|&N+|A9j*L_X&3cc&5x=e z@v}J$UQ`VV7EiN6!hZWZhUwu;nf{DW21ON%0ovg@!`K>XzWje)p~8H^brlmjp??2z zziR~qD3Ys=a|K`^R3=g*HF2U;KHMk0K5=aMI66E%`2DN>{;NCJ6^M!*7XhB-$>Th< zW|>u4RM1z2g?Z|WbBwr#3+%oXm_G=}%iPx)taWQD5zau3C}3evk1p>X+#%!vnC0_b zA}S)4j#xuQeunlwOcj~(bkkN2QqoY#8s7k%zV>{oUtOTLjOMTC0h#`eKN(me6rIow z9GF_%uARzl;Al2Z2wTqI&05jGAU%v$7_H7&RBrVTVE4Zsv$-EQm$oSjS*FO)Y)i|g zG0aMEji?sH;pP$Mk{aS1-x$GJ2c?3fa@HJ0BB_;1lb&*F!GccUn<@A8?|AdR&LbJ) z8r(4>1NcuBi@VsdUQep>x|SFThfLx0LtEj4V}n2BA`F>ODsW{I^qWrN4h2i1erHO~ z8He9N#)6{jL=r`tfKkat1;W4|`^_1jPuGVWm2dz46boJhw>!*m=KW%F^o8zc#LS@b zTX31*mq^&?@7SdRkei+9Ajk+(p!9UJxb^xraqH?s^$7yS_=2lj@z78@hpPw#ptJ5{ z+;p=dWXfi3(^E`&nJ>!DqqnH$&EHBPjs~TdRiizW46Pn_*3%Z42?(#Hld!* zoc?HY?H%o~{VvvUZpi8qjC&E>y8h|DgvGK>e091uBgM@-us{?GJL~8&Wy&9YPu)~C z_HL|{C*Z=cJ!zVD=gco{4T&f`n{$lJuGC%XrmjjX00w0V79N1-9cY1_p^5@9oI(Q& zoS7cL{i5)Mv~*Ljdl5ICA0v}a+J59+_REoVBhypaix7`P7IDrcoF3k>VA~|3@lI4A ztIM>$O|}#zEvj0pGNwQ~HWA7UBY789N}6|*yETQflR;MaI4yiJU*?gBH%nq$VN@UD zu*Q+H+^MV7$jI!bkn1Qlp)Drpq)!2ZqP6jx^kFlrRE z%4)s9UvgeSS*iaHK6CubIYEy42H+#&(A26mv*YMZceErSy7_lDI)OKs{2?fq_~d@> zNDWTcxWn_H0r3rBa8=A&EI;F2ruTVz`~2<&C??Dc4Ql->l%s8oMfl@kBY@Y=CkSbLh8Be9Cw}HY=oH@(S}JxB>l4z zVzKpfMtgKS?NcJM?@H(bQS5UHTyeN5>qjmAR~@B21BXd@wk%*^rAxB9$qo?aZrDMt&3dIizOVlSqm$-WjU1kBAM*WgBu&}bMBobH%GidU`}MRHrIdF_lZ?Q z^K6@9$&H=~8SFlB^iOx7`J!NBD3*j$-WB!F$0nQ5W);p=WxmUhfW?Ovvs9)rO7RiZ zruz&IqL8kvPvK3usplhutV5p>%rBgfOTP%BFM)KyuIbK|aaOCoq|e_j;O-vF&Wgsc zzM4-XZGNUApnPig11_j;35Untrzy$PXx8&pBnkY9>-FAtU)diVX4|~Xe#I&C#Q8g` zVm4Z*4vDB+kR1K> zu`dlV`Cv680>Y>SYa64Pe8)$>fw2!es=-svYg)#cCV$u^(nM(hS*d@aZ-AhB#o&dz z<%KYHs%k5mNbR-o*a4}oP5)#1ehwY^)c*2$$t1K<@kKwRb>1=$>{icI(IqM?vajCX zTA?m;uSq7`yK@37)T^XZ2?$Fc1*LDb2|>SV06 zrHR%^n$&9C)@!(#$A!=>u_M)t^Fg9H!ppIJw<==#4WiK8>0{Qic*|Eqt}%*bVlroq z2ydozceicM`6RE;_%^rVv(NdxA6T8lJ_q6!D6ie={pY#fyt%YNkR}`-GwUe z*0ppii`4S?S7)~c1QExt)h2dD6~X)SBv#^y^Or1!Eq`*0&tg_qNwZ|8JDR~3er|*Z zE4W`(XBn>}nf4#|0#;TejP1P916MPJi6EbH-HW^>zw0=7uaJS(DH>W6KMFnDD(%by zH5@wtjdoav%Tn{1if6>GO;_qG@c=A<-fAGYzLz-MDuwy{1|>1f`r*%C!QoS#3<#z9 zK?TNi-R{L+kN&-zs?Gv;!xRG@DgaJ5`omSog8~N1i`8*+$`uYvXyF%1@u2>U+4=dF z^cjeSK=ik*6og580@RBv8Ip65Qq34BEJ72}aZzxBGi~cBZ`N!UImI~AR+GLFb^RbN z@IG}u&Qfl02M*o7x7-rk)GewRX8yeUeU%Hgm9T4Eup^=PXZFz@zBXFvaida04nvII zw>ImZJ+8R!wRETT8nalAC~}gef1272P2_V!Ud4>Ir){O-z-+ox9PC&{L@*EelS-1k z^N!%uA!YZY+yW_EXuVFO53a0Erm(wfy4_Ck5B#vv3!0$oHSTUtylNB9**F7?jgL~a zNJRUUa`kes!ROlrF7?_Xk({j?i4G*|whLM6c5!-a;!!bLbkOax?}A zHsY6$aNoSm*=b{vs_rU_MZV#w*e^DpkPjsS8I~o}k+M#trev5J=*tCnR0L`OXWaHp z2j*ugKIf_BAqODazi1F66OJ2Qb}WLV<$?3d*V81Z+;LfTlVMq_Kg8PD>?&{mS<%m~ zw4?B^?udosFu?tzSYXQy56~H?ns8=p6V&@8lYV7Z`fM-2&W9v-(hek)*SUQzs zsn%Vk)gSN%KruSB%ARVI%(K`)2gj7l-paO?v#B*`on;7g?=?&lL^!UYTkQumyEULo z5Qd$TT&eikSZXY^x}cPXCq#<%m_>K=ll8DqdZ{b$fjm2g1*Wr{mOIcbFDx`3+h-3q zjDta5q3WMswb38~=)AC(oEaA=eW@lJeO&X`#nV=>oNdEfQsZ-S5u~Dn0vb^rxjvRr zxbasKu_QGmyvpPg60k*&v(pMX)1X`-s!!Z zL@w2;+z+Bhv)5yq_tHDWBDAZF^-ypVr(Wfdp{Mff^X=A{xOc>Qk{_~(v$W>clzv)^tt^T`F+a8 z>#RNzI$km%D9Y`WTRhv$pH;T0oZ#J`Gulj}{Ps4{0o{T~k&g6nT{w=ZF3~mp2Tv5G zO}Gwccr9Rv!yTO_cuN}^*&bV*U$RoJC;kXn8I^f|X~`rwS0}8%S~9k8{T9|;9k~($ zTS3pgxe&=<&4mB$r$CY$x83Il6OpIzUs`|2dN#5v)5{8*z3wbP6pG0FF4si|seTNS zgcP!$9Bzso?yRkgE6odcy#n1cSH9gRIhE*|V4;k}4rb%2Qw*@CyHIw}J8fr$eqP{E z#IVG>7*ABF$z#*4v2{wAfC&W#F3h)~djOF#1$K)e2TDib&Oe&2G!ys0ia);8mzadaBBqW5) zIt$BeN~h{9Mu69qjNn%wW~t{MCuvqpFo5Gpb+7BY1@KqU3`h zQl84h`a^x>Up&v z|H2u$PNSL0IHp`5YCO(b*iT#@WM1o{G)A?`rP;p$63y~Gq9SvX(_ljGG>a&n+e%^c@Y&WOJ_=*k5=u z>h%NS6?jtN8$alpw{b9Wv!jn# z)_%zLziX&r670A;QWb^^8;5>sP8`A;naJGVCa-~`T565`S4~>rb`FyUg?mM z);G4b|14^Y(J8}{PvCjVjey#-pDNJfEer3&8>5T80V2N^>#|dBUV2Tp5C3+VJ)xHW zpgDK_)LI~o5npx+K=0%TiAMk6JV-eBsKL68lxxGZf6Tu$2OsY!i4^VdWzj$=*Q)a6 z=1li@i_6Wds-g|7EUIWY3uT0nfbZuby(8`_?Yb+ZSk5l;(bgIXkpZW4Cz&G`ZfT)l ziM;Cko(I*?KypK|n7Yi;iF}b(Mc#r{pT|GQZhX^||2pu#-j;t=Z$Lz049uZy(2}sK zf`$YdPTR$96E_c`mwhkU+`M=`3BA{0@AfG>eFJDNJEz(6j_(c7L3&rLb}A*Q&gv)o z{&c5O1Dqx-#d8t2C72`GDWU6}E?2Tq;tPi4y7KBF&&@x~?esw-ax?A%V zS$}8!;(g6LIZ`4&PyCr)ACM@nXPtK8FPN$-^KAFGjf5s#kkcYoA?~787QS`4%O6f* zIGfa06|B9&##h{dF7_E->lb+ENA7+Sg`>%1BKYLYxn+D!N^w&YLYw^LSV_1T4T2$Y zb0hU}1KcR`me%Gt)y(6q-6x|#eMw<@yK(7T-b!6)RDY3poofeWm@3_`zsI<1tuK2w zcO*Xaqiu$bZ0=!?m-}<&z6%U-48{Q>>s{A(DqlK2P1(Me_E7EEMQ-3MleyCp9DvmNH@iPjpFvOB*7AjS+>L0+ld zC)6)K3)U>@Y96uhtPxX;a2rt^ZTSCNZ^w|kckrNUuU}c$f`F3HykinJhUl}BD;zGt z$pTlYn?jW43%*1%^)98^8K@M@SE`2(x!LG8 zk||gvL3?plK)THzunT1RmM5G~zucnRb{vZ9Y|#J7O?%4fT027P^KdpG~T$Md_qOV!v>l4q~Hgw|^ z@*$vb(-VjrDi#h~NEbG3pPGbPYs*T1o>_t;2h|V~?p8olnDm~F4?3G2+RKnpqagN?zHlPexk)ASn)h>f7sI+;5`6*pSIviHR~C} zd&GO^G)-czJ%~=_jxQcn8E;BEa-UUGeAVDhX2gll#*Y^9gN|b}kMDB^ehhLJKrN;9RiW zqncec0qsShQLciQX(~|+Vo}O zSeTBZRRfj07RbHlSDbU_<>7xZ~9FZLtW)*Mo}tEy+>L6o&GM<)EeUFm(pyiTh} zIR)Ns?ne|`LqvWNvICCh+!4q6{pxXTUG3!)^+s+Mlv18NY3iV~58?z2g)`)sDkpC5 zXTsUsc#_2}y>uQ1ZpT><>&xn_wz_}uu|8$Ef=?*u5~;(f#}V-;b?RawuwEF=QmjWK zvghw8mGWhWr06N#d2^ZBXuREIxWfGP^(57_@pSp})0wdOlLuM5S{JFoOmW!@wsQUS zO{vw$3T-9h-{@MMu{#hDYE|hMtX<}dtcVHW5MP5$^Y$L(#*FoJo!HSbK!5&NV1g?#){>Or!T_nA(2`|pNWr3dW|TYYJ(S9oLU@S@H)eM!ye-Oshgv@|pM z`aZ5bSG|c`N*2-GPL{D{3$&dAr)%6~mW8GFUaEB${1*9+Q=>LeN#)F@y8)}e7YDs# zUwf8)a>CrtvHrOlix0f#?@{GK=2sw@q?V1Z7(FecL_(c#ciMUlxuo+3)O&6eAQwoz zUQlm$yb_G-GY{_6Jg&w_9AkkXe4BI zPSsL=aThYXo0sG?<4fG0P+k!3$5d)%#h5$1uA>XG{m6j0ju=1?2$8uqy~s=h`7@n! zjQp8(NzxpSvWBlr@n8DfFy~XquW3wH?#k@3)ybM*eYU23_KTd2?i;cVXfspfr~k1d zdzeag+Ux{I@>4?t#NvYg`=pCJnNsG!jvV-`e3}BcZmYJw79!@EId?@`i>VW!>4)p~ zIN4|;;bbh@$awkVhc6Ia80H!`l(FgRTO_KZe_Z`lAfy`iZ$Ll|d!nF%MIGP#_}(+C z3rlFn80e?A>XgLRxG<_Or$O&z=o?^?0V9ic#D8*gXTDv1p~rp#s$#WbzD5O}75LTM zO>ONa6cTpuiep}7>C2QsRS!l>?6ruf(p#BzlzyD2b5!;ujpFdwAw57VPR_ny>|g84 z)aw}v{&UqBVYCtE7ix{HDN40z{+G!$q1Sl3;n^pfgtD)tJ|qD(n7$!u%%&eoe4>+u zBf#>=6@!;If!kl!SP9=^i(XQcOA~nPCo_|(A*S|u=8|_Jxb~sbI?8u>SO5TVhS zD;P$oBOw$T-mB4)ho9t%r6Z1aBybat)omodnLPoDi%>&D>EjD-+(z-?5Vt`dHMmQY z9++dC5t`FbCu5sD3I})$cJ*`oUMEg}EG`o!Sv$_en`JC3z>6DWY|&*O_-K$O0GsLQ zQcg8fu?tl>3HQQSMv6>b15m-D=edw{@&RK>raZMkO`|ewr$HJ*c^aw5%ZX`40?NAK zfxC&Y<^bbNuP2Q>Z@vJlPORRScE+aK@QjKR0@op8Y2FHUC20DPiv#H)&c|e%%LU5) zqtB9y5^j^O$EP*qMY{X98_i zn=##WQUW?Snc%32Iby_fj3GBqwQDc_MMp*ME5PjN-jCuMmnF`EOWraJeTtnb)O!hp zD(yOsVfRy+J6|gvIY3lC{V90~66Tza@!+m_pevE{+M?un&bcZZvmFV{dbn5Ir~fnO z-qu7Ki}^UW@>PmaMz6FfV9WVkM|8Bn7VN&_7^I)Q`}jg1a;8_GUwB&>sX`~5@5 znX9HH0SvoW3&av7IGVjF|0r~aqj|*|TX!lR5&WoX8&7Ya?=+6aa}am7oSUFSrNBc1 zHU}Tj(Wf7TC9V=&iVjF%O#jLTrW!RCD#Ua9pk@2#T?-K9x;hb-qWbWZ%v=^^oH~mW z&}gM8NbfX$!;+3#Pe0dXp(Oi*n^9tgZ4e$5OB*duCnNTOMNQ@x?@^$(YmHX7ll$Fq z8Jut{{8y5d1s+tSac-A_k(+)&uw%L=t|bwv zoUBJ>J5}MJIN_k^i60ApC@zWAoO*(2K%Rzmc^G@=HcaADQ1Cy7XCQiBBVxX@5O!Nj zW60eX^KIgw7`X)t6x!h=l%|9I#ay9Z;G0tVPzK6+uM9q1k&Duob`uIcHHA&Us>C`k z!885WiHP0Ah%IZz)3ZITP3TKC=-*n4BRaZM?@ri??3(`c@wR$HETL(tYy=0Hebva> z;2^xD(A=!~!huv>*z)p$RLT$3VvgzbXNZ$`Y39>=ff=LydsA~`^-SI;y+z({E?~~4 zn2oz%r7j{EXppr5{;QbJ)GKqf3A6vsU9dm4Mi2f}WJG5T8Y1_#_DiyK3%NmAW7ceJ zn<-$?r&z%*p$9gOL~sKGwU_Y{3iY)=R#X6`2yF7lr za4ti!t)3f^_JAJ7*#Jk0{art|#c8{oc*FC2r@X2QVQ?ymHVTP~n;r$X9!8B$47#YT zf`U`v4CjP<$4uYj*)`YWK#q-@0LoK7GUdP#9vfhpjUDXyLp|Q!LfE=R*@;M!A$Fx! zQV0}hdPxv#FKWPmdc)u_U9}y&uVqL0FJC1|M3R1#5=&xKYZW_kwS-jANhP74k8V~) zx2StofZxHy_>OveT{9sUj@)`{!7)>0C(Jl?yp(F}o$k={XgE}%xk6VWMIucBsxO4^ zN5Z$cYNszGULhpR?XFb^;sX3vX<;{tHW&B+OzcP6I?V^;w&|&XRr|B`*l4>FkGl}( z{&VaxYZ*xK&rHSn!us}9i$t9li5IK^v`GO+tSRH5o=4PAJSCcgzWgpX`wiaA0*Nhs z)WpfmP`fl!Fied znAfFTsR$_!CiIZf;Eq37w;j^(l5wD4=ZAiC;H>rh$!4c<$6YVN7UI?M<>EM{wkNr0 zu2m_d6sQOm-Z6XBc*RNe3K_=XVUh+$5xIjG3eM$@Uwjk;Gjubvo;ti-vf!xERS|`I znMi(`9`l!~`3{fpAE8Bo*_QoQl9#;s3s6Lbp^1mR!7kcelxoJtCSW^>USaRWkSQ+E zGrfWpVkwYwgUhR%$tr^|DZQ(9>M^eHnBZNKrWmkgw;9`qQ7`doY`lXk$;-O~OSqq@ zfyzFNxzMgRoew75)k-sV`ew)mlaX@hn*uA;H#s-;eSbEwf!o`_ufodH<~Lvdc!raW zb*4RD2t&@Fy&5(j)|K|JImfB%G5NBE5Em2Ny6AXK(?5yd9nl>T5Zw2o_B1%r)G6#x zcz@Ti2q^!R-nU~W8u0Qi`LGK+F8}p5uT@WUexG2gL+wgMOf)DEHX85{0*C6#nN_1+ zefVOjJ9cGhc;xz+m{C+eko8$xS7KeYF6JM6D3210G|h5_d!nGK_8i`ol5>)CK#C&V%8c*?QH+2kGAp#wSZ5k|^2sS;q77PY=W4m=bY@o6-Fu))EDkaeMC(p7s4D8xyUm%bf4DCUh7;*uYiiZLoeKS)*GgR{Gv z5!9!*DpH|d!a>872B`+q5>xbC)i*ZEZT@glUANk%*P+dQ61eRCEZssyp<_-W4TyEE zoJ21a5Yn?XJznQ>q+9CW#yA}*rxsN3I5S2v4$a|5R~-H;=O%!$B~+i1vt;RNhkF)u zww8(yud>d}?&S;zMqoqQy%h>>A=dMxH)k^oGe`cLyksy=f$>g3U=;H542Yb4x8W2| zg$H{W%9mD^mGlEWg0A9sxunSyJ$XO9G`8iB6@OKla*>zROen}y?@Z!GbIu6_OVPka ziw;668#&F?8|NyW`@^1;THAwr5l#BU*wUbm01)uid%r%e@0aDeWvPce_P5iZ_}Hc5@yC|ZM=&TPZ7XDkCsw61UmJiA5!BLHcgBYjAnx>fR6RrMT45i{0` zdPieWe6N5^{$GW(V5gXft2&_90&ns1kQIM7+t!X@`9@6G8G54)2s>p7Cb`+fJe&`I zuZLts3S^8&sJ~u6W|c%{-4eT5WWYLv%-eM;OgD`@y5Bc`F_kQVd8C{SUA-90G2LK&BlyKxn9ltCb(L|M6ma=qCg|q; z5WPd9v0maXvAsT_5-Xbs;L!Qb&X&8E>Ln}-+ixCIlsA~p;z=N{-vdynF7al2l1%&)=K<2!jWR2JI8UO(>>X5MF^0|Af%7#i=r3+ZCZ(QaFzO5$ zK{D2S4;^J(7@JWMIv%(W2!hS~_2t)3IMA8#fHf1=2OX}Tp=)=6MseV^+J)?5Z&}Bd zpguI4eT5U!0TZTfu=I|bAku_PFu{$H`Fx)xsSNF?r0*P@S)u5-yet!&_gJjCdbPeH zNJB{Gp=i-n>4|m!5H}?rK^v+oxw?#tYb_$YRz9|ZdoIDT&;FrOEx#5$*e&Rq_C>-(W#{;?Xm4=|8X7~Ye!mCJmm(Sf|())dRt^oYp=5)mNkc7BRF zw~0DBOc!NNNh~ld@d;S1SagKjmc4TxE8#iI&f`HCRe zc-wHkYJ9Pfe*5_SE`KwYKOViJ0@XVA-hU@`w7I22eu!Qs5ME2F>mU~CxsyU3tz0gx zvqLBWUe;*{7fpGJ1YEe)*P-#}4mSAGfGpnt8VSx$ZHryk){RC)HKIWjmKnYG-V%_- zlMt08%XdlTj-bj?OHti_#dAYIPbsOQ<=q<~ zSO{;%mrTd1k#D^`e`8~vf$O&B=u9A-2yuh1VORMI_YW9jO^|&e&KtKWU}c*ti)wAJ zJYHh`QdsENB$(5*K0(8&8esAVc*l9H-H@J$;b&C5VbEK2RAk&#heE7VG+e|B>vmDO zAT+lWlrLs^leT8_kiHnIrmd=n@&-T^V9!5}^uue%ZIyrDc0GoZ2n@UJdwCz6jNK23sN=I!^h9ltf&<_=UR2R3Y$v{gymsuP1fbqkO|iYg+Tq zI8-TN=c3))i5Q(H%ojMYzuE;)>Sk=M4Wtrp>WP!bM*praQuakxFX#VGgL>Txmda6+VbJN$ z<;}Ec`&w&8SrA34hSj%ZAogSs&8W1sh3nRYjxhL&#P4}t1z-q@lXA>3au|dz2L)$g zeYFD0*KiV`qiO>!_GIa@qce_yFkTK>wL&gEc45a1-AXaNH7*TQew^7elZHg%;Cwacb1N80`Q zS|axbXtJ892fL;%{x}(v^1Ym9Y=h*nll>)1V61R@Pxr3g02{RmhhQyNN`t1k@~srZ z5dGRztKbIBMwSF=f**zEgNOn47>I#t2pOKD{TV}uuPNO3-(!xFPBm;Ir-X0%JA2}4 znONiXP8GKsf^7^9KA-&~SFWe_AYAG?l>Wiu^Q-IbM2|K}Eu_cFu|b_xQ!0ch=dNmb z%8VECTrc2uy;TZss%fc*ESDFAxGA!+H9wyewANg&0=DvP^bf4=PGlM_BpC*(SWN4DMQKjiq6 z@FEu0!$v`G^64CsA4vKYx|>qA)ANcqXQX&<^MR)Rc=*wR!U+N{cV|ix_7Zds!xvG7 z`LdH!{IP-lGnw0|7<Qx&ykmxAKg!$N6$x7#=_`R6%+f;0uYQZLK^f7G}xafyHS*Aln<4(&ZW7|l1^y zxuLI)3a97fXubQJ4v(oL(D}sW{D(SrHrgo98tT_Fz&QYTLvwR7DZe=Yo>Z^{3*<1N zikR(gM77V5jPq{Sc#>SNN#`30E6yiLhkmY8tSfjRiHIplud&{#U|k@OxGq(8Pk*2y zuTu-n!y*|agrF)A1Ie-i_>4|;gqWc1QNejLh)c`|_`mzq5C5JCc%STb*z<0_x`bmN z9eiJ~iIdW6`0DKu69NSA+TAJ^Ka>*8MI=nESIrroE{zXMTkn(ucFH~RL%qp<7A{#h zeQSx3IN?v-+A{HrvtQb)CGCJzI&~kM*U1YlQY79avls>a_}E1=LsH!>=;d5mDCFWS zF2h!EMwuxP7TJ_Ni2G;aKuY(MS6IO}x6jeL4r+S0#r=FG7?Ae zE@tET1z5cJNPZVvx{aZoySznjfQ7!SN6hk*rROt=!ID-PnJJio8sO8 zVw`%)N^YjymZ#2E#+}eU*XdZwE9pUj1Da>6$cmBynyl{Feyk)XCK2VhSv3+wi%rd) zX%{PzB;l4QSCW(t-Qx3P;e(m5YpV=9IX|9m`aCLXX~t9*JX6CxgLUOhO5#JdQ5U&gQx1dX~f==>+ioB$)k(3ka)<3OD@r5J5>G?keUKJ+p z{4;umvjD&N{_xwBh^cd?U@LkW3cvt)s_{2V3=9JvcG53YM@J&|6syV}YQEnIU5_WX zf?rn}YwN}FjXkq=jI>;1p+%q?%6VJ+a5_$J5=9xK) z!1!_J=eh@`eBk=C_j3lNz>+U04-FxPDGedX^lF4y?o~&eU=@atCkhk&zHK_;>2($aPovMxu??{z7gplCoB}!Sgt#H=|E+8IgJ)XN{x|3%4b*tHGE{5!II%8tu9gH2Ci+_2`+sWTMirS9WH<$^Cov zk8Tk-|M63|>#^^hlP-)X5QoJR%sjW_KOi;xO}uc*m;rl9g`1`HZS#fQNJ4|egSem^ z^>`Dyk_Gd%8KD)Xth_~w)Vf=I=E8@nuh{WgyH}t=5a!h>Nw5YTT_Vx)fGdOILDw zsoThOb@UmNxjJriK`P$>6>UbvJ%>AfTcG(>qbL1$LG2B6V@JySYdI;gdgmLUEBFmS zbSk_>HZ_xVIwk=7a^~(Aq|k!*M{=y-i12Q~?{OA59gc z-(lx-zY@ZCUViWly%+vZT#~BZV%kM+s3Mn)>JQG_L_V|?;FwRsT3J1QlvC~NCn4OWk~-#*u}#PU zHMrh!*9tJQje%&hKW%fUBl2zns~#iNgh}-ObbLNew805+8L4)diB%-q`Bpg6Tu+3R z+Vbt}e*hUl=Dwi77jf5gfCpciQ~v<8=~F_sEI;C)(y}?g6aN75y6Fk<$?;u?i^KYn zvNpMUU5s8w!NY~lNXLAP^{O^AXmMy-q@UQAt#&T61haafLka4gr@9{Nm#Ea#2jNF z;-`k{Oc>>MC`LN;{{TLfYs6YD&xiF{tS<_)rU-TWuBVViX6Kq)nqE+6L!!L%>T$x- zNa*mm;$5R?Qrx#?$miO+skA9P`;R6o(>l7IZqWlU3J)Lr^ZxlnZ!j|pUP48tS;TIGD42MGt{2E)HIJmg>QFO za?;Bt;;iI>&}XGW6gz{ETRddcbG}%S(45mPVw&!A6~5CZ3t+fh{WDTEE@pLFd{J82 zg<)?jvIp}w%LxmWAYhjDAm@sQSBTt;Z?pZM_i=1yGeoNhn2eEfyWh4jpU=;-aO50dOVs$w+wufYb&11a~VI* ztFMM{m`L-$>WT;kH;uW+89TVvScC@(ijh zTcbEK2F!rq5w%V|>)xl8P*F~DcW%cU#MN?YDOoF?FMSl2+LgR>BS#|4nN}Dhky)NA z{{WEwr;qvgbN>L3R_~53(q9sp?cHRIG-NWIfe&F@BHh;s|5;@ zig!t#l?LRLnT=g`hjaEX3r%vMFIa6pXCK_ufGFM5Nh z*6`k?E#pUYB3N5~7hxpVbu>EsF~JOw-YOUJqC=h?@-~6koG|}!qDEbOf0jUbRo z3by7&loR>(uRu>2c_2k^Vyg;3Vu@Zt#x}_+;N$prFd65Q$*E@!F4tFQFD$OE%IX6H zgT+H6g@sN+l34P@z0G#{l3Cm>I=Y@Slld@a2u;Lu8WbQ#K==z{G2go~NGOE28m*-1mPEv^&Y< zGEVLpow>;>f5M%Ps%kDbJf>B~b5!JFnIPcxtqY8^nx`^nAPPmrm{+k}+{}XAB#;+a z#s>kLI2rAnAIhs-X?M}MjiX%U`B@c!+Pj;OeGP4{r+Z-o+rcvk9z~U-$pMP`3SYj-Uj#6coNmNkz65>zjtB%XR7YNe^PWSP#-&{Q=v{Rh^esz*$AHM}kV03pj@ zf7<^5&`ovLz9pagep@)8fCYD5>=>Ri@9kV~hf0lV(7)Z?gU&k|?yYqFH~UGhBxn|L zOEELxeaB_y2j{*i8T$3K-Pu`=16 zr^1`NTLG+#jYbOz8Q^5|SSXMJ`+)q#bGoX=pB0X#x8itO@n!p4;A9dBZU#RbcCGl= z!qIB>cNdUbrkwCN{nJYS0KE;>gM8S>0|T$pvVI^Xw3@}B(@}-9+C${7Ior32N*cG^ z<9LZEB)S{_02r@y{cFOyEu?pFUFvX8ERslvs<0S8p!}<%@E*6OY5xEZp4MBq=eRm$ z#0K3%GY4#dqy@+8&TEWoYYT|}({X7$!V5caWLR8{;ysS6K)}K0{s2dM(sr`bCX(JK zmd<%($&NT@h{~CeC_%Ix+@Q|`j{N3*lCnjtRQa5rQ$OKNq`Fn!rzGOy*t(&Q{TZo?Cn; zoO6@LKsow~XcpJEv0ubuo&3n+3j@dGs~n>+ARWn$c;q*FsKU#yzODm5LHe-9O zE(pxBi>7D;mR1AHF_93!9D{(IjQi9VTEJZh-rMU|t$G6H(Ah{*BW2Boo+ zSiiD@Z9i1DS9^1DD$j2eVQ}RzFb{P+oDN5=JBy!NA!4}j+`438=dq3zOLCEYoEf*N zUo<;x$p_{+-HdUHyL+s7a^Cj#;RTh%MiQ_`1SybAsr~2zgSS0HbR#^_w%YF7eY(A* za<)=oEx1jmFN_VD#uL9eG_l3vBMRqOg=TW4Ra9eXLd5XA^Z;Xw=hBn0TABKl#hu2R z;;D4O7_)1;W{b;Bi;th6?Oc%6^#L+YFRpy#B&+$Yxk(r#9Pmg0eihgFgHP6k%1_lNx#T;0vN;WJ@bv49+=8>Jkg$0gq0KgxWFpb|b z_UbAiY0B6Or92U(zbX_2Q zoHeB8X-b&lTe!07VrB&V`58NT>5iRnL!;>rnIyKFID_Iwj_Nj4I~0JqbDno+ob)}4 z)^5@}>C==}=Bd^^RNCdXsU^mUE+C7^QTE6-mG6|CT)S4kvfg-I_EG37$;z&Iq97~>x($u-7mur-#YcWUdg;gzFh z-JB3{jPaVw>h$^}TDY3D^=-eI(RfopmqWhPuJs*XPL&?k;YQokcFRQSFaakdk+?q{A=c^LN$PTZeDIrOYvx}QTB!je!%t>43~ zM$t_E8}UA=ZE!MtyO~R?9QPw1s5Mu^-w^d3D_UI($F{=S>mViQ04ryqY;aWn0C;rn zI@H$MhN<8m5n1Uv)$F>5hi}`LLGE}wnIoJ4Bbh?y8%GP_CzVS$7F2H)=cCVvtE^Itc zq9leUlFIEt^4&3kjAQBuJv}ST{u0@$hJ&T%NahPGV}UWy$+{_Nu-{P^ZT6} zQnsEbt~C3|rkLV5+7=A|06<4IYX1Pk8r6-b+OD+AsO`YXa-VnW>G;>s9w^lG{Q}Tx zx`akYkM}VYP+XSesLxNklk}@PE~RU(X%_d^s!g@R5w+Kzq!35oMOtM2N)5GrPn&7t=KP?h#H4sKV#dapN^tRnu=YtCI$!Yc;&UXKag%`;Spx{{Rn(bbU9(aClzU z-J@j0YRCYM8yVZ{`1;i^i@I!gz7U%1sPpXIWJbq0Bq<+GbNEqqDPZ8Cc)f`}61V(N zdT1EHGK2pBe;T~c#hxG4HJ=-6Lrk%j;Zk$C#uY*9jmHB%)#+adbN>Jc9gj{PU;P-> zKBMD3D^KxUS{$*+CY6*lqX8A)kPqfL_oTKuWeCcgRGHwKo|k*1T?>6q-b;B%$P7A< zPIiwz(2p>@xHllpcEVo`;HA7aUYAYc0_$1aBh+E(OzP9LgOV7t4W&;bkIKC3S@AU5uCn@t#C~1Gjr+#mk+k&~z^bPw&YRfuQi_91 zb56<;G*jEGd#)u@97LP|#9$ir3p*Qu@WV~9F)6sTwUQ}ZFe@37SvKeE{cFo~T|(IE z5j#quRl_knU}n7n%TUmb(%xRn_K6~oY+E-G+~*t)we@MysFg=Fn)B%QJXb1|?*|uW z<<#>Z5$UqnOtD;TE-=|ckhW?XJa3irwQSWh%T)z?Z?-ktS)rR7fl)e01b4Oi(1p5)or}H zce{*A&f8aEWd|f4IL&%rh&0_U4JDr1D@fRR9z(-E_meS`CiUELhR0!ClzBsyX3x3J zJ15sPu5s7IMyAM&sqVZ|6z*zL=V={}YJ8iHH}1|llgX)PD%7gVqBF-iIXSNT#0p>G zPJ+j@fPO*8^sW)qeihwnHOOv>@f377r1W<@+C&`HN!KVq z6{#YFoG(2%s3nVooOJ0(r7cZ()5F6T7fobfSig4zMt3s^TOo+#9prLzlZ+lKCi>sQ zsc8q;?kx-~!LAl)w@g!L`9a!n*$1HmJ@Hxh7V7z`-`VN>K;o@6V^3)M96jpoZKJWM z6B+rsS9dOfZE$i?xb!u1PVjBL&CF3pY|_mm1xV16Sf11-bi%xCW^q~=L#tYCAM(&v z{{Z$q^LUM}ypmyOBz(a2742RQ_v3rk%yRGtW~p|vv1=^T!LH=NF#;1WWEk;Vo^H7!lyH7!gpjP}CI zQSjxPIva>IXvFb`1)_GEX9~a^gSFJ);NgMjMS0~~)b$J9R`yHHPVVCJ?mz?2aVtpe zfD~nzl5hY6*b1vmprVQ>0Iyg5o)>nn;_jSydSl4X{I`O5OBpd82EiU$kttQd!yg(Pnjxq+-dmNDF5> zdV6Q-S-Q@%tJvM%THM|vIeo5UjY6^czGdKGo$biMJB=cnh47d)5y}5UVxLF3fAzpp1O_P;#+07Q4wWUGIiVr zKtZ{&o+d!>C(=9q|@W zIfNwDZOYG30h_-K&8=UX%h)9mNCo&FN#d(#M4& zv9(L^X1Q4#&2=&W;}5q!i;|r(ct4KCt(S$Rw1P;I1bJnBi6zb$E+zZ_05||=%j>lL zYnzL}{v~AuX;P4RA3A@HO%H-RMKH=~jz~B^yiULO)h9UjHH<4S`FHpldYt|fwihwk zTQrla%p+!ZWj{ICdX6^j$J3vB*0XqWD|=*>9$6P~cWB!z-!>TG$IHrmpl5^6u3oF* ztyf5RPNQb=8HortD;6WKLVas6sRXM62;hT8k7F5CsTXNR$8V|Y`X$Dk_OQWnV)B_| z5<4+N`^}wO9DeKY-T3e%)XnM5LCEV)Ivn_lj&`^otv)0#B1VHO>=Xm)X%lWn?BhJw zYWCh8w`++J?WDuJkdX2g3%L1VdB#BG=bnSPAd~1#8eHz}n$hT&C~X#PDj)R462g4Q ziHSV5i!1B%N{xe$yX%rIHj=j5cA}RWWEqcnT8z=!$M!~K=*%7`>E>i`ugJjZS-QB=@20qtTO0oXwMiU;0?mMo%5(gG-aYfh zV4J?E_tiR9(CM!9i7z!+>@2LIf@|A z-48wkn)MHX(4?1oqq6|v?9hL@ZWNLF0r=MguIcHf>a*ITmqa`>3>*=jM`QUPYU@4_ zT{J!;xU-CpHuBtv0~`Z1Y$T6A@Fd6MN>1olMaf+zbblId?j!K-p8^xI>ruX%W9rE% zMF;4oABA!rE%05}hjiUPQiAa{9V+TIbi9Q~2;^sJ89aJ^Jr5P@{wvb-zY%G_VZNBz z+G-MgvrfHX^2Iw3o+r;jPEHOoNgYNfU$dl$TZPOI=j-unLl=DJ&ZYk=qedJ?Kz@eF@D^bZbACDwta zPd-et+r;iqa#RyuJ@E=1YRX+7!#btnzl82CB91HIpf{EX0c38OQS{CM`g-=esN48= z!D(JPWEhIFjW) z%7Aqx@(=zyxYK&b&Wq%r+`P}3bZt6qYgx6^tnekceS{v0I+pwZCcVxL1H(QG(M`?F zQINkWxSc%79gk%liS!uhUQ_V4_8U(eST(@`W!(x$dov6#=5Rk6_3wzD9k}r(fgBcc zq<0ZZ<}aE^Q^6SEA6nU-b`mR*$t$yKK-DdEjWX9zunxA;=VG#jBLsuM&!Mk9(1?%Y z9r_Fc$siw+pXpu4gY;+c{{V;WbjfBCNp2W3uR_F@IQIFg&$OR1FO5?LMI^MFw;W-7 zypz!Ose2uAzJ|}n{(LQFa&h*sKk>$`FN97102CdFC-~+60MUlC{x=NxQrEsO7ykf7 zy*qu>-fd<|$g;z>vTK5NSUBkx~`*JeNU zf_S$5aJa8h_&J~WLE-8CzFdBE?Nh+kn!k)8*PiHXNfnwH(;`Mp4qH5OxFa2@r=aHt zI&nze@hJZQihEfEfDM%2`U6)J@JlDd7puq1e8=-dt*?q&x@mqCxQlofH-pJV&pUsJ z{V~VmSbqa@d_Smx{{TOS8UFxrX)>IXs+W8YOxh&ScF4OK;V4f%=m03mx;O&p)UYTWcW#XR>NYOAh_mGru4oqxEBkBzu zM+bK(o^S9`S&q0Hrr1xmetNI*sT67&dkk;#NIy--AJ)6?2KZS#F{j+bCpR+9F7}gV z-T=TD$@l#0&3-Jk)V?W@Pj2wT8VKMlICUBMf%hcTy%0;?rK#tRGfQhUmXrC>09$Jz z2cZn4ALmw@G2WqdJOse?;-#aWGwdziwRG@0nBd8S$jAg|f;S#{KQZgZaC=vs-&=WP zK0(Rn73roOIPg~Q@MZr13a;8tk0b7Q?}+X^#2@=DG;~w0;O@>+DDTXQ){#UL7$vLI zJQZVQKZCqQajdn9T%b{Ei0URXamWN`Z_tkQmusi!$Oiat-3LW8q5lBcD|YAK>@T{{UYClU7Gu@o|#0PF6c&%0bUs?7UBEFYN5K>uAi8O&UdW zkNIaZs8SE6a0vR>J93L1%#o?cM>rv~(DBIY^{p)vS-aAum95;lL04Q$P7VB_OhWPIPd2 z;8UGI=s^|G4P(Q*aC|ZtENL(hfeg(j99-8S?xw z066b;DaY$h{@l>EsBa6}v)}^8=24UD!KO78+~uE|i2GMqb^%#{-K!Vy>*J#Ci~30foU<= zZ~#5>Yvg;oY3%N%wY-K{E?{zuo2arJo5NqlG00L@vT9=QsyNlVLSz2M1 zbDHp9iy!h-{AK?DVXNQ$9`xh8J8<6#%27oXXFyR!6aZJyf3ru13;27)o+A5LhHH`i zk!%%@%Yz)!J1*b)%~{lKMcAmTyE3=@ zA@>UmYbC!idDW)hmjYdlx;{v(kQb=zP329@&Bhx&18=W^(QIc{l6Fl`FPEQrN zW2ncY85hO6UZH4&Z!(MdGBQBiaQNpB&>leIy36kp_@n+3-AC->OOM0)W!1D3tHj=P zf?b&a=NTLQtDE?}_S>X}=TX!C%MAM#0$E&0igHQxC) zqUf-1jx^hXcsSdSVb>f~cUlF#{{V7~9E+3`VT@f2dG;pT@crk0%pF*;wK^ zrH%HnC!nsv`@*qXY4Y4OSL?FfW!zUP80Q_i2Osbe)aT`{N;o%UlZtKJ;^c6e=03>L zbfr2pH&<^SB}9=~Sn#EDjPXy?*GC$Hp>-gVNmpjc$EdF;(!L>D-rC1yV{5BiGzqw( zTg2r+7&t6W7PJSCCV&#!Uc87D$^QTz(S-^IN%~`xT%4}^A4wYYn!hot@jao7R?=;u zMiQ9iiP!;zi?DG6e0r1P_R`15(y`qXOsDKuCvBp5bSl^ z+dGKuZc9hzd4<9$`M?=oqqlL$;<$ZxQ#!V%E#Xq7!h#vMG1{SWNCPC}CyL$?aYv7i ztxlx9$8$Z;dcC6BMX2g2Z!47rU4UL1LKKjL-G~5vd(}LGFnUw%?WMW8jtgZkB!>z! zkIeS^)$<;8wZB8AvheMk_ZwaAQI>%V07FRlqqscEv?=EyIY~74u^9&6!g)W+<9S2pb7J50`N~W1;n}O&;Fl zT6k@r!*)`SA<7oF4fc>1mS)@s1Ln!~sGZMS3rd^5hm>o=D@{jHiZ&Bk!*mru+@aJL z9myk)a(S$4X#DxkL##(UjGTH3*zr;UtZRGXSY;PSF)Dx)=4`0P00V)=L1QqE&LI@i zF5j5#8N+k!?6gZ`x`mW7N_@XDqQJwt<2fJxy4|pR_*T_742!vmT=D@}@NxJb z%BgBwMXakd(w8ljRvZ#AIN)Q9)!jS(MO%CTKhq}v0MKKkjB($=XK|q^8h3|YC|p1! zae98(v6+`~z>F6dBc8&yZywTFuA;Wm?tHUyLP+tX?xW34GD$2#oM$9+gV!SiNptou z2Q=3Vvwfx0PYF0t8<`GEgAo8^=aPES05 zeREDbnAA_$qs%q0HT6rExP@SLa^6xXRZw{V0md=Y6<*Hbdn>qZZJm;6Tu6>Oh6frkJW7;FR^2HU1=H$sKc&In6yhC*cnf+IbdQi2ne9vHq2@tbAGU#-9^?p5kly zK;a;afKS!2{c2tM8nsQU)soY*>DcP@tv<)Y`YaZ<+b!&EA^XnQ01T4Me=<#c>G5;M z$Hf}ZipiODyFykT-eY%={d*5jsiyef;zp<9jn=FMo|~Q^h@O2npW^)owQ_ncnI^5S zS?TC-ZX^m{vaj(s&t-joWb{&$^z1s!}4A3B%!LU6+r1LuYkxBEK!?xt2}wE0Ws) z&m)ci80p1S9w*e{*8c#u(&0a}3iB_PxWQe&cNpo%O7C=iF4oE>`z$XKO)N8*B|DlD z_H&)2{=D`gv0KAhXYcI|oZeg(P+hK|Bp^)8W6BKtxI5Sm`Cd<2o7~gc)VIW7c#Fmw z&c9%`+MMeo3gSQnN}o0e>HzFbKSJ@Ay`tF1VW(XAP^m15hO-sra8ibqTe1<XhLoM)$O z)m+b#T-WB*;Vw0eLhoBmQdx`YB2|z$LHE}f`9Q~E#w%}A@pp>vtR}R+l6JP4O1hh6 zT#mg$`&O*UkBV9&xB}&#(XKeb^GYWC`{z0L&0FyXsduI7F<-|YiHciYhjDzw+p=VW zqk+^CK8A~mFm`_PIXwf#ULeyfMV^y$BEW|`5*2(FKH#2BPpA05#F`^c66$FD_cF9| zLx%3A9pP2f;%!$~633&$!4+c}lI~34MuWaj z8UFz5kTzjSPEylz4_Cg`HNbTX_MYJ*#6Ei`$`2$iM;YpBEgM(VG&=S94~X8Tu@C)xM;es0sZb~Cp= zxa~nxQc}|ASz+-9UbnuEYs;Utz`Q&Rs-cJAI6j81{6g`ZULcMuJw76qiHBn%jqLpX zKy>%6S$sdMm~JKh%e>hEB3ANS2temNcB(`XyFGvU=B2YwX*CBK5D3OeYU;cLM%dge&T%>ha2MTn;FSo%2Dv2u0F>V!P zMQ8oq0*n$FMG!c)&8LfHSO#WXM-EqvVNMGk4oA(`sm*gFZRGZ=v1wQH zL?n*c_B2g0l0e*mkVwy7ho_|@byiZ+#`lRPu+`*SZ35ob2&4J8xrz+_Cj|axvdXc>2@9tAr&`qR=)jB$)(xTx|8 zCX*an7Y2$-DoY#=C>?2|tvzvy3J#;1RYKLJ;r$x#T-715uu#)TdY`(3yB})zj}81b z(6p!!-P^7G&OT`;8C?4>KtD6@T=lUrr1^Jeb{7Xa>zQbeo&+u4kfC0+^%duY{5^FM zj!h=W1Kv1-H|DrC<)0A#AAe(8wf>aSO=HINZdxq=05R|X0PC#j;}o5wtZ!Q`ojCI+ zbC&pW*zul_NBs83>0T@GWBy8?jKAzPd;b8V-o2y1fW_l2C)8XF*NgmE{{WJw<1hOS zUjG2-_paD($-?|B&qJRqf7vRwU0E;`|^XU!O{*}#N9aq=?00*$&2mBxo z?jyQ953<7!lsU)$t zm9qX}&tILrG3!AyMt<&d*0)~$ZKc&^4+6`kYBtu3 zY-3{1vWUTA+3SM+zl3$oVEkUNzqiq?ZZ!sp#pn+b$BQDjRgb%& z=X&0%Ztc?Q(rH#Hu4iybV9Y*VPFaqAtbVnXd#+i&i)U>ejJEo$E=%eW+_qe0h#Ptg z0=)ZIOX4jy?(*fJv$LLg&D{S0x=5V3KPf*c0Ozl2!qqLUZS<=fKkO@ueQqh3O>rcS zzF^+KsYB3?2mA!rTW6OT`}dZ{u94z>B5w>&Yk#7>_Oj~B{iQwYmR$YP6Q>xg9o~bQ z^p6AU*!X*S;Tt^?3GZc!XOj74RQXO0eq{vX>t1h;c&euEdD)%0(@fFRFP_Tbri>|b z6p>)`!=XZdCaoLK5?);i)=i;a5elk|1pB*~W4Q@}Ph(v0I3pDNEk>{$iO4kEQ z4i0GJ9`tfRpvak9aQte?q_`q?)Y&kjI1@ACc?+t~Q9+iQAOtVQE$T5Yhlw~=LxDj-t0 z+G8W3J#u~POllUB*<4M!Cu2M_1#4noh(ftCfq*w2Mmmi5snqpp;$h2bZ1a1o8SaXG zqfxRYM;|PM`6X#25!z^0wySjv^8KP&Tgnasf~W>}DE{f`R&=`v^$YfjTd1ufRSeS0 z!l>L7l6!T};a9bd1leBs7FRIehRY<7avTK>#xtI@XmZuBTD3Q(hPHzoO{Qp@ZLOFI z+wIQs!X2aDa1b*CoOUf2|#joU>p)L!35&Dy)Cs- zVWPzPPO#tEQyH!NsBpWBmggvPGI|=D#GWYCrJC$tSP&vwx(0vC%&uu*`qSUp^y;{xTdsV|t zyu4wF`_93AI>_Gqio=l^2@Z^M%^^O_2GDkL3_Zbzr;#LC;Ql=BiHG^4~4Y&8RKnBM~f)!bMahHz$#d z5m)TIYbk&Dn8PjI$CB2vPSS$!7nrV}d01{%UZfm@j=GU$E*W#$oEYLn&sFgRI?s|uv-~9Ap4BL zZw{k(;p>@x*ZzTMLw%j5&PiYi37$HRaryI0YphsX=rU=>%H?O1CRyXS3MD!DLk)zL z7#}W1Pd=E69Zm=$)graGA{*F*Kr`+!fa?8m&)vu4pK3KF)Q;CE-(FnZEMn&3X_hgy zJjX4xdJOca;=Q_#Xyr?ZgzqmPrWXEZP2a(l9ybdK!(7G>3Q8^&f|K8h45OH+A8iUO1u_pidOY z0v&+-&7V=wp5XgcEq}zel6cEQwXt-ELDH^a39~yetT#Wu_z!yXsNAU~Nd)ouQs)#a z9SaiFQtW!&w~4$zcWbEI%q;Du7jiYTOkQZ2$}mYtZP*#e$4{6XRULO;(IN2MP(u!x zsNIXCl5|+zB4-f*(jZd3#y!qXE6jF}#-5z;I?(K2*CzC_?H4{G(l0Mwf9*?SZ4=7e ztcg5(m#jo^!1oM4O7ZzX-sN&so(b>CrHBH&ovGaV)K@Z=00Z)j;8bo^TCPh{Je;0# zDK`>3k4kAirxaunR&!i_;@Pbzwe3bbVF9=@LL%}NWdZi4bAge^K9!UWCTKK_oOU*5 z@eZXopStG@IR->U3XDe?+6FW4SnNs7F_?-%YF*3cZ*gf!%{26)kkcJUPH8&PL1L-q zq%_3`)|4My(gI%CrR_}~)E2?!kyjj`vBH9BN-*Try)@gIq5EF*Y$iiC&%9&LIQPbD ztN4Jv7$0SC3%AR&_qYwW+wXIpx%?}hb=+zwSoEmiV^V{v<*CF|m$frI@k_fH&2%1h z&ujP(VH((KI*TYWyrKYo6+l0!Z_>N365U(`SS_8S3^L581p8*Z-{3~G61D!5BLO3k zaS%Vn#u$Es^{-CV?PZ!U(5Pt?V`(_Z{{R~BaaUDjnf2Hg8DZk$a1PfxebAoTc@jW# zkb3=nYtgjnQ&-W^t|JCJh|0*FLCC=s!`$h5mHo(yJ4qs3{L)G`fIqL{UA?%6M$!S1 z!oh78S&yI<$iIp1>~=qc-aHFSw*JoegKKS{^*6p=PkbC#hWuFn0FtNUFZ&H%{{ZOs zuWGWs`*)A6Zn1+k=zq<#UMulq{z{*Wzw9%4{{W-jzM_@wsq=Iiysg~jD58qg=n5#J zfC~D{;f>l@{2uUQ$*?4mT@18}xj$>0)Yr+i?BBEgrq^~}Bk=w0y_Lm`7IJFV{&WGJ zJB4VYIB)KmxW2nb zq3XJhfqQr2TdhV7L|fV3PYuP@n7V^(trj+OoQ_9tddB#faF1nl6;#}}mAWL5NLvg+ zE7TqW^z^Pu`%AlnN4UIQR%rx&UezwZ{K*@3BxL!A9RC0b^fiaa)N5{Jo>KB$N)jYg z%gG)T1~}>lKiVr?mx-MpT)Jr7Is%{_%EN^N0IwJw20K?$jrTm-*tteGiP-qccWoNf zm6=q!l_n__ToA;cnE+Br=nH4)1#r^FIc5C4D_dN+)2DzvtkO#}n8GV=9!zSRO14f3 z&fZ6%>Cj~--5E4l$5W21)o02?2U=d0decmv>Ia=(7-9@nT36Z~fXPwsjCJ)Dr3Zxd z2W!yy5!x(oB!O9mBvQ-UJb~#~%(rJGXjGfDRnC7jpr69Eb^ibl>KYo_9YzOBD`KlPywA5S$>FHgjlYbN*3~%)R0N;g?MYo)aFu}pfk&-|>bI$w>V>QN8 z9DY5=eVEyi$2W-~9o#L1@zZAoG`f@`R zplHNatQj~}QI3Q7bDw&}@RqA-q+U%e?YW#X0GL&6r#a3TAMvdysX+NE5bC6Kn(})-cJbx;d?#AlOs@_`9Zp<>GSjrY2 zqcy#ucvfvoN=x;-h9qfxtVjj`-ik@*IQ`)5k8x7XAx=|#sT|`C-LU<~tt=`Xz$_Oa z^4&Tb=yl%=Nu}9+rLIxblw|-9xcj!YK_G*%x*mjk zW-d>io}V>HnJfB!f~2_9FW?Y8#0v^s$LB)Q%7_^_=Op`%D|^EiYheq=c9xC%`0gVs zcLywi#@5U54(`6*^qbQ|YBVO@nmM@%-g%{swth9)O{w|1Ma%|EG`N-ohhp5@d1oC? z1CDxN;Nza>HO)b#Tuk8-TLSEG6kkF~K7eoJ(~Or&HI4(}~KCIqyvgyAIv=m4-z$j!7A&s0;{f5Nh3( zxVpWzwrLDvX%;f!OAraha5+CpOsFnmsTc;6Cu-md?ykHWXKYN9UEM4yskq4yP@A)p zzwVL80CnxsxS7#ok�uy9G^->>;8R3H?f?4 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 a471JmgKeeRBmcv~*q5jMA6Lx!`+oooe9mtG literal 0 HcmV?d00001 diff --git a/boards/ambiq/apollo510_evb/doc/index.rst b/boards/ambiq/apollo510_evb/doc/index.rst new file mode 100644 index 00000000000..82916942776 --- /dev/null +++ b/boards/ambiq/apollo510_evb/doc/index.rst @@ -0,0 +1,75 @@ +.. zephyr:board:: apollo510_evb + +Apollo510 EVB is a board by Ambiq featuring their ultra-low power Apollo510 SoC. + +Hardware +******** + +- Apollo510 SoC with up to 250 MHz operating frequency +- ARM® Cortex® M55 core +- 64 kB Instruction Cache and 64 kB Data Cache +- Up to 4 MB of non-volatile memory (NVM) for code/data +- Up to 3 MB of low leakage / low power RAM for code/data +- 256 kB Instruction Tightly Coupled RAM (ITCM) +- 512 kB Data Tightly Coupled RAM (DTCM) + +For more information about the Apollo510 SoC and Apollo510 EVB board: + +- `Apollo510 Website`_ +- `Apollo510 Datasheet`_ +- `Apollo510 EVB Website`_ + +Supported Features +================== + +.. zephyr:board-supported-hw:: + +Programming and Debugging +========================= + +.. zephyr:board-supported-runners:: + +Flashing an application +----------------------- + +Connect your device to your host computer using the JLINK USB port. +The sample application :zephyr:code-sample:`hello_world` is used for this example. +Build the Zephyr kernel and application, then flash it to the device: + +.. zephyr-app-commands:: + :zephyr-app: samples/hello_world + :board: apollo510_evb + :goals: flash + +.. note:: + ``west flash`` requires `SEGGER J-Link software`_ and `pylink`_ Python module + to be installed on you host computer. + +Open a serial terminal (minicom, putty, etc.) with the following settings: + +- Speed: 115200 +- Data: 8 bits +- Parity: None +- Stop bits: 1 + +Reset the board and you should be able to see on the corresponding Serial Port +the following message: + +.. code-block:: console + + Hello World! apollo510_evb + +.. _Apollo510 Website: + https://ambiq.com/apollo510/ + +.. _Apollo510 Datasheet: + https://contentportal.ambiq.com/documents/20123/2877485/Apollo510-SoC-Datasheet.pdf + +.. _Apollo510 EVB Website: + For more information, please reach out to Sales and FAE. + +.. _SEGGER J-Link software: + https://www.segger.com/downloads/jlink + +.. _pylink: + https://github.com/Square/pylink