From 22cb35e8c68880801b603b6f86644ebe47e40488 Mon Sep 17 00:00:00 2001 From: sxzheng96 Date: Thu, 10 Mar 2022 16:58:57 +0800 Subject: [PATCH] fix reviewbot and update readme file Signed-off-by: sxzheng96 --- README_ZH.md | 12 +++++++++--- figures/distributedscreen_arch.png | Bin 24264 -> 28581 bytes .../unittest/databuffer/data_buffer_test.cpp | 4 ++-- .../unittest/databuffer/data_buffer_test.h | 8 ++++++-- .../utils/dscreen_maprelation_test.cpp | 4 ++-- .../unittest/utils/dscreen_maprelation_test.h | 8 ++++++-- .../test/unittest/utils/video_param_test.cpp | 4 ++-- .../test/unittest/utils/video_param_test.h | 8 ++++++-- .../unittest/include/screen_client_test.h | 8 ++++++-- .../screen_client_window_adapter_test.h | 8 ++++++-- .../include/screen_data_channel_impl_test.h | 8 ++++++-- .../include/image_sink_decoder_test.h | 8 ++++---- .../include/image_sink_processor_test.h | 10 +++++----- .../include/screen_sink_trans_test.h | 11 +++++------ .../include/image_source_encoder_test.h | 8 ++++++-- .../include/image_source_processor_test.h | 8 ++++++-- .../include/screen_source_trans_test.h | 8 ++++++-- .../include/screentrans_test_utils.h | 8 ++++---- .../unittest/include/softbus_adapter_test.h | 8 ++++++-- 19 files changed, 93 insertions(+), 48 deletions(-) diff --git a/README_ZH.md b/README_ZH.md index b2223c47..a22043e3 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -2,7 +2,7 @@ ## **简介** -分布式屏幕是一种屏幕虚拟化能力,支持用户指定任意设备的屏幕作为Display的显示区域。在分布式硬件子系统中,分布式屏幕提供跨设备屏幕能力调用,为OpenHarmony操作系统提供系统投屏、屏幕镜像、屏幕分割等能力的实现。 +分布式屏幕是一种屏幕虚拟化能力,支持用户指定组网认证过的其他OpenHarmony设备的屏幕作为Display的显示区域。在分布式硬件子系统中,分布式屏幕组件提供跨设备屏幕能力调用,为OpenHarmony操作系统提供系统投屏、屏幕镜像、屏幕分割等能力的实现。 系统架构如下图所示: @@ -63,6 +63,9 @@ ### **接口说明** 分布式屏幕实现分布式硬件管理框架提供的接口,由分布式硬件管理框架统一调用接口实现虚拟屏幕硬件的创建和注册功能。 +### **场景说明** +设备组网认证后,主控端设备可以指定被控端设备的屏幕来显示Display绘制的内容。 + ### **流程说明** #### **1. 设备开机启动** 系统拉起分布式屏幕的SA服务,Source侧被初始化,相关模块被初始化。 @@ -83,5 +86,8 @@ ## **涉及仓** **** -**分布式屏幕** -[distributed_screen](https://gitee.com/openharmony/distributed_screen) \ No newline at end of file +**分布式屏幕** +[distributed_screen](https://gitee.com/openharmony/distributed_screen) + +**分布式硬件管理框架** +[distributed_hardware_fwk](https://gitee.com/openharmony/distributed_hardware_fwk) \ No newline at end of file diff --git a/figures/distributedscreen_arch.png b/figures/distributedscreen_arch.png index e4c0deb8bb27e9718ef77cd0a9e4736e5d53ff66..b0fc39e9c986d143aeedc2bdb2944d791fc6430a 100644 GIT binary patch literal 28581 zcmc$`2UJsQyDl0Pmn&EoE<1<~P>^Dwm#C~Iy$A%P1{NSfC`uJV5_BOf8%S?LM5HA& zfdmL8C`*wdC?NzALPUfBAqfHrl91$1{QtYpKKJf@_Zj>CIF&y8@~ike>tI$OK%r zxeNlmO5MKhvlVy`zGdzj0RkQPW#ea4uktbk1PU{-`0cXO9WRb}XI*F%Qsuiz!Am@c z`*ny6J@+s{{;%gZ%B=C%j(jwcJ$*sf_v_(54brrZr+?1v1MlIV-lu(E{}V{x>3qKT zd!?t}l-|A38`!b*qI_D(+d7buqN8;Sw68rHIyh~s8q$A?D~hM0Pz6#~qd}A*d!Ye? zG{Ioe)vI_3+}Qo=+LEX?z()o|@2v4`-LKNnse_Nz>AdMEzxcw6w9Qj3bB>W~>ROyf8j zxkxAO`(&~Td>4stlKe=s;|{sVy~weMs$%l(K~Mf#dO((>e7XTv8`}{B@`nGSv#C=V zXFoNMt1YTJboIW~=08u`nTX)E?a?dvT4cxygNKTVoUbgmC4fM|CO&&X^2*&u5et5y z1lh6?$I9^jbKTZ6Nok9!NN+ZgRfM=|7`9}sb>x60JM%5Mo zSHQYD;X$BV&ENvi=RNNcNe(+Rvt#B~_{pt!9=%e0p`RN&i15-yzdIBVNe`N3EMuhW z-0#+Ku_e?#iYpPw=R`EtYlwd5PPHu$uxH8@VC*3w>j9;x%MBU@r8UOrQ3#DFNSQIN zf(7MR!GsP?CS}Hb^QNsD%dR=%60tmR2(pq>S`>?4XmHkNwNCJBK1sx)R^Ntas1=Ok z$ST!8c7&B4VS^X}fp8lW)VVY*9&r!jU>^^i=xaE2{kDYcoqvdNlSHbAE zh|?59udg{J6E}#MSboVzf~)2|O?U{Vi1-=%CXEs=Bx8;;ZguTs#Pe%a%jK?qjmJy+ zFAOeheo{Zd(y~fvSspOV8O)fLeSAV(A;Pg&wqynlst!)S*{njiyf3!@BUxC=88 zHGboOh&#GKWL@IWqx3LI`G{IL(o3ew- z_SzX;`zQkn&IN4jC#TnM;=G0m6J8`;`fzyYq7C+@&WYl#l2j7|S6Z&qniB>`c}g06 zA8|c3`DonD^G%V}1VwO*P&kNHT(rrkJH48_T<&jj*8#eXLW~&DFLzIo(Wa!LppJom zzA`XV&2w%|=J&EZDA)6pf3^Axn&s-6Gwm!)3sAec8MG@27y%){iRD+}aV05nC#Mxf zz$PBjUcrSFtle8m)CRZECga5*|B`S;@JokHPFa`159>8Bb|d~BZ%Slrz(H8WH6toE z$%4S~-h$C>pR?)9a?MjV>RTjY`+JFJn;d+y7W-QBK?#2z58j-x3A(sA>YExx=9@RC zJw0B0RaEo5xb%EL3G|v$cN0%KXPC>XJF5L_l|lz$Kd@PY4`8d5O_zRL82{t46`noI z??t&IB}I;+qZP$%i}y7bxaVG9FIyA!5?2~VY>p)5O(u?&BQ^H}rt$L+(|APtSnQQ) zY=t$aS(Yuh`+VF}Y@>>H*!1hZV@`UGrf=sJuIA17Q>qWky0HE-=ui;ka5&rFP(|`O zFNDs6nqpYrp2kFtPd}-0v^vvs0?Id6sQ!6^a!DMOrdlpz??0kN>~Qj*&TAUf9mJYs zJn3cHn*7NWRx{_z@EYP^D&HUDq*rRkVJd+--F_IW_Il+6DdY3$yKl~pL0|r!80EH|thp#@8HFx@@h+vODOKbvZ5Q`B}5-M{VC*kw@X})cBFH zrlK&nB8r=rq$A(SSLrhjTV<~8JmR0rINK5}*+o5^y9v~|U)d3q3vZ3)xb;U478x_n z*C7`s+FJ{_j8-bCb#te@{n)=niO#aV)`Xz zWEoP8=b0KfOe1Z{MK*L0h;SHi#lY)Nz&`LEDGOePF+XNat;q)&b zN&LAxRAMwPB3V+9>`BR)38ZRN^KU+D^;O$Jp+nOGWJR$73*I6mh{Eb?D8IA;%_n0 zR#qmuc~`ICWT0Vl+1aOpg$=iHmv9OXW2T!+gRt0||1r$w;h1qhT8_6$mW}pfb@eRk zkkJcjH|KFvOs2ZJ#e3~)h(4=wD*G6=J(?rx2kgw-YQuo5Y7{oRgcxhe*FK-+OlA9C z@WdTXp@xN&{tD{M-k8VhuBs0ld>XICvK$A}5^mBo$;gOthxUsfsNL#WP!K4>6iB)1 z>ifFYyC!G{?on&Us-Z`er;RvTM5ohAkFf{tnGF=?B(UyJkBxNfX+s?vGz9jRx&?65 zt>-dE{GyjK2K?<&YrnS~-jxGOhQnst)8#P-9#UVe?IZ5!>(f@%>fQcYQ@)9&!iML1 z5lSfpp?@2`Lq!(k?Kll{0)b}UrF!0$Zch>3{gh)?^0s!IB+A6(R{aF>e)R7)I00XM8IUBI%md)?F|E6oLM_%}lp&wN@E^wvt8iRFhlN+8L!E(%6NOOLo@Tgru%-@*vRl6F>wDnfFzc z`W+yS$5M?mw7bmz%2?*2zo+#a27&I}+X$vD0Vd04DiIA(E&NeK+dBfk(1T&I?9!43 zDX+Hh>?V*_EnvHKHtmveYRZ0TZTGg__a~yq-ZEkVceLRd`(HVogjz*8sCBV~U5usB zQi-HeIj(Ea^Wz69LB3!rsKXP2lf^P>Nyb$3X$LhnHvNnUJ-fT+2vU$u$3(_U+emBf zE;apaAa$HQIv5>5P3q863Qbjt0Lc@i@kxjldf$71w-E` zgK{0gr@i>S7l^7QjeThG!=CIpIp=4QLn+hZTGHf6hOj`IW0ztgRG~&K<2fs2uOanr ztC%9=xY@h4MuA9nv3Pgtfb{;O>{L6_$nwyle8eYB&s&}1-|jv0kftDYHEX4h5FMi- z8<7jy@{S%uLaZGfgz%nhld%-DU9?>4+X-j-xDFcJINub#Z@>wnJD=?iX&Pq*@$Rq?D(<=hd7<1{ zrS+Z`k?HKw_*>H1eVXVozd)j7`{;#VwV)OumqDNu$ z8#^6kK)EU#%WMh_X-u=s5m3MGq8KIw>5X2+zHp1}9%h+H@AnL4DD+3nT17b(StZp{ zL{-kMl8cq;Zh_726J441+d@>Zc0%{p>CgOoi*dUhMeOic4K_y?)ak4QY(9M`$v%7WBu5Al+8|n(#GBWW9!JS6Y+A zrAQ%K!X$?Hw+|L;Y91KW9Ho4#yn#KC!a~}{+Qxd}+fglH*@4|gOYf;Ure)?^p>&o} z4!>hm9^{R4%eCG_sD6tqc^f*@xCMP#HrH-d+>JiiK9eN97{^Ur|2$i^ETQt&0%j6KcNQ;ASndQR_#8U2GZ-;3CbO)`3ydRo zOH+G>Zm#Gu-GvzbZsVvqn17Mzq|`66t3_I0ux;kA7@bYQR;nA(fS0Mb_WILq2){zZ z5BvN~(Aw|aCjRw5ffBlG08{C|e*v{nnbD$RxcqVqh|HrNfDL$StV4>VjXmRcfs;Z; zp(dL^b=n(gTg%f+bGeF=yFEjD2lVDJwlly1vK#SsJXa@kV2=SPq5AiYlRlBy8<@@l z0rV)~wX}4FrgJ-rw}3|DHvZKkFnQ?Em2IFp{*N;{{PVl~AKz6LM<#s)9FEP#D7b#7 z3y(*FKezJ8T>f9sh(HF{%Cv0{-XiX{V2Ng`d;wfA(n5j&)$xblk+KbV%U!{-( z(L%4yb%hl`e4R;o4hDI%mtcDmLc$!?3M8DNQjoX%_n3^@?ZDhz|389k{1Zayv{n?2 zc3<7TeS1b}_2kP8+r#bC>S1|66!?)Ldv6~jq0tApEA(w9i+6jDT5$njAQbuL`Eh7- z=JMd9xc!tFrN7)NnQ*aTg;|ACM;{}KpBc^NG}r%vUKNdL_0oGH~r&dru6if5OWEkO;Gu6l~F zeS-9-GXZnw%Y%~LsKq}wz>fkeV1eDoQxpt|&yQEDy4ym;D;f#!Bh72kVs`8DO#bp` zZYz&lHW$;fHdC+-tzk+xCzXp8R!Z~F&=unsUjyMV;e*P?j(z%k^2H;K!=4BZo)Nwi z6Qp)$z(lkV>gjg>7uVG!-L~R_+7SIR;|@<)-`E6JjKkCS-uh}#U4@fPwxvh_Z~Yn3_r!09gTgt{Wk~ojAFNIblQC0j_F=~5nFWr zEH1@vG;JDhNt%#KRuylhBr4CrM)0ORFLs6obr8_p2#n$9Lr(toTwj{uL%GgV!8k7@13RF*`AjvV`sFf#_}E`Y*q0#$D6h3etN9Y)>r}hxYSUo1Z5t zh$r1}u6^6ziR9j#(sQkZz|&Mq=Oge=!pt}eft#0e(XHy8Ve^MxZl3kmM7ZigtRTTw z7`cf?F;+{(nZ0T$Crh}&M<|ht5Ldcnyldm9)l}fXdMN%_51D=7U&}1K(?6alHr=We zlJ&tk>#35M+k^r&I)lT)2LgE)-BP3f^1u^L%-<3qMwpke9db3*G1rfRIzMgLPx_e;dtaphcnQcwx!-0 z2qkBSV_#i;+*(x9J*CB)rJCX#w}9CV!{`oAiTf0NrO<=*P_1S*`y`#V?ANl>IXu3` zv)kj&wH!nDyL7Q1lyz3d6u{5ZQI1$wH~A3QJL{u%+&a(KpPQO@zv6 z^aEqgx6p9&@u-!d6{c|2A4Et)>#h-RRY)L_OH#~sL!{=WQQI9QTYv=ITML+7;Pul< zz)}C7c-x?rw>jATk?86pMt@*xOor)~ni7=@pt_w3Sn2MibT7|(21G~_X&{7tp}y-8Pexu# zj6ZBtO@2P*JS7nQLGM2nXo_?UM4!0ftiwReMG(()PA+}H9i1&Rh3c%aXlWr8r1Crf z3i*+3{I3t_zbwW^2`Q-FH{qfOj<)$#453ad6UeIFiSSLJ&ON{;54Hl^X?!nzbTw5f z{)0LoeY@R^>aljWXQY~ai!Vx4P}#^$K7R%-GaAipVGo1~iB!_7f_HCo+NwxZdt>yJ-%^=(j&8@6HIlL@0B6@Hd6>e zwc^T#R(^FAe6{DC64l(Qbf_^R_$5>96Ri&$fQjGp>+MJe^BHL2t5Ae6Cq%s5h^!J@ zD!5mpLqVXFV8G-Fg#nm4-^h1rFzvWiL#D}cp&8g>LR7$m9j(dMD!o#wCz{q&Ku$}N zi6NT$oRv_~c3YF%kqk_H*d~(2K>NsESCxSPVUEZ6W-6LmGnMA&td zPT-i!XBp5X0JEr5M=o8^jqw@m5-HAa&ewTb>HSinC|kT&HA|lU(>b)H2f}`nN0ltF zRp3`kV02{cf&EI>mVNPW3e%Cx8ZYJD!&9O$ZJ4?3A`<{DZ()Mt!aE2|Qh1L)qa(yV z8{R1LyY3|jG_4(E#P!WSVHHAL4eSB9*iC6rN&GN%{1&pQ8mZ&TO?Cx=eTyfvV~%b`fN(&;*2!e@V2 zLR&_q*G*52?=8BK6eF;sT-$FV2lfuA`sA`BOXaOiGzrDb! za!zGh{7mj}IlalUJ=gHH70RX>xoSUB{cESSq4H~oc0I%Mq^Xw~*-hohSt7gDm-+`D zWtLQ>v{1>34IsNE*G=F5Jck}=N%znc4QnrjV&_eFa{7q0q8RUx$ckei5Pk69QgrcE z@eg-8nW;u1+wj^~^clZ?z7_iox;v5#IGZ?K#%Za?$s{2nf3Bvawda5Kvj1B-#{Vvv zdBf-Y)=|QbfSk91K_$OAl7I10VN>4Zu^eiMw~v=z(7F=IwSdxCIS?rbTTZ5o{W}ud46}OXD(xwr%KcW9H<+~uFMVw z!$@1E;iR=3rjamA%673MX!PKZB3C|5Bg1QC$4($^FhPjM)f|B4&laEPgPzNtq8C4k z-7oGuvr1Z?Hf-fo>TCgdBLGN2YZaScxy~0$JGPt1Rh*IuG%as;fsyZDcyIXEqkH=!CXX9c8i+oozlTcC7@ z9;cz?D!9niL`;&bZCZ^GTG_FM4H8T%mpU)s(9im%AjI$3Fbl7V zt&JnFn^woNEKB+3PszLV*;e=MR1r6zXF{AdW7_QI+ewlmp3N6*YVzQuDbFwrzyxEj z=WG96oz#Or?$8=GVVY&B0s{REM5YM!EFJI_)%6OPryAH-?ke$fLr(G$|Zv^;hPB_?$KwL&_z5dr~~~Sh|mA z?4~=2BB$T0S4@fn0T7PC+1^A>Mjdk`(FoUCLa$W0YW}1-=e`;5(ZG!{4lk6?fIaKe z565uygHC&h;8BOLIbzl4y+lE~^PHJzBQSlv{_oMU?$(~-TfJG#xw2I+;j>VKml0L)(_6}0?S%cxXS;mp8jvvQMz^0s9>hO9_(%Gq;u{Rz>Nea{xf0!KUGovC)eGc zai)`iZw_l5{qRh1M_2z>+m#{hhHR4@xn$#FHtg)ThS$0< z$A~Q1H4UNWDw>M_KdO@G%HX)~c+$AdUCv~podl%|9sAq4tR9^3df{Rh-m z=kXYRm~>zkBmNA5g<`&cS5bB+)NI7eOBkHL*q+>Oqn0&Eu`BDW z^*c={^KK({ZqK-u++Q5M+ub*%rlQtM@cdPYFf398q%s@OhrENxgcKGzqc$jCST~i} zlYi~Ncz=m!j>ou7GWIuvjVKk6Huq8P)N~6PaPkJO%ZW1f;1?6(BP5fJnBE1%QDA6( zL{2uKW+7ARY9)0wRkhjte4s6cW6F;1Xk9mYX4RPaSCY1~VH?X_=UQg+TbvPgifT~<#F&5LK*_@`Vc*9>^S!;@ez(8!Cq1kk8CyY9l-f~a*p~N|#sqUx z{$T5xoHC)On{`1!7Kde8}@(4#~NQJYKOLa^=-}q8!hy5F=nzbyl2y znLXUOnx8frtLV8V={eccuh{0za_^g!%Ptw8H-7b6(b(a2ehgqd%y8p z8i#m*E(*2QMlQ0biJDTB_AHrvLV1B7)`&|W*C&eRu{wKx#N`-PNb2B{5=nq##HT=j zd?mXnfZixd4Xz~tq$42(&>(oz-Ntp@7H-%g+6v@l%RSZ#L*sa*gL7r325V)w*14`) z@pPy`t=tK}S?5#M7JJe^m%Pc6z3R44RSX1eRQ(N$H_0gPj7uk>P8-QlD2mk=qp|H^ zTIY1CWHFT(L5ZSAtWcp(hbl8pY>dQEE@~ z2zF@C`-ZMuNS8q0nhnDhUEbVcL>G*n5AlTKSraB*L@yGgMJhZp#~d^=oXj9GZFmq? zdZ0T}<1Zac5OJcj(lAXDn$i`v0oy-4;ni^;fO*pX9bvY`+Wt{Qqo@ zX5=#YR0S3>mmJctQp+$&6||_-^|E3I8LPGMfJ8j7l*Q5jIz$t%XBLj%pmk4~-&> zi)umcHXx(NV(SC{A)nFyA)mnpZ~j~t`|d)~CmYgA4s5;*{wmwoVJ)1c5Mz^_lyM-m zJV@2Y?5n{VzTGuc__dsfeJOK}a$~FaId*)@%$%liNPQy;T<36k#hr%$XoG&)x$we2 z*X|RsMOYYz-6xQ-;Vj=wK6Vr_-azE=8YUJnenyJW-H2 zUvyIarm8sRJY^3t3zfD9xV;T+fay!rxoQQu?7C_1^i?VdoLI(ARjsohBB5^>V zT0xmYK}3M3dK1)MEV2Z=0VCTtg6oW^Uh&Uqy z+ZJH8fsItQ`SE=V(Z^=!t@Ni~i*F;kn*HeyrUa7P>}}>_g6!K?ca}c&gmci{%@heP zB=yld&id^>frqZB7K#Ywo@Al?>eq*ETQMW-K25lAm|kj^9Y*}!88K?~T7@P9l(f0} zSG}x-*6e_NwTGM7-Rg9a*v@{X_cm?{j_eUs;W#Z+R7EBWO24ZQkimef%@43EQ@U)P zRQ`7GF+HH0@}802*SG6YwKBDUi3l`5J=rAD^<6xw8%oC-{ErL8WjSQAn8A@Blbb0bx=$=YpRbQ z%61Kv3)bhBZ%;Wp@VEBsmpHp;<(`DT&{np95zg>Bl@lM_J z)r;zWCqyNq7KDT1(^HN`^PNwq`BdSnpbXFg$xi4rY1H^Qkk&te(_ z28%)ujUJBXO)zYr8@f7o*L#^V2Lr+84r>n3i|{niDJZ0&ihyhw)@n&SN50n>mf}um zqCI@>q+fb|&Rf2}p(0`K_l&?sj3d+t&qHq}RAxE&CxrM+s1<-lO#Szo8a&Rj;XAOg z&jZ!s%b@!yk6uZG$AuK_s9?0z{atnS(R@6zLABsS7KE}&v>ld&kb)3yP(y!&o3sT# zSTg*L9qX(H)tMGsjiDx+q3ETvatV~RC8P6aYq{k>@rnz+r(eFo35;UpZk(z!fBw|@ zuEnW?J@NPQXhqKhoiC;BIq7p1EtO4hrgyl?z59Bf35E?N%ieo|y}M*BH!>^`Y@JL4 zd}FqEx#GnS;dO&2FqiLD8W7NoXDX&La0K`GWv80$!6$zhm73+v^ye?#j(GTWFq|(t zR`ZhO!57LnFlSm(!poiR^M}dU{1ca56_^l04LN8qYYMwNkX%CvO?5ho7Y>GO?CAa` zs7)G@2B?JHyGP>b(r5(QU9^y(ue`B=MuiTH%%JCjLbF5l***av_lFy@DQ~vbR{Nw6 z)luJ%b^82B_j7jx*!MkUZ>tTpLT5rv%hHw-jGj{MhfUYVa4_+F%{fJlj_-e9sE0Qk zh2B}YUU_lm{b@lDB!qdc4R5@(DA^(`%8nwp3Caido4nRpeqa~>$4X(Bl&0XnR;E zn8>OzblK7DeYCKR1zC93Kk(!Sa-gplStMO&rPg!^=X-|YH*}75a~*ZOh>{ClYuHZ> zcBAK9FU(&lh<$3m&`w&De1f9|{0!|9uE`C)Gy~Jp0`Ck;5w7kAfgNR0({+EBs=@}A$W|LIwv zV8mB5JBs=~8Jg=s%0Ib5KViUXt!yovljYH@Wwo8UKvA0opn|`J#W@p zBP$we0|G@9 z)Kz>3lszAz(J=4}nLt_YCpdE}1$lx)6rxzPnhJCn#6&G~0@4C#N6AH`6b?GuHMEw( zliC-3N2@1<1l@+Mk~>R2{TFC(g{gQDFLP#JuAiQpyV9@P{WaM8_0lk2%M08dY)Iwf zAhjg9H}TvN_p7iD-s{koAMC}!_OFd(OrtzF%Io%snwg83yRCIvHYx~{s8{LNtJNao zCx%;RNIU`dLxY#$E0+m{xv&E~mjPl(gXic2Ei6f?L@B89SN|cH*~P6zV+)?GQXr^U z-L7A_6@zv+Zj2coMoI^HOz}7p$Y$pylXV+js_S)cj)WfC8nOa3sNmfPas)t&Ls%rx zwD814JZGm^r?JmwtsVt5dOYqB;A^8OHfuu|t>+8~?8~6ha{ni7ss~w}b(rdf2#JYr z9f!>Pz1PmetA;%ebWwO}L$~h4x7Q#h?;p^BsjzEWxkRoPb`WSjx!%#_adPr^PuU?{`1b560Xoi7E&6S!1m+yrp)6 zC`)ny2dC=KAG*rPFd2_yS8rQ4{z~L92Vc|L5iz>^bT-k8>cD#G{Z^w+ass0^X>n-B z&O$k%Uj?mE_62GWG~D{gso$^UC!Pam$SwW0)#}=7+d?(gY%+{PMBTdhA;^auBwhf< z!PYShzE?fdEfHv%bxS!UMbEVYUS5^H9{+9I&V5VM#;|_&qqu6T>mQk4ff#h7 zc#df`K>f)ZevW;p+pVjN!2HBr=7gaUA6Q``xe#-Tu6l4UakY(Qyv>N0CAsQLGq!Cl z|MQwph7TY_lGg$I$vuDhP{qgcO6FmW)i3A^B9c>p)H&smj21Woi#O#v*hDfE<7X2% zEi-QM%WN2?|H)O6;xkW5V?KT*LWv)&Lw}Tl>@5z2tiP>M*GLfr(!LIcY<-lf$!YzL z1LsS6zN{*z! zWw80C56N~Ait@>zng}YvFzjV5R9FYRwcB_0eyh1?jWg;-`)T35$^tuxTHpL zuToAF@5H=|G!r##UsXD!!h%Q-XnK4@T7gkzP#tI%r3#B3vCOi8&#{2tQR8j{7ZU#` z^lk|rxoWqj=)Ae?e(mFOw4|M9%omz55m#0Q+Rr&prbh zU7jzM!L-lg>MN7=bXUO%LUhSF&QWrC^v`pzf$|p+dpk|`w4-0Gz_`>eW|+19 zP~i{C(%?f%hV49RE6;m<1&%H&P+lMV3%|1W&Wn3S83OfF6j zDu|!6jdE1A4f4E~=jH;VQE@4Vg;(9gxr>!Ufohq(g)tK?;~4XgjbY4=8aY*-7B)(E z;*M{V#__kWD`as`lJwFfrHTzjF2ejh%Ee~*XlC1%Gc3K#@DD4;F}&9mLCqU6lF?{w zh=xWgt@H$VLIH)V3HXyU)&U!kH5i232=aAv4(h|Zz*gG!6O2r3S@Y){jd|6-EP)9k z&5l@J%JLOqDwCAUn`5NW;_fZbhne5?MD{i1Ru-0x)H~G>vK&Eyk zcw6#G?;s@)3((VJrzUMq?U=2lSIAtg^gB~|IxsnXS_qD8TV_i z?Lr0{crLKtg_H?96SC}xvjN&EA!nH|=`Wp-)0zn@{wkkpBAoRLw76Gg)TQ&RU!N8b zt+$c2j7APTmX=92X=q3vEVG zmIeNLo=G%5vo%w)A?WdVBwLN$%?4w=aR&069ATRi62aiG6F!%!t=>my13p7r&2EE~3wpFFB=(gnXDvc@gwKYSbffApQv1hGej>Dgh!5D? z>3lAg7yJkN+ki3wYYP0t`~HLB z51l{IJS0k^t!kI<{AN-n(HC)US#@Tjf~n6de-wECzx6|-Ubc!&Z%fCt`y_$7F;;NL z?w8Z~xSkeB^S^b(0Qb^=#AmPknB2nOZ<-6+fiGmt!W5h2my>R{qQ-%*pPvlAhqr** zx_@Z!9e1nzyD}u?zI`@()D7bcXEruHamQgZu+U?_LiuDtK64BS3C8Ok8!vXu!Kxgh+jFg9;Uf%tLZl%H=(g5mt$ng&fQ`vQ;1eN&8W2fsm zX}9|b{jiInYCHWAl;%?5X%UOaQ*2t9@}0`=efgenwp?+{i#pI=MydvSO+=>_EtvE2 zrQBlfIZ^p;CF)H~0Qa~$8)w&Y<411}IY|0Umj%ZF1p&zY?>9h8l>;Cb8klHD?6ux; z{J8n%V$|<;PIW^h=Qqz}l-8IoZ!!{3r$rbe#wUh=ewmx$Z=0vr!On80kly2#DY0*x zm8!747(pDkRc`j{VX?%TjSyyb&J5gUV``0EdWi7uYM~SLuf*S42A%Jla*UmiQET9M zU|8K}#Vq2Bw@8NM-({H>^0tf~<^l{tM$3~*bj?3ROJ-$15KH6Hf1}>xhe%ehAI>8d zii{CNe{cBcMnVG}lfhYm((RR`$=M^$zZk>Eg;|hKKWQm~=b-E|P>tdziNAs0pO}O~y^zu4SWR$ly}DeZk`^4F<*iig z!0=^AEyE==fbdRG4{E8mIME+{&0;UeeFy#=XAYVk^*}&EDJlG;CVC4RnBBDxr3(WKUb*`5juX)6rm{ z`8{{bhIwMcX~j3SA8Qm_sm9AS4)3XdFKIxjb9!%E>5-YF0nEdq9Sv4dc0DaO3d3$z zYGAP?=8(OomCP-*GF8j44i7PT)(v(HM~1I)`M4GI&#c4Q2lSaicRdZQZ#5KcwAddx z7JQH5KkM@5dFFhXf390nIuvS~geVo35y~HyD-cF{&w-t3tLOcthtFp(sQ?$?~evtf3a3z&p6;t%0PjslB>?5EhT@*D)tL7QKE8y8fu<4NCz zUV>491W~or7pKphtO5bVi1$xEd#h}AVsIlJNTK7YFI#}G*{}H)_6BI*CMFon~^^Re2aT00jE4{ zM-j0OpBrY9tz#4zHv6NaO{aZ6%p=a$X>TYMfq`oQXmhla&Zi$)Sw-+4=75Z3^ye&_ zx;44@XB~h`+t$tD16_U^)DQeV`a8}{DWJRp<=T$Q6lhAPxdWwRElYQA8zKVt10R>| z)pIY~w>A86f(>U9hE8|;dkU%p{V+5V+WO@^0MqaA z_pB)Zimw4iZE!D&b30_KGl%YF$Og_gI+JK~>w7zT+<}uR0H*)x?91DTn;U(AVLcCD z$=Fa++&LulxN!2CpL81FMKcizVFvTagBmRh%ZvF(vB@qXu@$k=i| zHc1xSm%G)ewOVJ6JH9EVTq)K~aliM<09NMO(dO=!{#=#yh{nsyI0Foso>>RpMXCkR zMd(%XGlNj=s%p2*g*Q!~h1rx^xgKh^rpTOH)TA6lqK*^hL1v>CzA119WU zAgA*>er*Bhd8}aGXus8Vr7XJQC~#8w^KX=M6)P|GK5gMQ-x^=ymbxBy#HOaW=X>Tj znHVDiqsRK*g}7;NG{>6l@!8v-+9o~SHM7wZsM%A!l2WQ;Jx{VW(p^e5Aa?fGeDUT+#yh~0;kL$ zpr2UgJZ)NE^2lDsg)4RYdE(PM&-8^XIuXU&L44GQpb&4Mfxl>_RN5EakizC2 z83SY|z=;UQH{hNBwBtAT@?c0-JQJPv{=; zf=c1VxOLuv*60m=W#n9KBc#5WAHUYIEk}fSt?7Buz^D5`Uti#$iBGrRAZHp6i4tT> zg8|8Ic3tJ|H((X(nG_?;_rFz$53wgdeB+_M&t|NyCl_Y?eqAss&&8FuVe4W)wPZ)tgrgJEkN;3WUO3z?2!KI|^Dz)TS76ryjS1wxT}VR823l~z z^^aDo&d8-A5t>zLCl+a@N&^r#M}-HhEl%QfuyXcG{aTwO{m z^II!w<$6p2K%02fuWyJDq~D>r&wyj1Z`U%@yE~HFv*v8j4Fn_Lb50EUpqH9xS{Ncd z&+HY@Mv8RBA6oW)p$HlU6EE6p8-d>4h~bucu`w^+Ot)Q}J(yA>`g3>GG8+jPZ-4oH z&(>)58#gxitcRv&c*hN<9$!$lvTL49I&!rZ!C(`6^XXwEWGu!FgDn8il3Moz8;_8< zn&S~}p$lWJbAeXBOa8VBM*yv16xCB#xR?xSi{~mBMn`UP?Ab$f(!t+#9ANA5ay0n%KR07DHO*`~&P% zfkZ?!*^v}W(KQaMSw7L6bNYkHHLa)?(!Q19sQPF2>qN z)xz-U7$T61DUAI?_E{=z^%~V*;{5@lzb{L&0jsM<&L$tj8`GYjyi9(gJE13BDTgrB zU77*nZPN%9z|l0cESpzqV%pgjeF240BTKQg1Qof*jXsXqC4xcy7ds!^u$avd;e3H- zZV=(%f*0IZZwPKhQ4&eR0|Ol&kNctf_D>s44U$@U(IjV+44rZIHn)AJ0Wt+(B15Fh zdc(B3x$c@~>DH3_Jkkxf&SAH8$rt_YX6hy;Y72h_-UYCtlvNC*sqXQXpcAH~IW=N5&z2(-E`-&Q0o8uH!e@|)oLe+#E zTd(Xad-GDBy1RmQOzCbvAAN_jiIq#xaF#77tLCvWF>cSvHMoHD>bV7kYDH%ya{~Y^ zG5Vax?;^Oq&aVqx1{WMm2XvQDMjL%1!NqRO1+-RU+|hG!3q{q&of#h&3LRZbKY zyYunVjv;9(dL1yls^tLbLd>A?YGmK-sVBP8Sy$8MOMs`7yedddbXU6%0Y3-gOvhf^ z(id2h!S`!$%)F^dx9l$fdiX3<2taDB1xJIJ;=786jlXMp=^4ZhB4H-;+pYq?DoQ4d zB`&#nmmSZ_bd0$5pA-JA~K1po0z8QD&t#syrG%Q7y0X%1@fN?R!5VfAV4^Rx= zDcG+Ay|n~%-&GbUYgs&x03e;{zEYBWWBYwuOfFUKjp?0s6l zqJ8(n9*4Eefc#s;RpbnHIr3@u&%3kA z#Z%13l1C)z$gGG7TVF2q_Km{bR|q7(Noo8>fOe$>J$m$rWPp2el_}+weSD+RICN(E zrmjsY<_1sSvY1WlJagCl{*@zXlVRXmVRf~iCEf`wy5Y2N>QwJXBJqZ5!-yKxeh$64 z{{QOk+{4*S_r0&CU2AByGdiZ#YK>7tscN;fDB5bPD2l|HFl{Lj=R<>ts>4iM6cxuZ zt#b%U5)_Hn^gxg)4Hc(piIj-6B1t8Z>^o+yJ^Q`ZyWe*o)^)vy{OO7(&+-1<_wW1t zex6bT6`;6;>x2lmK05}fKYIr-3^1`@x~AXYWgrpf73zkmldvhyJ<#vL{)Ao8dFqS3 zt9#r|#U+dKk$7rE&27`@AqDngM;oHz%w&Mg+xs&1%-Q^^(=}W3s)f^nvdAG@e``9v zSrgHPpfy*}zu=s@#%YL^E;D^CapoTzT`Xu}vpi8XK`LI!BO8MAU^yI?O%kNO3?%eb zn7lU^SSNiOQ0XkGzqsk)?29uMo7 zYYB}%0z8k+x=(4=p%+~(e4xh|9V zD)vNM)81;raClRY^V6vHPcI!Yqs+o9Sqs(d%a1c(i5V8NetM;bb4}81)ekI1b0&eW zrodqP7J81S^*beEylG$X+X7|*^CU+ZduWTPHu;o_S^XBruMA9=5Bl^(kF+Zk5;2gu z)r=I7M_BW@=8V0!$aq6e;N?#pUpZWvuZyG?q!esEY;@e6ZqzX zn;g&=UFpFZm!9SEr)+uemq`#?XugBe*IssoM)ufP``lrRBfz^L&wTv#km`PIKYFop@`0XqUCv6zPc>sQp8jHt1(03uV&-EQ?j#rH(I*NW?Pu;8X zshrdS@bs>~_SM#K66u9F^>VR>Iu9NBO|XhP{3ilbByAk)VAyUFeT}6iwipxU`rkl&=SDuXi_L}i;%WoGZ7uT>-ARa< z3Mywm{7tgQ2k2j6fXJ~BNOUlZuJ}S6yptPDZ+d-nW_`~-E6|LW3;DG=&0bv2%2w2% ze|N20_eN0f*BJRnNrlmsUm3sF4oMkLwV%jt{#gU`PT&4yk2-ThDz;1z%v*OFOX|Ze zxmoSxwuFNzfASzc$loR1gHbT(9O0tRQ3=ktI(UmH9ie;9u%dOYx%-w8Yz^dG^Wr?} zg5~A>E|z$X-`9v%D4@qSJFDb#LtLAOIcPE>%^!{&VuzpK*knuHAM1&UlK&#+18n7= zna3NDwa30a)+&<@w+wWG*<{>EcY@$>^f9$hAVKm3J(T&U6R=OMXEYp`f6E6Dm&8%* z4Tr3WVfRLYFIQs!d!P{5_}{rrGT72T z8Xf;*hxb3v9@c?XQQJdZCy-OzI6zsvU)J4_nIZlUhDiS%%kw|()owH4!L2@jq#2Pd z@W%C?+Y>u##w2gXeZKeu#n3ZpCkOF&qR0CP^}w8Ur~<=v}f{t5Ii-)}-iA6dI<*Lv3-~x`6&wzL$mB zljR*2Zw3W3BaoL+xPARki)6=xw6ifGous)ZHKf&R73E26YBZ|E_R!asiAT2ni5eL7Pf*;!*Z_bqQ3TB!C#BZTHE!J9jm+GpK061q zZm+m!Sv##|%O0=?xBHJdj5**V~K;uRg*gZgQ$x6ZYk#3M}N=d2}$kA**sF2h6nMcuvk7{qa zwAVsRU#0}Qs@rqlUYS{{R_QqavDH(+DEsAe(Vw0j-W+_*1jM{L$o#@mGYv<*39{sa zCb)(s);?xbEm7iJI;)f6(J1YO?`V&0%x8{UHd=t5N!BTFm(BY^-$Qzw@-GM^&!>D& zzG-Uc`--snoYgBr#o0>Qfk~Tk<=caM&W@38ErR*yn^4buE29JK!YgGoS)br>6(QfT zb#9*%P^iW5L|#?{#E`&T&hY;Pg0S;fx637KW`e~ALi4Gkd<_q>XW#a^yZs+qH=kC3 z>t4hL?VSgfjRx0v=ji{knsMTTry*mQ-^0y9f(oO4@vlttmu;~aQRuXl{EICEkXI(|Vujw`d{2bJ5U z)JPJ_loJ_S-mzO3X25B-HkRFgdj8HS#d{(#nB>ZR!}%I;-A6!pHT-_+v9e-Alzxm0VX<7$@(V1E7{~=QW#?OB*QS#^T-}AK&IWq9e zeE@YT<5q!E{ojRWfo=S^s_MYM#!LT3fJt*{Tz3Fb?O|rLOL8yc-^NB3%i&-BRrGJ% z=yD<2e=nBO6uFRu5|8oC%}})#+i!N~f;xz>0qG#{x%Fv-6LUHKKcfr){McJ2hahikVyy6;(c!(ni|OUXn;bWtm%l&b2iW8 zKW+G6!*E78*4tLA2_z9fQoV+ccDtN(qVaCdHt}p`=&>1w;QN|rL$1|I#+vWU5 zK&AivRql7+-+cY7k_Sz8o`9K#DikQkC;ClJTZEPaZ?v)h3;kJF5!rw8@Se8K>LYXO zO+W#bTFtuNe1%6Kep6l${XC0dFIb-~Vrf%4_|`9RG4I-GYmwgag{BtFurDfTbM4kI za6?8c3%%pE=-`=EGts;Wk!qWjuKm0aoHr9I-I{97sc_(b31m~}it0YYy+u*vCc(dWr_t;D*^ z)r}7>S9@C&U3gZ<|7>t~B0i&5EBsEW=2((zTl6pGs%_r&!hF=u^+fn&OQU>sE^6#Y zI&!DP=e551L-D0nX#{Y$%azF7?$(&p6Eoh$Y{>QDvF*=2??C3S&IB=aRphmzgQ|A4 z5_!G3kZ*C;2~B^6)4T1rMml@kPgsPH(eAb3A?mp2coc3N{2kCj7ym9hv^)e z=%MpX{OCIb3T+%}LPQ~N_(uDZ)yDpE!J};yIBe>(O&l#Ke5AabS}d3%oNPJJ-e*^} z^CRTdNPl?y=G_GIcaG`E?vTkx^4X@wQ2Vtl?Q~0n&tGh{MqaZubChYo-613G?>juc|$igDYy&n>05`slp zkIFWXlpQQ_9U3TH4YG@~+gv!kb3e>`De2mh4M{3~ZdpDc4+v#oHqztYc4P4ByqxvE zm>z>x;8*tE_@goE56;+tj0dF_Fp|E(C+q0~Zl@kh`0sz9%nIGWxqK_XUCnl*Fmg9A zSf|Z4sAqEXMPSGv-mUtBUUq~E_M`dyA*HHgsbCJZMg*jp@O!arI^kqdno`12kal*~ z+OjxL>*UDE0%^$X$$T;V2U!IG&2PE4 z&JHKvrS?rewP9R-Rv%RM>2Bbqd16L}deRL%S}J*M=ev^ISFD9iPIrP{K@Q2uH2@{M z2lEM-b$Rz(88TiwOBbE4hzFAzZGgrIi9nJau)0{nVz(tt$a&xQ1ahtNSq;C=w!qT? zu4f#Xh38Ki;c;v`VnI;8I-xPW;hMCxCcUMKry@}0_U3-yR#4Ka~I->K9PM|QxYepV~l&X z6Ej5bMfDWbw%iJ~ESC9uEi9PWk8q=op`W$O+7m-0`$zTAycVL%>x5~MpFu&;oLfu9q1Uz2{2qUNI(r0mKt9=W7cn`$9~NLlDSI4VhQ z1Dx4>oz*1{4K<<&blz@uUqerl;2W8c?syJ@#ZCZvQ>y@THO;-klK=K+FZCamQ+&#FA>; zHaU}4n*>`$FD)gXmZuj>odi?qHf-)sr|zIce0z**!D(OnuIkV@SF%j1OXf+7 z0Gtx-BA8qpx1Mhe(&N0`*_s;~1)L6%Y_44V`DTw+?SG|-+?h8YUCZ+(t z*bEGeAx=C7cSB%8Kw~bTz4XK8?y%x-6@Pwlf^@WKqCM$1XykI@(Q;mzrPx00B7v8x zrFCWu$f??Pju&s_eDv3Ti@JyJ{C{foD5|X z%M_b{6gB-C!R1QL12GxETMJ>kRhj@$8+k=)-TNvGd;t?xBkIW zEi_Y5G`xFA<$I&lI$g*-RQD?2(7#poYzTCp2(UYeAyq%q>HT$hhVU0?-E!Y!qr@dY z`Qjk3W$aJEIzH*YF+6H4ALk_We=@0_q1&2(wQf$cg5Mo%IkQR7j}Ji9GlcTy)GTxU z+rzsH`Dx_k)_tDDuT_nW5GTELy=Bk!GByVc4Z7c)gw7 zpE!#9mdH>WNjI%FVDkWQl~XN^8Wd?}~ zFtO(M1*+Eb^sN>mGu2$IKKxiUt2>FvsF~+zQrl2jN299%TK^O%oFV>5WTdX~$`)gN zSPLudR}kFAB7zjQZ70$LE9fwK|5t6oH2kd`#XQqM&$G#ieU9z<3Ai{l`>o@;+iI`W z^dW~iYA{jNk2eNY)jdGwp{i|k$-@Y<`|n-_Bv2{` zSH>gi6Phs02Ta4%?92%pyVhHF_wuPN79xB>mX~CIixRkSppkgoKJT{*vHVQaiy*R^ zo6*IrIyO|n=_TPQbd=T+6*6D%S%aCdy$z^p2&$WCl#eg9q)P@AuSS-IaO!7=h3}k4 z2NmBBm-ENZHTtk38zpOWc2Se0z`JRb*W@FH)mgGz4~b`mVk{d0YnddPhGkJ=Y?rkr zyvBW*i)dfOOpSSY?kt^!k1XSNFg@8u!Cp9yWm5x%xHKlgy@{$FMPt}R4{=rywe?bh zFWj6Hya|=4MjcWfT>Ut z0hfhiT>m0>X(DNjn#gZ5ppLis3`MXd^;1{)oG|JdUBVX?h$q$g9Y|5@k7pf61e&dX(`5 zg*;kKEUE0wJ~v7Xj7_{a6Ts^RI~_SqM2i``T8lR7Bbsz+m>Mhf7Wg%i{lT*@^HU{0 zOuQNtdp=C9ZQB^uKcFaJZ6$O;!Du~5+J5cx*xJ>5?$vc1v|;-EsB#jV8gq02R~yJ6{OsE8mUH!Y$wJSY~rmRrW9wNk#qH5m*x z_FbFBJiHQvMy+j&l%(+BXlqB)a-CvA%UD{Iw`HL-RTukV0$u=IN> zPP{EDWSJBAq$-mV=)TED;>#6`S+wR$_P1KFgu^wfIEir-Xk7cy(m*L9gn!(zb<5{xbbF1Yv&DTW{==d%j>BVP#F*8_SgBfcHEw!I3jUC^1nXdlMPQ zZt&Zcw5Xlx&DT1l0(TT!s&s!f$n#Y}Oh=8{m~TZ{pQn^xUBnl-onbyLjl-?n75ZP7 zq9;l=47*3lSE`Vs1?w8*xAUe7_niqj*gV!tgqiz-s+NvzPfmE1(jnyo2QItYpM3yc zi<4g6hg9AMNsg?AzWQdt#W!S12-+gvwkj?{%gf^Ie8Y4WYK)mslC zU+|ios94E`ao1PmL*-7+a;>+ib1ya{$x>O1Nw>yV)`4b|EB=c7z=NtwLow7*EK|SFJXd zu7Kce7}AjbnMbhV3R@87Dsa`%0;Zdll9xw8kKPEl=De-|ako+sy>+62d<+aW#Gi>j zR=u&i$+{C!t*2jOdVs=HewTQL8aY}3(uweE<;M4KFM)u3_(&)DmUUWxzchQ6=dXNOMgwHHSUF|TpSZu8m zFP5@f8)DcI9*q`_tH^8RL4qlIiA`H9Wx+!i`>dj#G}C8XIH9Rf6rzow1^b3=chzKKpC|DYS z%_Magm^g|UMDs8nK{z(kCcV~y5sm49xvhq+j{#0S>1s!JK)rb*f-UJ_#)97*iA7CB zUXmWW?j=Ivh18lighl#m3+CdL2XUU|aB?m)H>OHBQ6PDPtbR}-?Xr`$2aoVMmi0lR zxv)plxEvCmB`mj*dJrc9#F>O@R61K+5St(^28zHXei3i2Y4rrO95qzH2r7?}{Ls=Z zJil>w>Q!&`S_l;;o8H>H);lL38Q{`~5K|*SmSn7W?v!NF0IEY#2%LBY-f{}Xov3jW&|IO$GcPXHRR4~j7GG1w;& z_23o$UW|oHY{&h3)e!W*^HC);Owpik`)QqCAb~SFtF|L0fsyccEjW(k?>ilxGgemw zCWSuFd-Y7B86Q6DO;RCC`iiQhNll%F-u)~sIG9c=VP6SvvNfd4bcs$*q!}wX*yJ^5 zju42Nx?hjhc^$IutkBX3>w6y6Fwiq4_|xcZ_)Ue*yX34L+H<6IG)ncKj|?Ear&}Q# zgMHJLNtt@i`-aAItS;x7%HRvGL$S8FxoB7Dvg zi^_}<7&tg%&;HDs?fI`yO(^O77Vnp#&ZEvA%w@vl>!t_X)@zqj5RI#8q0@@G>s4U{ zmc?sKQL}pZ#0FGKa&IJ0(rtf*xrSThR_A;2b8>GyG{+(`HsHD@f&TX1Mq1sBHFpua zb?L9|)!UCd`BtfI&(fmT9a!OCTrGI&C88myo$4JwCW+)rE z=G;`?KK?wwz*=31&oU8MVr_8D?D?FK}?=2t*M81Lt&fbVlGV4#e$nkv{5a(sWb&d5d}QjHCDq^AZMq z)@>P6gl^gP*^y2L6V!IBv9Sp*RTAR(-9EpHAa_=Qyy9*QFyeQ!4$^mX_!=bZi(R&O zYyCD^3kV*@Z2i(Q6=x6GCalo)vn18)yJ)3aQUeQplI{z6iPqYRy||cNxns)r=2K(` z-rizHtn*A!s;Cv=Mdj*v5w}agh9^;wT?q+h$g3Rx_$EnCp2@e+4bQWeGA`lm@&z`D z^zz$%hGbEGD@swB@OsRh; zo5fP3r#N1vxpd#@8CMN>1Ey88xG;F~^%HP?AK|fNG9SUq2Mu4inATaCy@+Qm_*F7Z zZnL!3yU;|q23=345$V%dyW+jL3kCKhmo1724ob}I{_fx^wWWSC>S5J}b{Y9>NWirY{>u>w1fgYhe%k#2d-JbaujWf&%gersGh-87 z>)mq7V$bwI=J&wf;vWOW{6HO9`5dqfH>5N{?SKVoPzJX8+RL;#XA)+sBwTHS)59K; z6b*fyVR)y{KgGed?6 zI$-`#Kf~!!X~DLZ*^hU{@$3EbLW&vjte=8J9TBUGUNHXz>(n-XCBNmPtDAJ|re68J zf20_#Fci*(y6R$vztn1ui|T~Xj;}HE6MK}6m~za>LDvUgbLp*l(Sz*!DZ7%C8%39f z%g{j8!~hq~M0y;lJ}s7Rnc1A-+HCAPR(QS|wyyP6D1~{`d_@R^|6%_}SIyg0bJAnc zZf-2PRGf9fIBfgPXuh82#Tn$6|Auo0}UXv&YgC68QNc6*<&mV%`m7Cg&-# zdEcNretln=I7lMA`>Sn#JN&nqaE8r0(4@!bs*J@D6=RPCdh}nPuj>Cf)`0GfGr^ui z13m=31do@swzitd&AEZ2`5445NzelYw@1<`d5F;OXu$I*D<~iiB6NGuOCofN=ZeT6 z@!&mQUtevX<_*nq7Jh#IUOkS3f&TtmM+Q7M#b_F4ANF^dqn6THq*Uze)>dk2)1;Y- zCUc{sqlEj}{`H7HbGdK^Ss*B-5{8lI!16FUa9 z;CWhqqOqVV;}NeC{>S7q@4{WpLB5Myd~`%e|LkpcIit_}4n3Q(2K#Nqi#2*rz()Q= z38pc?RH;YjOe-=tyz};Mqw#l9@+@o2$jH!+&T;eWP@G*}W)Be0H0;njAsO0LAOgnw z@bK^+HfHo^@a1S!^RWij|Iifj!uk(1`4X-gYAT6h?5xbTHr;3%({vheX+uMUAlPXg z#jk^d9vfMU&3^|4(XRy2}_kEMWfQPDD zgh4YAq|u8A?>q1=^Pi(|_hx7mi2?7D?tV?-OgS;P(FVu_UtFc=fj>$1c{I%wf{Ed2 z+UtJ(ivXc~NkH{RY)t+2^Sg$);3i5N8?{>GzK^o`CfWO=zwK?ICEmKRTqj@U#4 z?w*^QvjlPQ@Hj{#kG%p%i|8cfl^IVFUu9-y8q_jAxS$IEZsTpbCIn{KSkf%v_W zh#Iq6Tdcj??wH61Wz(s>8qjP z1Dww-ZHFwC#K_Irw!x4z{Y2171plq$~UINLdPoDS^JP)RW2G5WPSfOlvDm!JrGL9W(lJ~GT6{Y`uk6@ z(9sWGJ0C5sw70)81eQijNa#)`dyIhwY=-d+Ug~@gdgI{PVDUh18H4{w^%l&*iGF#?S^%r4JIIa_d)EjvGw*+Ja;nuOesXh^y8n8Y ziy9!_1o9B%;W-~P>5YPU|M7!^Vg>!qJ2i{ziyyyJdMtGuJls#l&)Om7t$~_yyO@E1 zPzhFKb|QreLn!(GO2YnC665=X(_>B z{e>Gf34*KOU1vY#44jq1OWyRpIph&1gOUUWGUV|8STcG3*OzQPUJ zyjHTLjJy}tN2xU`Z175f?#Yaf_-{P!Oz$uFrSI1kawDRwT^}%7>c(#FV;yyTIvg>( z(O8iC+57-Z*xD*D5{RrFt)D0#FFoFF`Tl| zqg0_a5Mwz~XPAxNY>Ah0eKktw-4DCR2iJcP0|<0 zJR^oz>rS?|(N0dvr*Z~@HNC4r)@31%;)J*EphVCh@H)DJ*6Z(0zff{1_9r?~=(ivN zP32}pWn!vho}5EH2gSAP6H&Le=C(x-;YYp8LAVg}zs`NVOS)c9~ThzYHth#(kqW6`~wY^9gXzYtb4ScQF@pyNIubjj- zh|l@OX1vq_=QxMu$bxWsieuTqD@d&(q^{j`E?5p3W%YzD>Yplp^Yl9zgv*&lM<{G* zPrz%bhG7(XfPp|Khlq@fWx3VU9f%T1)N5*LHh~z$MCCM8u6?_+st;wzorvAz{AcB} zCb+USs1^Yv>T$&P7p1AOO-zEi1$t9?=dqA%mL$seO%*+KwBVlnpP~@d^#P386BQ~QmvOGV zcv!HQhi0WOC6Uc-%~m4dv)oej>9m=y=g2BZmuTsFkcYIYoP=$hF0b&UwFCk>babfz zZJvQ#^9WBU6!|6gd)?WkdU&&jTG|X6+#fx#X%OzvcYte1%`HC0e)f=Dyxo`7xT@W;wvqxO7Y7`D z0O!d5`W8}L(|(50f3!iFeZNaY+BDRJ){`)$JxF?D^lAO%peZ`B)n*;*qx57+9f+N= zDa+briAOja{gsurZrEB2tF-$Q`r-@xnP9%`yHkWzjg098aWQ4iW41-lxEGxfV(lT; zGg$&hDB!Ly$q{oq;tHQKxl$~BYKM;Zi^v09N9H?pA9z*U{?ty1^pqu(((N zrOA5{)=eFGXepz4haa|IVWn<9KTn@ku~6L%w|npGAIw0`L@<+`oo&#+K|m1p{)E^i z*~-k^To9Jt!dfg!eF!-o^~!9P92~KJpnFiyZTs;U@Xd3veG|XuxxzM>^mX;R@NE@RadZI3o9Q_CUKf1GsyL_df32k;8O(k#r9F$$>jA)!CCv3T~_1o zC?_fMM)gL;#!}2-c@RhE>NwrCPW5c^ikesD!l4rDfaC9NcpvhiG)WERkixN?t}%3; zLd(93jP5|XTwC`lBx%*tY>=aT!4PHw?O1-|w&c|edQdjHJpC_E5>AR&^Qw1xGpX5~ z3-Ajzy|J9p`+r84c+srMQxxoJ)PBFT40eQkza>4I8Q`rG$NmDae$j#qJt~ zzOeD`_Uv2DqnBK?uR}BDmQc30E^R~(Bk3FjwN6}wPh7MZ4(-f`&#~x(C~iCwveD%F zxlapwHmqLz-$)B#R*}l_kzx+1@AGy-c3#*zTS;# zOn<;!tc3T9z&u-ci$iGT)FpO9B<_*EHPG$fD0}Sd!1TT6I>S>lu__h~m?V~FR~14~ zdiLd5CEDN#$E9CQzZ7HV63&M(Xwhhv>0)Lmh1|TeYGRrMY48W+AB6=t<9u@FPURVC zu7Z#KDZI)>@28l*1d#?c7xsR&R*PApR+-<}sE{mdEEq@RZd_50es5kQ9EJtrh?9)% zK2&bDZwXqFTzd>02xI!f?flFBYyFq1Y&xekicDocxkDVCB%d2L0X`b zCuFL zg{CB&?hW8MgwM*^UO5ZuQ3Tn??3Fj>Xq_3W^wrgHE{di)8o2PLIyD>2XsVd{&9z`0 zE;(7)o2wJkP!7~ziXp=MF3(%H)x}22Dw24EFEFqs%QP3j9<-u!2C6D6lZ9Ttwu_<^ zYZXd53uUt8aJKBMWh32)+og;BuCK5|2DBWls<``*X>3~2NGN1eUC(;V_( zvb;rM+vvVBkfL~DktwSzm3J-5oJFd%+AwO{A6nbL;vK$ zxhdBVmC>Nrm%qAt;};{Gqn1UWoWTCCwpr^6!Cihha<+fE?iJJdu-la-J-gyxWs%EO zrR^_Gy5cZjVW-kii66m+MCR!DQxL8_a?40)Q7+j|fm_d9+(or!4rj^GOJD!nsjRcM z3u7H*)rUCER)9a`Q8JdfsVIv2@naAMUyY7Cx3C(BLHyz~lCa~ROY*ACEY8EBKLpXD zb}lxGw+Yf)qHgNcN^axap_Ki=F)TQJ^D`Sv!E8u)YrE@BHZCyzJ{HPC5GGJt#|rr} z%2V@yIe<7P9q=$_EPu&w=KsO>@L#g0dm-xzSL3T&c_OFC!vP@R)wI1$ECW)yD=q*n zzL1X;P%p#PoQ5mD*b@y6+;>{(x6!W9C#v;+ATQ{AeQueWO?ed^FxxonnM_0kZ4h9 zqCw)<#pM0K0`tX9H$48MVi@o%nRI)WZoUDq7No}{I7;)XEM-za8*d2c)}I5p(%&eF zA*5$`Re0WALd)VEB-(D-V&pDbC#R?FfF)Hj+6}03!WFfi4Q*XN&Nwbrz4mb2sDcQo zKfQ3-gV7R5WwiMfyM6p)xv__0AYpGUw*7@lY$0_i(Sc_B3mgyjEUn`PXcs3)3fcrw z*Mk%Z-fojEhcYYlx`f^WD72>||8z@kmu;As*40LLx&+JqaeG8*u1(=#i)#2pvhhfe zfl|z^hGpbo@?MBA#cYEk&y|n-qSB1zDl3}rgjep7&b=2U2O1L8o%Zs7a2hT%K#)oI zosc!sX-L%jbborVwx2QSBv0~euihc(1rl(+XUW>x5c2)_9NfDfYq(2mU*WK2+U%LZ z@A11Nkp5Ry6`FeKuM%aE)eXxpKZLoN(lx_B?ev(+eXQ0W$nG2|R%h*POv;D8cNmYA zK!+jPf>o$>aa{sP0XD*T$9*nxO{&gVSH{t63Pb}*{LsN8=ATEba_+Rwota5gkuH~F zIw=Otd2T&+SX~i9w~eZ*`rVAQU&PKhms+zBN7%n{>6|7A$PmH^8vj3o3Br#s-`w2g zOTpmV{Be@KkTVn(ZzGZ{hNFuui)lSzqf63jyx@z{X$+vTTp!e(`F$n|n%L|v-KMiv z+jLb)_LJ;g3o9E-K07^+?-BTX;p)tu0hYz>9SvJP7K*^f5+RhI1t<;QB-Kt7Enyh7 z#wx;~;fdq~pE&gs|9Bc-UjH84WtWFUuN2zrm{2iLJwpYIp(!t9Au`qlU8;-xsu6#! z|0ID%q}_QdtE3uFXjv?D`h}Qi`lo<4c4EV(KAl%UfTsm`b+@A4OloElk@Y)|Ym-l; zA}6u|Z=zv{F@s-hTs%B?P&#L1te(@yq^a0+_P|qFyXLEii?uN2c2z8V$w_iCL^+}4 zoCe?(iblRM(rd*O0JkO;M?@+9Zdb^po2ENmmIcNe`3ZO;Y7o(fC=?C(LDz`4iMR2N zeY<8#0m!`(K4nQP^f;4LMjaoXHcq2rD(V3Vb8Q2k_tZ7plt0cK2+|zB!-C!{*^dCJ zk+1XXRoQBn)zj@*ON{%IOebk*VfBc#bAyu}J;9p$7-U zigGChGuvX1902Q5HyBdJdE+#}LkILonfTA@_Ww8DVpBoQ!WF5sFZFW`*}jn|o=$vo z))#yuDz0^{3S^g!MxodZX>NmL3-tb~Rhi{bonPdh!{YU|EM3D>x3)T;+>uZxD{1#f z)t`f6u)W7C@P1W1kZV;uVlKKsWbEb!Rj(Pg0(+tJWSzWnsxPkI+}AsnY5q^hi@gMT z11o3vUVi}a_dDUWlOXYkAd}01x<@Qd;zQ>-sHq!GV3%>D%D=y&&a!pDds-xMpW}gr zhY=XCXk$zu$!~i7I7bK>mT#Db!5A9coiMSh@WNDJGY5a@CI&VwiX9cU#6z;~TFP>w z@7+-=Mt;*Kd5wbem42`0-Kv`b<>T>9`HE{P{v6_?y(}!$hC=xzVfUHV!d-bj@!cCG zkZS69kk19m{Bt(5-2PqRiJX!`F!I0xfui{elkOOHPb?mcBuRebt?o|$xL01u$;0Dc z-rDNZ(ccc4{Ersk>6ra`ZyyaA#dm=1j=AJ>g#d&KfOK$_0%5!_Psem=*}GwWV+oJT zndMa9i>NYLW!SSNVnbkoqTJ6EW>yaTjrSgE9}|O~^T*~h{zSDM;vNtPjetc! zR6yW&O)Af>ot>RLnSjkoqeCyJs_=D{vCVze$OJi}+)t5X@}9IS%zPnqU{^|(HC-~@ z-x5aU3xzYjqNm@Mu(V`7BTZI=-A@G4v$6T=Zp+{&PQ37hju1oyh4wS=}#b^LPp zwBNeov5Dy&80gZ(3s?%5#n8frL@;w8am-^K1K1E(7)%HOL@LSA__KEU-IK*(z*Pp6 zQ~;RHGL_UBZq>M%xNXg2a6@_M$nWfB)j56+@@RfEniRWxZqpxfd$KLstYpvq8LP+< z=!9d!x>SuP$LU!x?PW6U@vUV~G5cGw^|9TmqM1!1HZ=C$nO*myihzO1#*L@`&GqvS z2tY9O{*SIg?iKK)Gnz(9`!B~KSU<1)(Yl{jr^U{JVLkSFuld%A{S(!ai)5V&w`Fw? zvW(J38Fa`v>_VDt8Y2A|DT~JdCco}cI%ZaVYQ;Ax`BoVp zk`OJeGIS4*gmo=Broj3`G<`0F+*&sTX=%Dkw-SD!C~zcn$DOIdbl{gGZ$Pix5fjqm zr3(K&SQ3CG95~lud!5Jf-06v)B&m?VH z3eI&{1=1c`)k{ZD&rY86#Y+vBJe7)cdzp3boh4b_Beg~(3+U>Z+@*2U5&`T5Y|EU& zHr!aXlE$s&o1`ID*)9Jf-dT73h~{b!Q}WL;VsAQO)VbGrD!eo~ogUuVKtS#?qR~=# zEjhE~<)&Wf!{qqBJ(%&4fU?~iF)>9CU;JZ5Hm=@joLkMPU#_ynRh6oKRw}tq{BmG=g!Ny}F2VJBUOXleewHk)NTY2dI+H6;7 zU>&(eOEqR#`g4%b^izN2l~m8@08 zZK+d6?!D1HQfzH!3MA?0!8RtD)-4S|8wN;y&A0cUozYTw%u@2|dHsbtWd_xh7u}RG zZv5dj=>5L6q-TRNTgvX6g-8wj+!rae;ehG%h{J;bT&mW3IqgVehgwBbGb}O^6I@;b z;25O6k>qy+UwaHHG`cEUEMw-r`iFL3xIiI^ZJaQ4VApNsk|gKOIZ>l+Vz)wrg%nhR z^s@p$usS8W-}69ZvuV%0s)Z~}pgl}hL7iJ~?sBZ{_uq%H%4_AAUmnbn`eS?IV#CbB)-H>~9@)`fZ>Gq?Oz+UQ( zirG(o_fZq_GPI#R=-4JxgO0JWN&^5nyvDL%qc4gpG=+6~*hWTL3)(mVuNk9RN|Yv9 zOvffiwnXro(sX|!^1aI9t3BR6PX^_M(XQg*vi+_#%Zj&;1-OoU+rdOqwd9@{fxU36 zjpscs9;zxT7P#Ubly4%p*2`(YpY!#5X&bF1aEhxWn|DIe7a2vVgb^%Wp~w<;L|y*ZN`Y~O2d8Q( z7{>Pe7IJ*`aEat>0?K_Wj=ybti`3=wegNo8_2*TQjlj9B=(fcVR0O~?-_R#p90iXI zK@n>Pc?wBa$c3B^qyXaju^Z3?Skr>J-gzNDa)F~U$$&rTMi+MKSAb57Kh%5tB~9~k zQBr)_x#Hm5s+OS)Roz1rSi-;$8`7Yy!bxTmcVCXSjIogz<8+UWmd$j;>XeO=ZEryx zfKFAplg_sQ(>Psb^g%Qp0EhIP+H)fdPmN1-MZ@b9#2(JW)_bEyPy)o61F)YoqjTN> z3I=M3E#MY_CWnt(=fCut(y6|J^?uC}258tSgls`Lo0ER@x0I5bMf?j*6pE&nvb=J( zq9~K`L=<)6VC@9kDbZT2S`)}J@FEu??$;|kER+^k|cJlgg=tLu~ar*U2q4_tmT4Kx~^08&%u5clv7U`<9L!TzJNRq=K z+hL$@G1t20?(C8$t`RkU+ zP0iDREyOi}P&e}u($<-CDg<$PIFfXzNUEnjKgsIO{FGJJj5uUboEjgp)1|0GUT5d_ zH*5y{XLE?Qc-u6Rl*`=p^}(WO#m1*c9EG1LxnAQ~(@s3n^^~T0L8!4?28yR+&p}#kzl^#MB zPREE9?v5uhG1~4 zHH1@(<@2<~FT!-sv?C4^lE%~d;?e8#Mx`GEchPkHCdV>MF+55=r`EJM-}^xzBuuh; zHi$3wSl8`Z)d;j0k^*Rb<=%;X;=0xS;Ho<=L44@h=MLPc@mNYj{qc`z4>qs=w-mm_ zwEs;B<LG)0qBDme8fTj(3mD*Q){Kc1XuvO0%(?yKvWVJ?d|Pl z-@biwqUy2({T?2Etjx&JQ`gnibu3vor~zKrrW2im(I3@<==UXZWP5*LXlRJ@kD{uw zhj9TARncDR0NNpA6O$c5UbdP;l_>RI3FNVio;2WA0CZIY{fX0<&`WhE~dVD zdD4iTRSL+LP@lmk1c_$`6EBsNl=Q!OsW=I!p-`xbXu)PM)rqI4=ahIbhB&hIOYHjQ z^78W6OHj8%LOi@`nP?Sj4kFaMySrRPhH4ffbe(LlD4?5qi2kUq$w4GcqB?^M^i>|X zPYZbr7ah?Z=rP;oHO6bpd^Zm*@nAJ7i9d2I@VF>A`twD6Q}5okNsqewVKi~}R|A^= z?4*GIE?KfUT5Na=DxEjDy}Q$l8=>;wf%5@)t3>^&qywm{tE+tgb{tG>0!%Q%2JITq zo4d(+wuX&psj2lTA_U)d;R|jm2|wV^%JU2K{wIijZ|gp8MOq0>t>fZ|3l|R?VPRm1 zyaJCe4<>THq85yt8BytB{)}o6%OM&4AN!Ou*243KV55lh@UEtm<> zM~1y+GC@|Wzw&|t#0^(}u{Q{4WQzN2xIT*L^cG4Wb?qA$t&`HuaY_@t>JvanUxn!_ z0Oiq4zMVWE1abqEGap?q0#A!DGw*N8zv`lOsCxh@BF-4mk7$}gf$8v)*8|0$ZUKo^ zB8oLrFMXmV1vDV)hniS4>yVOu~tT7?odz-s6CnEhkI z?=AzbBve3~1E|TEM@of-a7J=Z@bPvXEtEy#b;}=JiF?P%N0E&yn&e3hMB----~A#L zAQrj%xpg}<3*n}S!-(2E3tFpDkK!#)B~M2Lt8a*~K85gZDL*}KdpdIV``^7t%n|6l zSvKuw0pw0Wa4)fuClNZ^QhHuLM$53dlKEU-_0{WwcE~9C{>sm?A0Xl$y||Hv>I_rAq+@P$T@zk&I(d%g-B+w&rO4+AacJ|46!+8q+UHYoE{%}p;M#``rs8+(9hdT2j_fudgA>mj1ws-E zZjuP`xroOEGgl5GhvJkL;s{B&45VaYecljsK<@Ya`SZh&$eI6z9tsdYrFZBhzVa_n zQ7?kmz(YqQjIix<|2X_Zh@ZjV1Y4YiizI?tNN6EFF3#~QKx*y*_EKER4>8~&hZ0{u zi&f{WMmXJPsup72YcYE3sqMFQf%Qj@`Q~m9?XZ|BOE(PXfhpvxZt*`mE|$&xPwh?@ z7Z<9%?llN6t@V@?6>T

