From 7516592d93f96273328a31e660bd9b0ee213e9d0 Mon Sep 17 00:00:00 2001 From: Pavel Aharoni Date: Tue, 27 Jun 2017 14:38:03 +0300 Subject: [PATCH] [SDC-40] complex inputs support Change-Id: I29ac43c25f385c2b9e249111a48e76c2407ae69d Signed-off-by: Pavel Aharoni --- .../sdc/impl/ToscaParserServiceInputTest.java | 14 ++++++++++++++ .../csars/service-ServiceFdnt-with-get-input.csar | Bin 45214 -> 45490 bytes 2 files changed, 14 insertions(+) diff --git a/src/test/java/org/openecomp/sdc/impl/ToscaParserServiceInputTest.java b/src/test/java/org/openecomp/sdc/impl/ToscaParserServiceInputTest.java index ea5c2ef..75f904f 100644 --- a/src/test/java/org/openecomp/sdc/impl/ToscaParserServiceInputTest.java +++ b/src/test/java/org/openecomp/sdc/impl/ToscaParserServiceInputTest.java @@ -59,5 +59,19 @@ public class ToscaParserServiceInputTest extends SdcToscaParserBasicTest { Object serviceInputLeafValue = fdntCsarHelper.getServiceInputLeafValueOfDefault("service_naming#default"); assertEquals("test service naming", serviceInputLeafValue); } + + @Test + public void testGetServiceComplexInputLeafValueOfDefault() { + String serviceInputLeafValue = fdntCsarHelperWithInputs.getServiceInputLeafValueOfDefault("complex_input#default#ipv4_subnet_default_assignment#cidr_mask"); + assertEquals(serviceInputLeafValue, "24"); + } + + @Test + public void testGetServiceDummyComplexInputLeafValueOfDefault() { + String serviceInputLeafValue = fdntCsarHelperWithInputs.getServiceInputLeafValueOfDefault("complex_input#default#ipv4_subnet_default_assignment#XXX"); + assertNull(serviceInputLeafValue); + } + + //endregion } diff --git a/src/test/resources/csars/service-ServiceFdnt-with-get-input.csar b/src/test/resources/csars/service-ServiceFdnt-with-get-input.csar index 53aea491efc0f5df14885de61e36532bd9592c94..995fd41b9c346ff430e31d9b928a2514a7d47e30 100644 GIT binary patch delta 6768 zcmV-$8jt0k;R3Sb05+_yKN=$)b{L&8q0Ps}+044yFVXhaGUvdq9E_rQi?Hp@w z+cxm?@+&kH*yDpdy=~=Nmq(jnO#>&*J`96EiIgo&4_A_%df1QOk)qy`MY~zE0`q{? z5%0z0@pyMU`IYnE_?$_v{+0wj-_Q^J^7`Ss2k9-Aibjuah+Ri(n~;aj*;U7KNDv04Ro0H`x&xlPp-pC`)q@IREhB=JH%33xa)&G#S}glMPM7GBRvW)-?}d9ji7r5k)JY7sRy<8(Xq%=_Wv1 zo^1PbMV=Gv8lH+x&s$LF7)9hsIVc@lY_?3@11X}|+h;x$q$Rjme zr4jiW$GMynuo+Nq4a)KFiMLIIe81d=luaMK1V|}BNvFi7v}c75*97IWD8bGy$^r+T zJN}d7t%DGc33W^H-U8aY1U~}OWt?9>T~LfRn>>LzC#$_vKBWYMc(ct5fu-1Y(u9&{ zf0edIcYC~lDgpd$>@fp900UMHe>on=H3~+p-ACInKL-p3T4Dp}Aez+0yZ)`s5Rht| zBwfvt4QvbQ%x0BI&TbhfgG4(NgoVxRoxhTpI1%~;qHN=QPzCHkPYSho0#uzK&T<}2y^e^sY4=AVwC`oL7GG8drR`CB>l6s+_|tb^MT_N3d2JVjpBEw{lE{!5kvp7 z8x3>*NrZw}WY+wPTwn}|Q;dwxy5>q3xO)_Tg+VrWLR=(KgrrLn22ntBlV1UjdbL|h zg7NAbRmKUCI8XOZ=B-JDD7WcJ{?5NqE`PAW1Vzp!O>*L$cJf6iMk^AL_&LtMuEF~s zaV%;q2lm0VwG3FR4`EKY2L~mhg`G7d(#@T8&8SGPF@}IM>sfJaGC>4t6!r|)rt|ZE z&6}G$N7ZKP+iP|9(Mz7RAsK4AhrLwoDAt}sV&sOTvrpY5fm|l;iURr?JP@EHln zmp+5Ls1~cNOB}MAdZC9na{>pKXXn!;gyi#xBkV&QeB2W0=8{tmGN?RA?-&`W%vz@X zQyfI@Hgncl`10zG^Nq6tojjqvs21K7;NTD$@!N;H=_xl%>`VJ%>H?z#YFN%PmArFeMO0{pU#gAGY_P5pLAj5|(>meVnmb|ruX z8KNS1kcy&ZDQs4n>JjEqdBJCYG}9OG3EMOTwdZRQj$z_~Nd}uCz9pS0f6ypot`%LGlDNZdv1AYlH@PE+pCfho6u(|p__a_ zLVXAP9=00@h>8$h#3<_+`2|-7d;%+Yrv!#bc6#*LAR>w7OO$mUL?qdN<^pWZVYZyW z0hT@Qdun$6xf*ZEa7rnSyM!j0&#tWXUBrnZb*P*!QNuVe-0~a7xg6)zhUECv+|Not%vD(;84j1=#>+3P!T9O5F!Kd z*Ebi=>xXyFhugd5`-iKGhpS8HvF6Cu$0@oV@>(0ssrD6Pi7BRkrGT1BUu~ArpQ2S@ zjOol0*V(9Qazd*#>{h?LEiO+8uzTnFH)nbO#<{<7)I+vi-crwYzBgm{-pxC1&KdsQ z=4leoS~uvNYSod!|L(PAAkEiR)7NCvwxH3%hDHlSpzmUib)*yBwTZ1)xCM$kS8Spy zw(MC3ps4e??7F6ZAAKe)b7T9AySZ#TkF!77Fg}ubINy8tPNNBSO0|wzZBD`$;y;j zo_I+JCg^P%mP%+9h)$>Qe2tNmL`hEf1w>TP>+|VcQfBPGpOhMkDaJ`rykeL9ut`i) zHyh*ZH07n=72OCUxB&ntgYs_i*Cp@Qrr*Geo>SnSKu0UdI>__<{0r-6i@zFCzap)I z)jgA}pKow~#~b+(`U&FG6!cu{o3gS~+MZCy8H-z7*kT;GPaZj;Ch-G+8<%{E=X4vaYp zGF;Q0YqF{@T-osEuDtMlB16pY%@w>L${Zca8jzuX+8VTk%f{T-Wy3Tq;HD|E@Sc7J4Xk6tioo+KC*Pf*0Ae}?Hr*l`{6xxo8+)~+l;O?=md^>la6YAV(lNyI-;FFCJZEC}?4D^`W|2EM{G=_ClYkix4 z!8BfhR(DK{5UPenW_-$Y`CR**^P|-Ia189YUIPIEhxNs8_3DbG124k>V3RORErWw@ z3xi$gb7^qDcN!;V^mVWX!J=x)9`uDD>;J34X(JmrRJPaaqHX)l0WpJKx0Fn-Vh`M6nULsTJ80G zM;aZbopcFV0rp=s7$MRJWN>3I3<%7s1Z9wdO$^hv(VJnvD?{Kg6Ok>O_Qazo9HZZY z->1_8sqyM=3qe=V0%ec~dnNj0`j8B8y1$`Ks1IDz5^eE6L{TIVDVYjdX(gY3X!HHF zCA7Uvx3gYgBQm(@aAA4_jiN9Nfu{E(kH|x9<9%|Y;FGfk)f^Low068$(|DWeIKrfd z1HMNDmpw^~o(5@{K;89Fj`w>N`e<#K!7SYOTJQZzSrU;Yq~rxi?-kkdBD#JDwjLNK z`aS(e{k{%2BC1fH_J0rmhp|_G)nJJYWA)Si%{~X>0a^>Pl**}J)OV_9ss{JO%@@ym z0p$osQO$s?Dfb+w{ZS$Ne=+h2|3?FJ;~itjFD!zZe2 zD9DxFIi%B?Mld$!bI9N4H8RijT@NGMfV*`M1CC`Wvb~tAGEs;RzZl?us+OwNICbXT zTmz=JgL-KdI9|W$D~s1jN+m7f+!CL+sY9i0?ju>7TP_qIR9Cj=nkg%~N`Hz$adltm z&RZj<>8eDL5fmOkVMvv2Jjb$PnMgIYg=T8H*u3j$HReixj{*9{OKqf2;lE@cyhGy% zW%-8gy2yY^jYgGa+p=wcfZ8x7pflTYZJTtJ1@$1`)KyEyivNj^Rja8!qq%`2@0r@9rA^6qCSq**LbWUvt}>tyYsiM7fT#1Ju4}`u z*${%}t`4nG2W$<0FFX&q3yV5dFjl~oUDbqR0*qKkHZdULIr~>kO&K?}Va-gM+o-W! zeS#lDqQahNamqo9t4mhwot_AqxgZu{;_&{viAp~!^i$~059_q^!Zo1tYYvCo-3|P6 zd3*0XEI-`S*2m@JyPHAdtey!F7+||jvb;pOzgj+CEe~^l>BCRY<>LMF%DKE*LKEll z^XMWEu!Hy`q^193=27BI&INvIX_Ex;QA*-CM=J`}>}q*?#TM>lg^dvzV4q~i%qqzy z=i@{4vrWliIvi+P9q(VibBgBQlXgHKeVV0+9yrRRGCFX#H}8J_aPPdm|MmE(bZ|S& zvK1}#sHOIQr$VNB1^Sn+{aJ)T{HOC-_9;SPgz-tbqljXPqiitQz;-3Ew?9m^h8vOf zRI8=9N0}@|IQ^KQ*hiib6y-EuPB8@?d1=J8o~P~j;F_?vBq6FzQnWhiXgGj4A~S8+ znUn4!K#{N+YOv+=mGO0I@2Q zPnt7-TG?;YFc^Pke?=rD1`n=sH`yCUfk|VaZj?vMv7Ig=O+u1(l;eNrvvW2{yR4iK zRERD1cl$ejb@mYd8=n*9;WuT(=YjZ$U!Gn+x>nw$agqi+C+SvsJm*=S1~ljFNr$0e z`ZiXF@-_;$iXW%SI^&ABRmeKOiPPW5X2uK9GUcBLm@hn(IBnO(D zlhxzw$pHoTutk1ugZw6ll>CMle$#lBkSO387{HV$&ZV_W9`Tff3JXLaymcPLQNh0x z0{m}$zMbT8MhRxz528TWn&AykGx+69DYmj;m4qB`$tuJeR!>%N(v0Nf>_j*fL>rQS z1|-VgzdwI*rc50=)m_&`nyMPeB!-0?%P^7Wu_<$HpAv3JzJi=HrV`hmBBnYfGELn; zj%jO%=-l^B>KWX#C3!?v{7kvx=_a6DdHLe;J z)Z#SH&Q1`d2G}XX4&4#q# zua2ZIrxH}f6_u0+#Yr*1eAtSL_<0=VDG5Sl9;~WxuUM}piLKlD|j+a|pEejz*l&m3x z+lh{gIuL8!`m0FFQUQvl2B8&yHcJ^~{5pfhbpj;vJUg2x(20zJD=7;%GsIX zL+>vtbG60N(BEs*S7_{csi+eS<@*8aXe_$t=aO^BfH+-F;siR5pqbQ-U=kIrX;QYR zrG714p@rq<1LN{CM?1mwhyfhI9nO44bVOXHBU9HIBBo1`p;N*Prn$@_HE+SN9vSHQaH?1!jHyFzZwIFYGemN)t_P+ClW{%p@QBB z?Kgscx_F88wwAJgQO7F|PclHYoHkh+hb=Pk)ZX>i5fy=MD8vdZ^!h^{>Ik{I&<@y9WP-1*>?cj^CRc3pX`I@aF z%hfnCRj3xiH9+Hp**bHlj%K-?DkG|=QBF9bwyz=6FjeG#GVUQ)wRQ)5$7S9?m8lc6Q)Qh<4b@whrdMkH+GtLs0!o8b(ihyX zm3j@nsfygHKtp{7c)bpos8Zc9E!(tC_cK+bf^KRbA{4QaGEMQX6*TyI4hW`d^0H>e zp_*1Do@PXUpc(mex~~))I{9?Er_36vW)X-V)@R>znQ>)UiaWi3HI`ohKQAuERa-a# z=(M;PTV*3=nRowL=KbU>^Ty4xS>XrHFd~^brvKJ|Mjh(?S~LvtG4*rvpA!%=mM`U-adPJ(cP8vsHsr#)R~Yxt^DhF-Q6zz?rY%m zCXzQKjh<$$AU}a0t(!H)hlo=;s2qQ; z>p7N3k>#sX1S|x`kgp+$1;1$obKl&NXDC0W%eyjV3NRkl^)t}&C9!#kIGHM(QJS^9;77~?+;WBaFT66 z-(eQ#WC|}3j6=D}97>7j*zl%8gWLvQt10pr>ox(~zbaHmD;2 z@GQ?k22>Ssr?%q}c1&)n`*U+R%y;I0=icm`eTH{l!t=2y+Rnt?FC6vFt@3?1p$o@g z?qzw9%NJ=dQc@M^*=xg1oaGhc)oi|)%}1&1vyJug`P=ynzc`)|Iy5YTID8SPZ9#*U)y#(Z+#6fgSEKAlS;|Zrdn_tf4k^gL5+pT`HmlJZePOWLtfgD*(9!1O;;X^oUS>#XEFB3vcs$e4AgFVEjRdw+#rUtJvSWLLzX z>THRj_iLk%tV3V!lk!rm`aVs6%iFJ1Tz+YjoyWee5x1N*>9DAi*4wq>i}Kz$i|Ysc zD@t&Tpix#FbJWB9hjlWZK*!<{-HuYxkdN}>$if^a;?83{ZvF}(M-5-W_)~LH2)Nf! zEbHz*hgh;D?CI&c~lI1ZocLe{iJK|mXof_K2M>U-4;<|~%ujoA)eW^zo_iK%6 z8T0>-2D_jCe>C`KKHpA$0FWB9#iMcw4kuOGN=$)b{L&8q0Pt0lMXg2#F2wVdPwtbE ztvmuLi<4ol7nA0#c>%hUV6K1y3YL>^l{k|cuP`9FS=ve?sCe9m2><}GDgXd103-ka z0000003ZMW0PdQTZ4l0VLN{?Talp7BK0OL}VD|;?~*>2-D@VWU46#=^KgIwK~ z{I<=po1&WyoNW3~6apnuwon~j9Zp^J<2$4->#}Gk-E@I!fsIYh#o=(snW21c|2Lj9 z;rwrbo58-1J>;x}PgghmJ zvlCFBt>eUh|BGP3kFdY>agKsi000z0uM=;Hh)L?NB9sA4Mo{>D`ojSRN65mSCqG;J zk&vxPF>W^wHz@K+3IbpuiZdqdibNzqfq;Fg2q(|{I4ba4DzN_>&);WRoVv)y#PcJc z%9`3+lBDoqArxJyA8rC-?@$=nvMrsRhcML`WoU7Kb}qnFY*FH)DEsv3=5iqrlVA@c zMMM@>L`_k!h&0O;RmDYE#j=HUM9~UplQ@=UVMDYGRR?Ip6)kTriF1M-&6Tn4x+aB= zP)HWS_2umY{RWflCjKU4GDhS{c)Y*cZ=^8UZUY#P*YvXs_OObR-9mUr=f-zwW12fn z`z4Hj#z85e9SKR}JaNe*iEx}O1lRw?cS)2I1?jRpx70q+k^}^>7s4BPCcQZWeZ@(Z zF3vg^@7Qd>ggkWTN(v{Cnc& ziJ$G3c|h6p(JO$20#tM=Y)X4p=x|L?HVb2HZ^P8Lq22bLYV_+w;OeX&33C62$RB1_wL|L-4Q+G{5M7d25 z^0)F6l(cG8ArUva$p@yTg!m8dT`7McHp3R zw6HaXM7p^Xt{D~KEyi%*OnX+`n2aBS8o52gwQm1(^X}%(mX(?O{#u@YeRks~Wk`mG z?qM(0IEuAvlL$Eh>8w*HjvQ z_JSB?gBk|2LM)8F06eyE*s)!xRwZLkPxgz&vOMv>8#*E=GpX$@xpziC5~IS*#0VW) z1dJk&_vkFi4W}oeQ~|huIubPtQz+$oL9em5P*3m~G02y^fV-$CtIA6pvYKY1hd7r6 z4o=V3qf-dM=Mh`jr^x@D6XE8vr0l1Vc@RD@GC~!#O#7$E51l-<*J<$j>W;FFy#k#) zp&hRl-WA~B5E=2?hr8(^@0r+__Qli%hB4&4;)Gkt?;q%(`h53)=}h^;ZRAbw0Da@4 zDEsDhgk9|ioUeQ`r>nTwwf(=COXpU7i6(}~g(NIFVCfwWT&LJtKd1Y<#9ysn;&@bQ z3SpWm*`PE9ua0>H_&JaK4M|i*{&q-=yOI=5r(;O%3IGc-gvH@OD3X?yuxVwgN0>+L z1z*riU%@BjNdRhp&(=H~gV+U=^fyC%D>_sDpr2locs1Td?VtX*mEY_=N1w^P&-Sy9 zO0`~kZ<5XR2v%Xk?6=2;R)vsUG? zq*_<9%kRB^ayC*tRn|R4)GY%F)D{$|5rKO39IHqrs$&sLt#Jz!XD(Spl`PRUG(eH( zbJ1~hO`NNiqhQTdJ<_1KU<+|ro>a>Ux{NJk83t6sRaewZ*APt&C@H#!JVTjVMA9n! zDxxhb&t-E}FYk_cFfkc<{wgoiE3sFUdv^lUCfzoF93r62Ch%bs0RUFlo|UAUBKt+v z(l51_J)L^{zC_^QVQ(s{+i`_T?x9GyD zt$qlNo{Qn!+-)2E(n@~_8xSODU?+k*5`QiPX~zEjC^b+_F?NEY6)lbejG^nQzSqyZ zP?<7+ThT-42(AwR(xALK{<`G-+VtzY;Y$kK6X<9q83%bT7GGFDIsR%y{fe{-R`)`( zKHuPuH}WI&<430{=+)fbsRDm>8vgejpC6rOh)3D|7tqjaxV}?m{hIXpuQ4=&;cSO_khzMtXcP?R*NON>3YCxK7DR7lm)aITlYPx0sH$@T+M^TZ7C9D~k zFKW0g23(D|e;!|w4d@ICjBxK6GN3CTa-afyrAPE^jWPjJPqFLMkWO$wi-gd^Z3y>& zCkeYKUB%C3Cc z8Ct;_BSmet51o+Dxt}oZH8W9gAR;dAUDnTeeT{clUbCLw6IIQH#fBufz&6($(beXfK@ibYNjkK0+_`DO z60=0lLETdxNav8uc_NOgUQQNI@h2RFmf7JKR?iaep^n^ z*iz^hyz6HL`6+hmdC>x?A^L^l5$rx7gX5}rw@Hn|Gw{iRa+}&PECW5JYT70`iN>&w zx{};xFpXEBHI?QOLUlLKh))@AIoAG-<56mTI0klHjg~{eVSSa=kR~H(!%GAJxK9{{ zmcmAtLuVIyAq=kfPQiIbU!&Q7BUoIcXAOPf$L>uv;Pe6zI8?UQJ$M_c8BBBInos35 z90QvyME9xmVHxP;MeH`EVc30>9z`uXS>F-2u&0+-Z~1apt2u13?RX9pg!}Y{AQ>Rf zHSB4%H{%^C5KlYl3bF?5U(g;Q(g$R4V;8MCMpc0_NY3K#v~Bc8*so@Pb8KcjvZd3W zcoe0?=wDs#(`kV;cukd>(-pKp8RWqlbDvBfk^xTFh1-Pszzr?ltI>xj@*G4erkqw< z%g1|ZdD;@%UZ#5^nPVX`xas4<^a2`1VHg~jg^%1K4_&wIlN$w}95txsm?KDQ#q(XZ zZBrdbnDlVK_lUz~Ptu})7Ay=CXsX4HNA%p*tByh%hhz!SbU~u`R$%q&Uh~>t(=kr; z4gDj(X-*0u)kPVxzk&au@4W7;u%QoHn}-FucJT@~488;^&sHtSN-Dc~H`%V+WCcpR z`|sNJ&W0P55ctGE4#nIIpo}Nq!+-Y~a{s8K>ChoblW1rq18>$gM$4EqRV9 zY95hAO+t?7%pnq16oRofpF`+9Z;;C{-ElFpG$@O^7;p?j5-oEsi$o$Gyd>?&hO9I= zP0+kQ2TX4V_0q~synWYKR+-|cl(d8`hkx9<3Q4lLheTy=IFL7x9nqRAx+tkKefwN; zR8Q)TTOqpc$V3u<5#$U&VMrD&JjbGB=t$NTQ_&TbZ`{qW_QpzIL5C}{l{S*6;9oM3 z@^Zxy%JMYTagYW{7KJLyvP4S*wP8#^XO`hu7U?PrQaPTk%7%zd6N8axkW(S>djP75 zB-2$)gpkLltiE0vr4?D1Ss!FJD{>a1#G$@NuehzxtGHf&I;$Q=NeKQY!7Y`ZL%|WKc}NO>8>@VOV`{@LtDa5y156e&Y4_BA=^6|sXpmEl190Uf~uH!VTQ0}jmk5|jXT>9|SW4ZXays|HE zmRA=K$B(0nJirdl9|6tUA2W^$XL2m?>oS|zkB(AOiF34~V9u_Vw^wZ9PFC0$kpcE` zdd#SQ;&gI69-MyigdC<*0!^#qL+Q5y-daBh@+@nmEBAmWWQ0yc32#RtynlGoAoQ}LQ;zrNYc6@M7*o$Fss*Mx0 zI%;b;fH)#Ey=yZqErmM!|7Qlf&;LI&_+_5I&;9|kDT~h!67X}mO7bEkdMXJ300}4n z04xBLey}co?Hb9B(=hbRd_^QA1`e*WH<=qtS)^e=Whh6>v7JstnuIKcviv*G&e|j` znX(>;5N+(Y?{?=d{x_a8*M9d)LbAG)~fh=Oo=J_m@1&(}3ojJ?J5n zNMEP&P+mphPVwVZDKf5jJB1YaO`HawIa7j&1>1ms6(r0Q03Z?UdhwPc#GQt}&K>P_QKLZX0YAOKUMIG56{dBjr^Dl8C&@QOT$qY{75 z1o+>0zMkcAMhRxz528TGn&B-^Gx&0$lv`P_NkWcyWD{Zyt7jYVG$T2=I1@?*(UznE ziSoC9Z(lsQQ05Mu>#pk}O;rtK62n4{WthnG*qphxPYE|9UJ1?_Q;F-(5mOx#nWkbng2m^$hOW5631LrI66Eae%e8VF1Wt$-gy5Myh<3Rll=6^B|J?*h z2Xt?}hFzy|(FKwV&2A!;+~Zd-RS?p`D2Q^N`h@a5W?5XMl%uCC%2CcCa=@A`Xo+8c zyJSeGCRE!MRgg!?Niu+ZT#6d_aUA6-2|{HV7hPJT1ZrRjI}~7)=4~id_}36l{y`0{ zM7TWXB!3yR)g}v`METQ?k8gsIjnWw>^e_zL90Ge;E$pL06#y5<>m9C_1(6_1io6Vi zHq>#M3Ds&p32Ue-UrL}h7ojBXt!5Bh{6z-qMFQCZ;&rL|qzLme*A9^d{XP^y%GrhD zLo?vj#%715?0-(kFHraMifPYM%D2Pf!j32gjnzwI%Yari@x7HQPS>+I;gPIUv)Zq- ztv?enQi1N*=8^i$lir>fe+_Pl;&9J3U1lTKHY`A~DT0cvqB&=tNi}9s>NF^{$ntm- ze3m7r#J6m1?o#GJb2bSwso@}3b3JGY)HE%f>1=K^_)YIQ*JkRuTyDyLQ`m!y*~tp8 z-FyOW@kkS*Nea$PWm#{v^n1zG^d-Em8+bqRM1`SS2(bbSLwzufSxrfNZ6L@NN@Cf`cKCA~al9d) z0J?}Ejard`MxzWQf1=iG0Caalcuwxs)vobiuS8EzuD!ZFHOp*|GGDV*WVsqgrV80Y zxCT=WVYbfPxuaQbFUyGPX_OO=sO@XWG)xt_jC;t{EeZpbuNjVaEX#ZkD9q=OptcJv zeO*JYXZY|6d9CZ7<1%j~%hZ|K%d(!O#`3KXGf1^zZnPe$e;d$fmJA6GbER2>6M%@V zy4p5Az(o--k)^s}TDEDOA4aM{1>D>|1}JPJX`13+$7pcu5v4yW=Si6}Q`~a*+rkzQX4!;Z z=H0%Rc|Y09f4phEY*A}EOs>V_S1(^H>#~_B+aS#gI8TN_^j^7Nh1ml|v=V7fdFUiz zsKjtEO`E|v7@dnx@LPh=d}@exBXR%0(OiEi-^K&FR1ErFmIt}~ zfdYDJl0b)%0#4tS1(`G$f&vlYhG_j=b#KXahBJJZx+kdVmXQB5N)cKk6$ep_{obUOj9Ro*r#!j zH~d}`is9)54QteiTEgU?#6fh5Ei2R$?FrsqEUy;Q8Rlf1XvCCzz|koM^Ki^wo=(kKVq)&);00tYn|WDC=yE zq4sN&UDkuI_DOXqR-dP7b^Dcy%P(!V_d4V?;g+)j9Vd0x`AwocC?B-5xPHLDA_b=q znk2<3t{%rf&Xe&3Di)9EZW4WJSVf5@Q=d{V)wFRoil{EFH$q=2?EnA( -- 2.16.6