From 2372949eb9ad47345e727a5c46713693aff2146a Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 5 Oct 2023 13:42:14 +0100 Subject: [PATCH 01/12] RX bandwidth and squelch update --- Makefile | 15 +++++----- README.md | 4 +-- driver/bk4819.c | 12 ++++---- firmware.bin | Bin 53872 -> 53888 bytes firmware.packed.bin | Bin 53890 -> 53906 bytes radio.c | 67 +++++++++++++++++++++++++++++++++----------- 6 files changed, 66 insertions(+), 32 deletions(-) diff --git a/Makefile b/Makefile index 040bda0..52f4113 100644 --- a/Makefile +++ b/Makefile @@ -153,6 +153,7 @@ AS = arm-none-eabi-gcc CC = LD = arm-none-eabi-gcc + ifeq ($(ENABLE_CLANG),0) CC += arm-none-eabi-gcc # Use GCC's linker to avoid undefined symbol errors @@ -182,18 +183,18 @@ endif CFLAGS = ifeq ($(ENABLE_CLANG),0) CFLAGS += -Os -Wall -Werror -mcpu=cortex-m0 -fno-builtin -fshort-enums -fno-delete-null-pointer-checks -std=c11 -MMD -# CFLAGS += -Os -Wall -Werror -mcpu=cortex-m0 -fno-builtin -fshort-enums -fno-delete-null-pointer-checks -std=c99 -MMD -# CFLAGS += -Os -Wall -Werror -mcpu=cortex-m0 -fno-builtin -fshort-enums -fno-delete-null-pointer-checks -std=gnu99 -MMD -# CFLAGS += -Os -Wall -Werror -mcpu=cortex-m0 -fno-builtin -fshort-enums -fno-delete-null-pointer-checks -std=gnu11 -MMD + #CFLAGS += -Os -Wall -Werror -mcpu=cortex-m0 -fno-builtin -fshort-enums -fno-delete-null-pointer-checks -std=c99 -MMD + #CFLAGS += -Os -Wall -Werror -mcpu=cortex-m0 -fno-builtin -fshort-enums -fno-delete-null-pointer-checks -std=gnu99 -MMD + #CFLAGS += -Os -Wall -Werror -mcpu=cortex-m0 -fno-builtin -fshort-enums -fno-delete-null-pointer-checks -std=gnu11 -MMD else -# Oz needed to make it fit on flash + # Oz needed to make it fit on flash CFLAGS += -Oz -Wall -Werror -mcpu=cortex-m0 -fno-builtin -fshort-enums -fno-delete-null-pointer-checks -std=c11 -MMD endif ifeq ($(ENABLE_LTO),1) CFLAGS += -flto=2 else -# We get most of the space savings if LTO creates problems + # We get most of the space savings if LTO creates problems CFLAGS += -ffunction-sections -fdata-sections endif @@ -311,13 +312,13 @@ endif LDFLAGS += --specs=nano.specs ifeq ($(ENABLE_LTO),0) -# Throw away unneeded func/data sections like LTO does + # Throw away unneeded func/data sections like LTO does LDFLAGS += -Wl,--gc-sections endif ifeq ($(DEBUG),1) ASFLAGS += -g - CFLAGS += -g + CFLAGS += -g LDFLAGS += -g endif diff --git a/README.md b/README.md index 2c97717..980e30d 100644 --- a/README.md +++ b/README.md @@ -26,10 +26,10 @@ You can customize the firmware by enabling/disabling various compile options. You'll find the options at the top of "Makefile" ('0' = disable, '1' = enable) .. ``` -ENABLE_CLANG := 0 experimental, builds with clang instead of gcc (LTO will be disabled if you enable this) +ENABLE_CLANG := 0 **experimental, builds with clang instead of gcc (LTO will be disabled if you enable this) ENABLE_SWD := 0 only needed if using CPU's SWD port (debugging/programming) ENABLE_OVERLAY := 0 cpu FLASH stuff, not needed -ENABLE_LTO := 0 **experimental, reduces size of compiled firmware but might break EEPROM reads (overlay will be disabled if you enable this) +ENABLE_LTO := 0 **experimental, reduces size of compiled firmware but might break EEPROM reads (OVERLAY will be disabled if you enable this) ENABLE_UART := 1 without this you can't configure radio via PC ! ENABLE_AIRCOPY := 0 easier to just enter frequency with butts ENABLE_FMRADIO := 0 WBFM VHF broadcast band receiver diff --git a/driver/bk4819.c b/driver/bk4819.c index aa96c20..3715df3 100644 --- a/driver/bk4819.c +++ b/driver/bk4819.c @@ -602,8 +602,8 @@ void BK4819_SetFilterBandwidth(const BK4819_FilterBandwidth_t Bandwidth, const b { // make the RX bandwidth the same with weak signals val = (0u << 15) | // 0 - (5u << 12) | // *3 RF filter bandwidth - (5u << 9) | // *0 RF filter bandwidth when signal is weak + (4u << 12) | // *3 RF filter bandwidth + (4u << 9) | // *0 RF filter bandwidth when signal is weak (6u << 6) | // *0 AFTxLPF2 filter Band Width (2u << 4) | // 2 BW Mode Selection (1u << 3) | // 1 @@ -614,7 +614,7 @@ void BK4819_SetFilterBandwidth(const BK4819_FilterBandwidth_t Bandwidth, const b { // with weak RX signals the RX bandwidth is reduced val = // 0x3028); // 0 011 000 000 10 1 0 00 (0u << 15) | // 0 - (5u << 12) | // *3 RF filter bandwidth + (4u << 12) | // *3 RF filter bandwidth (2u << 9) | // *0 RF filter bandwidth when signal is weak (6u << 6) | // *0 AFTxLPF2 filter Band Width (2u << 4) | // 2 BW Mode Selection @@ -629,8 +629,8 @@ void BK4819_SetFilterBandwidth(const BK4819_FilterBandwidth_t Bandwidth, const b { val = (0u << 15) | // 0 - (5u << 12) | // *4 RF filter bandwidth - (5u << 9) | // *0 RF filter bandwidth when signal is weak + (4u << 12) | // *4 RF filter bandwidth + (4u << 9) | // *0 RF filter bandwidth when signal is weak (0u << 6) | // *1 AFTxLPF2 filter Band Width (0u << 4) | // 0 BW Mode Selection (1u << 3) | // 1 @@ -641,7 +641,7 @@ void BK4819_SetFilterBandwidth(const BK4819_FilterBandwidth_t Bandwidth, const b { val = // 0x4048); // 0 100 000 001 00 1 0 00 (0u << 15) | // 0 - (5u << 12) | // *4 RF filter bandwidth + (4u << 12) | // *4 RF filter bandwidth (2u << 9) | // *0 RF filter bandwidth when signal is weak (0u << 6) | // *1 AFTxLPF2 filter Band Width (0u << 4) | // 0 BW Mode Selection diff --git a/firmware.bin b/firmware.bin index 59626d078f74243077f7e485aff2e44edfed070d..1c41ed71bafb87c6582928a0bf533aaf43b99353 100644 GIT binary patch delta 5362 zcmeycgt=iU^8_2l)`_;a85=iCGFmb*@=XqA{_5{;>RKvs{!@uw#PrHwg#H2FV|LL9%luce9v_HvAO! z^l)ZpP+;Kx!0?NM!H|LbL)ql(ET)VelX+R^Gp1}_%Q}~lQEjp}dq3lr$+y|P8T&S? zbG&3^T)$b6OPq!A>}E|qK_<|Gc&eL78WsOjGyc&au{TQ=u+!#KmLFJ^|xT} zhpo(+EDWt1Br^VeH~IfTl}Ur)&S%vS?_5TSS_TdCi^1N?NsY?UPK#TTGnvvEuVVQBdtE(PzyU0vWcdGk8JHgc=Bpb1|DN}MnM|_mhkAy|H|rP6 zGEBZz|5%1$vbyZw`rGxn0*q5rW!AVwGcZg}c6(dzz>q6&x14ddCqod!?{Zd|dJTq~ z^{QXXIb`ZJ8E)1qB+K3?7nJ$0#c=b#;$qpG<=Jjh9qJ6T|7$bc{IB#_=2m(7^9ZSW z=?dpUsov)n4E@g!xUq0DC@|FjXYiOTD=yAhI@wg*-c;&;!QMwK3=9QZSr~X3{(pb+ zXMw{1@9X|5aQ*+j`tO5H|G%&JtHHpb$oXN-|Nr0r{9*L?|NZvlmEwtvTQ+k`Y-eJO z*nC)OKO!sU{m{>43jewf-HXkhsF{p>$Ig@50dLwU#k=_~yEzThW_ zoC_vrfywDV1w8(J-~P`*;otX(Ki4b#WBcCs^WS&r$&7NLO#l8)j*ydMd@#9O&Rp`x zKMv18g@50_{A2g{_dW2Rz+N`bAccS5-%LI(caZVK62p>BN@L;-ma+3_+|2KMPtT}$^1&DjB6*mD#(ZK*^GN9 zA5~c|AN=pX2Iqx#C-w^(#SRPx63m^i8yS^tOq2^=bpHDuHhHpYFuT>i51s$MYfgTv z8qO%Z*;VZ}Bjbt5iWsD-w5`KX1FXN-~aFXvR}*!|GxA5 znxj~tz{&LQyTMNeMFWL@-*tW(D0qAR`>ye`LD|bQn#te!zeJ%zCC|U_@;`qm9ANnO zz50iMvQdVMhp@A8!oTk&KR9$4Zf4a#P+;KrkoQlLKO-fBKOupY;otY#U)CP~zNh^7 z_r2hkiO0Y1@jw23FaBlb@$Y-okAL6Oe(8Js`yTq^-}lU4HVVI#1yp7;L^%KZ?(^f{ z_lRE_9{;|(|1i$b_E-$I#_eUGU`DUW_jSw#_5S?* zzTnqO1r8-e1_s7|-_<6o>lTW>{mr7J$WZRV@nOP0kW8t^zweJHuhlhVJT>{guBhbh zpIXWc8VnbbE3_Dd6iSR36*F9f3;upzKbcoAnXz$lp`NX7(r*q$1%|)hqkeKIG0GYF zGhF0(sK{W!!13YlUyzxgzzTq>@tAyDPnOdb$}^qJs4uOn{aXO6U-_qi5~G}qKf}eh z4O} zW@J1tdA`|tMxn|6=AMimlV_THGalOf)chtRBj4uzmcfj|27fgfc)Sf54@fX6HEiNA z{QF&fv#PZ>BPgV8p0k4LQjf{8w&9HTCvUa2W)z?N(N>jFXtKDSB4hewOFL!Z?%$RS z_TCC$12_yDHvRqHG&$d{k}+ZOOS?eEhRN3Ul8hdcL+vve_f6h!KasI?bD)DQ6Vso+ zlP5UoF$PTD?^LhG@bAxeoqw7P8VrBF|M{cLU}h{=kX*^6ef5F{1M3I(pBJD1`Tq0o z

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 delta 5346 zcmZoz%KTvo^8_2l(uuaW87ntSGFmb*vP}+V{_1S8n}OlSRzYtb22qA~shLiq7x_Ic z7`Q*I{K@O-;mpPWVr%~5U{GY>{xJV%vs{!@uw#PrHwg#H2FV|LL9$aOce9v_R{Rw9 z^l)ZpP+;Kx@Z%>3gCPU=hrG$xSxgx%CiAk+XAIfAmUS*8qugX~_I}1SlW((oGq!D3 z=XlA;xO}r9mpBXK(aoBCf=rB)Hd_l^XJ)LMEG%Nm7(Urku%yQzpHP4CRPVs|@lAathow9E0NzITdaPE}i z`r!UkL*l?D4HJce?|T&)bR{$x7?l(Z|9_wPUxPuBLBN1fsbQ0{;s5Uw!F&ZUU(xXY z_f9b10L)i0{QtcX#II*?01GG?{{LPH5?}~0U{p$#Y1pJ{`2Tys{}=VliVh51A9#N< zE50ZPu{eGz%ibtwR$eOevVM_lq_d~MfAuMD91Io?>249uX|fIiFUvoaU#gFC4iflP z{$Jh7A=vqmOtiq|a&9)ptM$sS%bD32t`t76SN>d{_gpeUs$ROnxln5Ia|?#4&kwk< za55+`)c3_lAM=T5s1zTAdcp3hGfAeR7!vF8v{wi?&|GxR} zgH8XxZ}_Xhz@f{94hNal&MIB~!+&lS7r{8MjX^Rf=ZpoP1Hqn=x>*tgGST&g4>EDOWf8Px!|5XiVl-?YwcAJrL$7Dkd zW5%nKQ#B4Vo}R3!+0WXvmw};W@?K3tMuExiHRbEAerYop8B13%OlHt#zQCjq?)mRK z+utw`Mw@@%SN(Xr>5e*wHuH^OuV{wL67v23zOVbmtnlx<$geqy1qz%@|Gr!NWKc9v z`1jr9r-6dE=fCd;KO2<2JfoTXo&QS|Dpd0P`>y`;m%;&tf8U#b2q+t6xOfOV8z=nx zUh{)Phv8;c{R0ICjt_bNB>6K^GWZh`SQ-9(Z~bNM@$Y-ikAL4Qewldu`=0*e-}mZY zW*+~(C;j;MJ@1#k$G`8fKmL6${AHu?OIbi=HbaE-zwaSG{(VpQrQz}KyZ;a43~i6a zU~4>oFenx%{QLg&2Lm|${QDmE3*z8AKa@QU6a@c$zwtxCqS3P?Ft5M#tZ+xoBsN~_uqG|Um6PApa1)=_UnYg=I8&uD@{(< zmSx;AxmCN8@zmu1+U|_YCcEndGuBL=trN@`H2J-bxuDsfzu#B|H_4xPw_2j*}hK!dcztLoLFPHxn*)y?|Np{T&{_j}S$4kbo8BY%dAJP#EaEEqUG{QV0u z6BJkxP&EOQU+c+ox z$zKgU8676u8>!0f*v-K3Ve1B;4Sve??Hf!pBp8@hF|X8TV4VE-d-mo=BSA*VX@4#~ zXH;giv@T5ZKDnu~Fu>T8;Y8Hm?u)x-_GScyw9Ru? zP~B-UIoCFv@%iMVw$_aDlNs$)8Kowx+bJ^UPxiD^7M}dulEL0v0c-$=VZ)}s-@7K) z+f_1VO#W#X$k;L2+g_50$)LgT=R3<^Wd<{2xq{?MChe;iG#FSvxc|KP{LgpBf0Ij`)fl}d&vv#}KK6%s zwzEQ{oVVOe#|z4yPSFgK4u#$)CH{O*|C605k@4rd{^Xy|^8S^785I6}SN~h5kmC90 zyU(9L-w*sXS4i^w^WE)FkV2y8pYKk8Ksn>jce_7vo(2kkzFYl?_4xCB`frFS%l|Mc zaxnb)-uNfd}bN?9zYyJpO#InB4Co&N=H3qav%qpYKtV*SnZA=1hL>V#;m! z+nAxrSfb+3_p-_Au8R7P{|YEsXD}#CcD7DXW(YEtDERZ;>aXtu2E{;yKi}806_cGAwHYo{ zJ^S!!*0WOBNjHshAbliiy6ulzEuU{_$!X1K^^ z@#p)J$*S&wj7v6`yMJb66q%guxn1_#j{~ess}JzbXh>D~^ZosgdSwX*rqweFlNJ7a zf3ex#%aD=LVsfFkdHvlV#d7l;FDMs+!@I=WSpgK{4L>v)Kw)t1M~9-B!k_OIKYpoe zGB7Iq`F`{VquPE39)&;O#eT3dm^v6Zv0q?NWK#I^J?)1D!|(5h|9^O{$zZSW=X>0b zMDJP!Gh@jLd1Xn5cyCGPKi@-sC}+xNSTOwgF8woE=61d2WOX0qXsaI!6gim;oqZMl zd^h=VN0DXrNk&O$KZQTvb$>9=_E(T(Vww%ot@eXqc7=i@6C;=>{{xh?KL7ah{m%~z z26cu%-@ATjFfc0q`JVE_$lOE0#`Dj2-pNaS%o*z^-}RAY{rKb0cZ13QeZ=d3{V=Xz z)YiH1=eyR=Ki~C!HYiIo$~uEw{rmf||Np+H{bilapv`oFLE-=R1;5xgeAp}Q@#lN; z4|WAH&)?s-{ulE-^jyr_lOe$PMAV<};Xl|F1U!F#U-@6iciZzn-&g)P`25fJzdx=$ zKj0?Az@We&z~;aa#lQfn6&+rJYQw3%@{BtsZ}pwcSiU*Xuac4R)a29t+xbO)X(VVc z{QmCu3*@mmni~c?U*H*v3Py6%xyV<`ekKf-v{*Ll2 zRQUb9_s{R|jQ=7$et&=Q`}g-Rf5X6{O@DrW|MoY?-X+sqp(d&z~p- zWzXN=IsQZ|D0%+=&hjTlLDBQ~cZNR-ei>%j4DkvxqZv(qfB*5DUHAJ%8IRxJgMZ6- zf^@$BE$#99yU%ZkIWK-QuqhTO{QmxA^7jy5MvKj^p`uKT4U?n8)frz+ZVnG+JURJh zc%gjWKTsI%`Sk&ukQ>0YB2oz{%^B$0y7iipULh? zu8hw&_a@0RvhV!?ays|s&B?K#Y%7?W%D7;1dFp4zUz4-bLK)9bKA7gozvC~chTZuj z()&i|ukVW|OQzRy7X38`^AaY{Pyfy+uz7lhJtL#jx1EJ? z!Djg)b|%Km$?7G+?9=`jF#P;(xVf<;lacevZzBaw&!6AZHh(Vt$ig^p^3$q##yyi= ztIZh|C)ZZXbKW@5!0_Na1HI8P`uvtP5sh{x^ABos-yy^9&46&oeOiU1DGexWvHVz|NrX z`}}0S`W8m9$&>4^O0NFJ^&rhV!%I3N!}C%Mqq49=5C_kSAK&M1ZfsCwWbB)~xKUI1 z=TAmulfq}t-kwF0z7@)i!bb*0kKLdlp{K<{2(z**T zFfgz%F(?RMU|^8Ez`*dEkwF1uZ7BnTg3f*h29^s94D1&m&fuGTvei@Zz<-W;+dK^z zm_J1RG+^Lm*zC#t;oJ{x1}27$o;)kQe?K5_H5PE@u0c6>l{R|8`2N)Q_FEB8qUtnNJ0EG=F zg950sN#kTt$iBe9kPix%0}Kq=P%lkmWKbvv=|9N8pu@y-^h4 zf55Lux_E(s!H0oCf#U)L!(v7Th2Iw@pX=3Qe7N~}1x-)`|8%lOKQ-f+Eq!*MosUTbIH8A_GGq z1A~I+MFs{?MEhN2V3@+dpis`hpb*B$prFXWpm2zRK_THH1H%kP1_e+Ur(I-VXkukh z040bk3=9g@7a16?GB7AKPF^@!T(<2Z0|Wmh28Kx&85piJFeuEu$iQ%ofk9!(MFxiT zldn!*$+%#0{gj3L{y&aB*YVQzyc8w4;`?`x$@)_pJ-1(EV31{EP`GrFfnfn7#N;Cv z85rc57!>4~7!*LM{q98ua4vXxk%8gMMFxh2j0_5k7#S4iUu0lVVPa7Db&-LAW%JLe z)0r4OCr_Mll+k2z_)L99naS-lLHT;^Ok>71lON6$mpy)-fkF5Z1HXe?~VDn$W>Z{K(SmsAu{`1XDKe@}%H&u`y1|F2dk_WbsJ z{eMY?BF}H%SO2e7DD?dHeffV6g#yoS-xvQEP|EidT*3I^#y=e;w$-yGBx9ACB`5dK z<vQPRKvILjsF=G?G?U#uibof zt}`R!n#r8=jTvnw+s@x8J?pQ6>bLL7f4_Za{A-<|?Zj}Q`2mBvT`pnFg%(pxa=h3tjV{R1u_zh zUB*3=r*BxuxM{NGMtw$(&6yh$85zYlpWfuo;{NL|g9g)WMw6vZ-!B&I{jrseftP_n zg;A5|A_v3Q@40^s3V!VU`d#@KgTmMEX@40_EDD}%%9dkPFqfR;^y&83?_$3g6~2Ct z+#I=m9t(Stv5B#zrSax}yR%p&f1PJwV7bV^z*SpWo8g+B57`O;02Lb3wEzGB diff --git a/firmware.packed.bin b/firmware.packed.bin index 55c1ef635b8b556b512373193940173af1f07423..09cbff680524f678b2a798eac2f924c1453ffbfd 100644 GIT binary patch delta 48889 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%0D{YdHueh=O;?Pdi^5oc(glP zk+)ww^WEbo{>+hNN&I6RH(RiM`i40=KLZ$^8qN7Hoe&u1=_+R>(bQmB{V?K3Mfj0}&`_o^Og524D1?7alQ1hE^sFHu$YwgX8*SB5y zaxlo}%iDDh$4gkn+XMV#J3VeVu3y;Y@l0d+j-*qqf86+4XEj;2IE(%=Gs#aoyJ~my z@|e4O1a_aCFWR82p;NnG{^aMUpTffyOkvr^Tw9o5FL$pkLodLtNa>xT(D`=L;!RDH z)qiZ!4{JVuAg2D{!9_K3u4O*S%oZ!eQhkiN?g_t~aLMx}4i92B%u`9WWz%S%YqquP$Alk2(LWuQG$cI8 zOh34>J9692)d#2OF7W%vux$Tf0p;6Pe>ECakN(wWa(xvmaCz;`?LS)91&BX;w$n!+NX`U>xV%>|RD)b(ODPMZ{QF47v+ys>nJ)32MVN3IabaGZ)EZV)_ds>#)p3O(% zrK_VCWS7V&eEv7#mg{woj}w2^ui6{>MkGG8dO}n=m*6+hjD^dF+S%okG{Up8CUv_r zgd~Tn^K8GRJo#|hN~&9+{|bGefd9hzwz6rFC}`TcFFT~@6L+;)mpB%YC)rm ztgTw|-8B~vuao{3y-q1V?TC2vuJd)%vb>rkrm@QXTGp1AA7%aG+G|ILEpZ#9>kk{{ zmn{1&_xM_H&tpdc{ts0j_sM*$Q2b)pkz%p!+6tY-nKJAAz1b~;>o6@Uu`1;(v4#kF1^Z%PlcnE&oUK-7K zZZ^}5^B(m96F=_ltv&W{iQ(F)oaYAS@0U8fi!q*L@xyLYoZrq1ntSi)9ypb!zBT#c z?6Cl4@T~Czr!aM)AzoZjh7tvsESO*yZ^0naqbgzQyhkpZ4uV z_ZF_S&7M~B_pTbHeu!Y~{QS64!cJgcg455=KXO)lii|&`=GH5ppS^q6@#Bhi2SC$i zJ&&JUeqZ!k$DXrx_kP*p6|wm{y5)5t>-j!T>{JU_!BA82-((rlIQuL%r$Psd+< zDLKt~$G+H>)a1v%4%fR_?z-eWKfPaPnqKwWuhM*v=UMruUtg&8Wq#{3i^@GAV&an$ zIx-cW@-ST7mYjI6p6kh_#?82|xpC|5|%4t~t^U34Lq8+>H z%(vccYucBlpIQ7?@z$wp4(xyOcJoRZ>nr_z5|yGfE748gWB-8-oYQg+KWD#@crAJ* zkIzc^4Lz1ix@~+)>!kHIY@Z{2Jvgs_xxC!R+gqIS-tE_$w&aJ&A3475(`@Ej$S&r) zd)&)Vp!in6ar@bVK`Y+ftqWLvj-lQ`O0`8{hYnIH9& zuYM6z**V96i68d$x*uD%b;gqb^YfR4zO`I9ndc{_|4mZ1{_9cGe|GEhc`P!ik%3N+AH3(R*R9-dxy3Ev#9?ds6uHL4IagbM zr+9JB`=(KvSDwWcqmoeUzi`T=VAG=|TVu*s6mNFeXOnq&!fat%n;*Nlbx!#)R>Ztn zaQhL5q))a@=b61*g&(~HE$37F;502AI&XM;9qYzwr$Z0tvwqmuChm7^SMs_WOIIWn zetiAnSv_xbFSFgBD2|I-!3&~$H?=ieoqc%bO!c+*&yHO*f4_UTeLl~M*fUeQk2CLI z|7c?Bl)l{L+xj-jjn6r5b{~j*y2kUSa(&MQuiB)pe(9|atXf-)R!G_|+$}Qmqtg`4 z9MNZ=EdA=_xUWwW&QBEkJ7M#q?-N~EI73aX4(dcl?QnTm|2|&B!0R3t*OeTdparSV z{*_%w2sA3XEc#>9!|OV(jcJGNnRMD2uVt(h7n~I2e%*gzlzifYyc1qaY8ZjqoU_3r@X)!_9skxY@XtDM zrcJ9-CwM-i!-dMi|I6x`^WQI+UUZKu>RPVOw8g&1uC>)?uXzx_tp0SP!}QS7nJcoz zHFcM#>O1G`zG}IC!Gb4Q78(h^avn#-J*<4QTXT+*z!xRu`rZrvwJ!zd?KW2DyY2IK zfuUpR(Zvft2j9z)k@V*%r)wyEK|}VZzf4$pZTAL2n^xp~;5qR8(M#Kf5h6z}s{Nn6!aIxGuBB3k zt(pD!j0mYuUKhVv1$iCYWx0<1*^=De`uBJBEcg^R|Eu4+?7p1BMU$F!OocKDfwtAm zZxyedS)0=B`qM!~)5)%Me$(T8!4m~;`UkFU+*$Rq?BSXClbjD$Yp%a39)A-PL z>5Az3g|;QS64$S-Ftlt{m7V-yL$7!5fivINd#4mnw7xdE@?%T4tE974i$;mcgTz1i zIiG`6Q-Wny*DU{#Z`~62+ACy-_LS{GKA)J^uRoBR`>1jax0hef?}w3cb}!bJytFtJ zb#C^G#Oz}y`CByA66=kgOI^JcvD*BKE+5bC&h_h!g6pFnY}oqfy{7g=1<9#V985DB zZQYNp**g2pn%9p1V$9YHF6HTVz3H&|5zF5t^hZ%><0vC_i-u+cS1 zrDc8Wu%6LM^C{V&)$O377&LXe?1R%ZwOIaX-w#?Hkv4nIXRMy~tS@TA{*yZjtW2fm zsXwWo6kWJ*vz$cL(MG1bhd*kry|k3ds*=}U9m013CR+Vy26!ROd znXzGCSD&8oplX%(4w?yLJ0*>q%HO=`oH#1sx zXw6}JAoNO_U1wqF9nrJalYXj(JxfmAP<^n*$5Qxh*GWY&{(Va&ZTCp=?VfJsueyG5 zbj687(^k6fGW=ivU81m&E&RWZ-obT^nnk*m8fRWCR84uiHLQs}z`Xvl;Fp=zJv#5! zmn{CeZeqB_rjwKJx;+lkOzAq-nJ`c1i*$NTT;>TUmmP=x7c%XpX2W({CpgC6Dp7BhefkxHZM) z`RA|O%@}*vPL*7;tMr68%Yv_S;$~#|DlT5fP!oMQw05@nT01$d#k@HoOjo5BF1V6c z(4P1+VTFr7ldXAdP2HRE-~~JSx1G{qjBgrq`J-_8usYn>F)eNo$>cQ{n5A zkR=>dxoOW9ByIbDY-?GSTD`QPnEY@6YWa8bfHMi;ZRFUwn+h#jI_D(V0 zDEM#k!w<6i&el#c{mCTFd^+ljJJ-=>%c5L?X*v$;@-DY<|6|+!#o(x>q5mh&^?MGl z{&eBExsdP74-6YD{xls)ojdQ8Pu%}}r}HnrKfD-P&$QCE{9XF-9cpd8&n_l<)$g|L z&bILDW81X<>xqxw>b_bscqUJIucR{5P^mWU^~T?I{>G=b+l>VfNb?{U7dHx69Ds_bi^t7h>!`d;L(@ zbVR;-v*kw5q%Yk`~Jv2q$YQlv9(LC`2zpzACK1?Ty{LQEA99V?v))L&63zJLrg*P9qnA)%jIq^SBacl-uK!*%>)ESiWg?kwY-{|MNAcR4 zA6ddu$0ob;&UDG6JG3^5)W=;BmU4SvcVFU1GsDiUY!ZovM?4k6Jy%Tqq3vMq_E)bq z`_q$ZrD=vUYd-LYZmJg&mbO;U3|n%bI%9sKo4%9CM(-T%yu*nezl^Rd)G<*#;lrW8 zKVbz=!Rv|rQfZwQ+ggK8pPZQHEa}bTG_SYM_TIgdDO=>Pac{PEZ!&Ajnp@v{^=={O z$_$4Cl7&%$lb`(me`9W=lEvQ}QjMz@#9saK?%T{c<)N<)8MbXTxRm<3A?LQLW`C;D zvW{-~&{bIfUVWVTeO^>S>Zr0n=viU%~f0bv+W5H+Q|93?et~TG$ zzJA9ir)iE+{L|i?v1wsbe(0y4mG-Q1LcPC(^nwB_HOYDGQqi%7YbVM{yo0W4?Z3Ax zHtXoWWx+Y?A4`9Fr`c-yMJIB5?QTmgjq-ihCavb5cOVEfPH3B%@cZ{GpP1#0YIbkh z7X{?qWPQK>aEQXx;ysbe#MmZ3)=cO+ZRUG%@<->6D*exiN{0TkTGI`4y>xA#?X1^2 z@};$Pr;^+IXZMYR;{tt?Z#<~_zFp}am)3>sKa*oqpD`8Mr36}?VV3yZ z`Lp%gmA+3{z5D9CRjJ{dley+kuyK1_9HX+gp*V1P#DS_;lI#l(__}T@1eJsi%#(`$ zF8mp`TW%$X;;KCgYSX?)$Xy0g31`iRbtoUGSU-F%9h ze>L3+)><&*d+iLvOLg&kL)v#SaZG(Ez;Qdst4^VS(=b%QxBJBItM^vLo-x?6A}P_K zY{7=^^PB#4pOHQ%u|e-kd;8;JR?)MflV{}d-tv9B&+v01|H-x;`y7*&o4ot|hVzs( z?~(aTDopiPcL;TUc`+^1sVR7t2&hrG+10l2)%qLN%2(xn2p!#B79+<{_$G19YnI;% zvwIBg$>*P{om}%%I=mX(FZkCKli#7{JH1nRvPeqnjjXqyH?LDPtbeP_zVAfHosU*a zVtr=*V{S@%{OE1lZn+s8`y3sY^>2N1Lh-nf+P%C3GwN?h#?8Ivbl9#yaL0*x>`#~c z?%t;IZt2r`wO=b)V>#LMC+cL)CM++ek_ef_eJPSbva`UNL!mPo5T%&YglRkErntGV~e-9m=l zMic*81ZO%gedi?4`(mcNXmzD;eRp8zF?Xg{m6l?wC6ytqo zCpKqoocn27me+^il_Ctv`=;G~EpPOJy;;$-YxVibA02yBKRh^=`*!#5h#JAa+aFwa zd3*NSq94p!{X5rL-t#|nLp!#_bL;Aac{&Ypn?o+ls=H@+PH1)VD=GfY6~|=XaIWj# z;K-w8`}e`C4@vjr z?yOI)H&DA)t010sWZ}=-Kd&!+vB~9q;ccnvKMObTZDoA1d=k@IsY;CrKYQ}(w%u*p zww~*EKC|FA(B$#!&9$>ZgVms++6d+i&jV!KZsc$?A2ZvUQlq^0R-r@>?}P1nZmrWF zulQ7ZV4Ao8%nG*M7EhW^CdKCNy6o7xR|7P4>r-zDTTW+_yK+{ZTM?cb^Kvx#3I+}NLM-I~SUwwKQ=$YxA3*H`+vE82~Bc2ixr z_qNvHs?|P^--*AjJoDS&l-0rNNk;X%F7O7wkevRxIjVo>;pjsf51wWJnBm;SGIND! zHpjzyn^0}Fv#cC3bjh;28M^xs#r@^$VnOnG-b zY~gkPoE#7SWgBX~ZwuMv*P#-)NmQTB>XR$;D=$B_FfNR+fQBl`$*62R-&`x+@f}!XP@dT&sa+BeNa1lKktGC9vbG? zm-e0QdNPl{skx$X!!|AL7t0!E3ZATt2)CJ`+XEe>+QTIH&Dih@&+^T+vq4)df|BQS zJ1N;MowYLN#!_vk+uJ(o{en%etyZ4H{-ENu0RQ@xf#&wU0S*hdb?)4J>cGjrDIqgm z**H8yYjlL_zrQj&wThYjq-{y|=l^-v8Ax~N4JFXR9Im1V8>d)=gX?uK0vkKMNP zqa9q6&q+HK2<|*FhebQRf-$YwR^s!Q4TcuIz2{#ZUKzWjgrV?I!g`Y(m#0lhd+?R- z&g#@thDi-fyiYrRdu0ZBMWjr6%+sFmdxD5n^MktUE8cQHT?Xo!fr?^KqqN}J3zm=O zZs!`GREoCFW7_^ZuAYC}>k~Fhq}V?GHdoGG&n&#L=jhWcE6L1TES>_FomTaVhgfcX zRH<|=;^*>LxAbzh{aaR(?ew5hp(uQRuSr(%?%LVPni}Q%u1{LMVftdZx^U30*TfI` z#ujsw_g*SBICD>2P31w{`NOg7LT4qXd(Tv2eH|oer?FOc!Rd=T9Us*%{*uUNl5*z3 zMaHcMW^_q^Q$9G~Hi+w(ZuVS^jztFF56Q_ELLXimvL;kD*O=9|amOUxFR@BH1tCsEFt z&Dk&PJ@Xga1gV23ABP>kvANQ&wO%$?MDD4ht*DjS{CcD3(d!oc-Z0NLNa)BatEK)P zX(x=jzQ|eMT-Km;lk4%-N1GO^q`dtVmhdRRyy)^<#lEv&csg7^I-HoIRWqG^(&{}| zP1muOr{49NUZpO3IKfnT?}73QXG0Hc*Ar^aKNO;{MQUD__e=)%7gk3atQPu2QNk~Ma}HO0{)ySKsoCfBOV)4uuk zRP?bHo=Eoz)lz0L%+EAv}Y$?ZP-8g zLxGim?>u#_pV5UsHRL2N&1huu`WmINF=a<=%9H=g+OIpTEH^m4a830g`TRpoJ|>qe zUV++#(Mku3bRUJ?m>{40DaW`r?oRUcXotYBhr*^Ph)#JdVD`!B%+1whBAef{q;wzd zySsW>y|(id_juheD%BBNB>4Z#4|XlK?#kMD{>5}j#@!abggKR$wB_X4Bs}}tprNE2 zAU)yd#GARj-?m1+ZvLIg{K0Uo(6^Y_O*IXI(&slQf62;;R))+Q`plodnn41}Q z4k$z_UY@p&(`4KFB(u+6Te82zigf$G4KuY{_*SgG zZh`QM`BSRZZoCevPPu$C^ismFp5N2Y9Zx(K+HYNcH2u@x z-b+k>m)>Vn*H$nCe#UBmVOH2M;73%iMR5Lf#VBMsJsh>{=38nNSnnrM!Lfy!@G4l%yCeRk{QW3q>Qmr5^oJ)zwc`1qH!X1)7iRt2W%o+6w}b^UnG zarkBNYVcoRT$~jaajrM{^(={Pxg6G~e$DBXS!R{k>uStoCtb8g~f-&0Gwa~bXXq-IVrt>936{)g-D!uzVK;k&ZCh2APW zo^D=u%kWz0@pYHNH?{dpzpg05aE<%Z^Voxh3m2&62DZ=ESs~*a|E~V;?^mD=4mTj{ z2i_V__g<67bK7nGiu%?gVJR;=4#k{HFLZRfa*}^LL)_C;?fvO@7dq}uJKkD+O7+=1 zmT1`w_DNGTwO_8gy+P?(#E)DZtHqP651(z`SaT+eS>W3g#&h!Zhtf|U;7};_nozdJ z@zUYdNnr(3Zm7-H(U5WRe$AL^xqjVc!=*Lv5wTxwb4A>+GT-#p=Ks&S;@?d+@j zZcJ9W;HBBq9yTRZ?UWZs&qjZi-+uLPPnoV)-N?7=rdN87kmaH;f3EzN5_`VSX?p)e z@7^t6Zd~p^yY%_Y92Vs}kc~#yAuAexUfmT7o->*oU;|16;jJ?h%O`~G=9e;3-!x@f zv~FIqX4BK#*CuZOt)vQPxtVw`Ds+L{T%S*T>-QgC_36T~=^mG*d2ZMHzhyFBrSE!Z zhoaLIOA*m${3VBrciq~<${kZPZ-GN({+TxAO3B=^1J1GF=cI!-rOB$JF|}{?IC3?fY2X@3d9R ze&IQ<*!@2zt)KEZ-RzUoG>1+5*VnggG*p*-6y|o~-J$4XKJkU1LnzhjFMBd6Oz~>o&z+m6=BDgRJF>qXVr7(d5Y%%1%aebK0yFPkZ+E+k!bs`kB=Xb7!*VMTcyvnVBhNq^>)6$8S0NV~JB0COv)@ z(qS_}WLd*z<0}hJ*r*@!oFv8X&9dUtiR05eH`S|tky$JC=w)oU`^jA&ou(y+LH2rq zR-51qeVygGEjt4RmMKmF~#>G`lReBy^az4HveRLWdW)Xyyz zON;N#Om}HaJ8Z?I)u!|K$CyG)3u}|Bs1(t;Oos{SlRZ9Mo2%@MC?*@t(^inl-Z&BM<1^S7a=4W3pR% zV@1W3O%oQVORc!hcq6eV+GV-e=lv1z_+sT!$H*Wj>V9ELZ4gA8!57`@ajdktP7T#{iO$YDy zbFnK{5>Z=x{+LerM3+vTNak?mFSB;c4V@{;rsuVP(?*Y!5e^+WO!{VviL(gP0zg3hx`BA51mQ=PqYjV5N&yP{@nNHxT+ie>PeiW{h^E#gdDx$7CHqUJ9#*;#oLFYl2B7esR)1<_{1FFehlj){gw z`St6QR&N9~NWvkzY<@5Gsp;sv)~#@M=Bk{V!r~?i-0M?=3y(&uk^9c0`Y5XDmX%x8 zghNs1(#yHroSRa&GsHbiwcdZ0Eqd+-_p;Y6R^2-L;-#u17WyV9J^l1`QBmK}NPA=TF(LX+> z`|R&0^H{qi(w$a6v6Z;{bXJwpwcsBUzwGW!HOs57$mVzuz%2Nsf%#pG%jwz)T0b=^ zl-VX%pS$fU(W6)OM^S#ZPK%s9>+Qq~(Hoa5T%NX!A#`88QK-4G?{tr5`ND1Y*rm4} ztar26&3MWGjMEkH@_MOjGq+p&&lU`rzHz?&t=_X?PhaIQXfKK0;3{YJV%aJt<@>qP z-K%%i@!i(_sM*+@-S_3N<~jkc+q?X0XGA8SR#JW9_$OECdqSP^>gS6DoR{XG@LhXz z*T$lA(*NarHIv)w_uZbdUHI&&DGxgHpXx?S*k!NWE6300IE`6W{~E8IYPD1TL{J)# zh?<+{F!62IS>>nO)E_Ka+qbb;zOjA%bnD!0(To$Acdr$+`@6c?wf1*3vxu6>=?^;3 zHze$zq%V~yxNd@kJLkEkRb`(1d!n;vrWyML-<^GJxv`D zUeSqFNe`nA)|OfBx|^GpUcl$}&9b*nYM<=R(&-7$;+;0;9S@y%pgWi~MyeuaLBkC} zt7VVYC^P+yztO5DtLNX7`?q&{$Pq31hNZ1l3*;6)%bh8m6q;hOY|@H^jLS+jvYyL3 zgNj!dtgQ7rZN;B!SZ;9oD`UMx{Vw6WfB&r-vzO&b{a!Bh<>d9Sz?W-2hHUGIubAF- zVo&RJ^@~0|6D~@MPi1!~jB>TuW!~{!s{a4N#)YN{pZ+#oQo84rv}^TB-IRy_mvmpx zlyNiQTehlVkx^wS6L?O54nFll-4r;q6|B^ygYd(A+jWG>#@b zM&t)_b?@8$XZ@aChFufmFME$wugnchFOOtnd8+41;OepcV5ukMoC=zlhPf8o-M zt^SQVbE0PW=;_{E*QBYW%W^(?>b?5#V+*&gdE=Yn#q2WG)MI@}S;vLNrrgyc=g-+& z)+)USTCgBGW1~j`mk!HEbJHJZC+W_ex4Pc%x2)E_1J%a2ymS<{#$N0B|L4{(sV9zy zc4-s^hG(g~`}D{rCjP*aXCm^cVx|+es+7EcT+wkrCrAE3+)MA|R}Y+Kugc;%=MW$~ zb9?WSl4svkuV<)i-pJX!MKdR+$927uIE9I%-l{*Z14{FBRcth?!|4#g#O*|Td4YH z$xUsouf5NctCWLS?U!shWUX{<(ZTO7)=xKXJCrqvSx4;G-QNN+)rW#Qo(O!O$@+Cm z_Mwo|2k-q@_10k063tHs>SEiPie@APyh@qv6MlQvwH4NL>LXXWuhg#Je<;!HgV!{V zwrKV4^MH@Rj!<{z~$3{;+Pr_ zmjwxS6HNAZhu@eSlv`4NK5wzuic@K?5Z zd%zi$r&ibIGrtSTI8-x(Plj1t>CdVt){Nc+KXtEdecDy4joEzT9(sN2u0JQuE6;1s z82fhN;zutm=j6!)C1tl3G&26(=XCt#_lI^NR{~$wp6X1gS>Uib@9?zM zt`Aquy65p3^yME^1N`AdX;f!Bf9KLV||4ce9dFJ|p zr}|krJFm*E3)|?iW8=mQTgS&WUayU=)h{rxRcA}T$q+I9v6k64uMG&L?_kd@ebUkS1a$)22><@R0*!xNsotSr7?QK=!Uyt-he3Q#_o11TEEBJ!;{dQ$- zob!EpveyKO)uPyU#IjSXvu;LSr)AhwG9T*cByGrV#6qJG&wBU9q}=bXnor!H2uc`4UK>d;9jFN)|(tH!qPhITIzv&f8Ee~w|bXmS+JeH@UyS4LK7vK*jHM(q}g@%Zxz3E zwfL0wgW3DLq~aR+awY|TcbnC*Yk%Z#i3ty{|7rOf-?%SP%dz-@nO1elJbmM(R!8sM zTDfrUx*btL54YuoS1eyGk@PX&*sFf#jf^wDticudNn8U-6BjlP#gUENNXCapRYW( z@p>WiR)*dW!E4GUZ`Iq-wEuL-)qs2F6f&NF()#E{S&jvy+b9iTRdTY;^e;7H!pjszbWnvoo%mEzXH@QKNf9xPI9%}Y-yI}Yy7NI zO1-Z(|~K;7X$OtWfNR>%WGa<5UY_}qjK|L0l(%@4mG2Od}^FTCUOufMhW zJMTO>SqW|vvg`|gHX(Y)@#DP#uXY%$`^FU<81in3XvW8NN2@&dIT}v7TVsty{Kou{SLaTpDXOR3 zIVI~qUy7}*sF=7zQ=RwV?%c<(ds1U(Mv4_~ORu$G`gW(?GA)72b`LtftZES5G5t!3 zt5uio)_D1f&J|m1WL{WmY|2tkJ-m40&yTrt4Ubee?=Pr}D86dA#^9HD>CBoW1xEWe z!E1|l#6}&ec+%&wt^TUx!^x$Sg?(-rg?_GDuX6kPK_~X7x8&T4lz48IyB<-VRNVzvM-P|p-r!Wf^<8k)V$}tr zEI~oGIU(otj|sn$WdFK=w{}M5v0^Q;xW~#XZ1rZ#mfdO=bDHVc$G_{cr0r7QoJ~wz zvE|b~EBsu3{i;gA%=Di4P`T*nNv?v*pZ~VqVw#?yvEsJX`x%C@mCakC&qOi{em&0g zJSKKi%`ATT+*HA3lQ)C~Wt+*!)Cax(pdIir*SH|;#;m@q1LrC)heiJH$dYo=`|xUu zNQ*0v_W57;n|?~iOx&I1G&jAkr|jFK{7^~On=Bgg>0-WF?SbjMEb|CU{(wjy;yfSD$V8xLErJTc^P#Dfdk^N{8>gS|N08TJ?te^9$nY z!yWf8-s^Zf|6rEyX|Fqr4Gr`!hacuhuiakCdeF+2e_Fik%^OWDtn9Mjms0oRI%N&s9jcKUr9uyUawCF{N!Ekb^~P>^WmEjfCkE6i1s#nRaFZcE z?oo*9TZ`%5I(a;|_bWblbg<8wZ{kPiDGWKH&%VE^+-MMHu+qwB-)F*3>lvD>87hjGrTrczGuVJYFZaWUiRO4k4 z2b~3k>UCpl>s%`}vu(ya4O!*!zVGPOU3ojK)p9wNeWtPBXUuS!+hF*!DT;YI z*RT2u{l2qfq@zn7I7n?#9~s-<-zZ8;{l>sEuvkTC~w8feW}K|< zFO2t0Cd7OdStqmVUgk@I_6<8-c+_J5oPYT|_5R-7hfiF}Ej{M`{q=(LHKM=m7OL`H zk?i&LcpTFl*rDATFIADhVABeD6AL~ePqlNPA)2C|)MpHZ7ZRrZ&a7elv-4q9+S7Zr z6LmjnR4B0p=ekGp9cX^M(Q`{fSitJElRgU*)_hwfc7M;76O)9}Romx2f|P_UjIw_Y zowQ$=E*>cY>KCjk`2N%;bmxJ`Ib4w;)9iX?%$+su>K)MdfK*rFq@PfEDG`JqpZmB+R2wD+nHl3Azz>TYupxiq~{Bp{%OJ2^)XgIl{!=dx9Dd~oxJ_A)u{qD zed+6=6-P2xocCR-zV~_&*BhA!IXC}wl*@_x6?&hR@}DWgywUWrq}@Vq!CiNq(`T&s zlXtqw4P5M6?|;rVQ?U_T^X)#Fc;UzDjKU2Y^|jwG+v;i8@-1s3m+juPSO3BVYXS_4 zF27T(JW+ou-3`2mSh$UIZpNxvzE)+W;XWx><}l1~UgcHu!Ru0Wz5xH~+?&oe(;tUU zbLyD#W6Qh??7LPxh}u){WFY9gY|UXe9hI+9$2J+O9b~tkze38!V>j=Vr4K7MA8g8# zJbB%G_5D_+&puL84m%xZP4L`tw6y2td4_vA#|jmsmaVH_t?r%nzu>!w;|7hV|CR*1 zGaM|mRg0Wrc*%LyWD(}Z3hOH?jL*ei$zRE8(s|9VRP1c}3pGCtp-Jw^3&GKaBvfA`rc zpF&?2ubB-DBEc&+9;|h??3{VxT&>>GcWZa>zhPAS>1P}prZ-{5uHy%%t@2e5UgLjA z>$t7b>$bpa=iD@HR0RV!t-3B>~SZ|69E;jcN|>?3iFGhFFgUd`3} z4}(g>w)HcQ)wxT6O87ET?R)b@5si(9%_Qq+ITQ7TXpipF%e{@RalSJ{IYbJ_JXnIlevs zT?4ltjIOzX+-A4E`0O|Pe&$hs_~_MQnUEPyVoo#D`adQbnA@z7`Yyk7>V)*8e-s)! zzg~6VaCu*ML$XeB;l`bECxlEkGsT?u2$=YBSI<6`|1wjy`JXMW*WqDbFZ2G7>!zAn zeA1Tch4UpoxO1Fsipia&W-aXd%lg7qjT;G*bMa9K(cE8VS zeBAjn!R@pwTcEFsh~3in8|%(%g4%x$X=W@Pjh)9j8(!~Ln87dIwY2R-medPo9Y+_t zzfl?oZ|{n=IrgvZ@tgpe`uXqQX*%EGzAU(@b~j&=k)G0@Si&cH;YX%{o7GMO#KTbk&l2E@YqgttACgpp)>VoMR1Vf#-)B!Ds)7 zsLqVl{QBfy^S1hcvo9VCegU1s7JpW;LtNVEy4=4>LDvo)S;VupbjpVW)!XWirD|He zHg?Co34O5nCTrc9$I7getzKon%`g1DOFH4CYuLV*ZXX@C=f^Qle|AEnl~?_Tzj|Kf z^QP>n``#^yx7L#2Q|}6vEohypDS6`h9_EZc;+h9;y^JwBp4WD|elCZs22=dC6NYnj zg*J=r3es>73%>rat1a`kewis-NfSrOrd*>!}Z_3n(h(T z8Q!!(lT&Y&zTT}Mv4VT)HFEF2J-8q05ihiogS}?%B8ScSNBd{JewbWvz)@qVn;V||#AEt9_4vnIyFYFTKcGM7zIeX6 zXv~3?_9Z{8Y9pfMmUnNoZ2xgeE$ro;1D?mq;xm^2*=fJDSmcwPkLua!8>J@g|2AFP zD=>3!n4zKvLrznU$9X9_>h*9#E79@FW{=8z~at)F1{ z;ebr+|E;z%mtXg`+fOi=TROXyvG*GrcjaooSLQRGt~g(P^X@r?xv}{&O-1K^E!oi*rsYZaTwUgqr;UGdcd(wzmI-~jG>0woRIzGGfXvnjE=unMQ{*PD zefszzcjdLmcE;ipE)+jHWOXxQwb*CbS2`|w-(@pzEfFjKJ9UT6zoWlYlidVrS8}QB znQvXR;@I)F0*S>E5eNKIPfmNZsPF%h2mDVR6bmN_l(@ezpXPR(;EEi9T@!kkJfxjym4pe zlD_h~htExH>i#|vUwVC~nd>4WZN|!nh3g;7zk8>-{vP+`{V`204-Z^l@y9;5Waer6 zwaxpsXXkg$SJ}(Ex%q(CwdDpjHLRQTuC?r|aMpYI`a<7URr?bwlb$twO=aZSb;~(@ z<_e!&PPcU4$SPMR^Yf#SEESP%g(ysCtv9CuO zeLtrcYuK^%8Z47bIaSl~WVW@s!ruwOPa+Rg2DE!@TjEf7d!k54+l|cD{lasm&E5Qo zY5l$fIYyVfa_8Kh!tvYB=&|I%Qk~geJ;%N{_kY;;QS$H#`EL*NCyHL19alfs$L&~K zi@)H^?Z>4GI9(?_`St(jl#0uZZ4I*~e(>)x`*inT)B5gp0mZ_9D_(w$Ntz^nQa1A1 zg2VbwId4`UOg#4VvFK*+Vy+42-PUH9Yc4jiQ9bx<@xP8dsRsowC2b@nV14Lh zsq#*_T8{03{v|B#UruW6m*Rae-Ne1qu708SuKoGf`_3{yEI(jWv1i5PDWXaWDGeH` zs?nSlD<4Lsi+^cbJZIhOTfcV4uc*$;TbLX=WBR!lg5X{4$_I)-r%!^$--;jl#Heq* z)@^vEaA0wSL>9E3cmcoRK4VRVgABep(d3P-L_b>mNw*{Z6tQL4v+w?D{ zY?E-8X`n`}BHN75ZW2Nd!qs_i&Q1t^SvT7!w14*0<3VYvr(8IbzV5quY5iNB z^WN_c*tYMFjPRGZJ~fu~;wbmWS8n{4=2|zONx7bB<^s2c`CYpU#kL%r#V6LBZGTi& z&g2){*KXy5|7Jan+Eth){(r%`3uPIl%+(KO@A$${pX6z5C))E=ENs$p*Uu}HVv>EH zw1s*s&OaTqW3X+f5E=GJaBejxEZ#qGxGMu{`&r95tH zH{0$zIc2wvcm1X0^Fq59e_o5>lZP*h%Na$nHyAK<{Xak9du5NtjsL5h zU892B`vrdqKRB?UtnVf#_ganWDeRNiI^;c5f4`yQ(%Phi-){R4@9X?@qHhi8Y=;{R z@t_e<&_o2N&j;E_X!!V0Br$q7WY`Pw@%t#FLdvG+v+(XZ#;f0Tw5e`MW?E{(wpm|W(oJT4c%_L z4yFdAxh^wPa_8bdkW_Ouck7SI^N&sTaWePXbHT;DJD zc*+~|u-1iP3R|CCoSx9V&C_-FZNzD zIId*q^MQNa-ilBIr;4P_TkrjGYmj>J$h^<%#D-hWY2`U$)B3us&R1L2YlK;SNjQ>F zwB^gei5rx5z6iOY9lT>&ZLpj~!R1D!AP?{4uEo2`GR6KaUAHqnU}C(*wWU&D|F}1- z;rv&tnWFeNJ<5Fkf$GS1$GaPXX6Tg3?Vhcka5c(oshU8e+Q%9DE(ZEocck|G$>X{0 zCH?57=1ljOUUp8~dM5BsW2jMR5w7q3WoD9J{A^j)2A!j!i;lBL&HVS-Bl^vTrP0y5 z&z|6V`(){?l3Tko%lf6-^IDTxrbyMCyP)xPf0^dvpY}iQzY<%wY5S51^D2Y--M7D0 z&YF;ZaBa#5udCJJ!YmKGCUN-fIGDq#pfqLn`-waW8+7kX!7p9H2ZJ$%$9>2bu7X5SSH zovQi%FMD}KRC9K9a#)tGjLMf)-F;Sv7Zt7WU%Vl#$L8%bpBRzeYuzUzl^^*0VT<_u zKZW(xsgKhnba<3KmrtH@uinpK)(M&UiS1=qKQ~#`FSAzD2(y@9Cb=+vd$+#RhMKbb z^VArqm;?=AUr z{?4_xExxU2b1jr9RAhL*ddBxV2Yj-=Yb0~qD}8S~o#M2)Xz2pGEJNp#iC-Said^PA z`dZfv`AxNMz`_C>zn{K~!1^|zMi+b!mfrKyb%KLmbtvFA`@uP@PECdL1FzHol( z`qJJF^WH5jKBe-^=fJYJ(S;jDL?d`D>;5WzjmdbJw^<o-Z*tdjVan8U4}Dt2f}%!WmKM6~2q?N;BFS9W;T z6i@9_yzTm8ijpFmGAE1VzWo=!`f8PowChVnj?;GxJlbp0q>>EoE2g~M;r8Q+r0ado z?WY0~GJ_9^*x%k&R&IP=@qy3p49mTTR)11DGR<#;ufXONQl~p(MPjXgUv}=#l|Ng5 z=-aQ__3ytwOt9KNPcVA=d8Vapd+$z=n8(tY7`JNA3JJ?gDNUc$86q`y-`*m!OtEoE z^VThAj4VGJf>y2fZmykOps7*Ld~MR|R;2?)@c|xNHf~6`Jxj-@rftTx?f^U02R!!} z;5@3mHw8r&dAeuo{++Yg$K(u zR8B?DXW{Y=Ec8pxd-mCk$>EA(VSv%h4K2CP<{j0#9$>dwTJq~YgD?9FJDYqIt~2W^ zKbpPjNmjA|V;9Tyjg<*Mvk%19sPAnlUA>HNM%==AX8SHitQ9;vbHX-Xo|~Jk-zC~D zWETH**=c%q{dbcyI>X(CC3YSlfmbAX=&$#mc z39X2m8{_hi?rx2r|3>}>nnvFGD=JVVIhmAUr%7WJ?FvB zdVSA}{XgH`dA#`+b9LE62Sx>p1^GQ$zW?{j1)Syxk$d~}YxkD=b+N~$*q#2`c1fkh zOTC1B>4PGHh_`nyS8yGi&K4$MVzJkzp5dd~+y7ekqIOUGvF&T!vFB|y+20;seo{U6 zXyrSXYN=MAIhU2TyUhJ{Fve?zbU(M}_C*Rtmy^A>bo+0(rEDzYDed!-Vcl+~5akzg z%d+BW;n?O#{#)^M(Gs?+CN@aKlP7# zM0#yzm$Uuo+Nh_bv-8Ac$8Fzi?z5USZwowI{Q05o1)*cS9j| zl=U04?w>Shsb_z*uV{+vvzf|9ylGCQ5*@+I@))f-j212R|8aNjtSqH#aX*(%+V(Zw zOrlDlIyp>QLzHVB_j;YBFMK{ZpL5KqyykE*BYXSSBAMVnYZEfwXP@?2d&KMeQT7(q z^Nt*9W}CgkzbYKtBDB$!NBhv<+b1WKJ;-#bXFKA}wL|;%w{OlZDYdWjne$V{bSHM~ z_Z6>_-qAhxy7Y?3SH^10f&c0%zg}jE=H9fb(=_$(-0wH$aJYAWVb*wX{cn2Z@3hOZ z5}U(cpHs>?s(zp-HOym6WMabazDGVW5q;OX_L*Nx7hK8R=`8;< z_K?r}`-QiZ&r5HWarspr+k5Dd@5_~w0{myTu(JmK+xQ@BNqzM0TLpQigjD~1e{2)a zdo+;U{CKL^^l7uNAM2}lc$1AOZJUHc#@6Ma1;dS((&U1;-~H^UNeTU=*SvrIYq9?p z`xejOzg^@PI@7jkv%lrKNef&)CrStY_fA! zIm0x^joXDUEInP+bmUikT;r^dI~|*r=zunJhFYr?vs=ucC%eM){M=(^PSUd^X2?8U zlG$rIs)lSf()N9Is&LW{H*Te!mUCYptUp?M;^0oV-WebIq`Ts_A*{u6*o!bJ>I2#^FX&3$0rn-8~dpjxZnhWeZ z*Jm;u`W@ou^kj3$qISQ>ZecfPJ=^&(j`yfvF{97hU#)@f1ygs;_vZ_orn#a1;w3e= z8#|%})|Ke?<=a{3GKsyx4d8O%!&3i$-{#Kpww%f=$#whV?$+b~mYtsyVB^mu_>F(tR~^Nq z+TDpiHNvH?Pg=eGEo3w4k z3V2fbT66`MXh+^nhC2Jem^FfD^{4FkuxnF&qtrvo8SBemZvXi4f6DrUd3R3QwXDj2 z`|Qk&8W~pg-e* zgONGr+nOC6ZZBnXiGP)SO~T+@)C#Xh|2sZO=H@;ScH6$gxBlqwX6;8&2TN=h7CXE3 zF5JPs^?Q{4{vQYXS$)-N`>eAr_RVvslDH83HjmL-&*9N^|G!h`b}IyJadb$t-&@bn zJK_9{FNwMe4k5;igr=s;{!Y8>C{ZmUV?1}IROSk4H~ZYBkCemhOjl@`9#Xot(7?un zWu0xf$(>bxxi18!Z_BOk%GvuD8N3^`l+tekIdck(JeZZC}dJ-Si z4*wGRdu`U&Upv-bw!GW6ToS^S4fhUv)uP?*BzzmZH_XvcUN(w zy!!I^=Zu4lPY>#~aIKybDE+Vb@8{kYD$ESn$d;+atN8x+U9PYz6W+P5%Cq{vxh6aA zL6Oqol*Kc+Z@YNUj%U`;C|A2OY4!6Z2ZJWIc}xjNO!(dX$R}pktZUsxZ&eRyax&C6 z$Aqwkw$@M2?peq4``W2TC%3h^zdWVrv@JS}f7{{%HcM*tALcpiPkVNM*M|L7sRdRS zCFilfniE~9K2^@5l&z6T&L&D@@2y?6AI1K)b??`=b5s&^T|DCpe}`+VlbEB*|C@?I z#rX_}ejf7&6-3Egm8%@C+}_1jY;->AP~8un>kc9ke}31O?L%lUR8S$^?zJ=|aKso)PtkK~o=`Z;yOGRZ)Nl-^ZWxmI1B`D53) z^uM`D4}Ah;KqsE@J@}$?FA3B;{v)$Ht@E?r#>15{eI6;R=2qO!6>ey{<8`=S?WO%w zpT7@ci&q?Dtv_KEt-MB#pZnk=&8BGWr>j>gcKj(-Uwh?;q{%`l*2EmC{Dtcl{P*`L zj4hV5vf8hHPdfUEU-G&Kxu)$CA8ebMKGkDaUB$7#q88U)g-l{Pw0_CLza~Y>I!BZ= zHR{yZ^bYw&9jK0Nzx{U8ug^2{jdJqjpr(4%bb=ar0+Y zDO`*CVKr&{*L1TRbv-pf=EaxinX%VAZ4KYl;$wHo@~_grNl~dvsnP-e_b0!aoBThg z!Y8hU^WF-hv#Q08h065~BJ~n~UrM)o?mfoG?fA5y>4u*BfnAD+!pdvq?7mvwuAZ7( z#;hQoess2g-U{7 z7R}(k9p+Ut(<{kHUB!3WdN;vi2P4n$EdCmt;*nF~8}2iE=P~Iis;7N8|IM|lU*TU{ ztTNSc!}jlzUoAVE1N3=TWxV{+Qliek_q)Wcw8UJ{0--c>$Bv6%ZrqhFT$s?1BHbL_ z*pgwC@%jJcTZ(rzlcjHGu!{ArJ36C9Da49dqQk`F%U&G@-cLr2_ZJ-2`g2P6e zsn^y$C+6!^Nq5X^Vm$lV;JB)xwOzDH{qis%c7Oi+{Iblp1K|@t-s<_k z|F4X|y?`^P9~)m=D7Yx4!!^*^a+9yO#k$ai?!PNH@q?@5RPNXn{!f{WV^12`HZ%CX zzEFR5lh?XWQAeix&dvjMjaD?;FKiZDeZfO6&s}BOzt{Flq&LX#RG6T=cJT-8$LGun z1b3aZKFy6$AxgA%z#QmxE$uTbHTzPSJJ=40ymtxeb?rx6q?!4Zl^Y_8) zV`m+zcbuBZ@6o`w5do~`qq`aQ^LL(Oc7dF)NW(SgPj@Yp0`z9u7BO06Vr9JNu<}@$hfk~*5$T%y|Y@-jGYyJwQ~zW zcQq+#FOq^R7@n+Y{5R#;mG?E>5~0F-5BpjFaXY@y^X7MppoZgno9FXLHHS^Oai6u| z*VCw4g=sx9s*b#~4w{=1&T zZbHdy-|&mG`wy&~tXh9khhsL|o~rxqFJ8Z4TE}+!;>kl>ni(xd zt7XCB6Y4DImr1Pp_Ec}Ccwq=NI0dCX#06RJD0dXm6C4u-d#cAGeoo3I%6FX5CpU z+!+oWtS!r)vggDN+suj_(?dqLl@06fT@sI1`Y@yav8T`LQ=HQq^4PLg2S2d9w92<= z$H(aZS>JyoelapxF3s}ruC$-)v$co(JPaes7H$b@jX%Mk9klwI+{sghEwePY#Bd#b z<&>Ld)=<5pVbt)Nj}b#2mWP~T7}++#~qQo`?GC7&9D)@$AM z6S7nuaBwix&wo7A=at0SD8)EF?l;d5o#c>rIsN>=nYPsRk=fTz{yHnc(pbMCK1J;P z^a=Y}-V{sR)D#n!SS;Mbcgs%V@U+UtdXwv-&I zROm?ftgZC7G0I`*!Ahkz4zD(v}=|5nicNUo%-RY;<0V_ zX{!}C52e>!eN?Yevrtg6`ubvqkX^?0tS==rz3kOK@t8e-^y=stFUJ*Kj>pnUdEIyY zw)+whcFND%cfs+vxhI?s*=4)!GM@WwKDc)*ed6Y|Muj(bZYJdGTv(70tNN#Td%)S! zXA|dwx6vin#EEEXl%Dwh{_xJLv(_))T>STZd-4y_m8>#gFh8l1f?UatPV!$4m8 z$xFd$ySKW2(K;Fknx~DlJh?aVTzZM9+x3%nC5P@zVD(b1owrG7+y1N13SKq+oGnr! z6?Svh6PXwBTD>|-`eA$vZf{Frz4uwKG3WS$s%Mp82P{jH`=A`?En~T^?}YoOyPKm+ zlAm1Gt`81>ysf)_{>DwK%-+a8@Y76cX@7ikd$07=+38c%e;cpZ*>Laxs5)-(PpQ$J zCZv03nKXN`U#@zJ*r90)<{oQFoV4S`;oF{4UN<+V6g>I&wQ-`-Jyoub+p9rQP}RKG z!7gdFu-fA@I})sa$AQlMYs;JqI{Wc!lek=@&E^Rv>Zu2e>*H=@Uz1RD(Y?J%udjLi z!4Q=nlcvsYnxx;n(Qv6mgRJbNUANuR)J0|AeSd5d(tqq0i>7$mnFYJp^W@NZl-wfgIJwrK9DKX;ugetx%YlF7Q)Z+^HM&H?ueva$q|igc9z%#E6} z`hzrYxWl;(L62u<8`US7o_wTOlPWrgJ>v7{byHS7d-U0HkJ84N|1z@!Pd0#RLt({? zzrJFk@4o%Mn#>BWj?K+m6;~a9@TQPs^@hv~x~nWE_J+zyJY{QS%G)5MG4aFnSYz>j zZJ*`@*l1l6ymrgr3y)@U?e5i@8s(waCao4!K2TH>?y;pfA>p@ty^&9igZH)7%igLU zu;O5-w|y3(`uElJ?36s7+g7I^ofHXkKdG(Yv<J4GxF1pwPbCWA5cgTUwULKv(`R@ zTVr>*p!9?Azq23zlJNampL)V~&5KGNOM$cc-r@(P__rR=R(~ly{l~UY*9j?OYfCV-(FIMSZ@hsm6 zK7O;uec!*eM}30L%`ZF8{ag9U#eGw~H_v5>aQ$m{54m2-SX~zGHRX?HVSVuokt;11 zGOw)!waH=&*L}BKbD?4`}uTGE;!S0;ok;J< zu*<6XHh&gPttm+<(wE`ut$f;2>a^HVE{UzoV%^jgu}KFL{QrBU6xPq`vB^E}x%LS2 zab+W!*HS*eSIk(t%60AQQ}Gk?JJ0L|O&U1|yPquo;54l;mVev((>6bhXJ6X0 zy%`(ktCSR2NlDIQpV$;#nCdDg@%BoilFk1pj?VO5v7O@o+8h-EWV$X1UR(X>i_W#p zwX^4HXq5M|PwGxqI8YSc>M^B$>86C+^e#3rj-9~Gziw50>5t+$(hJqu zyB7q%+<8IXXXff1p2y0>Se`v=F#p1p|H@8FEo+{Q#)kZ}R|}=L2DgVx7ll|Ye8Qgb zDBID6`EL}*-P^lrK_etKa{_EOGYfwEWAKHicth>%rJ5S$9oHtUo~(4Bs3Y8?e#?V| zgx|K0ePX0RXDyu<4fXxoetvI3__VhxC;gbJDmGa-^2f@DC9$3RXD0qBviJITwORAY zJio&%di=}!8Wk4YKVlnLu&QG2ek)0D!L2-YL65ez%(C6?<wD+>Ur?I@kz6~dLf4U{%YhUlhvXCR$yT04w%_*hJk{iz1cKFSblHY$I zY`t|-yz$0AeLJ_De)j8P?M91T7hT!HAMtJD(fe~q`r9i$_5HcacI?{y|59mn)v6Oy z)6JR#3}?ECMqFd-a$?dA%n-c2t2RgM>#=s9=$QJ;Qq#g)zi`w}jo59esV}cO_vAG{ z&f{Hj^&*8+HiWhu&K1sUxsa|J#nN*(_Kg3GdY4Bbs*?TF{f(6SHyBzRKKU~2P~@^k z2e-4!`tQEk2pXoFyw2EHVtq%}CV%gk3b|v!k24{Q2eW?s_)@1Fu{GibtI~=}@tyzH zcKT?9Gk9^WyHW9ly*&ASw6uguse;;rqA#%rD(j=$RqyU~5}F)*$**VQ=8x-}C#s(I z;b@w_^PsWMLhfJ6o8|>E&9UoiT3Zk^an~)Uw7kSrhy%XQSZC>yW^Uhg^$TcE_x=+{ z^MniSEuSuxd9hvpkw0f^H1kAeg}to3kN!1p2srcXap8>f^-uZSHo5M$y(zPLzDJD&KS1YU*4qAb%P=Pu3-r4nHSTu754G`){%bn@?h!qn5wH+*^%S9^=eJ}OAw$<4qb%MWO?KR# zdvE$RKkrii2L^sa`^z&o*Po7ax?{CgF7x^dh6$7AuXh(Y>~Xfyx<{`gWY#;A?ajWq zEJf3_SMu@QT3ICfH9qsi- z$kBYt{aoFe&CZJhWSH5$K9*j?)-Y|-ZKK8A6|P^Sx|t{Hiq4*BZPoh7&S%xkiLq0i z%qLyFwDRQ%JHI!)a{SJHwwhD#i@b;l;)~woepzJ&fPK=QU!0favm(r+>h}q)cS+oBq-Ni6$4Xgx_xl62B8NTho?z}- zdN_9D>}t^Z%~wI8iXqwZyEj!GUdSlh`#9r6#<%5FEZ1(G_}XHW_L^5i=hhk-<;DNq z+80@^jNa=mY5mZ8^_3;T52rRI8HYJ6(44Tq_Q}&P?{3WVimyywK4)LV|NN9oH8Z=D zszmE8wy7Nq@rsT+799O$F-O6V{F6RwuB}Kr__%wPFmu@co(nlw)LsYmY8GXlj0ehM$`roLV#s>n z(s<2Gy3*>^>|V~s_>D8nO%}MP))n(BX!1?jlu?!Sq9aVMQ)h?YwU1)#-x3>CpIEa# z$PeHv?OUz6_`XehbkN4=t?u1&C#~KrG?RF-tl?8OL$t=u+fJ*p?F*JHn!_aX-&;U! z@%f6xiU|R;#5LK^<0tT{97K@-`zfQ>aT^C2hUHbxpB9n zNLOxOvex{9pA4&FuiV_lS1NN(+57rINu@ateBB;M$=%!-^^3>q>8Gd0?GY#M?%3k^ zXo2Cji4CWUXWcB!k5ge-GudnB-aD#oXAeK0$EI4mw(UrEP3VMqE0}I^ZMv4JvuV*> zLyP*xy#Y2|UruSP75vK6=eo+Z{^-3Y>y^J{)HK{VP{t~wF=a-=g2Q>&w{(kdxwQP4 zZ4ZOXO$K|5=OOYxZ%yy^x8eT1@%tmqrD5(TUH>_`rN^^e<2Y$kJ?E+1M*IBSWecjd z{hz+HzHYA9Qk^zd46n$Cb?~ z3BR*H``BEFx_0_}uj+#j5)AdT9)_rbj=9m!qQU!s_N68J!syrKToW{>f5P#>VE9eg>5Es60<-DkmfGE&V6fFt;?Bz%XmR&yePj= z%s8`z??C;}nt7_8MdnlHHtmdc`fYVAP|$IsbBag)f&XR)ypH}hJg0N?#{7-O4u^bQ z8!G3SW!>RDvC+6);$WSdrNFL;W64MO_I{O|a$Z>Gw;cof-v__;8O%M_a;<3h3+7wD z3IjtoZtal>oY(Ma3qv&byPvyij`sZ%s>|N?umCh=Bbc31U#`~R^Wcg`@fAgevUGN{ zrEIJAC40VTjW53SEhZEkd2W_RC9kl^G zSnRoO*Wpk@;j{UZg9LqUY&W1>^nu|Vm zeKKq3v%2gwT}PZRP2LpLJ6_GUGT-CU!dZdNPwy5B?mD4-{Aux;wsTo8-Y?cV@5lJJ zM7nG7&axD-Z|U_b7{dj#x~HtKe|hd~*>s~1=G><0Idf;M;>^0M6tlcDj2 zqWnC;gA+DPKU&Jvoae?cCv6ASKq_CMj^8WC8xQ0td49u+xw&?hfVp= zw5?O*EdE_C!K{Kb}?k8I}`)-qt=ig>> z(q;*0=9D`(?O0pJhWU-<1y;L^=Y3Pz;vKwktN4b`YSaE1-H+m&Q@nd^nbo@`&3hfU z6n(Cj(dzN|#_pWF>yufd=5kA|kOPscJ_IdU(2{r6G4*!*W8WV84bQsw#5o@H)r@JK z^Z45K@Z#zJ_8$Ai^Xu`8w+Bo892bAIosxd~Q{o9zLmf%hc{$d8X+^PfJDd-<@k{Ko z)XJASzO1bw(tm%A1&oH}8~#{GUj zC;WC=HPI&P?A$jY?e&Gq0)N*(03G~S?zBE(r>y3_#?x*Lr;RSj1U-4)mhm(7&}oyK zyVe#6ytykrUAfg{(d3zr4_f8-EPKb^UG*mwJYTR{;RyJkp-&PvOCDW3z0pCXVw!Qc zyGL*I$HIjP^LV71u1|0%P7Hpr?w_YsYqUngjF0lR?WQLGuSV9V6l;mFt&{rxw|pA= z2jxiR@aXxoKf7~(Xi}APe6zvRhb#A{Z`j94*H*eNx1V4+Nt%7ng2F3v3wxO7$BH*^ zG<+zrSr*hWiA1r3-b6i@`t+ymgIdiJKo4&{X{Tma0v~2YW z|1oR(0qrTWm#1g5g)Fs}123oBuuo5_QA)z@!&>%5OB$V~_HcrxY*bR!av#?|5J*3} zVE2Z&BYg$0w*E}L;Jzw+Lf?JXgwKDsU)u3FnrRaA5Am{n|JLlQ_e~E=tQP#U{-MPg zyB|4+?HTmil>c6iF8O^ZGp5GFN54U3Ldk5O@Efx;vJK9quMS(u7+h@}rup(!arb1^ z>#Z9NA4$k<3qRdB^WxVSdy~7Lf2*-bvtD7*kPle1O{(LouTvtwEBngfui4G9$OYBB>X=1$R{Sp``YTQZ&eR8-(ZM0eiWj5+hV%6 zSw7G0`%;fydWXB8H2mN+?O7cEwr3k{);4|rWEbzNvUZo0N<{m+ET`YW^LY82rK}gf zkvDqGKBGu>8)%SfSC6S;{ikK6*@vDLvrW9YPU6eo(rL9b*^`Xa(+xX5yK`taJFC~- zzZz7vx|5}%=J8t41_KH9x=EnB8A7gHyt_;xTL9EIyr}n1HfG|EQ_geK+ms4_zdTi3 zbmyV>?u7Jn3wBM7c;$3NVp8xKb%x8)!PD-uWc)T;<_S7jU<%h9vHJRb|JFA7ta|P8 z+Y~%jTbva4K_yV5Mu}~ER$At5t+*O#mxS;DkS#aNQ{p)Up z)nXRcBrOC`LgSiR&y#HD4H7Pv1LL+ z!teEuePYbLudV+7R`me$O@?^xMfQ zN1FH1yn{22Ni6W3d_L=4w$o1I4c|9PFz{{MZ*n4H)}ktL1O?i7KT>H9r zO0fn%J4e<1kknIoKV~Ld=^IXMiF%ZITPva_%Ef!Sh1!{Q=`1%AFGsIjZac&0BjY+p zkw?E@O0p`>mXq&R2spU&lG^P>3p<_W#`I6Q`(~rfdYy0OtP0{uXD9F4*mAtj;jvlp zO!i~99DZ+QfAKz1yI)cL%lBEGGwXNtnyLR^dgI>xu(alRb9Qg2PD?#iJHh^E=QgE3 zlcFsT`$+g*KXQM)fb0a*89re*XY(*+<(eM${b?n>WxeqpDy-^@DJjTZBpZmS($ zIDuZXunN?-b>Y4qke&Pz%^46(m zCO&bFFTPZ59xBwB{&Z8iwLKTNdLVeX{Be_|Oz@j6-t}DaD+CM<8!bBqn!6RX_|{=1 zXz`{wR!Q22tVVu6Q~wsJ$267hjqSv^(?cij@vOM2c&*f( z>u{6)!;Q(0<}>A<0To2El(Pz!+s*L&#IU}RNdi(5?l+Zs2%fNTvvgtm;-M)b`tJK< z`w(fC-*(4l?2(+PKKuBwzLHm;Ar4rWS{fGoa$U2gs*Y5BGFR}zsC4mfOLu-@j`2vg zp1axOD???n%?I^Bjd~5X$(!3J+)#?G_jUD{o}wPHB7o;T2pU;OVc&kA$kv9 zO$*SzBVWDI@R@|!!d{WCk9!=?ERwtXW~2Rj>2Edbxm9ZCEpXhB7wS^TI6bI0yl+z( zxJC4hz0cFKwLX%0BG={J^9=cF%oFRIRP1dq2+Oxg9J0=%seJ`^nsoPSdu>^KVl*X|tqM?O|S1 z9;88XWodyFljJ=1g5c;tc2G%py-`W1{(lt5#*4dZZI1n0_G?anjUuz)w;Y2nJo`7- z&X(8KD4%eB(rRtc5KXAZmUD>-zf%wI>VCg1Y^Cv=@`v#=1#I^le|xOiG0%C!wn?(H zrR-na$k}mO!`XZLTUmaWBz+5++c^sC`*rK=H$Mtqdc3df^~MQpN>Xi?r!U$scc9#0 za#y|5JrCmvA9wXWRrty`b7sH^j;G7#m=@*d@`Y3?@6Og}4>zdG`I>!N%df`U*KK-_ zdi>*~vzo$KEUo5ruN1#|;+xPap76f{X}hIVuNA$TP|>a1@^;a#%hBf!inyuhJDe`I zy2Y~6+I5ndU+>oW_CX;B_5S^hkg5n;C~$vI(93m`>#Gd+MgBCLK2tU2?b|S^>nBoM zzMRxwDwLeQ=B(Zik(HZeY?h_eXxuhidTgD?)}0B{bXcUX%~IOiRA6*=Rn(RzQ0!c^6X;mhHcO^Q03fr_VQEpgHlD2fiB6f zo`3jOU-ES~(=G0bTGoek>{+P9uJ9|`XA7IRHkDJ^1*^RTgNddfq zp^{s8T}sW3T|df9YRpe~GYH2{f2`~C@>KcMEnj&LZ0&p&bo|WPz2PsNre@csJZouE z`%;$s-_BE|wy!^O_3>kU#jj6+bAiLcdpAuJ{?`9(yKQveB=P^`U2AV!T>aOyygDbU zx@ykK75fd;pViKKGW#d9*_WNa6*6xrS;>SwahpC%iRYQ`%Ds#yeqVm6WU4WVCw}4N zg`e&n{i0xyD$*?^|3KzoiNvA>jfxx6x&rRL+$rBA`T1c^x=PKo!?|0t=DsVG-eb`a z{(i~izDbj%&(?qXe$7+mu5(0+PSv7}XWWGok`v;JFV`7qjGnK zeo1$A_WPh4O7e_0clT_beNcId>S-@dMwgU8_tKYw({?qh3U&Vs__*<4t)u1cQ!`mg zKqntcoG!Mzf0t9#GdcZ1Sj_HJNH)c=Tc`{nW$#B}P8Fnt$r(XFk#h&`+qVu+kd1=RdvNz1vT~%O} zBQcL%E-E^3>Xdppi-p%3mFE79;t0IGt9Hrpf6HFZ39t!b7X0?W;0w=|O|`Rgk>>5V z!aTM-Nlf@{{@5pGrPsC9bKa;Pczlx~Uhr{y1iG-=jD{0|Xw&|1JA=-6y43 z--T_R%$Gl=p(3+S-Ah`jer;mE`**)h=H+{nKg~<}&$J@3{)YeQ(*_R}7W?}!#PuIu z_$lqkRQC=08l;z5K8-zk)Zz5bEXh43^4xnLO4uxr*lXi`At|BsfWqbdqW{YlXhu!@ z_Wxl~Vf{9qXYW~cn`SQDAN7;pa(5=rE8*}4w%~R}Zl!5!7Jc}Wvgz;4w_4UBimuZH z+$4`2jIEjF`bWEZao!1^rJgHh9MEXFEUu}jIe*jPg`eb(Ps-k$#iJMb=gmu#h1*5` z?#ka(C9i&UbBp*JV>hLchZTSSeb%}>Zo zCoEJ=d;2?XoULCbEp64yY z(ceTA<3dl`lM-z~K&W=wf_$2M%b=F<%|DQov;CWc5ccCFe-H zck&)sl=ThVGuox_CLp~=_Rf=?hl-cpROHajO*^(=mj8Yh$pWiIQuElQ>Vub*O`axa zvHeOTlkNW~j{cjwYAcWYTef^2q%Lq#g7l8nr)q?Q#_P)z4ixRX@3~y-Qtj=Yc%oAN(uwVf?TmP+H!hv(c{-T2k^ShY%&w<+ITYLZZ z{r%UxJ^IXRf75mAWj_Bc>s-cZ6RA<7#4hviQ06_Qb8^ly8@-LV^KM)}clp${1+})z zR{OrX&9MJO%$3&y6L)>^@87s+R(kU#yECg+PCWg~MV)`|2Z^2ML9JqoebQ@p3vHTm zq@+m7_kF$Gon#3I&Q1G;PO>ZZ{Z+UV#gVCVdtu12Kg+ALc^^14zfgQ|<_kaHkGRu1 zk^ZtK%bpz!3ED2=N!k$~95n#oq?hmEc+Ftg#C;qi%i{k|J1tSFrOymvCdn`D48aubt}OU$|+g9UryJMPB*y-_F|( z;GW68-pPg&>Nn3>_uA%H0XPbBl4QTfCvo0a`Zjsjxe2F&^2IYn79>=yo-ESUFq`r0 zXT#(A2Kj-qAs?)Ru3Q2y<>J%YZY64WVJ+*Tg`JLbv-)DejZ&fSi&;Sn8kcVR{}psq zQ~k<}wK*)x8Mc4#*(QAcd+w59YZUWT?%in#&)$A3$zJr##1nMn*^@sZr)nk`{nV+^ zWV?3AC+a|DRJ-T;tV`Le^H2D#J#F>nfZiObRq+cMLiQWoeSD>Oj_?Lo9xc;9k3UI0 z@tFylHo4|65nmx8D5%1g@XrF`GV-PHguquFxu-`p0ZJ-v(Wcc}QR z(zN<`wrPELa;Zi?-+RI5X(_k9{m}8;utDi-RS*Ir~OUT+V|HAV60;zYB z^Vl1LqXRvs%318Y)~HncH;Tjh_O9BE$NnulJ14+q4wK+FF2gT8pes@qYG{=2zdmX8 zbL9g?m7yM6>Jt)vuYK$jlkI(N_3XE*2OivDh&Or^qWZ3IzT#Rrz8j0Oo;F`nb6B*b z(e-boKF>BzyO0{!Ly8>k0C~sajW8w{DYY_%s=jI zFsf53PPr-mY`^fAKkpXC-b^mL?zzMGf#9XE@>_|{4mzpFqPzYlZ@<8^w}!`RkK3s& zyEo0L|FSfzYHwFVs#Q~zSJM?a^IvR@nku^SnSheS!xub`SDf%2Vosv zZQh8F5{o?Cj&4;9)k#g3-}6IKp@nDf<5cl|m8aHix>P^sv1`TT8$R=e4{UKST*l95 z%*1ZQVx_6X-S>S_%k_i1!kXAiWeO(<`}%8aGcTX-oMo{|qeg{ovVfaBi$~0vfL>mu zSdO~jJqH^yPcFY^qU#mk!|1)>{MNfSCFdVpY|VRqotdTJk+bfH_9^C1&HpNM_}kz2 z$r*|dW()XCWSpE^Uz_!;t@-Y5>wWBUry}0Jy0$L<^W%n@7SA{g?PhwmraXu|((Iqd zUNqy;Ig#rZb=pEp1?)r)a4UbECgiebw!m9~U&Wgfyl?v-_IP^xO4=F28xz=Va#-qr z{Vu7MIh#6dgBzd120iy~vv%_kCl{A(S@HavzCADq6;>1388<0xT15SISC6~#1ycU+ z58RSYPi72ND`orqZJYGI{VP7F=xkY@`i#5qQesBV%qJHotQR&bC~K^pc;rWcXVAn+ z-LBI%iipHBPT66jdHdmVzXL0H#m*W>ge+sd=urRdacuMgD@py$mumKGS~t1BBaZ#$ z=a1fR^x_*YeJS-hEHP;Uhh^ORcl8Qcmiy2BHBhpNn>+ih=xpb-3Hm8va;L{p_3E)*B``9yBK!{wl?C#V&8@P$nJnbIRo{?T%qC7q`yJu+AQ z^Pwi=i^dDzg6V=yXA%xJUJL8!d#tE@>B&Oh^^?8DCMK;_dwF~|;Qo1}@{K!MY&CaQB;?MUi?WpgWkn&(|L4N(RKcBQeE}23>w;h2Sk&h+C)RD+l3m`Sct`Ri^T)%H*F+QC zH|4yZnPjjz?xM#LL*obQ7Wr`rnWy3&p9$L9Ng8P+OX#MoHiUdf``jQZ?qaiuSOXI-?t z1qxcc=UFKgaZEmVwD#18tBt$YX&N8BF)7bvVa&AzYt|}j9S#i(=^K*4?(Uq%KN|PH zk>zu>Iq_$nXL?e-`v%=~Q|;`6rBj|58yiN={}LE9JNxlfS;5LF4Hq^4%rZJWt1|R` z%l}Z1ITP3vohIE=Df;^V&!)W#b2C1+Cf<`g>GrWZXs)l+)elt(oOw(2t-82-XDh5y zG3J@g5VGG))_rE}7v0x&JQ^P(9@iW!bC=xD>A;;{_TBBFp3mXz#Ck=J9~H~~{m?q_ zWk(uaZ?n916k=U3{Q1nEcmLko z314nC%8t9BI`Q#p_8*DUv)AeK{N8xw(aD2h?mu-8IBlEZ6U+Dgq)kh` zu-ZevTXwhnp8ACBm)ohp5cO%ExKvs zH4*&(A2}q41Zx>(awdJB*4VLb(MQ{ywA3Y+*h2QjwffW;cq(;uybXP9bL&eT`y&;$ znU+(M7nBMA)|UuB%@?x%^^Q;RTjOFPr#78hU*Eo7Rp0k=PVS=#c~5umT6o2-L?&I? zCXBDdWa0{0iOcg?WPbDLJ-cffef5AzL*A@#=?Iqai$~0Bv~OPDzqVXcGx2+rzvr2A zR@i?1rSq)(B(l{X2L~1Go+>K&@cIm9i$C?6+iy*X@i>0DedF8|SvMy2>u(G<=~`~q z+m)$N6y|dMdDlT@ui%qm_or$k{(Jn%jJrQ`=EA^-SQ^XtFo+qUizd-zN_@BEVm2O9R}?kSjdOTt)Q`ma-g+!?tQ zo39%bDf!>hRC=`gW%)7h=S^A@WRJWS%&Rx>6)oiu-`%3G@p|$#{Z{umvw|Phc!hW- zF5Ho)SXm<-cg6qZ+XqX1%+RX?6!ZuZG{qly_@pM zw+2#QUirRQm}VrJovLxHSluFb&7A+~flX^R_-&BVT;FuB;$Qo`$*f!Ab|3tkW;<_V zTEWBfSA0sppSZGd#(kUf>>)>8Cng_O)D(@|yLfuk=4A6L4;C`qUeeKVUsFwB!L5%9 zdju!3N%>BhAC~*mZPOd^Q)b;Rg1n!0JESbFzcH1k%)a7{s?0=-i8G%rsE^olWNC}_ zuJrq9(Lz!NAFjqnZk~QXL1qDa%DtXlv6}t6+M2IOMq4w-O?YW=U#EOiz;1iZdbza8 zle*n=8X5Q{@w=M7 zpKkBU33=B0_`#eco#29!t?L=DILh6r-ObDCYUgup(*AV+l{T^A?6)>1B;3wl!)0~D z>)QQ{H>wYOx+CiMKMo1pD05}h1*tScH->$M& zP*|`aYs3CyOAGQ}dE71)V3oDocq7n%drNmn%BHB)3zNQt8#QcfYd*=~V-_gg@Us3( zg2hvdm!|c35=u`Otu}FA9F$Y8`uBc9!b|@?RiPVRPglpbdOz@as~~i(H-z<$)Gwxc zc|2z)mUk~d7*=rd`V5`=ZRzRyzvnHtX;EV9Q4h^eyFS(H?zI(5Rf@mI&Qq5PjxO9d zMJ{@C%VqEM^-&rVZ|{mVZ{C09z?A^dRY}*@mo3Xw+f=*TUQ;7n>Dr`jmaIk@VIh`z z|4nsgYHjo}n#n%7+W-^-HyP^pKbCS?Qa{&Wmqy&a2U3qt9u(qu{AFLg*gri%k7-LA ziVjPwJ@m8APuud;>d&)dOAD-aN!-cslLk9L;?vCIE=qr+G;Ym%Tx&S(-`QhF3nFZp zgJ=G(_@Yz($LMPn$N>#^j|(Tai^sC_9{Z%K*Pp*s(qM|$wQhrj37h3-xLfVtD($(q z`hwmD1?R0_Kn?&!LH$RkZRzo`H#hX;wMeTyWUklAxjreXVgH23_Ex_`E~$r#$`*dV z9xJhNawAjf{wR&5FS=p_z8-69eyp$LE6;mxec@KV&}EsMO@C^Ho3T&oj{AHdsHV+h z%G`|!x1)`GY97tL)@|@6eIDOU2HS%RwcKB_UDf>LRn)pMZQjY9dhRppPkmInmL9|P z^3y4s7Qt^1{Yv+xJ^Q$O!~V%71y;Kx=SN5fMHg;-EzUUQS|gKElegN$xu0`Vc7E^g znj4T@$S=Hdz5mu+v!2=`@`fB5O4l~*jn+C4<(QZ?Wg~OR=84Sn_Zmz{UdpwU zLE+ajL6?_m8}z?udE8m+zvW3+a(eyx%gy=+*>tmZU2pSwSjx6UD@dBZ^PJm+zLirP z#k;D12-hds*6f}lCjrU@N`G0(Cf?o?opRtu+w?^)O6kn@doM(v(-CP*-5%*BA(P*{ z;kLWd@zB_CkB)w3#oPId^qr1)U0bO0f&W3s!8*p}ze8L*rKV?ZC=+?SQtHvkg=Y2c zFK-=;+Lah%_;SiB=Uw#<^9-Z;S*G3=ynl1)G3mggddsABbW|Mg{Vpx;e7e8ZbDE;m zq#GyIvJam4`Qp32R%uSv-V1zRbfoXq?zYc#saCo+Ykq3-fuQWfx<%~?3A22^yVTtC zZM~rXNOZRPqI$=JbNuC|xx5g$&02i6KechyqWT1jX*Va?c1S3s{GGGP`8R{@FJD#x z*52Cz=MS7($?tlz`e8(+K{nH+*NW1;E9aUx?okc@xcio^^v)j*e;(^6*GuQEoajH@ zpQDHAh>DSUq|C~XKP+PQ>$>Hbf4a`ky+P!HfBkaPs~!B4T^o#_$vfO{&X&67x;*-P zV1Cb9wyCS?k44%~-1<%NsEk3z*YDe$pI4|o@Uc%XYg@p1`M}PlH6}ZyCumn0TMJ(N zA}9UzLL(DXH&5OB=SP(|RyFP0|H!OLR9$n`;h64V?=#wO6IDYrMIKD)_O6-6qMU91 zdT)-*;{3;EY&X1~y$+Zt@xXYQg!94H5UXib)3eVAi99}=Hm`o`*(mFYZT%`2B$EqY z9Q@BTgI(f!fvdjMtTkyX_ILeO%Q<7QFrv)fy0G^}T}9ukUb~>)G?lf>yK*Id?RvF) ziA_XlZtbp%e3PO$??~@97mpVMl>-(^2ZCb7>{snf$hn*R+o7ggdKRc0`0djbV)g!U z2Se3E$V=A; z4Bw4;{0@A-r*|y82viWw{Q5}k$?GY93y!XfIh_{9$Xqz1F(!6xUG>uP zN$;_!pz1Gy`|{#~OM;#pi4EU2x$!UCPTuT$^Z&=re!T9|^*xdi#ed8v^(QaTDc{sI zr<${hrRdtElKiv>QbN)^Q~W$te%o*4thurE&v}6rX-j-={tx+mSi)yl-t;MRv~=pX z|L|FU(ym&3*_ST@5&^eyzQE2*1Y!c^*I4L?yiQj9u)7_>1fw{EH5pQuB5r-zC6?C^xW|6i=SFJ zyoi1qJ&**smX`p8D zlba9y4o^-_ ze9_5Y_uF>o`gIfUt((;C9<$%j#!U0;1qO!O`Hw>q?)e1pZqvFs!{;VLdi!LPl#b{p zA?xb%czzq+V%quBYp3`wP+btgG2!ERtKTUK&;6|PC1xDsxps4b^R_*^B<9&GDTA_M zp8DHsjZC)~@2nG#wYgn!?_XPUbAGN+Qo;5+{I7J%H&ySo)YrTC#Nf?VcTg?}_jr9S zF#*&dsadd1fOlKgVzmtm8S3}{%`WSR{>D{*I8f;KMyXk*>=zE^+m!F~OONO8JHI3L zX_fngLY4fqXA52#*t@BI*kvUFs*a-yHcXY5{CvHU2~-<`Lcj_X0C9*KVVzvPQz@#nZbX~9xL?kgL3 zID3yRb5GwPFSvfvXA#{m|Jy%J4V8EGikSb5ZBweYR0T zV?xRK>hBRXH@Lsdw|JxeQ1${_eg8_i@T*q!FOznrv$mcKUfs}sh zeRn<^l)r-CB`yE`%Iv;>{ckK8jtWfE7t)b3ICnK(;?nd3w#t8073Q9tEi2u&@7Uox z`f}y$!YeNreNah1>-?)OBQrDh{_G|{m4CuKW}K_eWo907TbgA$k$L`3!?#fneQ(;^ z|6eR(^{$@jx^_pV@$N>gMc)=V`9EAY$#tK2ILEYUGfEFeq(3yQ(o1``Fk{R1Yex&L zen&o3mkW$4-Z~{NV$-yPPD=k`^(Nk)#c439t?kbZkqB>Q%}K9I?&$b`v;6O%DZpIT zbgSE1<5Wa^xWIv@CNZ}Ko_ka*@VeIR^+xqU&P)fV{f|Sc>VFDd&fbt`ynCb6yn`3r z{HGrK>b6Nf-u%+$UY3@0qpwlM`FWqV)SdaiYhj7qCW&dqe(cqSeHWr)HeK86l(aWZ zWA5u;xf#a}9ou{-N5)*6@!xBMA2sTa9Cugy)<~yao3)n>oCwXQfEuNGS6yoEcwA~W zfj7xQ>RDe}P0!wt$J6ckXcDM*`f}kbr)}wuhSR=(R|2(&Kuxk`0kb~%n>{VCTgpDm zf;C*b(^7h3!=Y>Kd|F47)Tiyf6`SH__pG@kMyh~`^W6Fdo+tcFe|H<0S-9z*Z0b&z zxfc{04k`&DxxixAxn@wC(EFN1{{F}HA-o??m4h7cdZp;olLy7xGp!7nwxvaJO#O1s zvPD`=vCld`?b*WY?K_Sy0ksK1xgff5;tD2kIRMTDw|2**9{=CoJO|n+HTYtZ4{4NM zf3$7VWN($j!Li{xa(2GZP@ezTIr&udu_^X%STAf*WT@X?|JX(Jn`(RYf-;uk%A`vt z?|Ov%SoJb$S^f2PIsTnCJfRtkcdbMS)32|8Ltp<;E3mW5H|d4c?oVZ<_0^zjMd( zL)Yd`2{*m&8aI8#l9d4s()oXaYj1j=oMItzH{*z6L4E!DKi;B0RcCZNl(BqXsrBgG zIlu6qi~f4~%?}q(6F;dlo5k#>qfPoeIgLdt+K+9`S6#)~W-YXO@z2U0HHk+j=LsqQ zjXIHdcvEQ2w||X2Esnf3GB5S?H0)`T|f%Sfa4$ zUbo#R(+|Pd>KV%2rLR1ls5HHLeIf6U^=z*UE#ur@?)n(Cvcg}!@3rBPFTcYiw^y_ZY3i&#(S;kj8GkUH>y)}A8>K(*@G95rgWu|^MQ%J{W@bFOLE(!| zxl`+AbHxkGm2URVj*i+d8@hgjjO7f0+x35fYi@>~*zKXRHlw8eB}4Jz&n_b0Or{5~ znD*syr_`g97d<0>?&93FEj|8w-uGk5Q@G9kIUb&#_H4lvGB=zln>kZYe*;fQ`KH>{3T77JQs-td_ecE*a`cRD zU06|bJ70QB$puiy`k0#q^XrpCz}awPF89~9prUx){+GKxIxQ=A5SaG-qEWM` z-A7P1dO-)H~YrrxXd_y3g| z;YKIt&JMRde`&5b$Cbhd30Dd}$K)Jvy2kxs$=!MhpPT#%>pw?J{oEC<{Xy?c^+wUZ zH!irxJ+NZjWmliiKkfN7ZBDa;Ofj?Iwf8S{bjmNywcdX%JpPv6B<}X415QpJ-jml>B-~Dy z-cobJ>sq(M=X$FTK9UFa+bd6LeW}`!y*^L)$;VqsosH9uzufgMc3ZlGfS7q_&5_&7 z9y+Sjmwnrx`k~(KslhKR3Ar0j4}0hB6S)_$Da_GH>65Dkql)WY6}CDzPzWT;@Eu!k z@O91hPqv^Ch_^o4FgIGOL1^uIjw_&&FyT*3%7remZi9NArw@Ft$>*Sc-ddMnmco6 zaoW6Fd-=fqN*VL;mlLXD=l*j+h<%^`G0UL(zg18ErJZ4zn)!!8=igRAtCw|`)cf?vMYpzmAYUZ#XX{sIJbj`Jr6g zg2@*w*gHyi7rr|mt2AZz^_|!M{aDv`>%^GF4ZRia`~U27YDurE+HvV8 z-$!4y&D`Z$>RX>?ef-?jYF+=>dtPCvJio!Wi*g}*r=DW+oo4HGa85&^>c`s?)5D)O t7c*bb)H*M$-?6!NcfO`Zc+s^<-RepQf?~oKOy4knzDnL>7N43$B>;sGw*>$I delta 48872 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�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 = 0; - pInfo->SquelchOpenNoiseThresh = 127; - pInfo->SquelchCloseGlitchThresh = 255; + pInfo->SquelchOpenRSSIThresh = 0; // 0 ~ 255 + pInfo->SquelchOpenNoiseThresh = 127; // 127 ~ 0 + pInfo->SquelchCloseGlitchThresh = 255; // 255 ~ 0 - pInfo->SquelchCloseRSSIThresh = 0; - pInfo->SquelchCloseNoiseThresh = 127; - pInfo->SquelchOpenGlitchThresh = 255; + pInfo->SquelchCloseRSSIThresh = 0; // 0 ~ 255 + pInfo->SquelchCloseNoiseThresh = 127; // 127 ~ 0 + pInfo->SquelchOpenGlitchThresh = 255; // 255 ~ 0 } else { // squelch >= 1 @@ -452,6 +452,13 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) EEPROM_ReadBuffer(Base + 0x40, &pInfo->SquelchCloseGlitchThresh, 1); // 90 90 EEPROM_ReadBuffer(Base + 0x50, &pInfo->SquelchOpenGlitchThresh, 1); // 100 100 + uint16_t rssi_open = pInfo->SquelchOpenRSSIThresh; + uint16_t rssi_close = pInfo->SquelchCloseRSSIThresh; + uint16_t noise_open = pInfo->SquelchOpenNoiseThresh; + uint16_t noise_close = pInfo->SquelchCloseNoiseThresh; + uint16_t glitch_open = pInfo->SquelchOpenGlitchThresh; + uint16_t glitch_close = pInfo->SquelchCloseGlitchThresh; + #if ENABLE_SQUELCH_MORE_SENSITIVE // make squelch a little more sensitive // @@ -459,21 +466,47 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) // // note that 'noise' and 'glitch' values are inverted compared to 'rssi' values - pInfo->SquelchOpenRSSIThresh = ((uint16_t)pInfo->SquelchOpenRSSIThresh * 8) / 9; - pInfo->SquelchCloseRSSIThresh = ((uint16_t)pInfo->SquelchOpenRSSIThresh * 8) / 9; + #if 0 + rssi_open = (rssi_open * 8) / 9; + rssi_close = (rssi_close * 8) / 9; - pInfo->SquelchOpenNoiseThresh = ((uint16_t)pInfo->SquelchOpenNoiseThresh * 9) / 8; - pInfo->SquelchCloseNoiseThresh = ((uint16_t)pInfo->SquelchOpenNoiseThresh * 9) / 8; + noise_open = (noise_open * 9) / 8; + noise_close = (noise_close * 9) / 8; - pInfo->SquelchOpenGlitchThresh = ((uint16_t)pInfo->SquelchOpenGlitchThresh * 9) / 8; - pInfo->SquelchCloseGlitchThresh = ((uint16_t)pInfo->SquelchOpenGlitchThresh * 9) / 8; + glitch_open = (glitch_open * 9) / 8; + glitch_close = (glitch_close * 9) / 8; + #else + // even more sensitive .. use when RX bandwidths are fixed (no weak signal auto adjust) + + rssi_open = (rssi_open * 1) / 2; + rssi_close = (rssi_close * 1) / 2; + + noise_open = (noise_open * 2) / 1; + noise_close = (noise_close * 2) / 1; + + glitch_open = (glitch_open * 2) / 1; + glitch_close = (glitch_close * 2) / 1; + #endif + + #else + // more sensitive .. use when RX bandwidths are fixed (no weak signal auto adjust) + + rssi_open = (rssi_open * 3) / 4; + rssi_close = (rssi_close * 3) / 4; + + noise_open = (noise_open * 4) / 3; + noise_close = (noise_close * 4) / 3; + + glitch_open = (glitch_open * 4) / 3; + glitch_close = (glitch_close * 4) / 3; #endif - if (pInfo->SquelchOpenNoiseThresh > 127) - pInfo->SquelchOpenNoiseThresh = 127; - - if (pInfo->SquelchCloseNoiseThresh > 127) - pInfo->SquelchCloseNoiseThresh = 127; + pInfo->SquelchOpenRSSIThresh = (rssi_open > 255) ? 255 : rssi_open; + pInfo->SquelchCloseRSSIThresh = (rssi_close > 255) ? 255 : rssi_close; + pInfo->SquelchOpenNoiseThresh = (noise_open > 127) ? 127 : noise_open; + pInfo->SquelchCloseNoiseThresh = (noise_close > 127) ? 127 : noise_close; + pInfo->SquelchOpenGlitchThresh = (glitch_open > 255) ? 255 : glitch_open; + pInfo->SquelchCloseGlitchThresh = (glitch_close > 255) ? 255 : glitch_close; } Band = FREQUENCY_GetBand(pInfo->pTX->Frequency); From 6b4465941908665bff4de1cfa045490361eddc37 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 5 Oct 2023 14:33:05 +0100 Subject: [PATCH 02/12] Mzybe clear up some signed/unsigned compile warnings --- driver/keyboard.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/driver/keyboard.c b/driver/keyboard.c index 7ce7ee1..1c04fc3 100644 --- a/driver/keyboard.c +++ b/driver/keyboard.c @@ -43,7 +43,7 @@ static const struct { /* Zero row */ { //Set to zero to handle special case of nothing pulled down. - .set_to_zero_mask = ~(0), + .set_to_zero_mask = 0, .pins = { { .key = KEY_SIDE1, .pin = GPIOA_PIN_KEYBOARD_0}, { .key = KEY_SIDE2, .pin = GPIOA_PIN_KEYBOARD_1}, @@ -54,7 +54,7 @@ static const struct { }, /* First row */ { - .set_to_zero_mask = ~(1 << GPIOA_PIN_KEYBOARD_4), + .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_4), .pins = { { .key = KEY_MENU, .pin = GPIOA_PIN_KEYBOARD_0}, { .key = KEY_1, .pin = GPIOA_PIN_KEYBOARD_1}, @@ -64,7 +64,7 @@ static const struct { }, /* Second row */ { - .set_to_zero_mask = ~(1 << GPIOA_PIN_KEYBOARD_5), + .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_5), .pins = { { .key = KEY_UP, .pin = GPIOA_PIN_KEYBOARD_0}, { .key = KEY_2 , .pin = GPIOA_PIN_KEYBOARD_1}, @@ -74,7 +74,7 @@ static const struct { }, /* Third row */ { - .set_to_zero_mask = ~(1 << GPIOA_PIN_KEYBOARD_6), + .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_6), .pins = { { .key = KEY_DOWN, .pin = GPIOA_PIN_KEYBOARD_0}, { .key = KEY_3 , .pin = GPIOA_PIN_KEYBOARD_1}, @@ -84,7 +84,7 @@ static const struct { }, /* Fourth row */ { - .set_to_zero_mask = ~(1 << GPIOA_PIN_KEYBOARD_7), + .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_7), .pins = { { .key = KEY_EXIT, .pin = GPIOA_PIN_KEYBOARD_0}, { .key = KEY_STAR, .pin = GPIOA_PIN_KEYBOARD_1}, @@ -103,12 +103,13 @@ KEY_Code_t KEYBOARD_Poll(void) // ***************** - for(int j = 0; j < ARRAY_SIZE(keyboard); j++) { + for (int j = 0; j < ARRAY_SIZE(keyboard); j++) + { //Set all high - GPIOA->DATA |= 1 << GPIOA_PIN_KEYBOARD_4 | - 1 << GPIOA_PIN_KEYBOARD_5 | - 1 << GPIOA_PIN_KEYBOARD_6 | - 1 << GPIOA_PIN_KEYBOARD_7 ; + GPIOA->DATA |= 1u << GPIOA_PIN_KEYBOARD_4 | + 1u << GPIOA_PIN_KEYBOARD_5 | + 1u << GPIOA_PIN_KEYBOARD_6 | + 1u << GPIOA_PIN_KEYBOARD_7 ; //Clear the pin we are selecting GPIOA->DATA &= keyboard[j].set_to_zero_mask; @@ -117,10 +118,11 @@ KEY_Code_t KEYBOARD_Poll(void) // Read all 4 GPIO pins at once uint16_t reg = GPIOA->DATA; - for(int i = 0; i < ARRAY_SIZE(keyboard[j].pins); i++) + for (int i = 0; i < ARRAY_SIZE(keyboard[j].pins); i++) { - uint16_t mask = 1 << keyboard[j].pins[i].pin; - if(! (reg & mask)) { + uint16_t mask = 1u << keyboard[j].pins[i].pin; + if (!(reg & mask)) + { Key = keyboard[j].pins[i].key; break; } From cb05a5881f82a62046ef9a7a58d1dc34ea01c6cc Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 5 Oct 2023 14:40:34 +0100 Subject: [PATCH 03/12] Try again to calm the type warnings --- README.md | 2 +- driver/keyboard.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 980e30d..93ae5f9 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ ENABLE_COPY_CHAN_TO_VFO := 1 copy current channel into the other VFO * Long-press 'M' .. Copy selected channel into same VFO, then switch VFO to frequency mode * * Long-press '7' .. Toggle selected channel scanlist setting .. if VOX is disabled in Makefile -* or +* or * Long-press '5' .. Toggle selected channel scanlist setting .. if NOAA is disabled in Makefile * * Long-press '*' .. Start scanning, then toggles scanlist scan 1, 2 or ALL channel scanning diff --git a/driver/keyboard.c b/driver/keyboard.c index 1c04fc3..e490a13 100644 --- a/driver/keyboard.c +++ b/driver/keyboard.c @@ -54,7 +54,7 @@ static const struct { }, /* First row */ { - .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_4), + .set_to_zero_mask = (uint16_t)(~(1u << GPIOA_PIN_KEYBOARD_4)), .pins = { { .key = KEY_MENU, .pin = GPIOA_PIN_KEYBOARD_0}, { .key = KEY_1, .pin = GPIOA_PIN_KEYBOARD_1}, @@ -64,7 +64,7 @@ static const struct { }, /* Second row */ { - .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_5), + .set_to_zero_mask = (uint16_t)(~(1u << GPIOA_PIN_KEYBOARD_5)), .pins = { { .key = KEY_UP, .pin = GPIOA_PIN_KEYBOARD_0}, { .key = KEY_2 , .pin = GPIOA_PIN_KEYBOARD_1}, @@ -74,7 +74,7 @@ static const struct { }, /* Third row */ { - .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_6), + .set_to_zero_mask = (uint16_t)(~(1u << GPIOA_PIN_KEYBOARD_6)), .pins = { { .key = KEY_DOWN, .pin = GPIOA_PIN_KEYBOARD_0}, { .key = KEY_3 , .pin = GPIOA_PIN_KEYBOARD_1}, @@ -84,7 +84,7 @@ static const struct { }, /* Fourth row */ { - .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_7), + .set_to_zero_mask = (uint16_t)(~(1u << GPIOA_PIN_KEYBOARD_7)), .pins = { { .key = KEY_EXIT, .pin = GPIOA_PIN_KEYBOARD_0}, { .key = KEY_STAR, .pin = GPIOA_PIN_KEYBOARD_1}, From bd9f337a5b908ac3b4ceb549e9c1befc9cd063bc Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 5 Oct 2023 15:26:08 +0100 Subject: [PATCH 04/12] Make all warnings vanish over to bricky's house ! --- Makefile | 1 + am_fix.c | 2 +- app/app.c | 9 +++++++-- app/dtmf.c | 5 +++++ app/menu.c | 19 +++++++++++++++++-- app/scanner.c | 10 +++++----- app/uart.c | 2 +- audio.c | 5 +++++ driver/adc.c | 4 ++-- driver/aes.c | 2 ++ driver/keyboard.c | 4 ++-- driver/spi.c | 4 ++-- firmware.bin | Bin 53888 -> 53888 bytes firmware.packed.bin | Bin 53906 -> 53906 bytes misc.h | 22 +++++++++------------- radio.c | 24 +++++++++++++++++------- settings.c | 20 +++++++++----------- ui/main.c | 36 ++++++++++++++++++++++++++---------- ui/menu.c | 5 +++++ 19 files changed, 116 insertions(+), 58 deletions(-) diff --git a/Makefile b/Makefile index 52f4113..3be841a 100644 --- a/Makefile +++ b/Makefile @@ -200,6 +200,7 @@ endif # May cause unhelpful build failures #CFLAGS += -Wpadded +CFLAGS += -Wextra CFLAGS += -DPRINTF_INCLUDE_CONFIG_H CFLAGS += -DGIT_HASH=\"$(GIT_HASH)\" diff --git a/am_fix.c b/am_fix.c index 51c11ae..09d67e9 100644 --- a/am_fix.c +++ b/am_fix.c @@ -475,7 +475,7 @@ void AM_fix_print_data(const int vfo, char *s) { - if (s != NULL && vfo >= 0 && vfo < ARRAY_SIZE(gain_table_index)) + if (s != NULL && vfo >= 0 && vfo < (int)ARRAY_SIZE(gain_table_index)) { const unsigned int index = gain_table_index[vfo]; // sprintf(s, "%2u.%u %4ddB %3u", index, ARRAY_SIZE(gain_table) - 1, gain_table[index].gain_dB, prev_rssi[vfo]); diff --git a/app/app.c b/app/app.c index 025544d..b4786e4 100644 --- a/app/app.c +++ b/app/app.c @@ -647,6 +647,9 @@ static void MR_NextChannel(void) if (enabled) { + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + switch (gCurrentScanList) { case SCAN_NEXT_CHAN_SCANLIST1: @@ -680,7 +683,7 @@ static void MR_NextChannel(void) // { // chan = (gEeprom.RX_VFO + 1) & 1u; // chan = gEeprom.ScreenChannel[chan]; -// if (IS_MR_CHANNEL(chan)) +// if (chan <= MR_CHANNEL_LAST) // { // gCurrentScanList = SCAN_NEXT_CHAN_DUAL_WATCH; // gNextMrChannel = chan; @@ -695,6 +698,8 @@ static void MR_NextChannel(void) chan = 0xff; break; } + + #pragma GCC diagnostic pop } if (!enabled || chan == 0xff) @@ -2042,7 +2047,7 @@ void CHANNEL_Next(bool bFlag, int8_t Direction) gCurrentScanList = SCAN_NEXT_CHAN_SCANLIST1; gScanState = Direction; - if (IS_MR_CHANNEL(gNextMrChannel)) + if (gNextMrChannel <= MR_CHANNEL_LAST) { if (bFlag) gRestoreMrChannel = gNextMrChannel; diff --git a/app/dtmf.c b/app/dtmf.c index ffb9241..0f96941 100644 --- a/app/dtmf.c +++ b/app/dtmf.c @@ -331,6 +331,9 @@ void DTMF_HandleRequest(void) gUpdateDisplay = true; + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + switch (gEeprom.DTMF_DECODE_RESPONSE) { case DTMF_DEC_RESPONSE_BOTH: @@ -348,6 +351,8 @@ void DTMF_HandleRequest(void) break; } + #pragma GCC diagnostic pop + if (gDTMF_IsGroupCall) gDTMF_ReplyState = DTMF_REPLY_NONE; } diff --git a/app/menu.c b/app/menu.c index 45ec8a5..018795b 100644 --- a/app/menu.c +++ b/app/menu.c @@ -408,6 +408,9 @@ void MENU_AcceptSetting(void) gRequestSaveChannel = 1; return; + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + case MENU_T_CTCS: pConfig = &gTxVfo->freq_config_TX; case MENU_R_CTCS: @@ -436,6 +439,8 @@ void MENU_AcceptSetting(void) gRequestSaveChannel = 1; return; + #pragma GCC diagnostic pop + case MENU_SFT_D: gTxVfo->TX_OFFSET_FREQUENCY_DIRECTION = gSubMenuSelection; gRequestSaveChannel = 1; @@ -1170,7 +1175,7 @@ static void MENU_Key_0_to_9(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) if (edit_index < 10) { - if (Key >= KEY_0 && Key <= KEY_9) + if (/* Key >= KEY_0 && */ Key <= KEY_9) { edit[edit_index] = '0' + Key - KEY_0; @@ -1193,6 +1198,9 @@ static void MENU_Key_0_to_9(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) if (!gIsInSubMenu) { + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + switch (gInputBoxIndex) { case 2: @@ -1224,6 +1232,8 @@ static void MENU_Key_0_to_9(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) break; } + #pragma GCC diagnostic pop + gInputBoxIndex = 0; gBeepToPlay = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL; @@ -1269,7 +1279,7 @@ static void MENU_Key_0_to_9(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) Value = ((gInputBox[0] * 100) + (gInputBox[1] * 10) + gInputBox[2]) - 1; - if (IS_MR_CHANNEL(Value)) + if (Value <= MR_CHANNEL_LAST) { #ifdef ENABLE_VOICE gAnotherVoiceID = (VOICE_ID_t)Key; @@ -1661,6 +1671,9 @@ static void MENU_Key_UP_DOWN(bool bKeyPressed, bool bKeyHeld, int8_t Direction) VFO = 0; + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + switch (gMenuCursor) { case MENU_DEL_CH: @@ -1681,6 +1694,8 @@ static void MENU_Key_UP_DOWN(bool bKeyPressed, bool bKeyHeld, int8_t Direction) return; } + #pragma GCC diagnostic pop + Channel = RADIO_FindNextChannel(gSubMenuSelection + Direction, Direction, bCheckScanList, VFO); if (Channel != 0xFF) gSubMenuSelection = Channel; diff --git a/app/scanner.c b/app/scanner.c index b203ad4..b74fc27 100644 --- a/app/scanner.c +++ b/app/scanner.c @@ -67,7 +67,7 @@ static void SCANNER_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) gInputBoxIndex = 0; Channel = ((gInputBox[0] * 100) + (gInputBox[1] * 10) + gInputBox[2]) - 1; - if (IS_MR_CHANNEL(Channel)) + if (Channel <= MR_CHANNEL_LAST) { #ifdef ENABLE_VOICE gAnotherVoiceID = (VOICE_ID_t)Key; @@ -193,7 +193,7 @@ static void SCANNER_Key_MENU(bool bKeyPressed, bool bKeyHeld) } } - if (IS_MR_CHANNEL(gTxVfo->CHANNEL_SAVE)) + if (gTxVfo->CHANNEL_SAVE <= MR_CHANNEL_LAST) { gScannerEditState = 1; gScanChannel = gTxVfo->CHANNEL_SAVE; @@ -247,7 +247,7 @@ static void SCANNER_Key_MENU(bool bKeyPressed, bool bKeyHeld) gTxVfo->freq_config_TX.Code = gScanCssResultCode; } - if (IS_MR_CHANNEL(gTxVfo->CHANNEL_SAVE)) + if (gTxVfo->CHANNEL_SAVE <= MR_CHANNEL_LAST) { Channel = gScanChannel; gEeprom.MrChannel[gEeprom.TX_VFO] = Channel; @@ -428,7 +428,7 @@ void SCANNER_Stop(void) if (!bScanKeepFrequency) { - if (IS_MR_CHANNEL(gNextMrChannel)) + if (gNextMrChannel <= MR_CHANNEL_LAST) { gEeprom.MrChannel[gEeprom.RX_VFO] = gRestoreMrChannel; gEeprom.ScreenChannel[gEeprom.RX_VFO] = Previous; @@ -446,7 +446,7 @@ void SCANNER_Stop(void) return; } - if (!IS_MR_CHANNEL(gRxVfo->CHANNEL_SAVE)) + if (gRxVfo->CHANNEL_SAVE > MR_CHANNEL_LAST) { RADIO_ApplyOffset(gRxVfo); RADIO_ConfigureSquelchAndOutputPower(gRxVfo); diff --git a/app/uart.c b/app/uart.c index c109419..f54e722 100644 --- a/app/uart.c +++ b/app/uart.c @@ -450,7 +450,7 @@ bool UART_IsCommandAvailable(void) Index = DMA_INDEX(gUART_WriteIndex, 2); Size = (UART_DMA_Buffer[DMA_INDEX(Index, 1)] << 8) | UART_DMA_Buffer[Index]; - if ((Size + 8) > sizeof(UART_DMA_Buffer)) + if ((Size + 8u) > sizeof(UART_DMA_Buffer)) { gUART_WriteIndex = DmaLength; return false; diff --git a/audio.c b/audio.c index 671d386..b46fd44 100644 --- a/audio.c +++ b/audio.c @@ -142,6 +142,9 @@ void AUDIO_PlayBeep(BEEP_Type_t Beep) SYSTEM_DelayMs(60); + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + switch (Beep) { case BEEP_880HZ_60MS_TRIPLE_BEEP: @@ -181,6 +184,8 @@ void AUDIO_PlayBeep(BEEP_Type_t Beep) break; } + #pragma GCC diagnostic pop + SYSTEM_DelayMs(Duration); BK4819_EnterTxMute(); SYSTEM_DelayMs(20); diff --git a/driver/adc.c b/driver/adc.c index 6f0214b..bde01f0 100644 --- a/driver/adc.c +++ b/driver/adc.c @@ -134,9 +134,9 @@ void ADC_Configure(ADC_Config_t *pAdc) ; if (SARADC_IE == 0) { - NVIC_DisableIRQ(DP32_SARADC_IRQn); + NVIC_DisableIRQ((IRQn_Type)DP32_SARADC_IRQn); } else { - NVIC_EnableIRQ(DP32_SARADC_IRQn); + NVIC_EnableIRQ((IRQn_Type)DP32_SARADC_IRQn); } } diff --git a/driver/aes.c b/driver/aes.c index 17a3990..6a8b5c0 100644 --- a/driver/aes.c +++ b/driver/aes.c @@ -24,6 +24,8 @@ static void AES_Setup_ENC_CBC(bool IsDecrypt, const void *pKey, const void *pIv) const uint32_t *pK = (const uint32_t *)pKey; const uint32_t *pI = (const uint32_t *)pIv; + (void)IsDecrypt; // unused + AES_CR = (AES_CR & ~AES_CR_EN_MASK) | AES_CR_EN_BITS_DISABLE; AES_CR = AES_CR_CHMOD_BITS_CBC; AES_KEYR3 = pK[0]; diff --git a/driver/keyboard.c b/driver/keyboard.c index e490a13..91285df 100644 --- a/driver/keyboard.c +++ b/driver/keyboard.c @@ -103,7 +103,7 @@ KEY_Code_t KEYBOARD_Poll(void) // ***************** - for (int j = 0; j < ARRAY_SIZE(keyboard); j++) + for (unsigned int j = 0; j < ARRAY_SIZE(keyboard); j++) { //Set all high GPIOA->DATA |= 1u << GPIOA_PIN_KEYBOARD_4 | @@ -118,7 +118,7 @@ KEY_Code_t KEYBOARD_Poll(void) // Read all 4 GPIO pins at once uint16_t reg = GPIOA->DATA; - for (int i = 0; i < ARRAY_SIZE(keyboard[j].pins); i++) + for (unsigned int i = 0; i < ARRAY_SIZE(keyboard[j].pins); i++) { uint16_t mask = 1u << keyboard[j].pins[i].pin; if (!(reg & mask)) diff --git a/driver/spi.c b/driver/spi.c index 9fb5e02..4a1a279 100644 --- a/driver/spi.c +++ b/driver/spi.c @@ -93,9 +93,9 @@ void SPI_Configure(volatile SPI_Port_t *pPort, SPI_Config_t *pConfig) if (pPort->IE) { if (pPort == SPI0) { - NVIC_EnableIRQ(DP32_SPI0_IRQn); + NVIC_EnableIRQ((IRQn_Type)DP32_SPI0_IRQn); } else if (pPort == SPI1) { - NVIC_EnableIRQ(DP32_SPI1_IRQn); + NVIC_EnableIRQ((IRQn_Type)DP32_SPI1_IRQn); } } } diff --git a/firmware.bin b/firmware.bin index 1c41ed71bafb87c6582928a0bf533aaf43b99353..021cb5e75cdecebbb8396298f6a14c5a919459f1 100644 GIT binary patch delta 3344 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 C87-{< delta 3363 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 diff --git a/firmware.packed.bin b/firmware.packed.bin index 09cbff680524f678b2a798eac2f924c1453ffbfd..7f88a7a9fa8f8d3255a908b9e4fc43982ddc2c4e 100644 GIT binary patch delta 6676 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 delta 6676 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 diff --git a/misc.h b/misc.h index d19c28e..7de519d 100644 --- a/misc.h +++ b/misc.h @@ -24,26 +24,22 @@ #define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0])) #endif -#define IS_MR_CHANNEL(x) ((x) >= MR_CHANNEL_FIRST && (x) <= MR_CHANNEL_LAST) -#define IS_FREQ_CHANNEL(x) ((x) >= FREQ_CHANNEL_FIRST && (x) <= FREQ_CHANNEL_LAST) -#define IS_VALID_CHANNEL(x) ((x) < LAST_CHANNEL) +#define IS_MR_CHANNEL(x) ((x) >= MR_CHANNEL_FIRST && (x) <= MR_CHANNEL_LAST) +#define IS_FREQ_CHANNEL(x) ((x) >= FREQ_CHANNEL_FIRST && (x) <= FREQ_CHANNEL_LAST) +#define IS_VALID_CHANNEL(x) ((x) < LAST_CHANNEL) -#ifdef ENABLE_NOAA - #define IS_NOAA_CHANNEL(x) ((x) >= NOAA_CHANNEL_FIRST && (x) <= NOAA_CHANNEL_LAST) - #define IS_NOT_NOAA_CHANNEL(x) ((x) >= MR_CHANNEL_FIRST && (x) <= FREQ_CHANNEL_LAST) -#endif +#define IS_NOAA_CHANNEL(x) ((x) >= NOAA_CHANNEL_FIRST && (x) <= NOAA_CHANNEL_LAST) +#define IS_NOT_NOAA_CHANNEL(x) ((x) >= MR_CHANNEL_FIRST && (x) <= FREQ_CHANNEL_LAST) -enum { +typedef enum { MR_CHANNEL_FIRST = 0, MR_CHANNEL_LAST = 199u, FREQ_CHANNEL_FIRST = 200u, FREQ_CHANNEL_LAST = 206u, - #ifdef ENABLE_NOAA - NOAA_CHANNEL_FIRST = 207u, - NOAA_CHANNEL_LAST = 216u, - #endif + NOAA_CHANNEL_FIRST = 207u, + NOAA_CHANNEL_LAST = 216u, LAST_CHANNEL -}; +} channel_num_t; enum { FLASHLIGHT_OFF = 0, diff --git a/radio.c b/radio.c index f712f2d..bced7d7 100644 --- a/radio.c +++ b/radio.c @@ -51,7 +51,7 @@ bool RADIO_CheckValidChannel(uint16_t Channel, bool bCheckScanList, uint8_t VFO) uint8_t PriorityCh1; uint8_t PriorityCh2; - if (!IS_MR_CHANNEL(Channel)) + if (Channel > MR_CHANNEL_LAST) return false; Attributes = gMR_ChannelAttributes[Channel]; @@ -176,7 +176,7 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure } #endif - if (IS_MR_CHANNEL(Channel)) + if (Channel <= MR_CHANNEL_LAST) { Channel = RADIO_FindNextChannel(Channel, RADIO_CHANNEL_UP, false, VFO); if (Channel == 0xFF) @@ -200,7 +200,7 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure uint8_t Index; - if (IS_MR_CHANNEL(Channel)) + if (Channel <= MR_CHANNEL_LAST) { Channel = gEeprom.FreqChannel[VFO]; gEeprom.ScreenChannel[VFO] = gEeprom.FreqChannel[VFO]; @@ -218,7 +218,7 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure Band = BAND6_400MHz; } - if (IS_MR_CHANNEL(Channel)) + if (Channel <= MR_CHANNEL_LAST) { gEeprom.VfoInfo[VFO].Band = Band; gEeprom.VfoInfo[VFO].SCANLIST1_PARTICIPATION = !!(Attributes & MR_CH_SCANLIST1); @@ -235,7 +235,7 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure gEeprom.VfoInfo[VFO].SCANLIST2_PARTICIPATION = bParticipation2; gEeprom.VfoInfo[VFO].CHANNEL_SAVE = Channel; - if (IS_MR_CHANNEL(Channel)) + if (Channel <= MR_CHANNEL_LAST) Base = Channel * 16; else Base = 0x0C80 + ((Channel - FREQ_CHANNEL_FIRST) * 32) + (VFO * 16); @@ -380,13 +380,13 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure if (Frequency >= 10800000 && Frequency < 13600000) gEeprom.VfoInfo[VFO].TX_OFFSET_FREQUENCY_DIRECTION = TX_OFFSET_FREQUENCY_DIRECTION_OFF; else - if (!IS_MR_CHANNEL(Channel)) + if (Channel > MR_CHANNEL_LAST) gEeprom.VfoInfo[VFO].TX_OFFSET_FREQUENCY = FREQUENCY_FloorToStep(gEeprom.VfoInfo[VFO].TX_OFFSET_FREQUENCY, gEeprom.VfoInfo[VFO].StepFrequency, 0); RADIO_ApplyOffset(pRadio); memset(gEeprom.VfoInfo[VFO].Name, 0, sizeof(gEeprom.VfoInfo[VFO].Name)); - if (IS_MR_CHANNEL(Channel)) + if (Channel < MR_CHANNEL_LAST) { // 16 bytes allocated to the channel name but only 10 used, the rest are 0's EEPROM_ReadBuffer(0x0F50 + (Channel * 16), gEeprom.VfoInfo[VFO].Name + 0, 8); EEPROM_ReadBuffer(0x0F58 + (Channel * 16), gEeprom.VfoInfo[VFO].Name + 8, 2); @@ -576,6 +576,9 @@ void RADIO_SetupRegisters(bool bSwitchToFunction0) BK4819_ToggleGpioOut(BK4819_GPIO0_PIN28_GREEN, false); + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + switch (Bandwidth) { default: @@ -591,6 +594,8 @@ void RADIO_SetupRegisters(bool bSwitchToFunction0) break; } + #pragma GCC diagnostic pop + BK4819_ToggleGpioOut(BK4819_GPIO1_PIN29_RED, false); BK4819_SetupPowerAmplifier(0, 0); @@ -825,6 +830,9 @@ void RADIO_SetTxParameters(void) BK4819_ToggleGpioOut(BK4819_GPIO6_PIN2, false); + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + switch (Bandwidth) { default: @@ -840,6 +848,8 @@ void RADIO_SetTxParameters(void) break; } + #pragma GCC diagnostic pop + BK4819_SetFrequency(gCurrentVfo->pTX->Frequency); // TX compressor diff --git a/settings.c b/settings.c index 8bec24b..7755012 100644 --- a/settings.c +++ b/settings.c @@ -184,10 +184,6 @@ void SETTINGS_SaveSettings(void) EEPROM_WriteBuffer(0x0F40, State); } -void SETTINGS_LoadChannel(uint8_t Channel, uint8_t VFO, const VFO_Info_t *pVFO) -{ -} - void SETTINGS_SaveChannel(uint8_t Channel, uint8_t VFO, const VFO_Info_t *pVFO, uint8_t Mode) { #ifdef ENABLE_NOAA @@ -197,13 +193,13 @@ void SETTINGS_SaveChannel(uint8_t Channel, uint8_t VFO, const VFO_Info_t *pVFO, const uint16_t OffsetMR = Channel * 16; uint16_t OffsetVFO = OffsetMR; - if (!IS_MR_CHANNEL(Channel)) + if (Channel > MR_CHANNEL_LAST) { // it's a VFO, not a channel OffsetVFO = (VFO == 0) ? 0x0C80 : 0x0C90; OffsetVFO += (Channel - FREQ_CHANNEL_FIRST) * 32; } - if (Mode >= 2 || !IS_MR_CHANNEL(Channel)) + if (Mode >= 2 || Channel > MR_CHANNEL_LAST) { // copy VFO to a channel uint8_t State[8]; @@ -228,8 +224,9 @@ void SETTINGS_SaveChannel(uint8_t Channel, uint8_t VFO, const VFO_Info_t *pVFO, SETTINGS_UpdateChannel(Channel, pVFO, true); - if (IS_MR_CHANNEL(Channel)) - { + if (Channel <= MR_CHANNEL_LAST) + { // it's a memory channel + #ifndef ENABLE_KEEP_MEM_NAME // clear/reset the channel name //memset(&State, 0xFF, sizeof(State)); @@ -262,7 +259,7 @@ void SETTINGS_UpdateChannel(uint8_t Channel, const VFO_Info_t *pVFO, bool keep) uint8_t Attributes = 0xFF; // default attributes uint16_t Offset = 0x0D60 + (Channel & ~7u); - Attributes &= ~MR_CH_COMPAND; // default to '0' = compander disabled + Attributes &= (uint8_t)(~MR_CH_COMPAND); // default to '0' = compander disabled EEPROM_ReadBuffer(Offset, State, sizeof(State)); @@ -280,8 +277,9 @@ void SETTINGS_UpdateChannel(uint8_t Channel, const VFO_Info_t *pVFO, bool keep) gMR_ChannelAttributes[Channel] = Attributes; // #ifndef ENABLE_KEEP_MEM_NAME - if (IS_MR_CHANNEL(Channel)) - { + if (Channel <= MR_CHANNEL_LAST) + { // it's a memory channel + const uint16_t OffsetMR = Channel * 16; if (!keep) { // clear/reset the channel name diff --git a/ui/main.c b/ui/main.c index 3f2c910..c829cf3 100644 --- a/ui/main.c +++ b/ui/main.c @@ -14,6 +14,10 @@ * limitations under the License. */ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + #pragma GCC diagnostic pop + #include #include // abs() @@ -42,6 +46,9 @@ center_line_t center_line = CENTER_LINE_NONE; void UI_drawBars(uint8_t *p, const unsigned int level) { + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + switch (level) { default: @@ -54,6 +61,8 @@ void UI_drawBars(uint8_t *p, const unsigned int level) case 1: memmove(p + 0, BITMAP_Antenna, sizeof(BITMAP_Antenna)); case 0: break; } + + #pragma GCC diagnostic pop } #ifdef ENABLE_AUDIO_BAR @@ -214,6 +223,8 @@ void UI_UpdateRSSI(const int16_t rssi, const int vfo) { #ifdef ENABLE_RSSI_BAR + (void)vfo; // unused + // optional larger RSSI dBm, S-point and bar level if (center_line != CENTER_LINE_RSSI) @@ -333,13 +344,13 @@ void UI_DisplayMain(void) for (vfo_num = 0; vfo_num < 2; vfo_num++) { const unsigned int line = (vfo_num == 0) ? line0 : line1; - uint8_t channel = gEeprom.TX_VFO; -// uint8_t tx_channel = (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) ? gEeprom.RX_VFO : gEeprom.TX_VFO; + unsigned int channel = gEeprom.TX_VFO; +// unsigned int tx_channel = (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) ? gEeprom.RX_VFO : gEeprom.TX_VFO; const bool same_vfo = (channel == vfo_num) ? true : false; uint8_t *p_line0 = gFrameBuffer[line + 0]; uint8_t *p_line1 = gFrameBuffer[line + 1]; - uint8_t mode = 0; - uint8_t state; + unsigned int mode = 0; + unsigned int state; if (single_vfo) { // we're in single VFO mode - screen is dedicated to just one VFO @@ -457,7 +468,7 @@ void UI_DisplayMain(void) } } - if (IS_MR_CHANNEL(gEeprom.ScreenChannel[vfo_num])) + if (gEeprom.ScreenChannel[vfo_num] <= MR_CHANNEL_LAST) { // channel mode const unsigned int x = 2; const bool inputting = (gInputBoxIndex == 0 || gEeprom.TX_VFO != vfo_num) ? false : true; @@ -508,7 +519,7 @@ void UI_DisplayMain(void) if (state != VFO_STATE_NORMAL) { const char *state_list[] = {"", "BUSY", "BAT LOW", "TX DISABLE", "TIMEOUT", "ALARM", "VOLT HIGH"}; - if (state >= 0 && state < ARRAY_SIZE(state_list)) + if (state < ARRAY_SIZE(state_list)) UI_PrintString(state_list[state], 31, 0, line, 8); } else @@ -528,8 +539,8 @@ void UI_DisplayMain(void) frequency = gEeprom.VfoInfo[vfo_num].pTX->Frequency; } - if (IS_MR_CHANNEL(gEeprom.ScreenChannel[vfo_num])) - { // channel mode + if (gEeprom.ScreenChannel[vfo_num] <= MR_CHANNEL_LAST) + { // it's a channel // show the channel symbols const uint8_t attributes = gMR_ChannelAttributes[gEeprom.ScreenChannel[vfo_num]]; @@ -546,6 +557,9 @@ void UI_DisplayMain(void) #endif + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + switch (gEeprom.CHANNEL_DISPLAY_MODE) { case MDF_FREQUENCY: // show the channel frequency @@ -595,6 +609,8 @@ void UI_DisplayMain(void) break; } + + #pragma GCC diagnostic pop } else { // frequency mode @@ -660,7 +676,7 @@ void UI_DisplayMain(void) const FREQ_Config_t *pConfig = (mode == 1) ? gEeprom.VfoInfo[vfo_num].pTX : gEeprom.VfoInfo[vfo_num].pRX; const unsigned int code_type = pConfig->CodeType; const char *code_list[] = {"", "CT", "DCS", "DCR"}; - if (code_type >= 0 && code_type < ARRAY_SIZE(code_list)) + if (code_type < ARRAY_SIZE(code_list)) strcpy(String, code_list[code_type]); } UI_PrintStringSmall(String, LCD_WIDTH + 24, 0, line + 1); @@ -669,7 +685,7 @@ void UI_DisplayMain(void) { // show the TX power const char pwr_list[] = "LMH"; const unsigned int i = gEeprom.VfoInfo[vfo_num].OUTPUT_POWER; - String[0] = (i >= 0 && i < ARRAY_SIZE(pwr_list)) ? pwr_list[i] : '\0'; + String[0] = (i < ARRAY_SIZE(pwr_list)) ? pwr_list[i] : '\0'; String[1] = '\0'; UI_PrintStringSmall(String, LCD_WIDTH + 46, 0, line + 1); } diff --git a/ui/menu.c b/ui/menu.c index 424e137..26b3cc0 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -436,6 +436,9 @@ void UI_DisplayMenu(void) bool already_printed = false; + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + switch (gMenuCursor) { case MENU_SQL: @@ -806,6 +809,8 @@ void UI_DisplayMenu(void) } } + #pragma GCC diagnostic pop + if (!already_printed) { // we now do multi-line text in a single string From 40d09591b38aa766220196706314d0ff8a2a8225 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 5 Oct 2023 16:28:20 +0100 Subject: [PATCH 05/12] Fixed silly error I made --- Makefile | 2 + app/app.c | 2 +- app/menu.c | 2 +- driver/keyboard.c | 188 ++++++++++++++++++++++---------------------- driver/keyboard.h | 46 ++++++----- firmware.bin | Bin 53888 -> 53704 bytes firmware.packed.bin | Bin 53906 -> 53722 bytes misc.h | 4 +- 8 files changed, 123 insertions(+), 121 deletions(-) diff --git a/Makefile b/Makefile index 3be841a..d9ebbe1 100644 --- a/Makefile +++ b/Makefile @@ -200,6 +200,8 @@ endif # May cause unhelpful build failures #CFLAGS += -Wpadded + +# catch any and all warnings CFLAGS += -Wextra CFLAGS += -DPRINTF_INCLUDE_CONFIG_H diff --git a/app/app.c b/app/app.c index b4786e4..787b67d 100644 --- a/app/app.c +++ b/app/app.c @@ -1376,7 +1376,7 @@ void APP_CheckKeys(void) Key == KEY_DOWN || Key == KEY_EXIT || Key == KEY_MENU || - Key <= KEY_9) // keys 0-9 can be held down to bypass pressing the F-Key + (Key >= KEY_0 && Key <= KEY_9)) // keys 0-9 can be held down to bypass pressing the F-Key { gKeyBeingHeld = true; APP_ProcessKey(Key, true, true); diff --git a/app/menu.c b/app/menu.c index 018795b..6c10820 100644 --- a/app/menu.c +++ b/app/menu.c @@ -1175,7 +1175,7 @@ static void MENU_Key_0_to_9(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) if (edit_index < 10) { - if (/* Key >= KEY_0 && */ Key <= KEY_9) + if (Key >= KEY_0 && Key <= KEY_9) { edit[edit_index] = '0' + Key - KEY_0; diff --git a/driver/keyboard.c b/driver/keyboard.c index 91285df..3b5f4b7 100644 --- a/driver/keyboard.c +++ b/driver/keyboard.c @@ -28,70 +28,69 @@ uint16_t gDebounceCounter; bool gWasFKeyPressed; static const struct { - // Using a 16 bit pre-calculated shift and invert is cheaper - // than using 8 bit and doing shift and invert in code. - uint16_t set_to_zero_mask; - //We are very fortunate. - //The key and pin defines fit together in a single u8, - //making this very efficient - struct { - uint8_t key : 5; //Key 23 is highest - uint8_t pin : 3; //Pin 6 is highest - } pins[4]; -} keyboard[5] = { - /* Zero row */ - { - //Set to zero to handle special case of nothing pulled down. - .set_to_zero_mask = 0, - .pins = { - { .key = KEY_SIDE1, .pin = GPIOA_PIN_KEYBOARD_0}, - { .key = KEY_SIDE2, .pin = GPIOA_PIN_KEYBOARD_1}, - /* Duplicate to fill the array with valid values */ - { .key = KEY_SIDE2, .pin = GPIOA_PIN_KEYBOARD_1}, - { .key = KEY_SIDE2, .pin = GPIOA_PIN_KEYBOARD_1}, - } - }, - /* First row */ - { - .set_to_zero_mask = (uint16_t)(~(1u << GPIOA_PIN_KEYBOARD_4)), - .pins = { - { .key = KEY_MENU, .pin = GPIOA_PIN_KEYBOARD_0}, - { .key = KEY_1, .pin = GPIOA_PIN_KEYBOARD_1}, - { .key = KEY_4, .pin = GPIOA_PIN_KEYBOARD_2}, - { .key = KEY_7, .pin = GPIOA_PIN_KEYBOARD_3}, - } - }, - /* Second row */ - { - .set_to_zero_mask = (uint16_t)(~(1u << GPIOA_PIN_KEYBOARD_5)), - .pins = { - { .key = KEY_UP, .pin = GPIOA_PIN_KEYBOARD_0}, - { .key = KEY_2 , .pin = GPIOA_PIN_KEYBOARD_1}, - { .key = KEY_5 , .pin = GPIOA_PIN_KEYBOARD_2}, - { .key = KEY_8 , .pin = GPIOA_PIN_KEYBOARD_3}, - } - }, - /* Third row */ - { - .set_to_zero_mask = (uint16_t)(~(1u << GPIOA_PIN_KEYBOARD_6)), - .pins = { - { .key = KEY_DOWN, .pin = GPIOA_PIN_KEYBOARD_0}, - { .key = KEY_3 , .pin = GPIOA_PIN_KEYBOARD_1}, - { .key = KEY_6 , .pin = GPIOA_PIN_KEYBOARD_2}, - { .key = KEY_9 , .pin = GPIOA_PIN_KEYBOARD_3}, - } - }, - /* Fourth row */ - { - .set_to_zero_mask = (uint16_t)(~(1u << GPIOA_PIN_KEYBOARD_7)), - .pins = { - { .key = KEY_EXIT, .pin = GPIOA_PIN_KEYBOARD_0}, - { .key = KEY_STAR, .pin = GPIOA_PIN_KEYBOARD_1}, - { .key = KEY_0 , .pin = GPIOA_PIN_KEYBOARD_2}, - { .key = KEY_F , .pin = GPIOA_PIN_KEYBOARD_3}, - } - }, + // Using a 16 bit pre-calculated shift and invert is cheaper + // than using 8 bit and doing shift and invert in code. + uint16_t set_to_zero_mask; + + // We are very fortunate. + // The key and pin defines fit together in a single u8, making this very efficient + struct { + uint8_t key : 5; // Key 23 is highest + uint8_t pin : 3; // Pin 6 is highest + } pins[4]; + +} keyboard[] = { + + // Zero row + { + // Set to zero to handle special case of nothing pulled down. + .set_to_zero_mask = 0xffff, + .pins = { + { .key = KEY_SIDE1, .pin = GPIOA_PIN_KEYBOARD_0}, + { .key = KEY_SIDE2, .pin = GPIOA_PIN_KEYBOARD_1}, + + // Duplicate to fill the array with valid values + { .key = KEY_INVALID, .pin = GPIOA_PIN_KEYBOARD_1}, + { .key = KEY_INVALID, .pin = GPIOA_PIN_KEYBOARD_1} + } + }, + { // First row + .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_4) & 0xffff, + .pins = { + { .key = KEY_MENU, .pin = GPIOA_PIN_KEYBOARD_0}, + { .key = KEY_1, .pin = GPIOA_PIN_KEYBOARD_1}, + { .key = KEY_4, .pin = GPIOA_PIN_KEYBOARD_2}, + { .key = KEY_7, .pin = GPIOA_PIN_KEYBOARD_3} + } + }, + { // Second row + .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_5) & 0xffff, + .pins = { + { .key = KEY_UP, .pin = GPIOA_PIN_KEYBOARD_0}, + { .key = KEY_2 , .pin = GPIOA_PIN_KEYBOARD_1}, + { .key = KEY_5 , .pin = GPIOA_PIN_KEYBOARD_2}, + { .key = KEY_8 , .pin = GPIOA_PIN_KEYBOARD_3} + } + }, + { // Third row + .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_6) & 0xffff, + .pins = { + { .key = KEY_DOWN, .pin = GPIOA_PIN_KEYBOARD_0}, + { .key = KEY_3 , .pin = GPIOA_PIN_KEYBOARD_1}, + { .key = KEY_6 , .pin = GPIOA_PIN_KEYBOARD_2}, + { .key = KEY_9 , .pin = GPIOA_PIN_KEYBOARD_3} + } + }, + { // Fourth row + .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_7) & 0xffff, + .pins = { + { .key = KEY_EXIT, .pin = GPIOA_PIN_KEYBOARD_0}, + { .key = KEY_STAR, .pin = GPIOA_PIN_KEYBOARD_1}, + { .key = KEY_0 , .pin = GPIOA_PIN_KEYBOARD_2}, + { .key = KEY_F , .pin = GPIOA_PIN_KEYBOARD_3} + } + } }; KEY_Code_t KEYBOARD_Poll(void) @@ -100,41 +99,44 @@ KEY_Code_t KEYBOARD_Poll(void) // if (!GPIO_CheckBit(&GPIOC->DATA, GPIOC_PIN_PTT)) // return KEY_PTT; - // ***************** - for (unsigned int j = 0; j < ARRAY_SIZE(keyboard); j++) + + for (unsigned int j = 0; j < ARRAY_SIZE(keyboard); j++) + { + uint16_t reg; + + // Set all high + GPIOA->DATA |= 1u << GPIOA_PIN_KEYBOARD_4 | + 1u << GPIOA_PIN_KEYBOARD_5 | + 1u << GPIOA_PIN_KEYBOARD_6 | + 1u << GPIOA_PIN_KEYBOARD_7; + + // Clear the pin we are selecting + GPIOA->DATA &= keyboard[j].set_to_zero_mask; + + // Wait for the pins to stabilize + SYSTICK_DelayUs(1); + + // Read all 4 GPIO pins at once + reg = GPIOA->DATA; + for (unsigned int i = 0; i < ARRAY_SIZE(keyboard[j].pins); i++) { - //Set all high - GPIOA->DATA |= 1u << GPIOA_PIN_KEYBOARD_4 | - 1u << GPIOA_PIN_KEYBOARD_5 | - 1u << GPIOA_PIN_KEYBOARD_6 | - 1u << GPIOA_PIN_KEYBOARD_7 ; - //Clear the pin we are selecting - GPIOA->DATA &= keyboard[j].set_to_zero_mask; + const uint16_t mask = 1u << keyboard[j].pins[i].pin; + if (!(reg & mask)) + { + Key = keyboard[j].pins[i].key; + break; + } + } - //Wait for the pins to stabilize. 1 works for me. - SYSTICK_DelayUs(2); + if (Key != KEY_INVALID) + break; + } - // Read all 4 GPIO pins at once - uint16_t reg = GPIOA->DATA; - for (unsigned int i = 0; i < ARRAY_SIZE(keyboard[j].pins); i++) - { - uint16_t mask = 1u << keyboard[j].pins[i].pin; - if (!(reg & mask)) - { - Key = keyboard[j].pins[i].key; - break; - } - } - - if (Key != KEY_INVALID) - break; - } - - //Create I2C stop condition. Since we might have toggled I2C pins. - //This leaves GPIOA_PIN_KEYBOARD_4 and GPIOA_PIN_KEYBOARD_5 high - I2C_Stop(); + // Create I2C stop condition. Since we might have toggled I2C pins. + // This leaves GPIOA_PIN_KEYBOARD_4 and GPIOA_PIN_KEYBOARD_5 high + I2C_Stop(); // Reset VOICE pins GPIO_ClearBit(&GPIOA->DATA, GPIOA_PIN_KEYBOARD_6); diff --git a/driver/keyboard.h b/driver/keyboard.h index 36a5d3c..78c1a4f 100644 --- a/driver/keyboard.h +++ b/driver/keyboard.h @@ -21,30 +21,28 @@ #include #include -enum KEY_Code_t { - KEY_0 = 0, - KEY_1 = 1, - KEY_2 = 2, - KEY_3 = 3, - KEY_4 = 4, - KEY_5 = 5, - KEY_6 = 6, - KEY_7 = 7, - KEY_8 = 8, - KEY_9 = 9, - KEY_MENU = 10, - KEY_UP = 11, - KEY_DOWN = 12, - KEY_EXIT = 13, - KEY_STAR = 14, - KEY_F = 15, - KEY_PTT = 21, - KEY_SIDE2 = 22, - KEY_SIDE1 = 23, - KEY_INVALID = 255 -}; - -typedef enum KEY_Code_t KEY_Code_t; +typedef enum { + KEY_INVALID = 0, + KEY_0, + KEY_1, + KEY_2, + KEY_3, + KEY_4, + KEY_5, + KEY_6, + KEY_7, + KEY_8, + KEY_9, + KEY_MENU, + KEY_UP, + KEY_DOWN, + KEY_EXIT, + KEY_STAR, + KEY_F, + KEY_PTT, + KEY_SIDE2, + KEY_SIDE1 +} KEY_Code_t; extern KEY_Code_t gKeyReading0; extern KEY_Code_t gKeyReading1; diff --git a/firmware.bin b/firmware.bin index 021cb5e75cdecebbb8396298f6a14c5a919459f1..61974d989fffb98264eb1f369b8f1f3d92a166b4 100644 GIT binary patch delta 14928 zcmZoz%6wum^8_2Fi{%sTZZWD)mSl`(l$cz~xSo}PlR-gZvL=%?qr~J?CTl2vDbs8b z2?hoQkSxPi8x4k=nGd)>Z237kg!zl}lwAxAKeh^b^Du}qv`fu&61~XpX~Dq#A^az= zr-w5e1BiY7CkKNf1NR5tpUrYnPQi`|&fg>)BpW1u>;=g>P3~qf7ghTy?CIgm&Y-}+ z{bAWp4hBO8?hi7Pud|pkP1!Y>k2OjbWINauip<{3UXz^|E*H2n9sczkB&IRBl~tJy z#M*Fi^E%d9j4WIq&itS3!`{ajHTgEXH>1gBb&i*ejG>bSxwJV!CNXfZIY>-)zUU4nEXy6$?yI@ZH9!x zDr1QbE=A4{H~wieEGVpj@-F^+Q216sk%58n|9AHP97=`^3JhEy5`Snj)In7o_@~XF zP|yJ7?ff@+o}?e6&g8d}iy0XvPm~g8l$g9ys+F;Ovc9w=qyA)1>H8|b|9w@KX8a++ zwDSM=m47*u7!;XSaDHI^ugJipWMc?ozxp@XN5;yMQ9;;2IpN>;g8%y@8I&2-6*3w& zeUhj#npk1Q(BtOG+2z3GBzQ5|?H1cLJ_arR3;(}Y{!-51@-mpbUq)2u;YCJMR^8(l z8Pr}qXJBA+n6hj0Gnr4IpuZ`%TUKN@1H zpS)4tm=mNzlvRa6V)9%0YRQ=gT+)QCn|XgJ^IbM!lZ`t!=IlJl|Oz?-lLSl zb@V6m1dzsqKPPJ`Ckgidw3cF?d|yt_n{~x~NzM=LljkZct2+H=QBq{kVBq{<`28KhEGgXQ?K{`M>874nfxy=jbf%Hs1s~U_Xuc>Cw3X*4- zoU3-)u=uAX1LG_MNzM;>KN;t|>NoUfGI_G;g5)A6vzrad(F_cVv!pmb6#rCWU{JJR z;QWv`Ia7VHD#)gP%nS3j9SQ$V-fx&>mfy02ofyaQsfhm)LL1eR`Mm3`l$SRO> z1_lO&dwUod9_*RCPxA_+$mGddcSXT5338(Vn**a01A~Ge1B1xqR_$Cy&CQ>+_cJn@ zZQiV_%E-8Q@=ZNu#)*^v>Zvl;O;*-dX3UxFuCL4<^;hM=0XK%ph5EvVV2k(|7zDT& z6jtytFx=o{U;u^P3qA%0P*{S(?FSzNLjWg(0tY_>L(=B0`qqr~tNvIph& zljFneKeo>qjajr$Ts-$&f}epwpNT;M1{@zepzI0*jt@?gXB)0m1eqei$e?gSj)9?Fn1LaO zoq^#G2LnTgJOcwL07WLJ8rd=`Y+h`X&d4wOTam#agG))x(8Pe_1M_A{6JbVPkZw@$ zKvY|rx-uqDt~XVeW&LpeKch0Uk|KiwL!Fs%L4kLG;jH2i14bi`4|ZI-+zUs^$PnG8yGU2I~mwNeEYvoF`-Gpqmv=Snf=52{|lOqLS>&ef#je4pX_38 z0IpVMOs+K7XPUBm@+xyLM!v~k&HFiF?wK*U*Fsj@=s%zL0SSS zvwu*Ze9%IgQF8KK3xCGy$-0)?l`Vgsdk)vhz@RXLkwM|dRvrc}^|P{;3~UVSA6h1} zTh+3HLY`rAr&Y8p$j=~EptM)8m6d^qfk8v}0=E)_BKwC$n;EU6nS?+=0#XLj1S-I% z?4F!w`-dA(O*EGX-%u`)17vobKqvNAA$ zih-NI{{O$r%D@0Ni-XNUhLwQ85AaLuJvYSQUq%iU~}N`fJiyKWMEjanSlY62tZcMn7q(em{DZ%R^M!R z`8H#+reClnSSJI60!-!ittCGE49S&D+I$y^d>Jj?RdQ-D+`RgL?E}{zRu22u)dk?(csMjteV78I{bv^^K(p%qREy zOEc=b(pf#i3B3 z{NYkgZUj}PAX%_pMh1oNTa$g18T5^%D;TvIE|fg@{hjF_gTn9c8Gj!r7ASBs{r=wb z=l6G=e^DO4zd!#S5I$aJ!^ zbpnI3b^)Wp@9*3H7H3LVGHA10cwEPz&3NI@ciF!T3je=%{rkn2AGiBQn> z{QX_xPmzL-=kM<#e?YGN{axVC1w{tcSOreT-`~0ZL@KCx{{GJPCqpq(;rDl@KT!(G zp1;5U`yH*IR%@D6JGn&!#_xE?d*>%5Pl=1le-SfAM zCrInl-_jnxzdQYg7k!uCl`jjWGtH;9j?y!U~+S~z51!2|20ltY=5rI@c#J$H&8kSnW%am zRH-v4fSd!em0|MBaM${cKSAki@lQr&4iiv{6!ntMxtguPpq=pRd&)mhD&F+(?Q?$L zH`$Bpk8AVZRABh^J>s7N!|(6Q{&9LMG0d!7P|v9R=X=)A2hV?hKm4Cj+00bC;MVg4 zZXi3s_JBGj44_oy<-^LL%wS|JSHYm?cR`uK*jRe<+6ex7=YI^!j()~v$_(bl(iKsg z7_^x#{P|w<@B3a`Zw6hR3z7_s3f6{J#vBDw1^*Q}lrr3&sIz@o{==Tpf+5rG_jl+2 z9OlN}`!~&Z`gT!)K||@kB8LInhv`4`y=A(L8Q2y4jAa^re^2=vV8*~{(4fV@sHnj3 z=liU`=blS3SQ%SSwvLoE-}zg?!;pcQK}5;Y*vdezfbB!>kAL5}ej6~zt1*9g@mJKF z)p%YwgC5rfQD0_7X44n-j0S8U3?_F+sxrz>-WVw?3JzCjzRci*ly4G~Z$_GPoBv@@ zPA+9o`1k$ZWa+4nEUX{a{hurl-C!vDmr;qy`v>EDpo#Sn6EM38>&2$lDy!-E8N;AACF+??K zGw2#iS1@QZUyxIp>TO{xRluMVd~ve(6hDaQ@9&@gPVkl~nCK1Svt0Q7o&6t!a<7+g zK`&fn&tC@RE-&GNXfxvqrfCe?q8Av{8oZ_JGZ-h&sArtTsQj|>_xFyd7&8WL`Ln93k{xQtv(-ykOpf7MC+0TH% z%AlUPff`}4>BI}0@{}_}l&5R4Q85os7S|hxpE19&JFKQ@7dB+$_H5i#{S1@Sr zyuhH$sGwc&=X>ZskRvu;U{vx0hf3^ohS@^ajM{!T8FUyfhCOG{XSfjjeDiaVD)9>- z8ONIpv$?HVv~6#CcuUE$8efvCzg;ivY<2;p!49m!`Z>rS8vo2E=f_IdGtA`D=y)- z<-CGS1v9vvg%cQ+wCW3fe-HT~;N4^_Q}Iua;liH>zrSz$u?bvo|N8FyKS^$iqp)Y8 z!msbP|Ctq%og^H7f9L=4`}>U_d>+5PPyYA&`|=;g55TPoXvPJlN^oifC2mFrg^!F3 z3ZFo1XfuC`8v{eYVFm^P#l2n%49>zC-Oj=ZyS;;qWeR?OpYmg;w{#A}WG!Qf3I+|< z3tPP-!R}_bu=>I8?+iaS`k62onkZB-XfT8F{9guT<$|@7&&Ijx*ZutceaatW1_mV) zW2pjT21X+@W2u7a-Zo(UoEI4M880w?DE#^RyZs*qrHPXr<3%$we*XR*_D7k4K?zi& z8&`r8Em&RR&o-}%l|~s8>VJQK`M0=|S)1)blQ*mJt$GG6#*2(bx5^omjSK61^JRb5 zGiWkiWc-lvbG7X4dIoI}JK!gS!r$*7{xT~3tpEG{&EL|=`{Om0)4d*-vKw74*J3a? zQZ9L1EL@-rs+}$}ez5=f@B6KPj32Bgb0;X)M|l<~{Q7S9@7MQx|06tpeV_T)fZ^Bo zZ~qyeXIBP#F;0dgK~QS(`N24wS)1Xe_Hzja4?orqcE4E|`k2I6rm=w%GUH?hZ9Z@= z;=aJA4GIC)iwru<7nqc6ybVEFT%G^9r7vg%LAruzGK03!1qL013k>z(0BHNgFyqg6 z&mYVa{%e4|)cwoQdv-O0Hv2_GAAY3}6J13G2G$ST|12-o_L^MHr_FjJQf6YYmKXEP z5TlDB0!qr>wIC~$)x3lY6ucOXEsTT<}Cm{1Rk9 zhUpN_3x-0*a>gpglZ@I-222e4Viy>6mR-_!=Z`R4IGk$&l^kajc@nr8LY1?zZm=qNl{(hhM zXPGzaESU^thNazl#?loT91RkSy>2tiiqK^E_5JRTh29Ij4oggSlDx?}fpxZW0;95V zA^YUTNrv^Y(yUYOKcD3L`#GbcnW;>HW`XT<2K_v6xpM9qYPi%w!bQo{SgHV0!&Z1p z*H3n0xVZIMi#Ln$Z4mpy`e%*atj4$Nqc=@<;=RDE$#7xSvjUjx#U;;jy`_6VdgedN z@Mfr2oL$eP%>$}jwK*@Ocrz;As*J8@(q_KEpa^RA2{OccN5>r3X1Lk$%thJTImRp6 zV^`G0m=L&}O(0{Y;xdlfl4PszSbiQQ6RtyMRH<;-a&c zuaR&8lahnCR6)#BMkPxI1%`j$wf?(2V^j)q`u?0j-{2ys^tE{gD)vDs-^Kf;?1_2? z4W-+zcEZb;kTwQU&#fd`2M#tRJTTT3);j)QIF{PyiLbpvD2H2(~YmW^gE% z26w?geOrf3c7N>i9T?+V6Il*S*#D1VFC%NilKt!ld=D~%8WCI!jLM)a%Ee%6Bv1iL z^^2d17jQ9{841@H7=f~0fe`~p!7(o*vq|+9hDHTPytoUdmoIt(3iO}fr~m7I3aXe4 zf3-hlm<`I|j5irR=>B8TceVv7}Oc{7!4V<+42}A{xIk>T&R5limHsKS`4P( zjLvYO{=ph=DTaDWBk>B5g7Bvn;1XT#qBgkw2MQeDr;EH}su^Z5ewg^1QE8z!sQF?9 zjYURn?u+xh;~}-@4V$Nt1u_Lp%0*9^RGvL&)@Hb2{FHTtNCEQ)n;)z*rh2k|$okRm z%{oE4Ylai^vV`VQ{S8w6_=zclm8o{Y|LF;_SsMTjKXo9VdW;pm9lGlHKulx7^d&+N6ZvXZi;-6Ts zf83wIay%@pXhKs3gSN;;ac@XUV!bHpZ3%V)!$p~A49bFDg1#0;mZri5+69ct{9bWS z7_D#DZxSxxQi?bG6awm2GHQRi2+HN}FM?e7`PuL98~?q04#@)&fB%1%`wgmMKv@cw z9R<`G7&!j^{}0I(3^#Khv3yYckD41GydMmQ8Ba2vVH9WbV#;7*(09McpyPT$QJaBL z@u-)fv1Ea8y@0mp#lt>}a~QM*Z*yv!-(i@cW~4v)e};4_C=amzVp7`fEmg49OPIkG z>@WL^nhXYp92JZj3Ky6(3@!>VaH+)`a2GIFxKtE7OG`3nt6dOd@GnCHZEd6_4p zHFr6qGN@Et25ulTUiklg)vp5&7?oKHxC`b_uFq7i*JfZ)GBB1ZU{W$P)hf9Ce4>v+ zJ%@(SMMwe2s(tAu>k6h1RsXazSZB=aW>E4r`1#%WFN3l|l5xS2=gbUz)=b)rH{~_N zF2XX<&YKKMDT?uCQUyj8n=8DW8Leka6jel7dO6RQn7!$^_Q@N{Nz0$Ju3}mF^ZT6o zKMWe|7vPRiHZ;{PnE9M_PO^^F9Y$qN9f`XJrWzGY8e$i6yqPtmE-)xDYH(bPHpC~>KRiViR5 z$cjwoK#5ruK@yWT-F+VEU2kY?@ti?l<06BO+Jz7wMnyG-5HD9VLnFb0Krc@TKX1VT zqYCMI1}&9~{ML-x95=kYtr#S-EEyU${rSG~KZ6GM1tkUsYDuje*33@w)h1LZ|Qmy?XvodY77~md^VXu zyZQp7cECj@W#a2c!(}Wjr6F-BM1f&Z zikhLIQl6 zFcvRh(BQvlULaq<>&*ggL9h;L?*4eDW~5_yF@({0a|)OCsf(aK zPI|quR6&N>?&p8MTl{>TZ3NEd#uu4w7A!*9&NifDIMA z4XQ@Zf!iympD`*Lnraq+tU3BjL8;eQ&Gc1Bw8SZBSvKd_u4f7i|Gu03d-oKiYcp8a zhG$Gl^`Kn8=9z|4jPd4YutH7s5zB|we-600FfcF>gSRj+Fsxu=VA#gQz_5pjfkBU% zfx(T1fkENJ|NoG3Jmm+24&%lD-~E0XS2AjY$|2XE8D0!C4C{@A3m87M|7TWC^b#&e z_69WynY0*h{QqwGQ@+5MAw?0C*XMwW5t}6vTuRXu!Ol-4mTWq%!+7)mcjcc}44~5b z&-dqlOA0p>{{L?917e{L)IzbJ#tc>9P|dk$%wPy+fgHm26O?*PD(gYj(-f!T3rso; z7yBPD=z!ez=Lbxw)y1#*zZ5~)%HYp0l>}!SPc{Y+PxFtJw<3eHvjzjhsl17C@-H(D1_Mu)4>SJEQR3bd#4yo`^QMj`)2tphE$`V< z46|lSB-Oh}Z(^9lI78h_!?W2*^A?jbcLBrf%jt@~%0Ai|GwP3PDBoaEVpL8j6l7@F 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 QU=uq`yYnG)0VYNU0M9^>ssI20 delta 14901 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 E0NqgGod5s; diff --git a/firmware.packed.bin b/firmware.packed.bin index 7f88a7a9fa8f8d3255a908b9e4fc43982ddc2c4e..450bac588cc8adba6830d3412fd2454d052e0590 100644 GIT binary patch delta 36055 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 F8~{pn*#7_k delta 36240 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 iuHBulsS#duZBnZA`w;;3;2IwQ diff --git a/misc.h b/misc.h index 7de519d..9a5b0c0 100644 --- a/misc.h +++ b/misc.h @@ -31,7 +31,7 @@ #define IS_NOAA_CHANNEL(x) ((x) >= NOAA_CHANNEL_FIRST && (x) <= NOAA_CHANNEL_LAST) #define IS_NOT_NOAA_CHANNEL(x) ((x) >= MR_CHANNEL_FIRST && (x) <= FREQ_CHANNEL_LAST) -typedef enum { +enum { MR_CHANNEL_FIRST = 0, MR_CHANNEL_LAST = 199u, FREQ_CHANNEL_FIRST = 200u, @@ -39,7 +39,7 @@ typedef enum { NOAA_CHANNEL_FIRST = 207u, NOAA_CHANNEL_LAST = 216u, LAST_CHANNEL -} channel_num_t; +}; enum { FLASHLIGHT_OFF = 0, From 5c346c846621dbf0639907321a0ba108fcc8e050 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 5 Oct 2023 17:38:25 +0100 Subject: [PATCH 06/12] Fic typing in keys bug --- Makefile | 2 +- README.md | 26 +++++++++++++++----------- app/main.c | 19 +++++++++++++------ driver/gpio.h | 6 +++--- driver/keyboard.c | 18 +++++++++--------- driver/st7565.c | 13 +++++++++---- firmware.bin | Bin 53704 -> 53696 bytes firmware.packed.bin | Bin 53722 -> 53714 bytes ui/inputbox.c | 5 +++-- ui/inputbox.h | 2 +- 10 files changed, 54 insertions(+), 37 deletions(-) diff --git a/Makefile b/Makefile index d9ebbe1..80b6b39 100644 --- a/Makefile +++ b/Makefile @@ -202,7 +202,7 @@ endif #CFLAGS += -Wpadded # catch any and all warnings -CFLAGS += -Wextra +#CFLAGS += -Wextra CFLAGS += -DPRINTF_INCLUDE_CONFIG_H CFLAGS += -DGIT_HASH=\"$(GIT_HASH)\" diff --git a/README.md b/README.md index 93ae5f9..31c7ea3 100644 --- a/README.md +++ b/README.md @@ -9,20 +9,24 @@ Anyway, have fun. # Radio performance -Please note that the Quansheng uv-k radios are not professional quality transceivers, their -performance is strictly limited, somewhat below that of a decent transceiver. The RX front -end has no track-tuned band pass filtering at all, and so are wide band/wide open to any -and all signals over a wide frequency range. -Using the radio in high intensity RF environments will nearly always destroy your reception, -the receiver simply doesn't have a great dynamic range, which means distorted AM audio with -strong received signals, there is nothing more anyone can do in firmware/software to stop that -happening once the RX gain adjustment I do (AM fix) reaches the hardwares limit. +Please note that the Quansheng UV-Kx radios are not professional quality transceivers, their +performance is strictly limited. The RX front end has no track-tuned band pass filtering +at all, and so are wide band/wide open to any and all signals over a large frequency range. -Saying that, they are nice toys for the price, fun to play with. +Using the radio in high intensity RF environments will most likely make reception anything but +easy (AM mode will suffer far more than FM ever will), the receiver simply doesn't have a +great dynamic range, which results in distorted AM audio with stronger RX'ed signals. +There is nothing more anyone can do in firmware/software to improve that, once the RX gain +adjustment I do (AM fix) reaches the hardwares limit, your AM RX audio will be all but +non-existant (just like Quansheng's firmware). +On the other hand, FM RX audio will/should be fine. + +But, they are nice toys for the price, fun to play with. # User customization -You can customize the firmware by enabling/disabling various compile options. +You can customize the firmware by enabling/disabling various compile options, this allows +us to remove certain firmware features in order to make room in the flash for others. You'll find the options at the top of "Makefile" ('0' = disable, '1' = enable) .. ``` @@ -68,7 +72,7 @@ ENABLE_COPY_CHAN_TO_VFO := 1 copy current channel into the other VFO * or * Long-press '5' .. Toggle selected channel scanlist setting .. if NOAA is disabled in Makefile * -* Long-press '*' .. Start scanning, then toggles scanlist scan 1, 2 or ALL channel scanning +* Long-press '*' .. Start scanning, then toggles the scanning between scanlists 1, 2 or ALL channels # Some changes made from the Quansheng firmware diff --git a/app/main.c b/app/main.c index fe08b78..a11036a 100644 --- a/app/main.c +++ b/app/main.c @@ -68,8 +68,15 @@ static void processFKeyFunction(const KEY_Code_t Key, const bool beep) uint8_t Vfo = gEeprom.TX_VFO; if (gScreenToDisplay == DISPLAY_MENU) + { +// if (beep) + gBeepToPlay = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL; return; + } +// if (beep) + gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; + switch (Key) { case KEY_0: @@ -530,6 +537,10 @@ static void MAIN_Key_EXIT(bool bKeyPressed, bool bKeyHeld) static void MAIN_Key_MENU(const bool bKeyPressed, const bool bKeyHeld) { + if (bKeyPressed && !bKeyHeld) + // menu key pressed + gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; + if (bKeyHeld) { // menu key held down (long press) @@ -603,14 +614,10 @@ static void MAIN_Key_MENU(const bool bKeyPressed, const bool bKeyHeld) const bool bFlag = (gInputBoxIndex == 0); gInputBoxIndex = 0; - gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; - if (bFlag) { gFlagRefreshSetting = true; - gRequestDisplayScreen = DISPLAY_MENU; - #ifdef ENABLE_VOICE gAnotherVoiceID = VOICE_ID_MENU; #endif @@ -808,7 +815,7 @@ void MAIN_ProcessKeys(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) { if (!bKeyHeld) { - const char Character = DTMF_GetCharacter(Key); + const char Character = DTMF_GetCharacter(Key - KEY_0); if (Character != 0xFF) { // add key to DTMF string DTMF_Append(Character); @@ -827,7 +834,7 @@ void MAIN_ProcessKeys(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) // TODO: ??? if (Key > KEY_PTT) { - Key = KEY_SIDE2; + Key = KEY_SIDE2; // what's this doing ??? } switch (Key) diff --git a/driver/gpio.h b/driver/gpio.h index a6e6158..0d9f1d0 100644 --- a/driver/gpio.h +++ b/driver/gpio.h @@ -58,10 +58,10 @@ enum GPIOC_PINS { GPIOC_PIN_PTT = 5 }; -void GPIO_ClearBit(volatile uint32_t *pReg, uint8_t Bit); +void GPIO_ClearBit(volatile uint32_t *pReg, uint8_t Bit); uint8_t GPIO_CheckBit(volatile uint32_t *pReg, uint8_t Bit); -void GPIO_FlipBit(volatile uint32_t *pReg, uint8_t Bit); -void GPIO_SetBit(volatile uint32_t *pReg, uint8_t Bit); +void GPIO_FlipBit( volatile uint32_t *pReg, uint8_t Bit); +void GPIO_SetBit( volatile uint32_t *pReg, uint8_t Bit); #endif diff --git a/driver/keyboard.c b/driver/keyboard.c index 3b5f4b7..c6af554 100644 --- a/driver/keyboard.c +++ b/driver/keyboard.c @@ -22,10 +22,10 @@ #include "driver/i2c.h" #include "misc.h" -KEY_Code_t gKeyReading0 = KEY_INVALID; -KEY_Code_t gKeyReading1 = KEY_INVALID; -uint16_t gDebounceCounter; -bool gWasFKeyPressed; +KEY_Code_t gKeyReading0 = KEY_INVALID; +KEY_Code_t gKeyReading1 = KEY_INVALID; +uint16_t gDebounceCounter = 0; +bool gWasFKeyPressed = false; static const struct { @@ -42,9 +42,8 @@ static const struct { } keyboard[] = { - // Zero row - { - // Set to zero to handle special case of nothing pulled down. + { // Zero row + // Set to zero to handle special case of nothing pulled down .set_to_zero_mask = 0xffff, .pins = { { .key = KEY_SIDE1, .pin = GPIOA_PIN_KEYBOARD_0}, @@ -120,6 +119,7 @@ KEY_Code_t KEYBOARD_Poll(void) // Read all 4 GPIO pins at once reg = GPIOA->DATA; + for (unsigned int i = 0; i < ARRAY_SIZE(keyboard[j].pins); i++) { const uint16_t mask = 1u << keyboard[j].pins[i].pin; @@ -134,13 +134,13 @@ KEY_Code_t KEYBOARD_Poll(void) break; } - // Create I2C stop condition. Since we might have toggled I2C pins. + // Create I2C stop condition since we might have toggled I2C pins // This leaves GPIOA_PIN_KEYBOARD_4 and GPIOA_PIN_KEYBOARD_5 high I2C_Stop(); // Reset VOICE pins GPIO_ClearBit(&GPIOA->DATA, GPIOA_PIN_KEYBOARD_6); - GPIO_SetBit(&GPIOA->DATA, GPIOA_PIN_KEYBOARD_7); + GPIO_SetBit( &GPIOA->DATA, GPIOA_PIN_KEYBOARD_7); return Key; } diff --git a/driver/st7565.c b/driver/st7565.c index dd4061a..c2ccd3f 100644 --- a/driver/st7565.c +++ b/driver/st7565.c @@ -123,6 +123,7 @@ void ST7565_FillScreen(uint8_t Value) ST7565_Init(false); SPI_ToggleMasterMode(&SPI0->CR, false); + for (i = 0; i < 8; i++) { unsigned int j; @@ -135,6 +136,7 @@ void ST7565_FillScreen(uint8_t Value) } SPI_WaitForUndocumentedTxFifoStatusBit(); } + SPI_ToggleMasterMode(&SPI0->CR, true); } @@ -152,6 +154,8 @@ void ST7565_Init(const bool full) SYSTEM_DelayMs(120); } + else + SPI_ToggleMasterMode(&SPI0->CR, false); ST7565_WriteByte(0xA2); // bias 9 ST7565_WriteByte(0xC0); // com normal @@ -164,9 +168,10 @@ void ST7565_Init(const bool full) ST7565_WriteByte(0x24); // ST7565_WriteByte(0x81); // volume first ? + ST7565_WriteByte(0x1f); // contrast ? + if (full) { - ST7565_WriteByte(0x1f); // contrast ? ST7565_WriteByte(0x2B); // power control ? SYSTEM_DelayMs(1); @@ -181,11 +186,11 @@ void ST7565_Init(const bool full) ST7565_WriteByte(0x2F); // SYSTEM_DelayMs(40); - - ST7565_WriteByte(0x40); // start line ? - ST7565_WriteByte(0xAF); // display on ? } + ST7565_WriteByte(0x40); // start line ? + ST7565_WriteByte(0xAF); // display on ? + SPI_WaitForUndocumentedTxFifoStatusBit(); SPI_ToggleMasterMode(&SPI0->CR, true); diff --git a/firmware.bin b/firmware.bin index 61974d989fffb98264eb1f369b8f1f3d92a166b4..a14311b57a63d97bc6028e0e3825e8823847029a 100644 GIT binary patch delta 13483 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 diff --git a/firmware.packed.bin b/firmware.packed.bin index 450bac588cc8adba6830d3412fd2454d052e0590..28c5bb71642d607167657bcc011d2a22d831e3b4 100644 GIT binary patch delta 46861 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 QPhC2AbJ2!ud5O~J0R4096aWAK diff --git a/ui/inputbox.c b/ui/inputbox.c index bc98197..c0c04e4 100644 --- a/ui/inputbox.c +++ b/ui/inputbox.c @@ -16,12 +16,13 @@ #include +#include "driver/keyboard.h" #include "ui/inputbox.h" char gInputBox[8]; uint8_t gInputBoxIndex; -void INPUTBOX_Append(char Digit) +void INPUTBOX_Append(const char Digit) { if (gInputBoxIndex >= sizeof(gInputBox)) return; @@ -29,6 +30,6 @@ void INPUTBOX_Append(char Digit) if (gInputBoxIndex == 0) memset(gInputBox, 10, sizeof(gInputBox)); - gInputBox[gInputBoxIndex++] = Digit; + gInputBox[gInputBoxIndex++] = Digit - KEY_0; } diff --git a/ui/inputbox.h b/ui/inputbox.h index be01fe9..4750178 100644 --- a/ui/inputbox.h +++ b/ui/inputbox.h @@ -22,7 +22,7 @@ extern char gInputBox[8]; extern uint8_t gInputBoxIndex; -void INPUTBOX_Append(char Digit); +void INPUTBOX_Append(const char Digit); #endif From ec5e9dde66a73cceeae9d12424c55524d80612a4 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 5 Oct 2023 22:44:44 +0100 Subject: [PATCH 07/12] Squelch tuning --- Makefile | 2 +- README.md | 2 +- app/app.c | 2 +- app/main.c | 2 +- app/scanner.c | 4 ++- app/uart.c | 76 ++++++++++++++++++++++++-------------------- driver/bk4819.c | 32 ++++++++++--------- firmware.bin | Bin 53696 -> 53752 bytes firmware.packed.bin | Bin 53714 -> 53770 bytes init.c | 14 +++----- radio.c | 63 +++++++++++++++++++----------------- ui/inputbox.c | 6 ++-- ui/inputbox.h | 4 ++- 13 files changed, 111 insertions(+), 96 deletions(-) diff --git a/Makefile b/Makefile index 80b6b39..a85453e 100644 --- a/Makefile +++ b/Makefile @@ -29,7 +29,7 @@ ENABLE_CODE_SCAN_TIMEOUT := 0 ENABLE_AM_FIX := 1 ENABLE_AM_FIX_SHOW_DATA := 1 ENABLE_SQUELCH_MORE_SENSITIVE := 1 -#ENABLE_FASTER_CHANNEL_SCAN := 0 +ENABLE_FASTER_CHANNEL_SCAN := 0 ENABLE_RSSI_BAR := 1 ENABLE_AUDIO_BAR := 0 ENABLE_COPY_CHAN_TO_VFO := 1 diff --git a/README.md b/README.md index 31c7ea3..af5a874 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ ENABLE_CODE_SCAN_TIMEOUT := 0 enable/disable 32-sec CTCSS/DCS scan ti ENABLE_AM_FIX := 1 dynamically adjust the front end gains when in AM mode to helo prevent AM demodulator saturation, ignore the on-screen RSSI level (for now) ENABLE_AM_FIX_SHOW_DATA := 1 show debug data for the AM fix (still tweaking it) ENABLE_SQUELCH_MORE_SENSITIVE := 0 make squelch levels a little bit more sensitive - I plan to let user adjust the values themselves -#ENABLE_FASTER_CHANNEL_SCAN := 0 don't use (for now) .. increases the channel scan speed, but the squelch is also made more twitchy +ENABLE_FASTER_CHANNEL_SCAN := 0 increases the channel scan speed, but the squelch is also made more twitchy ENABLE_RSSI_BAR := 1 enable a dBm/Sn RSSI bar graph level inplace of the little antenna symbols ENABLE_AUDIO_BAR := 0 experimental, display an audo bar level when TX'ing ENABLE_COPY_CHAN_TO_VFO := 1 copy current channel into the other VFO. Long press Menu key ('M') diff --git a/app/app.c b/app/app.c index 787b67d..684884e 100644 --- a/app/app.c +++ b/app/app.c @@ -727,7 +727,7 @@ static void MR_NextChannel(void) } #ifdef ENABLE_FASTER_CHANNEL_SCAN - ScanPauseDelayIn_10ms = 8; // 80ms .. <= ~60ms it misses signals (squelch response and/or PLL lock time) ? + ScanPauseDelayIn_10ms = 10; // 100ms .. <= ~60ms it misses signals (squelch response and/or PLL lock time) ? #else ScanPauseDelayIn_10ms = scan_pause_delay_in_3_10ms; #endif diff --git a/app/main.c b/app/main.c index a11036a..2e6d572 100644 --- a/app/main.c +++ b/app/main.c @@ -354,7 +354,7 @@ static void MAIN_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) // if (IS_NOT_NOAA_CHANNEL(gTxVfo->CHANNEL_SAVE)) // #endif if (IS_FREQ_CHANNEL(gTxVfo->CHANNEL_SAVE)) - { // user is entering frequency + { // user is entering a frequency uint32_t Frequency; diff --git a/app/scanner.c b/app/scanner.c index b74fc27..e6783e6 100644 --- a/app/scanner.c +++ b/app/scanner.c @@ -53,7 +53,9 @@ static void SCANNER_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) uint16_t Channel; gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; + INPUTBOX_Append(Key); + gRequestDisplayScreen = DISPLAY_SCANNER; if (gInputBoxIndex < 3) @@ -65,8 +67,8 @@ static void SCANNER_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) } gInputBoxIndex = 0; - Channel = ((gInputBox[0] * 100) + (gInputBox[1] * 10) + gInputBox[2]) - 1; + Channel = ((gInputBox[0] * 100) + (gInputBox[1] * 10) + gInputBox[2]) - 1; if (Channel <= MR_CHANNEL_LAST) { #ifdef ENABLE_VOICE diff --git a/app/uart.c b/app/uart.c index f54e722..61d1ac5 100644 --- a/app/uart.c +++ b/app/uart.c @@ -48,7 +48,7 @@ typedef struct { } Header_t; typedef struct { - uint8_t Padding[2]; + uint8_t Padding[2]; uint16_t ID; } Footer_t; @@ -60,10 +60,10 @@ typedef struct { typedef struct { Header_t Header; struct { - char Version[16]; - bool bHasCustomAesKey; - bool bIsInLockScreen; - uint8_t Padding[2]; + char Version[16]; + bool bHasCustomAesKey; + bool bIsInLockScreen; + uint8_t Padding[2]; uint32_t Challenge[4]; } Data; } REPLY_0514_t; @@ -71,8 +71,8 @@ typedef struct { typedef struct { Header_t Header; uint16_t Offset; - uint8_t Size; - uint8_t Padding; + uint8_t Size; + uint8_t Padding; uint32_t Timestamp; } CMD_051B_t; @@ -80,19 +80,19 @@ typedef struct { Header_t Header; struct { uint16_t Offset; - uint8_t Size; - uint8_t Padding; - uint8_t Data[128]; + uint8_t Size; + uint8_t Padding; + uint8_t Data[128]; } Data; } REPLY_051B_t; typedef struct { Header_t Header; uint16_t Offset; - uint8_t Size; - bool bAllowPassword; + uint8_t Size; + bool bAllowPassword; uint32_t Timestamp; - uint8_t Data[0]; + uint8_t Data[0]; } CMD_051D_t; typedef struct { @@ -106,8 +106,8 @@ typedef struct { Header_t Header; struct { uint16_t RSSI; - uint8_t ExNoiseIndicator; - uint8_t GlitchIndicator; + uint8_t ExNoiseIndicator; + uint8_t GlitchIndicator; } Data; } REPLY_0527_t; @@ -137,7 +137,10 @@ typedef struct { uint32_t Timestamp; } CMD_052F_t; -static const uint8_t Obfuscation[16] = { 0x16, 0x6C, 0x14, 0xE6, 0x2E, 0x91, 0x0D, 0x40, 0x21, 0x35, 0xD5, 0x40, 0x13, 0x03, 0xE9, 0x80 }; +static const uint8_t Obfuscation[16] = +{ + 0x16, 0x6C, 0x14, 0xE6, 0x2E, 0x91, 0x0D, 0x40, 0x21, 0x35, 0xD5, 0x40, 0x13, 0x03, 0xE9, 0x80 +}; static union { @@ -157,12 +160,11 @@ static void SendReply(void *pReply, uint16_t Size) { Header_t Header; Footer_t Footer; - uint8_t *pBytes; - uint16_t i; if (bIsEncrypted) { - pBytes = (uint8_t *)pReply; + uint8_t *pBytes = (uint8_t *)pReply; + unsigned int i; for (i = 0; i < Size; i++) pBytes[i] ^= Obfuscation[i % 16]; } @@ -171,6 +173,7 @@ static void SendReply(void *pReply, uint16_t Size) Header.Size = Size; UART_Send(&Header, sizeof(Header)); UART_Send(pReply, Size); + if (bIsEncrypted) { Footer.Padding[0] = Obfuscation[(Size + 0) % 16] ^ 0xFF; @@ -205,14 +208,16 @@ static void SendVersion(void) static bool IsBadChallenge(const uint32_t *pKey, const uint32_t *pIn, const uint32_t *pResponse) { - uint8_t i; - uint32_t IV[4]; + unsigned int i; + uint32_t IV[4]; IV[0] = 0; IV[1] = 0; IV[2] = 0; IV[3] = 0; + AES_Encrypt(pKey, IV, pIn, IV, true); + for (i = 0; i < 4; i++) if (IV[i] != pResponse[i]) return true; @@ -254,10 +259,10 @@ static void CMD_051B(const uint8_t *pBuffer) #endif memset(&Reply, 0, sizeof(Reply)); - Reply.Header.ID = 0x051C; + Reply.Header.ID = 0x051C; Reply.Header.Size = pCmd->Size + 4; Reply.Data.Offset = pCmd->Offset; - Reply.Data.Size = pCmd->Size; + Reply.Data.Size = pCmd->Size; if (bHasCustomAesKey) bLocked = gIsLocked; @@ -294,7 +299,7 @@ static void CMD_051D(const uint8_t *pBuffer) if (!bIsLocked) { - uint16_t i; + unsigned int i; for (i = 0; i < (pCmd->Size / 8); i++) { const uint16_t Offset = pCmd->Offset + (i * 8U); @@ -331,23 +336,25 @@ static void CMD_0529(void) { REPLY_0529_t Reply; - Reply.Header.ID = 0x52A; + Reply.Header.ID = 0x52A; Reply.Header.Size = sizeof(Reply.Data); + // Original doesn't actually send current! BOARD_ADC_GetBatteryInfo(&Reply.Data.Voltage, &Reply.Data.Current); + SendReply(&Reply, sizeof(Reply)); } static void CMD_052D(const uint8_t *pBuffer) { const CMD_052D_t *pCmd = (const CMD_052D_t *)pBuffer; - REPLY_052D_t Reply; - bool bIsLocked; + REPLY_052D_t Reply; + bool bIsLocked; #ifdef ENABLE_FMRADIO gFmRadioCountdown_500ms = fm_radio_countdown_500ms; #endif - Reply.Header.ID = 0x052E; + Reply.Header.ID = 0x052E; Reply.Header.Size = sizeof(Reply.Data); bIsLocked = bHasCustomAesKey; @@ -413,15 +420,13 @@ static void CMD_052F(const uint8_t *pBuffer) bool UART_IsCommandAvailable(void) { - uint16_t DmaLength; - uint16_t CommandLength; uint16_t Index; uint16_t TailIndex; uint16_t Size; uint16_t CRC; - uint16_t i; + uint16_t CommandLength; + uint16_t DmaLength = DMA_CH0->ST & 0xFFFU; - DmaLength = DMA_CH0->ST & 0xFFFU; while (1) { if (gUART_WriteIndex == DmaLength) @@ -495,9 +500,12 @@ bool UART_IsCommandAvailable(void) bIsEncrypted = true; if (bIsEncrypted) - for (i = 0; i < Size + 2; i++) + { + unsigned int i; + for (i = 0; i < (Size + 2u); i++) UART_Command.Buffer[i] ^= Obfuscation[i % 16]; - + } + CRC = UART_Command.Buffer[Size] | (UART_Command.Buffer[Size + 1] << 8); return (CRC_Calculate(UART_Command.Buffer, Size) != CRC) ? false : true; diff --git a/driver/bk4819.c b/driver/bk4819.c index 3715df3..d485c96 100644 --- a/driver/bk4819.c +++ b/driver/bk4819.c @@ -738,7 +738,7 @@ void BK4819_SetupSquelch( // BK4819_WriteRegister(BK4819_REG_70, 0); - // Glitch threshold for Squelch + // Glitch threshold for Squelch = close // // 0 ~ 255 // @@ -748,47 +748,49 @@ void BK4819_SetupSquelch( // // <15:14> 1 ??? // - // <13:11> 5 Squelch = 1 Delay Setting + // <13:11> 5 Squelch = open Delay Setting // 0 ~ 7 // - // <10:9> 7 Squelch = 0 Delay Setting + // <10:9> 7 Squelch = close Delay Setting // 0 ~ 3 // // <8> 0 ??? // - // <7:0> 8 Glitch threshold for Squelch = 1 + // <7:0> 8 Glitch threshold for Squelch = open // 0 ~ 255 // BK4819_WriteRegister(BK4819_REG_4E, // 01 101 11 1 00000000 #ifndef ENABLE_FASTER_CHANNEL_SCAN - // original - (1u << 14) | // 1 ??? - (5u << 11) | // 5 squelch = 1 delay .. 0 ~ 7 - (3u << 9) | // 3 squelch = 0 delay .. 0 ~ 3 - SquelchOpenGlitchThresh); // 0 ~ 255 + // original (*) + (1u << 14) | // 1 ??? + (3u << 11) | // *5 squelch = open delay .. 0 ~ 7 + (2u << 9) | // *3 squelch = close delay .. 0 ~ 3 + SquelchOpenGlitchThresh); // 0 ~ 255 #else // faster (but twitchier) - (1u << 14) | // 1 ??? - SquelchOpenGlitchThresh); // 0 ~ 255 + (1u << 14) | // 1 ??? + (2u << 11) | // *5 squelch = open delay .. 0 ~ 7 + (1u << 9) | // *3 squelch = close delay .. 0 ~ 3 + SquelchOpenGlitchThresh); // 0 ~ 255 #endif // REG_4F // - // <14:8> 47 Ex-noise threshold for Squelch = 0 + // <14:8> 47 Ex-noise threshold for Squelch = close // 0 ~ 127 // // <7> ??? // - // <6:0> 46 Ex-noise threshold for Squelch = 1 + // <6:0> 46 Ex-noise threshold for Squelch = open // 0 ~ 127 // BK4819_WriteRegister(BK4819_REG_4F, ((uint16_t)SquelchCloseNoiseThresh << 8) | SquelchOpenNoiseThresh); // REG_78 // - // <15:8> 72 RSSI threshold for Squelch = 1 0.5dB/step + // <15:8> 72 RSSI threshold for Squelch = open 0.5dB/step // - // <7:0> 70 RSSI threshold for Squelch = 0 0.5dB/step + // <7:0> 70 RSSI threshold for Squelch = close 0.5dB/step // BK4819_WriteRegister(BK4819_REG_78, ((uint16_t)SquelchOpenRSSIThresh << 8) | SquelchCloseRSSIThresh); diff --git a/firmware.bin b/firmware.bin index a14311b57a63d97bc6028e0e3825e8823847029a..a6a9476c1cf3dd44e680fa2122c9f751657d15ca 100644 GIT binary patch delta 9166 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 N9&Cnd-ha?i005_vFSY;x diff --git a/firmware.packed.bin b/firmware.packed.bin index 28c5bb71642d607167657bcc011d2a22d831e3b4..d847bb87997d0f76a607d11649c51ec113a60eba 100644 GIT binary patch delta 48645 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

  • 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 delta 48589 zcmeBL!hC5l^8_2lOA~ExGv;rWWVB>rd_6gs`Kz;+e1VnI+Ws7|V824MzV@i+?0w!+ ze*ofR&$IkoT($wr~F{i01li95uyqCTzn6hg^+~jT+ zb5R%h&B{Oi99$Y;wef|`J)z*N!d)qBldrRwGCrQn%Q~MibMso(xr~fECVR8@GhUy3 zo86nyX0tlSOGd`d&4OIwER6RyYw`&)F*0nn7P!vL_;0eXh$-Xo$(|yIK?aB}HI?$4 zvEplXd&wC?3IC^ld+yiu#m#MTFl#6h+I1wC$y36tVC73WgQM)1JsIcU<~}u3@+SNG z-;zE}NBnxpy+`_g%kB4N}`DyNe~( zUtr7YPxsm~?fx4lRTjyoFT=0cirtJn7Hs*qC+AoM|M;|VySY}#!bwGH_jjz>e0x(q+w!Yhmi_r! z6Q0DhEKTnF-;hl;GkK+q)S0g3)8Y|gm;ZMN z$!*y#cGh;_EQ zL-5pmhg%1J>=p@~!K)blS8GF^=FE4KV_l9h7WyPdXq0(uO>=IXSf#@>&i zd4Ff>_#d13UFB`6enz#ywe^PLu^p~oT_hu$HJPt{{QV}@Me3jW;@3d}+)I2WsV6X- zZvAz8QrpDzWsmtBL==8Cxzu^rPnJ{v-Jtn%BC-l8G;%j|}{ z@3Se9tB*gua$7Ai{co6IaGBGpH+wU0UR!Ty*}5|_Pv^y=oG0hoUf+s(bNjc|wP5D; zu3?)*KiluRz93z5XLmx-`$RYW%qf=yyl=-}2xr;FRQmh&)Kh=ful(Q9B~#Cu&Dm2g zyvtv|dzRF+U$^u?4lr-6QD5`y&PlKB3~@|$0{MbhcMDBE_jV}<=b{PIuOD1nPm4%xv zU-=^ISDNsLrq5pAes8#Mo8k6@v!6@0p0(4fUL<0*nC|bMAjh3{3s;Lf_9bs~(O2o# z*~WIJBFroJfxyve-B~+&WN%IOy2$DpVX3qsC+oGD?!@J*s*d#hjLg%?SPTk*#dD(G zME|y*yVYR1TdEQ^vzN8A*YO_nms?R$LfajwbdSvR3BWq&QLG@HiWg_&}4e{ibS5@E2SR2G<PmvHx6q(PY>6M{da$78-8c#d+f5wFOLk=gK9! z7H?MFf4scC<9?xxgSq|lWgZtoYCcBpQqI!)v$Lzr@=3y>=7{GzH0xZF3d$Z|(0Jgb zS;Hx$xmuv-c#yAkNWHe?>uDc$_}Kp5yy@SG6Uz>W`Cp3M-tNw8&tWH3C6W91`R($V zf{jyhBVH~qka{FOPyN-idk42q;gb05+Q$6!YSf2U)*t0<+dnQnckgWcE`^)#wirs9 zm~RePJZUz!J=e7f5>LDj{f;}bJ=t$A^P*hOc%I#c|GJasu+7d}AYHd+L4DZzDz7cs z3w-QOtV(+I^HzAs%80&0EG06$HYz*iTP)Qs)EdXu&MOjKy)R^Ga^(z(?V=po9!8U= zm})&(cbUm>Uqn;Ws+qBF$Ifk?@uXfavD)j}p5kw9Du?GSdlF_DzH#}+?p(p!T77EU zllkT*{`7lXQ=`6jR>}86))u}_Od(6^tx8!RN-U1rbc~hT?TPrSTjBdZ?ugjycy1B< zmhUg@bcC+SZIH@OIWi}Dllb}2X-D=4&*^*Qy`)VeQ+fqccEe2NYYRTExoxn^=H$P& zYRv%4W<}mvE5)w6*VY1$t={u`Zds(@ynCXEO>lt0-BAI}iudH2+q*a9DReL&GLLt@?)ZaZ{XM8co#ppZS?(V#uSDj7@GY zPr20mN^&&3ab=-RXvVRZIV*HP4(R?SyR;%`XY^EeOY0LxlfKv%9Gx@UDd3)G_NLvt z>fD##ec!x2_{?WTrMZ8N-ucu|jK8dt#ch69QKclsOQ|SNJo}6P^z};4t2cFuI7J>0nE z;rp4Ii?WQiztL!#J<~SjnYc-9_L_%vo=p4Z6hHU*Jn{Y|*6b^7%081fs5%{}T-D~e z(0}?qwe)jK*TNi7pTG0_q5aA6u3}d+rff*#+Px?6Q_U?anTCZO&T}*SdDnh>WELZo zzd7&dj0qAelpoHw2x>aAHz46c=vwbH+wb~V@F-^gQQxxSeCO?5wXa?NwVjj+kTK>H zx~A~yi;k^Q?e6{D7LQcsUY9T@iLFv#;+y%Kfx{nNK2{{lXQC zH*9yBl)Wd9=jxtQk6xWCi&?PXK*Y9G`3I+Jr@9^aSoENF;oVP5LO0#|dHG$5^zIG3 z%gS$3Lf&ig|7FYA9i$5Q$cAFzvCauhh z`ugOj%Qo5_u-wlV^7O4$Zr*|09KWww$=DgJWBOY4t0ApI)tZXT$s0IFBtW6B2&chs7D($oSe_?|a{VLjKJ7if$x<4 z2~V@R9~sx4$k<Wj&u=Q!(zKqb8qDScD|>5 z`S8|w<>2VYTWoYBcod6&Gd9LIO!C;gmf7ZaTboJb8-brfzH1HEn7{s6A*61oS#n=7 zp~T7NSu%R>EFSr9>J38zne9GZai4) zZ0X8P{BBdx~3X6gLg>(vj7wohE>v7<-kQk0j_|Js0;TPk>W?l(SIK8Mj$`mbZa zl;U0I!;Uc&YNUp439Xk<>pS&Xr%0;ATj_GJjKZ~~3Gr4(f5((;O_rIT@VVC5)~Noq zSMv_tIk&_!)&6&+NrtI=sr$+V7hmkzVEO9r_k<<$IvdRc83k=#eS0JyTbBRinbG_` zvP%!O96le~a(KVQ?0(_Jt2;JN(UX{VcCwN3y(q&eMeeJlE&r|S_j$~?qDJuV@&^ZX z%BGd}iOb8V-&IT~T^-uHb)DDL*BgBOxndrt*83kfy0%2hR&0*TC-r4-RxtT2EqENU zTCDiw#_s2dJ@Px{{&Kj>1uL_qc^TM?$o0M0*EB8V*@UdkDp#gXQP{<}R9*hpvbJy8 zat6QHwlWF+jo{k(VpC?_HpW7`q^;Rr9^BV{F+B?@pHZ8wd+x5+xs{WayMH>nHDB9r z-^Lx8HlHWeSDU|PShRz4sof0E!hap>qypF8bDKBYe7gC=O`W#a-^)5VroQlYlUT;L z_3KGXU1c?yomvyp&Mnv-9eJc}wr{`0ELQ8_QkU6x#9y4yZB=0YTcj~VyMI~wljCj6 zu0+1c`yu4NsrsvI$pn?f;+l%f&2@8Y%B2Ukn^QAl1 z_KGz7p zCo!qJRp~&H?xTo}D|DPU*B@DsFLQwH+B)Gk<(C6jD%W>h@UNZ7Kiy%&zNBM|0{@(h zx!``L=Xm+C%6N+fhjuEpD2e{DGgXPZFjXqUF6VjW>t77bYiB)V{B3eg=0L%ewhJ78 z8&)oRKU;T?KSQBKvckeb=I4g%6+Y#FO2Xxu8s$p&C#~K;{i{r1c=eRV;KKUbC9{13 zZq2^7Skv}ytk0)E>-L{sclCJLmh6sL@#c+&KP3;8WG`CKn7A!ANA%sYi{&%8zkN!# z-jsHHR@}t%%1#A>J5S7E(N4`^%q!NF`21yqp+#@&`KDi?yTXs1+&be)fO*Abtw+5c zU)bg(r+s+7;QE4vnv+)sWZqJmwITlIE$RA%4^_s=?1DemP5uyfLtIwdG( z({@dH@*kxnJpXUmXHDn8VnwTKdutBM=N^jN%_3#2Z#0APr0XY#LbmYVqCWN0BUI;S zZR-BNRkP-`2>Sz{UuM2CsqUo@3)aUkWYh0nsQI$%l9}777e_LWi9b4j;r&UQCCzFN z^Q_a-jxDI#_J5l|ZP{+yz3LXhnNDk-$XOqKGO38+FPBtP^d>P-6iiBXurKvw*tewk zxlhO@@BUmVQ+4)bkIX=wQ&3${zp)@~_KYy!*c%y|Yxb;iU#&MqS}ZunpW&0aiRS)& zIh!}Qdp@|>9{EXfvqPSx^M?foFLjy8aJ-*p?V4l0sB6R2W2LkA?y^XjC7o_*-g~7f zN`yVP^@^0W$%@&(7+1dg6ZY`dopr082>x0BKw@>rbBUO>)hlfUv|p( z!LLxMy|)-%mHk=rbhF9QB=I1tE{W;a3s)r-Zs5~n{H^xWa9j>06>+HBM<^@-b{wZg@WBeCH$s`5f{8OK!diXe(B5JhiLpH)n1`S#(OEM$L8h z=$tsEmqM%Rxg}4WP?*@Ccj5Xu2M*=HK5o}NzArT7%UGs3ztozLoL^JazJkKnwv;I+QxG&QB!UiEW>%C>3QEx#82xUA+z z;`OlCU+X_SKN6juo^pKq%au#AkHm&AR9vBW`D0j2wAyy7HU-9v%l{?g4@H!mQnGeQ zHD4Gx`}VmBvwd4a?bMCEFUW4(FMs0mTdp+8ZLS8dHk+1POBd{!sK?Hepy|TBMrd9B z<1gMHV{>=u7o^PEIo0xD{Q>uI&wXt>6943%EMDu*aWz_YdHaLw2jk@z9{kSAq{Pd= z*;94HRjJ<>yY2E9z1_6q)eg6^cTZlLwsED(?`)Zta&%Ib_sdPw6FDDBuuk2{82$R> zqO(kat*i2su0{P2w%MKMzv$cMjMuuqixsRkwHSQmt8ZL>#_^nXf%2Q9Cw`~YFBI{U zFg#?dmgw|&*|!DPST!FnUpLP(`sU6VPydGM$v^7NX6)>_$a(C<#b7J7w^Bxo(o$*7?`9{u+bA82+ zUIraiKk4oA&p&z3qmSR}ziP1`<9zsgbNnpBOZClr6Ks0FSnAIg*q_?z8tJs3D@m^M z%H0$7JFGSqsYGu}UNv*p@AZ#2b+6xaYz0$G;)?iL#`2CLDt{k}P2Y5@Pv`f}SMSVk zMC$im`loa)DgI+(pE3KHrxzQy9i71?GeybIV{UBU*{hFMT zOYVPBY^$C3^xYzfIUMo5Un2Dak1x0u|Et-j=AyJc=RCvu6D3Y|OB2?6Y(3~OPiLF7 zPmJ2$>Y{Vf`BFYV4B{O{TK=9YUheHT^8oY2AQ`(C>&#B>&e-F)Xt~O?rN7kwNb^3P z$H88;bPCr7m1BLyuXb3p=RH|s+B<8CuJ+4yEt={&BC@*{??n_CpA06y>J2kQ8;kn!r ze*bT;!arKXKPXMqHC@gvA9U>M&JuxL2WPPu1m`&~dSWl}>x-|~9j*gcJ}ur^mLmUe zsm80%DTNw>{Og6|qosndic0FcZF##RT7l`k{iC%yR>@3;SVjzAUnwdqW1^9pCwCVk@4 ztpBO?WpVeKpk%4V3-~ew9S==7yE0w&^`ZIQtG;XxIyReeng4`rfzO=yF<^7)9mfDQ@N>@wsCa&w$ zR8ooL-hI0}zkFNlzwYe;M~f7!ugzt89y8@s=>+=^^*SXS*B0&!33{v@TI1on(b?;E z^u>6d-NsiI7?`RYes=UShs>-{yUi6xv}WZgo?Mj0xZzN(yTOi28QVN_Wu9F-X|gOi zPk!g6DM?2fvyOj17aDhDlhuCpeCefadHJ;oAO1GpR=QW9vG3(d-Q)YdtZjA;u#aR` ze6q(uJfv)9ZIXRG*U@sVFPppFm9>=@FX+pkBvJU=^zVJ!PhQtoZMx^XB!1=J4i2e0 zwUdafOwEbS^JV#t%^Lo>wuU~XK^?uZgY6hhmhJ9PH zG&)KkreA3NBjuFx^n(Vo28#QR%Yy17b=V{@K1Jl{OkKdru$qx7ia$5 z?HtzmFTB6DP{x~CQqAP-AHJ|nLG_;x-b-1d^?g(KuB$DpLrXooX6YwzSHdgKaSL8^uK@pYWBf zsn7Ug|Ks#_=4-3E{Vz>gU%4Gp4v4??sR?ko)_vlg>=PH2{|(C@ho}~sOwV4B!gE_v zQlm!-;9nJ|u6Le{NNQ)eXUU>_UZAg%|ETc(1Rs zs7m=-)W?ZG0vxw*ocphQPoTP{qtogmxlw7v8dZl`}QgI zSU~#L8V&iQ^Co3&Y?=Suy869VZ}?B`%)$-p-J^C+ziwdITN$|c_U<&>maWIHtaHv0 zs8YW6O|L$;UcVvl^qc^x@ahwir{n}KEA7+s+}fN_aohBwi_HnEXWdy(^cRS~Wa3}? zgotNmizs35GH>o%$8@{?PuWDJUY&w7Y)K7wND-bBal3MrOHcMTi(HO3x&qf!E$Y{-iuvkvEWfuSkA++L*{zco<^3fk zc^w1e#x=8vAbU zs{M29-?FCQ0GYBgg4dS(um7TxR$IGU8)(i( z@{R8W7frY3`Hy4N4_G~q-Z9UIeWKK>*Du2CZ*F3&@S0e!dh7pd*_LQ^`JI=hxj$Rs zG5!0wDSc-nAMRIwP#hk-aA}+*k7Dd^hHVv#xM%KcaqYd!@_fDVykHN5d1vZ3Urh-6 z8NZuL+ESn4+KnADb>9;F)DR*E|7TQngmq@#&&D`*Jtw!wa%-GGxRNJ!VESBkD z7OB6!+wie&*5>$KA{uOA0@v?!b1L-(35T;yd6XD-EBFyl?G*3+F4wnJ4{zL%7mBjwiu z=YNL^V{(h1CS96plXF1T?Xk6fj>S!`2f3RW!gd(t*SrvP*!9qFYqihY3{&BaZl`vi zs65Una!jRfN6z*jHBFIYGyJ5}dM97yaS9F)tc*WkX<6Vh>&fE(7x%0-zadrWwBViZ zF84JmCbzHu%3f7p<#leW<2QcM^?s+`#A%kOJo=lRqI9yLwmfh73n}|gMaIrG@tkL( z&mXllNVzExyZ=yv>BCb^6DH=_Ox|sAqS)!oh}Sj^Vs2~xZ!N7(mZ{e@Fy8a}!lCrg z8|r85xTL~GA8q_yC~#S6%ZAGPlevDanaz?f))eA;N_JV&rA{o2KuqQjaoY`={~O z<7A24!zw;8dl`3RZUX<)q{)9HHJ?eckUTk&frrd~;&onEG%F=bLh!mqFk5pj>I&i}TMsgp`y$PlvM z*#42o*}CaBI`w`}Dp>RTKyJv)nICyUGpBpMOMFa{W_z;l&xG`&i#;apf3}p5r!(VS zj#tt_rl(8fwSK8B|8e)ed2;t^=H0x#ciyb6Uw{3#h==i>2Ilh9AvgT{E}xeQuYa=f zp`4Aku%EiuwoA3U)?{A4HS0#k*N2L4{swK*3uxVY&|JdUx3+gG3(HMEYpu6O|M^R9 z;l4Z3IWGLJ$VKk;X8#j&a#g-Ob1u^64SgQ=@?CJP{X&5Qhd1uGJF#GHl9cK-w~rIQ zt?4o8m7Q1bvfb^djmM{RJEWg|-7~@XgRaJD|D7p}Cw)HlNbd7b-@k3A_Jp3_-r=_= zf9p1Jy)AC6_#tNd^$*)OS#xWa@8`L;@$`26gGF5@e(c_KcjgM;ylrh9o26cgs0#C+ zYm1r7ZQCemLDUm}9V9 z{!EDf?o8>s8w9Q$-MRJXry$l;qvA_>Us$R<8ct%?N{j(FA+x-=zF6^kcP+*%CY-|)F zHeKSYTKr$;zg4TVe=im*`CdPl_3+$vuhV{u)-M-&l+xu|>>{&B>#t$>M~2X>$(JMl zZA;!ZgUvSol~0U=*R|CKZ&VNDX#8*3&%XNC&eIuFF3kVTBKShqOmo=|F)qfvp3B#L z$n3W`T>Uz*#Ao}Jv}c|f8}?hREwK8;K2KdlLa4C%+&t@-*Eeqe@H9?C@b}8tjQZza zP9L7jEmPnq$abXQt7!S`)~x5+dNNkinohXz9c+%25xCNLcfs7uc%K?0r)%8?GEomU ztJT+^5A*i?R=zcRa$d&C#Yv67ZmUHt+IMK?$@CIdciBa{Et=vl%>g%{MczKK5j( zFvrS_gbTszD+@Pnuhx3FY%!C|dC!Q=x9{fHmv6h%_IjOjP9Sr|lRXaCbYvUytYtM_ zQVo}F=++XrtW+Pawrr7r({1_d%6{+akNy^(qjEWYWx=84k3v*GT21!`4Nxo%czE*S zW95^Yo4xa5Q|DayARx2FIkh$4X1mzJ*Cgr+G^1wzQ!Ta+czIp&#am4mtGh>6 zo@f8LtG@QzvD_oMuB&X_jXkHT8GOEz=9|=f^V|zTo~x6(OYhmQZ3*?5;(0Z8de-B- znpG9;%nB)N4|onv{GOXFBKuPMS%g8EQ1gncq?^m`9*vH!zWODwmvhV8olVOd)OPa9 zD`u;6?D*7pR;_V`Pk(GdV=9YghiY z=}%|x+;HOgYu1ftSMSzvo3ebz3Ymm%+b{{1sFg8KKQ39gW7FIMr|=EBQCeT63tvs! zxKHxrk*5s?7QF$I>W| z2PWAau$=HPL>07-=fG{r-y4k|NFJ>7vpD7BG;eml+}*b)dA4zdJ;>pTshPG;ZSt|> zeaWwHB%ZPJ^bcEDwomTpr!S9-H~B}^b2Z#{U3JFt?~>N*A96E`&lzS2v7IjaSwE9c z>i!0+Ym-*rS3Xb_8}6~?;MLUI$&Yi!*V*$sK0dCZ?a zdU&sG)7@Dgyr%fY_p5N(2~--Xy=CRjTlQ~}hXL=oDZOWBKAp$%fxp`O-9DKEpPzPX z-qNX$;;Qc7oo0LMPgvH00@LoxiP_)nzvwiuXYW?f)Cqs}d9u_FzDrHBsy%!+xle{PkFg8etq{o;l|gfE!!LH zAKnd9Nq+Vta`o|(OA7=yoLp<)pglc$gR8t&#C5YX-dGr;HRo}T z*}ejwo7s7~zqOqn1==h;D6-jc6Sp{*_;Vq>j|+Yre3x(arGD8m=M8CxTTCP_L|@No z^mZ&{Uv|@E8sCJXdgb(Y($1F_=%&UlZHSmGVk_kkFz2tvQ=N+qC%Q}`ZPcIsIvwoF zd!Xsj_WY@Qmm+Rw`nveM^a``IICn$bP?bO4Z+499YoY0zHu!nmZIUz*b2w(XMUPdhF71Ro>eZBviclt^5O-k#IwiPmH z8}-}1pM;j*IO%rhr9^x8#5|Kz3$h-+E=`S{x$@(UK$rOJwQEkM&t*`r`!k~>?Z_&r zFZ0$vt13CoFjakef+OR0dzXaI|LPkr|B#IknDBXZEAyK-@y+`j{y1s==C8bNl2yLD zcDA~vMmg`5NvluKI1qI4jmMOYPG4T7PUeW;%&9tA^NsC;n=iQdcY3g#L1{$!Km?!J9Nj;;Tf9B0c7z2syOzw=e!_dNella!FGd(?C4bip30ghY39p6$1k zEvL@;?f*WY^5kQVH#f!Ol_Jb)0{dAvCQZ%e&|z1uV%oK^QpCZk>0|4x_F)o-jnDeXS=Wa?+*PEMy6pZZg&l`Vo;YnRX$`RT zW)@R(JZr>|o)x?Ml%z(O)|b`Y$0yh>y|t!rN}smFt@XeC;x1H&S)P@Smge}CZR7LX zm-Y1mwWu9pb51fd{r(V}>VEKnf|Fjpz38{YO)1+M;vS}&?^C*ZTGM%X+_bEquE1V@ zNAGM4t84Q02ky?Dl$3VQFgxk+g4las-u!Fc7Jep+S@4T2#o< z+qupASm5VHTKNgiF_SlTw``2gWjv;8QEI0;W8Wbs*5_3drPt-fd}h*l)%j5^{N29u zhjx~R*+299Wp+gI;7>m*zl+y4YCYO<{OSo#4e@&i?$+N}(KV%hpMKcW8C_CSqquT) zjxCQ_)}Gk;C!p=ZlZzA9TYll`231Ya#dUh+FKD0>Vby>u*fcsCpVCwYkT`VAJjhyBUTqHIo%5M1kh*wi|rmsr*?x z+2Y3sHLE43e!4N7kqk|l^!T89+UG1I|2PKgGe1qw)lb@I$8M@OCq(DfYgVDm;+FNU ze+@QRZ){($^ucM`|9Jjw-w)UqgJI;Mz6btK{)?*Vh z>DU3kjJUjcOP!vj9}Mj|u(RfK{IuiN^%fWJxHA+_>9}3H#VX;%VQcvqx%+Kb*G8rk zYelflV|pG^KC?2LN0wV(?eCZAm}+320X^`6-?{Kn*!+07sS&G-Gpy{`9h zt@%%UgT4E%Q)XJ%5^;q0RDwC9{ne>ZX~U?&|4Tt6m_vM{jFT zp<4Y17N^HiKQ_)k>Q(*pcGfKBnXv|6pZ;s!9&#pt+4JcZk1y<}lj~-SoD`LlpLcrl zv4qm@L^vDaUvv<;VbHWg za$USw%avS#2gzFbxf~*D_Wus*E2n*Vqpj2tD4IH@zH3R_zHB+`FAtiPE_N-spQYgR zpuYdnxmzt4doxN>L@gr#Ug%v%T(#diWe}zhaYjc+KovSsXcL zXMVD`uY1K~$`Y&p`q6uj$GXij0hX30eK)qR-}S?3T75kKw)_(|OQh8v<}J=oJC^V$ z#G$R@ifwE8J+=C%hpD|A-|Id1)!o6A)U@VWUf8ynn&bbL9nRhP(8nY8+WKjk7f;lR z@2>wZwJNDQq}x5^$yy~}zbS@}@@f}U6KkHkU+pe1_L420&0p^yHpTOe)t2n$SfOUC zRljx~sqnMdf0H9^_KNS>S5De23l;rsXE(o0W~qBy`n#p&ryL*7t*_Ef&-Z7#xs_FO zWuvCH?$Y}!JtNC?HX4ASB z$0ZMQ7pR(D`Yb!y-puJm;V#>Hmk5CZMkDq6@^&ji7c=FYcaQH`yGD10AyajIcEzJ8 zX3J~A$9XPuXJ?Lj`cH(eWy=VnWDZ3Z= znoiyod2^+8+3}aJHtlnCT4FP;^q0z?=NG#-bLEFVo0MhHcV4%ihx33|>w1pcs_q+D z^(WlA);L-D&a(S%YOCtw*Zo^2a6h{yfZ6%!b_b5zk^TnJ_8gVv_Y{o^ZXUfY$*(7| z{BgpD#>pal4Ss7c98g~tcsYC_!`rnh|38BDj6RA#Jb5tQ{UoR;22I_*KVh>ZO68%S zb$Y@w(DePe`nLsEQ#9tOi~2aV1Sg4vB{%`F+-(nd@1DDxbJfcI(XO?8=Bxsf2Q}il5&NxZJEj04a zF6H9g^#^3kPAc6!q1?mv!1s5M&(g`|tlK$zgq3x8m3-fN8Fa|Xe#z()U`a1!af`e9 z<#%lU!?eu(>Gu{oy{b<;-fCRDQ!^|;E}@BU`J(o6W=KYlz=+ZlH?q7QS;ikc_6?uPr&)G>XP-rup zwAz2!HR({L>&1&4N+(SgxzZ-N_WDZu<+_)rt$R3Q|H+eAnp~$lXzkl^YggdvlQXXS zEO^l5aVV`$?CF)0T-%w#a#kwmryW~RpS)py`|<*-T>>-GrJQ38HK)i~WLLmdnvPv`r;4>4z`oy`10C++phNsD|xy^^c(YIwcTBbAH$Smuxa zY~TJF-g!GcYic6H{!cjRDg|oueiiXzi z-RAX2{C=G2QYn;P6tY6pO5KZb!$$6q3#UU$6|ZglG3mGKs(S0UXWLesNbUP_TGz{6 z^mNs~_+@XyG-~zOCN7x!>2T4a1x}f}wNu}JpS7`DaO3qAmuJ6XkNBbZd-tli0>iuE zx-0T{Zfi)AIYZq2LyOve5UnyAf zsOVx>pXqW6J=t%+crcvpw_d-kDgGu)+~f%Zmm)uXT>4B`* zbmX6&RXaW}w?bv3ZvATWH6B`LUQMfDSdcM~ZC+yJ&21^E4~phCuQ06r5jeSMrGvg( z!&zk!e*KK23`pe9^-X+!SxZ>+W z$NH*Y@3Q@wDShk*N7kIJQD68PW-48a{*kY&_r%uOn0RwSn; z6>BN|ogC#Rc<>;bOn1*V?{wyn$2$Ipjjk;)vN<->=M&TVzQ-#*1s$0dCwqtGY|>x% zSBL-1dAYLCZ7M^3j2O4wwVKKy8FFa_Ag3i zyZyP5cq`iQ49Atcg-oG~twVHQzTPf9Up1s}^TuC0#5Wc%>D!sT%{-qwt-{1+&ByPT z>)C|z?XE4EW#M$Jcgm|75}QRiwWFLCJvs3Icwe4zmUt`nhG z#Lj9@*yGE-Q7MzrG2vd!+l`wpUYWS_`~}X_HcM=k>mT|lWTidZo4;ZIr3D36$&V6m z91n{w)SN13@#$W>liiOf4baNwlw<#v&7Bz_Q^_Fst^NS_WqIc&7f~IJaGuMPx?L3y z6deus*kXG-;WlWTFu?iR>IF|#4;WASa4Nau^48N_~h^FdcKV>4juTK zYtOpw-bveCZ1rKXJ6}x~{b8q_FlYO7ZL7r*uW}-bCuRC3XFa%mtwre`*Nh92zj|tC z7*49I++8VCr2JMEIso4d&{Q#vNru+EcJ>7KWyK(Ips$o z=amJ_dJ_dWm~IBdp9#F~JH1LdzrrNupvQFq&Gk3M;}tdPokceP6+N3ixg$^ex9{6I zhA+e1PPnm2`Gsb_=*pwCQtIM=+l4CyJ3F1{diQ@$d}&aBpxE+$Vy;47 z_0rC){`s~+r;fV3|8YzHM0C_<7dZ=FMa3VgzN@CTO?F#lZ1;27)T^ss-}=KoJNNpd zbh}Nu9p8(uEXdTGx;i}Ddg*}`Q8(G!=jeQr?wzf&SH1Wd_tRw|HyPshe-3heSTsF* zLpsmxkDni%%zWzpauKL&7RSFWzy74n5^=?ceoJ%Hp5=LO*netafz`If^VF|}M;9Jc zWDC7{ZIhv8YXtKQZr4@&?fx&T$!>d8tR(y`;P|l%?EJN}^ph=R)Sozf3D2AKz(w)U zwe1^b{j_}?_Cu#YbEDwQ{nLGa{_kLtt!KRrZVzy1`@DT)dZ09AW|Wxb`8hkzU#N#I zC|sPEc5Fe`hWXnBlFDXCtQFG7zTZ`xE5=m#B0a#aNJ(mL zuft*ayhGuq{ii6(*euAcId$t`(V_(hvV5lRQ^-4z#q-%pJxAk>>H*N|deB&Lq4jic z_uDnwH*_~{I9%&uvEx#4lZ(D=ec82>w#y2#FVtIwcg$ZUwR8Hhnr*lCyhyntADydk zc=GHCv59qGr!%dcx_PsvQp{IXlh*BFM+2AzzszEO7vtDgGvo0&wp7D)r}n2s9ZYO{ z>almj#*`1$#$Mq!CSO~jJV)hF$)nq6MYjEvaq>E%Fh5qT`*C2w#UrV6=k2;I{I^!W z{%+x?SJ#s_Mn2B9a!oN?=(%a?!IIm)yREM0=%wd4O@6|XAz}EsR{46w&&fY7YE4u8 zv!=o)P%GE@|8nQ+_k+u4re@1HZqn#HAG*-*SG3kQCeLjh+Ws#}CzqOg1zp}z$YVRx z=NDt#(#NYlF&xiu-nehcx|qL@gAUfZTOJX+7U)tR&%fo+FSRe`xexM{^TVz!lv=U> z`_v*Yq4YH(I_b`g(vR&kiVds2K4w)pKk37+9(l$4@3>vla_gWI#3hV?y+sPK;qBIB2tYvGtM2z{P=#l*Q;9`4_F*ZrS495-MCM(JMQnl zojM!cPRyK{-CAF(uJ?Rzr`ng0gQxtgeFLxV7h1T#PQ34|-;;U#8=F65tb4lAH{Ea% zlgK%Th$ZiL)j28J9hf}_vas0P@C#4==Gxizni}P{-yhj|WuB93u+i>(VdimriilI& z2d#hIr=@eHQf~g~(3A{S6+8QO+Abfi4LkLI_#P~Axs}l7TtBr%qh1?15eD4<{>fQ% zwpwEPye-ldxhtc3SXdQSHc!~`AV}J4Nsdx#=)SXuFL@(GAZHEhL{UsJU4Pqu3}#<{=oB9q~^W@A#-o>iD(|u*J<9^xagwr zllEvAw)!OR8Rh)$$4?5J*AV?_r{AA`V4>%+zemgp*A)JryJx3?MsA~vip1$_h8ym1 z8D5$Ad2+8?@566%uKVTW_zU^;7#x?+IraRf(a#1wh3`8ihXlW7Tf87TbA!Wtoh&)u zxC4y$cD$Nxc-ZH+^6!}ceMPSqvS@DGXK{W~(&JxJPh1YIuh&dGmh}F=_O~G0?YqBq zaajBQ%iEac=kX!3KuGDtUUlihe5ch<eq5=y6#+&^OVV&lEEGP^2r>ZnA28Yx>@d-PKcSz>YF)bvfhtJ zLYkZQ>HY52__)(x;&pe%WctVLrtpfX`#c7`{-pAH#aoy-Ki@V@p zzWLospSuRfgbmAYTKJ>{2I+l$w265}-gll2kN-C@`$g3+QrPT~S1lrR$K>MrV{-o= zn7Hx*C$ z;Jo6`#}#)>|5?_vzX0{k>f`vgeS4{6D4z9(eTG>2)x}z?_NQJkk$f2~Cc@|yWLx#U zHu=-v=F1{ytfFVG-c>u>@L5&oe&e~x`yk_l;MMIK8s%4$KORp}0_}SB+`n;yi1ic^ zucjMWx-~I^M-STk1c-p}uU7oGtH8$2p6_@A25(tAB8j ze{-&y__64@XPj+=8jimRNWE}&#e%k=OgYP@Z&hD|8M8R$htX|?g}nTz52D{Aa_ zt(QLX*JYD$hf1JUj`H6f!6`~kiEjFgw>NsHan~Ox6PeF+^aOX$J@Nla%JsGvd}@Wx z=1-fLr~iAhRML<76Zfod9XK3mS9+a~{n|;VtwQVWuv!00J03mvisQ9*@1PgDyeW#t z(LuAG$XjqKTKx~4;utvb!@l139skxg`K);z_D}Fz!11)}4gB>Jx_)Ss-&9O3muGq_ zy=*~9#$gAaNmE2Z8Z5Gxtv)SnC^P2=L)4?gu`EJoXHI|Vr?tuJ?TdQTmF03L9obyG zZ0mLI^Vr!{IItaNKQLp4>>sa*-)w`r4$cbuCRiBE5~y)rUYAp`_^0ZHwLg0&JFe2S zeRTfTp4G2s{otAxa(vTu`N=A?kK8-8M(O*b)qAeWt&A-b*mA3V!CX+2tfTWHzMbZo%Ldxv z0GhNipMFoSM#FpWrVW8VvrqZ1S@E51rPe~$uJoHOK1*ivZ~vs!ul%l{Yv<ot6is>fxG8xIs2vkW^QAz_j~JM_PNyk^vqJXzqMNO+W9AKmN0_`3Zd-*GXatE zof6w3_=4{oT)4;JWe=C-`2bkwvmiV#h&9~-?39h?S6ZDp= z>+I}K6pZHI`P5@;P{r=df)g=ImnB{g5;(8GVAeXz*2g&1$|W@LZQL((;?lLcuUna- zxh_v=%B$PiR{!zkL%jmPfXe6(z^GC{hcQZw;$(l3twrG z-@v%SX>s1Or4a=y3i#I;SPB~%_Lv7HO=-KQbT#VJw#mEd=NYzCtp4}rcQ*4&!#;`2 ze?qcyC)<2ft5@Ui=uSU$E6Axn)MfLj#Gl-}%+^;?$F`_D=7XB`J03tgynT9V~vHkUA z?S$W@k8Mu=WP7zU@Z;O*Q;(ixSUdZw`}fy<+4arwtj%S{Zv=12-k-4erN{AFZr<&j zcCEEiY;rp%OiMqyA};vEHi^`Ng(coTM!^Mw-pOUpZe6STI)!=r`FYdA%#QE0T-)bb zAk+E9SEJv6|Mp#bli?H*8KWo1ge2@>)6%(^|2!E8eOexB_Yw zzXGoxsP}fi?Y4c3)WMUVQzIwty3dp55^uBg%|?s$+}|FQTDfG~FZ9~%-x^&Y`8#ZF zpk;85)2cTvt3Lg0zI2c4-nF!}cCnP#m%?Vv3AFJr(tf(!;ayC}qy?r&baD9f;x=&lII5zDyKk;Vvb~B#tW%mOV zW{HL#``b2sU#7mNG5@la2WDRBbj^3**EBCwRI4fr$~>BQn89P$?hU2Wat`@>8kk<+ zZ6+fsv2-0{%$&)mAHArTo}cYMQ-%G0rik9bI)96edrF#8vYx;E_S33_?H-5ag^r}P z`(*q*Zbp?CF3FHQz!V%E2&#^=t~DxoeU8$YcxhKHXt*Af2D-P^%w8{aU&p;M{q*{5 zopz5|h97232o|VsPoB~gT)jB&gv;8!Y+Jt>9M?AR`T4J-K|VySzRQ2Qx8KZHjJJ{> zJUZOwe)`F-h-32~eMk&5O+2qH`rFLfwcl)&=i@)A7iQdj9QM}gpbo>~jr%1}@G6G? zVf@P}bNIzlUFU6zi7V!$>t|F8{$2kd?TpL%Wk>9pG}@P${rKd@alBbXHu}lr1ml-A zljS^qTS?{^A9FWIziI5VWOiu1-s{&UVjEmfYEP1S{9TaP8Q@)fQ_G}28$088?n(OH@UZ0QuwqE9%S}HMdv68&E*qL)vo~Y^+S5KR= z{K4Xovc_LOt$*&;w>$${%5^9)w$y8LW5WNLwu@4IZdv{7PPrR(!BcZx!@h&{&+GQ^ zZINa!zSh$u_2~7>)YzF9I~?Yw_VaIf-K6$Knst7)fc({|*Ls`xA8C)|T#!+BK%z2g z;gWm28Ot6uDDIN-Oq%?ArLOz2Gh1gqaSV4g>t5Jn@Rd)oG5xeb5|euM=_xz(_OWzixze|%}wtAlK98mX8F{dPj*{XYUeF*+>&n_wBh(J zYtdXzWd`@AH?n=7{!Y21bo+L4*XAAP{_OlC)3kqQYR8vM%{8mP@@5{Idg#!-jVqMD z<iUa(K^iQ~E?`)FM|o^T%vYeT4od zNK9J1t1Msa)sp7Dp>GcVRlc@f_^e#Yp|IU{+zKf_7M?yJ6Md*Mt}S8PYi*ksrO9=k zpN+09=&(^e?EAA`o8MW4y!Gq0nl#_;tbpFM5(oe9Pi;c|4n9n@ z-fzMv)VopTdSCjh70UB@BD$hp?OHEoe1`vor^SPKY3C)0O69F5!k|KP`gyCAf8&f&~Zb4t4ra+)yC7lSp_d? z+m)65qivPAjiH98DyWAI%Uf8CR_4IwT-lj)NUt==B1<|p8%RmKD zHk07Dcu>b=bM5SN8XDynKn)V514Xg!epgi05^mco_|%-p&NwLW#;m^M_$*<0<`rya zU%hhXs7>3pVO81VsMo3S6L;NoPrE1*w)D+LoAuJ)yw)9Fg(z5^i!~myV26MkZ zTXM5!<96GOm|07hTu&4RO#HC1*ZtVFCHL2R&FTAcQy-KKts2u$+jB9ivtK*1FDL3i zWnBB_WX~B1KU^l)*Sx7b``O@ly@r9$H^%k*gjN3ton@TfoX2ysRrANrPhoDidk#e$ z`!8Y)c7V{ghly7E)5VTV_V#FxERfI$UL?YxTv0f0IcvhFza5v9E=B*Cp#5;ke8Xi` z3+4pa#Taleo8$R~Jt?Vnirr7ma(UTdNmFYkC&KUwvZ zF9)M<>XZ<*Ti!3!?iYV;*=YP&;=nR40l_z*^?ZEp-z@8ErP*Y5o}H9_EK=0h!z6;O za6v*MuXIy%@aiX~5}&_pGqmW9;{JUsQ|sJq-H&zI9gmBY-z(Of{lYK*W8OIn>E8+* z*Ou-~2~$?|Q_p_2(L0eVPdKAhZLe8ry`c=Nr0>H6XI(|Of9<^crBp}%8;|T$3A?hD zE+_A8PWm=?g-GU_2A?GlFD~40a7LTtPbDvp*oX)#hxchWq_=2rJiaH>{n>Z2rSi4t z4->Q}E=`O5ySCZ2`gb<7h}xvnA9Q#(H0{`>FAbi$b=`QNGPvE7e}Q*4cj5`xH8)bP z)km}Os-E%TFrL@EB24`T=d@%ZjWm3C*A zZJgWz4?dr~5Ek}w^~d0CW$|*;o}JWf;Zo!COV49@el(kD-{s|57Q4(lzDw0dFGw%Z z)4jQ_QBzSjio0>*MBVaj{}yhT6KLmVp#ET*!PhMrhx|_;ytij%gTbWbfu9Z*#LHAJ zUoCLkI{&km&4GHaYpYS3MAp;2H{|i$PCEJM{#|iP=yYblqz}7#U#ZPnVtYL$N5_DFU7x|C z{I{pn4%-RO^Vj%t@We)|vIq6y6;phsm#XKV_E}p$XKl)XV{vsqgH~)X;akZS@IrD& zNkqpZZwVXd1>T+Ojvt@3lVCG8k z`;y&X{i?rSW<8R&X!Df3x_vcA`g|s=%P#JkJDtO1p8j*SMav^EFLjbY*cx;a7)^HgGYY1`O}{b~6d z$90{Ty=2-sL#=k~nzud+KVjXw zpt1S*tQCK=H#C`SIOcoO@8FCpavfRT9>-z|rCi=u-H|SkvJQHzuk~=*J`a)eo)L^T zyX#|*-D|7O&UyUviNKe?Ma-wm=LTijv#xFzyf%4dncyuYIhl!_mGTLn>vN5pxi3`S z%`qxdJr&Nu>XR~ufBQ?pmR(JGHYXP)J$iJoU5{_W1?S#9Z)Kj{ZFbz`B4Qw=?He*} zf$y|0H?Ml%cYW`4@6nc}Z5|ok|3Cd|yj&nvqOtI8r)tXEf8pn=t7VE+EU#T;ejO9= zvuGxpW_bGErPHey-ncHAr5^sIAvCf6M1D5HJ9MY0p7r7UIcxu!(5o*_F-_j! zWUaM2tnrGJrcCs%TTW??J6NVYf9<%PG3=F}k-Egy^#QBS@0?P{@lIp*^^Gh4FtHUw z4kA(d0y&7}&+&iDX3q_<@hRcD_TK%y&To#|-SxA@R?F_Z)FrWeVc6W`-?KK}txvr7 z-u-j61iN_0iZ`kU+-@?)^j&l>eQdQTa)B7n<&CE~^{=VwmeI zbF-c+wscyug290=(-XWZf;a=D7bkXhOtF*TR@DFVLApvKPv_tARSN%QZ#OxZ6x|Y3 z>pka}SmbopSx?h4-1u5^cbL+}AfNEaDGTZo3U9A|oLl?B`)`;2E8m9+stf`9jgLNj zDK>qVT!-E77LAV^L4(Cd1z-HFjW=8JV57}y>2E!&nPWgrvh{gim%4K=g$qZlzD$#=9{owH|5pY@Qrg4^b)FfO>+AdHLQmsK56k;nCs0fyeA_%)FZCu*_`o zoQPi?ak3c(N4;kBcSXxz*mzh}_m$cXxy`)A+tOy^t$0JA8H5YsDMqPNhd5l8R+cGEu*)Xi$)&^gGe5Uf*N?){Wk`BQAuq z+(^6^#r#J7Q0*%z{{072jBk5o%(0)U_PZ0D2D&XLeynJ%Q4g7Brf0iMN$sHDff+v} z;^&@oIo_^R;q!kUhjjCjwqyBnCZE`ao(uks=34M#fo?eT6pW}#%Gc(DSJUNXiD(L> zSgxD2!0Gerp!$>)$Z|SA*0h=%neTRT-ZYz#zLGI!{mP|}A4^XQ$i5@ry*ps>ixmeu=L!~1iHP{WG{DOF{i<6}mn3(AI;WrRBhCXVdHAob zJ8}KvMa+WV)~#M+ls>CA$>;PGDK)hvC1FYz>mk`7q40LyyS0tE;WVtVhobZF{RDOegH9S5^D7xQQk3O~%g+a}BCq#-wbr=uipNsF7t~ z++8kQe?lv!KEp*)DS)f~v9Ql&tE-D&HH11 z3s2gep11M;l5^|5awa@cy0%{EhePXXdOdHN8V&o|ksqa?YIB~SXn`oNS3M$@3)Y=>-1+q2tgsJ7t?o-A5?jo|wsw74s18=N!0m)q5Ny)bG#V06U5!2hGv`uzt(bsxSy z5wS{)FF`Znp~S&*(M4T{qK|!+75ClUr1mV~;G+%(mkem*ZTyxPF&!(4pcq z*`gZ@1Y#!E&h`oWGyCQS!{bU8DVwe8+a6!pE_ya@$_6(E(6ZVWA7#q#UpgFk%v03n z*{0vRU(9nJl&;|RS-VSg)|YSnMX%b7=6(0xv^x0ha+Vpqilx7euKE7hJYk_yz}t@S zWpgYvBdP^l*Gu>RDVwRDWy{5^uB=wCP!yYaTQ{@D#?^QFErlr}25r@9*A}ptad(y7 zw5;b3T=6OS=yd1WeOl)lq)wf*UAS6o(nmM98;b(Ad^u@wR*3h*WV8IVBW>}E_n+x4 ze6~Tm)z-*+rs~8gdupycpP=AKTD%&B`~`g4dS+ufINN zwI640UrfsD54*j8ak)LtsX3YPVOQiGMS)T^rTRIKjm;Z58>Bb5$!O^W{M~s??bf1w zhi05iFXeLk{`%Qx4Yda~yfHP?7I-vt3OeU|=>>xpGHqXIS}dUa;V;W=#=p^A-(D=x zO?kR|(}Fh}eitcNEi1ZyU8hV#szWtWqoh9l(Z=7Kjvg#X3D20~KfO-v536rn7l&ew z!C_Scc{_&S{YEU0Zdpz9Y>XA_J|Fn(mz1XapWTGny>tN0p*veTv< z<@Kqbo6>T0GVd#y$#^c$l27=MX~Yw^kvVnR`)s|A`?I*^_Z`eJZn~2>=j|lE8y5mT z?lj-%er%VbOJI62zxx+G{uU|ruZCPP_0u-EEz6tu=6BdG78pS%n8w{0McO20J6Wqav?r_OmtFYTulp+?C02&{-^;G!FJho#o zmqJ2kCf7@~Y*h9=H8q^;K)2UcpA@k}q8jmd-9n}YT09`m!Vx4xD2Aiwq3a*2b6 z2P@qyUD;0gr5E$LbJ)$OW6b?!Zsn407C-lv+pYJ7i@LRX!=)B~?%TATBk19>nI1yt zJp(3x*xfqYu%PDo-uUp8V!x+bJu*UUKi0I@&o)#ltz38T#A2(I2eYa@ef_3uD1|;Q zt@+`lRihxJxcbV97(NFPw!bFUkiA}-(vM!=L|V)B{h-wm(0qZl1IPh=?#DU{U%S3P za`%{oqSLB3a>n!7qdkSsIR;Gpu)Alr;gk9ea{?`$40x7RSHB3o{eiDO+mFd5yt@?8xyAxK6a`Q}B;S+T5WS_yWoANr|o4?QL4*5Ol z+DgOot`lQ#Hk_R^X~n1HhFg2ug$XP5Hr{U|Z-ycTFJm&E4 zdRA^wDxY$r*4lYyCU3xONe|Uc+Y^HxE^Dw9 z?1|!@waR4`x8?n|<~?g(PyT0ct=)j*cKvF9j*mQ!JM}-T>;5Ghd{dEKWq$FZ1iu$0 zvrF8Wf0X`y&8>2%^rk|+vxwLa@w3OLZ1joS>Hhc8vjc5AN0*#Ac#mg=(1Qh^-8oJ)g_n7*OTJ|PB6jjsjoX=;HJ`;*4~4DxIRn%$5I@^K zWrGv1mfzcR1_w%+7Iz;nJQkk&Au-67UF>f2T*gG5ko0 zEvb6qH~ob|{()Mv(^gNq{qC7fD0$Bq>mVZX??~aYh!tWA8^Fi&Rk~Yh2^Tk{7yozv z_R(sM)PMP%za}P$)lMk*d24Bb)hmg4>Q2GYg%_vDN%UFQ{f!e?dj0$DU9q*jPyRP= zi#SuHDaW?HUg!^R?%}kLI*yA))XgTZj14|f=p_qTRy$GTTGOqJGr!JBZ>@JmZG^&cF%F7Fc9&n7@5_fz=|Z zdF-J1f{jz;EI>^%@SG9oh{kI_jy18znHODtuULQV+!yAu=Lk;F|GmLt=daspzZNa%+&d?& z|6`)7xy>@hF!`NRC*EIMA?)W-5gl#S3tm+lwa`EL+Ovz-&KO#>Mlns~Qrw&J-*3tfZu8J%tQ+@9Bi-sk-UpIgJpc2At znq#)`v4fzr?vf4Fe|84XvWe*qW4)DdHQM-?qJht^cQc;M3N>T8dq(JH>=T*hqDQYT z=(`<=R1iErWrxkbx0~$NNql>ha&e#ST)*DeNA#VXf_7Q=$4FOoE_n3*&;Nt_f}aXb zJ?I!^(`oAe_31yC>g1BhdV|-7b0Ut)H-rj)cp9+T-*UZPj$UTnR#O?pyBmUcFUh=` zE_WmI&f~+`sh8ttam&wnoMHwVu79|X=f|@z&LW39KFg?H87{1?1aG9DX{xit#Uh>gyM~%2ULR)0%es=hQ2EoZ7oJ z^0R#6t=V^;gh_;RF3YZ&a_>XXk_Bp6zqIRDPZd#XI-5D?VDwy*2g_c)<`uk3zR8`K9lBpE)h^Zq$oEcfmY#j~>QxoKnF;fFB%7DF zIc3UOUtG4?kEwMj!vyXfYX$8Xmo9j-uKxAeAN~*Kcx*cz{Zs7-!#QS|oh#SnG8kO5Z$~|NhR>=``#5_j!w(EyUTh$D^svnp>J})<7Z|Kib{7KG&*kk?kef6 z*}AW~K0ch)K-+Lpb+f!fXyFG_j(`-axM|fsw;djonlctQacs0PzWR9fYo(t%#JTw% zFujsycVOi=_P-mhyCIL~_D11HFAv5!u3YrdXm-Wc_k_ySJ(Ic`=aXP z9Mqvb<$!zYwQ0ZaA4$wSH?vy#UKCfyZQfl5A8HdX)UUeuTh%nr@CRGxY5f+qm^Aso z4HXZb=B!y!wZ&cCbNef$<~`Fy{2E?my*hMKdZV=OFKg2^lM^4k6rHx)Z{{M_txb;} zf{J2c{-V};b%AH!AKHdIy|{Rzm5=t7%~ILR&tC02d+^CTZt13_ZE9I&5>NzV+5-H6$7?Qiy1sI=+hkdz%%4-kb^k(rOy9QTA9Fo!XA7IO zY+I;V632c^UdiZx!$pqOzuGTmOu5(kndSaRS+n(fcZgk)+Uv==f!2>r{y+2 zZJH_R(eCfC!@K|Jzwe1RLiQ}_TRBC}}WAg%+RsQuh zv%fU&FV1J)C-`NZ;2j;I1I<2im+x-i`a3VmMd?yzOpTZCr@H(Pjn=-gm%P6JI45l` zwZu*%B+{ym^(lkv&5bVH${VZ?@0u0pVzJ?4*0z}|cymM@tj;&4n9LXUImoyJbU59T z0;ydbGt!v?qXYf2ZDyy-zPR)CH>XJJyx! zH{jajON(r5MAumaFa&QmR_J-bW_q6k&<%# z!~Z_*)S}%t`;Sj7@#@vx7B5xpz3^w3yup9|R&7n))5|7)s^8T6)#LwuF1>@ZinWB< zXEJ@2O*{1bpgps8`;Ik}H%^@prJ(!DcQ5nC;_18@K4E3EwlEl8+a9DB#SkiP6l#9j z*QjTs(|N7GERUZu_WLgHt96=nyWd*s+t(Rp`imYW_3leQuv~50sS>9RHK6L)nE%S= z2RaP0pe-Jt>bSEWR39Jvw@i8tWJzUwYvG(y#c~0az`tRNt`obptlmh+rKtAIO-S^} zcolnq6f7WE|bkKT;DM5P-$iHZmqNnx$D+U^V=tT^2_|DPw$!PSD&Boa=*y7 z5}w4zh!rl1KNvB|C|fZ5IxPgy>@o# z1C8)o$#c7dm5v2DgnOr`%)K)+(`s${&1#`;%kMcanh*Rx8}umDh)sEpT1#2+qwV%C z-3QzEhje$w&d+PpU%&E!RZLOp6INT_xM!I~oBdx#mGkb_D>{%879F@SSWbc~xt*zA z=|&9y-Q!)c>1H#kweJNS>E4&ny+QKt*YIxTNtPc2Mbzd_S(&cH=@qv;B6~w<`ujGP z9;*|**Sb$cYCVX$$y&efO8D0W$Fpy4^ZfN|SAg4vRKLuR{F|N9=RZ<=_u_$RthN09 zbldInOP4BcoBM3(PNkhMif+oLN4dln-;3+H+*q%)!X`>1G0*mG(y{;AOXInP!air>N ziMFU4TKwF6PhLGg(x3Kn$K~MmEw{m-}P?9=9zlIR-(h4}2oI?Hzbl{{mfLaNsuUwyjbpHy*3?Hr%`4X>M{K z`W`rEL%pPrvo6Y}R?Bj|}afB<8Wd4T=str>GhHz5be1z0Th#=1JWBV)gs} ztv%zL5}r{l@b}4s!(8uO;A6)_uaO4;|M{^QqHCZ+pEd6R#+u3B&Le{u7EpO7qOi)qG1@BW!hsA)3I ze8sH%^zwqupAXc;v~Ng$F;6~?=Ro7^PhQtnEWW2;?f8@}Zhm0+*Eh$fWY5ZD+En~^ z?(2i~i!FbjUJwY{>&1A&W=VkB!#uV8v}1Bv8|GUqE|B_neV)4VoajPfSGjtLF!n|! zxnEHn_e6HZwmji8Zr=MWF$7Q@jD zLy@EvoYz+~4Jc33raWyrdpu6pS;wJe^W_2Z|*#Vj{Y znOQ~WA7@q){yVF}rg9hKJXW~^uR_1%dY@;Rb5>Ouv>r*E@N(PNIfj#JTlWXp6)MTr z1svaS$$UcXEaOJ)pbHLw~;#{M@i*Y0R-HN~hY|E~#kve9CQo`a7#=@7ZOuEbmDCP=6V) zuE?!^x}=Qtl?ukY{~~oFZmx@5d*o!({uzQ2wd{+pq#3Q%(Ac(R=Qr(#p|7t*clIeP z4RiF-y#BG`fQ`%S_jVbR@2{#^@3qpQFfo0Pu*HvulGA@|@MQ>IE%p1P-NJ_=Qeql^ zdBsHk{Z2emEOqzwx>yyyHM^N^d=vRuD7iA?jK0|K#clO2c|sdLs=fWGbT#VdRI6Rp zsgKUL^_vSZbL#87^3zRglN8eUDCbj3q!z5X36S&@ROWn zb935iu50tUm6;DO5?PZyr9<;k=6M#+xL1tt4r#ZPEslQ?IDf(l|J;{?lXtbKGX!sX z#bO$?v1IY3TW(otDIwETC-a_7KiE;4kiTV5zw+^jm+!KJmPt$#maDFhUa)qGeb~`` zjk@|eHHmYJcdlJ)b@zYM_JA`CPc*Lm69`_@?>f^h=p2uf^2@i~7L})pQ^UPeY-UH? zeiG;wd+X-aYD01L>T}t$W}Cg&d|Gy3n#W{$`^g&=8+XhKli%dTX5^uC)cukBxOfXwn8 zg4fjlf6*!DsokCUOe0(+Yf?Ac=L13KW_U~i-Qi#y;ZyT=_O#)xWG_}9J^ zoW9$)@7#tpMW;?4T9zwXwZqZPZL#{a-zS^SN?g0XRU$v-nT+xtal4?d!<(!hves)9 zML*iMUT6caqToNRd#YTEfANT>g#O-JlYQgCaSz^geLUjx%4Yf}PfB63SNbz4An;&; zbl`vQl(sqEoAXb&EZ-gCb!yIXyPqDfZZqsZ5ps3y&G{bZee7;+?0lDauylvqectSQ z+26k;PB0Z&CfQpRrXZencJXe(Z>M;RPpyA4t)4~dK&;ofZ910!>gvAcG9F6qTD%}O z>(Bo+O|Jgt>6aSkuA1}KC45txPsLSkeWkw>qtcavq~n%v$lvKK|1-a!F7}7lg$?JW z#bu68>NH+5JKXMt;GE4?s^ZNX4UbBmEVVejE2&`m199%P9Ck7l7I8;Y&G$WCw|JJD z+qvHI$D6F{AF@gv$P6&JBc;r%IPo82Yd!N^uA`#qW)k(?Tf&c4E98AyzxWt0&#%gc z1NSsmGp^gWApY}CNjH6u{Yy6_{7m*WWMgK6|_V@xJ)t!g9|~U2Tz{ zzBU_iKM#@&%-nTuw&9f81y54U3opyRT`T?Ui^k8i!}d&S?KSf!FL3`f4;%%@W@r2m zIOy~KRrb{lHZHfs|0@0HFp%)vD%n2WW3E@!=3=+QCr{V7S#}+s%;I0gYqRvi+Y3^n zk5W(W^F7q(u}SRwo+_{U9Xc`9*1>_%8(j3Xlv7r!D}+Z&A3l`Lne>(?e9hjVZ6OBE z=k_>!l`WOfU#t_UQKI~Of}*I^Wu=%jFT2MT#jEo!`CaP@I{Mqt=4ebZ?h|PLtiEeF{_D`W86tNP77$yWVM+@vQIC z*|QIOCdWSYH?I6D&hX&uw4W=*eEXli>srekFa4BpZb#*Nm-3mlSz71$OSKNKZ6NfI;LT1D#ytBo^IoRI2(C#qs&lu3EnH z|CT+O8(<^NB={`~lnpo3&W?Dd5$-QJse1$HP^y<6Qw}5~{C*$nQ`69Ttvg#;^?{HW zL;YQy5Z0FxfvOAhEG7%CkhF7Mvow0sRp)I<@yvD{c71iytn+d>{nCoo9P;;&ua7Sf z-*xix!G#hIoE!Jco!DitF^l1El%`rSsQy(M_fK|{inqTN^kBt#QS@@)S;7h z3+;tBU9z2$e#UnD_g6A4PcGJPv35)|-_$evdi}Zf3~Q@Z)A}AQ+1;meU##sVcqP-Z z^i`X8l?BS&Yg_eY_3M8>jn=J~{{A<7)2mN5H^tU!eSN#Kl=(qW>=D29e$yosAFlvS zUSEs8#VPvW*aYVOJyI#GPpssXHqR?zo+b6*q`Q3jOJBAY&qpGln^f#W=I8!Wvv#Sm zS>d^%Ugyv}eu)mted-ss1qU^6mFxcW<)4?zv8DI#C^nnszSocH-ak{u(MZsBy-;7u zK8DJMpXU@xlw2onSaNioq_$k}AFTw&SLSSPahn*I9@1_JxF|m>aMq0#aq2URdzjt3 zxNlw!>}j}VS9as&CidX0+Pu4S8`R&Vif`g&?aDmzSF!%ax4UOUxnD-FJmer@Yq9!| zoY5z?H_r}8@+N!y=<|l{zQHey@&?OZc-{^UK`>a@n`7_(VF2 z|7zP!D(#k^F^RGJkXB0;i}!C2lP9bEbDwY@(b&`Nx#4B-&xJ42=e*n_!tl4=+^6Hm zBej^@VsdrHhtr;KsP~w--%Y&Z?9AtT28 z^?QWH{@%2bzInx;kDKl3!IQt_k4EoG@spddf;*GL&ai?d_Y%7TyVUi1>n!f*Tkl+p z7Z%JCYYcujb;W(%pf~&0d44K&T(IEwBe^uQv`Th86Wd^BA+>EMuIT(?kep?EbJ+^c zYda1dop9ht#|E$M8=crMZ}{Q&PJQpya*K1~2YtNDeH}!s{)nBOJ$+;JXP({99{;gh z=qbAU!UUG=?;jG67~D!wR)3ghotsvFjN#43{nttgtkNatvHuE+4it};lQ?s|QK{P~ zN<%PpS8Ph>>2qyw==FjIti)^IxaY=W`F13%3&u{YvlL#*?}4L zF7h27n?z#wf+h^+e&dk}zqu*p+=CBa|0xLE32VsH`L?92`|AAG^r}uB2!Y%XU z@@#gco4dF|CTPUE9?QOog1S=K}~qaosD1T z>)ep`kB`Xs-rc)IwRE%IhIR#pplLyc+A3TA^4wS}^)RYb=F7t94-?PloMY?z6p{0r zN$p`;z5V{n>lO%Yn0~DEq4Ulr{#2$^94X!iY?6|kfSS;I;?Z$ZcVE+b>y$%}-e%5*W_Z-_)dH}Sx+m&OfiPS3p z+Sh{9cZ;Yq25)+G#PHlU*F(D$&xRcnmb1Tp@@R3@-4FFotliVho3ix2o#t&n%lvdM zv*d~B;J4SstUr8joTwjKsgbAiZE4E$cT4(Ag5EU$nKgHt#~0S}q`%Sn+?M|p)JjVZ zWCqB)>3iDMr%`TpG*nMUL+fIuIf0drNSMRvs zG$rf%hs0}!w#!O$>wnwXen~pCFmjvDAv+V^f7-LQNS=s_Qgtm01+D2+(p_@u^@N40 z|8D$Q)9kwXpSeQm96Qhb`Ab(F@6-v@s8M1s$u!Bltp%!#0-CHQ6wcN#KWud3grSY9 zK&7e<|GrahH(yEpR3v*# zPP0^IZpZJdM-QJkC#vPT)5&sD@g>hEw|31bsa<|BD10Gf$bRFePwy4-ifnMn*V0OU z^!nrxmtxJ$F6plEjN5lM9xkpoxc4B}_)kLZ(Xv&?8T$(!^Z&R4Udgn@#U%Kne^m9# z{ZT)St#{{dDfz5lneFtrSk>ysk()M6(v(jVf3&@O-+|xZMz0J@ zJo8RxZK|EUT2rGu=JKS~pt0iBVIEs%Zb-NtW$aT^?|g0bj;E>zUff`a*L)nJ8g4b+ zTRflV_Fd^mFT2{@Usio|nl@(w|FnOS^)@Yc)gI=t>`!}Up0!~<%hCd=j}r6P^Mj)U zw@#6>P|0d!`u8`A!<>6p?4D!)mQC~tkO{slcuoJq7oDJ_+TG=v8s&A8le%vxA1I11 z^;*C4)90D_RwA?G7_SPhp1N(34`gTcoZl8Es=`Z+`ae=czj^3 zkF$)o!Ksv$(s#c|{j5`Z60lK}jeV*>s?vdjwPl{$Z)?ocnJ4G+{AS{{Xggm2)!`dC zd{X9w>AieBp=%J`|0*qw&wiEXlY1F6c6r=U7w}d$h}l}{=l=fH9i^?`xNdrCZToR} z*=~`RT{lmpmAKZs9TBkGFU9LV&Gt*S-%cSfkD1X`6Bj1W>Z(Mz-nAu%TrYL4s|)v<(yEzTJVWG4 z`)99fD@D#~cx=)uXgtBvUsG~-dG;K2K5m|8mrfozp1WWNV}V!Fk$T=~_Ztj#-ds%F zYV4DCWWmn~^PVoPoy7KU#vUsvN6tMq@>;BlpMPGG%F^hWv}5gWt8;CgyxyUOpINn* zuKuQz_qza87p&3xI%%c*#s|f9;jT9R(`Tq2u4|FEfS4F376F?h}mrB~S1gkyF%g;|c2I?I4E-jFnDm9ON*5v5IxzTbG zK>-a+t8}9@Hr_55Nq@3ryU?1TH+ugJuccLf=hJHb+--ZaZWYtDkV7sE3zDy;d!_uF z>u`JRD*w3M)p5IxWO8LcPgkh#dmOIb&n*fm5_w%%u$zDBVIW^Mb)7+h9334fImyX14 zDf}F&-D2>C@BQQg;e+>HtWx!zw7~7t(MtceclQ^3PH`xm>H7S3!u4Q9_kDZZiiLUh zAB#4|!aXrI<%z>`o-6BKfB7f)b@i&BEvYB#PTMhSwdFsV z@S7#*bx>?+-&X(W5^C8M;S4ttuSRVJ_l{ZDPk9`ot}ZR2>^C!wZEK_D=7Y8F7JEeM z5B;rC2VJdZn`of+Fz2G5^t!mYubgZgy@QYZpUaXUDO5P?$uzf5-|N3hGOxW~qyBYI z%G>{8ZQECzW%uA(w_f_yAC`Y{hwYh++L^9RsGfIYqoj^(@SDXFX}4<@_^f%b`tpvr zr5YaTE1CL*uKRIar{x{4D_0tS z?y4!x`%|_tp*W>jBaHoB^}6u#8I{@f$yWMGe8v{N8l>(aEOzQeWqlZ94yxa$+97`LzDCVBG5z%l)O# zCPZfQp5b5Y`!QiNt3XB6!p7xCR$cnuy|VHtXleD)`jqGYL|d0TZt3~Ls=I#CSN`G& zS+kN83pQA+70=mub;Ej>=Q}h5of3ZieJo;fYgc!H!a3E0v4u?i&m|cB_LPCnhU3th zl=SFPeS4eBp?``3e@(>%{~bSRSE6y}qMup5=K4jmB;4LEEwcI^*x&zl$=c4H+vTi4 zO)}%qSmAsfvt=bu{w<$m67 zy{%t9zt47Bk#JO9y3%Vw(>)POm7a}E3cNcmF1&62KJWRTvMZ^eTwp(c-wfv4m%Mhw z2q&}3eduXc-f%T;)#DAG`xk8VnpEfQ*Q34R{{g`>_A^o@NwRM;E>i;&X4?;K?>X$qWQT=Q&-TTc|p5G1iryrd>{>uGjyMog;{XYI_Sto3k zw5mVMJF!3QSwqH#`5h$%R*z23Q|Ef-VZG?h+^BbKjf%!w0wWqGZPYF8|N3px)##ig zFR5kwD*wl%{VqGLm!Pa}Jb&izuX?<1{OjYU zIDfI4?)@W==XQOL^rM$mVeTi{J~~a)i09w-{j|-JUbTmLbMw=V6=ZFgFTS)u>bt}| z_K@J{Kt9kyqOTjbE8o03W3tE2a|xlpMVDRoD!J&uy{%v9olnuNxQ|+%x%Lcm+Fu{? zdL-dt-tlLGR>AJv>RhuET33YymYFtqI4YQ~Zw{RMt)QKI6`OGV=E;#iRvxj7T)ciF z`@JIju78hK{&~ag_KVGu-DOG4u2o;Joh@3ms$lMRF6;P*i~mS>6@8hRrLfPzW8#k; z-?z;(yVt~bDX#32=+phuOn=KKRdMrA(Ja4d7l;G3)MW z85_L?DV*H)vyJ0jPrjO?eI~D-=l0H1FFTL6`K;Wg==p8_EB;M?-$}N}sy$<~QL){< z(s6rw>oZTQ-MUrw5{oN4ckX<9^4PY@{fn{>X{6oSRXe5l-y+6~m%~3Rf|k=2&dEMh z?>+Ux3K`3FpkcaAn?g&??#@g|(taf660wAF^-<6Q1|N=+`CAXJR+(Hhb+$_Vbh-P7 zQXf4!-Dbb&`XkCiE_}d)I`6BYdq8p|hD3vYVX7wgtEh)0`My{oeB)zhT=n=?j7XHXf{Ux6~I@`oS(Bx8>MLmKMotSGT9C zq?C3E2``R$UjDLMVouL5*2v%mOVt=Ys4f4kd@_zDk;`}0Z~Nb7#fqnx3N?lJmJ4l9 z{kQ5@j1`kc`zpgrhx{2XB;Vb@b|18)GsC#R^h(By!y0$h1-unRqODnE{XRLJslU0w zl|$=W;LnYRYTYdlh;3Z8M}dFuCkc+T5qa`EKTOL!bfI_Slp`e$#lHeF4v3aVMs0Md z{C{u$ey=-R&n|wp>B`|(Jal%(6VUZ~`G!4}pZF}BxnquU3&?D^*2x@U7c3CdQg?sd zi~E_}he~R0?vg9vc(X1@;|JrLeZm>PUM#E^y*XcW3F#L;uBo%wJVj;$i{j@$N2Dr~yB6;%OA&8MoV3p= zG|^jF&E!PW>CSDnvkNsf$}_J`TJ8S$K#)PW#}?4ta+%M3Vrspwt+susdLZ-;L;S2~ zA*!|Y*3-R@(`KEqSt6nE!l^Jn?U+m!q%vA~eV%%4Q*_}x zS2>CO*BX^J{E6Z)=h_v^EB>!7JUBq+6_en%^};MOw@-V;ZMExy?5(-kheDhzC6~xE zf7!(4a<}ARc-e2xt1k`CuWRsr#Vy}|Xn|k7Y*8P#i|WtqD~iNh4u~B;xp-pqJ@qKQ ztM68xJFmj_H9X?xqGo`XW##0 zv;G9xW@o>9zOMMK&)nZ-msQk_12wnlty-Vi8RTm3dHtkAlP>r}PvVVd***3mVE zX`xO2X2R}*SvPD8Zcba2^kZ9NYVYQ0vK7l7y<2qOvnE*S#SgfdF~$_W!K$%*CmMLaQ=GzaKZO=nH%TY%xbPL%zaY1iQB=eaO?(f_GgC{Yo5Np_w0@$!|12(vkI~#S4|U*KDdoh(Rk`X zomn$h+NQ6wIg>uqIi?`lU|)WTuPyI2m_c4d6*la_~7Yk>F#ID*f@ynkwbC#=5R@yFGpSzhy zk^j<~%}m;xV;3ezttjYYk*bVdxTkDgkm5$WkGVxpZ~qIis!LnN2k5%CH%gc8jH@~wyS5intw)mo#%$x$6F+#CRR+5F*H1A zU9|jDW#sm?$%a!8B}mO!Y5Tc9?X1+F6QQe;XMTTXu-50{@50+F6BNw1%DZWs%!)OtBJl@f ze%62QSSRhP@>eQh&faORw~q#k+MQTubMoYlt&T~{#kRFJoGzBSHz&_aZGvFz)F1P= zy=gn^{Jf8~RLbk-hLmH^?tN)rx$~)W>82Zt<#L~un>4Lh_IlPI#$T}yU-Jn3?)JHJ zO|0ByeoD=Zy8*=(GJ5x#95Qc~ChzLz-+FBo|C!6;^Xt`;jP9GZ{I4cSsAEbJPO zwEjkAh~3}iUZVCdt>#>~Oz}HGv-1XDcslmhdfRI%i{HIAspP;z`?Znb&Q~@Tq|LT_ z>{EHc>+b3E`nTlk9d2^lZ+Nqs^{3Sw?G5?tyEjU_>^vCivvSv0&uA2L6mFh3%% z@`|q|YNq6p%-#PFEv&9$%}u-^6ck{%bDC(xud7{7T0a9bCf?p7n{w{QvBP2kGR2Ff zrUjhmzRls%nuF9CAmd|s0t-zy~-k=>07k4}Q zEsEdb*krqq(QUV0pGw)4U0mJQV;5_@-(@{(i&Vi&>y=Y@Gd_RmP~W!uRZ8Bk#j?Du z-)~3i1?m@Tm9npw`11?_*h~-jOWaaQv%fs)#g+#@^AEi=xw*@`>_YuH z{Ubg7A_Ro37WI1n|SYg?7`wAw;yJmoiRktp)dhu$U##WcsMP7j9O^zOwliU3Qtb}S0^Vc2?_OI4%V&djJpOT=7Yv#+%GQbJ znDE|VmA$>p&%^t}%=~UE?=vkv=2JF-<-^iQ&BCa;ouAz}uQqGR1ijhlmCPl%GLGd& z!tMHKgLC#1EGEhEyNLYy^FS(pPUa+z+a7P(%Kh3P% z)6A!KZk>Lt#_8tn7Z>gr24odAOrI#paeW!%Rj#mW6F=|j6;}Me>1%aTNrHpYw*2cQ zeC3nPKHJ?qxcbnSNvrs>f`W>ZJyU|`I4{mQ;j<=XRlVlwsbx`G}i5v+UU;`Xi@hy0BRJ@=4^=Ff2h>=#VMxg0X{spl%@VQ9$0olw0}piT-y5e zS$|(SFO%N-;h8{w+VR-ASbAtUkQN8=@izh#`$OV7AYoAiHc z>-I%w9Tf#Xt(={2l6|OfhMZ<w95 zZZgD2KMGOR{W(3`FN^2)dHF{#H@CaLJfPsTt-OMN+LhBbORQ8L=E>%!9b3@7A^zCO zH5RkN=Bf7uMF(!2D`!!Cy-~^Tdlbj5+q-H{9RIgWb#8#oJto0#6N-N8@NcS}-Jq#a ze)amK)!7OMiYh}rwpeXUxSfB(r+)48wZ~Q(oYnF0)s$>re=tPl$)stsmrRnmxzYM_ z;(=uzqBA=k<_7m2zyB}MwuJ4L8msE_uxF8T8(bE(lv;I3%)kD5Wp<&hT9xHzwfjF9 z|K6CTH)+?2%sh@ljnpWMVg-r1Z3f+Z}i?GPZ!$4;-rh zX>#M9b`7(@WpPf`Zyg)t*FR>Gns;b{56>^Rx6=%C%fe4@k8s*PVMSuTg5LC#25}El zt@lk~2%nqbe5|+a)h_F;;UBjKMlJRgF#g2W_q1`lXTZb{dwcVq|KA&-=bUrd^FR}S z^~;#}O|3owm#%MAe(Pnq>*|H|M`VKDZ1M7Ds;l=7;!)qrRupn>@9GV&qQ%}UaGhUO z(Y$M;-xr=|56hbFt2r0#xad4Ly`O&@hn-n%cYXnj0ek7Pg&w=_d%nx^djD@4t3c5m z%MB^1k1t)T{3_3OKe=ah;clN}Y>884B64;;od%vSNK5|x0krE?oqf{keOGy^s zQEHs7Q-4JEtU2h=Xan1ojC<|sO_t8q_WS5GEqkG^`_329n$>&d{U+|Z;hvUO%H#h1 zt=oC_uvdOgYWedPI5*_)dsFGO+i=r2iOi_z89s7W?Q>@rg>Q2Vm^5R4k3jF!cWb~$ zw+pe~tp;^W(y~w7d$TfVZpUYLj;qZ^a?Woyco)`lO+Bt;vd8NZckB}N34T90_%E-D zE8S4gBK=rJzWdYfM~}qY**Pxla+n4grn8wN%`UyuU|InC5yhvU?%pjB+;Var%SYDe zsEIE1!7tbCH2mow!`#jMK@7B-uGy#PuQT&&MVr%G(lZa$&bU$!nzHH2s>(c+*rwsR zf8)mb1gqQ=K5MS8)~)Fj)nqK5B+b6>MAFq_m1&NfxA|>cob>4NpZ0>qD>|L#r1u>z z+t;l7N1Ffnd@C1qv&ow`wH)s&c%<^<7I?;Fqw9hnpS~RSwCIgy3FY2Vm?9>Xw%~eq zQn7|0d%=Y#d_K3{{b2DFmQj1s!R^lYRl-lb?%wixfryDuSTfB{8C_fW+eUa*+(L%X z3ZoFUlLal(lT_rp1^-@XHr*JyXkm}j+%^67ci(KZS%2r-!yGY{lta6uiXtw*PjFfv zG>_k}*^4o*_+DHgdm|I5Ul72(D>kV1U)#cY0XEjmg5M$xzwn&cR684V&1V#-W1@6S zXwi=C+4Z31_3t0~#1wd4TV4G|^?>;ehIr=3A*$1?r+b^^^V~i!{pjVr5ciYzADpJ$ ziRa(8_@vE}GPQ?!t@&xkq_a27PgznRwMt?h`~INlK*p(Z7RA>am0tdd;*h+xtJdqt zzh#Vb18gLj1;1$;e&PABxpuabhDN#Zx=D-feZH(@S;|#^f3?6D8@&}_EHfFeEmXBh zSrxaCF?5}gZ|Su{&?ps;)`P$AUYal5F1+i@p`B^v{O(`h+ALGf{cTs*Q8RCWLv-Ga zt8Rt&v|7UdY{@U|Dh6#Z*z;6i8)(DfuAUgh^JgQ#SFbA>HdMb4DebJ8VE=)2gWk84 znuZ$(!tX}Zd+yn|!PUl@a{Kia4KYF2P-yyL^@sQ)f(As5#*YG&xVgZqX`;*ZYG zc#@&NVx#!q^)FM-=KV}NY{MkoW;J)hYS4DS*!nh)o`!^(I;UjP=frtmTkZE&^}xv+ z4DkydhNw=lp6+d)&vSde#G{v>34?#2>U$7->qqFns!z;pBZYTbTp1r(ozRxGE^`h&`YhMa(+${-SN_9XYQ#NMe zu3Itb2SiogJ>95(d~eQYGYy>rb5_OG#}D@fW3b!(?w0q4g3(kHU#&a6_p8vQe0 zhi7rh)0{Ia-ZOwkW;l2 zWPiqj9T5MyeiLLZ*G75p5Xp(zyAHgbta{pkGu`C+O8?s5PAwX@Rpgo%MRqn{)(cs+ zOF<)iZf(`w)RSr~(yWKr1gE+V>U-B>doC8PBtu5p*h* zs$sNslCey7s98~m$?FTM;*-G}4r?7OpX`b}mtMl-wzX-=-!~W2H=dbsNMeE0=KL+f zooD%<|CzW`J34Bk%j=(;=FX~8zZUglz125JN$8vTR~bBE@%2xq>uJ}*BqM#LKNF+t z-5G8vEm$xqyFu4`asCO9H4`BYFqmQCVX|a)nBKeB*A=v%iT~Mj`qiu7b|NbqCuaPu zR_ELGQ=;}fbKJu;!~N;^5^k(Gf2_Ckwe$NQw{<1l8QbnNWq@YS^>veznu2$g<%<2^ zE1~B+r&vRjJ>vMiOYWPReWqNol(Aelv3`O3r`XN8GLShOgO zA-j#D{XRKOaoDgwRo46MI-}SP?dy3!1yLOTHlLF=OZcG+ix(tsn15|)fmER6JobR# z=s^A{au$BqAi2Qw)~?!B$NnulGbg}iHk05tPs1-fOE%Tc{;a7{{`Ok^q}94g2Z~;V zd2E@Ql<>Ruu}@5n_qEkwZ&VNb1C@l2LR61hO!r=s!gKqn)T5VM!rV`O`RFw5Mm+yE z;}bSZ*i|0pP0dR?b^3BQX-S(jPmp^}Hr(EyTw~(2i@^GGCXBVT8^6ukT`-&g? zzQ1%!EBMm%*Bxh8{aB{&UHNy?LYqmC_zT|fhiP8#nyS&+J;nJ^TzdJ0l*2QV5}(%p zichUMc29L{Z0#PG`1aJ_(?m|S`>fge#o)M(!P`lTOqa}dtNm3uWtV`Ge)C4dkCG9x z_b2$WRr%!B&bX_yE&sT|vMN?p`3Zu#lifV*V+y1)VySbo}0RHD=8PXd1Z8x~Y5P_WWFf zv+4(S=>@g#J-qOf+);6l)%hI1S4M1>JXN+yE|kw{b9%s!#AIVDktcl1=DDlX&RgjC zIe+&%&@!I(?`d+yg&R{0o_=$itfi{r$+h$LVUZLwxr%o7K=twoqP{Cv$yLl+RXf9& zyWUwnaBjzMt;~B$`ZB?P=0T1~T)P6C3+xP(r)aZpI1zm3r^HXCdulw~d{0hpJdm3+ zb8@HVpTy%XUCZa%EIlyAKuX`&ciM5qRp%GJ%k%Pmf8=guSk#g$_Zcz-FSlKH+ZM*r zzuJG*N6WcqnWuZ?TwoJsUN5vdJ@=5@Uc34~0-_fmb*ZZn0L_gabDZCF{pdY7VZpxusGaC<=dd&s)uGY&~D z@c94b&Q<$D(0M@8O-tGyt`s zXT46OMvXFiYR#eBpCn!MJ@zizpfs^|wrAMQS=ScY+N#`a&6ecfe=6q6!J;X`8(cZG zms&isoVX%&(UQizKPBq?dp}Cr?msZ)lO5>p_wc!PZeQQI6f8{WjhCv3UihO_CnRtk zXs}xIv98S8aP`pY-C-VEA`=sS zx4iMG;R0Q^`&9Kn&P|5+5067sgRG`|^W^c|=9PZ*a(S5h$>krNrs>4w9--C&5XeiWkm)nK|eXnbI% z^rM$sWTPkUx+|WRR?P3VRWEeOyNjM1?DA6|E!b}tzoxbItn{-v%;gegMH?qFM|`^7 z;;5Jr#kuge|Ef-lKdYL3?)*tn5OZ3+_%mNgy{6hmolKn?6ZT2#U3SWbZ;SF{zo^B0 zd(Td(eX?^d|pZ%PFa~lpmRJ z^q|>>?c16i5`MU>6Rp`Ia9POmyNao&Lt?7=!q6KJt$c58jJ3Pqa9Z}Ue_QmT#XBO; zeUX)Nf7_(;M~d&md;{_HtJODlpFiGL_IQW&y_NS`sA*Z zr(eI7R0paj6tm9V;!*#Fy*&AHtUZ^Ntl_epnqPMrMEpZNwrrd*|2F8#nDrp-m7wWZm*Dd^zvZ{q%P?3<)8NaolT4T+=qUk;riZ;4f9oXL3=)% z)qh^jGi(sNA~!-3xh$5jmePLkv2TUTHELU8&n@jlKAn@;&QMe1*qJIwb6 z+9;g}X_W5!$HuL=`Z(xtI?W#@c^f1Hes0{)ed5u&W-UdXPYDwjuPn_1SI5zFiZvwI z>y4_v%C9+FJ;C~8MtSr6nU9Yoo;La`6a41YrGyVMMsX~+6Rt+BU2ZqS_fyU?-Bt0d zN5B_}Fl%cBJ=}P(*2hw5Z`!%^Vh;CjpPrjZgn@d;FD9!ht~($4rh3yZ<1^o-GY%Zy zB_e0MpPk85`CMc8#1ET#(%$?CKfL#HSVHrZ`Z;?d>hn`BefcgEs8OTJE`9*iERJh4 zy}wE#=|irOUyS}b~F4x@vQR_vHbN~db+pA%=7GxQV(8OF8m?d^>Mf3wZ;5f z`(#501uHXN$OTCI8`XZ(e2Rh8Pc$R86Pbj7B={T288 zx_3%}M!hiGdI7H6Qr^Pg?y)ud{{!(+2dX^UJ=YXos#u+WI%ciH-n3HbDT=4vIT>B{ zort;94epq5XuG}DG58p^Q|>E=GB^s}NXDF~&OLC<+CTle=8awZzdQ}xwOXPj{MnMZ zy`S#0CVc+eeTlKuo%tT~o}T#Lr~jI_2c0dgSAM2==k&JpoKtlZjDA#sTcv)VnsJeHm~ybRkTG%9)NrYa$OVg@*aW{>w$H<`HHvv6m+|h%{;&U< zw+Ec9|Nd0qZAsJr7|_I_<9Ta!tGPYDZI2u%th*i!p0~SaIxqd4?#@2b@YofSJZpx(xYS@2uE!55x0n`&n#Yig9+Uz@bLSouIv zY`otU-h_nTwGVw_I=ru~UiL=yz>XUX@!ubZs4lUZ?k$$bb2~xm(aY{I_mhDioTeR% zgWPi2sQxf-QC`|Ho9qqqpDiztDv+4Rz9cw0P;RQ6Md>@)(1NTd2pD)u1-vL!X#~9@kday-_`|CuidM z#gCoVeRAsivg!kW_SWvl(MOKDAKk4GH1(%U|JI`?pSLikJ-?%>n{KwiZ9@L?wnH|% z&faH{Dy%EaQWH`B;L#y&|iP}<2l4DIw0_t13*Hvi=^X)M>BEN>AUeR_#jki{f zvtI89SD4O!^V~ILzk$jT0vYY*lX8&twSLZXBZb{?(+98(jFb_G*0TKG^1V zt?RODSW-MMle(VF3b}7DpGR7!U)u3m@ULO5gTyZ5x!?B+My*)4gXJLOg=5!M(xRBV zxpo!Sh&_|7SGX5==DZ^l`x(8j3>8UPingK_wYqG5-2pofRTj2|@7TYC>4z7y%hg?S z*Z05TwtNunBoN|n^ql$QyZ0XJokWzFWS2=EIGglxN0NhXySs1i_a{uDGJ7AU+U`%U zT^L@n^tfGyGF#N*FWiq;pLw~R(L{u=bA{oGXqmq6(XAm*zt!tZI2ovsqkoET)#@+o z#Yq7(%$u#5lpi_fn5Z6XFDuz!+?2kS&;P*w**7!4tu`rDs}rBS!D8RF(0QK~j~2=6 z{8!#+h<&#vu_{;0RWseTs-6646-KseL#U`$G z@t+@=JPq=Q)3|bYmg+>q`gIk}TY`=knQxgA@vvoLKYR6VBTbEB<^S`d{FO|X&RbRS z#PjY{9WhCt7~Q>DWrjCoC#=ZMPTY4mS*Elib%X271jY?k;&yqf>t_atHGN30IeY5c zFPn7_zV8h1)<}D{=-$Df{cA0)HoII`pCTT4_Tc4vaUYXDxMY8o(ztPZGqY~}v4TSl z3JTE$+Y=@{v)H0zx2fb|ndUNK#jHnXT&8UliBCH?$1vgL?eyI|DRDek&5y5oy3FUd zbGgYvg=?>jWi;RK<^O0Eu}tbv?3vY*lpJ@xk!5n_cx~FoIp>kn2Hh0XO%*%$E-o!L zG>mHhBDFcFx@i8?sL!lkjE|mkWC~p{l&?<}Ep2sfV~RE4m^EeH_+h~W_lZN)|9`zg!vitM$zWa-pcQOk~;&yEk$m~AQ z>hrqlwZQjPy=UgvblZksP*)7e)O-3~TVrF6?~)A)FCy>iO%#k;^lR!prUlcRxL59v z{ypnfRlU1eyKNuGy}Gw)_gGQ!V7{TR zRTuZMvkt3ovHRvQ#P1hg^7nOnxb6n`-`dCjPU<@(;Irzes?!ve@RlphQue(QQufWY zNPWBH$HJ9* z({@znoO$>-I`OcVh?|w+=cYBLaz1lFArPPf3W3x&pb$8_925eViTOg*Tc}iiG z(X2PGkK5gx8QcBgTlqr%i`};S4CGlg6^?3sEaB1I5VN77V~>74cY#E3EzViwy_&y^-Z}tvUH;o@ctnoQm|fOBU|@y`OErQuS}9 zd0(YPEzBQZb>(<8q2XfE{-}E9iF}{sMH=TGxX}}E-q=wfdA-1wJ4IggZ1xNn+D!}} zoiR^k5Si!D(eqM4U`~9PPsGjQl9PtEss}tRnU(fkkBo4tNZkFR)W&V$`mFB5{bxQZ zZFWpeui+@GnY#ail#J9I?Mth6rPyukiFw}j+UfsX^%>qLj5oUG#lK$GV0c@qK0>20 zZ>4I%vHx3|x34<8GyZeaI_58Iy~(+3HkwNM%FjD~y9pksSkh*3d82bd-q(dbYfpTa zy8dN{%H=I~4E6t~__JnyG|o0yy5jf7`MM_$Uha5VRp`Ba`F*zO=Et?#Zfkt^u{LFS zvcTZdUbddS7FCA9s?b^jZBZ~_qr3OTq{_tw@bLK&~f?!iJ&CWdWJ{;&ub;F(T|rr#?tm_ z-VXVR>{sux@N zg&khin+=_89zJelIREd_)6$n6;#th$y#9-%!dD!4(Efr~(ur?-{I>O9i^EzLC_Mbs zm4Exif-A4~RrVGAa*~X9k)D`WSkxeMr(XNIi@UP*53Mk+9aFC#GoR2HW+t=axS-TQ z1Ixm)nhU!>glM#XyXI`~_ThA3-%Jk&mc*?-`KHo!{Qs^5`@Z{Q>&v{ZHf2`$&CQlx zcQ*OUnv3eLDAVb@?RCnz-p3{}!drU%Ig1>yxVyZ@*tTu(8G0=JNlLo0${KHz?Zn z#;x2wePe0IjoimOYHyfMKUKIkWg+hjN4tNEMAfgSpHlyC$@BY9@UoK!<@nZp`pEl1 zF$TFJEl~ORcFHSttFLi4)TM%>o!ghx>jiXN+iWUyRw!uV%ck6r zzLvI)OA~agD+Qm6=yUDMMUot^g>FI*qwFUgb5xg5`|XF=59p^IzWoy;U~&io`roD?20k`i)a`E#~ik z&!lv+%Js+AU9o}BCcl3>CqOGWuVTk~gTp*hw}p4x3vyU_@0iqG$F$bkINW1tiv#Z_ z#>Wz-Q~9rT8@y3{;B%9~=HEs(pEViNvp3}N{C*U_cy^PV`^#M)owlV*#$H}_(xydP z?V+D_e%iCgN*_OVJg_nN;(IwYo-w-K{=>~^iBF&q_#34$@%9%P&E_v_J8v;XDlrRQ zTVJwU&GN72=d$$t@Phew&bTWb2#O8&IQGRrrz!ujPt6UlDMwP4fE`f3e~pmyORMSG zzqLbeKk<6h)WV;>_RB|xpT^?+)4sPCpNa!Hz*2M77wzxAj(s)F_!)blSW2{>&-U*W zIf+lRj|3L(kbo)U3lI_PU6$G!!-$iqq5%5JR+a+YtNB`JM@x@ z>vOMN_xKXSzDf4By_T+q`qfF@oNo^Vop1M;qOu|3_BUgnnj7BNzZkw%ec-cUwcSBO>wK3Bdy+P6zco3?YFBla zem$Q-G~bWA;d-A|9d}P@j4Hn}@4rmSt(%9A-w?6R4|D(hg!M|6+yQ|zanZijOfw(7 z(`0HjGf`Ijec#976~m?4z&BN!c5~j8dFytQp&pbAURs?r-H^xiccaXclUFl>udn-< zb63K|blQ|(Djl`17g@`!T(&L9+P>r1(gL-X>ihNTQbHE~Yp2K=y*ss<$?B;}Sm)tg zvMkU3wKcbRuw*j}UOOM~MMu0Tb-SgOn1`!t+KVazh|E2U5P~gX|tEwv`DA*CRyj_eQMI) zu>ZqkH=Z7e`gv&;d^xkv zr9L^oPt#)BwwJaiBNcMKc6@jK&0zb_fmMKY>V1*(2ky?}kGWG{{?#WjA)@HqYgy^D zD<3As9`xVzOUdgr-qe-;~O=gX&UU18r7Qn6L;go~TMiPFlqFI1Ec21Le3eA&p% zyhPx!L(y%|8|?u-t_?an8ESSs4Pia$bI|r&P;txMvUwl>YAE*KxmtCK+qmH6>FrsU zT(#yJ@J1#)TVwL<<&K&BuJzkQ9>q%qD{^m~qE|6#^&Y0!CMS{idv_&CxBYAT|GVw;W-?=#YO9Yw=5MINk~9xd}NM_JtD#onBX+sb>TwAN+4{1VgP`k-KGg8bq8 z5tcK(R;Tv}*_=MBwruIoJngl6=Ih;(Ow4@Hxjd>xSYjGKs2sSTwPF9UC+zhsnAix)omZlCz0 zbZ6FsH`+l3(P`HV9h2p6vo@?d^}Jp+^KtYgb@Mn0%ZbP1{XU)Rcg(sgmwWg2;vn_D zdnXQE40xRE5c%zO<#L^l#rD6lt1=mt4mO=(E1xs>d^E@8Q)UpF~<*7N9J-`vaF^2B~qUX`}el?78*y_r=1 zpulREM52ucbG6dbi*nE3%|79%^fyW)@7PZv&1oABH7EP&20H}IdThXLtn$y~MYg8K z3Z~Y3heXOg1}!R+zVXA@jwLE|O*>9RV zwTy4=F20mc?mW@czMnk2IG$~@Y<7N{WQX2_@AaK8O{`oEZ?StZ$`x+RHi@}3>5!Y! z-=)k~e}5A(pY*SC{f&YEtI&{Z0kTVyE&uENvA@Q~nmh6OO?M^xT6r;*zRTI6D# z^@M;;KfIdjyS^>$=Y8j}Pe>~{y03G&w#KE&=b7#v;mkh#`@e9C<&jIb_lO1+GrxQL zws1kd*}qyBW=)N7P^);y-2*{OSNjQ-w@q6+S=y)OM(E2w;r%WRHqYe21<^;f%&DNt zXrt7llLyVzryZTBv@JcJf7<)2yO`!KNbfi&$lE*0#YyM5A( zc_jk1RZ4%O3|6kbWy89>cjw$W0WzNte_S?QhwD-~s4mdc4^+7@<%@;Nv7p#+vsc&I z*!FU=cKy2Hb!{@o98fkaa9Hp-gjMjE;9Ij7UA1eO9-TbsSux}G1m)`@34+tUpR{U{ zRd{~lZ>PkK1@)k8u(ZJSsN_6Qi=^;m#*KL;0qjTawMJ=7Jld+qx_tig4~zX|ikUOD zGPf12`e@SVY_F-|FSY#hD>dhhxlZ98Q#L+$5dA*+%%2D^P<5>G(Dw#o-M&X5tf1Nu z6aw!-ArRpHe%Hsaj^ae=X%`!u&uXeQ#TsX`wAW8i{QK(3*8;1(^7GWC{3{JMPLYee zaH^3>>AIWA?%SI}qt1P6YrbP(Q_L)QZ@I-EopMlRq?u7}bZ=T`WpbmiOs2<`&+-bh zc{j3M%&gXk=2 zwO%Fb{IvRIXWTaIKesWcdY43(F`v7C;l`^rJio3rGZ%k}(O5X~1AoM^hW@Upkx4vW z5%Zt1oys-)Y%|j#BU3E-#oI%C*`2~lagK9$B*x8BTgB?O-05Dk#pINQ#xor2=Pweq zdSU${c~6b*?sHL#Ivd3-Uhn(ra8e?cd*1VHOh=>A7ZkXp)#txonbY@g`Vm8xqk_}z zj74iLe%uY$`h5K#v-026jEl2>B_;pccWn3U{1|8Bz?WxK{-`8htlI3as2}d!e)}9t z@&R2LF^?%5l2R_$H~ZAgV%jSuI`Q@{ zrIL5M+M4I&#}qT?-rKM6CxClf<$iZf0pYYstGcbtuDFGUJ2WgUk(n+0+@s=x*S-5G zJ6InS&vmi>|2V^SW!38JJ#jv#_e$OC{3ura^54y%dCKw3$Cl4zXo+{)%2Z#UpLgLQ zI1%z&fm)@}slkO?r%4HXgEz@`#ikqsUox4~{W}rVIn~KoS-acbTr6DaMGvS&1Zt99 zah#x_J%6!J#qrQfQ}kbiN*oF6f8PH%i1Q)S`jqW_Ilni~Qd)V?&-?w(4^ivV-+zzm zuiVojV)?N?-lU-HSwqOW{l}JqN(R+`p5Z@Nz4KjHAI>hvztN^ey58cSzjeNt zoW>&y_ian-RabHJS%@kx{%I-m?8T>R6NQYPhU!ney~~yb5(NVFphl^|6d!OwWN8u& zDhZE2T9D)$?lE;!TF&8mP&sfajN9Oa;uDX%EYbbWS?z^3z`Ex_<@)bu@CvYv&sCzEu<5I9;DkJ+Zy~?gttXdk4 zN0$1Q-29kU+!7&@Z7g_kfyNV?{C%a)#}y5hAG+2wCBo=NY*hS)9Lp6IkMlnVC!dHu zH{C+yZbr*Ni~99{yhUGFP49LnWBI&N>(RM$eqlehzT4&Z{C0ZIc}OWFHCC1Is!j+n%s6BC7OKSe2IDqHQ9x%Y3{oaR9JTzN^oaEmWG<(qPs zC|Fwf+v#QfULItzD%K->%EpBHBh#gA=16SP>(>9Q`oQ;?{Cxl4F|v}krswQ0lX<*P z_LZUKz4L;nJ_fC<@aLcQ-Ln2jkFcKPKI??aZ+nE!e>fN0vB~JcJ9RD}m%sZ> zoLy39qf~lNukxur@o(Skloc%A%!1eU>%X=s_iEj3uX$m;(#_u4;YRmkm#+7ivT??Y z+c{4hQm*)3Ek5x^^}!ZJhKdFMgC)P&_6rBRd(*s9>euyS;SS#yeYEm>e*gQs@AW5b zrm$Fk^kXj1%gYez*newxvi2&5CUvRRiz|16IwmLQ2^sy>IuRHR$%aky!-eueMezw9 zo$^h!tM$#y!;Q|(>G8C>0Lq3_pnb!d8(!B=7pzHLz%!Gfe#e^_cwMkjYEft7wBs*# z{f}K<79h}8|KIS)k=x52`e_$re%nyG-=6KMK~>d^c^a(F-ia&c$jvaCSNTinZ>V|W z>8(yBZg$5G-e0=6p5frWp?drE`f1-+-eH-2bDrDb>1k;R zS{v5i+*NG5jA5R-(CWp78>h%gJUTf~NXd5A3qk3syD2vxw#}L2&un~n;fn0aRnC(=bxBvWR`=;96|6giE*q)m+IYPH#(%tYAAs-V84ktWu zPC3yf)@|_Sse(_~{P+6C+E$vsu4@;p^ZC7!?aQqTe(^7@3OAk0uMg*+_Wh*sY;LoM ze%9i0&lZ4+;$8VxyCkORCoR7HapM#|j<+`(nT(zW88jZ=1S^VloD7v7&0;$&;`iD9 zM>R8dIQ!D=FOmWe2+N0aUj3k`c-w12ru>cSCp!$*rZ47rz~J_Kftbrn?xhhe(LCo` zH81=)Sd?^r_T|)``j~{kZ{3?5TO#t#WOK&|KYM5Y=ku`!=eSvlTbVS}stczqud+D( zcS$+Z-6-Cr`)BbvZob!c^kP7)9dq1-mj+uamH*bh$g0lGP-?tHyw#&66{Xynly{P_+ig^nirt43Qv!C)q>iF9C#pQR-f8?+KCmXM{`}=g8 zh4nla>bRLipS@9j{QB{Qg6eM}^O))sqC>9k)7O~4v{60$a=pajb#KBQH{V{|yi?UE z%vgExPpgZO<&X3~@d@)PDYYFqR4VaQJywoq-4x-38G7p(Vy4SCEl%2BdeUc>qw(j% z(gAy|F5Car&{_Y|XycqF(Y%-cme%usaOV!6wtHF7W9zWV+8#1)M;FN5pTGIEOz6$x zc`4EI;(_0f1uI=&+GxYx7gcrg_8V#K$K7oQPcpj}I|elM*X*t?f2KOSI-y!DVb=9- z;p|>#wgUpx4ToaF_7|gM{V!uJlf5pbQg|iO|2`~9m z|55O(X}s2wrk9c%>YWzn$;Ajidt&$Z=d-28LASGhI$4$J#ZOtHle^^Gl5+MNQPmfE z|0kt1?LM_<4qKFscF?>ohGUU&n+#rxXC)K~J$b&!J^wAEoEY1b55C4T^wy?Cu1&sn zqT(RKg}OBimT#A_+Mn^?>DLfl`TM)a@)^Hta*x+fxScV_H{R#amd|4A40%qcSnC)q zo#lUY;^PYz4!dIRmMDnVIX3+ckXShVy1T?*&g=_QXUS{x;|~kuS=$0Xa6Zs9 zyZ%A<_&wFRpOnjXeQfr8wBW^5juSR5-f9p1vh&lP9mv|S|M=1wmb;(NSD!Hl04=8L A)Bpeg diff --git a/init.c b/init.c index fc9d2d2..dffc39a 100644 --- a/init.c +++ b/init.c @@ -30,21 +30,17 @@ void DATA_Init(void); void BSS_Init(void) { uint32_t *pBss; - - for (pBss = __bss_start__; pBss < __bss_end__; pBss++) { + for (pBss = __bss_start__; pBss < __bss_end__; pBss++) *pBss = 0; - } } void DATA_Init(void) { - volatile uint32_t *pDataRam = (volatile uint32_t *)sram_data_start; + volatile uint32_t *pDataRam = (volatile uint32_t *)sram_data_start; volatile uint32_t *pDataFlash = (volatile uint32_t *)flash_data_start; - uint32_t Size = (uint32_t)sram_data_end - (uint32_t)sram_data_start; - uint32_t i; + uint32_t Size = (uint32_t)sram_data_end - (uint32_t)sram_data_start; + unsigned int i; - for (i = 0; i < Size / 4; i++) { + for (i = 0; i < (Size / 4); i++) *pDataRam++ = *pDataFlash++; - } } - diff --git a/radio.c b/radio.c index bced7d7..98b7907 100644 --- a/radio.c +++ b/radio.c @@ -426,8 +426,13 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) { uint8_t Txp[3]; - FREQUENCY_Band_t Band = FREQUENCY_GetBand(pInfo->pRX->Frequency); - uint16_t Base = (Band < BAND4_174MHz) ? 0x1E60 : 0x1E00; + FREQUENCY_Band_t Band; + + // ******************************* + // squelch + + Band = FREQUENCY_GetBand(pInfo->pRX->Frequency); + uint16_t Base = (Band < BAND4_174MHz) ? 0x1E60 : 0x1E00; if (gEeprom.SQUELCH_LEVEL == 0) { // squelch == 0 (off) @@ -441,7 +446,7 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) } else { // squelch >= 1 - Base += gEeprom.SQUELCH_LEVEL; // my squelch-1 + Base += gEeprom.SQUELCH_LEVEL; // my eeprom squelch-1 // VHF UHF EEPROM_ReadBuffer(Base + 0x00, &pInfo->SquelchOpenRSSIThresh, 1); // 50 10 EEPROM_ReadBuffer(Base + 0x10, &pInfo->SquelchCloseRSSIThresh, 1); // 40 5 @@ -467,40 +472,35 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) // note that 'noise' and 'glitch' values are inverted compared to 'rssi' values #if 0 - rssi_open = (rssi_open * 8) / 9; - rssi_close = (rssi_close * 8) / 9; - - noise_open = (noise_open * 9) / 8; - noise_close = (noise_close * 9) / 8; - - glitch_open = (glitch_open * 9) / 8; - glitch_close = (glitch_close * 9) / 8; + rssi_open = (rssi_open * 8) / 9; + noise_open = (noise_open * 9) / 8; + glitch_open = (glitch_open * 9) / 8; #else // even more sensitive .. use when RX bandwidths are fixed (no weak signal auto adjust) - - rssi_open = (rssi_open * 1) / 2; - rssi_close = (rssi_close * 1) / 2; - - noise_open = (noise_open * 2) / 1; - noise_close = (noise_close * 2) / 1; - - glitch_open = (glitch_open * 2) / 1; - glitch_close = (glitch_close * 2) / 1; + rssi_open = (rssi_open * 1) / 2; + noise_open = (noise_open * 2) / 1; + glitch_open = (glitch_open * 2) / 1; #endif #else // more sensitive .. use when RX bandwidths are fixed (no weak signal auto adjust) - - rssi_open = (rssi_open * 3) / 4; - rssi_close = (rssi_close * 3) / 4; - - noise_open = (noise_open * 4) / 3; - noise_close = (noise_close * 4) / 3; - - glitch_open = (glitch_open * 4) / 3; - glitch_close = (glitch_close * 4) / 3; + rssi_open = (rssi_open * 3) / 4; + noise_open = (noise_open * 4) / 3; + glitch_open = (glitch_open * 4) / 3; #endif + rssi_close = (rssi_open * 9) / 10; + noise_close = (noise_open * 10) / 9; + glitch_close = (glitch_open * 10) / 9; + + // ensure the 'close' threshold is lower than the 'open' threshold + if (rssi_close == rssi_open && rssi_close > 0) + rssi_close--; + if (noise_close == noise_open && noise_close < 127) + noise_close++; + if (glitch_close == glitch_open && glitch_close < 255) + glitch_close++; + pInfo->SquelchOpenRSSIThresh = (rssi_open > 255) ? 255 : rssi_open; pInfo->SquelchCloseRSSIThresh = (rssi_close > 255) ? 255 : rssi_close; pInfo->SquelchOpenNoiseThresh = (noise_open > 127) ? 127 : noise_open; @@ -509,6 +509,9 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) pInfo->SquelchCloseGlitchThresh = (glitch_close > 255) ? 255 : glitch_close; } + // ******************************* + // output power + Band = FREQUENCY_GetBand(pInfo->pTX->Frequency); EEPROM_ReadBuffer(0x1ED0 + (Band * 16) + (pInfo->OUTPUT_POWER * 3), Txp, 3); @@ -521,6 +524,8 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) (frequencyBandTable[Band].lower + frequencyBandTable[Band].upper) / 2, frequencyBandTable[Band].upper, pInfo->pTX->Frequency); + + // ******************************* } void RADIO_ApplyOffset(VFO_Info_t *pInfo) diff --git a/ui/inputbox.c b/ui/inputbox.c index c0c04e4..e352cce 100644 --- a/ui/inputbox.c +++ b/ui/inputbox.c @@ -16,13 +16,12 @@ #include -#include "driver/keyboard.h" #include "ui/inputbox.h" char gInputBox[8]; uint8_t gInputBoxIndex; -void INPUTBOX_Append(const char Digit) +void INPUTBOX_Append(const KEY_Code_t Digit) { if (gInputBoxIndex >= sizeof(gInputBox)) return; @@ -30,6 +29,7 @@ void INPUTBOX_Append(const char Digit) if (gInputBoxIndex == 0) memset(gInputBox, 10, sizeof(gInputBox)); - gInputBox[gInputBoxIndex++] = Digit - KEY_0; + if (Digit >= KEY_0 && Digit != KEY_INVALID) + gInputBox[gInputBoxIndex++] = (char)(Digit - KEY_0); } diff --git a/ui/inputbox.h b/ui/inputbox.h index 4750178..d7a6d2e 100644 --- a/ui/inputbox.h +++ b/ui/inputbox.h @@ -19,10 +19,12 @@ #include +#include "driver/keyboard.h" + extern char gInputBox[8]; extern uint8_t gInputBoxIndex; -void INPUTBOX_Append(const char Digit); +void INPUTBOX_Append(const KEY_Code_t Digit); #endif From 9c7d6a38e5fe3332085b58baf0b8ddf2b3fe72b8 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 5 Oct 2023 22:59:26 +0100 Subject: [PATCH 08/12] Remember scan ALL channels option across power cycles --- app/app.c | 6 +++--- board.c | 3 ++- firmware.bin | Bin 53752 -> 53752 bytes firmware.packed.bin | Bin 53770 -> 53770 bytes 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/app.c b/app/app.c index 684884e..4279eaa 100644 --- a/app/app.c +++ b/app/app.c @@ -660,7 +660,7 @@ static void MR_NextChannel(void) if (RADIO_CheckValidChannel(chan1, false, 0)) { gCurrentScanList = SCAN_NEXT_CHAN_SCANLIST1; - gNextMrChannel = chan1; + gNextMrChannel = chan1; break; } } @@ -1079,14 +1079,14 @@ void APP_Update(void) if (gCurrentFunction == FUNCTION_INCOMING) APP_StartListening(gMonitor ? FUNCTION_MONITOR : FUNCTION_RECEIVE, true); else - FREQ_NextChannel(); + FREQ_NextChannel(); // switch to next frequency } else { if (gCurrentCodeType == CODE_TYPE_OFF && gCurrentFunction == FUNCTION_INCOMING) APP_StartListening(gMonitor ? FUNCTION_MONITOR : FUNCTION_RECEIVE, true); else - MR_NextChannel(); + MR_NextChannel(); // switch to next channel } gScanPauseMode = false; diff --git a/board.c b/board.c index 259b0a5..a632726 100644 --- a/board.c +++ b/board.c @@ -687,7 +687,8 @@ void BOARD_EEPROM_Init(void) // 0F18..0F1F EEPROM_ReadBuffer(0x0F18, Data, 8); - gEeprom.SCAN_LIST_DEFAULT = (Data[0] < 2) ? Data[0] : false; +// gEeprom.SCAN_LIST_DEFAULT = (Data[0] < 2) ? Data[0] : false; + gEeprom.SCAN_LIST_DEFAULT = (Data[0] < 3) ? Data[0] : false; // we now have 'all' channel scan option for (i = 0; i < 2; i++) { const unsigned int j = 1 + (i * 3); diff --git a/firmware.bin b/firmware.bin index a6a9476c1cf3dd44e680fa2122c9f751657d15ca..56821b471d3b2955ef2b2338ce4708655e709a02 100644 GIT binary patch delta 42 rcmeydnEA(I<_#|jQyYBZE*2w+bn|T%31sIJsiyGv0vzyx`>8`!Xvbk%w9UJ@NW3KVd PHNQ5WKWHhybVeQkOePh6 delta 58 zcmeBL!rZllc>|jQd+qn8kgy%$n|T%31sDxCiyGv0v!~mo)GWFbvAJuv9UJ@SW6pd% P)yp=YKWHhyv}rm3gxVJ} From 16c908f0bf6692be0aa729f0c32c8441a7ba4e94 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 5 Oct 2023 23:58:55 +0100 Subject: [PATCH 09/12] Channel/Frequency scanning updates --- Makefile | 2 +- app/action.c | 46 ++++++++++++------ app/app.c | 93 +++++++++++++++++++------------------ app/app.h | 2 +- app/dtmf.c | 2 +- app/generic.c | 2 +- app/main.c | 18 ++++--- app/menu.c | 6 +-- app/scanner.c | 6 +-- app/scanner.h | 8 ++-- bitmaps.c | 47 ------------------- bitmaps.h | 5 -- firmware.bin | Bin 53752 -> 53860 bytes firmware.packed.bin | Bin 53770 -> 53878 bytes font.c | 10 ++-- scheduler.c | 8 ++-- ui/status.c | 28 +++++------ ui/ui.c | 2 +- utils/uv-k5_small_bold.bin | Bin 760 -> 760 bytes utils/uv-k5_small_bold.fon | Bin 1920 -> 1920 bytes 20 files changed, 132 insertions(+), 153 deletions(-) diff --git a/Makefile b/Makefile index a85453e..849e661 100644 --- a/Makefile +++ b/Makefile @@ -29,7 +29,7 @@ ENABLE_CODE_SCAN_TIMEOUT := 0 ENABLE_AM_FIX := 1 ENABLE_AM_FIX_SHOW_DATA := 1 ENABLE_SQUELCH_MORE_SENSITIVE := 1 -ENABLE_FASTER_CHANNEL_SCAN := 0 +ENABLE_FASTER_CHANNEL_SCAN := 1 ENABLE_RSSI_BAR := 1 ENABLE_AUDIO_BAR := 0 ENABLE_COPY_CHAN_TO_VFO := 1 diff --git a/app/action.c b/app/action.c index 7036ebd..3d0ec31 100644 --- a/app/action.c +++ b/app/action.c @@ -84,11 +84,11 @@ void ACTION_Monitor(void) gMonitor = false; - if (gScanState != SCAN_OFF) + if (gScanStateDir != SCAN_OFF) { - ScanPauseDelayIn_10ms = scan_pause_delay_in_1_10ms; - gScheduleScanListen = false; - gScanPauseMode = true; + gScanPauseDelayIn_10ms = scan_pause_delay_in_1_10ms; + gScheduleScanListen = false; + gScanPauseMode = true; } #ifdef ENABLE_NOAA @@ -182,23 +182,36 @@ void ACTION_Scan(bool bRestart) { GUI_SelectNextDisplay(DISPLAY_MAIN); - if (gScanState != SCAN_OFF) - { - #if 1 + if (gScanStateDir != SCAN_OFF) + { // already scanning + + if (gNextMrChannel <= MR_CHANNEL_LAST) + { // channel mode + // keep scanning but toggle between scan lists gEeprom.SCAN_LIST_DEFAULT = (gEeprom.SCAN_LIST_DEFAULT + 1) % 3; + + // jump to the next channel + CHANNEL_Next(true, gScanStateDir); + gScanPauseDelayIn_10ms = 1; + gScheduleScanListen = false; + gUpdateStatus = true; - #else + } + else + { // stop scanning + SCANNER_Stop(); #ifdef ENABLE_VOICE gAnotherVoiceID = VOICE_ID_SCANNING_STOP; #endif - #endif + } } else - { - CHANNEL_Next(true, 1); + { // start scanning + + CHANNEL_Next(true, SCAN_FWD); #ifdef ENABLE_VOICE AUDIO_SetVoiceID(0, VOICE_ID_SCANNING_BEGIN); @@ -215,9 +228,16 @@ void ACTION_Scan(bool bRestart) } } else - if (!bRestart) - { // keep scanning but toggle between scan lists +// if (!bRestart) + if (!bRestart && gNextMrChannel <= MR_CHANNEL_LAST) + { // channel mode, keep scanning but toggle between scan lists gEeprom.SCAN_LIST_DEFAULT = (gEeprom.SCAN_LIST_DEFAULT + 1) % 3; + + // jump to the next channel + CHANNEL_Next(true, gScanStateDir); + gScanPauseDelayIn_10ms = 1; + gScheduleScanListen = false; + gUpdateStatus = true; } else diff --git a/app/app.c b/app/app.c index 4279eaa..c0a284b 100644 --- a/app/app.c +++ b/app/app.c @@ -95,15 +95,15 @@ static void APP_CheckForIncoming(void) // squelch is open - if (gScanState == SCAN_OFF) + if (gScanStateDir == SCAN_OFF) { // not RF scanning if (gCssScanMode != CSS_SCAN_MODE_OFF && gRxReceptionMode == RX_MODE_NONE) { // CTCSS/DTS scanning - ScanPauseDelayIn_10ms = scan_pause_delay_in_5_10ms; - gScheduleScanListen = false; - gRxReceptionMode = RX_MODE_DETECTED; + gScanPauseDelayIn_10ms = scan_pause_delay_in_5_10ms; + gScheduleScanListen = false; + gRxReceptionMode = RX_MODE_DETECTED; } if (gEeprom.DUAL_WATCH == DUAL_WATCH_OFF) @@ -166,8 +166,8 @@ static void APP_CheckForIncoming(void) return; } - ScanPauseDelayIn_10ms = scan_pause_delay_in_3_10ms; - gScheduleScanListen = false; + gScanPauseDelayIn_10ms = scan_pause_delay_in_3_10ms; + gScheduleScanListen = false; } gRxReceptionMode = RX_MODE_DETECTED; @@ -200,7 +200,7 @@ static void APP_HandleIncoming(void) return; } - bFlag = (gScanState == SCAN_OFF && gCurrentCodeType == CODE_TYPE_OFF); + bFlag = (gScanStateDir == SCAN_OFF && gCurrentCodeType == CODE_TYPE_OFF); #ifdef ENABLE_NOAA if (IS_NOAA_CHANNEL(gRxVfo->CHANNEL_SAVE) && gNOAACountdown_10ms > 0) @@ -224,7 +224,7 @@ static void APP_HandleIncoming(void) if (!bFlag) return; - if (gScanState == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF) + if (gScanStateDir == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF) { // not scanning if (gRxVfo->DTMF_DECODING_ENABLE || gSetting_KILLED) { // DTMF DCD is enabled @@ -268,7 +268,7 @@ static void APP_HandleReceive(void) goto Skip; } - if (gScanState != SCAN_OFF && IS_FREQ_CHANNEL(gNextMrChannel)) + if (gScanStateDir != SCAN_OFF && IS_FREQ_CHANNEL(gNextMrChannel)) { if (g_SquelchLost) return; @@ -399,7 +399,7 @@ Skip: gUpdateDisplay = true; - if (gScanState != SCAN_OFF) + if (gScanStateDir != SCAN_OFF) { switch (gEeprom.SCAN_RESUME_MODE) { @@ -407,8 +407,8 @@ Skip: break; case SCAN_RESUME_CO: - ScanPauseDelayIn_10ms = scan_pause_delay_in_7_10ms; - gScheduleScanListen = false; + gScanPauseDelayIn_10ms = scan_pause_delay_in_7_10ms; + gScheduleScanListen = false; break; case SCAN_RESUME_SE: @@ -488,23 +488,23 @@ void APP_StartListening(FUNCTION_Type_t Function, const bool reset_am_fix) if (gSetting_backlight_on_tx_rx >= 2) BACKLIGHT_TurnOn(); - if (gScanState != SCAN_OFF) + if (gScanStateDir != SCAN_OFF) { switch (gEeprom.SCAN_RESUME_MODE) { case SCAN_RESUME_TO: if (!gScanPauseMode) { - ScanPauseDelayIn_10ms = scan_pause_delay_in_1_10ms; - gScheduleScanListen = false; - gScanPauseMode = true; + gScanPauseDelayIn_10ms = scan_pause_delay_in_1_10ms; + gScheduleScanListen = false; + gScanPauseMode = true; } break; case SCAN_RESUME_CO: case SCAN_RESUME_SE: - ScanPauseDelayIn_10ms = 0; - gScheduleScanListen = false; + gScanPauseDelayIn_10ms = 0; + gScheduleScanListen = false; break; } @@ -527,7 +527,7 @@ void APP_StartListening(FUNCTION_Type_t Function, const bool reset_am_fix) if (gCssScanMode != CSS_SCAN_MODE_OFF) gCssScanMode = CSS_SCAN_MODE_FOUND; - if (gScanState == SCAN_OFF && + if (gScanStateDir == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF && gEeprom.DUAL_WATCH != DUAL_WATCH_OFF) { // not scanning, dual watch is enabled @@ -623,14 +623,17 @@ uint32_t APP_SetFrequencyByStep(VFO_Info_t *pInfo, int8_t Step) static void FREQ_NextChannel(void) { - gRxVfo->freq_config_RX.Frequency = APP_SetFrequencyByStep(gRxVfo, gScanState); + gRxVfo->freq_config_RX.Frequency = APP_SetFrequencyByStep(gRxVfo, gScanStateDir); RADIO_ApplyOffset(gRxVfo); RADIO_ConfigureSquelchAndOutputPower(gRxVfo); RADIO_SetupRegisters(true); -// ScanPauseDelayIn_10ms = scan_pause_delay_in_6_10ms; - ScanPauseDelayIn_10ms = 10; // 100ms .. it don't like any faster :( + #ifdef ENABLE_FASTER_CHANNEL_SCAN + gScanPauseDelayIn_10ms = 9; // 90ms + #else + gScanPauseDelayIn_10ms = scan_pause_delay_in_6_10ms; + #endif bScanKeepFrequency = false; gUpdateDisplay = true; @@ -704,7 +707,7 @@ static void MR_NextChannel(void) if (!enabled || chan == 0xff) { - chan = RADIO_FindNextChannel(gNextMrChannel + gScanState, gScanState, (gEeprom.SCAN_LIST_DEFAULT < 2) ? true : false, gEeprom.SCAN_LIST_DEFAULT); + chan = RADIO_FindNextChannel(gNextMrChannel + gScanStateDir, gScanStateDir, (gEeprom.SCAN_LIST_DEFAULT < 2) ? true : false, gEeprom.SCAN_LIST_DEFAULT); if (chan == 0xFF) { // no valid channel found @@ -727,9 +730,9 @@ static void MR_NextChannel(void) } #ifdef ENABLE_FASTER_CHANNEL_SCAN - ScanPauseDelayIn_10ms = 10; // 100ms .. <= ~60ms it misses signals (squelch response and/or PLL lock time) ? + gScanPauseDelayIn_10ms = 9; // 90ms .. <= ~60ms it misses signals (squelch response and/or PLL lock time) ? #else - ScanPauseDelayIn_10ms = scan_pause_delay_in_3_10ms; + gScanPauseDelayIn_10ms = scan_pause_delay_in_3_10ms; #endif bScanKeepFrequency = false; @@ -976,7 +979,7 @@ void APP_EndTransmission(void) if (gCurrentFunction == FUNCTION_RECEIVE || gCurrentFunction == FUNCTION_MONITOR) return; - if (gScanState != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF) + if (gScanStateDir != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF) return; if (gVOX_NoiseDetected) @@ -1068,9 +1071,9 @@ void APP_Update(void) #endif #ifdef ENABLE_VOICE - if (gScreenToDisplay != DISPLAY_SCANNER && gScanState != SCAN_OFF && gScheduleScanListen && !gPttIsPressed && gVoiceWriteIndex == 0) + if (gScreenToDisplay != DISPLAY_SCANNER && gScanStateDir != SCAN_OFF && gScheduleScanListen && !gPttIsPressed && gVoiceWriteIndex == 0) #else - if (gScreenToDisplay != DISPLAY_SCANNER && gScanState != SCAN_OFF && gScheduleScanListen && !gPttIsPressed) + if (gScreenToDisplay != DISPLAY_SCANNER && gScanStateDir != SCAN_OFF && gScheduleScanListen && !gPttIsPressed) #endif { // scanning @@ -1129,7 +1132,7 @@ void APP_Update(void) if (gScheduleDualWatch) #endif { - if (gScanState == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF) + if (gScanStateDir == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF) { if (!gPttIsPressed && #ifdef ENABLE_FMRADIO @@ -1179,7 +1182,7 @@ void APP_Update(void) gPttIsPressed || gKeyBeingHeld || gEeprom.BATTERY_SAVE == 0 || - gScanState != SCAN_OFF || + gScanStateDir != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF || gScreenToDisplay != DISPLAY_MAIN || gDTMF_CallState != DTMF_CALL_STATE_NONE) @@ -1204,7 +1207,7 @@ void APP_Update(void) gPttIsPressed || gKeyBeingHeld || gEeprom.BATTERY_SAVE == 0 || - gScanState != SCAN_OFF || + gScanStateDir != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF || gScreenToDisplay != DISPLAY_MAIN || gDTMF_CallState != DTMF_CALL_STATE_NONE) @@ -1238,7 +1241,7 @@ void APP_Update(void) #endif if (gEeprom.DUAL_WATCH != DUAL_WATCH_OFF && - gScanState == SCAN_OFF && + gScanStateDir == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF) { // dual watch mode, toggle between the two VFO's DUALWATCH_Alternate(); @@ -1252,7 +1255,7 @@ void APP_Update(void) gRxIdleMode = false; // RX is awake } else - if (gEeprom.DUAL_WATCH == DUAL_WATCH_OFF || gScanState != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF || gUpdateRSSI) + if (gEeprom.DUAL_WATCH == DUAL_WATCH_OFF || gScanStateDir != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF || gUpdateRSSI) { // dual watch mode, go back to sleep updateRSSI(gEeprom.RX_VFO); @@ -1817,9 +1820,9 @@ void APP_TimeSlice500ms(void) GPIO_ClearBit(&GPIOB->DATA, GPIOB_PIN_BACKLIGHT); // turn backlight off #ifdef ENABLE_AIRCOPY - if (gScanState == SCAN_OFF && gScreenToDisplay != DISPLAY_AIRCOPY && (gScreenToDisplay != DISPLAY_SCANNER || gScanCssState >= SCAN_CSS_STATE_FOUND)) + if (gScanStateDir == SCAN_OFF && gScreenToDisplay != DISPLAY_AIRCOPY && (gScreenToDisplay != DISPLAY_SCANNER || gScanCssState >= SCAN_CSS_STATE_FOUND)) #else - if (gScanState == SCAN_OFF && (gScreenToDisplay != DISPLAY_SCANNER || gScanCssState >= SCAN_CSS_STATE_FOUND)) + if (gScanStateDir == SCAN_OFF && (gScreenToDisplay != DISPLAY_SCANNER || gScanCssState >= SCAN_CSS_STATE_FOUND)) #endif { bool exit_menu = false; @@ -2039,32 +2042,32 @@ void APP_TimeSlice500ms(void) } #endif -void CHANNEL_Next(bool bFlag, int8_t Direction) +void CHANNEL_Next(const bool bFlag, const int8_t scan_direction) { RADIO_SelectVfos(); gNextMrChannel = gRxVfo->CHANNEL_SAVE; gCurrentScanList = SCAN_NEXT_CHAN_SCANLIST1; - gScanState = Direction; + gScanStateDir = scan_direction; if (gNextMrChannel <= MR_CHANNEL_LAST) - { + { // channel mode if (bFlag) gRestoreMrChannel = gNextMrChannel; MR_NextChannel(); } else - { + { // frequency mode if (bFlag) gRestoreFrequency = gRxVfo->freq_config_RX.Frequency; FREQ_NextChannel(); } - ScanPauseDelayIn_10ms = scan_pause_delay_in_2_10ms; - gScheduleScanListen = false; - gRxReceptionMode = RX_MODE_NONE; - gScanPauseMode = false; - bScanKeepFrequency = false; + gScanPauseDelayIn_10ms = scan_pause_delay_in_2_10ms; + gScheduleScanListen = false; + gRxReceptionMode = RX_MODE_NONE; + gScanPauseMode = false; + bScanKeepFrequency = false; } static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) @@ -2195,7 +2198,7 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) Key != KEY_STAR && Key != KEY_MENU) { - if (gScanState != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF) + if (gScanStateDir != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF) { // FREQ/CTCSS/DCS scanning if (bKeyPressed && !bKeyHeld) AUDIO_PlayBeep(BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL); diff --git a/app/app.h b/app/app.h index 8d029b0..6f958da 100644 --- a/app/app.h +++ b/app/app.h @@ -29,7 +29,7 @@ extern const uint8_t orig_mixer; extern const uint8_t orig_pga; void APP_EndTransmission(void); -void CHANNEL_Next(bool bFlag, int8_t Direction); +void CHANNEL_Next(const bool bFlag, const int8_t scan_direction); void APP_StartListening(FUNCTION_Type_t Function, const bool reset_am_fix); uint32_t APP_SetFrequencyByStep(VFO_Info_t *pInfo, int8_t Step); void APP_Update(void); diff --git a/app/dtmf.c b/app/dtmf.c index 0f96941..83d71d3 100644 --- a/app/dtmf.c +++ b/app/dtmf.c @@ -184,7 +184,7 @@ void DTMF_HandleRequest(void) if (!gDTMF_RX_pending) return; // nothing new received - if (gScanState != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF) + if (gScanStateDir != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF) { // we're busy scanning DTMF_clear_RX(); return; diff --git a/app/generic.c b/app/generic.c index ad7f479..82e8f10 100644 --- a/app/generic.c +++ b/app/generic.c @@ -154,7 +154,7 @@ void GENERIC_Key_PTT(bool bKeyPressed) return; } - if (gScanState != SCAN_OFF) + if (gScanStateDir != SCAN_OFF) { SCANNER_Stop(); diff --git a/app/main.c b/app/main.c index 2e6d572..c7b3659 100644 --- a/app/main.c +++ b/app/main.c @@ -487,7 +487,7 @@ static void MAIN_Key_EXIT(bool bKeyPressed, bool bKeyHeld) if (!gFmRadioMode) #endif { - if (gScanState == SCAN_OFF) + if (gScanStateDir == SCAN_OFF) { if (gInputBoxIndex == 0) return; @@ -563,11 +563,11 @@ static void MAIN_Key_MENU(const bool bKeyPressed, const bool bKeyHeld) if (gEeprom.VFO_OPEN && gCssScanMode == CSS_SCAN_MODE_OFF) { - if (gScanState != SCAN_OFF) + if (gScanStateDir != SCAN_OFF) { if (gCurrentFunction != FUNCTION_INCOMING || gRxReceptionMode == RX_MODE_NONE || - ScanPauseDelayIn_10ms == 0) + gScanPauseDelayIn_10ms == 0) { // scan is running (not paused) return; } @@ -639,7 +639,8 @@ static void MAIN_Key_STAR(bool bKeyPressed, bool bKeyHeld) } if (bKeyHeld || !bKeyPressed) - { + { // long press + if (bKeyHeld || bKeyPressed) { if (!bKeyHeld) @@ -654,9 +655,9 @@ static void MAIN_Key_STAR(bool bKeyPressed, bool bKeyHeld) } #ifdef ENABLE_NOAA - if (gScanState == SCAN_OFF && IS_NOT_NOAA_CHANNEL(gTxVfo->CHANNEL_SAVE)) + if (gScanStateDir == SCAN_OFF && IS_NOT_NOAA_CHANNEL(gTxVfo->CHANNEL_SAVE)) #else - if (gScanState == SCAN_OFF) + if (gScanStateDir == SCAN_OFF) #endif { gKeyInputCountdown = key_input_timeout_500ms; @@ -739,7 +740,7 @@ static void MAIN_Key_UP_DOWN(bool bKeyPressed, bool bKeyHeld, int8_t Direction) gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; } - if (gScanState == SCAN_OFF) + if (gScanStateDir == SCAN_OFF) { #ifdef ENABLE_NOAA if (IS_NOT_NOAA_CHANNEL(Channel)) @@ -795,7 +796,10 @@ static void MAIN_Key_UP_DOWN(bool bKeyPressed, bool bKeyHeld, int8_t Direction) return; } + // jump to the next channel CHANNEL_Next(false, Direction); + gScanPauseDelayIn_10ms = 1; + gScheduleScanListen = false; gPttWasReleased = true; } diff --git a/app/menu.c b/app/menu.c index 6c10820..a94b098 100644 --- a/app/menu.c +++ b/app/menu.c @@ -86,8 +86,8 @@ void MENU_StartCssScan(int8_t Direction) MENU_SelectNextCode(); - ScanPauseDelayIn_10ms = scan_pause_delay_in_2_10ms; - gScheduleScanListen = false; + gScanPauseDelayIn_10ms = scan_pause_delay_in_2_10ms; + gScheduleScanListen = false; } void MENU_StopCssScan(void) @@ -824,7 +824,7 @@ void MENU_SelectNextCode(void) RADIO_SetupRegisters(true); - ScanPauseDelayIn_10ms = (gSelectedCodeType == CODE_TYPE_CONTINUOUS_TONE) ? scan_pause_delay_in_3_10ms : scan_pause_delay_in_4_10ms; + gScanPauseDelayIn_10ms = (gSelectedCodeType == CODE_TYPE_CONTINUOUS_TONE) ? scan_pause_delay_in_3_10ms : scan_pause_delay_in_4_10ms; gUpdateDisplay = true; } diff --git a/app/scanner.c b/app/scanner.c index e6783e6..91367a7 100644 --- a/app/scanner.c +++ b/app/scanner.c @@ -37,11 +37,11 @@ uint32_t gScanFrequency; bool gScanPauseMode; SCAN_CssState_t gScanCssState; volatile bool gScheduleScanListen = true; -volatile uint16_t ScanPauseDelayIn_10ms; +volatile uint16_t gScanPauseDelayIn_10ms; uint8_t gScanProgressIndicator; uint8_t gScanHitCount; bool gScanUseCssResult; -int8_t gScanState; +int8_t gScanStateDir; bool bScanKeepFrequency; static void SCANNER_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) @@ -426,7 +426,7 @@ void SCANNER_Stop(void) { const uint8_t Previous = gRestoreMrChannel; - gScanState = SCAN_OFF; + gScanStateDir = SCAN_OFF; if (!bScanKeepFrequency) { diff --git a/app/scanner.h b/app/scanner.h index 9a6b17d..8730ea6 100644 --- a/app/scanner.h +++ b/app/scanner.h @@ -32,7 +32,9 @@ typedef enum SCAN_CssState_t SCAN_CssState_t; enum { - SCAN_OFF = 0, + SCAN_REV = -1, + SCAN_OFF = 0, + SCAN_FWD = +1 }; extern DCS_CodeType_t gScanCssResultType; @@ -46,11 +48,11 @@ extern uint32_t gScanFrequency; extern bool gScanPauseMode; extern SCAN_CssState_t gScanCssState; extern volatile bool gScheduleScanListen; -extern volatile uint16_t ScanPauseDelayIn_10ms; +extern volatile uint16_t gScanPauseDelayIn_10ms; extern uint8_t gScanProgressIndicator; extern uint8_t gScanHitCount; extern bool gScanUseCssResult; -extern int8_t gScanState; +extern int8_t gScanStateDir; extern bool bScanKeepFrequency; void SCANNER_ProcessKeys(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld); diff --git a/bitmaps.c b/bitmaps.c index 9bc4252..38ae540 100644 --- a/bitmaps.c +++ b/bitmaps.c @@ -281,54 +281,7 @@ const uint8_t BITMAP_TDR2[12] = 0b00110001 }; #endif -/* -const uint8_t BITMAP_SC1[8] = -{ // "I" - 0b01000001, - 0b01000001, - 0b01111111, - 0b01111111, - 0b01111111, - 0b01000001, - 0b01000001, - 0b00000000 -}; -const uint8_t BITMAP_SC2[8] = -{ // "II" - 0b01000001, - 0b01111111, - 0b01111111, - 0b01000001, - 0b01111111, - 0b01111111, - 0b01000001, - 0b00000000 -}; -*/ -/* -const uint8_t BITMAP_SC1[7] = -{ // "1" - 0b01000000, - 0b01000000, - 0b01000110, - 0b01111111, - 0b01000000, - 0b01000000, - 0b00000000 -}; - -const uint8_t BITMAP_SC2[7] = -{ // "2" - 0b01000010, - 0b01100001, - 0b01010001, - 0b01001001, - 0b01001001, - 0b01000110, - 0b00000000 -}; -*/ const uint8_t BITMAP_Antenna[5] = { 0b00000011, diff --git a/bitmaps.h b/bitmaps.h index ab0d979..310ff60 100644 --- a/bitmaps.h +++ b/bitmaps.h @@ -46,11 +46,6 @@ extern const uint8_t BITMAP_TDR2[12]; extern const uint8_t BITMAP_NOAA[12]; #endif -//extern const uint8_t BITMAP_SC1[8]; -//extern const uint8_t BITMAP_SC2[8]; -//extern const uint8_t BITMAP_SC1[7]; -//extern const uint8_t BITMAP_SC2[7]; - extern const uint8_t BITMAP_Antenna[5]; extern const uint8_t BITMAP_AntennaLevel1[3]; extern const uint8_t BITMAP_AntennaLevel2[3]; diff --git a/firmware.bin b/firmware.bin index 56821b471d3b2955ef2b2338ce4708655e709a02..bf60880877a16611e5f240707e3d285af1258be6 100644 GIT binary patch delta 8330 zcmeydnEA;P<_R`TffW<&ZZVc_mSnVKVq*F=IfVI(v%zi#h96r6y?Gc!8QP_0I*DH7 z_q1T({;>2XucwDI8v}@~`ip}>k%9Ze?4QkYQBJ{*3C`an93&egf9wUxPMF-yVlG

    sV(ovT%Qp`Z3vuy^nFl zIbJd{F5WE2CCrx`c7n zgFlQO|G)45S+G|?oq@r8D~Hm5#SAyD5BZy! zB~%$1?@ZQ|O!npfug#E9SY<5H!KKLgf#bh6!-B#ZD39^~gTl88iVO^l|G%^U=TI_a zP+;KtF!6^rLmgDbhkx1(3Iz>N-pk21CH)y=Hfu^bGBWO-oGtxRMf?9(WogDA5=<-q ze_#2RLy19=X$9v8LR_oH%){f+^$w$&VH68ShV4Rt#obG`U<+oqyk-{|W*+3^z1l**6&Mt)IMBF`0Ar zFIEQD6`UWYPnJ~jX52hERmq$)^cOo=EO7EtB~Kx~KddWEYB)b=Kvk;znxve<`SB<7 z1dzVBlXI1m1$Y0nmSUcKUrx`Pb;W&2&JUX>KU7v$&HK%wq{yJb!1*EbH?xu@gQ^GT zhrr*=GiALQ4Vjf9B|tKslQmV+B`2I`U|7Y#puoV%py0vDpfLSB1H-KI3=9i4uT(kB z#Jl*X5`!g!nfDAy&JS}ZH>yi=gG3k<4H!5-%$vMa{WRl-&4n86jI33A85n9N|JA(8 z=rsAV) zCf_zZ$+%(iQX^YNzs--0(isK3e=9N=WN;~|8JZYyd@%gIIm$$ik#WQ1N>f+HiIex6 zYD$0n-q{yJaP-kXbP~aV4IIB3sfYFHKL(F7mvrtBt$&qH?O*lU2{7`6Gudq+C zfg!`WlY!%d%8z}D2~7$foeUYy93NzVEND6km3`U-k{9_gxy3w%$zadqSLR-ft0tRT zY!y%V&*yzWLSQeS*JLO5oAwGRiV@E2A3`THT1qpzPnNaxXIwcs*K#{!5mlpOe=)OELCLKIyE<_-ONIXGJDXP*U2kn}K20WLdX(#_5}D-8dPU zl>Tq-aPMPe()vGH!ZVF=L<>H?e8U+)&NXVEFz0`44&T zLlW}dvz)kY$a%|8z8z$%A>h3tRNq*tfZuzP1gr6_^1aU)6#joN`_HJ%pvdWEVIthZ z2dI`u+R+xxZmx(U?EKzhC$pW_?jg$cF8>6StTTd4Cp%jwFeqymFe?21 zKKpNRrgSBPHp_*_bqv~!7yf)#{tI$@&+qShnY6cF1i9||p9lqA&)?tw{4P?^@%;V$ z$8V5pe}Dh-`+_2aYODe$(dH(+X>UV}>q{8p-&wfWKD0}|?{^)nKf|BR& z@ArPk*eNJ_{{DXJw}M}WSvEtw!pvw!)8F4O{btwweo@Bb_jldjGM*rJ-*e!xwFkwIYwBZI=h$(#|P{#$=CD*XSx^e3Y-hsopeg1w?% z(m7YNH5jxLetq}&2a4rs|K2|5_kEMSxc;~{?@a}UU*B#1DKPy0-t~{uTZv(2<$`)f z3f<;^40;4sfHt$VF z1?CSK{}_~meYMM!8O)8PE21_rXft2<^S$vO>xK_|{k$3UbuLIUFe+FZS{ZW`NEQ57 z{ws1AuzfgQ|HHvsrc0ZF zUBS;-rs4N@x4!|V44fJbRt$`a3Jia~&-;7!xfFwyv9*zWftj~>!JW<*&l4*Re3><^ zFX)y1`M&SBp@+OWGlPhdrLiG{m4RFV+lRS7{(a~9ZNR|%f%l)fH>>gea0Y$p3)*0B z9oH7Vq2kS~$ZX6w`9?jXK|R}t=pT%;85M4pTQdCrF8ha3S!N z?Em*~zZsRey|i1zORqm?P|+#-|NZwrc5j)2l;;u*ka(Rj`ER7NtoR=W<>XQZg@51o z{mQOn(q_8ApcLmVRq$i)|L?VvW1~PtSAEoe#yykmqw__M{Q;@@ae+yR)my6I%kw|q z|NohMDB4B(#J~C8hQ@LQoEtvuo$C#XL{@F4iy&jwCo9HiD_{IO(OafqlDBjPDC7M8 z{`4<{a-WxQK_6UX*5v#cW#ORz%(EF4W@9`2D@)$0l%*^6NX} z|0KC7j>4XW3ctSp{>QA4>?Gmv>-*XNzrRoW!RPVod*Hv{-%}^o#(6UaO+FbX>%Q;* zCO;DfLlcDx1`SZ+jQY!z!02L^z z3}Iju%ol!t-!fS@UXrn3vU|KLqx9t5cv(iH$=&gaj7KN0jW_2!_m@%OXZ_#rrzXFR zS7hG+4x5#eMH3WlxBX-MpzxE?;=ra~-=+TtJWrOJujuMzhv4F$-&_AOXfRy3`Xti(M(0Iv z<+5S2e0naY>tAc{8=b$t8&95^9>`cR`FVOH&+30Ko`W3p^ZSQClS?x67+p3m&QNA# zl$d-x)0?qivT)XB#)XrQXQgXT`u+QR*ssMo4B95Q^s=lNEEzUz`tv>MKZC~E3u>l@ z3>pl7z90Fo!NBt2?BvL7ZN|dMt=Z;`?vwXs7c%|&Gua?#2BYQVlR3eRnv-R7+1LNe?o0uoF zd^kM$Zk{yb*2zEfycv@wyXF@%uA96)Kaz9DUr-zL&-X2pB?~ker8YYks4_CXo}5`2 zDn9T3zweX&{r&##@4xST|G;JWufN|FCtoe}W>lQ4SX9gCwt0S$A){u}zdzs4{*Cv( zk$qV9UOjVWW4%;HYxl43Q-4NzGb-H9z9oCDd~WmK@7pK;EY{}l|6{=L^SjnRZ*Td6 zU*BCO8<)5;o}OG;(#WVb`FDvXqvT}O(q7Jezl{`ZJb!)8`{P+9w|60r!**uv)+@8!>Ei8ZGJOjgx^9&4^&oeN5-zvkv zv0A!KXDgh%m4*$TBd0SUh=cwY|LUe|B?5vo~NBTaJTNurV;GvZ?#XfJ*$5$=o&a z(sKV9P1#LeK0n|FQNhn3#=y$JXwLj0e6nkeZvC%+>?Vw+Z=N4;1KFc@h=Jk5*7gl- z42)|TH9T%=`Uryi5$X)gAD;fpb`vybQnF;YA%=4Akv*O41 z^}l#lFn_3+%-k?j@baG&MdlBu{%A1pFo0O0lh-z=GJcwTxxv!^>L2AwMs0=*#m_An z0u`1w{P;faZ|-vyUq<_ShWcnOMGFSz4>NyTFm!L?Qe>LU{DJp3)9j{AvYsG2IDauJ zD;FAPFj^-UMl(c2|M;#oIl58NHsc5bgZKpo1`9?81-T0h48L|WFeqMNV5r!`z@T%1 zfnmu$1_q`J3=FIGFfcs5$iQHJfq?;3kuvOIV7NJXXQQmF*`EWR%pY{YF5c(K{K4tB zG6NIC9>uR{25shx3JjAxnLn`nnY^LN z4m39Lp-GPM(`5c;L+;7HOFg+(fn3fp*}GYj(R^}gvo&M$VY5M|Nhzg^vC!2eId;VBlrg?8*G$)(>q4CWeikJS)C`zxIFf zhE@qig~=yd4H;)m{@p6cpZp8v`{|y{AG{_jw<(JAgEe<}GJj|RYi{#YVEF#MVRLkw zBqP(^f0N7F6&N!nPj6RMj{lLO$jSh+(C>!0z~Fy@fg%0^149HTZE!Lu1aLAaByln*Bwt`)NC%~h0}Kr5&|sa!$e@r9(tnVF zL4%P&p?31c4oT4;KQxq>R?n6IwS1T_ig|+4_?^lBJCqq^CM$QUi*x+rP-d9SY(4o2 zC`v$4(|Lh`VdCV(PD#caldC%=8EYm_?d)WnH(9<*(pKxoVsGgRMs3cEOTCwRN>?yx zGhA5W$-9F2gV7KE2OwVmgM~hVD-{@iez*KBxQao8;i3}5JWt*g-@g}6F71-H{`0@v zTe5;dli@n5>{>46D4FF1xxS=|AQVUu@vhcmtSH(8`-4(pi+#c7cK62sHdoUSMGG z0F9Ddn5@=o#@ISJwpWtr)9=X@y+w>YlVA5bipu`unjOu?b~V70bq1S~pJ9ao(+Adt975~2H{VRWdyK?Sx z0|p&WrVl6o7%;F-)beEdVE2c0HWPyeSiRM64rK-;ot>7tD!MlRd z==*n_-yh_j8!*UvGJRP6$AE!rqO>Q|2ZcXevzZtq!J1_zEBEUPcK;=| zDbPGG+^ijReB$ie}dvb z4{S&LkE73ZymUP;MS*OL__6Ofqqg8hEwH}-lXp(h)P40!(OXYZs)Aiv%7M{HXa&=U zGr!(EXVPK4C<9h?>lcI4isw>b_La%}Q)NBZUu0mAWMWV_b&-K#4kLp?@kIuPJr@}m zq?s5Lq?i~KK-J>ai;(K_;Y9|9Hy0Tg<}xxU%wuFwm<|d?CI*F17a17-Y%ZPJ%2==W zgG2Z8MU#XddmEAzx~2h)cIKZR6^>lw7UF4TCJdrDVSdoXA-T%7qp#gIpd z=|kPm&Gii0Y!?bWd6ddLZ0Ze}K9v4cSJ_+(Qq=i?O)1;c!?4hU=|k2}U6lgw95t}< z7dY+mAP%_L04i!PE_;v(jxp8?@t&MY86F{qOdkS&ru%AFFlsa0Sok2-Tc(0RhvCAU z2Pu9j{(?$|3>FMb9~^!rc{5Gcs#q*D%ZdH6Ap_Iu`Uhd4Hk^e7(+8uUj3z8PA1;3X z9{CeAz%fgXNsIXghmyNzr$qa6R&9n09nW1nIg|tp8=eP&EoZ;r;K`%pk_wtsmIIb;zo9UvFr?bbm=lm+5DkS;2o~NV7zwg_A#y!{ZwD)-R+`us9xgFR#hKuFTRXjlj zZvOLMN><*J7^FMoWhOf@UbgU-@7TX7MbUzR@x$5wpypSKBI9Jn503vCXE$v!@?=`^ z?Yr$irWK4I*#5ICIy$FFEOTPG6!*MP$~jYlX~nJWMHtq$iU#s0Lj)~mlzm$FEKDwY@Rq%l8JNG4p5MPSOx`?uE~EA2z&V!n z-@f1e4;n)L_Wk;QbA>w3Z{IKfS5h=n`1bw$e_@4c&u`yP{})oI^8EJw_-*^A_R4DQM_I>;RYK3CYZ{IinmsBY7{PunQ|5}AY&u`yX z|MyTR@cj0D`F{bWd{4m@j2~|N(@|nuJzGLDR(Ue#T<)yt{{?hDU6fZy_x$#K;(t4Z zG|z9}d;d>RO!ZFlGFISZl4|(&z4bqXqP@bm?~VVHe3Lvh8Gd{h`Tyg)$^W0jeqB*sl=3M;#-S!_VLyyO|@AD@g zov+NOKKbQ*Wk%J>ybCM^YkqPn{P@234~xRj@9X~m`(8CUe1SgGjlYvS7MQWF`S+8o|&A#&{l8lpKsr*|9t!I`bWxJreM}{ zP`iSMfkEL3BZC5{O%F;VpkiF?5(9(WrOCGzhB4`1nryVlhUwR@$pwoP;v;`@sW2#W zu8?G?R|5Id_z&+2Ca}LjJe@zRVD?sU7^wdF_WkqkZ{PR+{{8H=0_RErB?iXt-<5v8 zQ4mn#T?t~#{Jj2rwJ&JMhvDLb7aE$y3v zE946Pe?RgwMQMijALHoEU}wQulbu8^GAjJ|uK0V3w_E|sY$gRzHwQGf{O`x)l*I~+ z?2}s;t8$0^ulANJnEdej_wvbG7w0lgn5?|SmFen_$yrPE7^5f8T%yd_K6&qw!@TO3 z7#KixS?WawhFg<+m!4#tH#vM+AYrg%W6kb{C8C)qr~L$)rS1O zf1W;P(E4)W-E&rjpWg!}Z(psf%JPd#X}b6A`e0}6hS}b71>e3`|NQoS`A-H#4u)^v z%YV#z_Un7ykfreTyZ=8Xm0WLKW(HPS2L@hN zXXdF4iUtZ_zt5h`yWX5pd9v$zdx^pynh$stzJ6zh>U{BxPvPtLKYu6BS+6H;^AFN? zV7+0aVD0(!yU9OMW$mXL8Q;D;PJX&xk$256V{f^FXU{VfzJ5P2S$M-j##NKIZqR39 z*faUr1}y=@zsgn2+6*^Uiwqcke82R2vcg6SM%T%a8y_mK`CSRFT6ivg{Vx3<+Df*;>q|9|^lI{D(}tBf(5 zmv4E_$n@{;C^46-=%&r zDt!GOyZP$2c`WRf$>u3$iN>3&c4x6leLBy;@aF;p1LH*o2F{BN3?dg97-TLoFeqJ| z{O^DkA4uBlA_IfvMFs}ji<8X`Ho>*;KRA_9+@dBYCx-z<*4NwAg@wiO)YVH%GfmDu X?7&=CmoRzVVI8K7jLmlr%kTjJMFcZy delta 8124 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 ZCSO17z-(9NFj?w|4pUCfW{)E>d;pJO{MG;f diff --git a/firmware.packed.bin b/firmware.packed.bin index 3c786dcdc32540d4ea186373467d50c780ead4ab..b02f8a55ca6d093085865a7fb6e8de7c655084f3 100644 GIT binary patch delta 34303 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≀Wgv`-OYXC<%Q-(>eC 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 S&k2wzV*Yt`-TALN#^(U(Rf@d; delta 34194 zcmeyigt==8^8_2FXMq##ZZQ^bmSnVKVw&DDIfVI(Gn0IQmDAe(9I;@(LbJa1sORi` z-co-9Z~Rl*E~3-=qiy$`=r?nINnYzS_}oNmsVS4$tsT6VzABiqYl79} zZWeRV2>H#*KmHtC8ep~Yg~C0d;H<)3DO!`SvzRiij-1TLI*&=Qee*ijS&S@aLZ=*^ z?8Dy2_<8bec5g<9&FUO485y^37UU9VVYJ$;$tTFfn6lYg;5swoq{+e}ri`~Idx{(e zn(UUmws+$mQZD66rZdqne4kwHoazt^_m?TDf$OpH7_+zdHkhhDrf)WUH+`xRZp09 z=#-_s-1T9vW5NRVEyqsEvo@}fb%&0QCT~VF?yr}ENpjqkd>Zdp_A-m93* z*>hl0_SR#p+!rQmDtR;hn_Q}7&UtT*!^{1V-flIMw<>uGc@;QyebEb9zAJZ2LTYiE z@S@hq0?H|zXT0mQtr``VPn}$=oGd7!)aafbsyJiq_0TPAq$JcXP5!8?tjZy-cqsR# zM*TM7^nb4;)@4ssW944;@L|9mS+^TIFH5iUk7rAJGTBlkUGnVL>Df|wJhwLrKYH02 z?|yQkozphY3H;LzZ{DeLnu*t7UDlM2gs=(Uf4TPTpFB}rlDpsFahUswu8-bs{FAq; zpJrs<+^Esc$h!Y-!tMIWyjoWow@rSm^^x)GKr^?8vHCa<% znbCN%uf8f{)8t}(Wk$!z)Af}Z^EU6+Z)L2XIXUjxHsu}urIGXQG)YXm-mpHoaM4|{ z7m-?(Po(|^-C$O4iY@8?R;G{;{M(yZQcd;D8J()%rQS=fs&0_FHmmyRy&pm0at!BQ0L3D;sZbs`owCwyirSYw~NulZ?ufw;I_pzS;cQ zD4kJY%1`FMSq`&*&dCY*_N}ZUZF82193$h`$(^RIj7KM*H`SE>aZR&C@yq7!bftYM zdFmGT9|rzfVSU-x@4~JRlZDMf8G9#ZnteB!rtP!H#U*f=?cNJA(hf7OtvDcc`Q&6- zOZmiw;a*dxRxh}laA8LIx2=W=95cESkJjAZ#ZfYOig^mt?@5z?nR_wLo9t?_Rh(&s z&fK8M;q%W)oD=o;?Q>xHWxl|>=lEnnOKHXnlXWfq83QNRT5f0bm~3jL$e1)a-0CM| z!{$KibS5_AVw;xxb0_b!eZ>_2eDf+hE=H!sPd9I~_hDqRS+SYL@f#zL#ai{>OM>&2 zjxSoaZZezmHl}~~Chv2WVq7x$rn4qv#b#y~MJCQE3weHjUHIta`^ma)@r*8;d)+u0 zneNJMp5fld$n=ACvW90Gqxt53&v-`uM(yrq+2%xi^3RQV z-0p{WC^*e?>-(<#{n3F?X+G(BD!#63mqu#6Jl5~_x=~`8$iauPQEPpy3vOMj`g)Yr zJvsRBaZ~56CuDc2Fil9hlK2y}--cV@kvX=~EWdRUav8RTL!sK6dx}FlzWmhvB5*CW$91MdGAF0pO~s;u z^qdtbX5r#nG^`WfO%a*Wem`9?N@vME@p>g0vuB6be^NWxqg?MjQ-R^8_3oEe3;Tt3 zT`-z9XT|B84SRb)M?laGVho4F!!`x3U`sg%G{FUIXYuoJCN_@MJWAB!3 zcHw%$+&eD<0wzk_5@FP4IJ~NdEnv+Fb_WI316jR{yX#$!-FXtAXQES}#lwDF>fy)O zO*N+lr5$sWzkS;u5@f%0-`cDSZ@FCe^0alAXDofZ_0emI`l-^h z@^}x-*I?BDSqrFC7-XW)}Rm-QWw)`^~kp?KL&ZFC~9F=A!gM*E9UQ z%0dr6F20pfHFIkod^R}5YjA5TL*Oin5WR2pujaX~-NYBN&*Ij}+47E(d$}{WIp$0` zEnIE0^oO0*9~GA}`+JTX)1I}J-a6pIlKQea%3-DcA9V6Ew%jjWj*)9GZZ|xY3GQ%`+muGf4tS>c{_9qZ8m3ZoZCHR zb;pJb9(zNTOvXj~Z=Ezb4Ken zrfa(nhI$3wEVpI2ZdlcZSi~2_&t@3*&x@l`qI`rw` zp+3)p`!pi9x$hU9_Tr&ph-A-$=Lcu3kzU{=k$2oCB4C5WoIR5SBUWvm(iZiJdp1+s zQ=cT(nfrQ=w)}~bzZZ9~g4t?|&GoPRp|j>>i8(9yJxbZ!z4NNb>P7X9u4e7dw;Nb` ztPXfzTfO3~>H$eHhWh=F>qAsOT21%XfHnjU#yPI^7u>#i;{IQgIm{0Kw#cd%B*g`{V81E?cZ~>=&Nwe!uK^$fkO$5?0}}SEo+M z`_7~Is(K54#w{t3Qj(a*E)^9WxN?e| z1#9wYKlQ(r8jD{nQB8TVA#A~%Wc`e4(ZBm2d=)R7S&(GMsl7a1W6}z?oX;wC;q}W` zNmym(pYU6wvNx{uc%Z~;pD#M=>z6$aRlUT$He!dISht_`tJf<97N6V0_}VWb&V1Uu z{^P{~H(yqAsN4*(*Ko^wwlqS*)pDA+%;H0x^X@ZEI(V&3Dd(KqiY%Qk3rs%z>)$L> zB~zqicrEyN(8Zmh>AP8_gj4O8Z9fncBy)S~2Fq1_t>JDnDG1iW1pA}F4wvZo~j-Qxlzv$zyEQFs$l;wwGBS%zZ*4w>vTbo-Gl~ zleu@*TlGHqR;{@H^`-wlbLTU^3n`y5CEJv%TBLDtRgPTFX8$$~VYQ9k>D&`UW;Olx zYTci7-)cg3{mT0@raVqI`{Xp;VZ*+8(oO7^+YZ*cTiOX~oKGv|aNpOg|HV>mQ;mka z$)#qg`iP_bLa!!DtQBF@j*8msx;ORHUzbaaf1^2%zF4g5f2?8aj3)u+mX{Z;T`&Fd zZ^$N%4wXQS8UZ%NAGO&B3d6&Hynh;0+@Ev0V(kZ|pSumF>|Io!%xPr4Vz#2`OD6%% z9s8o2H)y7IA8orbap7x;6<_3dmwtb3w^&=Pjwe&k|Jov{8T%(q;pf`_Lhpuj;R~)O z3v4qSPe+#u{*B_=`C@@C|NcK~8+`)o@;$hhtrzZ+j5&1fgy%WwaD^|scflt= zbXlTRyxRJ@Z@k0WqX&)7nAK0nziH&NbhfMCeSTh<$$7jtpKJcuc}_NW=HoXmt?MH6z( zmnRweESwy>RkEE+p*dE(d5hr#iGyW3~EH!0)4UD125?pYIa#%=$ijR{}s zj5Um2c)i(OZ#+fyv^%Fr?EXW6U!#vK&EDW^dU8?L$&&|4{BI?+N&mG``@M z<;vaZE*til$!xZgv-_~3kgt8WXiJGY|K6{XHY<$2f3@RN4ZgBbXv4JArG<+(7*6>o zniUnX!AJhZRINs3)&=i;Z~{M^hYRUm$474=vl2vTk}3&zJBV_)9yC+V>c9{ z{yqiOhL5a6xLNMpc_3Xs=SIELh11}Y z=q98f`e;4f+aaIlwx;x>mj>bPCp|z7l6d}Y-)~wS=}&m*m%S$K*#>XEug{hy2N_29 zx-XO9bXxo5>H9uCYfsCG(YtrQSfrZr?su5!bx!?^YQewjAH<*Ob)D+cn=TVB{Akl> zcdo-t3m2Tp-01AQ`r!J^n)?0qe?J=>*E7h!sS*45f?uo1+1N>-Z1_j>$IgSLIWy;f z6lwNR=imE9@_6yldk=F3y@JeoZa`0NCg4j8Sh()(| z=Lda#@=f}B4%h+99(-XgORDjXzHoU#y4IwXS2O=4x~peTnHOBWIRAue{hAx8*P{(( z>Lj=8#Wc@(9HM@Vvsb!Voae%lQ;(hD!JMf4M!$+`=WnOj&Vj zkIbzCf!!zPiylyk4r+Ru7&`ZKMXl16=${j`zb`p|TlHu2_Q116pM&(*3vk}<_ph0K zEbQunYuZl^#75ay#I$*ATP@&yJMUn9wf`ZjYb&BYew+U6$Yl;Ek-lFqq%!9uPv*IC zGk|f=v6LzECVVVyanXMB^vO>7U(&n}=3C8ol8>7k;CMVV;P7sRxTz18$n`xeu4T)c zUj20g(}MdvDm!Z#TJ9aI%np34;g$F;^!TMqy{@}m(h@H%SggIPd+$}bwJ{s4-#*q# z^2n>Nh;zT0csQs+iW#MA~R&DYLY%kUk zU|V+}<(k%-(A|gcRjyZe%U$gD`QV~+Yb)<-Nhf@$&oHVrxSr9pU-m5P15eGZ%@Pyp z{i_^jI&9q*`dlINMDvmJ!nd=R7H%uAEn50^r_FNPoKJR~`RP|@L^O6@z3S|h_YYJM zy;=FPi_gG~ujSK0c5jV_+pA+skG*f3G{;dUiJ9TrJ_BhT?alJLqBLfOnP2JXbmzU+ z6kF}#n%)pl|ITH$Px$Rw*H$PjW7uM^#Os$4zE)AH=%w@udWY35IQnZ6i^Yb!6w)XP~d z$*QtpyP?*@Wz7n`+v26Y*L>a`^HtTPb$h^3=O>B}=6HN$FVAv{wP=)4S5#Y4=&&7S9!Hs5xG#q-Y_i>CJZ1YwFCK-Curr=7{dZo7RNEt$&FwJV zKmJoJ8jQh2F_`9;D3`@p$<3WL5{$-m}TE zcb_%wPtGlWI&Y3bWuD334<*SPlb6fwnDXt^$;>4Jf#Pd=>bHHlZ}WKNeY=#&7bUy6 z7p=ZBn|Zm}3QoCq>pgl*mA}iZ&ANEwHX0EuO{r%m;#Ejf2?0%|grxxzs z=-(VuAiC@1ngd!1&YTGk?U;TNt+fHnFbv;nmshDf!dg(8JZ-;Px zmofRQq4alB^ur^IK`o+swT<4H+&LBg;asziPJ2CB^>h=b@aO#}=3m`ZINeKIknh6Y zQ@>9hsP(gayUTg{UbT>yUmw|rNV7jkwccO;?33c_$BcbPAN{kwni480Vwu##BH{96 za#hQ@Bq8U_ADngD?7!D#FL`Lr-cO&C3gp=uKX|^Qy|qn38(VdqLuX zFKZ?jo4u1-^a#Bh2EaYLmNL|5Ay&2X-od(Gq@;YuZ<`esxwu&+WSf;=4|y zACjtxTDT#l`@yGQ+b&ydv^4cv^6-7i+kat8tD|L-6?2|$b@;DS_lvp1K-fq<_W7Kh z!a_$E)qhy~{yAIwg1P07ePV7nUt4YPM)kmz8w~NwABCu1^XTN_zGK@7FK@rOT$>T%Y{;}MtLlubTSMOIKglaJ1fDegZp{d}P1v?=%c}sx3t?d|SAPuNRu(Te?b%7)7B009e*g2` zpLb->-gk4cg!Qy1^EjlMPfgvpL+)gZ!Dc4$^PT|{KkVw2Rtq^hb55pSO10q6^$%vA z^lt<;$;{gXuPxmX6IFkpGPYg2P*B@uLEbUnCpUMM6s%uvF~R4n@w(o}DdxYNY&7@m zpR(bd=I@OeBJPG3;?l>e^?A2G*_oIi$;7hK!X?e_M$dNfOIM3eeSI)C@%OVn~K{%@vPT{2JKc&XLVd$(3Do4amDRDICTZF%7p z%U4SzeattOpLHYS%x|mnk*f@+#QUzB%~rdpa$2Bv*>%qiX5S?))w&yO5qUJ-Hhyp4 za|f4mL2AiiEAPHpvS8=tsBQ0)J+o$}T)4Y7-DU0*!9OP+PtsIUS$k&JYS&e{R_EKA z_6N446j#id$9PDptgGxaPo%ZF;=f5j^$U+3T@Su?5T!`+=S5EyeRj(8!{C)J&ZsBA>SGEPd=>>dl9CnZDrMVu?KiHLi=(FOQ^Iw-b zaxTkQtFD{iz`1e1@yUI2Z&fN?^ZL2_c2j=&zJF`Ge5z$U4Y=0v6l_XuS+&JTZH2vh zx8bV#eYcLZOS|eMc@n^saIlIG#ul8lXx%MM0;%CPNxqLsv&AD^lPB7XqH>*|u zuWa;8SGEVfKJg|?-)yv5FaQ0NA5To}yakRs^1d!DlIYfM370C&c5i<2@O`cBY9=Xg z8Yt`aKXzp6j3?YOo1O@KnPzZBr^ofa>w$Y=Ym~p#A2_-3=z-dp_U*~XW+!~lH@ZLb zwb%8PjQ8y))ZaAsSu#6B@4)M&*$pxB%^M9rO1uiIzqPQ_X>L-V%CvL8)c;8HKAbPr z>GN!XXGib<3CUg)Gv>2!Nv@i{d#k*%X3C@@jqR*b4*k2z62$(mE%J3vDc1PUzFz2v zRBuR|&#UVPHb~cB+tj`9>aF#Q78K-zdZ+oXd}18DAlWeHA4C0ixz)cctfqT!{2KCf zq0u9OOats9+hvtQTtKW_E? z_mt)8hj=ZSqV`pXe*JX7OhI2ouzQiz@?W>~+z+)X6mJX9V}JMUp-jl;l#BDV^DVEf zmfC#$+yv>$e+jL2QWdoemrM!Ly}wSzK~L{g;)DkqwNjsM-ZJ6MfpCo~;lJx1aNpkM zaX8wJOQ&94bD8vkSf%+1{`wyKc5SGx(4iO<@-%2tEIDq&M}|PJ@>3QiV~GJ6#>MU#x4Mxodyq&xyZYh=qK8{!RRz z$8mcP?k!iYf9Ee%oEc+U&r_aavF`L|-9#_1EgN*U?RK?)Q8t^+zR_s^iNr7aXUH9# zbT)}a-0ueG`koDrT3Q>;j!7OUsaPzK>%e6Nc?vOZK znlp1Z<2V0W5s{aNA9;j6zZkpqz>H@y%xoK`e5#KNXpmU0zUtxfHrs4D1ADgR=E8rA zG;(!97Wo|eRpyk)Z&$!9JAaw<(~nh~YU^i8%2oHOIozloRkZ+DGoTdgjZ@Kxn!^S014#fqmF&N28Z z=h#@Ee%hW}BJrz1@9)c*x3ywxmbjR<=RL?hadPQzuj?zr@7quC`Q_?8XY!UuFC_O! z=XUD<-q6tc>$aNvssBe4k4@Uax8>YPnU<#)|8HK=nSSJxhI_=Zu7X!D|Ig!=YT};O zG)3O(@YC5vG27y#y_W1M3l?uaGhvP>xM$S=;HZv!eRJ7idnWDnsCkpV_;X!oiY>9d z*BHj}vSzZq*=wsMM@#RSO<;V_=+iSfOl@XCi}dtP-UC@HUhX_yE^#}1>9#-~5rJoO znrycphgwmUws^@(;*Ua31KIDqSovEIU5q8}oe@?xgoBEo6 zcb3$O@^XIv2ig`Tn{IvZgO!BWmnK@RmgraK4rVC)J~dc!(RB`HlmC?$CVtu7JKM0V zu6aY?*`6<3b+%U5zYi^&S(AO>p3^$JIg^FU1THJZE`N}{$+>J|&EycX7Zpc88y#1% z*sRyrdizkc-#@Pt5v#-|H2;o#{593j_w>U~!LQBkt5po1+QvS)xNQI(zo&T`Yd_zpc%47{IM!#`O*&GyW75Oo>=5H)G=l z#g9Ae7d{r#-c{UMqt3tgh6Mi`ZNCb`Z7O>@qvmF~c)ziB+GRZJyQcL;&ecz^B&=Az zDa+!olg7-KT~k9?zWi%h-y1%x*w!(VuZEVADu~D3t-c|AUe>8lqFG{}`m-hSJ^sml&p&^;>~KXYihTmN%PL*Vf2*2&*S{94 z{{_m2N9FSl$$n4`SR`u2Heq4PrvnwB2FbIT_7e?ONAn!=da_e#O7Z1$>zLw~P3G{s z&vUkHTdZw&Vy^W*`-RD3UB?T~rI)h1{e5A(@8pzywVd+*H!b$`_h5}HkXVqJegM=j z@K5G@{^?i4<-1&E7bpDqFCO~g?6=M9*1xX5_EXq*jdb6i@|m^SpHEAN$2{%)?9O?h zdG=OM{zcyPT={1L*WO4w8_oPiB?&f2{(^tz{2=J^*>Q>N|Rb;~_1 zt=4?O_g8#ho?Oh_YV8xgX0ue&{vFeky_)pqvp!uS-8JXFzV@qiYdrx9%m^?QK4l-VZLn5VX5Csass>KoD!V$CQf+3Acs$Ha9O>u2~ZH zM)g7HBq_H2Cu6R@5SX!hgAdEC)!9FrFWH@0wO`PAO06FI)(6eHZv;|5=^dT%M`Dr3 zs&f`W&yF~~54-VX$;p17WVUBKiu`|+?=HP>qUgR#--4l#C8<8ZxajhGMV)h8w`G0z z{#~x2Q679{Qg^(H(jVZ1(#qqV!(8%A9j^0?(BVr)BM2 z*6o%1$hXIlZK2MzZ?99gGlt3U+%VDg*+P$3J$J75omG0aS6#Z0*=hBY2k(P57BMN` zXO!+<%`R5Ak8w>?z0bPW2mcCw+3LV``=-y456=UxEtsRRv%5eLR2g}?_)lM<>hqY< z|B%tOg$B0!7<_(9@y~f&Q?-?If8?rn2A4M;F4jD{tX8=FBl9+;c=u@wPbRk1sP+4K z=g)k$H2d)WjZ3+#j!S$}OAihxFrG3?g8N!6lfs`M&H1-h#}piY(Oy4mu8(XElkxQ~ z!#lbWo8RtUuel>U<@&O&0_9)931LiA|0EjT;(er9>)|!8EBvkhL#CT$b;lnmuuQgo zopmn1=a;c`Uehh@obE4zh4&J2uDs;a<9{P8D!r0}y=ML*ht2s%`%7N!vMxB_s1@ZD zRqUEL`)TG=fvHj44U2Y{w2QB;|6fp@T#{KK{AbOB?`(6E)ec-dSFCf|aKU4D#*3OU zb+cR_NjKTVbkCdpTFLj(Z*H-U^jFgC6)fqwhdFb5n%Qhmxc%*GlGeZTabd^5Kt7R; zh4Y(2&q|3}8QMnrwk+`6b=_3SfOBQ^RCmkZY^POkb7dKb^XG# z(cdRCuB{Q;ujl{H<&$N*Ps4>G8Rc)D59Zp7sUEnpH926m^X<3`VJyGBnvZ$iS3Tv! zad!T`Bi^Mu3w;XvX7f&y6*Ey*0kQ+Nhge|9sk(32(B)ZWJ*r>oqtcCv#}pDVYdn zRl{Y+_NPQ0sEljhlI$`!;fK%UI)fiZnu`r>)CH^+|HsUkyy{c-T#C8DxcbJ zYYf|BvqY>u?pis^1 z8-F9~Otf4Y^yUA*{S9B7zM=}Q#H#LIi?WowT8TQ+-MfQ>C^`rPmf zkHyd64uf-PG6xM8J}wnJwUr_9Xz_3DU5mc_4q?5Sd2OZUn@Q{v@0(}5xq9`{ex4US z&m#(DUh2%$n~`A0_u#l`V9(X91#frSE_X;_(mXVyPj-@5&o}!Zu7kU+m*#RR=S|zV zTmA%(qW&MX)F_4t-1RQ2&RU$?I{S%#PO-KCTj23+m&+y^bm~NY_SamNQ)6@QKwV7R zwq&(=9=9ioXtb*BbtzRmu41`Kudi`m1&{Pkp=q1^X11{Uzb!R6a5n7FZjC*TT8rd& ze-k)V9CZ7npZ$CpxpR&F4lDfnk6!tlc%x*;lD_-(51-Gmt^4aEw)Fb{dIQ%*T)K>v zZ_C#|?tcGHv-U3c<(2VGF4vD-UlC)GTf%(Sey#A1?b$06629jfE6!Bg`=s2k-0ZXu zNA#>+E7HwAI!#t+i4Bw6X!uyde&G!v7q$ei^f3Nyn@-!bgsMHv^S-6MVsh5gp1XGo z1TUSuniVKfT=-}SYr%(g4a(UY85Qd%e(dedZ}}6h@jSph_OkW0zf8|V${Lq(>O^YQ zDDYW+aOXVR6k8g(WkJF`9XUy#`0o0@zk{c#p7!HpjA_4`UMhSxe&W^wUhR#Rj=L3g z4y~T2=rk{}pMUpfNt>mXv5h82XBfyV@C-exsuFo?m-QJTL*;$bc3pdZGIDM72BmB3 z>wg}8H&He9tE$P0H$mpBZwV~hClD4Fd#Krmqg%!F8-N5 zA$Ml|?-rVVTRdGkm3RMv^0Jxj(>*u(tNgx_A!GMo%_hD{xBSvm;$_!h|>GtFk7Zu?R{!5cGc=&!4Ws!oBOxtorz~ozhCLmzq$DO@-`~L3<)Qid~Vy=I_)Z+_VNmBV?JK!HXV(TMZe%2*^PO|a{y*$gE)!?YE z!QF61H?zQ_%`b(g?rMwSJ+&aKV)MZo7fXe1=bo)^r#@*fv0S_I`zNNzCuwK+c3m<# zKL1h2joI^fH#J2$Pky}n|L0#$^_TM=N3#SnZ4eId`nSs7CuKsB{nnJ(TfQ(HOs<)0 zk;ZHnJ*w^1`e|M~o#2NIq)+m@tF+2hW<;>?8g{5LK> z+-H2>^jgeYhBy1lLgxK0?h;<*8@S^R(~Xla!pdLnV+`^0i`Soa_N3uf`D-7yS%1mC zurP9i&T+e1KF+9$Z}N{Yxh4{vh$%kF%v?^}@7vfFk~S#6@1{aZY%#^L+Y$#*~9pQoM@79Ds{ zkw3Wp<+?^qecdSTJ^!`}w#~ZU*10Y4jI-f^l)RL$@+C7nvizrL)Tyz}KIA4~v6Nxe z{$f9`WUkCr{ypMb)pHE*DXg5A{b|Pc$04e6*3-SOEadrp_v)jQ%VxU2^mU2bmj6ZM z-H(%+EwXA4?^?{?BrU74JxzaK!Sdajw^M>WgevQLAJ(rDzusVGuw|cS&7n@$=KGW9 z{b>p8FPhOmW&K0uiO#2D+waUStI_3~yFxnglw@e>%AT1C$=Yl(xi$9~@9i=_C;OoF zAanmcnUHxec&dv1%ihYImw)uqdA|EgCl}vs#qpfeUY)cr>A4-tW4o>W@51Pk{pa^t z8kI68PW>JfPmurElu9i68vEq;Eg%ezNe>2ox zF046qkDG|jR^=d%EkBnh+@2ohRdXZ%!kU^7q7VEvGn&K~hTIiwe`dDcomFX~@}39B z`|MWj+vPIFJ^onV7fZcrDdA^TmpYa$c(HcFemjABt2Gj{)umG+8h_PiK3etVV>z?t z_J4+^ho`t+Z21>ntyr0oqb0%L&$)`VFpK4fRgzvQ)3xZyE|>JyL?wGJjBQ^qSMZrn zj8ylv?gNpF0=#ZAUfOqB=FWk#HqVK9D!->mJ+zcqp|gJVF^4H}@z=Y*SiY;0=Xf&R z&_CtK%&Z%~kB06#vd3)3KkMMI!1~SG_%&xuYWnn;If!iv)9l!^C-1knn*_f(^_Okd zj;iY}<&*P%%XmhY-%`{lJiag%k%(wY?)F#vTNp6y!Rx4*)>_eI&3dJCzkp8LX3loWQ@PPE9IW7&j*lgl=| z7Y+B=;+B~3TOh33{H~YpH@i2gr~NriO+Z7n%U&;5SS`kT;n%5)O*iyP7A@?I{;Jf+ zzvGMKo@Ls3kM>1Q?0R{m_{#bu@lY!%)y-24gX?*mI{hU~k8vHcWArahobh2-i%)g)Rb!!Ax`$e?qs5FI;WrJpGcR=;obz4g z_v3#@nQW-SOUZ8Km3gYWbt8UAH_6i5`LO{L)ns3M*KT6s_#2WKY;&|e<-Jtcp=FzX7jp@Ii!}VgW3#Dtwvwhs z`J8K$R_|0fP^37+W6FW`3AeWz`P8t?zShn2TJ^wbF^2m1gG)BNlvY&My*KaordRwX zrLv!vEbILKw@#gZ|98p#DMAdV%sN%sek|YdV&S%Dg_5fnrl{9HU1Hk5p=53p3)iZu z#{B^wXZ*e;ceeN666cl(`y^&T*OlDdx3hf04%^8pmNm{ZJSqLZM=;jUW7}5e!rK!> zWSX2A{(e@PvU{cPYo6=wA}s&jOHTLPb3irwkR26o#9-sF}7=)P6u=!=y$ujxY4;G zEoc7~W(oThQvV+AJ31xt)Pl|1XCG}7H%hH%o+Bf1AUb3dyPU}<_M}G&>0!+$4>`V1 zdGkNKIcLFh9!2Hv0mrj0R!g4vY4ZCJx9y+FLGG7yR=yDRaeHlB|1r8BZd+GNZOx7e9vL?ruBh*gD7QEtb*S#gHuL=j zfp%hN1*fy93N%kpW2`<ueUJ9>O!n~d>i-6o!DmDsTg}dgL9(Cwy!Bq84DjIRF>4Qex-Qg%pJZ`$!Ci}>-iMfjSqQu z9bV+I+F|>~&uI??4%Wq9d8AoWE3kKU_(G}rjW_GF1mwyWOADu4dlb!){o$AF0+ z=Jw`1ZCujKpJe;RTl8(f@mCi@PDM^I{;^hGQ7xs&pX+!xChDiGvf^M? z{n;}-B^>7i=3bw>LeFBiozMm@#m&F9?x}K3^ysKb`1?t(CVSI!K@YBVrF!4l%CZ9| z=>8~{(W~xyoTp^H)Mib_n;T9(k9GcDvAvObWw+!v-HSch3~wAnZ2p~cTI{fCAJc)& zh93my$;M3Fb;~EsQjBl!cgZAh6!=WZJ9^)veuK`JmSV%@eFtdDud zHGZ5w{;e}|Q@Jd6;G*`<6U(j~lb(8TdTiX|MOlx39R4Hvab=^^)U-Tao23`^zetHc zev(;UI&EQn^d`|Mdy~C3Y0uk|S{UQCVeOHBU%xE!6y4(Ju>aLdxi<bzAhao8*Un-!J;p0Mz7*$}ZHbGk@&W9oXn8co6ZtlqzcO{T5#&waps zMB_$>%!X;fKNlXXb+=eAp7OtBC-dD)4eD<|6PIS4PV4Je_iUSc@LgUps2qq+;+nqo zK5O91eK(AE{uMmub8AXcFzs4x!fvnt@i&Howc>KySX(q%KaoKb-QaHC~BVJ zF@-B3;kS#CPfdsOwbdCD0LT^+bp2_C8 z<}R}C*TW@>N)37Z+%FzqI(a7S%YvPZJ$^p%ywlto40Ik}e7Mctr(W{NB<~H{r+6dp z?6NY?;tnpC6jXcqeuqx-2ED*&jp?^%#m+YDsOjFXZ&y4)`TKg|D>@yn4;}5rGX!LG6hX`B3SI^LU8g=lDxz^yuAapIYnKEj* zU;oj+YwntN%*6`}UW<7Oa80>(U&N|u{;aI4lCfN0CtMM!Uw3}{h5MpE>l6#-9<6-u z!r83%gYk@dY5m+^hhn^*Ci98Z7rxeJn^fBE6Lw?P?)*y}MXU8ENQv(|8FItq-dClK zG5PWrf~|BH$WP?Gy<=KXPOZb;bq(roJW>_wSC*?-tl!1-IJ)PZZt;SGi-%^ zIb*i8eEF#naQx?mjGum=R2)Onc3#uWkIwum?Pl+@R4d`Cec6h7vtvp>4?IY*%c#8> zVY65G%&**z&t4Pq__oyU47vuUCW^2 zW1Fnjut^=%arR3tddRET`%n4A()+X3cW2Bt{7}`jw`pDd>UWCsP70my2W>LZ)+lcZ znB2|(`9M%Zn8%jD#Dw1)b$n``d0$(7QCaoDmvn~u_LvaXz}D&6!3%kQJ6(NrQg^2N z%cdVr)6B#8w@p1@v!wpb%ZGjk7Nk9!v1-Hqg-Z&gu3ev}-VqcXxXDFM!b_}?iR(`k zM+5h+SWsQCac@9>{c6Fl0molmjk{GSeB>V2I<7Ah6z*7o2CKbYmuuz}=LpYfxs|zc zCDU0=kIi~sZEM%n%e?3G6)AUNRNkQRsX_ROx1%o`iw7tde2?O*Un(d2_Sumc6Xbe} zcXa98+Agr`pv__F#2AZYHK7fxiktsv-HX~i>4E0XU7Y{gK+|S?sAfNotT^X?rqAHS(LWZ>_#&*|+*v z_TncGK1@Hguk6UiL!13?#9l63m@uD5xapsj$X(Wi4}TjkwQUJ+n4~>tX|~#*waq^F z|6KBCsP8x6y)ELIBWTa4(Z+C%=a5&I`O*Wcyf}wLXE^H4r>v^^B zKjfnRWYW~x4inoqtVnwF;9%Qv&Q+I#M{*<%lciVk>w={9G z^ZONdxPL}RZge$~D45@~>MEDk)tNtcWVV<56KUKVU{|;Lo#KWQU-=||rk}Rlq*JW? zbc%%Y&X!ck6d(3YzY{^IO7`aCHZ0nQ_9_qh0 zT0D5sAh%PFl`nXDZvA(*zB?yPmr1Zaym53!f#e*;&8o3K%UA9)p7(9{X0Kbimulh; z&RuJmXeRmUlEBaT_3Pd~Yhe#FFTSLsK2w|zfg zv*fM%!@TJIY0u8?+OR)yO@Wk=;5_zyLD7NgQ{*gst~DyP{)yuFduvzibFqJI&T|56 z94-r9d-vdr&c;o(vps%lgm1kzX?3g8fg-VRk1aw9FaWd4W zKMqk{{Azmki+w!5Id45WIj7D2<)@EM_0v92;GdRp!e)si%i~hxzh9Ru*!&{G;a%|p z#YEmzsb?{@+k2xVja#`oY+)IAeBk)2mh6t$>z>;UPYbS*bty>f zsK5QixsQYQ>PZ`MYxW1Zf$B2^{ip9xIo?Wlc;mUmdE+@^5se14A(@8}d(QI>GeiJX7 zc{|y1lj?u#bs04hcTW9u)A889ePfzKz^X8otBGVyJRxS^xo6`L4-<$PmK(u1-Y!q?g>f3`HZN;;TxX_P9tZd#S1boST7jeh(S zHLDgUdHee5?`@`k)uy`wK1i*J4n|CaAj zGD|Jg-aI=xV}kUukNdygy}Kx_%ep01swsKe79OF%FJG=2-#Qy{(77M}o_ z7AC=Ost>;C*l((xovo=+4(c27C>5N7{H_Ro_>H+_3!PS(R>1(~`v4j;B3_`U47J(G2tmha>R z7N2)p`}}j5vP$yL-1{qR{CgUkytP}@8uaHghwQdK$GRhF*5OU_JlJMQJ$fBkU+(4T z!uH2I;RyfUZ<3blIlsHJYW+#7-6gP7vU$Z)ePzzS;SKpZ zG7I9@xx5p&=XB-QggrIJ>ZImdJ|&yB4O?-T1U>$=R`ecK^jE0_1#mYw1)(k$xvM`s8~ zFZsCo@Ugz)*Y?4n-f`T*SySY!Y`!yj-QhC2I@KXjJ>~7c@Yc!;;owas55Jy_*;G68 zDo3dN9mP{+dyoCLR^H&f{j`?mZI{VMlx}2e)Nl)35}&K;KX3nu(5r6*^LHIl6>r{X z_@`cSlT^yYUAH3A+~axE^o)JaXXX4d(-cp5wpnvS{y&#e&MSeF`wf*N8)Y(t%s#R7 zstErL6Z~*^``0wH%&M+R3$O#~9!yWqJ|*`-CD24fiLF1&k@2;Xy-c`FXTmISGxmyvW@P9Z`#;X52}y-g?C;`*w(cB{g&@9*0uQNJ>C~N zx$MXS?}g$=LUoV54D9chSZvz6ce`Bor?3AMtp9q0qF`al^LI-onFPJD{~tT+apm=p z@|l%cB}vBmN`IF}^JZWC6~A02W4E*X&-_C^?@vCux8a=hN|~773~}qc!@k}=wncb@ ztGCvN`oJBV4%RqZ{@NXIF1?iBEm@QO9B16a6zlyL*=8&6Iex6O;FZ`9*LBL$UN>G| zfAXGHw?R?ue$?)^Uo&G%^B4-{(pi2xfcpiH|3>~)KVZ+S-u5$o(IIiA6C5$Ar>||@ z=r^g(dv~}0=KLI$W7iDRCv2LrbVj|;3yzeYS*q%r>Os|EMqBQp2|FUrrR6>=eAxu5 zjyKGgQ>mHPro6HDI&b^g!w>%+Uo<(oP$^nYV&CkOOiI_vHJrG2#d03|w=B#jK!%A~ z@LTDFFFMaR)z0?O)F>~wK52E7(t)DK;T~IJHzeHt{m3WA%lq2uLpG`pjP5YR>+6KD zT3Su_-oBrw{&#}ZqnBse-Cyqd;WSM@o`2i(cQ!2{Y7g_I^V5!P+Pz_aY)OIDl9Th) zPXu{l`o|e8H z!m48WsoQpYCvwMMn0D?*_8o=nFZL7Me$~hBKNK?UJ!9Kp|C#j?3>!NhzdBkHaN^lc zslZy5u0l>bpGu}_f}d~urX4rRdhz{8sP4g4R`b}ne@8aH%=ZpnK5JH$(zUpsn-=dX zQxf~T_P7sIxS|*TzWD~zXxrbrKUBig&DawEef}&%OxzAZ9_=HQY(39e?Kt+uk%<^TcrZfufAt zTK@XNQ#N=Na>cB4i{%q|)@>wnT(ah7@7b+~!oKc1yeGTf=#J8+1)D_eJk~YwP1~LS ze=Dn;9fRGznxzLHq-yQ+S-e@pM4`dC zUiPpFg4g#7&-rh5H@sfgJ)h?`XwHTs-2LQ=&rZ{dWBIp*``flee1GVtl$&Y5d^Y6&qFcukD*}fXwGhg4c`;zwo@=TsvFj zhekNll}W1)em)R%w#{S8!mGs-Yi6IfJ2LCq3dN;*6JjTD^RHVKU;3lCevb4)b@uKB z!7q1SkoTFndWYw+GBK8C&l=3XaOJ->TdtdCwpwcAyp!)Ty>?qp%;8dYVqBKVlKaR0Ewi5!U}M89_-(z>7oLZkYG=>X)F}USZPMy#N(YJr!acV9Pe}NE z0kp#+^O>FDiA4c^Ud(TH7X(f_Q(xH2ETk(od!ogUl}GGS7O$Vke$Q1@>RZu5xpRDO zifU4-Wo?T-P5gT8Xz`+1L4EFWr>m_Oevxi?J7;2&#Z=dX%`+C*Ca!yMX4)UolCNxSoO^7v-oC--7t__;-E(5= zU#t+-+`6CR#6m+6iGyVhkzGE{)8_0rf8o2N`4RSSulSVr=Pui_YxnLMC(iLJ{i?r#*wOzw@c31VN5_4`D}bZ-;6vY)+WTPl4TgCCu#kGi>~awW10UVrGo{ii@2a^<3UD0y zTcZvdr}Ik@W|_|}oS!15J9)?KUGI2H7ADN&k!sSPxO>|}%Z_=?pSH1h@H|?wt1M5f z?d*rE-YG2Jf`8XPOgj_YTsYJAX4JZgD<>^*{Ipg&u+-{KZ(x!(n^bm0w)wRM2DZx? zynd&feZN$1>HGTB$w_m)5;okm`ML36t-Iys^BNEbNVuj*@;;ouq@Q{1ZlMiR4wq^d zZ?^iC@0S$W_$9YC^yaz-O(oR>Cq7JArke8VUzk{pL6EQy!3{c6}%^yrFnz56AZon|i6ht&;7$rJG#%m3LY!Z1C_q zz_`?5`Db6|4ZK?-8q#&HEKbY&U)GcyZfoRFdXBT`%Riw| zo`qqCTL14TiWEs4eIn_4e`9jgeAh|2kNvLb?QJN%#?7`md?7=9$bKV@M?WN5l@_V- zace!AqGuoEe)7vlr)fIz{M*iR*tC?XJFt!~+@Kb|GVYywla z1+b-iOi8(XE{#*%dRyP)?b#0nUCejfb=1k;T=Foy?6TI~#~SNTuXd^5DJdSbI@I+; z)Ksq(Y@bhUi2S`$Ti&N};s3}DIrf{k%Quy_F#A2=b@s1s+sQQX|NWy=3l|s6PhmE8 zlALgby+UAqR~F~qK#zh65dyXA{vQQ7Ajp|xo4%lS`o7JHmyNSb%&F(Gh^F=;$eSQ6E`MM^0kc@htxF@<1dEJftyPny4%0j3R|JrvakM$ z`z&GkJ>Ap%dF@-YH}mOEE)3K-EF7M@vg(TGH?O#3)9!Ve9p^}mWocI{U8dlXwEya} z;HaGiD!B~853Lqmm#uhQJG*PvHU|&E9~(^Vk32cr`R7?!Qnu98Jpo_&4*%5usp>gL z)^HzZ`yI8*M*j8@+c$b8a3?YTG2_3) zTl(6n#S^3N<;sYD?F>q z(Nat^CfXk9efsY9oB;7+4ME<*i&^R0S3Uk@ce81g&euun-I!Mxm6sUOyrx;!w{+#>bfwdRY35$ryEz{Gs#)L>_gL%g<9f??W{b;re(zW(UCMgW zDq+svY1X&T2aDRBSeJUD=i*k!q~$W(dKyj_OWpgN=cqP8Fm~#~`TO6roppZxgpI3s zZJSFryXCWQNvUS;qtIJ-``or<)g`nD%abIH^hPi4EN1`DDmi8my^<;z>JAEH_E0Q{d%l?dr_a&T6NH9w}|l-kF#^JN==%&4qf;yQeK)=q>QM$!5R*b&%`I4b!tXoMYeZ z_f*zy-+~=tu1tG9r~hZU_TAIQhg(I-v-^DRvXE1||DR&5uG+L?YP#H}=!siRL?b@s zwL2yMkJ6a-QO*LqBwdl?y7xv{NJ+XJu6>F z{d4>xS^bqW_mcYUt|W_8i)||(-%**-9$VtWzR~&8#PY}S^*lE-?yp<2YU-NJKP2t1 zEr^XU?wA&_!97E3qtRo@4B6P3`?8$pruMJ6`~S1r7X`m6kEGqtjx6vN{eC?3?eQq9 zDa=wuCkut|$iGO@ZcvQ9AH``ndDqFAhEmlHpeY-r{(0+{aNb_!UpxQgy+5m%KBv^& zx^K2LZB_A~SxO1qZ<*_TBK(*XYK{tupV`U55Tm`)y|lKVMOsBgzIyJjvgS)>n|U;M zMXjmW`6IE*+@hr`PkiT-NwIyulV|^pDrrA^^4VRH$CF^-;mrv4loikQbgDl;-;+pTuoV)=VCse98I%5u+G^(^! zIN{FI(@PG?@t?Jmb2y0N)EhHANSyJt&;c0j^onWay}m!)}LSrHJpEUDf41o``Lwm zlU^Sz=UKR$akW=_E&uj?jq6%Wg&yp?IoWmIV#f{nRj&O~zVB;pzFBg<_sknsmojx>4uWs|F0@AXQ$>wE0;-H=fK zw{Y_AZqDrw4{ z@7;NrX0cx+AZl)k%MxMFLQtFVZ1e5lja%&lKC6lRJ9Iyallk^i(Nwd-s%=*tw-kNe zsI^qMo3C6kM_5EtqwKz-S9x~Efx?r5sas~d)HBW9x!p^cYa23yuY`r_MG^?HbdV4nPe5gYduC^c)~W+&X&~HC|5F{l( z6HqJZF-5gLF#){6Akh2TYMp1Q2iR{i#0x(PQT4Z;?k$_obGt9%?a7^C?k8D4I!&7p z$G`3NX`3bXDi8C1>`QyLz;Q#~Pp1TlU6#}Pr58K(F5D((`M<8=lNqBI*Ti3|zowdf ztXl9S$lU$X&H2k_e7%$9x9fxALW%I(ii--AnU4nLhI^*eN6ZSi{Wwq~_U5jRLg6>d zgFa7Sc(uuU(WkV-bNx5?vIeh^n)~|TpS~-Q^m~}H}@-nj-KA+gvZ#@)hXVlRmEueCDydx0#)*ul>eD>&{ySEjWD7iY@0^0)xb(>-I>4 zzPsrDF$F!bs%^hy8}|g77he|q7I6IE)#tz8d^B;i7FYf<^Yw|$TS^=o>m9c3c6>fL zPuRTuhnHRrulR!1fh$kXoc?&tqyM|+OILPugC`6wv>#jq+4sx8jn8gFbwcicyA^#C z1$n0!egQ45-gQ#w*y}ASR;%A62ESU@z+}8nFzdvu!uJyW-~Tml4Lwt&Da5{Bq%S@D zP}y#`1Vw$N|BIsSvrlTp)YqlBZjMU)=w|H`x0dnDZ`b8^GyG?%t~7yBhMo@hCi8)O26X{Z!y`(438U`Kczm?FS+s zq+0JwV_)RBA^)UH_gUVDla8rMIB;&*uW=&dM1zK+szg%r;$7vD;wR5cd=g+*eCe*) zv#O^d<+H1^?3gm!1^FjzaN|5s-*tF94|vKX-{{kv8yQm$Xw6YM)4|CUyx(}k(^G{$ zq8nU!wDNv^di~4p%BseRm4B0SMa90q;ylL@cAZ66K5mV6@6@kX?iL6Xo>-B~p&cDv z<|=1>Y0jh~hV7mahBh7I6BOT^o$)Zhe8*+Qxm!HGuy07Johg*0Rcx^=ASWoJ{(_c= ztjC_G8wyv04u?ygeXSeRG1$t=|6$8*x^ z$di+D8%y)kjwxhsn4h<_K5xL+u#e2)TY|mjhY(eGp|ot{j^^BK#^~_#}<*qgx~ic`NTweUt9hAt?GdzHyGk4 zJ`7RKww~^NE05>4x%8u#ZsG1HkAHBQR;JFsKTkscOFheCRz>+wj1Lu89dCbEAh7<# z{ag<1sOSZ*>=|e0f(EIgejc#dRy)a1tEPG81>quXLH4yGU-T37i66}JKkYQfz%Pn zdF=Cpq661Wle6f*-l(+nPZY=gn~-zCe#{N9In5;aZMVS}9>Gnuv-fLglxJM4pR~GJ z`9P6FxW^XWgoNKMk9=Z;y|1mVexrKe&kcrnSCKnEUrMSePL`AJW(@eavrsx`;_h3n z=_iDB-hF>$AM)^`^ag7m*J(V8tB)V;i+d#)d^AF;qHv+~4cmlIf0tkC2Ct-=(Q~Hv z>A&XferKaHvJ8@oWTE5^{rjV}p;`|eyYaAKReKt6v zVz^0fTjTx%$NUd@wMZ+f=yxy5s%rvmzi(8$`4_a~@qpy2^9*rMQ#tmh-(Bd~kmmKS zTqsq-3pazM6_4oTa8?5$6{Wxs3yUxC)@XR!s`(f$L^XBaJ_`+VEbSKK5S);u^ z#$4`T$RZy}XLZy2ucZ?{<{3@<+I0HZ3d1w<9r3fQ&X|0d+ z+z-uAGzUB2y@VfRE!RFt@CeDZ5}Crp^m#mD%{Epy@3AI4SU1VhbGt`C(~OJaW&7S9 zZT7YL+o_l`*Vf?On(~Qpr+t!)>-ClXZj4sWysZ^c6YhFY+h%&nY#T$++-)ZBW$|w1 zWQP4GVz2Hh>=u5dD&D*{@}Y$F!bp)zyW)<`U(uNP_mwz{G;0%!hJ4!50}6}JFMXHo z1e!VJ-DqhmBqOh#nWEI>w9V0B@r#A3DQ|y<-M#LeQmi4w_O?1Fw88ba%ZYpSeJhpz zO^i03V!8Ci3N0leiG&aN#yjWEU_ATT^th@)k%bSWBz(QD>j8Mi;<2Rt!jIx#c14^^ zFXeIj{#xzJvy0Xnxs-h8EpXhD-w$!X_j8+styaB}G5*Sa&~s<0qy8kWO?7eW)*jpO zrz$+ZTHx2hhg;M0Pt{H~t^cW+|0t#Fw>#I-<|PaCGTO9jR!6J|-~mma+uF#iiVtK6 z*=8JSSJct+dV?#6mfPEN<{!g$$_erW|E*Ey+525`VXAg6=y19;bK~xfEwA4vd+Gh$ zoWrOc9kta}F!<%VCQT(B<8#?MAC~=4usdK1Du|c_zlj)p;Yr?9JG&mVuvqE-q}Aa{ z2a2|Zd2IQeknsEBW1pB5uWR63@ZttTeBt8|)n!)Gy(98@Zih=hdMOmW6^s#;bLQ{{{W1dKUK5v1|IZYah0J{!m|=?REah zh6(d$eh%S0+`Vc6TV`XzOIy?b^UhtesyLMW=56M~2@$%hPcFUcTh_JNBJ~4hV<+yq?U&Y7=!^Ph1S1|$ba7V|t)v^@1`PkqNM zt8C{aV}0en7o)Af3km~W&gy#H&KFK5b3e81vgR=n5z%L}nv}j|=KfL>0UyP(Id2;{7qosal`G)fw_oz$qc88heYQs3 z&{LhLn)>(Zw^dK9!%AmIo%)~hrJi>U! zYyXRJAw zFYM*XC!!DE>sqb!(5(rmk`$W&C4`9;D_Kl;r^ z?*wi&raFUaBhYAd7-P*8h5Bia7k}bAlIt<+S@>`5i06WDW#=Z&ti16hy~m`S!Oo)g zulmEh%Xw+Xyi+&q7g<^WKDOH`I6Cm(6gdmeYmG|t{zh@=-r7~mbnM@J~0Je*H+Jdqk7=kO@?@h$04c?R@1%Df~IVw zAHBR6;(qez2d8Pzv2=dE3}g1wLaHE&=&Q=~6g&-V8ET%IP^kFHjl+QCZ9GTFLJrb}0u*!V&F z`Q2z$)@Q{A+f+lJSGnpqI z`yx7+Zo9m_VBRL1^>+Ejtgp&KD*x`U{6FuYVO3a$KI_@V+dh4{b+?c&ZWTY9szhd> z#T2FtcE!(st#uVm$Htob+6&`bl#9kt{Z7z}#|I^n? zW|dT1iWeM|%i;7-JKC-Oa{sFTrHeN+&;KNU$|~FPn*7mU*P=HlpUYrQ;Bqa0CHCm- ztgGHB^$#3b*tb@{2`QVElVuX9nesDb=5II7W8Lv3u6K6{lujt09A$pM>c|1TIi{<_ zRu<3Le;~e8?(VdJ#c~qhp3%Yfm;Adf1^g+||Cs1y_U90%%ELVC`7@u*yS8EfrR4=u zyCf17SOTL1zf6;pczLB!$>M($N5{=wwJt}%bwRz&3_-zb`^CTLJm#$34H~cKzcOj{ zl2r#2k39{Y67(Q+cFaQOwLc7U4;6o4oAhmxLw)`4#h?0)ZxP(=%A+(TL1U~*HrRjKRpC;3^V`41-O1jLS?9TmVmT))i?B(5yjvwtWeytwd8ZTX8 zzC!t~sKouJpk{gK501$@Ra4%64U?|FP?A!tFUG!(TYp~3AyD^tnbPvPJ-@GHpS~4a zBjvIo`gdkZvQPNb*`Wsv@Bf?c^NC~K-jhLBR!WN~E`Ha!aZyob*Cn%aOJ{aE%}wa* zx(jL*OMIWhsvw?ncG2!l^9_S09XuS|8ZTK9zQ85f|M`dSjY_w;W?or%dq>S2L&vK6 z&2v`1zVl!3>$R%uF)4?nK59nB$QmwtdN3qtrG%fl-MvKuViQVc`-I<{_4l*MaWwLT(MrZ{&3a96@3^in>F)cDHf#94Jt+Hqw{F@3rv-U-K?jaZ zOqj(Z*c|1xVZYeH3E+-N+>bP!tR*4G80rhpq#A;wV9SFk3F1FvjO{r!(^jX<=q^oq zc*!R`=!x(2CF(jW!dY%6-ia1Yu{h1l$hNL!g@5f!!Ku5p`TgcO^l(AbEj^b*+Z6=B zjnaP-b>~3~8tt}guGuWKvFGYl=fWi!YqP^7D>ygo4?OX3U8AO&ZnW^!-z#+|8`iI? zJ#r0nE*B$PkH=T`s-(&ZCO>oJG}ld9;PB~SX4_NeCmX$!xN0WnnIE%yc~E(Z>S-U2 z&Y4ZC;%i?DPTytH0XdH6V6D655%Iud^&*1Ldi8CVTP*top0*R*y=}f>P|(2+@G6>* z3-;cZw#Zpl`8ASh&3!BNtzxP5UsZp$Za;U#Scz%Qo{0MVluJ)z?76Jfrx^yFy{LSk z=z5sPmbF<4zd=hV)_7f8UH3-yz~`F`@n0T?sDgIA{?FsNohbF_WmTB_$!8y(rd7rB zZ##U#W{I@kbG~-a3W|&k^QSE-kkXNu$NnxTI`HQdIg9<*8kJi9MsYaY-c?(#ckJJ? zjJW|emzV^b&!@tW$fSdM$+qO7M)_thL0EopR|HgiRK-b&p+hZs~I<|%^Ogc%#=-(OxJ z^+jSH`>SWC4z8WTvH9h?8FMX?BX>;o+FgG>F%)zZii7=IhlyY38tCifeyY|~%+_pI z`n4%qjj<>swuy85Mkm+XTLRtOZ{4^kA@Rnj(noVa+m4EP+pUy*ZtisFQ(h!>>6g?K z*Ww)+Vyp7Mwj6p8wD6eJ*Mmv=`%;ch%3AgRpm|=!tdsL)G=-z%cDl$Je_?Bxp>#ds z=iHa|YvfbJ{_otpFZ@p#v#?YB^(zcTNu@%uwVKIR{>CRa{Q6K3TjT8_rj*E3a6W9Q zw$H>kvvSqbVH^y>%Z+{Jc~wl?&7&i)b&2Ki({pVB#XHUh&B^E&p7tQfZoT>Ue@Uj> zS&p`L?GRh?v5+s}f0H`z3GXOJ*R^u5n0_kSUUd4XRDb7RZ))uAwnqM-_Q}%0XV=S~ z`dgq`JHhg&<{9PJVH4eU-tc}XTI#;w!h|&Q1Hl1ylkO=h?^L-G{Pp4T{sS@Vf8|e$ zU+;8Xc}wG?M@QSTPHl<~e4Lhjr?BOmZJ+_G*h-F!)y55;&JoAk0;Kje&fV!K_}Xm4 zLiy$wXD>_l?qB(#e&SzQ`4rIubDP)~vz&NhaxL!qpZ2o;sn6}Wbj~SyoILqGwP3e4bUQt%#PYG@%k3YXCZ&}z zyZ=9VvUtz!i*|=EO&0t+VZ(gmpbN)$>nscZ_s}4J!xl}(yeY*uuXAzLUz+gSf7N&E zW8X5XCqxx1T<%)O{DrM2S#_y@o<_Jr(&MvyTAe{5+>BG~Rg%)>m-JZO{&gNUSdw&QmI@uBCxB2tOGoMl(*I)cn>w8F2Ji~2w{`+Suj6N)P zcwF4(8yA--RVYzubuH`k$NO9kwR-iDN>Vfb^`)OJJ+j(ASm1}F3~PYUU%gb0y6s!C zwOS00%vL-R&J8D5 zo?`S7U9t1m$uDU=EK|)d=N-MFlf`4TXYG@Of=B;c*Z;2AeOgrYmM5pdr+HJOKC_-; zcvSzKBXiP4L-|zEuPx4POtJeeUb?SR^!5Lq&3hN-W~`1|Ic0Lh8D$0!elhO3R!WH+ zDvx^7y11`4?Ovy1?0(}w>f1%rd6O!p?WoQ>^YC$W;z2JFH!H)BO>0c$eCE}3+lB|I zDTZX~ssCB9W8=>$PZDZQ#U~z+eij|LG3DKZ57~|`^-5RP{&;S4N-DkK>(M_R0d@x5 zv!>jB{9X0W2c--f<;9|DtP>l~B)n*hi#~j9&*u3*(;mhhyX_Wx(#YQYlk4r&^?P32 zcmMEmdiTzh^B=4t9!qhBwts%H;o#mkvV5*Jr~b_IOkd=>K{ws>b!NfRDNl+G4Ws6N z5e%4}{rKu#p~@)@^%r0MpJjA-mSy<+mj9s~^CqwMeKaL{p0c3 z9Ba%T9TQ2an7qR>-%MMX`;n$ce9HsF&CaQ7;?DOh?bzQtA?3l`4SCD{eA52B&G&iX z%a4+AwjM$e6;{{ePyejH?kG{PXQqPG%-wzKkJ-(+c=xi%4@Uu36$2A9)z3>ZYZMoY zDzo0~Znu~uEaU6pwn2?~uI(c6oD)3PBMR23p7!DKv^~GX+Ok7J+eHq z&NXD$ja_MlJL)gC_x(9^!%#6SSzm17g!>z2AD?rnV)w~;?DCrYI9VfZfAH?Jcv#)*}YW`9%cUP6syY(A1A3e5i4-eV-(c@fNp6Ii0ziie$`aY4< z+NUhoN@GLbHHkfGbw2Y&9&L#({P>u)UZO}=m1&XLKaGiTrLif_hHcI=k+PecC9db& zJ<{90Cwr%Tu~(>4&xg)-Zr*^ob*=~LruH~G?K_FcQL-P&9ADW>mLrgg~au*FZxgx{Lm zCF!oc%93!q{lSjf1n*@X4(~5M{Bon9=KOUGcPil+iSOM&DqSNxHkUty~O5p?M>0M;+D=8RM>la{)0(175|(%KfK%U zXwSN-wTB+BW1V49pAnRG;?oDoM<*A~dbIedZNSz$t#>n1x3#_Bd40Lnd_JXSEtN0v zPX1L^mn3`D`Gb86>sL%+k$7`$5fkg*VvSw5r^N;yJKnZ)PPU9cbL_Q82D@}rH)-rn z(<}!lxmWc9bQ%a+Pp_?tm0 z@MKBY$Cu0>|7}|se{7o7$(JpM)U5q(Yr`os8O_McX3cvo)aJjDHX7yc>8nIzZu1j=XRt^t75_V~-Y~rO` zw;%P_3VE}3y?p!s;e;EH>w+I~v9VcA|GFb@&F>An51mX3clVw2@%jGrpM28;e%k0T zt9$rZ9}RoXUA#ef+0wgAySKHgZRM_yKKNnk`ixI0jLZ{{M9*ou&2N)hVApO^60l@3 z^NROtyXNVf*;32ir#UrJDdR-f56(lAmWFkH->@k3_L}d0I~cu%&lzg9KkDXS+RpQM zuJG#*AG51h@tEJ2(w}l*#;cd5Jx*zx=(v>o zFX{Tuuf!LMsOyuP;3j0mV=U-V5)!oI#xCvs%dS?R zaXFzKxUI#zf-AXqc@D2oy?OuD>O1eR?Dy9`R^u}z{3E|*(zVSqe*SPf{?M>2bf5fA z?x|bnJmASe>{vCNgtv*^v%HYG*c&jtrcl>f!MQPlb z^e;B0Z~MX1bL68;nXRs^H@K-&zDes-b&f{3(u~VDMRTVI2?_E|*_e>HI&hmL};orYnkM%b5^5`ETJSQ5pE;a5BE4k5ikn2o(j_tDJjczR(q8ICmMboZM ziE8-1XQ?xPm&UdFSScA<^NmyFB#wXklOqYKD!L~scOm({43Ab^>$i)QwVCU#_v&e7Wmn(rrFN{%Pl4 z2EHv-dsxrs&)t76>&dt72L)EU>Luo>O9e+8eK_V5xV@#3N$GEt#-Vw?`PKXWwKdNP zkSTU`p8U_?i%$8b+THe=8sUlaE+6Gg?}-p*V!igoC}FDJI?kFKpb&VY`oQO=pWUZr zae9wyj_N(kC$D>uby)+YGsfU zVmq)=&2+l*W1pHE?2~UKuT5I&)9-KmdXcch%aR+aUqKE4MM0SR%UvG@ekw@CPWyh+ z=45>8>w3=kuxH& zBE?PtUwTy@sC=xg-M#*&M)-ENN!_o*VR{VPMOXc0WexZ;al= zyL(~_e!SW-eNJ6DPloojGt6%k1TXr2D5~LNSGqQ}$6e`wU$P13l#PnaPm3S>gdGX{ z)2;C(dS1vu2K)PmLs(xb^%t+me0!CY4K0@e5yIgVpFhU@_Ogr)o#tU4kDZl zhdFOwsoy!-gRLk1p?Il{fz+wx3h6WV{xVSfrx`r&PLC4*+Qtp7pRLPzYz40!j`^Zf z{z-7Uy{3XQ!}Lkrg(BZlvco;DPA{i7;_bTJ)qHUApBrYwu9ujj`PW2q54W;}Sh zBO^gRKX2t^zeQD=`xuXM%Ik&ebsV{CDYsuYFxuqJ#ssN_`HyR4c9_5J_MdEf$7nx; z!-2&itW(|ki_ZuZwC@$0xACurV*in|HYWlz4ZB`{=h~H;HrL2Jx$fDUdXr}_H?;b@ zUMu;huBLA-cy@)5O4G8vd~%Ih5^taXGmQB+=}_w@n*v_j@&y;;Ch64oaQy<61F_d8 zb-O2T&j}58nY6be=eErz22eRL!C-&kQkk0!^-CWysP4=?n!TZdZ{@_eg|iNZ1-*K4 zk@1lV4}a6=xiSYLN+0^^Wf>i-e{A>p&9RMTd9z}!mr4b@ls(-N7`LUhQAulMRo(R| zyJBabU$yM|Wmb=3dFjT6I#59rz9A>8N-Y1{q*>kxQyE!ASffmiEB(2Wxn zXA+k(+>|W%v%184Mfvn83v^v>e+}Mv($1ZA#k)n!57Iqkuk4-+Dv0D_E0vAvH+?eN z;Be`oYV|j-W9r6kk|tk{$Vq(qF+DKxE=TV1+pb>v&C5@nxgYR2JHT-I>yo279jok$r@ThqzgL_F&$b_GPA-cG4sgA;-hi9ic#{5$d`*oNT$45(=E!RaT2#lg<)M-4 z?R=RuiywSb&l|kCb(-U+kJ+2;A-|5+ZCC$k;rZLod{bM$w8*+$d^t}vB)pD%KY4g{ zWcpT#l6vJd$q5=CUr+k0V&$rNIU`Oix^QE*PUQY?$GxlmE|oq!@1=ynv47jP-zo^O zafrGWz`CF$yur8I{+b+f)whNF%9ZR>Ir%ddHU=c9gkPxi`N2P<`~20i#d1Gg4fo6B z1#XnOq`D#R^MTLN+qxR0+{M~HI&A~BiaE?|S{~neexm+w=Y$C{lQ!%>w#(o5ZuNin ztQ;3`LG6-ld7-h5 zxyF=@2^GgPpPu>^*Q52>;En2!l9dT^_nOqLzFSStHdyzjyOT}E{2-_<_~yDHF_QCT z$9bz3X|?(F2C$a*L!$ZY|71p-yi)o ztYxs_zqa1slUCuDYTKXZ!!ngXxj^ZFu2Pr>s6ldDT)yj9+?fF1GgDL__#C(Axz}Wx zGK;k{dqZ9cd-7b~B4O8VLK3#)U$LB#IaNu7<^BfnYbX(SIot53GuAAgmnCp6(3C+EKFSY1EP*i}& zl#Mk`v+^JN*!~K;)@^Xi@=w}Lj`GIWF|04EzI$)T8{>MSpp98N8GP!#uoNKX+-9Gt-_;Te?(b_TJzAfl|H9oUFJk#i<)5uP*H##9 zO240$DkN1n@oK#K=j;Et^xjuzyqo{C}2mpA=5MJZy_w7pDvXQd?O-foi(X*<+*e2asLIkRlr|AZ4d z#@95zS8FOHCW8~<{vc4J^g~$2?d*phC3oOWGSDTHA*?U0rb~NFs{wURPu}u%f4S>@ z&9?MJ!D-*?A#F0g)AQBD0<<>lzPYPJb*ap|`;+cmdD%EcLgd%GoxG}Ztu!V^SJ|fA z`_#}d*Mp^a^Gmtw4JA4iYjal_m|27~z3Az7R|1uUkX+C&98v;m6PiD^{or$xp?taU z7LWs~S0r-(-Wa9i={Sx3#qrqzEx`Nu_C?V+DlUgE=r*`P)tC>P9Ax5{@1 zmjmEj@F!Yx!mZsgDaW9VQf9$(+aZlo>;Ik_{(2WCcDXAVtO~u)kmHz;f28(PO!9TF zZ@W*3fEuL&`3wHIi2hWX|F}ZT=J#5bk2fy*#s6GXdCG3SK7akZ_cwK>uxKXsMaR#R zTadMJ-|;Q^s;eKQt)F!Ja^=Q3Y#fh{&*MGBduV}V^sdGAda)5Bbhl3Zt+_CZ)Gd zD${T5&W$-&=J$I|fJ`wn*V*+3B6rf2-g@8HRQE7C*gD7MkwTJd`ihW^_4T*%9t9^~ z*rdn2LnQP;%rW`=^?#zDN-E7yUJ=LhXCKq2n>VBU1)Y9IxwY5F%XhxGsnRW@C%J9& z^16Eqs@5;Kwk1Pt(}T42m%Nh;7j`ppe7@HB=+e_5h0fQzqO$M3pWf5F;>qXciF)A% zuZ_z$)hOHw%;ooSZx&KqcYj>C!GW*FuiX)_<(}VvAzK{NukvM8By{%UD;$ z!t5#Z=;Xn$@NY{W2Cb{FUjF@=_|79W(w6`Htn({>Moc;o&lcNZwUm9Hy0nkWM8_U6 z1}3vcR^6vw2J`N0S~|zCtnTw12j(1M!E5Ue@Tk=9YW22PGk3RJ_x6bYEsI-M*IP_k zSYLlT?@y4=f~GiTjytMv0!|9#EqEJZ`|(hIaYr7{?}e;?ZysE?|K+ZayXyVY0|eTh z-&F2?eD9&3_4Ikq7U%9+eri$iAt#A>>W@}Om#yoNWO;jWX4RqET>+i97da;%|2bp! z9E~TRn_sS5Z}7z?V{Ptkc0+~xuhy;Vj<&h%?CT#gW#fz)m(xKVlhBj172bq0^h83k z;S0+NscS$*@gu2|2gBTdu6kD=yRF=vapKR5I-stRAGCA0|Jc%ks$UWJ(xZf<3%AV{ zgVzNUZ~u~2VXJFvp5)J)#KU)N`3at!?MAh`_081XjZV(xZcl0untR=2_PTJK_?D|ZlR`+m}f<#yV_ zbHDY|R@VPgaM-!D;*isfd(USDd*`j2BFFyrTBFl1)hLaLw|Dtg-+Tw|8yep}d2M}w z$eQoIOq-8i)VTg=+N9YLwueI<{XM4aoH65e{$rn-6QL((8|XY$I3s!B|NcMTtlz9U zN zHMiik^#;F<(-+n5whs&l2e$`o?+3+(JIpyb;X!o%@rQUl>#BdZ6Sq0(Xnno3%jRgL+5-M6J@sd;l2h*-o8rW|EAmcCTvoKl z*XuEnpPp|v6gv?myYxjzPRgU(3l{AwSM#v(-*(x%Q^(|2z&w7b*zla@d&k|`KbzI& zC2wpNb-3+yK_lj2;^%(?XH<_?>{Za2HLZkoefe~)zj@Akze_EiGqqmQeb@WN?49Wx ze)ku@uvw@Xd_LPR-??dlE?Hd4$qr^@P1PG0bxODkBwJ_6aI0Zto7Myd2OBRA%+We zYr;xrO)FG*DgVfIYMfo)bAjV~>JPGsF6cg;emI>!_Wse&k{_k>mzK!Mq%D1@_GfLZVB{VcI{|b{_d)plb>I5sJC8kJAOhoDmdKp+T-|H-rytY+zzUn5Cn_-q8jw!OP&Oc(bLC1If#IUvX z^A0k}pZvE&@Vlz8*R;hAg$F~5xB68nt8aOm_3T5}$AF^G@z>PtlQUT6Z`9Lmzji20 zX{TiM#Q8t@Q<_$tK01dvUXj`4$t{7462jN)XG=-NhNm^%Kbx-9Y-OXW|8b(L=vS}H zb)0=!pZ|%TRNc(m@9MCBxuEAYtAo1#-TXIC(W<|&=S3LT?n#@tCWq%%?f>2)cs(M0 zyC%TPGiGh>DX9Epx?5aBE!zC?MSrF1i`T0QozT~~-ua&=?#-1IE4NjdMKT99 zz2UmY7CR$+qJ374h{WgTOOwJoG-8Fhk9VuMzK-c(s_Eu#ILGy-Y%%Y21)EQst5|nc zUQ?Z*;k)T?qRFHA?UL@dcU>``;goOtc;U&sgW<^wWb5+PSH1E2{cHZWf}F1*r_y4@ zqHX_O50#j^_gO;Gt^}3~Z{~Y7@On!&&zbo6+n;Y&0}Q|DsBfy>ov*18?sRQZx0{ki LV9W~7DQDyX1Is8Z diff --git a/font.c b/font.c index b820807..1aba955 100644 --- a/font.c +++ b/font.c @@ -334,10 +334,10 @@ const uint8_t gFontSmall[95][6] = {0x00, 0x03, 0x07, 0x06, 0x00, 0x00}, {0x20, 0x76, 0x56, 0x56, 0x7E, 0x3C}, {0x7F, 0x7F, 0x6C, 0x6C, 0x7C, 0x38}, - {0x3C, 0x7E, 0x66, 0x66, 0x66, 0x24}, + {0x38, 0x7C, 0x6C, 0x6C, 0x6C, 0x00}, {0x38, 0x7C, 0x6C, 0x6C, 0x7F, 0x7F}, {0x3C, 0x7E, 0x56, 0x56, 0x5E, 0x0C}, - {0x7C, 0x7E, 0x36, 0x36, 0x06, 0x00}, + {0x7E, 0x7F, 0x1B, 0x1B, 0x02, 0x00}, {0x0C, 0x5E, 0x56, 0x56, 0x7E, 0x3C}, {0x7F, 0x7F, 0x0C, 0x0C, 0x7C, 0x78}, {0x00, 0x00, 0x7A, 0x7A, 0x00, 0x00}, @@ -348,7 +348,7 @@ const uint8_t gFontSmall[95][6] = {0x7C, 0x7C, 0x0C, 0x0C, 0x7C, 0x78}, {0x3C, 0x7E, 0x66, 0x66, 0x7E, 0x3C}, {0x7E, 0x7E, 0x36, 0x36, 0x3E, 0x1C}, - {0x1C, 0x3E, 0x36, 0x3E, 0x7E, 0x40}, + {0x1C, 0x3E, 0x36, 0x7E, 0x7E, 0x60}, {0x7C, 0x7C, 0x0C, 0x0C, 0x18, 0x00}, {0x4C, 0x5E, 0x56, 0x56, 0x76, 0x20}, {0x3F, 0x7F, 0x6C, 0x6C, 0x60, 0x00}, @@ -356,11 +356,11 @@ const uint8_t gFontSmall[95][6] = {0x0C, 0x3C, 0x70, 0x70, 0x3C, 0x0C}, {0x3C, 0x7C, 0x30, 0x30, 0x7C, 0x3C}, {0x44, 0x6C, 0x38, 0x38, 0x6C, 0x44}, - {0x06, 0x6E, 0x6C, 0x6C, 0x7E, 0x3E}, + {0x06, 0x6E, 0x68, 0x68, 0x7E, 0x3E}, {0x66, 0x76, 0x7E, 0x6E, 0x66, 0x00}, {0x08, 0x3E, 0x77, 0x41, 0x00, 0x00}, {0x00, 0x00, 0x7F, 0x00, 0x00, 0x00}, {0x00, 0x41, 0x77, 0x3E, 0x08, 0x00}, - {0x0C, 0x06, 0x0C, 0x18, 0x0C, 0x00}, + {0x0C, 0x06, 0x0C, 0x18, 0x0C, 0x00} }; #endif \ No newline at end of file diff --git a/scheduler.c b/scheduler.c index 03cf9a2..d056fa2 100644 --- a/scheduler.c +++ b/scheduler.c @@ -77,20 +77,20 @@ void SystickHandler(void) if (gCurrentFunction == FUNCTION_POWER_SAVE) DECREMENT_AND_TRIGGER(gPowerSave_10ms, gPowerSaveCountdownExpired); - if (gScanState == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF && gEeprom.DUAL_WATCH != DUAL_WATCH_OFF) + if (gScanStateDir == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF && gEeprom.DUAL_WATCH != DUAL_WATCH_OFF) if (gCurrentFunction != FUNCTION_MONITOR && gCurrentFunction != FUNCTION_TRANSMIT && gCurrentFunction != FUNCTION_RECEIVE) DECREMENT_AND_TRIGGER(gDualWatchCountdown_10ms, gScheduleDualWatch); #ifdef ENABLE_NOAA - if (gScanState == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF && gEeprom.DUAL_WATCH == DUAL_WATCH_OFF) + if (gScanStateDir == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF && gEeprom.DUAL_WATCH == DUAL_WATCH_OFF) if (gIsNoaaMode && gCurrentFunction != FUNCTION_MONITOR && gCurrentFunction != FUNCTION_TRANSMIT) if (gCurrentFunction != FUNCTION_RECEIVE) DECREMENT_AND_TRIGGER(gNOAA_Countdown_10ms, gScheduleNOAA); #endif - if (gScanState != SCAN_OFF || gCssScanMode == CSS_SCAN_MODE_SCANNING) + if (gScanStateDir != SCAN_OFF || gCssScanMode == CSS_SCAN_MODE_SCANNING) if (gCurrentFunction != FUNCTION_MONITOR && gCurrentFunction != FUNCTION_TRANSMIT) - DECREMENT_AND_TRIGGER(ScanPauseDelayIn_10ms, gScheduleScanListen); + DECREMENT_AND_TRIGGER(gScanPauseDelayIn_10ms, gScheduleScanListen); DECREMENT_AND_TRIGGER(gTailNoteEliminationCountdown_10ms, gFlagTailNoteEliminationComplete); diff --git a/ui/status.c b/ui/status.c index 0927afa..690354c 100644 --- a/ui/status.c +++ b/ui/status.c @@ -94,23 +94,25 @@ void UI_DisplayStatus(const bool test_display) else #endif // SCAN indicator - if (gScanState != SCAN_OFF || gScreenToDisplay == DISPLAY_SCANNER || test_display) + if (gScanStateDir != SCAN_OFF || gScreenToDisplay == DISPLAY_SCANNER || test_display) { - if (gEeprom.SCAN_LIST_DEFAULT == 0) -// memmove(line + x, BITMAP_SC1, sizeof(BITMAP_SC1)); - UI_PrintStringSmallBuffer("1", line + x); + if (gNextMrChannel <= MR_CHANNEL_LAST) + { // channel mode + if (gEeprom.SCAN_LIST_DEFAULT == 0) + UI_PrintStringSmallBuffer("1", line + x); + else + if (gEeprom.SCAN_LIST_DEFAULT == 1) + UI_PrintStringSmallBuffer("2", line + x); + else + if (gEeprom.SCAN_LIST_DEFAULT == 2) + UI_PrintStringSmallBuffer("*", line + x); + } else - if (gEeprom.SCAN_LIST_DEFAULT == 1) -// memmove(line + x, BITMAP_SC2, sizeof(BITMAP_SC2)); - UI_PrintStringSmallBuffer("2", line + x); - else - if (gEeprom.SCAN_LIST_DEFAULT == 2) -// memmove(line + x, BITMAP_SCA, sizeof(BITMAP_SCA)); - UI_PrintStringSmallBuffer("*", line + x); -// x1 = x + sizeof(BITMAP_SC1); + { // frequency mode + UI_PrintStringSmallBuffer("S", line + x); + } x1 = x + 7; } -// x += sizeof(BITMAP_SC1); x += 7; // font character width #ifdef ENABLE_VOICE diff --git a/ui/ui.c b/ui/ui.c index 750a7ca..b370182 100644 --- a/ui/ui.c +++ b/ui/ui.c @@ -84,7 +84,7 @@ void GUI_SelectNextDisplay(GUI_DisplayType_t Display) gInputBoxIndex = 0; gIsInSubMenu = false; gCssScanMode = CSS_SCAN_MODE_OFF; - gScanState = SCAN_OFF; + gScanStateDir = SCAN_OFF; #ifdef ENABLE_FMRADIO gFM_ScanState = FM_SCAN_OFF; #endif diff --git a/utils/uv-k5_small_bold.bin b/utils/uv-k5_small_bold.bin index c845fb4f7dd63645e279dcda3588ee12f647293a..552b4ca3b92f69214de62c567fdaf63a04931edf 100644 GIT binary patch delta 54 zcmeyt`h#_YB$F(IO-(|L4FemSU0qt89Rq_+U0O|o4TD8ZLPbTwWHY94COf{#{Y=)3 KX_HSg=>h<~q7VE4 delta 54 zcmeyt`h#_YB$KR7T|z>g4FemSU0qt89Rq_+U0O|o4FiKsO+rP*WHY94CL6ZN{Y=)3 Kb(2ps=>h=9BoGn+ diff --git a/utils/uv-k5_small_bold.fon b/utils/uv-k5_small_bold.fon index f7f5b4b96f67261463bf5a0a25874a3c189c0ff3..e4893726a8a8a348d78493ca62ee0dd208321ed2 100644 GIT binary patch delta 54 zcmZqRZ{XjskWH4srY51rhJlUEt}d<4j)B3ZF0CfPhQXpHp`s#T@; Date: Fri, 6 Oct 2023 00:18:47 +0100 Subject: [PATCH 10/12] Added power-on compile option --- Makefile | 8 +++++++- README.md | 1 + firmware.bin | Bin 53860 -> 53860 bytes firmware.packed.bin | Bin 53878 -> 53878 bytes main.c | 14 ++++++++------ settings.c | 6 ++++-- ui/lock.c | 4 ++++ ui/lock.h | 4 +++- 8 files changed, 27 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 849e661..c7e0521 100644 --- a/Makefile +++ b/Makefile @@ -15,6 +15,7 @@ ENABLE_VOICE := 0 ENABLE_VOX := 0 ENABLE_ALARM := 0 ENABLE_TX1750 := 0 +ENABLE_PWRON_PASSWORD := 1 ENABLE_BIG_FREQ := 0 ENABLE_SMALL_BOLD := 1 ENABLE_KEEP_MEM_NAME := 1 @@ -133,7 +134,9 @@ ifeq ($(ENABLE_FMRADIO),1) endif OBJS += ui/helper.o OBJS += ui/inputbox.o -OBJS += ui/lock.o +ifeq ($(ENABLE_PWRON_PASSWORD),1) + OBJS += ui/lock.o +endif OBJS += ui/main.o OBJS += ui/menu.o OBJS += ui/scanner.o @@ -242,6 +245,9 @@ endif ifeq ($(ENABLE_TX1750),1) CFLAGS += -DENABLE_TX1750 endif +ifeq ($(ENABLE_PWRON_PASSWORD),1) + CFLAGS += -DENABLE_PWRON_PASSWORD +endif ifeq ($(ENABLE_KEEP_MEM_NAME),1) CFLAGS += -DENABLE_KEEP_MEM_NAME endif diff --git a/README.md b/README.md index af5a874..d586bc1 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,7 @@ ENABLE_VOICE := 0 want to hear voices ? ENABLE_VOX := 0 ENABLE_ALARM := 0 TX alarms ENABLE_1750HZ := 0 side key 1750Hz TX tone (older style repeater access) +ENABLE_PWRON_PASSWORD := 1 enable the power-on password stuff ENABLE_BIG_FREQ := 0 big font frequencies (like original QS firmware) ENABLE_SMALL_BOLD := 1 bold channel name/no. (when name + freq channel display mode) ENABLE_KEEP_MEM_NAME := 1 maintain channel name when (re)saving memory channel diff --git a/firmware.bin b/firmware.bin index bf60880877a16611e5f240707e3d285af1258be6..985866918bec3ec27c3b1936c39f4f90b24f1fe8 100644 GIT binary patch delta 43 scmaE|g!#!5<_!jtOqp(*jU?ADVmCBPwluIv+x%>|9UGjZeaKP(0A_R#KL7v# delta 43 scmaE|g!#!5<_!jtOo|MfjU?ADVz*2-Pcch0-u!I09UGjZeaKP(09#5A5dZ)H diff --git a/firmware.packed.bin b/firmware.packed.bin index b02f8a55ca6d093085865a7fb6e8de7c655084f3..3b838c8428099f958dc4a58c7f980ff698f505ec 100644 GIT binary patch delta 59 zcmeyig!$VN<_!jtOqaKBHj=!;#$LJTQe?nm&dt0Ek7lz!pBa2s#{bIZZ@cZ-*uye& R)*t^Ewb}ZRr2x~kvj8!W8(jbZ delta 59 zcmeyig!$VN<_!jtOtU|3Hj=!;#$NcnjU{YX%w}GNN3+@ApJAUMCDyq4+ip8H_Bb1h RPX|} #include "ARMCM0.h" @@ -156,3 +158,5 @@ void UI_DisplayLock(void) } } } + +#endif diff --git a/ui/lock.h b/ui/lock.h index 4ad4f49..e42758d 100644 --- a/ui/lock.h +++ b/ui/lock.h @@ -17,7 +17,9 @@ #ifndef UI_LOCK_H #define UI_LOCK_H -void UI_DisplayLock(void); +#ifdef ENABLE_PWRON_PASSWORD + void UI_DisplayLock(void); +#endif #endif From 9a0a75446a1b6cf1303a0c1f1b976726713d23f2 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Fri, 6 Oct 2023 00:19:21 +0100 Subject: [PATCH 11/12] README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d586bc1..c1051ae 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ ENABLE_VOICE := 0 want to hear voices ? ENABLE_VOX := 0 ENABLE_ALARM := 0 TX alarms ENABLE_1750HZ := 0 side key 1750Hz TX tone (older style repeater access) -ENABLE_PWRON_PASSWORD := 1 enable the power-on password stuff +ENABLE_PWRON_PASSWORD := 1 power-on password stuff ENABLE_BIG_FREQ := 0 big font frequencies (like original QS firmware) ENABLE_SMALL_BOLD := 1 bold channel name/no. (when name + freq channel display mode) ENABLE_KEEP_MEM_NAME := 1 maintain channel name when (re)saving memory channel From 5397b3ee88b1c63b85207f5d0f1f8c3e48c2c758 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Fri, 6 Oct 2023 07:48:45 +0100 Subject: [PATCH 12/12] Fixed key number offset bug added yesterday --- Dockerfile | 12 + Makefile | 2 +- README.md | 8 +- app/action.c | 1 + app/app.c | 6 +- app/dtmf.c | 5 +- app/main.c | 3 + app/spectrum.c | 1193 +++++++++++++++++++++++++++++++ app/spectrum.h | 171 +++++ compile-with-docker.bat | 4 + compile-with-docker.sh | 3 + driver/bk4819.c | 42 +- driver/bk4819.h | 1 + firmware.bin | Bin 53860 -> 53560 bytes firmware.packed.bin | Bin 53878 -> 53578 bytes font.c | 286 +++++++- functions.c | 3 + AM_fix.mp4 => images/AM_fix.mp4 | Bin image1.png => images/image1.png | Bin image2.png => images/image2.png | Bin image3.png => images/image3.png | Bin radio.c | 27 +- radio.h | 3 +- settings.c | 2 +- ui/menu.c | 9 +- ui/menu.h | 2 +- 26 files changed, 1750 insertions(+), 33 deletions(-) create mode 100644 Dockerfile create mode 100644 app/spectrum.c create mode 100644 app/spectrum.h create mode 100644 compile-with-docker.bat create mode 100644 compile-with-docker.sh rename AM_fix.mp4 => images/AM_fix.mp4 (100%) rename image1.png => images/image1.png (100%) rename image2.png => images/image2.png (100%) rename image3.png => images/image3.png (100%) diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4b6c3f9 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,12 @@ +FROM archlinux:latest +RUN pacman -Syyu base-devel --noconfirm +RUN pacman -Syyu arm-none-eabi-gcc --noconfirm +RUN pacman -Syyu arm-none-eabi-newlib --noconfirm +RUN pacman -Syyu git --noconfirm +RUN pacman -Syyu python-pip --noconfirm +RUN pacman -Syyu python-crcmod --noconfirm +WORKDIR /app +COPY . . + +RUN git submodule update --init --recursive +#RUN make && cp firmware* compiled-firmware/ diff --git a/Makefile b/Makefile index c7e0521..9e878a2 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ ENABLE_VOICE := 0 ENABLE_VOX := 0 ENABLE_ALARM := 0 ENABLE_TX1750 := 0 -ENABLE_PWRON_PASSWORD := 1 +ENABLE_PWRON_PASSWORD := 0 ENABLE_BIG_FREQ := 0 ENABLE_SMALL_BOLD := 1 ENABLE_KEEP_MEM_NAME := 1 diff --git a/README.md b/README.md index c1051ae..36212d0 100644 --- a/README.md +++ b/README.md @@ -159,13 +159,13 @@ You may obtain a copy of the License at # Example changes/updates

    - - - + + +

    Video showing the AM fix working .. - + diff --git a/app/action.c b/app/action.c index 3d0ec31..fe07b1d 100644 --- a/app/action.c +++ b/app/action.c @@ -333,6 +333,7 @@ void ACTION_Handle(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) if (Key == KEY_SIDE1 && !bKeyHeld && bKeyPressed) { gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; + if (gDTMF_InputIndex > 0) { gDTMF_InputBox[--gDTMF_InputIndex] = '-'; diff --git a/app/app.c b/app/app.c index c0a284b..e1006ab 100644 --- a/app/app.c +++ b/app/app.c @@ -2256,14 +2256,16 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) char Code; if (Key == KEY_SIDE2) - { + { // transmit 1750Hz tone Code = 0xFE; } else { - Code = DTMF_GetCharacter(Key); + Code = DTMF_GetCharacter(Key - KEY_0); if (Code == 0xFF) goto Skip; + + // transmit DTMF keys } if (!bKeyPressed || bKeyHeld) diff --git a/app/dtmf.c b/app/dtmf.c index 83d71d3..b5135ff 100644 --- a/app/dtmf.c +++ b/app/dtmf.c @@ -390,8 +390,9 @@ void DTMF_Reply(void) default: case DTMF_REPLY_NONE: - if (gDTMF_CallState != DTMF_CALL_STATE_NONE || - gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_OFF || + if (gDTMF_CallState != DTMF_CALL_STATE_NONE || + gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_APOLLO || + gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_OFF || gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_TX_DOWN) { gDTMF_ReplyState = DTMF_REPLY_NONE; diff --git a/app/main.c b/app/main.c index c7b3659..b650338 100644 --- a/app/main.c +++ b/app/main.c @@ -34,6 +34,9 @@ #include "settings.h" #include "ui/inputbox.h" #include "ui/ui.h" +#ifdef ENABLE_SPECTRUM +// #include "app/spectrum.h" +#endif void toggle_chan_scanlist(void) { // toggle the selected channels scanlist setting diff --git a/app/spectrum.c b/app/spectrum.c new file mode 100644 index 0000000..9d00b86 --- /dev/null +++ b/app/spectrum.c @@ -0,0 +1,1193 @@ +/* Copyright 2023 fagci + * https://github.com/fagci + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "../app/spectrum.h" + +struct FrequencyBandInfo { + uint32_t lower; + uint32_t upper; + uint32_t middle; +}; + +const struct FrequencyBandInfo FrequencyBandTable[7] = { + [BAND1_50MHz ] = {.lower = 1600000, .middle = 6500000, .upper = 7600000}, + [BAND2_108MHz] = {.lower = 10800000, .middle = 12200000, .upper = 13599990}, + [BAND3_136MHz] = {.lower = 13600000, .middle = 15000000, .upper = 17399990}, + [BAND4_174MHz] = {.lower = 17400000, .middle = 26000000, .upper = 34999990}, + [BAND5_350MHz] = {.lower = 35000000, .middle = 37000000, .upper = 39999990}, + [BAND6_400MHz] = {.lower = 40000000, .middle = 43500000, .upper = 46999990}, + [BAND7_470MHz] = {.lower = 47000000, .middle = 55000000, .upper = 130000000}, +}; + + +#define F_MIN FrequencyBandTable[0].lower +#define F_MAX FrequencyBandTable[ARRAY_SIZE(FrequencyBandTable) - 1].upper + +const uint16_t RSSI_MAX_VALUE = 65535; + +static uint16_t R30, R37, R3D, R43, R47, R48, R7E; +static uint32_t initialFreq; +static char String[32]; + +bool isInitialized = false; +bool isListening = true; +bool monitorMode = false; +bool redrawStatus = true; +bool redrawScreen = false; +bool newScanStart = true; +bool preventKeypress = true; +bool audioState = true; + +State currentState = SPECTRUM, previousState = SPECTRUM; + +PeakInfo peak; +ScanInfo scanInfo; +KeyboardState kbd = {KEY_INVALID, KEY_INVALID, 0}; + +const char *bwOptions[] = {" 25k", "12.5k", "6.25k"}; +const char *modulationTypeOptions[] = {" FM", " AM", "USB"}; +const uint8_t modulationTypeTuneSteps[] = {100, 50, 10}; +const uint8_t modTypeReg47Values[] = {1, 7, 5}; + +SpectrumSettings settings = {stepsCount: STEPS_64, + scanStepIndex: S_STEP_25_0kHz, + frequencyChangeStep: 80000, + scanDelay: 3200, + rssiTriggerLevel: 150, + backlightState: true, + bw: BK4819_FILTER_BW_WIDE, + listenBw: BK4819_FILTER_BW_WIDE, + modulationType: false, + dbMin: -130, + dbMax: -50}; + +uint32_t fMeasure = 0; +uint32_t currentFreq, tempFreq; +uint16_t rssiHistory[128] = {}; + +uint8_t freqInputIndex = 0; +uint8_t freqInputDotIndex = 0; +KEY_Code_t freqInputArr[10]; +char freqInputString[11] = "----------\0"; // XXXX.XXXXX\0 + +uint8_t menuState = 0; +uint16_t listenT = 0; + +RegisterSpec registerSpecs[] = { + {}, + {"LNAs", 0x13, 8, 0b11, 1}, + {"LNA", 0x13, 5, 0b111, 1}, + {"PGA", 0x13, 0, 0b111, 1}, + {"IF", 0x3D, 0, 0xFFFF, 0x2aaa}, + // {"MIX", 0x13, 3, 0b11, 1}, // TODO: hidden +}; + +uint16_t statuslineUpdateTimer = 0; + +static uint8_t DBm2S(int dbm) { + uint8_t i = 0; + dbm *= -1; + for (i = 0; i < ARRAY_SIZE(U8RssiMap); i++) { + if (dbm >= U8RssiMap[i]) { + return i; + } + } + return i; +} + +static int Rssi2DBm(uint16_t rssi) { return (rssi >> 1) - 160; } + +static uint16_t GetRegMenuValue(uint8_t st) { + RegisterSpec s = registerSpecs[st]; + return (BK4819_ReadRegister(s.num) >> s.offset) & s.maxValue; +} + +static void SetRegMenuValue(uint8_t st, bool add) { + uint16_t v = GetRegMenuValue(st); + RegisterSpec s = registerSpecs[st]; + + uint16_t reg = BK4819_ReadRegister(s.num); + if (add && v <= s.maxValue - s.inc) { + v += s.inc; + } else if (!add && v >= 0 + s.inc) { + v -= s.inc; + } + // TODO: use max value for bits count in max value, or reset by additional + // mask in spec + reg &= ~(s.maxValue << s.offset); + BK4819_WriteRegister(s.num, reg | (v << s.offset)); + redrawScreen = true; +} + +// GUI functions + +static void PutPixel(uint8_t x, uint8_t y, bool fill) { + if (fill) { + gFrameBuffer[y >> 3][x] |= 1 << (y & 7); + } else { + gFrameBuffer[y >> 3][x] &= ~(1 << (y & 7)); + } +} +static void PutPixelStatus(uint8_t x, uint8_t y, bool fill) { + if (fill) { + gStatusLine[x] |= 1 << y; + } else { + gStatusLine[x] &= ~(1 << y); + } +} + +static void DrawHLine(int sy, int ey, int nx, bool fill) { + for (int i = sy; i <= ey; i++) { + if (i < 56 && nx < 128) { + PutPixel(nx, i, fill); + } + } +} + +static void GUI_DisplaySmallest(const char *pString, uint8_t x, uint8_t y, + bool statusbar, bool fill) { + uint8_t c; + uint8_t pixels; + const uint8_t *p = (const uint8_t *)pString; + + while ((c = *p++) && c != '\0') { + c -= 0x20; + for (int i = 0; i < 3; ++i) { + pixels = gFont3x5[c][i]; + for (int j = 0; j < 6; ++j) { + if (pixels & 1) { + if (statusbar) + PutPixelStatus(x + i, y + j, fill); + else + PutPixel(x + i, y + j, fill); + } + pixels >>= 1; + } + } + x += 4; + } +} + +// Utility functions + +KEY_Code_t GetKey() { + KEY_Code_t btn = KEYBOARD_Poll(); + if (btn == KEY_INVALID && !GPIO_CheckBit(&GPIOC->DATA, GPIOC_PIN_PTT)) { + btn = KEY_PTT; + } + return btn; +} + +static int clamp(int v, int min, int max) { + return v <= min ? min : (v >= max ? max : v); +} + +static uint8_t my_abs(signed v) { return v > 0 ? v : -v; } + +void SetState(State state) { + previousState = currentState; + currentState = state; + redrawScreen = true; + redrawStatus = true; +} + +// Radio functions + +static void ToggleAFBit(bool on) { + uint16_t reg = BK4819_ReadRegister(BK4819_REG_47); + reg &= ~(1 << 8); + if (on) + reg |= on << 8; + BK4819_WriteRegister(BK4819_REG_47, reg); +} + +static void BackupRegisters() { + R30 = BK4819_ReadRegister(0x30); + R37 = BK4819_ReadRegister(0x37); + R3D = BK4819_ReadRegister(0x3D); + R43 = BK4819_ReadRegister(0x43); + R47 = BK4819_ReadRegister(0x47); + R48 = BK4819_ReadRegister(0x48); + R7E = BK4819_ReadRegister(0x7E); +} + +static void RestoreRegisters() { + BK4819_WriteRegister(0x30, R30); + BK4819_WriteRegister(0x37, R37); + BK4819_WriteRegister(0x3D, R3D); + BK4819_WriteRegister(0x43, R43); + BK4819_WriteRegister(0x47, R47); + BK4819_WriteRegister(0x48, R48); + BK4819_WriteRegister(0x7E, R7E); +} + +static void SetModulation(ModulationType type) { + RestoreRegisters(); + uint16_t reg = BK4819_ReadRegister(BK4819_REG_47); + reg &= ~(0b111 << 8); + BK4819_WriteRegister(BK4819_REG_47, reg | (modTypeReg47Values[type] << 8)); + if (type == MOD_USB) { + BK4819_WriteRegister(0x3D, 0b0010101101000101); + BK4819_WriteRegister(BK4819_REG_37, 0x160F); + BK4819_WriteRegister(0x48, 0b0000001110101000); + } +} + +static void ToggleAFDAC(bool on) { + uint32_t Reg = BK4819_ReadRegister(BK4819_REG_30); + Reg &= ~(1 << 9); + if (on) + Reg |= (1 << 9); + BK4819_WriteRegister(BK4819_REG_30, Reg); +} + +static void SetF(uint32_t f) { + fMeasure = f; + + BK4819_SetFrequency(fMeasure); + BK4819_PickRXFilterPathBasedOnFrequency(fMeasure); + uint16_t reg = BK4819_ReadRegister(BK4819_REG_30); + BK4819_WriteRegister(BK4819_REG_30, 0); + BK4819_WriteRegister(BK4819_REG_30, reg); +} + +// Spectrum related + +bool IsPeakOverLevel() { return peak.rssi >= settings.rssiTriggerLevel; } + +static void ResetPeak() { + peak.t = 0; + peak.rssi = 0; +} + +bool IsCenterMode() { return settings.scanStepIndex < S_STEP_2_5kHz; } +uint8_t GetStepsCount() { return 128 >> settings.stepsCount; } +uint16_t GetScanStep() { return scanStepValues[settings.scanStepIndex]; } +uint32_t GetBW() { return GetStepsCount() * GetScanStep(); } +uint32_t GetFStart() { + return IsCenterMode() ? currentFreq - (GetBW() >> 1) : currentFreq; +} +uint32_t GetFEnd() { return currentFreq + GetBW(); } + +static void TuneToPeak() { + scanInfo.f = peak.f; + scanInfo.rssi = peak.rssi; + scanInfo.i = peak.i; + SetF(scanInfo.f); +} + +static void DeInitSpectrum() { + SetF(initialFreq); + RestoreRegisters(); + isInitialized = false; +} + +uint8_t GetBWRegValueForScan() { + return scanStepBWRegValues[settings.scanStepIndex]; +} + +uint16_t GetRssi() { + // SYSTICK_DelayUs(800); + // testing autodelay based on Glitch value + while ((BK4819_ReadRegister(0x63) & 0b11111111) >= 255) { + SYSTICK_DelayUs(100); + } + return BK4819_GetRSSI(); +} + +static void ToggleAudio(bool on) { + if (on == audioState) { + return; + } + audioState = on; + if (on) { + GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH); + } else { + GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH); + } +} + +static void ToggleRX(bool on) { + isListening = on; + + BK4819_ToggleGpioOut(BK4819_GPIO0_PIN28_GREEN, on); + + ToggleAudio(on); + ToggleAFDAC(on); + ToggleAFBit(on); + + if (on) { + listenT = 1000; + BK4819_WriteRegister(0x43, listenBWRegValues[settings.listenBw]); + } else { + BK4819_WriteRegister(0x43, GetBWRegValueForScan()); + } +} + +// Scan info + +static void ResetScanStats() { + scanInfo.rssi = 0; + scanInfo.rssiMax = 0; + scanInfo.iPeak = 0; + scanInfo.fPeak = 0; +} + +static void InitScan() { + ResetScanStats(); + scanInfo.i = 0; + scanInfo.f = GetFStart(); + + scanInfo.scanStep = GetScanStep(); + scanInfo.measurementsCount = GetStepsCount(); +} + +static void ResetBlacklist() { + for (int i = 0; i < 128; ++i) { + if (rssiHistory[i] == RSSI_MAX_VALUE) + rssiHistory[i] = 0; + } +} + +static void RelaunchScan() { + InitScan(); + ResetPeak(); + ToggleRX(false); +#ifdef SPECTRUM_AUTOMATIC_SQUELCH + settings.rssiTriggerLevel = RSSI_MAX_VALUE; +#endif + preventKeypress = true; + scanInfo.rssiMin = RSSI_MAX_VALUE; +} + +static void UpdateScanInfo() { + if (scanInfo.rssi > scanInfo.rssiMax) { + scanInfo.rssiMax = scanInfo.rssi; + scanInfo.fPeak = scanInfo.f; + scanInfo.iPeak = scanInfo.i; + } + + if (scanInfo.rssi < scanInfo.rssiMin) { + scanInfo.rssiMin = scanInfo.rssi; + settings.dbMin = Rssi2DBm(scanInfo.rssiMin); + redrawStatus = true; + } +} + +static void AutoTriggerLevel() { + if (settings.rssiTriggerLevel == RSSI_MAX_VALUE) { + settings.rssiTriggerLevel = clamp(scanInfo.rssiMax + 8, 0, RSSI_MAX_VALUE); + } +} + +static void UpdatePeakInfoForce() { + peak.t = 0; + peak.rssi = scanInfo.rssiMax; + peak.f = scanInfo.fPeak; + peak.i = scanInfo.iPeak; + AutoTriggerLevel(); +} + +static void UpdatePeakInfo() { + if (peak.f == 0 || peak.t >= 1024 || peak.rssi < scanInfo.rssiMax) + UpdatePeakInfoForce(); +} + +static void Measure() { rssiHistory[scanInfo.i] = scanInfo.rssi = GetRssi(); } + +// Update things by keypress + +static void UpdateRssiTriggerLevel(bool inc) { + if (inc) + settings.rssiTriggerLevel += 2; + else + settings.rssiTriggerLevel -= 2; + redrawScreen = true; + redrawStatus = true; +} + +static void UpdateDBMax(bool inc) { + if (inc && settings.dbMax < 10) { + settings.dbMax += 1; + } else if (!inc && settings.dbMax > settings.dbMin) { + settings.dbMax -= 1; + } else { + return; + } + redrawStatus = true; + redrawScreen = true; + SYSTEM_DelayMs(20); +} + +static void UpdateScanStep(bool inc) { + if (inc && settings.scanStepIndex < S_STEP_100_0kHz) { + settings.scanStepIndex++; + } else if (!inc && settings.scanStepIndex > 0) { + settings.scanStepIndex--; + } else { + return; + } + settings.frequencyChangeStep = GetBW() >> 1; + RelaunchScan(); + ResetBlacklist(); + redrawScreen = true; +} + +static void UpdateCurrentFreq(bool inc) { + if (inc && currentFreq < F_MAX) { + currentFreq += settings.frequencyChangeStep; + } else if (!inc && currentFreq > F_MIN) { + currentFreq -= settings.frequencyChangeStep; + } else { + return; + } + RelaunchScan(); + ResetBlacklist(); + redrawScreen = true; +} + +static void UpdateCurrentFreqStill(bool inc) { + uint8_t offset = modulationTypeTuneSteps[settings.modulationType]; + uint32_t f = fMeasure; + if (inc && f < F_MAX) { + f += offset; + } else if (!inc && f > F_MIN) { + f -= offset; + } + SetF(f); + redrawScreen = true; +} + +static void UpdateFreqChangeStep(bool inc) { + uint16_t diff = GetScanStep() * 4; + if (inc && settings.frequencyChangeStep < 200000) { + settings.frequencyChangeStep += diff; + } else if (!inc && settings.frequencyChangeStep > 10000) { + settings.frequencyChangeStep -= diff; + } + SYSTEM_DelayMs(100); + redrawScreen = true; +} + +static void ToggleModulation() { + if (settings.modulationType < MOD_USB) { + settings.modulationType++; + } else { + settings.modulationType = MOD_FM; + } + SetModulation(settings.modulationType); + redrawScreen = true; +} + +static void ToggleListeningBW() { + if (settings.listenBw == BK4819_FILTER_BW_NARROWER) { + settings.listenBw = BK4819_FILTER_BW_WIDE; + } else { + settings.listenBw++; + } + redrawScreen = true; +} + +static void ToggleBacklight() { + settings.backlightState = !settings.backlightState; + if (settings.backlightState) { + GPIO_SetBit(&GPIOB->DATA, GPIOB_PIN_BACKLIGHT); + } else { + GPIO_ClearBit(&GPIOB->DATA, GPIOB_PIN_BACKLIGHT); + } +} + +static void ToggleStepsCount() { + if (settings.stepsCount == STEPS_128) { + settings.stepsCount = STEPS_16; + } else { + settings.stepsCount--; + } + settings.frequencyChangeStep = GetBW() >> 1; + RelaunchScan(); + ResetBlacklist(); + redrawScreen = true; +} + +static void ResetFreqInput() { + tempFreq = 0; + for (int i = 0; i < 10; ++i) { + freqInputString[i] = '-'; + } +} + +static void FreqInput() { + freqInputIndex = 0; + freqInputDotIndex = 0; + ResetFreqInput(); + SetState(FREQ_INPUT); +} + +static void UpdateFreqInput(KEY_Code_t key) { + if (key != KEY_EXIT && freqInputIndex >= 10) { + return; + } + if (key == KEY_STAR) { + if (freqInputIndex == 0 || freqInputDotIndex) { + return; + } + freqInputDotIndex = freqInputIndex; + } + if (key == KEY_EXIT) { + freqInputIndex--; + } else { + freqInputArr[freqInputIndex++] = key; + } + + ResetFreqInput(); + + uint8_t dotIndex = + freqInputDotIndex == 0 ? freqInputIndex : freqInputDotIndex; + + KEY_Code_t digitKey; + for (int i = 0; i < 10; ++i) { + if (i < freqInputIndex) { + digitKey = freqInputArr[i]; + freqInputString[i] = digitKey <= KEY_9 ? '0' + digitKey : '.'; + } else { + freqInputString[i] = '-'; + } + } + + uint32_t base = 100000; // 1MHz in BK units + for (int i = dotIndex - 1; i >= 0; --i) { + tempFreq += freqInputArr[i] * base; + base *= 10; + } + + base = 10000; // 0.1MHz in BK units + if (dotIndex < freqInputIndex) { + for (int i = dotIndex + 1; i < freqInputIndex; ++i) { + tempFreq += freqInputArr[i] * base; + base /= 10; + } + } + redrawScreen = true; +} + +static void Blacklist() { + rssiHistory[peak.i] = RSSI_MAX_VALUE; + ResetPeak(); + ToggleRX(false); + newScanStart = true; +} + +// Draw things + +// applied x2 to prevent initial rounding +uint8_t Rssi2PX(uint16_t rssi, uint8_t pxMin, uint8_t pxMax) { + const int DB_MIN = settings.dbMin << 1; + const int DB_MAX = settings.dbMax << 1; + const int DB_RANGE = DB_MAX - DB_MIN; + + const uint8_t PX_RANGE = pxMax - pxMin; + + int dbm = clamp(rssi - (160 << 1), DB_MIN, DB_MAX); + + return ((dbm - DB_MIN) * PX_RANGE + DB_RANGE / 2) / DB_RANGE + pxMin; +} + +uint8_t Rssi2Y(uint16_t rssi) { + return DrawingEndY - Rssi2PX(rssi, 0, DrawingEndY); +} + +static void DrawSpectrum() { + for (uint8_t x = 0; x < 128; ++x) { + uint16_t rssi = rssiHistory[x >> settings.stepsCount]; + if (rssi != RSSI_MAX_VALUE) { + DrawHLine(Rssi2Y(rssi), DrawingEndY, x, true); + } + } +} + +static void DrawStatus() { +#ifdef SPECTRUM_EXTRA_VALUES + sprintf(String, "%d/%d P:%d T:%d", settings.dbMin, settings.dbMax, + Rssi2DBm(peak.rssi), Rssi2DBm(settings.rssiTriggerLevel)); +#else + sprintf(String, "%d/%d", settings.dbMin, settings.dbMax); +#endif + GUI_DisplaySmallest(String, 0, 1, true, true); + + for (int i = 0; i < 4; i++) { + BOARD_ADC_GetBatteryInfo(&gBatteryVoltages[i], &gBatteryCurrent); + } + + uint16_t Voltage; + uint8_t v = 0; + + Voltage = (gBatteryVoltages[0] + gBatteryVoltages[1] + gBatteryVoltages[2] + + gBatteryVoltages[3]) / + 4; + + if (gBatteryCalibration[5] < Voltage) { + v = 5; + } else if (gBatteryCalibration[4] < Voltage) { + v = 5; + } else if (gBatteryCalibration[3] < Voltage) { + v = 4; + } else if (gBatteryCalibration[2] < Voltage) { + v = 3; + } else if (gBatteryCalibration[1] < Voltage) { + v = 2; + } else if (gBatteryCalibration[0] < Voltage) { + v = 1; + } + + gStatusLine[127] = 0b01111110; + for (int i = 126; i >= 116; i--) { + gStatusLine[i] = 0b01000010; + } + v <<= 1; + for (int i = 125; i >= 116; i--) { + if (126 - i <= v) { + gStatusLine[i + 2] = 0b01111110; + } + } + gStatusLine[117] = 0b01111110; + gStatusLine[116] = 0b00011000; +} + +static void DrawF(uint32_t f) { + sprintf(String, "%u.%05u", f / 100000, f % 100000); + UI_PrintStringSmall(String, 8, 127, 0); + + sprintf(String, "%s", modulationTypeOptions[settings.modulationType]); + GUI_DisplaySmallest(String, 116, 1, false, true); + sprintf(String, "%s", bwOptions[settings.listenBw]); + GUI_DisplaySmallest(String, 108, 7, false, true); +} + +static void DrawNums() { + + if (currentState == SPECTRUM) { + sprintf(String, "%ux", GetStepsCount()); + GUI_DisplaySmallest(String, 0, 1, false, true); + sprintf(String, "%u.%02uk", GetScanStep() / 100, GetScanStep() % 100); + GUI_DisplaySmallest(String, 0, 7, false, true); + } + + if (IsCenterMode()) { + sprintf(String, "%u.%05u \xB1%u.%02uk", currentFreq / 100000, + currentFreq % 100000, settings.frequencyChangeStep / 100, + settings.frequencyChangeStep % 100); + GUI_DisplaySmallest(String, 36, 49, false, true); + } else { + sprintf(String, "%u.%05u", GetFStart() / 100000, GetFStart() % 100000); + GUI_DisplaySmallest(String, 0, 49, false, true); + + sprintf(String, "\xB1%u.%02uk", settings.frequencyChangeStep / 100, + settings.frequencyChangeStep % 100); + GUI_DisplaySmallest(String, 48, 49, false, true); + + sprintf(String, "%u.%05u", GetFEnd() / 100000, GetFEnd() % 100000); + GUI_DisplaySmallest(String, 93, 49, false, true); + } +} + +static void DrawRssiTriggerLevel() { + if (settings.rssiTriggerLevel == RSSI_MAX_VALUE || monitorMode) + return; + uint8_t y = Rssi2Y(settings.rssiTriggerLevel); + for (uint8_t x = 0; x < 128; x += 2) { + PutPixel(x, y, true); + } +} + +static void DrawTicks() { + uint32_t f = GetFStart() % 100000; + uint32_t step = GetScanStep(); + for (uint8_t i = 0; i < 128; i += (1 << settings.stepsCount), f += step) { + uint8_t barValue = 0b00000001; + (f % 10000) < step && (barValue |= 0b00000010); + (f % 50000) < step && (barValue |= 0b00000100); + (f % 100000) < step && (barValue |= 0b00011000); + + gFrameBuffer[5][i] |= barValue; + } + + // center + if (IsCenterMode()) { + gFrameBuffer[5][62] = 0x80; + gFrameBuffer[5][63] = 0x80; + gFrameBuffer[5][64] = 0xff; + gFrameBuffer[5][65] = 0x80; + gFrameBuffer[5][66] = 0x80; + } else { + gFrameBuffer[5][0] = 0xff; + gFrameBuffer[5][1] = 0x80; + gFrameBuffer[5][2] = 0x80; + gFrameBuffer[5][3] = 0x80; + gFrameBuffer[5][124] = 0x80; + gFrameBuffer[5][125] = 0x80; + gFrameBuffer[5][126] = 0x80; + gFrameBuffer[5][127] = 0xff; + } +} + +static void DrawArrow(uint8_t x) { + for (signed i = -2; i <= 2; ++i) { + signed v = x + i; + if (!(v & 128)) { + gFrameBuffer[5][v] |= (0b01111000 << my_abs(i)) & 0b01111000; + } + } +} + +static void OnKeyDown(uint8_t key) { + switch (key) { + case KEY_3: + UpdateDBMax(true); + break; + case KEY_9: + UpdateDBMax(false); + break; + case KEY_1: + UpdateScanStep(true); + break; + case KEY_7: + UpdateScanStep(false); + break; + case KEY_2: + UpdateFreqChangeStep(true); + break; + case KEY_8: + UpdateFreqChangeStep(false); + break; + case KEY_UP: + UpdateCurrentFreq(true); + break; + case KEY_DOWN: + UpdateCurrentFreq(false); + break; + case KEY_SIDE1: + Blacklist(); + break; + case KEY_STAR: + UpdateRssiTriggerLevel(true); + break; + case KEY_F: + UpdateRssiTriggerLevel(false); + break; + case KEY_5: + FreqInput(); + break; + case KEY_0: + ToggleModulation(); + break; + case KEY_6: + ToggleListeningBW(); + break; + case KEY_4: + ToggleStepsCount(); + break; + case KEY_SIDE2: + ToggleBacklight(); + break; + case KEY_PTT: + SetState(STILL); + TuneToPeak(); + break; + case KEY_MENU: + break; + case KEY_EXIT: + if (menuState) { + menuState = 0; + break; + } + DeInitSpectrum(); + break; + default: + break; + } +} + +static void OnKeyDownFreqInput(uint8_t key) { + switch (key) { + case KEY_0: + case KEY_1: + case KEY_2: + case KEY_3: + case KEY_4: + case KEY_5: + case KEY_6: + case KEY_7: + case KEY_8: + case KEY_9: + case KEY_STAR: + UpdateFreqInput(key); + break; + case KEY_EXIT: + if (freqInputIndex == 0) { + SetState(previousState); + break; + } + UpdateFreqInput(key); + break; + case KEY_MENU: + if (tempFreq < F_MIN || tempFreq > F_MAX) { + break; + } + SetState(previousState); + currentFreq = tempFreq; + if (currentState == SPECTRUM) { + ResetBlacklist(); + RelaunchScan(); + } else { + SetF(currentFreq); + } + break; + default: + break; + } +} + +void OnKeyDownStill(KEY_Code_t key) { + switch (key) { + case KEY_3: + UpdateDBMax(true); + break; + case KEY_9: + UpdateDBMax(false); + break; + case KEY_UP: + if (menuState) { + SetRegMenuValue(menuState, true); + break; + } + UpdateCurrentFreqStill(true); + break; + case KEY_DOWN: + if (menuState) { + SetRegMenuValue(menuState, false); + break; + } + UpdateCurrentFreqStill(false); + break; + case KEY_STAR: + UpdateRssiTriggerLevel(true); + break; + case KEY_F: + UpdateRssiTriggerLevel(false); + break; + case KEY_5: + FreqInput(); + break; + case KEY_0: + ToggleModulation(); + break; + case KEY_6: + ToggleListeningBW(); + break; + case KEY_SIDE1: + monitorMode = !monitorMode; + break; + case KEY_SIDE2: + ToggleBacklight(); + break; + case KEY_PTT: + // TODO: start transmit + /* BK4819_ToggleGpioOut(BK4819_GPIO0_PIN28_GREEN, false); + BK4819_ToggleGpioOut(BK4819_GPIO1_PIN29_RED, true); */ + break; + case KEY_MENU: + if (menuState == ARRAY_SIZE(registerSpecs) - 1) { + menuState = 1; + } else { + menuState++; + } + redrawScreen = true; + break; + case KEY_EXIT: + if (!menuState) { + SetState(SPECTRUM); + monitorMode = false; + RelaunchScan(); + break; + } + menuState = 0; + break; + default: + break; + } +} + +static void RenderFreqInput() { + UI_PrintString(freqInputString, 2, 127, 0, 8); +} + +static void RenderStatus() { + memset(gStatusLine, 0, sizeof(gStatusLine)); + DrawStatus(); + ST7565_BlitStatusLine(); +} + +static void RenderSpectrum() { + DrawTicks(); + DrawArrow(peak.i << settings.stepsCount); + DrawSpectrum(); + DrawRssiTriggerLevel(); + DrawF(peak.f); + DrawNums(); +} + +static void RenderStill() { + DrawF(fMeasure); + + const uint8_t METER_PAD_LEFT = 3; + + for (int i = 0; i < 121; i++) { + if (i % 10 == 0) { + gFrameBuffer[2][i + METER_PAD_LEFT] = 0b01110000; + } else if (i % 5 == 0) { + gFrameBuffer[2][i + METER_PAD_LEFT] = 0b00110000; + } else { + gFrameBuffer[2][i + METER_PAD_LEFT] = 0b00010000; + } + } + + uint8_t x = Rssi2PX(scanInfo.rssi, 0, 121); + for (int i = 0; i < x; ++i) { + if (i % 5) { + gFrameBuffer[2][i + METER_PAD_LEFT] |= 0b00000111; + } + } + + int dbm = Rssi2DBm(scanInfo.rssi); + uint8_t s = DBm2S(dbm); + sprintf(String, "S: %u", s); + GUI_DisplaySmallest(String, 4, 25, false, true); + sprintf(String, "%d dBm", dbm); + GUI_DisplaySmallest(String, 28, 25, false, true); + + if (!monitorMode) { + uint8_t x = Rssi2PX(settings.rssiTriggerLevel, 0, 121); + gFrameBuffer[2][METER_PAD_LEFT + x] = 0b11111111; + } + + const uint8_t PAD_LEFT = 4; + const uint8_t CELL_WIDTH = 30; + uint8_t offset = PAD_LEFT; + uint8_t row = 4; + + for (int i = 0, idx = 1; idx <= 4; ++i, ++idx) { + if (idx == 5) { + row += 2; + i = 0; + } + offset = PAD_LEFT + i * CELL_WIDTH; + if (menuState == idx) { + for (int j = 0; j < CELL_WIDTH; ++j) { + gFrameBuffer[row][j + offset] = 0xFF; + gFrameBuffer[row + 1][j + offset] = 0xFF; + } + } + sprintf(String, "%s", registerSpecs[idx].name); + GUI_DisplaySmallest(String, offset + 2, row * 8 + 2, false, + menuState != idx); + sprintf(String, "%u", GetRegMenuValue(idx)); + GUI_DisplaySmallest(String, offset + 2, (row + 1) * 8 + 1, false, + menuState != idx); + } +} + +static void Render() { + memset(gFrameBuffer, 0, sizeof(gFrameBuffer)); + + switch (currentState) { + case SPECTRUM: + RenderSpectrum(); + break; + case FREQ_INPUT: + RenderFreqInput(); + break; + case STILL: + RenderStill(); + break; + } + + ST7565_BlitFullScreen(); +} + +bool HandleUserInput() { + kbd.prev = kbd.current; + kbd.current = GetKey(); + + if (kbd.current == KEY_INVALID) { + kbd.counter = 0; + return true; + } + + if (kbd.current == kbd.prev && kbd.counter <= 16) { + kbd.counter++; + SYSTEM_DelayMs(20); + } + + if (kbd.counter == 3 || kbd.counter > 16) { + switch (currentState) { + case SPECTRUM: + OnKeyDown(kbd.current); + break; + case FREQ_INPUT: + OnKeyDownFreqInput(kbd.current); + break; + case STILL: + OnKeyDownStill(kbd.current); + break; + } + } + + return true; +} + +static void Scan() { + if (rssiHistory[scanInfo.i] != RSSI_MAX_VALUE) { + SetF(scanInfo.f); + Measure(); + UpdateScanInfo(); + } +} + +static void NextScanStep() { + ++peak.t; + ++scanInfo.i; + scanInfo.f += scanInfo.scanStep; +} + +static void UpdateScan() { + Scan(); + + if (scanInfo.i < scanInfo.measurementsCount) { + NextScanStep(); + return; + } + + redrawScreen = true; + preventKeypress = false; + + UpdatePeakInfo(); + if (IsPeakOverLevel()) { + ToggleRX(true); + TuneToPeak(); + return; + } + + newScanStart = true; +} + +static void UpdateStill() { + Measure(); + redrawScreen = true; + preventKeypress = false; + + peak.rssi = scanInfo.rssi; + AutoTriggerLevel(); + + ToggleRX(IsPeakOverLevel() || monitorMode); +} + +static void UpdateListening() { + preventKeypress = false; + if (currentState == STILL) { + listenT = 0; + } + if (listenT) { + listenT--; + SYSTEM_DelayMs(1); + return; + } + + if (currentState == SPECTRUM) { + BK4819_WriteRegister(0x43, GetBWRegValueForScan()); + Measure(); + BK4819_WriteRegister(0x43, listenBWRegValues[settings.listenBw]); + } else { + Measure(); + } + + peak.rssi = scanInfo.rssi; + redrawScreen = true; + + if (IsPeakOverLevel() || monitorMode) { + listenT = 1000; + return; + } + + ToggleRX(false); + newScanStart = true; +} + +static void Tick() { + if (!preventKeypress) { + HandleUserInput(); + } + if (newScanStart) { + InitScan(); + newScanStart = false; + } + if (isListening && currentState != FREQ_INPUT) { + UpdateListening(); + } else { + if (currentState == SPECTRUM) { + UpdateScan(); + } else if (currentState == STILL) { + UpdateStill(); + } + } + if (redrawStatus || ++statuslineUpdateTimer > 4096) { + RenderStatus(); + redrawStatus = false; + statuslineUpdateTimer = 0; + } + if (redrawScreen) { + Render(); + redrawScreen = false; + } +} + +void APP_RunSpectrum() { + // TX here coz it always? set to active VFO + currentFreq = initialFreq = + gEeprom.VfoInfo[gEeprom.TX_VFO].pRX->Frequency; + + BackupRegisters(); + + isListening = true; // to turn off RX later + redrawStatus = true; + redrawScreen = false; // we will wait until scan done + newScanStart = true; + + ToggleRX(true), ToggleRX(false); // hack to prevent noise when squelch off + SetModulation(settings.modulationType = MOD_FM); + BK4819_SetFilterBandwidth(settings.listenBw = BK4819_FILTER_BW_WIDE, false); + + RelaunchScan(); + + for (int i = 0; i < 128; ++i) { + rssiHistory[i] = 0; + } + + isInitialized = true; + + while (isInitialized) { + Tick(); + } +} diff --git a/app/spectrum.h b/app/spectrum.h new file mode 100644 index 0000000..61ac358 --- /dev/null +++ b/app/spectrum.h @@ -0,0 +1,171 @@ +/* Copyright 2023 fagci + * https://github.com/fagci + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef SPECTRUM_H +#define SPECTRUM_H + +#include "../bitmaps.h" +#include "../board.h" +#include "../bsp/dp32g030/gpio.h" +#include "../driver/bk4819-regs.h" +#include "../driver/bk4819.h" +#include "../driver/gpio.h" +#include "../driver/keyboard.h" +#include "../driver/st7565.h" +#include "../driver/system.h" +#include "../driver/systick.h" +#include "../external/printf/printf.h" +#include "../font.h" +#include "../frequencies.h" +#include "../helper/battery.h" +#include "../misc.h" +#include "../radio.h" +#include "../settings.h" +#include "../ui/helper.h" +#include +#include +#include + +static const uint8_t DrawingEndY = 40; + +static const uint8_t U8RssiMap[] = { + 121, 115, 109, 103, 97, 91, 85, 79, 73, 63, +}; + +static const uint16_t scanStepValues[] = { + 1, 10, 50, 100, + + 250, 500, 625, 833, 1000, 1250, 2500, 10000, +}; + +static const uint16_t scanStepBWRegValues[] = { + // RX RXw TX BW + // 0b0 000 000 001 01 1000 + // 1 + 0b0000000001011000, // 6.25 + // 10 + 0b0000000001011000, // 6.25 + // 50 + 0b0000000001011000, // 6.25 + // 100 + 0b0000000001011000, // 6.25 + // 250 + 0b0000000001011000, // 6.25 + // 500 + 0b0010010001011000, // 6.25 + // 625 + 0b0100100001011000, // 6.25 + // 833 + 0b0110110001001000, // 6.25 + // 1000 + 0b0110110001001000, // 6.25 + // 1250 + 0b0111111100001000, // 6.25 + // 2500 + 0b0011011000101000, // 25 + // 10000 + 0b0011011000101000, // 25 +}; + +static const uint16_t listenBWRegValues[] = { + 0b0011011000101000, // 25 + 0b0111111100001000, // 12.5 + 0b0100100001011000, // 6.25 +}; + +typedef enum State { + SPECTRUM, + FREQ_INPUT, + STILL, +} State; + +typedef enum StepsCount { + STEPS_128, + STEPS_64, + STEPS_32, + STEPS_16, +} StepsCount; + +typedef enum ModulationType { + MOD_FM, + MOD_AM, + MOD_USB, +} ModulationType; + +typedef enum ScanStep { + S_STEP_0_01kHz, + S_STEP_0_1kHz, + S_STEP_0_5kHz, + S_STEP_1_0kHz, + + S_STEP_2_5kHz, + S_STEP_5_0kHz, + S_STEP_6_25kHz, + S_STEP_8_33kHz, + S_STEP_10_0kHz, + S_STEP_12_5kHz, + S_STEP_25_0kHz, + S_STEP_100_0kHz, +} ScanStep; + +typedef struct SpectrumSettings { + uint32_t frequencyChangeStep; + StepsCount stepsCount; + ScanStep scanStepIndex; + uint16_t scanDelay; + uint16_t rssiTriggerLevel; + BK4819_FilterBandwidth_t bw; + BK4819_FilterBandwidth_t listenBw; + int dbMin; + int dbMax; + ModulationType modulationType; + bool backlightState; +} SpectrumSettings; + +typedef struct KeyboardState { + KEY_Code_t current; + KEY_Code_t prev; + uint8_t counter; +} KeyboardState; + +typedef struct ScanInfo { + uint16_t rssi, rssiMin, rssiMax; + uint8_t i, iPeak; + uint32_t f, fPeak; + uint16_t scanStep; + uint8_t measurementsCount; +} ScanInfo; + +typedef struct RegisterSpec { + char *name; + uint8_t num; + uint8_t offset; + uint16_t maxValue; + uint16_t inc; +} RegisterSpec; + +typedef struct PeakInfo { + uint16_t t; + uint16_t rssi; + uint32_t f; + uint8_t i; +} PeakInfo; + +void APP_RunSpectrum(void); + +#endif /* ifndef SPECTRUM_H */ + +// vim: ft=c diff --git a/compile-with-docker.bat b/compile-with-docker.bat new file mode 100644 index 0000000..42adad1 --- /dev/null +++ b/compile-with-docker.bat @@ -0,0 +1,4 @@ +@echo off +docker build -t uvk5 . +docker run -v %CD%\compiled-firmware:/app/compiled-firmware uvk5 /bin/bash -c "cd /app && make clean && make && cp firmware* compiled-firmware/" +pause \ No newline at end of file diff --git a/compile-with-docker.sh b/compile-with-docker.sh new file mode 100644 index 0000000..fb5dd01 --- /dev/null +++ b/compile-with-docker.sh @@ -0,0 +1,3 @@ +#!/bin/sh +docker build -t uvk5 . +docker run -v $(PWD)/compiled-firmware:/app/compiled-firmware uvk5 /bin/bash -c "cd /app && make && cp firmware* compiled-firmware/" \ No newline at end of file diff --git a/driver/bk4819.c b/driver/bk4819.c index d485c96..0d921d7 100644 --- a/driver/bk4819.c +++ b/driver/bk4819.c @@ -1004,6 +1004,42 @@ void BK4819_PlayTone(uint16_t Frequency, bool bTuningGainSwitch) BK4819_WriteRegister(BK4819_REG_71, scale_freq(Frequency)); } +void BK4819_PlaySingleTone(const unsigned int tone_Hz, const unsigned int delay, const unsigned int level, const bool play_speaker) +{ + BK4819_EnterTxMute(); + + if (play_speaker) + { + GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH); + BK4819_SetAF(BK4819_AF_BEEP); + } + else + BK4819_SetAF(BK4819_AF_MUTE); + + // level 0 ~ 127 +// BK4819_WriteRegister(BK4819_REG_70, BK4819_REG_70_ENABLE_TONE1 | (96u << BK4819_REG_70_SHIFT_TONE1_TUNING_GAIN)); +// BK4819_WriteRegister(BK4819_REG_70, BK4819_REG_70_ENABLE_TONE1 | (28u << BK4819_REG_70_SHIFT_TONE1_TUNING_GAIN)); + BK4819_WriteRegister(BK4819_REG_70, BK4819_REG_70_ENABLE_TONE1 | ((level & 0x7f) << BK4819_REG_70_SHIFT_TONE1_TUNING_GAIN)); + + BK4819_EnableTXLink(); + SYSTEM_DelayMs(50); + + BK4819_WriteRegister(BK4819_REG_71, scale_freq(tone_Hz)); + + BK4819_ExitTxMute(); + SYSTEM_DelayMs(delay); + BK4819_EnterTxMute(); + + if (play_speaker) + { + GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH); + BK4819_SetAF(BK4819_AF_MUTE); + } + + BK4819_WriteRegister(BK4819_REG_70, 0x0000); + BK4819_WriteRegister(BK4819_REG_30, 0xC1FE); +} + void BK4819_EnterTxMute(void) { BK4819_WriteRegister(BK4819_REG_50, 0xBB20); @@ -1287,7 +1323,7 @@ void BK4819_TransmitTone(bool bLocalLoopback, uint32_t Frequency) // set the tone amplitude // // BK4819_WriteRegister(BK4819_REG_70, BK4819_REG_70_MASK_ENABLE_TONE1 | (96u << BK4819_REG_70_SHIFT_TONE1_TUNING_GAIN)); - BK4819_WriteRegister(BK4819_REG_70, BK4819_REG_70_MASK_ENABLE_TONE1 | (50u << BK4819_REG_70_SHIFT_TONE1_TUNING_GAIN)); + BK4819_WriteRegister(BK4819_REG_70, BK4819_REG_70_MASK_ENABLE_TONE1 | (28u << BK4819_REG_70_SHIFT_TONE1_TUNING_GAIN)); BK4819_WriteRegister(BK4819_REG_71, scale_freq(Frequency)); @@ -1631,7 +1667,9 @@ void BK4819_PlayRoger(void) BK4819_EnterTxMute(); BK4819_SetAF(BK4819_AF_MUTE); - BK4819_WriteRegister(BK4819_REG_70, 0xE000); // 1110 0000 0000 0000 + +// BK4819_WriteRegister(BK4819_REG_70, BK4819_REG_70_ENABLE_TONE1 | (96u << BK4819_REG_70_SHIFT_TONE1_TUNING_GAIN)); + BK4819_WriteRegister(BK4819_REG_70, BK4819_REG_70_ENABLE_TONE1 | (28u << BK4819_REG_70_SHIFT_TONE1_TUNING_GAIN)); BK4819_EnableTXLink(); SYSTEM_DelayMs(50); diff --git a/driver/bk4819.h b/driver/bk4819.h index 352bbf5..736b171 100644 --- a/driver/bk4819.h +++ b/driver/bk4819.h @@ -102,6 +102,7 @@ void BK4819_DisableVox(void); void BK4819_DisableDTMF(void); void BK4819_EnableDTMF(void); void BK4819_PlayTone(uint16_t Frequency, bool bTuningGainSwitch); +void BK4819_PlaySingleTone(const unsigned int tone_Hz, const unsigned int delay, const unsigned int level, const bool play_speaker); void BK4819_EnterTxMute(void); void BK4819_ExitTxMute(void); void BK4819_Sleep(void); diff --git a/firmware.bin b/firmware.bin index 985866918bec3ec27c3b1936c39f4f90b24f1fe8..01983d508d701be2601e71e434768475279e7890 100644 GIT binary patch delta 36322 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 delta 36717 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

    PsEMdy{rgrC_@_pyz1#hS6 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%0DEJiZ-~qO}9{=ll||@VZWm% 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 ARsaA1 literal 53878 zcmdlkd!Q&R%wtMHLc;Aek9}%xcwOr@c%%Bj=O#n_{>LG#FRi9$Z^+~My;17XNtQ78 zm%BbXZA*{mpJs5!03{T5>+$#%0$mMTW%M>UF<+pS(8=yv}vH zGqgG8;JIrX?il9e>^y3>b@7I6#s2LnlV2_M>3O{2TD7d0j)0}=zZw2_LR5<@rth?{ zs@Zce_DS<``H;qq8w0PE*K*y>TcCUF`S+cA-WtmmEJ)h+-!h{A=&l)4(}ko0C3h}6 zoBsJ})CPrXF&~`P?5@+>|Mh#rb*~&|7s0QQ*G;nWH`UIz*VHH%N}l-HRq0@6+f$D% zKHk~P^^bicud}sJHl9-dZ(jD_&^=ZmYOlPec{f}Z`~5-T;o}qiDVGwRL+0kS>rT_{ z)Ne6VtLC-Xmwrt{BQ#IfsX!{=e_Z11%_@bCinCXIbeZg-kgG4%ym+-hYRJDO)93t4 zEtoxZ%Ib$-*vgYGpR(gr+OFU?^_qWug+O4t$NnuF6F%k}KjOWSb=mqrpi0H*+27VJ zeeA{hg0G}!Lpsmxl~Rvh8a{r0X5Hn$2|2<^(>NaLhH&sboNn!}`pmg#wb{W}tCba3 znWoA&NM~+XcW>3FKRK80-d#0y;q8!JHOKxf>rPz%n0cGv=Os1MmrgO3J1`|%zg_wJ zrVl%=imY8!@9la;IPsbLW1E9_7{C1}cw_s+Kj85{PnIdpFO8>rugK%MJtgqR$&V?a z6L;NqO-nEHb^rdbCPb3uLam~F6x#yl$$4|`6bP+4*{-gU6vVl4ul&hRe;O_+UoZLD zd3$$F;I}{jwyu|oDJ(WITPOAHPuT>Yj=Sd!!$qIZ{_M_e-sBSQy`>>AV|Dn2*|TpX z9g5DHs&dQsv%s>YkJHS5J56`oy!d_3KL01F@NMI|&F6Fc{q1#My{|u# zq4LZ0a=4>Jwov2A?Gkby7)@D9R`mMBJP*EK;IP~4+G@-5x()F=84m3~9HjOzDz9gQ zANP%&RpNRF%bZSanz%VIy`E?5|CJY$rP&N~jrsc-7kD+!Id^pG-CY**S%i#tP20Fd z#QN8^n5Rm2=W@^7oxCgc>Cz(|e`e?xD>H4Yx&DQxcw*`8kLNVX6~4}T-Fx(CVVHUS za>w@MA1Tc`{w8a$udwdXy1c~hL`=%#_|(^hB|RJce0H+^RqBt7bAP$#lKY>1@oneI zx@}{er%dFu3YloKz{@M*n_PjF)7t(Vv0%SKv%dDI=j?snQhx()m?&)*(P{nBwtG(W zo3Njf*ZK_p-+ANxZ)s|FwV2b?l*#PY4&F;&6-?PR;e!(Y0-jWbwPI%r->W|8xWG{F z5q7EXRnRkyd2xpyZ%VQ}dEls9@tR%J-xZ2Xyz)rGVLo5}K|h1}Lh_rHfBZSPG{9=( zi>!M>!C8g7Qc4~cp1AE$xJN5H@9-~|#rMCTX<|PTCE)J4PrT^Q*Bc)yGetEe!|y7Z zlsG8;2wMCqeTrB6g1PY#J~cBvuXTTUs`{XB8MFAllkrzy3(VfVU1k2xjfX#;JT7x( z^)BVWZBOj$FP1J?KIi4ZWc3B5os0_S_;<8j%C_1QG&8SLCpv1oOO&HTj)ayF+Nh z^lK$fR-7#J|49^b8gJMxXYtklmcw1HUso62UiEfL)ihOlIBgO3QuA72mukqP=u7$GS$z3xB^)-m=>?OW~aI)7zi@l|E#J)Ytj!c6>9p zj@c*rQ=)y;1_jmge#{y!OBZOnKU`hbb3ubE;Zx+LPh5VERTDo(pR;mipLYDC>6(}S zf0`u~bDithH7R{vZ|tiJ25Y}F2ZwR~>JaPh`rUXtM8=wR5A*zj6!HG_+ZzMU$UZXs zy0!QTuX<4UqZ}?cpe6#H?4b6b6*=&E8xqp7U z*}lrdb#7z9kJLlg>^G)gjSe}eV&L#=md%@Ip%-3A@@g3PPXE0qs{6@-HsvFe6rAR! z_j4D1V}0Mq{aGc_{%=Cf0)D7z{!#h6>Rd?X%jk5W z-)$3S1)MC~`19cEMW43CteUW;CR6)>g3Dwn_w8z1V{1HIvf5ma?SJO9^3IJ5g2vVA zMZO*kZ{~ETvA$dUOnKM5KGwNXPfl`dNNIfa-79&|TW*$*!S=$ETOQ_E{YxwH?p?6c zxZrh%=l?k@oWenmHgA`=eKBRqWr4pjCno%uRht~Y^hixM*MmrAms2d-*?G-bwKEoE zYqUq6n6Pf6)q&dBcGHeSHEAAs2Yfd)b3ExbFMS%cSOg7w$-NnpUuLYZ&iWT@yJ<~|&@^kGlS>xtJiX+A{bHp(-7|LPZmlTX952%S#kXU! z(zWQH6Mj6D&yD}o=Ft-Hr^wu3-FnHde_nrR$uiqy8Gh`H(26-qH-*BE1zp>;AQ5afh*e<->jo+dUGx=KKA0@ z!`wN#X{NIaH+CEB%~9@`n0{R5fI;pac6sX?*V<-R?q7P}PhtCk+}PB)w+{xGlw6kb zT`w*5r%K95Dz z7sonWqj(jSf6Dw_b#~^jwvrcgNtc>h>E=yU3cg>G|5-%GC z$@p&7u1)=%W$o5ez2$17%_GxKZa*&m*m2ZqFX)_~kYMD(4eRBMx!FIuHdjY$OpM+ro7MBq zc*2*sfB8o;(4h|501$4|Y21s1md?Nd@pV6s{$o+=m= zchbNlG&cU`#~I5Xhp7I%HNAV2&lkTfQm@`0C=6LTbLPdbF7_!Z-yf;P%d;F(TcH#8 zteMN-Lo}*LVrIcIbxwf_LBHfn&p&)wlqL1|WcHuiGi_6UFcvx_?_F1{`hUo{(<4Y56Y)^3B?EX02{nu z`m_Ds#+e;0scD?_G4N}Qea^q{@7Eu%aFg4)Wo$pxtA)paQj_8vv(uclg^XjJ}Z4)oF}JNXx{o3 zDgVY;?G&#BziZ#REbc!~kM^H^{d}*#^yv>qlfFEBKV5Sr(_Jp1>zg(+%DFH5uyKQ4 zfO*6X(Jws_>G|=S;%*hY_K}G@Q`Rqrz=~GXKJm^zb9StPvlt-t7+)CwuN8cGWY4($eW?yIe-sH{9D) zn|qqE@Ii8++-G%(+ucTgc)~t5`J`O4cqJG%se6LPfuJy%2*rX5?U`naJZdg7#&`bw zQgUFko>#+;)iHjZmGhMf%GkIIo+VcwE88L0$`{0aW7UVuy^%I8%?ywHve%?NV|cT1 z|22UUE9+Iu*q<&b?d#ZLFT$(1`md3L*W5{ycEzW*?p#)rUGzA4-^B^<1HR~_vwO|9 zO1QqjT65B>awhww9xE!gY}TBwQzsL1@OtRA?t{Uq54@%-DK*YGZRa?x>vrO&^miZ>ePTLv{9S+%rpl3Z|BpkH#=vkzaJ z9C!O?bL8p7EPndjyzSBb;BY488|T!TxNooW$z^-&s1Y8NJiWV&$$qKAN}nkkebczo z4_vUX{PBGCdFhvOHYqC;zx+Mx;vyNBp`9@l;yX-(EGq>8iy{gR8G z@hZCf6}lUjn5T1RamuUz;WgPE;P4Op2nv7S*>(xn7gTFBneBaeAjtQT&y-7be`ZY( z`P;0%H>jN_u5ng2WH%c!WnF3y{hPt_t$b$y`ts6 zK$U{Z@B2&FFSt3^jjuyv1GhnSZQivoEmO7mT#FiyRbQWN<0?42ICG@pMO%Nv`Pc7*X z3l}OreDA8^s9b#avPPax%!1j578R2f585VgQ~suAz_U;jbg!!t*6!9BJ|1;8`wD9!UJ6aywe{W~H@~+DW_Ak;#dc*m%}wp+ z4f#iHIVxS>_uYEB#J#U^%ER|RwHwU-O5Nga%-bqhfBeq7 zrajK_0m<(a1J0E2hu&JYTPKU#T=`pW&4zoAt)gT-w=7a{-aSENPs4Ae%Lfh5m@NR6 zzhUw&J6>8%)b^kGnZ@s+tl7oK;Y(NTPP~^^FLUk6%EQHnZXHrHQ%yg%S!?or%b-Qa ztgQF=9}M;|n)F59f>+V|-=cdJ4qdla%B4QL`>ZB=(gRTbTW|0wr^B_$<-n!uD;9lC zva8R%9h`1|R%MZL_|%-@a+%jk4-T>|Fk4W+Gg*A!F?ZLlsQDh7{_@<|(0Op-2buhr zD>o)yo3UbYR{3lBHz(CT@e1d=w#Cm?aXxMrVf9eLb*l7%C2cktwgoRQH(ysyE6kqY zG1Jt&=UUr@JH<6UUnXj;UHw&j4MV+#J=4FoMW0tbj?H)*>?dCQrHP|zqRWDMncYg) zS4*#VYslXyY(J-Y^{2jLQ$B2PmDZkA^uOzgncGQMHW{zyHM;+FPU;`GaC?wzF#2wflba*N8lr5E?LdKm7l^eC~Zl1@4P^;q+a=$M`_?=->w_iS=G zK1V=WYR<;TPD+=BV#>3>_)QN|Pe1A#z4^zr1=;3o9d(n1?b{!hr;453INiWUe{!Qpvw~^fi}gVDFN4u9JFmr)J_de^vG3n{bfJ1HW9ntSNcNhg zhqxwPzxpgV%4w+_tEIJP!J_N?|Np<1_*Cg{Oh%r9>!R6)jFruEqhpHMrKas^{h-s~ zdd_t}=k*2gnv+*6D?JdL`_$9IZ@QR@|6{+{OS{$-otJ(umlNo4)IQK@$G!ePx?A!l zKFgRTYZtlV_(@kb1yA<)^C}#6N!14HPWmNWO*!8EYM1}inEtb(&sNS7lJGuK*fVR@ zVpr34E6Up zLs+*NOwZmi`7_Hx+ear4gt)(4=my+^8Ve{718kt$pT+{9G*-BkN;Wfi6>u~)D5y< z_mR((f z@in`>Sxg1r`wZx=9^8J`FNj-TkzIL98>H% z3>TJ(Gt55c{_Fv#=7vqPq!pM~AB+%jH#QT@S@Yku{%YN2vy!O$C&PZ<^}Ey{wUysY zBG76&!!~v4!fFS<N$ln!Nvk#^qa2AcDVj_5!d7l z7kV~%%p{f_R*qK> z9-TE!@{N-!tMlELn%nZHIH$hOxB8PK7CXtD_e`s-)n?0YDFTbvb{eUPShQU0P!8G` zwR^U9$kNo9S`*8A!Dowg1lZQ`d(SJ^c=6NbM_83I-;e3;8{!1w+qUi6xI_4OUX@+~ zr|p+%&u8=hG5*4^?7+dVlFGh+bvJyMD?VrZNMK)y+Lwa1f>kpL`TaRw&z*TO@ORJ= zmo)o$kKn~Jm#ptTVtQzkB%qajpjb_!(a_OF=}Q#H#3in=A+`V7K5M$llrx8ZS!nQu zx7O)|lep%!1=SiGyE6rED8-j-UoP}CcY^QZ_y2EX{@*!mw%G)a-;aLJeH>%n9la-V zD&NZ4Q>#Djv}YIYZ`pr(Y5&=xCwA;lmz?aG zIPc;6TJ6LQce$=z-FbUcO|Ds0Wli>m2SwiR6a`MUOiZ6zyPIQl$MwqL7dJ!zFOr+y;K`7MEN)hCm0ul83c5TSSTYpDSJT&3` z%GFE`N6SkNS$&Wam$y8zD(UdagW*eNxU!w{bktw+;@ZjhFB>9L*=ET1&UBW#eccjQH;^lU}pK zdd&`v6#av)nj8&N9)BsB%Gv*Tmp?1_hNnzBbjs3R?)tFTF<}AwmSZPnS_H2ZY!k?r zxVq!fu6gG}8;(qr*cU!4!TIOzt>Q1FHC8b>_1={3T0A>8vM=^qP4=Eg9W@5mdK~T> zt~u-eIVQ5%>*q?t-#JPr65BLZKe<)Adx_7a<%!Iu|MmsX<(si;#bQ1Ok+$C;|4+zc z<9_?-Ow;W!k=rXe6OPr!M=yE0G42ba+Ljtk@gviAWj*V?a(9x~0*RBN9NLu(tEaeW zJy`d+*y1mAO>;t@M@tOpJ16R?@yMvg+yT zgq+{T7voqgja|Aou2)~+HcPVp(WTg0Ztv+%oA&FRvW{ff@vnUI$tQ;voUc)5y_R!A z|G1UfL;o9cGX?KY0hK=+YIX_EV^4~WF4UYQClPg{k?GgxD2>i5yJA7}55=07*L~Y8 zc5U6_&-^bwuAZTyaou12+Pv;Sr5{0|rCzpv(__>!4yM`MNI4iS{D$R0!Yf_BC9`8| zjjZLecI)c?ZqhsRreC!B+ve(VzZR(!N62`#&yKwM zec!gtnCl!fv1Ve*p5kw9OAf{DmerI@(R$MPd1~zK;Pc_p*C!`Bik!*OeRiWsG0)FJRKTpC>uFc=K9+OYWsJ=B{8VT=hJpWYf`{~!RrpNalZ8V*p?Qxsuo}KWz%GdaKmXEUms_DWOXbo`uZe>8EJVJJi;w! zU*BhX@R6a<|5r2iKMr!e**HDhzwtB6!SzXRtjm0sPXCa2?|Hn+)hjCx6*JvDq-LX< zw+__)wg^f(ITb zi{`&wRvojCT2`BV{%N@Kdqv}ur97RkPn;AuuPxZ3KWSO?r`JV`7u?MCc6e}mqR5}7 zZ&?~OyF~9FICJw~hnQ@&s`y!vN%Q?a@fbcn`_g`)mB7@CdmLq#$=>6%TUHg#Cco2v z+R0;aa}T;%1oa&U^*v7>>TBof0GM~g|ndq3FH}5o;8+^&B zKilMDe?nvXBc{pS?E4M`t$K7~(?-{VKeg+9-`vR3tcez8>xh}Wt$xko^3<17bvONH zUSiu5@NwZM(U4BNOAqeH%6@kL7Hqq}((PgDnSJS(W4*5| zdWn$E{aI&HD%?)a7k|HHw)sXKiHJ9I%eL3F#%s*Iy{kAw?BCL!-QJ;@M%>q?7RVI* zeP{psYOQ9`KQ;v?(@>G<$b=3uHSH|jP*(3wD?uA zY`gbHRZP9bt-n5F)6B1_`aaL*_M4uUXYb_5ct2B6e5yOs@iwWNhf%%DUx4hNB4^>0 z+sM>uu=KibqU)lR;&o> zl#lv>=0D|U{x>-KuB0HLLh(xIo!RC-#rNVqSvNjX`@2B*Vcx!2=4T9r0f{2ELJq8R z^G(;AoNY`w{8z;y+<5M{Zg=jJO)lZ0OLs^le9ATstyxoj?}EZN)u6DO6~62CTy=l) zs@-B$Uct%5Ne>?%YcILAu+yP8wS?F2+Y8H*t{W3STc@QR1C2jl6G$rCWwlp5J;9N2 z(v$@4m+OQa)O0E}7QR@h`n~0C*y1_ycEw70&z2qFz7V>pc7~(0wYth2#viFl9}@i3 zeeX4d6tB*^kk51CyVzNcH>wA&++>K~|2RbTrF8qfEo!ni3o;+?ZBPomxtVdUSNWs! z7xGWqEO|YdG3&BN^0ReWru>VR@LR94`krVNyrgYiUTNIRbqg(PuDN~qHFtt){hpK~ z6MU_sB&)sFm=^u|EA!?0;U&SFM77yxt<+2T5EQcfRmMi=#NRO!Jj3)u+<(GEO{l)w~qBnj3KW+>s65AD$o=CPgubIP= z&u}5}chJ^lOIMfPlxE-M9Wwp4RpuPq>72pS(_ULnS>y0>f26mY+0v4`Ur(Ny&usVP zxs}gsLH(&4re7&#Ea{XuEyAw6q-{#}!}r=c%?gbV8sdwNrE8@={kCcAs?FIB#VLj- z>y8JM&5TP5O3?kUtv09Jsq2eg$nu1|EeWZ`X~G$8x4fQphkQ4`;QNaqZI{=|PaQ|6 zJMY=I|5;Y*qemy(ieB!%>ecL@Y5k1D?p)RPz%?sR6z!h5(0zX1*QJr1OB3dC7&K+@ z?%Z#AaN*qR-g(>gq`MX$%})vct#|I~y4O*^MCxYy{JqoWU8il;sJQ&R{)FywrNbxv z)7SKEtc<>$<+ZW<3 z^fsFn(%;^!g`GjKM3ki*IJek5c+aTUvP!fu_=c8JqkDR&;*7P| zL$|Dvl2DU5`IWzPQ-u(_=G6rkH6|@~|E#?wzGU&^mV}g_evgwpKQY~}juTfrlzUU7 zew(oEzgH6LvZt!CazA+ZFyM}?+l`%y3+F6q7=roXa8a;}Nz7xwbxGqLvEIx;Fx zJ^s8ta!2W%*ObQ&?F;69f9w-;!0X!Tf~TqnEG{s_x4#Net^7JYTPly|_D11HFFWJi zPwLt^ZTmZce_A-3P0LNShk4$&$`0>Tn|wX@S#Z>%kaO>Ut zMD8mI<-HHu{~3y zmEcY5l#J4D-ul;Zy|mPDbLJe~i8XGUr9|`&x;d^~^wDYB|9Jjw-w)Uj| zsI4+vuK&}zPKkTcs#>v!N;@`q?BBE@=||kvdLH(*PrD7ziChj_d4I;5L%Sc{vRV+a zT8!tyu2VPvKGt(T9H!HDKHZ})U-J6#tA5Jbvi%v`}%Qkj0h$95K?C*Afmj9uf8S zU6jxr#gepq_GK@f91Z01&v?4`f!p%iHd>rKd0DF9)`G^wZ813_@1D1>KPLGtF*hOq zYI^M4RgPvleP=g6PrPt&b!Fkk?HXEv0h5ZfwkOFnY@VrG^7ZS{34a3Z70s-c-S360 ze_F1oQLc1<(rS03V?w%*TyJb}b-wNUxX%Bm)wLDu_sk~b-3;(ulN{p*3V-JbGB>sd zd|r4;G^BIp$C4(~9HD2IcKTR?`k$cke?ir@|AqpE(z~n@8K#L^SzWlvS|}4ai{0|W z%dC0aPeq^34qZRl_YC_1M`6CtI@}VMSKj2bU{&i^`ZFWS_0WNe*!IQ38y)7Q`fQB5__dRVK0Ildqp|m#$u0{e*j^;U0UBgYu*#s^nK&@DNQe~rj|`By{zY`@$}J|iznri69s+D zJJim#mrXwV^V94b*(DSIa@(vpH=A?azJq+FFBZ+sHZPLeywURQo7-tVoDVyl=1%TA zQTY0#z!BcKr@~e-Ld&*DZS0MF-uj5`|DNaF%BF>kEu*6mI)|Vp_iJ zKz*WI`yO^s`*(xpuSdK4a(eGx+~as^*^=&QC)4NLR=%IJz;NN~8ChNXkM$KkPh>n| zzR`~%GgG*C)hE|YOkw93ix@L2-9wH&HIcuip<@zTHhKAj=~*TZ!mishX}2jq-TB^M zTw66+>cx~96|cAFpYUCCvoQ8O_j0Qr<{SG%AK2Zp|J`w*da+BS+9rz~U7-Sni*Ibb zaL)8C`x4blwqlHG4^nuxrypG4(4QCiy!h4hU>o&DZx+Gz+xALGo|8^fyj7h1_4Z;{ zy>-{lUb(-@VU1MAx;+Aa_0m2z`^>qZRU&XL^RBVL#YDF7%W6VK36A1d=ciRm{(Ww6 zT-D&59iz{b_80>u-&Z{weAVaAl6w65Wa`{`N5mW_rlm$)_3n>7#F05eV!LK~y^cOt z@`+ddLAp_@|9FERO?%xXZ_L6sn`yGtEhbI&39jE({aa)08x~e%aCo0h(U-3&o7ism zpL-!_b#2n>`$`9jV#7VQoW7fITR6_AM*sh%Zp$M|2K~pGLv~x)_-%5T?yzD12I=eJ z@~_{8mE3FWbm%RS<#%_{^j-4wBIh=3U-lIXe>GnZedZk1m@u11rm3Lt|8mxZPk$RO z-Qn`MwCgsg|M^d}d3*4gLS?u4fycEjDE_KxKX`A|`hzKcYy3G6ck#&zPf4n%51A-( zs_k}`M$H}3od<1xa@IPExcqr3z1-VxCIeHW)yf9@h5iCompK00#5!E%xahkiNlSj` zk?C`eC1m+|%#BTu>?pXE&nb{0=%4KM;McFl+a9u28Z)(jEUrB{?a}MW1~p~O?-f6t zI-k<%YUzCNUd39mc{w!|x9pbkt*yJ`KRrr$q6k;pcP5P*R*~D{tjad=t_NHci>%IT z_{~&c_J4cJ_@&%Vxw)K$_k6_HTs^Y#P_fm$hxy+AGX!NPZJ2Kn^zg9D`we%cin0U! zlUF^sIDezk9j;dwHcoa~m1)<%tci8q>s!CAuKfkKzv{Dj98E;TwoMXn=RDjLUmkeZ zf4Y&n%j0_g!$y}EnA&DvO<%|mvd?(crzZyzuKCU6W1MLfs%O7&r$EugkAX8+e9h;5 zS<|xhpdtsT`~$Urk8Lfh+8s4d-AXpPkWpVw;=|QOCi`eVjgN-AV&7c-*H)w)AXCIB zcx`{{SB{z=d6#9ftj#s%G(JvAuxauwalA2!A#;LBcX;Jt_p96+&hLAWzcW~T$uobB zN4wguZ8^uj`{k~eooB!Ktn3Q({5Jhno7(48on_MO2mOra8%nx+?U?&~X@RxNdz;&q z+H;~d`pQ{r&tAHiOM10-1IFL&IKcC<}OEi>OX?o)A;*XwJ(k&+9Ns+s>Xm@&=T6_fMi z>c`q_mIndVC;zU0X~`dRXx`!HOd5UfzyAEK62)E_+vl-;mZ0;Z6(@X_-pJhhYw{HP z2PLmBo!xmdEiu_B*ncNn!TA zuez323Jg3`CkRHZaNOQ1F*Dq#>e$`F=%mGJ!l{4Hx81zQ99wN<`DMM~{P<4SV)sM$ zR;)e!ZPv;(r31l>7x-mNlCV1ZXOTMBZlik(3{2Gyr`PBY{chIy zxKl~b|IjWCx2eAIHcOuDl>aNt`*6CokI%Cy5sS|+y;CH(>)?Er4gMW$LT}}jS4_F& z%<;Ees%dqkO8VP>@s0bdWMU1Omh~C@;p6|+?DOf8PAT)Xr-%J7Em;#ho!bCcIhu`p++; zuj?hg{JC-}e7Bdhwfezz6BoGuK2TU5ZntcafcI_RS=RoCthRg#Ii_mKXu%cpWsYNp1*qiAS`2{3tN$I zex3d_E<2H0VU`C00t#v7i@GQ7|F^W_6zkJMcA>(m!i`fOynnCTsm%0u`TZ89P4%fa z?w)M+UH&JCS@YWR0}&U~C&cVlNW8W{Q@3eVx{~eExOEZRHq_Nj$v0X!=cm`ZZVQ?H zvN69E>zA)y^-17ByVr!gk30^KKD|ER5wvWV!oo1Oc=KuhEw@zKAA{uo8z~$1`>igp za*|r6EVOP(-^wX+7FjnMnT)Kfri z_b09P*F6wqALp@Ur<3DtzSWz$B{zKiY;;`J(&yK!%x$ge>`Qg`$^W%ddr+FFYr6bYdGd)RcV??6>OLJulue4xah9f z3t_FwCsKcdZbYg##g_DcD~n19{_V{ysg{4{j84_>Qtx+HRX0don^pb)-jASgIfs;r zIk7gN@kfE#5;+==RUahZW{6jR9HQ#;b$YhsLZ07pS09}$nd$zL(avdGz$=Sej4vfy zs)b+X2<59ikDD9j_H1c|#AJzY;zEnndnZm2v$}olqmdS`&XtX~H`V(dYunbHqwt_r z*?QJ;p{qLPo11+;UEmDY`m*(~zp&lXS?e;Vcsu0$tiQxltF~9HNN72G*0tHp%jT^p zZ|~*&@^XTz?&eD~54S#$O?}yaIQX1vyzA06Q@OTrgmrKj`_2$#pM3l0u@=n~2kR8p z#^4E=T54w`5~noYR=QKEA^KwRUH*pD|9iFv9Q9N%zNX3aJVxfrvO@+;8hu({Mfax! z6&ALIHTHBlyv&>=64LnoyV%(kZ&VM2++c_={~N-Zr#U_QPA1Q9U!g}QJw4rD?)u?0 z?fMh`Y3wyUCst=1GTd`NxNk?+Cefoj@m9OLlP^TBj*i^vYE$&lSK2{Yz0zy4^^Rlz zT3Di**mKO4Z*yK-eqh%%uT7S_^EKd*2x)r{5N?gLL+YcY#t?}`y>6-NB z(u0PZm+Lbg_p>rsrDS{OasFB={q@A1@YEL*Kjdr=jdPr~^JGy=sM>nJjJ$y7bFx3| z>sq2|eO~gQT3^uNg8x%IB=fGzF;DyBpw)A8UA)VYyDdxS)yg?D8t>7r{wR@qyk^Fo zxJBC;_Eb)r8=9?~nlf2!yLTdU-hq1F`@hu8gxhqlE?@V3#`bH~tfvB|J8au;*0fpS z@nikIni&ThRtD~Uo4)t6sNHfYnOpWR?oMW0?0K{G@0HHGn{+p-TU$m)Y;#pj{QNiU za`D~AD{^$MEZnB}e`(Xw>|9Zg8!6Wum&n^~+WPR&J(X2Y3^zXPJ^I+XUysB+rF{TRwh$C{PF7S2d@@;m(0j)bDo-*olth=r0Fti zw&S%)qL%0P?%KcK@mba@SHrgNM#0{}8@Fm{{8BshllgC!!|b1Pass}6E8CPV7VemR zVtr54VTtt&bu$j$+p$LZ>&D*)kIqnt$?;s5y{Xa0x3kck$@cmRmRn*I%Nc!5=t_0PnR-pNrF7f!&;NhSU7VqK?(F%^8(%vA zYyWwcasB4sWgff8sp-lRNDf{uc=oPrMTpAKH=9k-pI&?4X}Se%kSwkxS`8?L+$9OjV`7C`4xTsc}Z1hY})uGKlSh1Zwuzg>t|F8{$2mj@>Kbx3h#5* zG)ok}Z0=51+Lw~2ZgKx%;I9?dmwo*%?CL5!f6ild*vg$VudOJ{Kh7!8b6r($;ylen zy+<~scf!OAwpr!s{8@K>`%#Xt$2k#2dnPW6Q;R&-9vrY*!foo4C7j)xx7D(0EX;nw zK0Syl?^jV}Lf*Hs<7wxu!16ZcmXO`?lj#jEHZng1Z&8%pC#7+=1))da`?AK-63(` zG~+D`EU)ijWb)c~S!1U5w52XCfy-?7UXYP?m~n0SfeTkoPL{QlPh1%8HFZ{X)UAXI zGs?ehHB8``(Uo|#=EAN+#e#2GlehhpG+BSiyltg*=A7lzID&Rsd}*{UR*RPOZ7g{Be35$HUnicW*9|pY7xkDi zRvPE5f4uqAJI(6{xi7aLeX)~&sz&(fE0el+YaIv@_3)UoUt9C`(w%4G4|_ked-O%| z!I_`J^_vgHd91WPlf7AoNBdUP;|~Yx_gf@=cKKT`FMsvRQ`=Da+?{;fmzFKyy0&4z z&e{U2T`wN0KV73zcu_-y<7?&M+(X?EA>r#i09C5P=9 zG}{dKcYaD$TAbjgzAgFJ9H-m)2Q>XoTYc#cy9XNoN%vhdxs0`uqeXgBUh2t3SqDz8 zP6^4J@lmg(L|=E>Eb#i9{u z=dWC2zxA6TUia~FclO7*UM+DUJ1nH0TDGl>xELeW^uaTRf7(&g!_|jW9{L@=6}@U{ z)};MgrYmk*HDRxMl=rEh$ue;apT2)ET=di>pkuX_FSBorNs`#{IM<8fU$#1U@xR%m z`a?ofe|fj&-UGIxv$RvMd+po4(P>HiN&mGsv;Q8nxc6mx&P}Cy*F##SFE_o8TqNfD z+cM&;;K3Rv%iWhtT5I)n@BaVw?6Za1!yNY*@kA#Ir^(zUftqw7TNXdl+`rPGqDF`Hd-Fs86z^)@^+`2o87X5h3`+; zECG$bEzVCnW|6&NzMVjg)du@uE9KzW!fh#Qo}IjQ$nnbal89ZmcPIR4;SF!zU!2#y zPw3kI);~HMW`-tfCOqNR{l59MBln}O*!nD&jb2IIc_(AnocO-UQsIs2nQhGcrh5Nk z%vD|8L^k-X-|2ix>vEIF{S{Tt>jTwm^`|}W)HwF}+jEvzMSfRuL>C^{aw?FD`ahrj z$d=jW^QOsJe7fJL6y)KrG4a!m-jsLW!#^tqnDk#}n7h^Bh+NvCnwfl3M(R4VHhyyB zyxeTBC)N9?CYO7~NuPx`GPe9$5T|-5_U8W%ahY)S_l4$CtK=@rlvxPq9guZB-F;|l zAZYz@{t25U(%|vuMOFz18TVKV;&hb<)DJyc&n9LG@LC2b z9^GXypd{V! zs;8ZwJ(LbqhPPGsXiKd5m}lhc=VZ0?+MnYphQ6LcPYQBkZYeMqVZ5(ZQFZ&~#qNMT zlaBv3ESq?F-UTWCeHHx7My8j&ZtD7Oe9ZLuWO~Y{8yg$Ljx8t-^ZWYDCS=L6WBx67 zCs>FSaABL z4Za?C??)bL4)-s8$#FRFSXey6){n_+{!ABt#J4^&?foX9-RHkuEfkz^VvdY-h3Cp^ z`*;q1`ZDnm^WP-NhSj_4FMNISZNi*WzXO;{-+nPzZ<@3D5$Bw98l@V`uC3BbJSC&! z?>xmOxN3E#hZxJvq-#;Hc+_wBeiU4OWs+hXf;ZwWrX~7REhSzJA*fg@^lnxZUN^^R`8CNdy{fgkC%{qS5@`IWr zk}kYm$!t-ic2r_jUo+FJ{ed5%4nH!z)ABQP_nhel<+p@2~dRtmbnUxq5zO z_j$n^MuIXOJ%6=-%oMiviLbAH``e)8rZ~3}(}VQ~Ul_?LPxtD`M^1|8)Wpg61#em9%0>TqRS_`h$wJ>H-x-g- zE;;YFc>h7Ede)0>wJ!xG>|UA2bCX&7#m>;w#0wi5BaSK8dtLn&nSa_ZIU(&CX#B4&WajbK;7jVeo}VvXsK^`i`Kw^9 z!qvbZ6MyV3%@JGwGyG|wexa5S+j`-ztmR2@yPwVesiyRALbMyx!Q>cmo-Lo0HD+Y4 zKjITm$vS!AT=O6KJ0Hn7i=6uZvprlFw*ULQtoy;e3bT&a>xMu1_S)dQu&A}Aw?@Lb zrMoxJmAjJVvES-Q=!-2e)(WrX3_r39SO0!+sV3DXLuH<#-2v&j0XDBe38H zzc{A`YbgC~iT=!Zpjcg2c*>)PQWMIi$Fm1>T!=0?e`hB9tPY=)UvEpeBBy&imev2g z!Q#rV+iJVz-g7715*L)2cJ!C}A8Fp{^Cj|auI?7vFlBqGWcf}D(-^6W=!F_3<$(+L z^SW40HA>{2ZzhoYXT2FOPHQO22&h7ZkHQM?yhg{oj#bhfAMU#u=-=vHij@ ziGQ_dN+ieqp!}t-D?|@A+O}JlvhL@eC%nPkRl7msZwROs|8va|HtgaE#6#)yHr?Ve`qcIYfPP#B$<{P33O>2-6aaLk#_Jn3-emnDnb8I|i_gZIBo z-aR=l(iFR_}y2zS-ibwO)-6`aoX+o$G-vzh5pWy8G}l*XM5$# z9lmD2bG}Z3j8FW%nk%ah&%Q0bUFpZ6C96DqHzk)7m9WV zVEdoV4ZrY|Z>pUQn*VzgS60H#pAwp6!7=sYr8xEc88yx68{c;qOuj6)IfSQf`J)ik zm8a{b^{YDk-nggUq;96}%U|jR-s(&zr+x32s7|qY?zh`dQd)k^-2FdS6kGi|{_&Qo zU`U~(;=PdX*A_7eo^uJ1%3h?K_~Ltb+ZL%a{a?;%_ZWQPvusR1ZFN&DD@pFZ5RMW{X-F5dY zrU$MU<98O>@}zDkmg5u6QE(qE2@alfXI0fQcVA_df6cv#c(==*ee=$#b?CJ$0%1n0H%7 zQ?pd$X~%EpOG+y$tRuF~O7MPBGTYqv_RY7C4Nh%aT)tDezV9)c*-fiXX`h*s*f%vU zd^y8|=ezQTNmKP?L#Dm!^gVycPIf2DWZwQAOgW7EfqbmK~Jdp(dreS+7A9tG4 zS9IrQ>ZzaijNe$BnZIpM%-m_t0ZwIwYlB{iFlt9XUVLxse^~$L;J>SecnO?%_{`ED_MuWJ|%qw)#%x?B>m~&uqv+vB3Eh0?X z(UD7BY$aAdomHiD&Fja6$5roV7#^)!Fek`P*MMuCP4QRu@+9`y!}ngS3pJQ{Oy;P~ z(wf!Fiyvkt{QjZiQ=|XC|F}U7+XKm0((L<+LiDD*-jdxE8@X*&lJACtwSJZ_cQ{O& zy<&4l`K!Eh3@RVg40KA{Hh4bxdi`v5<;se^>e7XrPOG2TO00Q0t7_x^=#RNNW=nK? zm&^`)%(SjpQ;LmE$0peDckSfdpPKo~|4szCF*Qrar8PX>8oYB!{wduxw=#JCTx%D< zR=lV%);SH|t+8Y`lJv!Uwe!6Fu)wX|5Y<;$Vtu2gByTTT7yFR-TS@ibb z(!R5b54Nh$NpRpaTWFr}^7;(NN%tJJZvI{@H^VTfX2X+kn_>+?_LUqQx4AuQl@Hu& zS*7GVVS)3f$3gii!EZKt*KzaA@(aH;>)L7)8FqQ!UuNEOCNJKR=sMk5X8*Ul$EDu* z-jFDtv-{wwgNJwUZ~O17byhgIZl#8Q@%os#XI$Bx3MIA%PZK$yvTNGLea$Clu58rY zq5F<=)`ZWow(eig-+UjHQKZDNw8!9(eBPlCG3uI-^%rak2ZCbb{jO{*NSh5>f8*eN zZMDH0)dNDe80sgiRN3&$YKKyDtjn{))Snw0pST}vQ*divr@+7eucX)sD{DnfAU?XqEw{fq~$&Y_KE-Bt!dVhtQl*&v)rrM@`e&J;Xrx)JueUVzf ze(w=`#-nX+pKkr&UVO0FRl083M3KVPdB-9ReuXptF+P6I!2jp}jwN#LesB2rg?wjT zUEKkxuwQPtP2cSUlw z3>{sp{zh?d-riOF=lH*6&2s{5in#>8aSF4{eD&`JxBSA-;k%~vMc&Db5D4$Td|y+^ zpZn{ID|St@d=9KwXJC+-`QecIiYc-Wh4MCUo2SO2DCmNQ;aRL*Ii=~p0}^d(u- z&vVm>h}B{()z;aM9vy14UG%WWX>MvCw>`Jrh00y=FY7Ij&lW74ARe(qCwTJ;nU<7t zi9^!X*BVd$`yyS)cP>b%d-WBuw4AqWjr*DBTpZJEBAPo_WwV^aW}KR{JzM|zuM=gRK4v*m(tHxYLN@%#C}f? zuKIn!EcWI69rs$w>_w*q{MPxxsJ7E`vBbaW;*l%PUwL2(E2N%n+)*_pM|hKww&&rFz++V&DXMKuY=uRPWj@rEj5OJ8)*G0xc`@y zc1$CA!~C!{1yVfKALh1daDNEhgKYX`)&YIV4zl%8PtwFE-_C zkm~X07awl3{vvm5XU0aA`_H=1IzQj0{%py#PT%Ac4^CZM#&nO%?!wO7yK80`9;n;6 zTEfQP>y@I%`ST&w(>=c0Gx4@b&;7O|KI*4raZ2EuPVJNzTjuzL-<8Ece!;PN#V){WjCqf%_l#=UIg>3yGOq?QRuRb$FM> z()gKz@e7(3*d~1b+j!gRZ>C(XPTtb+egD_4_gVA0{MTE>`;u5?%+zgBoch0_dO{TF{3CONFFfxzL(V@7N^Urws`NR*U*B`x2CsZ3 z-^X=+=ZtO~W4NJu&Xw~|$2*A-^%v4}6eh`8pIDJ~V&}%!ev6j0?{$2!oNpV4-Il6n z7n!$O`8Z7LmU4`^2Oa-r3W^TYoGNF*n*7mEIma?^@`s&0X;05@TJXl{PY|=fmm{@D zWy`uIA2N+ptXJX>$#%T-X%4XBTYVFz4#kLWw42*Qp!XzGX-~ z@eRKFbaqj}wi5Q)vt=9>vuqKwY_P2Xq76zXCeYW%&bQYxlXy=9}}FUd!Ccc%%yXq}VSKIL7^ z9NT3|x#wyX<>S{H6>aTlcg=9#Wj&vbA$Vz9ROUm2&up6E=cS@IPyDc}S4uG}alxDb zJ2wOFWzE%JdGj~MKouat; zoXNT`A3yBboyYcjuIB%ZZ&KXOuIY4|ozc&~@OU_%k{c%b9&^{xGJ?>fQreZN@pYu;6!`OSJm^>CKm0ZY*NC!q7+H1c_FuatiD@?e~=+U)nvjPCBfa_;Y98 zzK#EvCcIWyh@Ae;&&iiso>n=1PV9k$F*S8QQ599k_RjHp=M;W#$LqMoZ<0L!f)!q+-^!+ZoSbKWVpUQ__nEf$6Lwt4 zSXZK_a){GTvr>vpZl~R(^dmbIcl5|ys+8PiwRiDP|3DW928SpvwXEcqC?E}d>*;AUw+@< ze!9%(0z-VsqY%|X>*?M#`8>BZr5?T9_}KI1{*QYcS1gpi^|(o{<&f{CnhgSJ$2Ln% z+W%>Kg4e2`*`jAu=0q*kmrOY<-af%!0{Ewx@p!%=;u}_SH7o`1pVE&I&lh?blp0fI?J6qZ2M11nkjd|Se zhj%DA&2#JfuKoSdflz5a>3J%?&TE%OYP~$x@AkS;VwuRnhp|y>eXI*^U90+fl+`sk z`0!G(e=T3)=3e&?+aTREW!1~C{PCCKPCYuOQKQHYqJbU(n zprhR%;%Ave1zsW_ZlpLtq^I1UlHIv{sQ2z@w z{$a;y@knph{6kNo4<^Qm2Tc(YRQX}E;E4a>;QPma_q)yZ`NXuY^O8x~L$B%H{xjv+ zcUv}kTzuWW9<=@eHvjNuaubt8zUS55LK~+XD`mOm_`c$nRPlngznT9mo4$20+~m@_ zlBKh1v0Wc)p+`DbD3kIl#S>@vZ?ExJ{e0x!t2H+jW6A`xHx?~hAd=xVeS@0q>h0b6 z8+B_w3#uNp`T4u!oqUSwvf`XMe#kcx=^^pMmkhaLy?pODAc8>#@6S3+G(Wt?JHwdX?$@ zl2of2Eji7wH0`+chut?HC|Dg_Wco$J&^Mj%+Eu{B>d5 zc;mr>^Vd2-_Mdu9h%Q{aN=~BaT?5nilTjM^QoCaR9Q(Iy_M8Bl zVqx)V=Wl({5#3!o`;VMPxcjq7-TI3T1aUBVOp!KCxE=55Q}g26wQhk$st;5yGSttH z31fXJG0l66s*K-OO^bbpWD9RCYTWCXvqWAS)cym_zj@!PSk)-HdD_uZM~Qug^S@`k z>keLh)2`^|wWEfXt&Fp}4lfe5x>0eY(dATJ{!M`|{RY?kmM}abDW7*s1;pK=aSLt)}E~J&SkBek>mRd)9VCi{46&t1lMm&NB3< zs>%NK*ik|7OV5@M>AA;q*+Aoe;PuDK2Z})Jj~%bFOv`zk!hFUn&|2XLx1sK2vHD+E zlWJdz?BA`%#B+7Z!AFnowfP-iuInI~QENVJZG%;b&Ye?!vN3;myWH3?Pj&C=j-|$Z z|57TVR!rP3{iCBx+To&ZwB)=`o;_(#Zfw>#DIcC$ES47E+r{4)T02Sohepj+wwnjs zSZ)R7rc^FlE>O8zeFc}%ol4#>2FEoGa&G?b(2xmLUtPF9VwD`s`D>ra8&T0rAJr&SSBpR*_9E|^r5ad zy!Zds$j1R@XD$VPZ>;_#zt+_EqmJWZ5yNdNIW9_STSM!kT_+}ZOsws``~8!`yb~L~ z@T|Hsn|<;A(;@fI6;1c_niAU& zN2h7&Vf@>^AGA91?wE-8+5X9o5^ zI5zzI_kS*1*_S^cbo_vWqxoqzM__QAr?f@&)|}G z==Jtsjw+Pw(cKz;V9RWCQ2P&5{wjTm;^@4+t9DB9qEjt%ie(%P_}6JQd||RkirWp^ z|F8D9DcVi)U}Zp`=ax+qI8^fw$QypP`P$8X-)@FjHbclB;}xGWj!e4kaM@|YM$>bW zH^SUbHXf*G&DR%w#__^r*?)$|&ur&!l$(~_u>S~8_t~G%rwPVMygjUc?ZwGU*H$Xr zy%QucUAuOvO7A0{6?4LEYz=tBLXK~`sNPGt)H+VXi9f*^vioOTBF+G>yX znN4(DyEHQY#j&pJR}&@HiZE)=iCW}i75wpglc926Q}~3}d)C_9{g-Xp)0yqX{7!Mx znXmkrKf>%aW8{*x&2no}?)q(wDRY?OH@!eT?|?G@ySlHxw{okVi006)@44V#t0&mH zd4U4|S;y4JKaVdf6!dP3ot`Vgx9!uf)Jsn;if^^@$z9X^Zuu!ervkZYd5ISuu8px; z`=kmo{`dzn{=#$OUmJM*pGolBdIQk>kH9y3Zsu^IryakqCmd-qmwx>|@6zX)zQ*Y_ zuPe`fHaxCts5v#6Y5$3+t1qQ8=PaMZbK_F}qnGvze+pmhaG0Cg&%b45liHWZv*mWW zO}1V;A#&C6WBoHSv6PQ+MskT_D7x$$71(mYd2k7@1GM=e9o}N z;4pap&;IAG?SiL0zqoTAXu7#w>FoxubS|}(@jSo0T6ZeXDZi4x^8AcFC(W)NvRV?c zT8#I?=F^T_4%RkV&iv>+-8e_=*`1S4+Zo~>rWWqMI(LEN*1V@nRXG0a`N@g6n9IuZc6c<(l%M+b)BI<>zVcJilg^)lwcLD# zx|9@?UgRJ2i+xuD4eYd!G5fR$Zd7$Z7SHfB!%HX}Dy*-816o``vYa6yKg{ z+~b@Rz^wdqtH;xH$M)xEK;!=LOie1wSdpRjwdRmy!{bYnLXpt8xMu28y)`6Y3G0N0hIsL|4xWc4ed|2O%u~=zE+<7Y;au7An5lrllBXKr7y*f>{3ykxfL}3b*OERTsF_;zt#G4 z@4ne+vtIt2)Xsa8(vIpWEI#k?F579B@vQF;mmKWbxP5BS!)3Qj1Y0BbP5iLFH|0V7 z*%@Dg`d`-w`>Yd|4efE&cd^-|S!T1W>eH^P8`s8^Z%e)~Kj3zbuvWubM&EA+$LkF& zCK>xInH{RP=hd_i3tbbn7aA^?I9T=Ea@ReP^wj##iF3>?mX+l0uT_*6U%NN})c$^S zcX#uLEba>Dh2F_N&p!M1YZ~fAu{Utv6An3cWLv|N0P~8=tY6j(e!O$i$A7mymtd;l zvYp*-;Qgc*TuX?d1Qp6#?*FZJ!gKAovPD<)?( z_uRc(ymGhkyzh~lqFyc7FLv_MwYsmG%=#xbPi)HHqIk3|ygIPGSB?4ast0d$x?SHn zS!rIccVU~focGg#TKl$u`^Lf5i}O!-uQ`!<;$YG(lMeS;!t(nLrj-hvZJoS8weQ5* zB$+1%+jet0vYGi^t*hVm@AR=^shiCK>-9?4U-a_wu#GO3x*64${$RO ze=TNSc>jxX=iZcaKaPRRA7)7TlfSuk_IVAB@?F;_t=^`5plE%V#}>_mgx~p}y=;7V zu5~Bqt3HVNvCnk=WB1&o$`)=O)wmODvn1^%ulu`b;aq1`-yHFG-yd3rtj*m~t010s zcEK*`c$=VeM>)b)scWZKb8g%tdxB5#_J5^&l@a#S=f^UCzWT3ud-RzAX3H<1ncuDH za=q&W%76J!JAS(}zE-LTms>bXBH=@h@%HYVO`!I#*n^5!((LT-ZPF6APX`xqt~-A(K{9Cb|2f;cWw$T= zWPDuN;QS<3pVT=a`Y&Eji_DVbxzUt8w`HC8zG=H|IH#wrcgl~s^8B|n?}PbP^Ht>+ zc=>v8L=;Lnrzc;yuuj)%^_z!ApV=D~EP4wyCj9KptK0T(>C49E?3;3j76u)6xm-4> z*=O1njS{aph5sA`gjLJK>z7RuX&C$mJDHnX#6&HFZuX_I3 z@Kbfc_K4jR99E>IzWpE9lvDkraE8#|^)K(A&fiqwU2;h$JmN}j$03!^;Q5!$pA$YL z8v8y!nRqwa?zoPD&o_qkolGH`FJCX|>QUvp*`PUD^HZ4Rt%aS{zmw1K?>!=EvqJ0J zgR9mK>1GRODY(ww9bx76e&>Dp!%HGJxXQms)Y;&-DG5Ey)l(Ka$-XF^>=XZw;plIsH!7D)UK@I@nVeo~ zdk0kh>{fos^66n|pOa)Lcks5dc)4lMPU^OBseSO%$}fMmF)M!mtR+I$_a$}I_yZk_ zH}2**@#$CNYRjP!H;tczVbOWdiSzvYM!@Uw&3^9tE<-h z-{`Sp`G&-wxhrb@4_W1A8~jmT5OR|tULDl_vzqP=UjHEt8Gp%Ca@uA-hku$~JAaFw z=sz=Shcq**uJSL}+SfXFO3dF6I)7n9%9f{wbLSQbPCXbN_F-~s$cMB48ny?V`TMx^ zi(vJE7>&l{!*ZH+B0JWd{Ol%C<`rHlecip{TBh&gni|!;)&&MfR1G=oHko(^^2>bp zR##wD30k+o^6c+RYObe6ce%Ij)o?2~|LeJ#EbqhV+#O*TCJSwya;(<>&fX2H!X+2y zc5ma~8I(9>^R1R`vAd@^JFGfsmvCakmpc8->d8|UJusPM+aSFu#A{)MMc{4cSSrq}i{(z9L&+;FGOoruy6aZIxlD?4`w(FE4(n zYvW-15G4OZiuIDcedo(H`pR0%eV$i7G6@pQYY?13LlxpVF^Rg2)BrRak4&7onsMKXxB{~}&g3vK@d|Cr>kvuvCA+u0G11I+hcW{O%bZU0B-XYH&dVOlkMY~9^% zoF|*OWIVTKOIk0kFRM)vgu1~w)S3 zY+g-wdBr_rZ)J%7r`MArvIWCEHyVDF_#9S#du6B7-1NS*!oM$U_aB(@$xcvJ`ojN+ z#Mjr_oxFD0@5o_QPMG4CyzC*DVg1*)jQr;(e&5w&rg))k^Qz<&(ERIT(D>uj(A|zw z=IX3-=dP?%+Mjet#W%%uR{4a8$-z7?>#wh{<27IDe$&8b(d-b7m#^~rHaPNXZ+KO1 zc(AI#V!>X;)q4~|RK7p539&u+%1_%@`syyJ-TTkK<>TC{)DoVW6zcqRiS!F^9ks%# zQnT_v{SVOmJ81q9HvZ#rG;Mc%oN>5N?xb$^3IEoC*1x=a%6NZ$@#m%+->>&=@R;?y zXUf4E(EgvtR?|EhW8}McOI`ncQP2J0E`^l=1^TShK>Hu=un8`^aXp4zY+JvQBC!@jxl8_ga`ob?v9|j}0=lPrE?B+a)bf+~>)c+j3w$ad{HG*j(_siWWPo8}1+^-YH=jZoipU1Kgn~yb( zOAJ3hRsPi;6~cL-J9yKJt*;X<9j?zZF`MWWGI>$l`b9om%(Kp~bT6~qojXT&g2B1D zS#NcJCx;x`rLi^0NB=|OKU3ZoDb@$qbmaNhOpI>pJU+MDt23iFT(UZPMRNelrU1`<3;LMHZ#xV*7FBG-Teqkw3S`nX?^x@uT!%3@mTrF6&Xu+!djsA(; z6GSGp-$=U_b&6Bvi2NiO{+`FFW?#LQWVgqPH*YjNFVQP2GileYpmg7O^CeF<+N>A) zcFK=2rgk2)*0*n_dv|VLJhL-=^Oj^6oubI#m+KlejdY{A)=hXJU%&Uz<{NVsvt%~C zP<(aveENFpb|0SWVlsTozUEeE-cee#;8p&tgyE1R|N4C5Sl9D7O#KFD zuk;2Vo3qVXvUYxJb6+-rtKiG4WZ{ z@xC2)A)Mt#;U@|xzcK;^IOZtKUNq@IM#+^}1=Wg9pD-p`V@ z>tB8UWM=KsVZOklq0`2>`>f!zvIEM&)rB6(@1F1~?)vb_3n?SvgldIW-ZTg`gup< z(X+O8_oM$63%8}!Ex2>+m+BXe$d9Rd`%bT7X4^33dR?Vp?~(cYZ4yfy6A!pD1a9iq z1f4(h^Znht>TUPGsb3GWGkPridEJVycXB-Ld{~fds&07g`i_{W1C>c_l~Wo6GZyEa z&RJ8y@hnQ=P1ObWmCWqhui3k;b?PbF;Hss)L~7liH+r{LZ&SMTKP`pj;kQ?X+c?4s zSrf!k&Mw^L@4+5_?$&PWS>b}pm#kJ#anyRSu2Dl%*IDE4tIeukTYiKxUJX>MED`wf zi1}U2lu*Cj_S_OF7Rx5AEED;p)V9I+#zgsy&$ULCH81M_el|V+-O{^|sb5bvJ@?%r zz6Tq8+)sPF{bh2nG`)LbV_RTKJmcE0k8ERE_`c2O$Pc@^OK8*7`kDfXdloI>#gZ(} z3*Pi5Y@XU+S@|@8^YG#ia{uq8nz(GAaU>vdyWxsipIZA|dEM<9_1XomOAx6Wn<>%1*@U2>itE^5DE{%`#+ra71F>SD{M^(bs?2|XB9 zxFCH?j#g#l!rpyyCl;F*D%72GSdpjWx1{9l%dmyly_4NF(%HKV=19hzs?o4#3T{{a zdm_q}@wHOS@;|w&wX2szpRib~ve%{Hv~;o5`>hNi-Ii7Pm#x-iGu-*WbNT6`hdgbG zce+1jZJWK~bmsk&7A4ni@5`~s&sx9IabeQwr3DgmbbHkWs-xEKUe3yN>zs2K)88LH z+h47&=l%Ap>{IfNUo*o6p1OnXpW0kId%1>2xzaVr{E(d&FcXVs^hbFjsj)MU>~d?}qrkuSfP~{Y4z(qp-KQeYdR=J+Ky*u#O#2x%Qze`#rOLIM( zZ_yF@Y@zp(1K+1*daW|)_~t8hL3ZPQp2NTYHr~H3UCy!nWfo`Z*V0Fw+b5k>_7MEO z)nKw5X#YvLl#%*u!~B}O+s2lV^Q8e4kIp*6lmI>eHTM!9BAD zWiBi~y|^jL%Kgv^EvK33{l^QwKeY+Hci=%jS7i9Km5v*dDxCu)=IE9b>q;_YDt);5 z|MazmOt-nrE-Bg0ik)S+qav#^z_|GGUIS47|6WM_Og?!j^>%|@E2RZhGo1NpVTz}D&F%+YFfQWJmkyUe~sG%kMw+*uX9@P zcY4Ahr4H4=E&3T#CvSgjb*g|(U;27z#gWVv=Y5x|@10k~^+x7F&dom^;c@|fh2E#7 z{Ab27=SV+#83`JH{@^sNK8}Ce_mehDknbNk)&;VE!F{Rvs0Dt>E|2u){x-C1jbi@8 zl^_N>|FwC0;Mtxp-1>72zH+)XCY*kqWTMwMUy|C5;O{Ms3T_wU0Z_ZT3e-)Y@{7 zN=RRYu-WI(TOW$&F+}pPbPI4ydfJ;`JZDmv;yu-*rq#RC!nglh+VOVXYneX=*VYSg z+&=Fgvs+yA%7SUy&kvS(1#0!{2R?l*Sh>PZug?q3xsT#zV|%G4YgJ;_DR z2-N;4WnoP^H+ijY-LW%UCO%=)|5zgYZJWc2bjKF;WtLKs>Yo;R|Jix<$=ck+sy7?G zGPqL@`MPoa=-k0HXU`V@U;jI5Btq0bd*}6l+W-D!x1zqK-q6=h6%K-O{yrH%W5|&bJCrIJa=Kp9gz%$*I6cafxif z(S;AE$Vsfa*2v`aH%jBJnd>46ZN|!{a{^?tJh<1dm-_RkY(`PGJ-0%c#q!RBAzt2s z5!*ettrpDqQL!>s}5&KK4I52DwNrCYYyGAT3WMWTk?f@&bRXpiuxb2(x}-j#P-1Vca+c4$*VpU9@&z; z(I@1@>MR+%gcT_-cVCult<~Rj_wB~R>!iNP@9dnIc4U{7pGQXY$-<<>gbPd778JID z*B>=py2CZ;+NRsz^Xm5fThr`&`cJVU_p%;?JHgtGp`EHLMe3FKnX{cQwXH}9=bZ8- zLF2aNW5JsJUOT!S-rRcNd84@g#A7|yDOSI;&gQZIGL}j^X%V*j<&F#*`f29;Kirz1Z{3gia%@}slet#1 zw#@0*uNyY#@@{6_<*2bDY{7N812OTh4TQH>|JfG2d&xAGdXWp2IyuZO_A~uHGq2xs zGT`b<$;zJB;=CuK{_fncB6U4q$4sZGWomr;MI`e7zBqVEO;IG}%;H^}r|OhwJBIu} z8uNKersT%${K=pH2VX91+i`x;=8Rq8>r&r)R41227;vr2xPIIvwy`~i$5Arns^Px_ zbEBiZ-1NQ_-_X8i!@fe*^kyaR7qeS@O+LT4#C=jk%zjnQ;hvml1Kxi!q0Rl&%=X=m ztP4LUTA3uDKkTa%{8S*dUr}_`b!WYY$%uvajULoY)URW$GJ~?dAmBo+gskG@0?_?^Du= za*@BhOs`CGWo729k(QR@xp77N<<1LXiZ?bk25)1?V|n)FMaVXeuv;t>=E|w2tOOPEz2=9T8B z9ovz;VSeYkIL@vAFXa5(k|Ei=T;%`y2Ru(RwlxHD9bTl8`t;wDS#zHMRyUnw_=m0Z zv|rjFOGV3%eHi~Z+tU{>6??%v!&~P+L*bCu>5-=xkhoZ zoTbc0)5ntb3tx)w%XFFtDu3h5dA2jh{j;-nPdAI3`^n*Wn=Qx63|D(W<)v+>GUQA? zv)6y!%3P$8uk&lkEW@0NN!tUD_I{bKv2OJmqx4xdNeAyOSb0a0wajhj#mbnzZOMP; z7JSRI+SEO9`@e1znZ*)HM*kZwa;*N3#t?26Q0PtGkLGG{6s zt}Z<*xAAcEOv$2le+LPV{-Z%(6K|yKUDEfp`r-3EmUVxv{zkD(pN<{RaJgJ()zjZu%6qA&wC~JrtF)9d=!(aK!2UFoag z&*c%W0+sC^d$w;#_?B(#6Z^|>+sAX##Zo@Mp7O>d)joYGc{Fae+)J5V5z-P_x^ts< z-P)dRnx*pY+pp(l24Rm=A8$*aw$V%I?3=57XB!{+ANYAI%1KM@@5~Q>CtX&$5b*Qk z!d;~aV%OUiK414b;%CW{^}^TV+4*Z{+Ho+1yD!P9NxNaXwY0{?byGsogS-=dOJ|4N zTyW1s<)GV5MIJ{HxBrZH_dA4bSNpwJ!Jzs;jf3It3&}@qB6!^Yo)l?$dhzj=o6i!~ zT4|)_y=%LE7qtGgDJVK{V~a$@t1FF4cbTFzCj5RTCQ|(5ebYLx+Uzop{oktg|_5HPFFqY&pDB0->tdZD?EFdlrnj> zHds{b>5+4LdG&zDx%5&Vx4#>0_nn;b+RiGUGXKUwuNR1pZ-m}l=V28VGh&2l6VT~$82K8sUYGtGDz$47UL!%fF^J=Y~)`n6I%&NDP?_R-@(>8ht5aVCA)ck|fx z?w!*eCHC{4oSf^fcc7}p;@f-YSj+c3GHq)=vW$c~^D zTV|Vs>fhU4du<|<*UmmaXYF$Z*BJ^iQKG?dN4%%p zsqmSUb3rlXi`R7t^Eax8eLNey_f}@r{;Hg|YlDNI_G-<~Fn`PM>*Myv;wJJ8hpK zZ;KeqK|iy&B(cYnHqLp!G{|aq!+Zhpq%dc*YnCS`eO=F_f6Fr3Xho!6O6?JZ)6YDyy5tSZ&d@!M7K@l6Hb0qEz|frIXYbM zW{`@A-~EdWXErL7`=5fbv4@tD!*mJb6_4TQx^Z4YNgDf^Id-ndIcG=Ur*CT&UpR{xB zeoOwurgfpA3pYMCd~WcCr(tvL?Dx+!!hcCl>YnlzbpBC@c+w#ZcnctpEHg5F*i3I6pZL5k~d%< z_6ai;w|x7C;CIsw)N)qt51zql6+9_(Q_7QPUmrD?pOc!E_x|3lS}&G=ZN-|`*OW2~ zRIiiR^EK{Y&P+K?hH%zv6RQ{9SuNs|;I*wIVaKr?;Ym$*QZ5Hsol!qjdNad%k8soP z_aYNFP0VAwz1iaPkCj3$lI8qfGm_f$rhR>_yH&pL(Y}8Z3s-Gdn0)Ygx z(b`v$+ctP6ak)SCH|1S>ZI#3uHGv1}mu5)EhOoZeHAfqC|G-9}C!HG~`!3n{G4otP z38UZlM;4*NEU)uz)lfM@%cFy zbN+sATITxCn>!-${DM%mpGtGH{bwezZuphhZQhkLQF60KeqMe4)wm{`Ww-5K=4$1q zl`aeP_qZJ$?X+8GI@?a^AI5JzgQ7p3Z&Xmb=dF>a^J?+`o~!>RJ~KaSWbWyleUw z=_%KqGhO_*UOVl^-pI8_*jsDn2TSZ?WWAJTbXdcCo6UYh-C3cpubl3eP~!}k652Se zB5CE#We+tgjs$K$QShaeJ$>O~TYjrpm8F$Gl=d9UeZ1+_ER&O^?p3=k`N`GBi%sLO zn^C#@U^i=^T20@YLmnQr@m06(1b@qAv^KU#J|S=YaN1=qz0gJX?G(3tO*d<+ZQc@a zw)~Ochjk)Hb*d%pmnsD+RVlJ7oOJtrFwI5XbJ2$23o~aM`3KybbglZFxY8LP2KMMZ z2aI{m6sHDk`pa`~Q|F_n2iuo$?#T9&wRiiX^8K-GsPr|#tuDSH$K&VfIi2D=TCwp| zNi}O_)QXKMpB}qUX}wUfz?EqN^RBf$wtr=t7OZEv>v)zg_rl3^^B-xKQ#7~oa$TEP zJ>}k#;<)8a88Z`dZgU^<@9Ew6wVQM4@}M_%tg*c-a(q4o9nn}EA1ggC@aMvVwaylO zJN)EQ*8j~)(c?c?%=>hbRfz4gB7??nyPPB$A4>Stno8+Rn|GhJ;N7)OGqtNxKYMS_ z77kwbZ)KlvS!n%gA+@SA*F(!@)@J*h6AUl@X3D+)YTSB*4LLVA#LM3n*x?rY!0T%D zN^#i-$FsTO_7;SHeR6Q>2ctWJoAz#!vOBTH?bOVM!h2~cInUReOu7H~;^_?~9r

    zyW4%LMmQhar0&Oa4g|%wdrXnOlW@Ds$fxH0Ea?8TREGLAqYzfzLeTzK4(+1ApBoR> zx?8#nHvFwJSD*I9lB?o&{-b?jll`8p$>RHVG}P$eOo=(_%cR0@dM2-W`0MLG1%W$J zyQe+a_I0*lK~?vDeLF{`<@44r{wUtz`rExb$wZ&|RiULD=cld@Qb~U{dL=MaGW;>U z^5|-Hu>fC(&nJ#0cmAGmaV_jA+7f%cWuxIE$=0p@r;c7On4W%y+3x$R!^IW1PNA9?RC8Zj$n}-2 zEIVm}_KzJh>Q&v3)0M23I;_rqv(Y=5%m48`)7!f)m0O&TI^^SJ6gU5Ike%4s<uE=xgB^qx3UpX(6-g-HIk9yMG__^zxpWY1-+;&nrUvhC|_s%_% z2SNT<%FEysn7l7-w&91W1y4%N>o4WaTXTTzYW=LLBy+CtQYF^~t8B84WG-5;Eq{`P z&xdj&Q*+Sxql%5{A(x_Cyj#5j%;ywMnXNpva?|b&?-DH+`U`BjWIHAOjP3T%pA2-K zTx8xFsZu+ys$}!j<25mYD^4EG5&P#XIb+Jx_eXUXR(anq6S#C#Nham#pKYt!B6K%z z6m$(ZKIeMKDbESEKh<&+{x$?lWZu?_t#NaCubKEE-&hD7{+q>h4;%kxc+-0*-0tb5 zj5+dCzwrEc_`lNdwfm{*S4I9UW!9Va_pxn=wur$WVXqXQPsNF^k54NW^fSnpuVEifu@zxY=0vr*9%HWRrwn(o4m`lW0IGj zy2thnfk}n7zvFpsR$oy}`eHW0_XX3{x4+#>A97Crao&gfzy@Ut{bMC5i+XoN-t)|h zxmvGpy^JO6DytNG)YVs-d&J}S7N45?c%Q#ib?};b;Q5EvOUg%Q&C1kqUwBiQtuQCy z)z1<|rnzmE?_KJe^?rn(w~%3--}%^`^FXu5#=N_W+Hxj%tqK>pk$5f2mWy$vyFFX% zjul?u{QogNR(5OP&xTueayJw|at7>*-6kR`*?nDKlSM3!IH-1t3Q_A zJO1`d;#%W-X2MJl{Ot0x{Nm>_xE^ccm*}vZw^{7>lD4!wInz(KlLc2u+C5yeG z1aU9^wd-8Ulg4wc%h$iQ_^GjPnWXB6`iWb1^GawOQTp=YaNmR@nX@-IY~T1f`9Tkh zlKDF3vyWH5ak(gB!xejVg}TqDphr=Ubz|kO1-^K_Q9h>8SJZV1vq<9oHw$^UdZaE{ zZRX3q_LTDK>pP|>SGN3}$m%X(Y_aN(wdTU9+n!f!vq|jUysJD#Y;sa!1$(%F7x%t( zQeQr<3X}h2C+)r2dA?V^TDI6W8@V|JyPWhVn5_yI>E;y6saamVGHhe;?5`_0eLe@> z=-=++vf)+m&xL2wMOJMSVgG9{Ci3szkLNA2hZnOdv#b7C@3<-#HgAEO;c=82n)B+WXppFZZjlC$JBwU@K&ZR$QXVM%fP@=MvX61*n84fJ`%yY|WogL6(V zCLdyY>mU;T^P$92uMK~yPx`&>Gq79eExP;2UdPMAFpf4x!Z(4Q!d+uXZiqmKVucFre2CVY?JHSYc|I>AM?y9<75 zgx9i7>X!d>ASgA?V+-i~3Eo#eF}r77>khY3eegn(q5j6B5LLsk)3cTGd2Zi3_2}f& z>FzHleQ=s4)z3c-RQ_wSKfG&xJnd-w+;wj6&(=(Ge4lpTs4()DRu5?Yv+1(Qmav9N z+G$JEo;EJoxHo1?&zETZy|wpE3mcao`N6E(ul%Ix(9{WMeyv&%k_Aft`2}^ccMESR zpO?NYk$8Z^D|F6e{g;nT`!~jLZ%SVAF41hEzxbw0PO2#>bBgv#+O$aPKg`>-Kkb>} zt_}Om1ojpxuV{@IJ`fSL!B_6ZOYNCV3cO9%rrus3S#&`(firPGy~GY1RNfN*smL5-f3TD_q-gp-|Cx)J z^?p8ys*?S^Y+sVo)arO1R_EsaGr!c0%nknK|6BU|!GZfr3xxKa(9W0Aj*i^u(x3Rz zN5DZzNA9G;#MP=-d*1wO-sW`nuqX4n^-{n7md~!u`gXESwrBo)$l&9IcRV8T zSKnL=KNF<(LSTV-TKVrAH@}_cZ9nV$*~H5vd%koXaeZ|nSbG5 zs#(H?ytvk_lm7BoD^&JV%DGe-%XO0$-2XIL;`|2BZT;F+tN*h2KlA3;5@m6&W@W$& z*5`YLnSL!PEWQca|FH2?u;w?}yVG{vR!sk+#=qr%w7pzM%Jcb>`5DLGDfxT6k1dqk z)IDQQy}u)8**>|0?q;VwLG!OuxF?9E$E*J5xEFBt;$wj)^-VupdtIlx+VeAqD}9-; ziY?1->7x~qTX&zxJnZt=HSTuSHQ960#_|P|n4hZb51#f?aQZI6KG^`>n1=pOve~zO zS}~TWOz{bMvrzwu%--jz*4xgoS!C^)bIdH*>R#MDR@S0u4gX}1=ecIRo;#bOnEAQq zh~zxEwOyn-xGlh|Y0BD%FJ$W{yp55TxV+)#dXAhZr2|DL!#%c~Pfhrp|H>yu&->cy zKQ^ilrgAdWOS}qEO*EeFEt1c3TV3kW%la_)ld>P2rg6vdZ8o989X+ z{rjgzIGgyS?!He4f<(hTwrt#xaQnj}pO{-2S2kGGZCm8S5HZ7YMfm(8XBN#3`{HCK zOTBsFB)3!UJRe_RSv{-mm)CpG-nM(ZZ{Ni913!Bg@BcS#b;lm#dH*W5s9Th+6W+k8 zSp1XoZxq+$U)#UVGW<|^wK}XlvpOBz|Bp<{+s!WZ`Kij^-N9O!hflZZUA#7RW4eRy zW1sgwvahd*T5?-_u?okNeJ4V$KEM4}VKp1eiLBHIj}G=baBR#~{r5auyYK2r+wIP3 zihp*;rrulnWApT5HM4K+cp-HAXMf-RuD=WgYvzK^e+vG2WP-9%%KLfY5>JC$UpWe} zUx|F>vS9{maz@fd?wt)Yq}(}=b#Tb}@@#j~cqMn)ujlBNI|A9SluczOus+{;P|9Q? z*VNgIC)nKB-SDIPcpJ}x{h2OP=I2K*|7vMcrJ7r1VCAA?HhJ@=mg9Zb9_?wK+|R7N zu&pIaWb@0ljhZStF`L&-TA-Sl_kT-Cw$*b-kFFJKrSJa<-Bchf&2eqPTa88C_1T9O z?O9zhWp6^*q+DUChTmRSx>=TLcDk}-yZs%$xAyHwrj)wzNH0H z?d(nJM0Qa`0M!- zS4s){CB-k-%AA<6Y*Nla9pB)pE7jS8tPlDoFvs4xbjS4dsl(Iw6?A?#NIiVLJpItk z9gKY5VewpBJ_UwumAtlmv$apQ-(smPDur)WyX`XW{U&rGD(akTYT@JhPA1EiV|j`b zPURW!u5z34CAdbwRp{^P7kN5ruL^{1Z&s}0yf$g&ede>j7BBdgx$Sqthdg7?@Kdu3 z4k*?uR);O-e6r_c=-nR^dCYemk?+`O@gixq>dO-oKl;nfT(L6y%)+)e9VwsZEl?>h zUGj0&@tWbtb3R+{h4Ebxt~1*277fdH;#>l)FQ@h_ zsYkE*%a1H{Vbk(XK62&F_eVCNvWF8{6+rtxc5jS&yR<+e!18halO@bO-UX_KJ%&w+ z5!;0|cC9vIPI=ByxFc!#>ns1`%-2hQ{ZllvHOo86SYPRHPqaziW3AYlAeV^=N!neK zw&p7t&VE*!qWmC!7Q^~>ra-gy;#r4h%kgn@JbU;2V2k(p?vH-`Z0<~UUoGcX2p#SO z+h4fr@|Rn8g$oxZG^I#2yG_`>-85su+<9G6e;3?;r*N+(>DaNh#vHrn-pq4SP78j! zGsPop_ukpXa!L-M`d4msTuIiHkd}s@`G@Y+^f6tjjuS9F-!6xWn6ua_a#r(TJ=VG^6_JRC9gjQx5i6VL7mRDXNiZ3 z+wN{%$pLQvFVB1NPRntZ(Zp{DZ)ICNoFeA*`3aMQnodb#L$U8FPJ8#n>Dv~cjqqA* zxYhf9YFR^HjA#z5z14Y=Yl{|9{b0zNvP$&kv38&(|icw)=b_C^pVx z%g=;_-}Og)YNmT#TP^TL^?(rvL;ViJ5Z2_^)3cNFcy6nlesoee%>AUAg44DGef-n5 zyfV|{2<&IKi!q(JJ5c$=nY&d2J5KbfYb7)s-fed_f9JY23L4jOt+VNhaayy_aY7rmaBu?7#V#l33Tk@=0?y)93Sa*v_`MUSdMH4sFY?^bftubfc zQ)lKmDN6;v-4XEyrGGX#(+dydZ3Mipi0Z7@)3bT@^ZZ^V@#y945ciY2e4Vy! z>f@glTWZtt>-$5$>-*B4*=BE;AF-rBO84YEb*sSWKxbDu2|o5lCL<5eq^8A|@)ctL zmQK1Fos;AxwQOJI|CqGjWvBHLl+}&r&-@*heOk#!&iTm#&Fs~6tK4}`GT-{VW}T{m z`%1>R4J&+0Ur5hTSRg0by>Piw|D7=Rlb=31O#_X8_?)y^vRv(9UP*r1u>~0$<_9b- zkdl#@$9^g}Ixu01oW=fYjY>Ixqd4?#@2X9Cdd|3M$MrRZ6NFq>FaEec=x6%nxmiZ$ zOkX-)J9#~p@G$57Gg+&2_p9zav$I-aj|G>RHuyOznyzmSpL?>PoqNkSosA2to(JBO z3GZAmGxndWjOe#d3zg3Cxh+xChywrKzmg8;bMk+gIjELl(Y#2X>w_o4H%JLiF>kW4j* z{YGcz+)BI_HI2t-b@)PtkX^>yJ`W`RD?f?n<9_hCwdIwb+o4^WkHeTmgx`ICY7^3a ztd${Nq5R0itd9LhLJbbz2%fXWK>J6o_BF}Vhp#oSJhVE3tKn6XYns`a`lb~j2F;hA zDSkWoaZWq`^QE@T+WlHzt{ysP<-Rqd#>2(3U1d`G!5H6&wJisLIx=5#RId{E5y zBlpzVi>FK6H~qW5>6V^MG^qU15fOR!<&jND;=$Fd3gQdTZr|j*SoT(d;Qo^<@?xZy zww2@x+RQU-&{WXLNW3)JXIJ*4KWm$PjDN>^1d}hZ;f$RTCQAS5E7Wm6W-`PCjfHDJ1kCmF=wbgZRR1dJjsaYl`9X~B)?zyIdYGS z49}PEueLvt5q+h{?Kf#{h|&v_BfN<4>c+M`Zg!!-Phkf zt&WNguE}Dyjxqw-e|g%Bq(ygHlOt{|GtFpy^lbi@nwb3LvvZ4UU${hnO1%9fmD`?k z+Q!#&Go|Gn?NhF-WvJQgw;)vJM>gMa;TFBc`8(xfW_6!*I}_!kK9!Ae$CRq$3u8o+ zIy3g<-McKK{7tR(-6=c28eTbm=f1U?Q}3HKvIfaXZc52B)|d3#I4inso0reat$Gd{ zXPmN?Sy#8H;l6eaNA}HmD#iUi-zWN9R?$`#5!@!UBFrl~EKDT&%O;LR6T6?q+uYXr z{`kZ4_pj#N(6X;T7Vmn*Ixc&r9@~yZk#Wtn@*yj&E>GA7y8r#l!nSjaY0<12I;m|N z53Vw=dzTeuWj)2;G0@Ry_m>qxkN0&s8qSU8Ql0QZzHXVzQrASHzo=>c znDDLniYcR3+^WhqH4V2W@W^Yfib<_6?&F@|%X{lq^+)jiuMU?p@8!s-d`oLtciv6- zq@SXEy4cI<8~49k+Htn=p#ZCOFlV9d9r+jkG7ECkWmz*`<@wWftUETa!AFlRWdRctFno?Zn;YFX+ zj<$H8R{zCQ_4LEb-SQjdYWaev$%*|;G%<5q%FQOevt>g4@hx6%9<@=HQs)9QF05Un z5P0bBi}#M2Gn4|hthsNea=ccwpQBJCS;B_d>$xJw`6ql5zjK7`ZhlzF_hpL09jlxC zbs>S*cR0Mv%)7p;+kfk^<%evo4rovK)}beprP^PdILCJ4oLg4{Tbe(W`Mq9HxW)0& z0{-nMUY;tRb+ef{Qr-Vq#M~tgc0n#jo!{r&lPHP~^hlO`{^5Ir(rvED>)AR^OH-e* z6c!}~SZI3`UTZTjF)3?n^*M4~r}_%Jb+*6K0ij#L9(@ZN609d|^sc$F{91Ov8`T4w zuQBxRe;n^BW;K0^`P$DcTcuuhg6=OcG{3+mN;U|FI?2 zRlB67rb`6`7;c;(8gX`6-Cwmoff-Y8Zj`Qhabx}e4GsdUe@V`oqrKrBkMTkY#dC$< zd{+7edVb6P&vNa5ruh;1;}6%_pU+*k;L^7L?aK?Sc4^E@mrIT|JUK-!;?u5JhV`jY z8WT_NlFdH(udQDtET&jUa9W`87oOrpwZF|RHN@|3pVa;M@qwWFP>(I3^?yGe`@~!i zzt)}iUiE?bEr$9d4?|cl3QW(Q@QUa62d+ma8~3}v6moLf7Tn7}ZSh>27M-?-e(|98 z&o6(6fF%V|%Y^2!PXMid+w%N9qt-=*DchoXyLUgZz1aJ1%gjI7B`;V#nb!+{*k3;J z{6}?7Yjx!>v)5ftDUe%K7I@``a%S7sKwtkG$(y1Kj;I(sog~G-yCPKY^(zB~9U)@f zT}74WXEYr@z3amBe`)I{WsAQyTOiF|>^DjOX!TILa- zmg#xoJC{s4wZvrirnye>Jl+kBt!-k+Qj)4hJG&HFuH@3E!ws+5U4Z#kvi z-v416gWZIxw-@(sDpPiS))%?@_|d+CS9^aZ342LcN@!n`J9yH(K|N<%5LeIYFJgJm zH=LXICh*P1|1op7dVFE)PO6=&7N8Gj-4pe2`Pf(zoOk`jxihD(EH}3m zUlqS{v+aK4eNSIXTvJ#j_l3vq!J~(V+Dzje*zWkUzBB`$e{$wqVve<+`?`g*RGrn@ z3#2t98uO(WU+HbR%fI2Xnj)nC?Xmi+|FM6|>$2xOi1!ryYF&1dCw7|r-kX9`o4oE|)q^I+U_Vw#Sblv~7&%=^lkZ=w$Q`2Owak&j&aTJnYG27jJ> zpSR~skCa-R-gV*ozx30e5-*vaDt>WSd}rH~xeVT3JH@WG7g+ng-*fLb;AHQJqzv(-Zk4+=+$HpTyIR>jEV~)*OaXNqU>m}!( zi|$g-&?&Dm)>x8vytU)(?8jU=EXwh(HgAzP{>0X(beC(%1;$C*;`!^|9&6ecUGv9- zd)cpRfB0%A|N3lqGk6WtwX7P4o34@$>di$n6K2>{CcE$mt_cLUzhgPtOhD_O-@Kmg z?Kv}w()u$_*>dhGg0iLMrrumj^9R^x3%I# za$S#VS8sLz@Bh6T<+R*xhR-MI^&TQee$OoI72e-<;DZGVHOTob^bBObBoPt zwEH5-_R=m~Eoa(Kg~jKmzEAf0`Ewr6nI`E8H}A_>yj<6)siYHSF!7hes*QFh(w|>v z4a}$({JZes7ydaql1TWFZ=5&xg_llEws`95pp^_U zAzMTAUcT<{>Q&`Ck(K)R(ZP0ijvcq0(lYjaNh~lhNL9)GWoG3PU}jaaaq7`pqkku&cws|2sQk14F>SljmkS4C zgAUfsZ1>u+aYKu>&x+|xp!Emuc}x$LZ=7t?(wy)2mZSIe24BmKi?XgXUstPNY$%rg zr&OJPkBubPInKC;DS!5*9c@rpeE!M%WG|`zYjWRh@w8g?QqI_tZ6kR8C5(Gly=U*A zMKj+_`km&H~7MHX>;xDehrQC z#n&gT?omEabT!Ol%lxE--)|rJ#BB1qwtCxJ)dQz*FvK5v6r%dWX}Xi%y({9Jnh5`%N0PPYIO86qXziue94uw|}K_>I|5 zbL5xX&G37~7_#50^3hYN#5qT&@cc6ref;oXTN2+iv2RoSMPjGD^|V=Lll$AwsNZod z=>D0*C1Hi2^+(dp3)?Q`Sb_K7tLauIcP-vkmLhgLebIIAlmZPWw*Kn(Avz4T6AFJC zNHeaRw1D^1T}jaX_wO5PCX~!B@n`;VVS$0^R>sgt((HRqq+j`1IMsW#7|(@`rypJX z5VlY5Dqm*U!#MtJohNLT%u|1ur;?j?>~8jk`Ho8pq^3yCW0#7G4m>qg&cf?@qmtR* zD30&9chx>Q{%_gIIRQ4?nFPOWGWf!CdQiGx$ zn*Fvq`nzG7*@Qn+wAuHa2)^Q0wncb@E5Ek)TMhGrr71JTc14~`DN%HbX-fYs&3k&@ zL}k}`3mm8A=Y!AR+VgFb1Ze*o!^zM&tEvoIJ+sXxu23y+eG#s9-8-dBgPAS#c-h4( z|HBU3GwHVPp4;`=o$Fxp;suYgHadTr=rTE;$CKgfZ{;~V!Q&4t#^?P$IZbzH-#2T+ zs-$O+KDD`B+I_1i|FsCmHf;xWKKZSn_D9CirOC3q_nsHLdhv5Ui=*Hb>m?!+gPw)) zc^I@tF;C={-jnj?U)bN;J7EdUbLVb!=uFo=Sv%40$ESN0;Y};tn0{ILi4=b^*RESV zQADfhM#ky`T5}ez$zRA2GS^rUZ2yY=bsIqEk6mrIShTRyX>NI6@?D*6HtWT|wXp`P z*3R1`wD`~3_eoAGqrc{IXnPoKbS?SG@#Tx>hQAIgCjOYIE8hF`U-S0jGvXdx>sCp> z{>%PT@w-Z3gp|_XNl|i#&6b{7tNnVTcP6*ZiU5`-#elYSV=N*f??CepJV%7YJEf4e%ZV1pbl-&_B>3IB20a}e>EzDEyGrxK{_k_v^T;XI7GV!Ne&m9~&&1Ol zNha!?>n1Jm`t(!6@4m=gM5#u| z`a=s%0q0&XQJH7S8iMCR=kM9?%Uru#X!Dd~C6ad>-gn(;+dA8v9aR2YZ&aH3H;SVb zI{wi-HNYmBS@4^S;TIm;O|`QdH8slTU4x|mpJ5(b>Jt)vD?IjzG4Q^&`r2F71M_b( z#1}sfQB|{=?tLqd=QfMR{e~O%i@3lsyXMdtNdT;KkJ$3xwve$D0Z1NZdzg;o>!c#k`+o$I0ic-aE2f9L% zE(pZ7zbY!cl=(T|`qHdVUfioRuid(JFPpQ@bYaN#nmdy}7pR=wWE$~H;L^P%pLgGK zNzb`1KKZ-MmLv||htu|TmgFt)T(snPf59v3e^b{pgheksRkR`~V~Uh>v~=7C(V4q? z1r>x64X;M0BxnfnM;w21(S6gG*i_SBPc@d=9FkGuxcxy+;Mh{HiQGq5O#9k=z~|&0 zyZ+Taza`lvSIBNR+?+7y@1&P98x6!H^*1`5bY>Is{k${h<@ZOXA-i&&Sro)e=55y8 zoR{`8*lCw>@Aqbj!yInOQjdOo5%c`n#F@P-T2ZWO8%N=f)Mc-){1W`W+<@segV*!e zqxZtrXnfuBJ7-bImUA+}Z#H=+aDQaJXAW9_VPG?l?am}A_WdWrufCM%mG+%Eht&oe z|7_xW9IX~@EBOAxZpqt=54TzRPZngIYB1;Sk`k*$QRlx47O!j5$(ED-bhGTM6MM{# zyw87oC3>I!YuYY+hR=g*-FoS_f4KjL?zX?lwo1*dVX?#S%LS$3hIcnkXi&|r@O8g) z^OAsB+4(IC4>H7TK4@P$tFTx4uBuS?;lQ5@-=%`)KOED=!RcQ;q$K;4nTboH{RWSF z-&VXWIK}#GYrJ$u0ppA}r9of(PRSLmjNs~n`9{kH9j$gVavb`oR zD#=X!;N_`t%9&@1oYnUxf11xc;r)vco@)OqaR%qAR)?)juH0wF?f2blOYWxKJU8D4 z{@A%F(8=cEF6Zfq^@7is>|Rt`C_b5O?Ps`lnb*qm#zA|IZnMa~z`7>ec%w_<|J8<< z!S(+{F8;kU3^S^l_kqs8jRVjBmnAp(x4NEr`v5~ihr1kUf`6Xey_tKOfcGhlr z<{e6#LGypF)>+NF?zOhkYW)+Vpoi-kHC1$@g}pLY>ZZK?A6}Bp_0+*bbdHJ}3K}`^%SWy4+_T zVh)#n^inh2{bb-jr)^u~`N8K;T0`d_q_Z~6uUc9l#U?qAy(Snk{{~urG52p2$Nk&8 zYQ>NJTXu17fQ!w@yCK?YR<7rv*Ngw6 z#Ggbhlu>z^x!OhNi!8glP_<}_%s$DT5|dMFl{GfxMYtF8T{0>DCV4XA)#Ew35g%Pz zFB$&5#pQfsrCfUGFWIK$A^pV~huI%hzYi&!S(~)(befFSzLXlXTQ4^Sl%y5OF_%O<=@4@)Q( z{5rSld5qJKywhCC*6JK{dw%b{nzJHLChSRgJIC)?B0Y__{jSAL;}TunbN4{;^99vD zFHbd2H@?G}aqF+_>(6EGrzY-^-p0+!#sBY;ZJ^x#hLFv=>DDW zlJ4r(#T%WoSI=Pabw6!&2;Bei;aE3w{{c7uUtXDWcqg9OyIA7U%Y(~yycF@9XS*{t%)hg|Kx(nnJa*9h8>sx3JkrQybSp|@V*0LFy<`8Dt(zBM zGof4HsY%mIohe2hzj?CN+nCm99%8Y3tngfhV@hGgbe%Z4e74((*Mdani9Xn(cd3PI zMSpLR?W|oas-W|q9!eC+gihRb+db{7sN}Qnk8DF$<^H$pQu3X*&~ZavqHC$(&J%_? zOtFXjHxlnhtzE8idHOQ8klofIsvgC2n2mMWXA1`Y+&Jrr`=OHx0q0UmdEB#_)c;8F z_D)}^miw$1eEvlJE9HQ>@lq853pH<8C4BnTc3JsY7tF6i&EE{Qp8kCt5OZJhG_ zeYaMlV)XXPh^Ezd#f!Feotf}PJuIQPV$L3irnHnp+#gf|HELAYc7Ar|JlqtMQ!!EV46{Q(>Hd?F~ z`1YXG$|cYK5V-$Q^2+x;%RQ~&rEQ;b>%rk~scV(;al-7YDbN0I=hBOkadb8a+h_1D zrrY(XdrgwDzVhE0(J8C$Rtoj|xprxT&Oh~AdoN3|hF3g&b@)Q&kWEHx;P&Uv{eBx( zB|Uz0q>p3q%1-Cj5`CMyFL&~v2+uiWX62%3wpnPyltZP3jQcEl!{07(?fQ0)H{sLY ziI*5#qnYP$?<>m}+jYL)29?k5< z`6qnV#;m!%;dPwe1fNd~>kqQJmwqhlls?tLb7Ru1k4>QckK76_(#oZQ1mF=W6Q4u$of0b`iBQ^R1bW=$q@heafs>{tLfe? z`8>Bl``>EA+)u9f>@>|hj(=O?Nt-3_)gR^+=cgTeo3&wn!qNh%Y>9d70m0FMQB&nC zg0D9!fzJQpzO}3N@9}@jv!9Vr< z0^i+2D;4fo7q8maIe)ACf#}!`u6))xQyCQn{x)iK&)##ss^x!J^M-;mLJEs7tbe+d zzkEW(?kBUAaui&qO5`hDKOMXLMeerWt1|ceo__9P@|9raH=>uPXEQzBTg4#xaDt5e z@~;zjZa8`9>D6}EQym{8z9pO$ymDQ_cE3j2!$jl#X=j)1+Nyf2zv%Tgt&UWw<|x0$ zZIVB}Uu&NBNveuv3iqZjY?J*{kmCG?j@Q}YGA2VfNn-zH zn-)%CE1JQ1UbyJw|1_pvwsbD@>LYx!6hq1nra4uw^l5a?D6HA$>v24dH`ugX^|S}4 zZp?O1_kb6CEx56LRI=GVLqPeF zdXD+@BS8}W8E;&s&r{1k?YI19UGd4|wxO|Ga@guOJq}TPAv}B6j=Y~d2cBQrY597S z++1#_X_Ho@W`Fz3^5y@Ot^h0l!2dQHPASGgSqFAoWM6P!m&_Pld@t_PSLZn8b5TrL zT#uYZ8vnI5YA8loaYtNRma|vq=eK%x|GXE1ib;>p@@X{$iG(|z`jPN%eonlN_3eMl z&sIK3eZYE?Q}x^9TaK^Vp6hJBRl9eycJ@KXuyZdrtz=sFP?ATBq5sbzX_iH98+3(C z7bjc)omp0FU>J4li)6$F4p(qd6%*2s=_i%G)wVh&&1u=(|k^*`loXFJB8G_=oq+;cd{ZqJMR?k`@>$tWm^ z+f^ix*?pk3=XKRf0p?cmCeXwqL1wr;uo>bVERKVV_T= zJ&P0f%Kg#5qi$8Xo3+>WbKDC&|AXn`nZJeGRsVdb$tcly;af0$V$+#~gNWWkf}h8F+Fzad|1LpNG{ESbgPhgIdt44-dXb7!GoSXQpD8_Z+&@_S zhodFy8k_pOs>G(5X4+P76>mwNbp3eAAtY4SWmER+nPmn(b1piFHtb%fV%&b~Kskiivw#LRB-sKwXiUZo28}?1H6Jo@_QU zjGF)DV({$j$5-bHR8DEQxbp8Tqrj{LaG)}_iSgP&b>_JypMBQP;J9vQa7I!&!K(QTCr4#t_zu(*JMwB`r7tr<-(ga z6COJDmsA_waz7EM|I+a_d-(P5I$u}4`)U6pLcn_2E(|OpE90nyZ!OOhkn%( zwa*k5itKmGyJEF#ZlJo%YuyHKR6pE)!BFq;fo<+ftLfQ0 z@_2p+c*iBS6fAz3^j4^+eJlU6@272Ap4^;tXZQP=vZr5&mRknN?3B5fc%uCJpWS}m z1=EAsrstVSm+YJ~dv?agwzsWWGKs}bMmEo92A`Gjzf!yVy4IbrS=S$Rm@AqDKMk{( zelR)ta{ce%8aI#R&j0VuKJvRIThsP{iEWN0O9o5sp&yZwFVB7q5_)^=>$6QOqrXkM zcqX%Po^rVN#jMH)^Kzc;+_?C^4Yyo~;`h*)vRRWOd^Re)qO!z z7K;RPCEw4mlvKU`X~FLETHnH(lGr-i6+#2nD%_oRCSlfXxra;Yt^99B6%*zKwr62APJ zME4b?(4f=ducwG69KC(=@za_juj=l`H`5;cyt%EO?ePm%eXF?a+Ps^;Go&m|Dupe4 z8T@h0w#o6ortzILZ5331<*$)f|9n^W)O`<@L|IRh+^nV%lwZ&?RYP*)_2bMre>gRd z-+B{}_J?I!(nb^%+B+ybR*7S;;x1{zv-cRjp%%(aUk^X$_9Q7_R-0E0Q^Lx#xtdxv!hP4=npytzF=O+Ra+~!`y2PL z|46#>NVX(=Qr#|f(JdQZ^ZIq2ei|wD$KU6HSgO^p%v{bR)peGs@^g;wF(U3Q8Y2S1w z@nrqZ2Rjem-lN=c+)z#8_pP6udnB9Lgj%OechCK(vgwKJse{hzU+ws~ZF{?La%~lp(%*88iMQX1C^Y|TYrZ7t zr|9E$?LpZlo$^h!ot%;q@)6e->?s%O(1=YfSkkB=bvyP}jn4#wYdaY3h^{cZY3$d3 zS*HFa=hEl~wX)w$nwNfd>bT$PJ6QBjHr{6O@t-CCq%)UuSm&obo9cD=*3zW~++7xL zohpMf9Vb4ouKx6VVZQg|D2>IxubXfk`?qQFN6VsO=C~Q_4Zi4<|F!;Wuc^UYb!}3& zd%=vL*l>>nFa3?0^Ve`$-C&*3ZLm0bna>L=zx|i;%wKY^jo1)xc79{%643ciFL!-( zdTh?`b>#2-s?*Y0>m=)Jb2dCv-SDaXjh(@pxQpsiY}|@pj*0kfnc3)W%l-HN>2?=;U~gjSF{QL8_6#K6w#Xs%)Nt+gFwTHY_wkGSJT5Q;V zY-xej%h>y+kh%ge423Cz4&jG#>CsZVpER&Yddg7Fv!*|_Rho9oq0wNYQNT{ zL1mt52;J#EIYlfbsMb6dc`y?#QfV@Vb^=Nhr z8~27?ADyHW`DQ!sHZ@`AX*>F>T4GZd`BiA8J$tUPVgILT z4px2I%haWGRQ&rpm;^peKcK+y(oZ2-WLNAAv43q%z5y~-mjtive)vTvJGpkZ><^7_ zrE3?yvML=AP!=`2wlPL&rtWbgrW_-PO!O|Aiw`XVAUJT>Df*Td49K_esuCj zyZg&_1*dK4aeOboov>+O7OODW~poelG+1c>CD8edx<{6Ho7V(pQ#gv3OpRaee2#vS055aPYMvBrJA_HvHs zBk~Q)s&BF`Q(c|Qac`ob=E>6MeE0l3=ikWdUbem}{l?V;#k0dQbJidK7}Y7L_RtTM z{ugAudw6VVnawV_8R~qw{{Bm+7!>#J-Oc29&PnC_jxI6H$#JJ zam&T3hF!aKHTrK((!48?X};>uRo?WUAF%dIQGoJ1}x{TRztNeXn~`2)+23Pc@EpP`tlqr$hhCo%oZ%14Q@hgHM74lE6h+Bx^@pGW%1 z85VgPPR7r7=V`3l;Si=BBD?a_YYW-?xwhuz-F@-_uLbVta~}y?_`>{g>q=5*J~w@ z+dPPzQLsEs^5A`~>iaw^%hv>0wVtnlx=Rh{a0B*&x_|JF_UdHWoQf1s{-5ApI7OT{++)h>M3dk4TjXkP#9X;4up(`< z&rQ*qw}-_8S7lDG-(sb+|C8sVlUIU;PySrW_%z*{^U(F)(reOc|2*^kH5WXy+%W&# z$AFwa;q%m=M)3zez3uJu=~QGa<~pbD-(X{7fz4g5iO)KWR8j)m!J&e1db{>XM~p4>q50vU|NjH29@%tL7goQ28T!t655T z?~9dAp2gBp*LTlOX)!Wh%w1=n_H2R6vNx@*O7(9f5)A^ym~8)DmwW!Ib)j?G&TNgm zLoaJpn|5t!PWJLwcN4s}-hkU&^-=7L>>Q01cC&Ava927Iw8)G5_8$Yi`S~(IzCSpp zAFp|H>%aU|Po39~Lw=piysh-u%J#RP^~Tl?R^i*b_!7Qris|3qd{TJ1U)dtYdaX3c z7QN?xIv<)^x!Rs9_A3@L-I#3=bE)+zlhWU%{8xX!;4?Y)uX6Q`f)E@3&}#vb8+gEd~JCHqRra+bS~OcGR_m**Hvl$qRp{$S~PrYXS|`(>)am(^af+>rPA z%ID~9^ZTUS#kw{#KQd;Ip2qQ`@N|6gLqF>YACF7@;qQzqlI~5lF6>gW=}eRFbnlR!EXZHZdu!wT zsDAUqoJKdiG&dBjEnLhym7$^eaR@7@{p&xG=eOsxC;sdkHqLkBblR5gVDNCls@Nyl zlK;Tv&yF%bM^OETY(Ez; zMW=jI>T*l{br+WiOfGeXZiCBjEuWv z?gZ7`@LE^?Eo*VwsrWzb`yYqMUiALPb&)-y0z@Y)LVFFNJx z;(ys|YKSqMn$+#iamTMb++j|CM#k;@#X2!JyskA{JkfpN1FC->i>UrInw;6E@4M@R z%A?L^P4<;H76|{>lhnPwuc34kv(e{xmwLy=PxZgH{di+p{8?+hT6R=iQTyHSz}*jy zduMMcHk)|+nqkVZf5+Z$2#~23H=e%U;DJT*vdrD~8C=d<*Cup{X&(#9m1R2Cn;>^7 z?UgIja_0GmDsM?ID6lRA%DYki0HEm1q58W3LyV%RmzYb>Y z$iAodS)ZrnL-eDQ2SS`5uA1nyO--&~+UL`@ZSrah`KtBRmMzHKzVq19fV_7;&(u@J zXZ-04A*_e=UJO8l{kHV&9p#JBB@Iwss`~POKzGUeH zwSPeEuTH~d?2=v^oir*p%W!^RJ{DfC4f;u)FJSt$dYet;Aly`Xfrm1WU zpVBH%Mfu*+n0I8APxj4sZHpKA$rLk#%0Ec@zkkyp9@PGG(7oXl8}2b@<%9;1{W%9* zFLoQOd75xW(xHCevtYJYwv)0q3>O~ z^=`@eYEr?__UE-mDJw|(^X`&m|K|123YINqeyF#6$DS+gn~Ij`T3C4KUfZ;L|1D7a zGooc(eZlGa-!5MSjGlGtd@}nOb5J6GdG?)NL9gk_E9zukuM1Lf?_iaP<`VDHKFE$y?n5Qo4u{R&TvD-N|9Z(n#}xze?!+2K~_Lu11|zFdTaf58<{`}2)!1GxP8?7;~t z{|wgUoL(sP=)|D_?~kiM`Tu^u*!Qy*4f0A)y{zlQ+7e!E*nezmhS?tJ`Ql2^mv^3A zA}8_b+AK+>zq@WUdTXt1IreepWhn8Lz^Z8pFf_y!~ zTNc*mThIUPQgWc`T95q~(+?q6IojP{`+ViJYA;z|C-P;Rkd&e4y!eZ|9>%UL_Y?2> zZ+L{~vfWKT?Sjg03$r%Fo9(SITBI>gLDbtTVPE&N2Ss6wzi$0?HJ^BUms9nze|^;{ z5uo@#wn6_1sQlY}{Gvj*&WWbk5xNJWmaachap0=hQrIJq}LX{-FS z`;Ts4?mRe!kNxejMkXcRMG7-7JFQJQ`Ec6&C;GwFzhB0wpJ>rZUz@bs&de-5N=}No zUg$uaqkBZ_y1azP<+QXDNg*gKX=7(HPs1DizM1CWrJe!S58TLP!v{KrSvz-qVLG6 z*qD3Y_`IKF$mGj19pA6?h9@?YKq@1i51@>k^U1D~4= z`Ro69v;I_?nX|7<29*C!9t?8__5Ze|$Mav?-dS@bI_;sKO+p^L{NE*UFFk7V?ZS<- z7&#x`oF}Bkx+o(sdRJ`8&5zS2H^>M~Pf5R8$j77Pt)fF|aKbn_S?5=d)*Vo;> zd*Ooxv-KDE{JG(Ja+cy>o0n%ae|%qlIfV76YDe{kJf7;ps70QPV(!aQ6EAs6#Ixt| zd)BzjR{I#JlArc-f7XWoa~-9I+xI{`d7 zGC~(OYkbkE_iEj3uc;Akbh3B0`y+-)cc*uVY^<-pUGO+Kc}7>*=>nal4}6Zv*YE%1 z-Ktr2UAy2N&zE&vpKjiZWY@IX$W-<`zCV*AQfIcvGDW`X_sf!b-U}{ck+!0 zZ`rtD!R>tIo|+rJHz#X6R#ND>$xvUf9K!WYX=d^IL?3HIsU*(Eu<(ytzxl2!pMQSZ z_mh8Iq*vD6TfJZMX2Plu|JhOvtQN6!m~eYL7aEGZOZauKkxA)qsCnb*U9l`9q`Vl|~r{haqXU604^mXh)*m;Sr`Upmu)@=W85 z<5NT(Zfmadv7PEQ^K99hl&uoe7<6836tsGodrj$yKhM49{4;O1geCRvx|M#|v&w#X z)7rWgJE!y6+_A#FF9bIHemvDV^s~fnXOpsQmm^bx13Ip)(N|g=#rySRcW%h)-nR2s znLWbF1gAf)`NAoDuy$TFvt+ve(n;%#c%CNZE6L59BI^1t|CnXa->N77(w;F)_2~>U z>$_Q4@G|SDQd5X#-^So&pP#6@ull{0Z<+>I^uDFDa@I&xrz#{qed z49*rs3KSK7JrEpssp%$D-Xs(MjjK;sh;O~OwE2a-4O?#Q&NIHBF zfBz`*Q=41=-oCz)7CW&^)}mfvm#=1hetqnrapta=yQNa%{5IdG_(m_dw!|R(ZoSOc z{Xc3Qzjn7BKOq|x%pA1uoYQ2_@aY^=r6i@4O1^FXm&AU6QHGIs^+pxd=>d' -}; +#else + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x0D, 0x00, 0x00}, + {0x00, 0x0F, 0x1F, 0x00, 0x00, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x20, 0xF8, 0xF8, 0x20, 0xF8, 0xF8, 0x20, 0x00, 0x02, 0x0F, 0x0F, 0x02, 0x0F, 0x0F, 0x02}, + {0x70, 0xF8, 0x88, 0x8E, 0x8E, 0x98, 0x10, 0x00, 0x04, 0x0C, 0x08, 0x38, 0x38, 0x0F, 0x07}, + {0x30, 0x30, 0x00, 0x80, 0xC0, 0x60, 0x30, 0x00, 0x0C, 0x06, 0x03, 0x01, 0x00, 0x0C, 0x0C}, + {0x80, 0xD8, 0x7C, 0xE4, 0xBC, 0xD8, 0x40, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x07, 0x0F, 0x08}, + {0x00, 0x10, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0xF0, 0xF8, 0x0C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0C, 0x08, 0x00}, + {0x00, 0x00, 0x04, 0x0C, 0xF8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0C, 0x07, 0x03, 0x00}, + {0x00, 0x80, 0xA0, 0xE0, 0xC0, 0xE0, 0xA0, 0x80, 0x00, 0x00, 0x02, 0x03, 0x01, 0x03, 0x02}, + {0x00, 0x80, 0x80, 0xE0, 0xE0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x1E, 0x0E, 0x00, 0x00}, + {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x80, 0xC0, 0x60, 0x30, 0x00, 0x0C, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00}, + {0xF8, 0xFC, 0x84, 0xC4, 0x64, 0xFC, 0xF8, 0x00, 0x07, 0x0F, 0x09, 0x08, 0x08, 0x0F, 0x07}, + {0x00, 0x10, 0x18, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x0F, 0x0F, 0x08, 0x08}, + {0x18, 0x1C, 0x04, 0x84, 0xC4, 0x7C, 0x38, 0x00, 0x0C, 0x0E, 0x0B, 0x09, 0x08, 0x08, 0x08}, + {0x18, 0x1C, 0x44, 0x44, 0x44, 0xFC, 0xB8, 0x00, 0x06, 0x0E, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0x80, 0xC0, 0x60, 0x30, 0x18, 0xFC, 0xFC, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0F, 0x0F}, + {0x7C, 0x7C, 0x44, 0x44, 0x44, 0xC4, 0x84, 0x00, 0x04, 0x0C, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0xF0, 0xF8, 0x4C, 0x44, 0x44, 0xC4, 0x80, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0x04, 0x04, 0x04, 0x84, 0xE4, 0x7C, 0x1C, 0x00, 0x00, 0x00, 0x0E, 0x0F, 0x01, 0x00, 0x00}, + {0xB8, 0xFC, 0x44, 0x44, 0x44, 0xFC, 0xB8, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0x78, 0xFC, 0x84, 0x84, 0x84, 0xFC, 0xF8, 0x00, 0x00, 0x08, 0x08, 0x08, 0x0C, 0x07, 0x03}, + {0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0E, 0x06, 0x00, 0x00}, + {0x00, 0x80, 0xC0, 0x60, 0x30, 0x18, 0x08, 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x0C, 0x08}, + {0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02}, + {0x00, 0x08, 0x18, 0x30, 0x60, 0xC0, 0x80, 0x00, 0x00, 0x08, 0x0C, 0x06, 0x03, 0x01, 0x00}, + {0x38, 0x3C, 0x04, 0x84, 0xC4, 0x7C, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x0D, 0x00, 0x00}, + {0xF0, 0xF8, 0x08, 0xC8, 0xC8, 0xF8, 0xF0, 0x00, 0x07, 0x0F, 0x08, 0x0B, 0x0B, 0x0B, 0x01}, + {0xF8, 0xFC, 0x84, 0x84, 0x84, 0xFC, 0xF8, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x0F}, + {0xFC, 0xFC, 0x44, 0x44, 0x44, 0xFC, 0xB8, 0x00, 0x0F, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0xF8, 0xFC, 0x04, 0x04, 0x04, 0x1C, 0x18, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0E, 0x06}, + {0xFC, 0xFC, 0x04, 0x04, 0x0C, 0xF8, 0xF0, 0x00, 0x0F, 0x0F, 0x08, 0x08, 0x0C, 0x07, 0x03}, + {0xFC, 0xFC, 0x44, 0x44, 0x44, 0x04, 0x04, 0x00, 0x0F, 0x0F, 0x08, 0x08, 0x08, 0x08, 0x08}, + {0xFC, 0xFC, 0x44, 0x44, 0x44, 0x04, 0x04, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0xF8, 0xFC, 0x04, 0x84, 0x84, 0x9C, 0x98, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0xFC, 0xFC, 0x40, 0x40, 0x40, 0xFC, 0xFC, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x0F}, + {0x00, 0x00, 0x04, 0xFC, 0xFC, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0F, 0x0F, 0x08, 0x00}, + {0x00, 0x00, 0x00, 0x04, 0xFC, 0xFC, 0x04, 0x00, 0x06, 0x0E, 0x08, 0x08, 0x0F, 0x07, 0x00}, + {0xFC, 0xFC, 0xE0, 0x30, 0x18, 0x0C, 0x04, 0x00, 0x0F, 0x0F, 0x01, 0x03, 0x06, 0x0C, 0x08}, + {0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x08, 0x08, 0x08, 0x08, 0x08}, + {0xFC, 0xFC, 0x18, 0x70, 0x18, 0xFC, 0xFC, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x0F}, + {0xFC, 0xFC, 0x60, 0xC0, 0x80, 0xFC, 0xFC, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x01, 0x0F, 0x0F}, + {0xF8, 0xFC, 0x04, 0x04, 0x04, 0xFC, 0xF8, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0xFC, 0xFC, 0x84, 0x84, 0x84, 0xFC, 0x78, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0xF8, 0xFC, 0x04, 0x04, 0x04, 0xFC, 0xF8, 0x00, 0x07, 0x0F, 0x08, 0x0C, 0x0C, 0x1F, 0x17}, + {0xFC, 0xFC, 0x84, 0x84, 0x84, 0xFC, 0x78, 0x00, 0x0F, 0x0F, 0x01, 0x03, 0x06, 0x0C, 0x08}, + {0x38, 0x7C, 0x44, 0x44, 0x44, 0xCC, 0x88, 0x00, 0x06, 0x0E, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0x00, 0x04, 0x04, 0xFC, 0xFC, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00}, + {0xFC, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0xFC, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0x7C, 0xFC, 0x80, 0x00, 0x80, 0xFC, 0x7C, 0x00, 0x00, 0x03, 0x0F, 0x0C, 0x0F, 0x03, 0x00}, + {0xFC, 0xFC, 0x00, 0x80, 0x00, 0xFC, 0xFC, 0x00, 0x0F, 0x0F, 0x06, 0x03, 0x06, 0x0F, 0x0F}, + {0x0C, 0x3C, 0xF0, 0xC0, 0xF0, 0x3C, 0x0C, 0x00, 0x0C, 0x0F, 0x03, 0x00, 0x03, 0x0F, 0x0C}, + {0x00, 0x3C, 0x7C, 0xC0, 0xC0, 0x7C, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00}, + {0x04, 0x04, 0x84, 0xC4, 0x64, 0x3C, 0x1C, 0x00, 0x0E, 0x0F, 0x09, 0x08, 0x08, 0x08, 0x08}, + {0x00, 0x00, 0xFC, 0xFC, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x08, 0x08, 0x00}, + {0x38, 0x70, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0E}, + {0x00, 0x00, 0x04, 0x04, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x0F, 0x0F, 0x00}, + {0x08, 0x0C, 0x06, 0x03, 0x06, 0x0C, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20}, + {0x00, 0x00, 0x03, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0xA0, 0xA0, 0xA0, 0xA0, 0xE0, 0xC0, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x0F}, + {0xFC, 0xFC, 0x20, 0x20, 0x20, 0xE0, 0xC0, 0x00, 0x0F, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0xC0, 0xE0, 0x20, 0x20, 0x20, 0x60, 0x40, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0C, 0x04}, + {0xC0, 0xE0, 0x20, 0x20, 0x20, 0xFC, 0xFC, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x0F}, + {0xC0, 0xE0, 0x20, 0x20, 0x20, 0xE0, 0xC0, 0x00, 0x07, 0x0F, 0x09, 0x09, 0x09, 0x09, 0x01}, + {0x20, 0x20, 0xF8, 0xFC, 0x24, 0x24, 0x04, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00}, + {0xC0, 0xE0, 0x20, 0x20, 0x20, 0xE0, 0xE0, 0x00, 0x07, 0x4F, 0x48, 0x48, 0x48, 0x7F, 0x3F}, + {0xFC, 0xFC, 0x20, 0x20, 0x20, 0xE0, 0xC0, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x0F}, + {0x00, 0x00, 0x20, 0xEC, 0xEC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0F, 0x0F, 0x08, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x20, 0xEC, 0xEC, 0x00, 0x00, 0x30, 0x70, 0x40, 0x40, 0x7F, 0x3F}, + {0xFC, 0xFC, 0x00, 0x80, 0xC0, 0x60, 0x20, 0x00, 0x0F, 0x0F, 0x01, 0x03, 0x06, 0x0C, 0x08}, + {0x00, 0x00, 0x04, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0F, 0x0F, 0x08, 0x00}, + {0xE0, 0xE0, 0x20, 0xE0, 0x20, 0xE0, 0xC0, 0x00, 0x0F, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x0F}, + {0xE0, 0xE0, 0x20, 0x20, 0x20, 0xE0, 0xC0, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x0F}, + {0xC0, 0xE0, 0x20, 0x20, 0x20, 0xE0, 0xC0, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0xE0, 0xE0, 0x20, 0x20, 0x20, 0xE0, 0xC0, 0x00, 0x7F, 0x7F, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0xC0, 0xE0, 0x20, 0x20, 0x20, 0xE0, 0xE0, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x7F, 0x7F}, + {0xE0, 0xE0, 0x60, 0x20, 0x20, 0x20, 0x20, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0xC0, 0xE0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x08, 0x09, 0x09, 0x09, 0x09, 0x0F, 0x06}, + {0x20, 0x20, 0xFC, 0xFC, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08}, + {0xE0, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x0F}, + {0xE0, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0x00, 0x00, 0x03, 0x0F, 0x0C, 0x0F, 0x03, 0x00}, + {0xE0, 0xE0, 0x00, 0x80, 0x00, 0xE0, 0xE0, 0x00, 0x07, 0x0F, 0x08, 0x0F, 0x08, 0x0F, 0x07}, + {0x60, 0xE0, 0x80, 0x00, 0x80, 0xE0, 0x60, 0x00, 0x0C, 0x0E, 0x03, 0x01, 0x03, 0x0E, 0x0C}, + {0xE0, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0x00, 0x07, 0x4F, 0x48, 0x48, 0x48, 0x7F, 0x3F}, + {0x20, 0x20, 0x20, 0xA0, 0xE0, 0x60, 0x20, 0x00, 0x0C, 0x0E, 0x0B, 0x09, 0x08, 0x08, 0x08}, + {0x00, 0x00, 0x40, 0xF8, 0xBC, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x08, 0x08}, + {0x00, 0x00, 0x00, 0xBC, 0xBC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00}, + {0x00, 0x04, 0x04, 0xBC, 0xF8, 0x40, 0x00, 0x00, 0x00, 0x08, 0x08, 0x0F, 0x07, 0x00, 0x00}, + {0x08, 0x0C, 0x04, 0x0C, 0x08, 0x0C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} +#endif +}; #if 0 // original font @@ -132,7 +230,7 @@ const uint8_t gFontBig[95][15] = {0x00, 0xF0, 0xF8, 0xB8, 0x1C, 0x0C, 0x0C, 0x0C, 0x0C, 0x1C, 0xB8, 0xF0, 0xE0, 0x00, 0x11, 0x33, 0x77, 0x67, 0x66, 0x66, 0x66, 0x76, 0x33, 0x3F, 0x1F, 0x07}, {0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00} }; -#else +#elif 0 // VCR font const uint8_t gFontBigDigits[11][26] = { @@ -148,6 +246,22 @@ const uint8_t gFontBig[95][15] = {0x00, 0x00, 0x78, 0xFC, 0xC6, 0x86, 0x86, 0x86, 0x86, 0x86, 0xFC, 0xF8, 0x00, 0x00, 0x00, 0x18, 0x38, 0x71, 0x61, 0x61, 0x61, 0x61, 0x71, 0x3F, 0x1F, 0x00}, {0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00} }; +#else + // Terminus font + const uint8_t gFontBigDigits[11][26] = + { + {0x00, 0x00, 0xFC, 0xFE, 0xFE, 0x06, 0x86, 0xC6, 0xE6, 0xFE, 0xFE, 0xFC, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x7F, 0x67, 0x63, 0x61, 0x60, 0x7F, 0x7F, 0x3F, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x18, 0x1C, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x7F, 0x7F, 0x7F, 0x60, 0x60, 0x00, 0x00}, + {0x00, 0x00, 0x1C, 0x1E, 0x1E, 0x06, 0x06, 0x06, 0x86, 0xFE, 0xFE, 0x7C, 0x00, 0x00, 0x00, 0x60, 0x70, 0x78, 0x7C, 0x6E, 0x67, 0x63, 0x61, 0x60, 0x60, 0x00}, + {0x00, 0x00, 0x0C, 0x0E, 0x0E, 0x86, 0x86, 0x86, 0x86, 0xFE, 0xFE, 0x7C, 0x00, 0x00, 0x00, 0x30, 0x70, 0x70, 0x61, 0x61, 0x61, 0x61, 0x7F, 0x7F, 0x3E, 0x00}, + {0x00, 0x00, 0x80, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0C, 0x0C, 0x0C, 0x0C, 0x7F, 0x7F, 0x7F, 0x00}, + {0x00, 0x00, 0xFE, 0xFE, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x86, 0x00, 0x00, 0x00, 0x30, 0x70, 0x70, 0x60, 0x60, 0x60, 0x60, 0x7F, 0x7F, 0x3F, 0x00}, + {0x00, 0x00, 0xF8, 0xFC, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x7F, 0x60, 0x60, 0x60, 0x60, 0x7F, 0x7F, 0x3F, 0x00}, + {0x00, 0x00, 0x0E, 0x0E, 0x0E, 0x06, 0x06, 0x86, 0xE6, 0xFE, 0x7E, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7F, 0x7F, 0x03, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x7C, 0xFE, 0xFE, 0x86, 0x86, 0x86, 0x86, 0xFE, 0xFE, 0x7C, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x7F, 0x61, 0x61, 0x61, 0x61, 0x7F, 0x7F, 0x3F, 0x00}, + {0x00, 0x00, 0xFC, 0xFE, 0xFE, 0x06, 0x06, 0x06, 0x06, 0xFE, 0xFE, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x7F, 0x3F, 0x1F, 0x00}, + {0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00} + }; #endif /* const uint8_t gFontSmallDigits[11][7] = @@ -363,4 +477,170 @@ const uint8_t gFontSmall[95][6] = {0x00, 0x41, 0x77, 0x3E, 0x08, 0x00}, {0x0C, 0x06, 0x0C, 0x18, 0x0C, 0x00} }; -#endif \ No newline at end of file +#endif + +#ifdef ENABLE_SPECTRUM + const uint8_t gFont3x5[160][3] = + { + {0x00, 0x00, 0x00}, // 32 - space + {0x00, 0x17, 0x00}, // 33 - exclam + {0x03, 0x00, 0x03}, // 34 - quotedbl + {0x1f, 0x0a, 0x1f}, // 35 - numbersign + {0x0a, 0x1f, 0x05}, // 36 - dollar + {0x09, 0x04, 0x12}, // 37 - percent + {0x0f, 0x17, 0x1c}, // 38 - ampersand + {0x00, 0x03, 0x00}, // 39 - quotesingle + {0x00, 0x0e, 0x11}, // 40 - parenleft + {0x11, 0x0e, 0x00}, // 41 - parenright + {0x05, 0x02, 0x05}, // 42 - asterisk + {0x04, 0x0e, 0x04}, // 43 - plus + {0x10, 0x08, 0x00}, // 44 - comma + {0x04, 0x04, 0x04}, // 45 - hyphen + {0x00, 0x10, 0x00}, // 46 - period + {0x18, 0x04, 0x03}, // 47 - slash + {0x1e, 0x11, 0x0f}, // 48 - zero + {0x02, 0x1f, 0x00}, // 49 - one + {0x19, 0x15, 0x12}, // 50 - two + {0x11, 0x15, 0x0a}, // 51 - three + {0x07, 0x04, 0x1f}, // 52 - four + {0x17, 0x15, 0x09}, // 53 - five + {0x1e, 0x15, 0x1d}, // 54 - six + {0x19, 0x05, 0x03}, // 55 - seven + {0x1f, 0x15, 0x1f}, // 56 - eight + {0x17, 0x15, 0x0f}, // 57 - nine + {0x00, 0x0a, 0x00}, // 58 - colon + {0x10, 0x0a, 0x00}, // 59 - semicolon + {0x04, 0x0a, 0x11}, // 60 - less + {0x0a, 0x0a, 0x0a}, // 61 - equal + {0x11, 0x0a, 0x04}, // 62 - greater + {0x01, 0x15, 0x03}, // 63 - question + {0x0e, 0x15, 0x16}, // 64 - at + {0x1e, 0x05, 0x1e}, // 65 - A + {0x1f, 0x15, 0x0a}, // 66 - B + {0x0e, 0x11, 0x11}, // 67 - C + {0x1f, 0x11, 0x0e}, // 68 - D + {0x1f, 0x15, 0x15}, // 69 - E + {0x1f, 0x05, 0x05}, // 70 - F + {0x0e, 0x15, 0x1d}, // 71 - G + {0x1f, 0x04, 0x1f}, // 72 - H + {0x11, 0x1f, 0x11}, // 73 - I + {0x08, 0x10, 0x0f}, // 74 - J + {0x1f, 0x04, 0x1b}, // 75 - K + {0x1f, 0x10, 0x10}, // 76 - L + {0x1f, 0x06, 0x1f}, // 77 - M + {0x1f, 0x0e, 0x1f}, // 78 - N + {0x0e, 0x11, 0x0e}, // 79 - O + {0x1f, 0x05, 0x02}, // 80 - P + {0x0e, 0x19, 0x1e}, // 81 - Q + {0x1f, 0x0d, 0x16}, // 82 - R + {0x12, 0x15, 0x09}, // 83 - S + {0x01, 0x1f, 0x01}, // 84 - T + {0x0f, 0x10, 0x1f}, // 85 - U + {0x07, 0x18, 0x07}, // 86 - V + {0x1f, 0x0c, 0x1f}, // 87 - W + {0x1b, 0x04, 0x1b}, // 88 - X + {0x03, 0x1c, 0x03}, // 89 - Y + {0x19, 0x15, 0x13}, // 90 - Z + {0x1f, 0x11, 0x11}, // 91 - bracketleft + {0x02, 0x04, 0x08}, // 92 - backslash + {0x11, 0x11, 0x1f}, // 93 - bracketright + {0x02, 0x01, 0x02}, // 94 - asciicircum + {0x10, 0x10, 0x10}, // 95 - underscore + {0x01, 0x02, 0x00}, // 96 - grave + {0x1a, 0x16, 0x1c}, // 97 - a + {0x1f, 0x12, 0x0c}, // 98 - b + {0x0c, 0x12, 0x12}, // 99 - c + {0x0c, 0x12, 0x1f}, // 100 - d + {0x0c, 0x1a, 0x16}, // 101 - e + {0x04, 0x1e, 0x05}, // 102 - f + {0x0c, 0x2a, 0x1e}, // 103 - g + {0x1f, 0x02, 0x1c}, // 104 - h + {0x00, 0x1d, 0x00}, // 105 - i + {0x10, 0x20, 0x1d}, // 106 - j + {0x1f, 0x0c, 0x12}, // 107 - k + {0x11, 0x1f, 0x10}, // 108 - l + {0x1e, 0x0e, 0x1e}, // 109 - m + {0x1e, 0x02, 0x1c}, // 110 - n + {0x0c, 0x12, 0x0c}, // 111 - o + {0x3e, 0x12, 0x0c}, // 112 - p + {0x0c, 0x12, 0x3e}, // 113 - q + {0x1c, 0x02, 0x02}, // 114 - r + {0x14, 0x1e, 0x0a}, // 115 - s + {0x02, 0x1f, 0x12}, // 116 - t + {0x0e, 0x10, 0x1e}, // 117 - u + {0x0e, 0x18, 0x0e}, // 118 - v + {0x1e, 0x1c, 0x1e}, // 119 - w + {0x12, 0x0c, 0x12}, // 120 - x + {0x06, 0x28, 0x1e}, // 121 - y + {0x1a, 0x1e, 0x16}, // 122 - z + {0x04, 0x1b, 0x11}, // 123 - braceleft + {0x00, 0x1b, 0x00}, // 124 - bar + {0x11, 0x1b, 0x04}, // 125 - braceright + {0x02, 0x03, 0x01}, // 126 - asciitilde + {0x00, 0x00, 0x00}, // 127 - empty + {0x00, 0x00, 0x00}, // 128 - empty + {0x00, 0x00, 0x00}, // 129 - empty + {0x00, 0x00, 0x00}, // 130 - empty + {0x00, 0x00, 0x00}, // 131 - empty + {0x00, 0x00, 0x00}, // 132 - empty + {0x00, 0x00, 0x00}, // 133 - empty + {0x00, 0x00, 0x00}, // 134 - empty + {0x00, 0x00, 0x00}, // 135 - empty + {0x00, 0x00, 0x00}, // 136 - empty + {0x00, 0x00, 0x00}, // 137 - empty + {0x00, 0x00, 0x00}, // 138 - empty + {0x00, 0x00, 0x00}, // 139 - empty + {0x00, 0x00, 0x00}, // 140 - empty + {0x00, 0x00, 0x00}, // 141 - empty + {0x00, 0x00, 0x00}, // 142 - empty + {0x00, 0x00, 0x00}, // 143 - empty + {0x00, 0x00, 0x00}, // 144 - empty + {0x00, 0x00, 0x00}, // 145 - empty + {0x00, 0x00, 0x00}, // 146 - empty + {0x00, 0x00, 0x00}, // 147 - empty + {0x00, 0x00, 0x00}, // 148 - empty + {0x00, 0x00, 0x00}, // 149 - empty + {0x00, 0x00, 0x00}, // 150 - empty + {0x00, 0x00, 0x00}, // 151 - empty + {0x00, 0x00, 0x00}, // 152 - empty + {0x00, 0x00, 0x00}, // 153 - empty + {0x00, 0x00, 0x00}, // 154 - empty + {0x00, 0x00, 0x00}, // 155 - empty + {0x00, 0x00, 0x00}, // 156 - empty + {0x00, 0x00, 0x00}, // 157 - empty + {0x00, 0x00, 0x00}, // 158 - empty + {0x00, 0x00, 0x00}, // 159 - empty + {0x00, 0x00, 0x00}, // 160 - empty + {0x00, 0x1d, 0x00}, // 161 - exclamdown + {0x0e, 0x1b, 0x0a}, // 162 - cent + {0x14, 0x1f, 0x15}, // 163 - sterling + {0x15, 0x0e, 0x15}, // 164 - currency + {0x0b, 0x1c, 0x0b}, // 165 - yen + {0x00, 0x1b, 0x00}, // 166 - brokenbar + {0x14, 0x1b, 0x05}, // 167 - section + {0x01, 0x00, 0x01}, // 168 - dieresis + {0x02, 0x05, 0x05}, // 169 - copyright + {0x16, 0x15, 0x17}, // 170 - ordfeminine + {0x02, 0x05, 0x00}, // 171 - guillemotleft + {0x02, 0x02, 0x06}, // 172 - logicalnot + {0x04, 0x04, 0x00}, // 173 - softhyphen + {0x07, 0x03, 0x04}, // 174 - registered + {0x01, 0x01, 0x01}, // 175 - macron + {0x02, 0x05, 0x02}, // 176 - degree + {0x12, 0x17, 0x12}, // 177 - plusminus + {0x01, 0x07, 0x04}, // 178 - twosuperior + {0x05, 0x07, 0x07}, // 179 - threesuperior + {0x00, 0x02, 0x01}, // 180 - acute + {0x1f, 0x08, 0x07}, // 181 - mu + {0x02, 0x1d, 0x1f}, // 182 - paragraph + {0x0e, 0x0e, 0x0e}, // 183 - periodcentered + {0x10, 0x14, 0x08}, // 184 - cedilla + {0x00, 0x07, 0x00}, // 185 - onesuperior + {0x12, 0x15, 0x12}, // 186 - ordmasculine + {0x00, 0x05, 0x02}, // 187 - guillemotright + {0x03, 0x08, 0x18}, // 188 - onequarter + {0x0b, 0x18, 0x10}, // 189 - onehalf + {0x03, 0x0b, 0x18}, // 190 - threequarters + {0x18, 0x15, 0x10}, // 191 - questiondown + }; +#endif diff --git a/functions.c b/functions.c index a302208..cd02ab1 100644 --- a/functions.c +++ b/functions.c @@ -204,6 +204,9 @@ void FUNCTION_Select(FUNCTION_Type_t Function) DTMF_Reply(); + if (gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_APOLLO) + BK4819_PlaySingleTone(2525, 250, 0, gEeprom.DTMF_SIDE_TONE); + #if defined(ENABLE_ALARM) || defined(ENABLE_TX1750) if (gAlarmState != ALARM_STATE_OFF) { diff --git a/AM_fix.mp4 b/images/AM_fix.mp4 similarity index 100% rename from AM_fix.mp4 rename to images/AM_fix.mp4 diff --git a/image1.png b/images/image1.png similarity index 100% rename from image1.png rename to images/image1.png diff --git a/image2.png b/images/image2.png similarity index 100% rename from image2.png rename to images/image2.png diff --git a/image3.png b/images/image3.png similarity index 100% rename from image3.png rename to images/image3.png diff --git a/radio.c b/radio.c index 98b7907..38dd1b5 100644 --- a/radio.c +++ b/radio.c @@ -332,12 +332,12 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure if (Data[5] == 0xFF) { gEeprom.VfoInfo[VFO].DTMF_DECODING_ENABLE = false; - gEeprom.VfoInfo[VFO].DTMF_PTT_ID_TX_MODE = 0; + gEeprom.VfoInfo[VFO].DTMF_PTT_ID_TX_MODE = PTT_ID_OFF; } else { - gEeprom.VfoInfo[VFO].DTMF_DECODING_ENABLE = !!((Data[5] >> 0) & 1u); - gEeprom.VfoInfo[VFO].DTMF_PTT_ID_TX_MODE = ((Data[5] >> 1) & 3u); + gEeprom.VfoInfo[VFO].DTMF_DECODING_ENABLE = ((Data[5] >> 0) & 1u) ? true : false; + gEeprom.VfoInfo[VFO].DTMF_PTT_ID_TX_MODE = ((Data[5] >> 1) & 7u); } // *************** @@ -1080,8 +1080,12 @@ void RADIO_SendEndOfTransmission(void) if (gEeprom.ROGER == ROGER_MODE_MDC) BK4819_PlayRogerMDC(); + if (gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_APOLLO) + BK4819_PlaySingleTone(2475, 250, 28, gEeprom.DTMF_SIDE_TONE); + if (gDTMF_CallState == DTMF_CALL_STATE_NONE && - (gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_TX_DOWN || gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_BOTH)) + (gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_TX_DOWN || + gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_BOTH)) { // end-of-tx if (gEeprom.DTMF_SIDE_TONE) { @@ -1093,15 +1097,14 @@ void RADIO_SendEndOfTransmission(void) BK4819_EnterDTMF_TX(gEeprom.DTMF_SIDE_TONE); BK4819_PlayDTMFString( - gEeprom.DTMF_DOWN_CODE, - 0, - gEeprom.DTMF_FIRST_CODE_PERSIST_TIME, - gEeprom.DTMF_HASH_CODE_PERSIST_TIME, - gEeprom.DTMF_CODE_PERSIST_TIME, - gEeprom.DTMF_CODE_INTERVAL_TIME); - + gEeprom.DTMF_DOWN_CODE, + 0, + gEeprom.DTMF_FIRST_CODE_PERSIST_TIME, + gEeprom.DTMF_HASH_CODE_PERSIST_TIME, + gEeprom.DTMF_CODE_PERSIST_TIME, + gEeprom.DTMF_CODE_INTERVAL_TIME); + GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH); - gEnableSpeaker = false; } diff --git a/radio.h b/radio.h index 66f1536..e1d03da 100644 --- a/radio.h +++ b/radio.h @@ -44,7 +44,8 @@ enum PTT_ID_t { PTT_ID_OFF = 0, // OFF PTT_ID_TX_UP, // BEGIN OF TX PTT_ID_TX_DOWN, // END OF TX - PTT_ID_BOTH // BOTH + PTT_ID_BOTH, // BOTH + PTT_ID_APOLLO // Apolo quindar tones }; typedef enum PTT_ID_t PTT_ID_t; diff --git a/settings.c b/settings.c index b7821f8..1910c55 100644 --- a/settings.c +++ b/settings.c @@ -219,7 +219,7 @@ void SETTINGS_SaveChannel(uint8_t Channel, uint8_t VFO, const VFO_Info_t *pVFO, | (pVFO->OUTPUT_POWER << 2) | (pVFO->CHANNEL_BANDWIDTH << 1) | (pVFO->FrequencyReverse << 0); - State[5] = (pVFO->DTMF_PTT_ID_TX_MODE << 1) | (pVFO->DTMF_DECODING_ENABLE << 0); + State[5] = ((pVFO->DTMF_PTT_ID_TX_MODE & 7u) << 1) | ((pVFO->DTMF_DECODING_ENABLE & 1u) << 0); State[6] = pVFO->STEP_SETTING; State[7] = pVFO->SCRAMBLING_TYPE; EEPROM_WriteBuffer(OffsetVFO + 8, State); diff --git a/ui/menu.c b/ui/menu.c index 26b3cc0..03984b7 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -240,12 +240,13 @@ const char gSubMenu_D_RSP[4][11] = "BOTH" }; -const char gSubMenu_PTT_ID[4][7] = +const char gSubMenu_PTT_ID[5][15] = { "OFF", - "KEY UP", - "KEY DN", - "BOTH" + "KEY\nUP", + "KEY\nDOWN", + "KEY\nUP+DOWN", + "APOLLO\nQUINDAR" }; const char gSubMenu_PONMSG[4][8] = diff --git a/ui/menu.h b/ui/menu.h index d4d96fa..157b3d2 100644 --- a/ui/menu.h +++ b/ui/menu.h @@ -139,7 +139,7 @@ extern const char gSubMenu_MDF[4][15]; extern const char gSubMenu_AL_MOD[2][5]; #endif extern const char gSubMenu_D_RSP[4][11]; -extern const char gSubMenu_PTT_ID[4][7]; +extern const char gSubMenu_PTT_ID[5][15]; extern const char gSubMenu_PONMSG[4][8]; extern const char gSubMenu_ROGER[3][9]; extern const char gSubMenu_RESET[2][4];

    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 Z%~i#poZdR0f#Kl)*8k6$Co5c(001gKMF;=@ diff --git a/firmware.packed.bin b/firmware.packed.bin index 3b838c8428099f958dc4a58c7f980ff698f505ec..be0723a80c4174880a83d6af14f23ddae3825746 100644 GIT binary patch literal 53578 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 z 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