mba|eoPFG_G0ySxm;|p_q(~d!Qsrg!>8mSK{$CRe0F7> zmV0ACK=CP|)+ahPi1s4x+HwJO%YkNai&*G_llJ(vi*V4ue&M3tbb#XEag~LIaoS_4 z3hU6FNy%dy$A;SURJFvsGrn?2L%R-3Q!7mIAJZ$b4k~VmwXt4ASu1_B1Kk?n;lFynita(yZ+E6<*wFAt=y@r$WKMwhe-d?0 zw%$_Xp+a7QKbphNhMgIGlYz<5kDjICCF@AQyHKf$sOWbB<~Kyfiphb6XQS#m1)QT8 zGF95ty}^s6L~2O+bw-5%!gA8J)OkzgC*zPD;k(oO%orEZHTw(W7TUIo{>jE_nN4MF zwj_(Dl#08!grIfu3Lb8^hR5H;3thJH>w!WeD<>VlHwQhD#NgD}doad=ma(SR!fDdU=kp<;ZI zRGS(VOd`m zW~&68LC%0j7d7PbYN%!JH!dA*-pX!k6T5fb6eM*FX+6pwETmA#=0sc8)&4dWHMQO; zmudhJsb=mh>1@vY_^g#5P%3#8Pm`4eM*j)}r6zCss#yi6ElBIC% ztIa-ed*#sVL(gXx#z^(N>8ZfGWs}Y_{ai@R9mhh=2jjp8nl$eN`jTsR;=ZY7*Z3nC(-*~AU|jd^W+V|WIYG*T3A2LIWF4B7IsuQ_%ei|RrJx@yQ&@r5IW8(Uj! zTtL`RSylCVXA1WY-tD8*R;hcGbptFC!L8 z`2L<+rPd8c5!y5tL zo0AGR4`dKS$AfkC>i4y;^M~z01zjUY%Kej@S5dp@lJ#k;x)NwdO}PA)H-z`Aqfx)w z$mm0rN#ETuhbh_WQUJ5=hjrYn{75TMG#7fuBlAuMRWVRubOAvHkKT%XtHJoixzJK# zKzY#Cyu5Of!;|^Qx+iaoVZSFa|FFt&z)hI#)0BA-fT>OTVwJZdX>K6|e_ik%TK|(h%jtiBC`wpuj^?n( zOBzspAEH0N4$W^JdKK8>57c^!cZS_C-MAdxga{Dk6=1LN4#{7>+8ZBl{q}47?1ItY zRW1D9pTi6I>1t6n1WC_X zLI=+G#_cDnEM2}n{+|2gf2iXr65hxwIWERWnOE%FX*>*n789nNCz|gK?|BusKCztM zA$Rf0c>Gt@qxZO%+Betabp1NQyG4lyim3hX-`x;L{ay@)%^tIIA9)i4-c$Fa2VGH?ff2tswVXEeP8^S4(}QpP&R-qn>A?k-&^>`lNO-%Pc%0OR(5m z0}-gU11zATZMe7geWTYk90fbF{W|oDJM>)8+a*CjDM2Zs-)aI#KfXJ;k3vD(Vy~FI z$oGW#wcEFj3{CKsee4Jy{CCnRFc1uKCC$T5x6cV~C3aei>K@2cS-Nj=&d@+V)=k9+ zf4#C^^h+~LUztdIuaU)VPN?t}Ol5O%(U15=3A3B=omqKnk;aw5qQgU*-T?Ea%WZ3O z*Wn}Bn2uZR{#7Ko&#}TATTh*STm9DO{34g^*Xb#@CseUXIXF;8Zpppztu#-Ks)Lw~ zy(s%KFWtay@+y_Pq_>d|TaFHp8w24|cQNChhmpHI{TQmN&0qoL@}`VEw^+;F_6o;# z%FEc_QGpU+6HnJylsHOT>vT@G499d9iaG-)FiEpFpbl1Vo?+RU!hP6710pp4{}M6p z7-RvPa}$u{7jMEuvk)4Exs$RP6P{bRm)gLVQnmm!ebD zajnUJAvVGCet7aO{c4IQp7F{sOF&B5*%sLNp3l5zfn5dc&ZmY8mxt{KDTxU(aEd;dY-nDg)o=>LVpchLcS5&wWH-dOn2Xr^H!``Dd(k5)YRi6H zG=j<`SFjDSz0djF(USOxG^3etDYpTW*yHJ}HMxgtvsIR8+hi}E66e$7EY9NjL6klv zZq-xsQ?Q9!3{a*s=JNBuwsKbhS6TjRC zNK(OZ+>pk@U6^&!ro{Ojz07pPZR@6|ponbulSss6>xKvz*O28&jc(m{!JK2Pt+PwH zqMm}BoLrf%4tU?Ul-V%{WlhZi+H;ARU4Tc_TWyJ2)vY@QdvHW#1A&8nQvSVJ*4G3I z3<#21SbuJ5cNQAm`Ta;t*zKwk@E#!;#Ghn`k5O4;B z2h^;4CMF)^#0kyYO!c9y0FEF{2&7Ok2aiqGo%Zalkub(EqO`3;MrgSkp!1YI{?_%P zR{>V;p)aeeSC0R`-H1ka!UHL()9B&LZgIRjvPFHrynCecm6WYxbQBx$>DV>(Hp*)8 zDrTsDvnLeAGT{%($wi9mlFSC5+*VF0^F9XZal7gLfZ=g*5pXi%E%=1LNa-QGdI)1A zfgJ`2TPMEJfHecKLH~&K6iq*AAO2X!R@Q%7ZNLj8&uXV+rJzH8uu}p!z zfK40*TnqnfNG*uGIo)AYv8G-km`(OEQg~HjP}0AA^yWtuu8)YMr%v_nh)mm(hzJB= z7_2Z5k<4eSVj4jFr^Qs7zLHUgS_14WH1p~iXr;VO5P>$p^}07*)F(R2<8RK%V|cSb zUT`+MVy9-nb#{TWZry7{zhdM1OZScJg(#PA`ZHLj35cMUkORaAfaE(xX+MWs@UpP~ zqDPbnJwdO>aJl_fN?pGLV{;et53Ze8m1QO%GL@u!{1xh$jcceOh|hgNbWL&1$N-=g zoV6X;dg=q#ZgcIe=La!IdfATiK)sN+*<}dVWaME~Mu5~8> zl}0fu2Xj@FS65erhHL0fbiJbZ+BZM+o1Z>2tCeb`9x1|Bh#@q!JuY)@-M1I`QAJHB z{0Fz=wZK5~=7^-7i5rHpJ6|=4lGWf~Y&)IR{GqCP!+=Z~(7pY{&DLK91&lV(8I1@0= zR+m@*uT*mI%(FiM9=gt0+^WEUJWDv?d&F_JM6ril= z0k({=c6xReg@=b%0suo|`aC27VlsZ^MD=p4>&?{6mf9dt$zIQH3S)HL@a7<(8HQN{8=Li&?{__@fO;uQyO( zseCM8P<(a7m;oe9!na2mzDBVH-eF$DUu86XgaKJ0q|qNw^frI{pu zxTyy^_c4oKNV`wI{jsCQT%k5_K~Jnu8CZ@FGRGh@l1o9^?c$e~U6}xoCMJIq03%2M zD*Why#0XaA27p&J*!q4z^%wFpw&VT%;$a|SK>1q{2jDLN?Bn1ERK6*NK>q+e-rnBd zVZheEHEu8@2s`UDfL!s8slB*>71|X{*8RbWW@`Di0COkv>-fpe%sj9RAWn>qbtiCdC~xK@x4aL6#tg1l3BbSUSSmOo0(g;lF)11E-wh3r-%#t%hlM9>I=e0X4>(2_Jq;Zo6##WqHN&$|xS^f1~ zSw|-g{I|fau$R6`SSMl~NU0m79$18gnpla@r;&hSH_&3?Wdz+w+>A~@I?Jbo|DdHk z4s6FV$;jC)?5+v`{yESV#{-tl<>*96r~E0onfN}B>rE0P1>0$66E1`1r)M-8&qQ;( zc8y)8KYRX2K25IwDmzKEJ44z%j~tb+6jF!DN{2;)+rv#T?-rdHI1^?aTb^S8pDvpJ zQNZcH%I7*MQK>F>r}BqmWukLhSX-Zgz|o;_E8{Zka&8?#e3*YL<~l>Jfx0;)48(U) zFS2hrq?tUk!QT);5_ahMCD^tzs^SJhBKNtpwr&`v5v<=AI+ z*%0*zGeD9$=ARdTv$~!2aJaC-C$y3r>+Cnc-8=kFhv#!C=pImVB4W413Znoxj$?sy z5bh6-&b%}d_N24|&X0SLX&r>(Wdg^(;|T``WIsW#loxR+I$Z@ zHjsQs?d57s2>vnyr|$@QzCZSo9!LESfMeiP&AQ1<@N!=Uh^Ch-c;b^`3zA}Gu-`69 z*nWssDgPmt&S@Yi&q2gOAkJY5D>29dE9vOyJZ>iFQUIs)h?9eZ1zGy%u)h?^yB|Z0 z-d~;CH=lt33Sh{m6ot>RzyBby%Q=8B)2$RC?RAYOHyNf-w9Ybxw)&tKz}=O-ix~$u zb;5D;aG#icw6I6GG;%SkzL1|J`ZTs<*RG_FB&a2noN{QxU)asd;5e(N>|M*>X+Zu? zc+As6rKkoj#gfnPH*YcC3+tuo`MdFMg^miz(B`#{y0K*8O3>{E{($Ko0Q zOaZ~FEGXiT39HacPyD%Cs;HG%hm6%P`jx2YJlzuF5EZG#oPB3A$ANQY1oqZFZG`9JOo&0C8PgP=8=(+;2~B(u1eYd1hNsuLoI!6yVj+d%mveP_Mr!v z{F(xUoVZPe3_y(_2k4n!#}W)M2TCdlfm&6dNHMYTt_geXLy5lt5qcv4vGzy11L#_R z_zf&I1CSXe;LN>;Ibs0TrvjYROKgFxnc7+%;0eaS_>rlYrUWu*j>ni0V8>A~-K-cm zIu>Kay0Ws;3poBolYn~DxLwRp6KY$O2O32_hl#Suf=R}<&kvu#gJBMlH);+L={2pS z9d3}=)FXCFr$=*bjaV;3)SQ*W@}EbRsO@{V0X`tgAKSoHd5l*)xE$nxdwSeg1wbM6 z0P}B+Ow~iL2$ZqHN**E~T|QDO|3?20^YGF0;bI00VOAJZ^`T8kY#ZQ<$%EWXKLVx! z&ESN5`TC#lFyWc2`pgnf8L8avn_{LUS9e-a`W#Ic;6x?mC1)JK(Gu4#=^q&^RK zMKzQF(mAkk`qf%V@}5(_g3oQmE)lK@fh`INC~(=JX+hD(OzO4OR)A=+4UL2{;qD|4wX{X*MoIbhCWgOofovJFleyN9_XX&-tqDcJbL9xYd?H zIK&ItstSR3T3~wzdgN0z5gE4!2Z-F0gjNN)QaiBzu=DrNedgu=9`?>S!YU*GerbWp zYlfo0DuCCGX)am(-hb|nt}W`F>bCiHzVz$K(mSg}%QyyUP8hZBBV5eJ9#ZaC#r;;# zkS^y0(pBAY^|$H;M~-k>(nUDpwDPL)b#4Td6m|e<3-A*gFbwQhfI3ZHqo+hD)sbi9*X=Hia(Lxsg z$U%Qh?DF%@J$$`q6u=iFfz-ZT>HZ(hTz6Dc%hpG^*8(bDEHtsvLC{czP`pa73Q{AW zL|TAQLWh9pMMT;KqzMTkp-Ynl454|IAR<9p5R%X_LP!vSP(t7xyzl$|dF!q9-uKrx zYh|5G&Yn4YetTx`Jv)0&9x@MtAT(0xN>3R4>)sxiJIysa8VBfpx*NnrD}wV;bMKUu!L{MrH$UA;O#p{4?kwMl465^21bi_k1HYO7tizsC4aIuXA zf%fg?^s1nncBgHY4)FAtKp^?8TUBk%!|hYuaPIa<`zw>t+LnMjvD_I~n6)|!?i&3q zMrZd&`mcUwcV60^7R`At3G)U`gBh+4yIlJi6ER z3+&x_An<3$KS^5R_oUtNbl}UEjeZu5aIPi{`~U{?_1%8*a~^a&{XqaubM&mid2jNY z7aiPd-f__Qr}TKf?-LB)`++C=!QYdH=iK?Yf0Bgr>pXalk8FWlb`IEujU-9*dENMx zA~UXA^r(#Z)R$B5LJ4<@#948`m7gc0mD+1+(D(e5%2Io3tE!AnEy-jP-Dc_=OM`dj zU0OpFCtlBy?S=+_q|V?y+TS&h&uSOttgFg#Xvp7}5v^l27h3C}`e}uXVRrTw?iA1V z!(Yx`J9@SIL;Km!9Umg;4QXp*%W1f&4_hxGB;j)d6*dFo2&9ToNMe)Kw@H8Xg`s@Z z(_sv4#hJ^jBiHy0mrTUG;)=UBw(>31*DBbbny&x)9Lw$1^~+I}!8=|!e02HF(U>Pt zd-m6bk`QnR3=>w`cf!B$vrkTxPw2a>tGodk01`KOGoQa9SGLNu2xT#FyT-p7BulO4 zk-hA7PUJ3MSabCnsX>6&mV}3gB^WtOW1*)N*R}VD&%wWk!&KL`+#mKf=2Nzph7nXi1)lH`&!EfN!WgnI5pgE zEc6<$ick&7D{Wq`aLO)-oSo9gNzzJm{ZvQSX07C za}DlONJyHw5qYo65ouTFd=P`)WTH_Q8MKi#1GY-kC7EX0kL-2q*p}?6H2ffv26g!M z<@5r7MX(;~W=mfR*N&;^gK516<|8_Ygv_OIr|aka%-RqduHZ1Z7 zb{X4fu8{|u0uCVIHIOMGdiAx7SnBHh&|5oink6bo7va1hG7PoUKcdw4D5`D#`zZozuuPeBBG3QH6~2e7C9n2r@g+iVZ7 zV;&*KvS{trOj3KT<{FApv0T6{P)wUe)>tp+wr=Q!!z|Rt4YyPSluE^NJahVV8auaM z7Q`%MTHa?w1X6Ox7uJZjfq3K{Eh68LttvYSWz*S5i)L;crXz&1zMGr@H0T|OrXd6&x7X_ zQDdw;KM?)PX-3lPt%@jVl6rJh8QH~5*70l1EIY75Si!|U?u&i;mrE;Dsnb4C;DFEX zYn4Jg(SOLT^1!@W*=eiZ?J82Q8UEmqg(xZS)M( z#=1gC3KzUEXMbX0VV*1%G4bamXRbl0(+@K-dTJ%3RnBi>5Tiei{Qhy>ZrM)9#g0H< zigjCjjH!=cI&#$dSXiZEbKzGw1c0AxE6L^;IhSvJy@W&) zTzkov9dV|Kh_#bw1}XWK2b@GN;X66qU^>Go7EtW?c%s}&jR|DD8MNxWQRq+5>T4e z6{uWPd51hFS6^mR-@=)69ucVsE^7eyMP!e#Hr=XyFd^~dHQHI8{3o-;(z2w^7;vV4 z2(oQDLD>@ii*!h!x;j)oge90{=9xzf?0FX%O>=Y(gooNa+~ap1EM!`H8^Uk$(Z<&Q z*Sd#$TA^+ELhEM*@zpzjNR5l-iHpO$2R%?^vo4AU+Qz&Ed4ZF8!@#hYU#d4}>+$MZ zs;_fm)8+fFpNB5sB_8?rZvR4kMp{2=7F62o8sl6$pXWO;eJ9w`cwp|9mB?9fzcDJp zX&1-|=73*wKJT(K$0m1b0@KPC&y4=Y#TOUHQ&66+sAj8H?)Sw@aWl1MM&aYF80+P7 z---5NFsAkmBUxa6`wMlxOXcaBfjCFbHTl$SS+;mQw4s@HCLaHeEi0@p}Mi7zef`bh+aNfVwDgPXNwqG}fq-W_vxb7PpAGNSxYye?}=>tcSj>Nfj@jFV*fH-1{KB-}z6E2FH%MRro zZpivSxVH_HPf^re7YTe_9ypS-%N0A2UT5H*evfdV7qVr0xS+UTGhT#1>uUJ7s-9G+@9ypxQi#O=DX-=BN*S? z@_l`j%`ah1=Ntp5f;m0C9}|1yiBh0MC#O&A?s9#)%g+{&M^&`6OyT>6g#G`;vZLb; zK9I`cipbvGyr901$AKjLKbHMJF#i9Zzws}qbCaFr^YsQ*|Z-FU=}k)nUmNFx11z|}MGOSkO%XQr{ch3J{9wVxa=kzKta zDwsWT?FH&a7t@RD9bUB$1v>JTY*C|HD#Z)4-czn$>Wny*)VU=zn3HadQ4mdWN$Z-a zhvDRIRzKW>=hIW5>ZKa#Z0#wZ<%BYqwouMfwPyd-M(TxNtrPLjET)q|6G!5&gZ;-_ zBES<`8o*VYFFsTh+U6)b%AfEqCGOfJ9*Bo2<(WUfEst}`u&Z`jLxiCK?h3o_KewqE zTA zP1V0BQ;n0M>8qeD^}MRNjZwufDk|px#Ic2z!?nK-xdw2Qb2y~yTiWTyi%$Vu0q#Zt zuz|y^W{L|+T|wa5Y|)>)jhpTk78YqvJ`|O_PpNK<_;*u41nlblC> z`V#=UU@dNx$*$bIriqVaw-Z4DWhnr}c8h@I6`geBPm;Vy%xXgUi2?$zqv-lDYr4C;;{YiAtC<-X zAOfy%I_YRQWr~##D%HvCKC>KiHc>xS6q-86s>Ov~IezGj03Z=}=@bD6pROe!LJ1Z= z0#_rd);Qr{e>uN_4Ob=xYteE|OU~w~-t^^I&*k)Iw@{(J)jF!0nwsa`jS^EpGBhq6 z28&cZerVfp0OrjCWxqa*Yd}$&P^6=eivekyCF;A`Te^~-O+7=Bm@7dP=Bh#1jT`TH zGlHNccg0$n&w{@QuVgo|t|MK`x2d7FGcEG#!Y6HHcM$9EgjMcVR~u%jr{kQF(!8T?4vzsljn~ec;o}L=)SKE9++Q!goX}JFG6mik>Wv_T+<9@ zG{yck)je4=n{xy&^Sh$i`Qu(zCDy&@9UYOhE@+;)$N9`|)r5CbhU*?rKpwcL=)L(3 z2)OXwQ~*>yON+sFm(Gm%B#a0G^`Qw!k7RE-yBO(A5!sWE$YZ-J*^cE)3f{382%ip2~TZeb@fh(+eFUYH)8auML6qhMTfOGA5+*dSJ3eeGu0)FB=59&=Z3? z73`i38?h*{PJ{S#4bHE=@T9aw7pJn+;YiDjNaZjcA7&Nn+x+V4sz3^8T`Mudq%d|T z;tr|&wQAVvkl*0Y&`?76{UGCvg4w8++xR_QfwG*aBePHCt0U5`1&wB7Eiau&9RJ%5U~26#^{0kinN=7UA~3^B{Mi% zG(M)om8gh5ofKkj zRI5pJJ+sHr#g9cnAQzAIQ@pH%lC+m%065ylGcGqX8i6|+6wW@be{wEgq^Nk}xWxGALGlUCNoo zhDVSZda^9n6`$8#l}O*6k@iE+GB5-^l7D=dsY*8rT&bM^{*~esB|D)q&kFPcW++;9 zWq)fXOYFOupDS$hI$olkbqLomk-%5IgpK_guGPKFn=w5&I9PbK3)}BR$?Cp;0ORYb zrLixP%6!@Xtvgdg^0Z@t=EC2Ayvvhi5EDH;0L z_pud-N~g7qpMe{-D|-W233}tPWJUtkUI$=2I^Mt6zX&Mn>Ess_FICuFM9&)tkRUF6 zEdKfkN(d7|Z?mA7%)%|Ktaj_DjTYwSl0d^_0A#A7ICK*&r`N&(PzNd0`=-xL8Xwd8 z2l4^yhb}1a75HWU2oQl+^o+GEwXV1)$H_#XZ_P!E0vX>2@t0E&CtmjH?QT1+I{=A{ z5I|!_l4Rli%pM09kj5029IC}^K6~hw$Fw8KtZB^D@aX!7hX zwJq7OnCt|;!|FY=l(Ye4g({ld=)V7Yl-728lhrUjp3k?LdZVbV7Rw#hs>S4Cww&to z#mQqe1>wTS01JR$c1=O-z2^OaRp-pIgQ{q&i+o%%VDM-dH_)1G)tTBLK}l~9*ILD| zz4O;fE~XpXx8+;)h)C>3&>mPt#5PuCR7_a@6-~Av_i#tCrhqj>dQ~GevP@Bm!O)JC z708m(a0C6pGvvHWk>gKq>t>_1#CO02naCT63cfH$=$nl!J#e}F4AA5MwM=^M3P@Z- VH}q-fB<=NKVqmFXbN%kae*lxTplbjC diff --git a/services/common/test/unittest/databuffer/data_buffer_test.cpp b/services/common/test/unittest/databuffer/data_buffer_test.cpp index fec34599..b1828d2b 100644 --- a/services/common/test/unittest/databuffer/data_buffer_test.cpp +++ b/services/common/test/unittest/databuffer/data_buffer_test.cpp @@ -55,5 +55,5 @@ HWTEST_F(DataBufferTest, Data_001, TestSize.Level1) uint8_t *actual = dataBuffer_->Data(); EXPECT_NE(nullptr, actual); } -} -} \ No newline at end of file +} // namespace DistributedHardware +} // namespace OHOS \ No newline at end of file diff --git a/services/common/test/unittest/databuffer/data_buffer_test.h b/services/common/test/unittest/databuffer/data_buffer_test.h index aa75c15d..4f0a72ba 100644 --- a/services/common/test/unittest/databuffer/data_buffer_test.h +++ b/services/common/test/unittest/databuffer/data_buffer_test.h @@ -13,6 +13,9 @@ * limitations under the License. */ +#ifndef OHOS_DATA_BUFFER_TEST_H +#define OHOS_DATA_BUFFER_TEST_H + #include #include @@ -29,5 +32,6 @@ public: size_t capacity = 1; std::shared_ptr dataBuffer_ = nullptr; }; -} -} \ No newline at end of file +} // namespace DistributedHardware +} // namespace OHOS +#endif \ No newline at end of file diff --git a/services/common/test/unittest/utils/dscreen_maprelation_test.cpp b/services/common/test/unittest/utils/dscreen_maprelation_test.cpp index ec0078f5..0e4304e5 100644 --- a/services/common/test/unittest/utils/dscreen_maprelation_test.cpp +++ b/services/common/test/unittest/utils/dscreen_maprelation_test.cpp @@ -93,5 +93,5 @@ void DScreenMapRelationTest::TearDown() {} ScreenRect actual = dscreenMapRelation->GetScreenRect(); EXPECT_EQ(startX, actual.startX); } -} -} \ No newline at end of file +} // namespace DistributedHardware +} // namespace OHOS \ No newline at end of file diff --git a/services/common/test/unittest/utils/dscreen_maprelation_test.h b/services/common/test/unittest/utils/dscreen_maprelation_test.h index 98069114..93581476 100644 --- a/services/common/test/unittest/utils/dscreen_maprelation_test.h +++ b/services/common/test/unittest/utils/dscreen_maprelation_test.h @@ -13,6 +13,9 @@ * limitations under the License. */ +#ifndef OHOS_DSCREEN_MAPRELATION_TEST_H +#define OHOS_DSCREEN_MAPRELATION_TEST_H + #include #include "dscreen_constants.h" @@ -31,5 +34,6 @@ public: void TearDown(); std::shared_ptr dscreenMapRelation = nullptr; }; -} -} \ No newline at end of file +} // namespace DistributedHardware +} // namespace OHOS +#endif \ No newline at end of file diff --git a/services/common/test/unittest/utils/video_param_test.cpp b/services/common/test/unittest/utils/video_param_test.cpp index 78052b97..23bd1357 100644 --- a/services/common/test/unittest/utils/video_param_test.cpp +++ b/services/common/test/unittest/utils/video_param_test.cpp @@ -131,5 +131,5 @@ HWTEST_F(VideoParamTest, GetVideoFormat_001, TestSize.Level1) uint8_t actual = videoParam_->GetVideoFormat(); EXPECT_EQ(videoFormat, actual); } -} -} \ No newline at end of file +} // namespace DistributedHardware +} // namespace OHOS \ No newline at end of file diff --git a/services/common/test/unittest/utils/video_param_test.h b/services/common/test/unittest/utils/video_param_test.h index d5877799..f2158698 100644 --- a/services/common/test/unittest/utils/video_param_test.h +++ b/services/common/test/unittest/utils/video_param_test.h @@ -13,6 +13,9 @@ * limitations under the License. */ +#ifndef OHOS_VIDEO_PARAM_TEST_H +#define OHOS_VIDEO_PARAM_TEST_H + #include #include "dscreen_constants.h" @@ -31,5 +34,6 @@ public: void TearDown(); std::shared_ptr videoParam_ = nullptr; }; -} -} \ No newline at end of file +} // namespace DistributedHardware +} // namespace OHOS +#endif \ No newline at end of file diff --git a/services/screenclient/test/unittest/include/screen_client_test.h b/services/screenclient/test/unittest/include/screen_client_test.h index d085267a..465c22db 100644 --- a/services/screenclient/test/unittest/include/screen_client_test.h +++ b/services/screenclient/test/unittest/include/screen_client_test.h @@ -13,6 +13,9 @@ * limitations under the License. */ +#ifndef OHOS_SCREEN_CLIENT_TEST_H +#define OHOS_SCREEN_CLIENT_TEST_H + #include #include "dscreen_errcode.h" @@ -29,5 +32,6 @@ public: void SetUp(); void TearDown(); }; -} -} \ No newline at end of file +} // namespace DistributedHardware +} // namespace OHOS +#endif \ No newline at end of file diff --git a/services/screenclient/test/unittest/include/screen_client_window_adapter_test.h b/services/screenclient/test/unittest/include/screen_client_window_adapter_test.h index 1b222a5e..68467e77 100644 --- a/services/screenclient/test/unittest/include/screen_client_window_adapter_test.h +++ b/services/screenclient/test/unittest/include/screen_client_window_adapter_test.h @@ -13,6 +13,9 @@ * limitations under the License. */ +#ifndef OHOS_SCREEN_CLIENT_WINDOW_ADAPTER_TEST_H +#define OHOS_SCREEN_CLIENT_WINDOW_ADAPTER_TEST_H + #include #include "rs_surface_node.h" @@ -33,5 +36,6 @@ public: void SetUp(); void TearDown(); }; -} -} \ No newline at end of file +} // namespace DistributedHardware +} // namespace OHOS +#endif \ No newline at end of file diff --git a/services/screentransport/test/unittest/screendatachannel/include/screen_data_channel_impl_test.h b/services/screentransport/test/unittest/screendatachannel/include/screen_data_channel_impl_test.h index f5c34dbb..c2bdc60f 100644 --- a/services/screentransport/test/unittest/screendatachannel/include/screen_data_channel_impl_test.h +++ b/services/screentransport/test/unittest/screendatachannel/include/screen_data_channel_impl_test.h @@ -13,6 +13,9 @@ * limitations under the License. */ +#ifndef OHOS_SCREEN_DATA_CHANNEL_IMPL_TEST_H +#define OHOS_SCREEN_DATA_CHANNEL_IMPL_TEST_H + #include #include #include @@ -35,5 +38,6 @@ public: void TearDown(); std::shared_ptr dataChannelImpl_ = nullptr; }; -} -} \ No newline at end of file +} // namespace DistributedHardware +} // namespace OHOS +#endif \ No newline at end of file diff --git a/services/screentransport/test/unittest/screensinkprocessor/include/image_sink_decoder_test.h b/services/screentransport/test/unittest/screensinkprocessor/include/image_sink_decoder_test.h index 4d6f2f3b..77a9bcc7 100644 --- a/services/screentransport/test/unittest/screensinkprocessor/include/image_sink_decoder_test.h +++ b/services/screentransport/test/unittest/screensinkprocessor/include/image_sink_decoder_test.h @@ -13,8 +13,8 @@ * limitations under the License. */ -#ifndef IMAGE_SINK_DECODER_TEST_H -#define IMAGE_SINK_DECODER_TEST_H +#ifndef OHOS_IMAGE_SINK_DECODER_TEST_H +#define OHOS_IMAGE_SINK_DECODER_TEST_H #include @@ -37,6 +37,6 @@ public: std::shared_ptr imageDecoder_ = nullptr; std::shared_ptr imageListener_ = nullptr; }; -} -} +} // namespace DistributedHardware +} // namespace OHOS #endif \ No newline at end of file diff --git a/services/screentransport/test/unittest/screensinkprocessor/include/image_sink_processor_test.h b/services/screentransport/test/unittest/screensinkprocessor/include/image_sink_processor_test.h index b6db96db..a56bf79a 100644 --- a/services/screentransport/test/unittest/screensinkprocessor/include/image_sink_processor_test.h +++ b/services/screentransport/test/unittest/screensinkprocessor/include/image_sink_processor_test.h @@ -13,16 +13,16 @@ * limitations under the License. */ -#ifndef IMAGE_SINK_DECODER_TEST_H -#define IMAGE_SINK_DECODER_TEST_H +#ifndef OHOS_IMAGE_SINK_DECODER_TEST_H +#define OHOS_IMAGE_SINK_DECODER_TEST_H #include #define private public #include "image_sink_processor.h" #undef private -#include "screentrans_test_utils.h" #include "iscreen_channel_listener.h" +#include "screentrans_test_utils.h" namespace OHOS { namespace DistributedHardware { @@ -37,6 +37,6 @@ public: std::shared_ptr processor_; std::shared_ptr imageListener_; }; -} -} +} // namespace DistributedHardware +} // namespace OHOS #endif \ No newline at end of file diff --git a/services/screentransport/test/unittest/screensinktrans/include/screen_sink_trans_test.h b/services/screentransport/test/unittest/screensinktrans/include/screen_sink_trans_test.h index 7ad2db3e..6210ae38 100644 --- a/services/screentransport/test/unittest/screensinktrans/include/screen_sink_trans_test.h +++ b/services/screentransport/test/unittest/screensinktrans/include/screen_sink_trans_test.h @@ -13,16 +13,15 @@ * limitations under the License. */ -#ifndef SCREEN_SINK_TRANS_TEST_H -#define SCREEN_SINK_TRANS_TEST_H +#ifndef OHOS_SCREEN_SINK_TRANS_TEST_H +#define OHOS_SCREEN_SINK_TRANS_TEST_H #include +#include "iscreen_sink_trans_callback.h" #define private public #include "screen_sink_trans.h" #undef private - -#include "iscreen_sink_trans_callback.h" #include "screentrans_test_utils.h" namespace OHOS { @@ -38,6 +37,6 @@ public: VideoParam param_; std::string peerDevId_; }; -} -} +} // namespace DistributedHardware +} // namespace OHOS #endif \ No newline at end of file diff --git a/services/screentransport/test/unittest/screensourceprocessor/include/image_source_encoder_test.h b/services/screentransport/test/unittest/screensourceprocessor/include/image_source_encoder_test.h index f9d3fadd..12d3d4d8 100644 --- a/services/screentransport/test/unittest/screensourceprocessor/include/image_source_encoder_test.h +++ b/services/screentransport/test/unittest/screensourceprocessor/include/image_source_encoder_test.h @@ -13,6 +13,9 @@ * limitations under the License. */ +#ifndef OHOS_IMAGE_SOURCE_ENCODER_TEST_H +#define OHOS_IMAGE_SOURCE_ENCODER_TEST_H + #include #include @@ -34,5 +37,6 @@ public: std::shared_ptr encoder = nullptr; }; -} -} \ No newline at end of file +} // namespace DistributedHardware +} // namespace OHOS +#endif \ No newline at end of file diff --git a/services/screentransport/test/unittest/screensourceprocessor/include/image_source_processor_test.h b/services/screentransport/test/unittest/screensourceprocessor/include/image_source_processor_test.h index 3dfafb36..ce6f62a4 100644 --- a/services/screentransport/test/unittest/screensourceprocessor/include/image_source_processor_test.h +++ b/services/screentransport/test/unittest/screensourceprocessor/include/image_source_processor_test.h @@ -13,6 +13,9 @@ * limitations under the License. */ +#ifndef OHOS_IMAGE_SOURCE_PROCESSOR_TEST_H +#define OHOS_IMAGE_SOURCE_PROCESSOR_TEST_H + #include #include "dscreen_errcode.h" @@ -32,5 +35,6 @@ public: ImageSourceProcessor processor; }; -} -} \ No newline at end of file +} // namespace DistributedHardware +} // namespace OHOS +#endif \ No newline at end of file diff --git a/services/screentransport/test/unittest/screensourcetrans/include/screen_source_trans_test.h b/services/screentransport/test/unittest/screensourcetrans/include/screen_source_trans_test.h index 333cb9ed..cae500ca 100644 --- a/services/screentransport/test/unittest/screensourcetrans/include/screen_source_trans_test.h +++ b/services/screentransport/test/unittest/screensourcetrans/include/screen_source_trans_test.h @@ -13,6 +13,9 @@ * limitations under the License. */ +#ifndef OHOS_SCREEN_SOURCE_TRANS_TEST_H +#define OHOS_SCREEN_SOURCE_TRANS_TEST_H + #include #include @@ -35,5 +38,6 @@ public: std::shared_ptr trans = nullptr; }; -} -} +} // namespace DistributedHardware +} // namespace OHOS +#endif \ No newline at end of file diff --git a/services/screentransport/test/unittest/screentranstestutils/include/screentrans_test_utils.h b/services/screentransport/test/unittest/screentranstestutils/include/screentrans_test_utils.h index 407b5413..b38537d3 100644 --- a/services/screentransport/test/unittest/screentranstestutils/include/screentrans_test_utils.h +++ b/services/screentransport/test/unittest/screentranstestutils/include/screentrans_test_utils.h @@ -13,8 +13,8 @@ * limitations under the License. */ -#ifndef SCREENTRANS_TEST_UTILS_H -#define SCREENTRANS_TEST_UTILS_H +#ifndef OHOS_SCREEN_TRANS_TEST_UTILS_H +#define OHOS_SCREEN_TRANS_TEST_UTILS_H #include "dscreen_errcode.h" #include "dscreen_log.h" @@ -76,6 +76,6 @@ public: void OnSessionClosed() override {} void OnDataReceived(const std::shared_ptr &data) override {} }; -} -} +} // namespace DistributedHardware +} // namespace OHOS #endif \ No newline at end of file diff --git a/services/softbusadapter/test/unittest/include/softbus_adapter_test.h b/services/softbusadapter/test/unittest/include/softbus_adapter_test.h index 3f494d4f..10b0cc75 100644 --- a/services/softbusadapter/test/unittest/include/softbus_adapter_test.h +++ b/services/softbusadapter/test/unittest/include/softbus_adapter_test.h @@ -13,6 +13,9 @@ * limitations under the License. */ +#ifndef OHOS_SOFTBUS_ADAPTER_TEST_H +#define OHOS_SOFTBUS_ADAPTER_TEST_H + #include #include @@ -36,5 +39,6 @@ public: SoftbusAdapter softbusAdapter; }; -} -} \ No newline at end of file +} // namespace DistributedHardware +} // namespace OHOS +#endif \ No newline at end of file -- Gitee