From 16dbe32f83aa4382d9aa99433b25c03f9c5efed5 Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Sun, 4 Oct 2015 23:50:50 +0200 Subject: [PATCH] add gradle build --- .gitignore | 2 + build.gradle | 22 +++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 52233 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 164 +++++++++++++++++++++++ gradlew.bat | 90 +++++++++++++ 6 files changed, 284 insertions(+) create mode 100644 build.gradle create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat diff --git a/.gitignore b/.gitignore index d31854d..d16af52 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,9 @@ .*.swp .checkstyle .classpath +.gradle/ .idea/ .project .settings/ +build/ target/ diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..904f04b --- /dev/null +++ b/build.gradle @@ -0,0 +1,22 @@ +apply plugin: 'java' + +project.version = '0.3-SNAPSHOT' +project.ext.name = 'bcsmime-demo' +project.ext.description = ''' +Demonstrate how to perform S/MIME encryption and decryption of mails using BouncyCastle. +''' + +repositories { + mavenCentral() +} + +dependencies { + compile group: 'org.bouncycastle', name: 'bcmail-jdk15on', version: '1.52' + compile group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: '1.52' + compile group: 'javax.mail', name: 'mail', version: '1.4.4' + testCompile group: 'junit', name: 'junit', version: '3.8.1' +} + +task wrapper(type: Wrapper) { + gradleVersion = '2.5' +} diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..3d744405928a5a356aa04ebf2c49574a626deb0d GIT binary patch literal 52233 zcma&NW0WSrwk=w=ZQC}wY}+=!vW@Oymu=f-mu=g&UANEM`C4l}OApdpxdqDqfa$>4N^iuNTjG#b@{}R{-(!3$~ zH$e4oL;K$Y<%Hy=#Klxp8RW$8JK`V2inc(Zjfz2381q5NE5?@E zx$s5c=q;lhdhMIh8FDhdL;`2;t~V!H1uUfWnvg@-5)#9~Jo|ySeS_GH*;tGO1KTYb z$=&z}uLR%6*WYg(f?w~8@IZ+B2}I3#4Is#c19OKG?nwH0&-IZX)@D?btw|DKI6{pX^+?1FRk#k}A{S0EFrHJTN9IG*)2K&~zM8`Y@Wfen%vn zDGg(=cESQbEWcEgrNS6Wo@rMymCIu<1y>icck&SB<0NMCVp?&AB^#aeIGZ@dB&O(~ zDlE60d`vZH^k$Cobg_;KA|Yw%(y5I0Y&P3P92FO#hbHSVbHZdr0yzrYH!=@Y^W+G2 z>Pf|p$b#VVBy|W^wHH>_h^-RM^wyN0`reuaNt$DgPIZ|@rmpN9_SCPP)`M$|rVqwK zxGKDCdUoTc3&MFa%!!%S$fXJZD3rB)d%SdPR44kYDoYzLIuo3N{C2EJyt ziO9E?9ZzJIc#AOfe#OV2{XnCrpR#55yUeVxMn7i~ zK_(Zz5s9FIccE*4!X|us`afYnHej}otO*pYb~hi z)i7_wzwHOIlTtu+lObZL)}CY1U{pvJ|l_)oi$Wht@|?-LVk# z$zylass!-~N@Fwj#@7OFP4TI%z0{jb(G16_jH52=G^V3QurNcY7)DZiBmFwb_RTs; zjOL}qQg-Tw%yb7T{B+}Qar9H-dR6>7iTCAX>kY16uc&d1eU9si^H?rpoCokCpzs_3 z4Za9gq*s|@wyZ3o&w%o-OJTp^Sa-9|@aNB$A4B0I@3(PL zv2hmJDb%4M#qa3=g#Nwkcts3!_L{M>Cup$;1uN@(_{i{Sg*bb&#EHk*utNf#oErzz zUo`EBU8)7DKbWhUPvglhG@A!8u~6`Nc;Xi;gFwF~f=az8VVZfy!WiX(spM0N&(moq zN~lJdP#Q?P?KtAq!hFulK_(*Yx#1Zt+2pkWpkE|Hg8Y5H>#NbhJCL3t%zZu)!%IX18yHQ83w5 zOVk4-y7OA=SFg9)OMt^`%-;|wlT_oR*J3)#_eCFMhL9poGhY;-ZF-!&))cSYGlH_G2Q!y=;?rr6zdMyh@xA<)&Q@L<*FR;azB zV14B-21KT{hi+&268iPwAAhwpq;RM8{Pe2sNPVVqUg?$PRIZ1HOuY@}D|+FqB7A>! zI75bu;|Uu6Ey21y5ZoG~F1v@s-!!WMVo-p;oeR3XN9ET$|FHbaz;YMEvt{%>xKnWS zJ+hPc;8P^K)Cm!!(I+_jsUZlGS;QbVen@&sJ-Y<-fsVVxe9YtL3kLyZRTN7PaSX;# zCt?rEJaOVaQ_=zVD<#!88MVIh*)R2nP2^_!9;hM={_)NI#uN8a>&_TRGTksv*HBYN z@QTu-W^4LrP)eyw@~+rSw)LiM=)z={#f^3B()B_KY#L^w(^kGG!hZ!qC0~52!@q!p z{TCIO{xd45csje7*(o|X{6!TPD>G+FBm2LQ^iN2LRzG(}RYUu>%P{SC8!u3lmJWpi zv3mO%fNl#zGb3GuNTx^^)Gp_c5NgV4%h8CAp7SF9*#{TXuOYx4+>g~eHRAqF_2|x- zHyOER?se65>^l9LLDV6D$bTUP#VF>{z87A2!U>L$Hd@{ zN<*QRseYRrrXB?b5U+-onv!;s4~{7#nzHf0ou9i9hTZxzh@sop5#LG4$V*vtZNtPw zDy7^{7owVNBLriGUK}wF10qsv)-Hk0CedDk_7bz+Ap9qcc^(Bd^dib}3WpWjX>I7D zFfNS+PbGU?HYbDQ9>#0fmJ(ftd&pLN;0T{I1y!D|F4bM^snO(qC!NH9u9nJe4~C;8 zM2A+bmX*bAwbgt;mY2iWT(q;pg|5|{g2Vp65|gbemgEzE8{TYV+b}qUO$Lw&ai@SDCQ7 zrhQY&Xxcc*sq&U-cdnsKXt0t7SD1~=`eWOni`jyyszqgPQDxmoh#9gq@{ALDfL#?* z4G=Z!C^myb6ONfvJ6VLxeR&YWQ8tEa?%P_PSM3?M#HpiRpR87xj^l}m$D?ueYDsb} zth{pK&Y73E%%hA7euvNrXVr%D+(?OMN(3zri{ZSjRY*!uj74MogXL*$+&n<-ZEGX9 z1kI%y%&*w6&0Jj-ir2b{BYmn{j`mMP3vZ%h}7Fj8q-cs2oiPqf>$9WS?w-MChC3HE3&Ham>=) z7?*$2O>S%edFnCD*0^0sf)FZHtm+=yH(7*Ac?3ZG$L0kYO%D$(_+1h1o)dxZeo zPBS#RiEl3+S$#~-8=g}-J^uCjGv|%*SP3|jGazI2Ckz57lR<(A-}E-aNDl>-lR(_n zF7=Sw?pdrr$Xy5JmJH5K>Uv$QDkC*fkbU(zk{Du>WhGw#qR`!!rttiO2wSXJrws?%H&)H#=NAp^K}lix;O?7^x36n zq>P+KJI|1(Ut1*20^;F8LIxwxSnFsTf1ul7;|{N3Un5WGjNc83(5Ujy5uQRox=FHe zRYk0kd9U)jC<~vYtFlymq8wSLw%?zXrhVB^<9tsnKt4TYbws#Agc=n|gi?ihPZ5e+ zQE`!mD9*xvZZJqcBgYVc%uPQcd0C;0WoF(V=#rE#pWadkHroR>Hiv{Z24z|mCLy^l z0(l@`jTYp`1-39GFfWZaHpMCFpYP|-DfkI;%>ue1Ects;3IQ;T^N|Wc@(MMM@OzwF z1Qv0^FX$p%eS5ll&r3?3(*89`u$psTSsf<&ak0+see3YwkpG%8{WRylkr07^?1+JY zi2ifRl(KhrF|xJ&2W!sKg!Vx@cJ){Ap0H+z(nK<59tJ@PwjS z&DqeQEfpygmeYNmaqV&Z-SzDI{&?+o2!U+3A1M?upCfr+GUua`E=VhOe?0dQ>hopx zyYHb{c>4~?f4@SArpVp&vZnC$oaht&)9!b-oIhq^$qDb=N0;z7QX$f3f$b+{=vQ0R zSLl~ooD9BggF8P+D-~dyFMSpZS0vhPU2o%&`#>!j9}ft#iGv8 z7GdIQXveAt*S;$Kbcj&gV3(g6g;osv7+VyRZlUgARsmA!S@nRFz7F&))WZFG&LQ{l zKyT5*C8Fy?j#pdQyRJ?Jf$IdNjJ{`9!k(YP*I8JT*c^`SvYQZHEz?O+P zkrSQQvD6U}p=y>g3?;4cHnn?O^5jxP#EWOMf}CBV`N$Zp-N6&+;KNRQuJ)NZtK1W_ zYfCR-JyOp*adh2k$hEkLUtIZmJPQ772^l_e57=2!25*s0q`M(O-+Lk8cnRZ>u3L(X z$k%aXj$P-PWsYN>UyPmW=*jV+eWVh*SujxRF_$`bxPHHxG+}gdX&^i;?Bz^RNjM$p;n_hnE=FeC z1b^V8s59cz-b8s@caH4g2Vq)EiycFYFN!s^hM8i_L_)J0G39k_L6=5DCC$slfX`_c zH2*K~7?va~ti&f=QmM%)%{O6_2}%Re)rQx*acWCv*tp_Q3(GXdiUiVL%MFCJ(X`ISToH%Bpf9IRR< zQKYP<~UT)ge{DG;JuEGh*oI0|MQ9=9^7d717UL^dEp(Waw z7EeI)o@kxz)h}3P0}9WjfIHj>l8zZ{0e&l;1W$ji=Al{h5XF{CN!dTxWl``L?Hm+L zQ^?$!OpKNI$y==q(9+25VQ7V8AY+@O6RFt>6l1Hpnd%G&*`a51#H{Stau_!b>5FBC zehz>#-A?jjE?#a4OGv9PA;^#wZ;-OF1f+Ke_TeWrdU|?UezAKy25v?k-$dC)$p*Rf z%ZAEk=!(5E{^4@V`YDYAyu3@{QoGv_7+SZOrI_{kc01v**){4$988h(my2CJCy(oV ze5IdHcx9WB$s!2P8Q3znbJA=$7(nQh0?Lg!bKLR z-m22hm>vvgQzYT-YHvVBrpnU0pEQEKkZ3W|-vUY7)BH5gPKXSME$T(q88fFUuSA4F zJE30GAGu@Ur!aRXbe4z~@y*P|$M^X2q=;N0q@iMr^-Vlo>?oX%E@W0~$Q#tQlak_% z2V~7!Z@=xNUpU3uDV1Ml_L0}4;7Ae0AE50<c$hbC z+R2TZ(AE?61@nARKeUXAu-E_bgpY&Is>H(Q?RKfGwJ(&%Qs|Vqn{JdOA$mLZdVGgQ z`q>U|=aj@5pHANuXEbjeUCK8WHfHf7mGDp~6qP2HS)ZUHLc@TMFrrY(UG9)9gTz2O z9dV*gt(&L9mbtvXg-0(74YAmH{YYIa$!@jzYZI1UMXw}HY5+f=$f1A+GvN3Z`D}STQ(%{4>Z=zL{T|)u7W!gzUrHhu>>FW zL&Up%O#*k?)-l38#EK6v!LmCQkbsDMS6GO6AID(9{2K{10m@v@biriS_aKsrJI~u0 zR$;)U&oo}9imwJ{n8R*7*P+%evhpP33?q$?&|$1|N?(rRYr;q7SkB%t@==RCYU{{> zIoZHY+ht@=*73&WOJi?b>&u8)0R>Ky-#NYjm*Us4-U_l9d(*uEUflZVsEZf#bb;P9@qc6hAZ|ZOsjOti7XG$(fvcoY~ zp|jA$LuVN-l3q#o*dp5vw9kI|T3*Z~aLz1L*k6kn9mVQs+~<6m^Fvyjfv{T?1gX-^ z;*k+2%appQ$z$u1Y_40lO|bgBX5#I%DaS&pk;BKg)6fweLr3d^;KYY4P)lXxlZC)| zP;9B{OK6MEYI1Qp?Wi!0b%&N39`;Xx^*(GGXr+Gpy6;es=4vRO;d3U`M;F5kh*6^7 zw9)o*7bX;m0Xi6qe+$X_%tXBNA)~1+dCz@}YvMb~Y{WTKq79##@v{wTTV3x6ei*41C^~DPXt@EVfte9GnQ>3U)(UIHNE`6*zPFur2`ok4|c|>E` zBRW~vm5VRT4gPi3eqa>7F`h#xY_c)Cd`5kqOZ`kYolPh~bV}0H*n&(siHkIDJb1O? zL1^M9o1ips_}$bSHO+O^I}80ELo0)QG)z$ z+4&hW_%DArQo^iZY{nX;#4*T?yTOPfylid2T#GwkxHP<3yEBFBmO znQxY=wBio^{xfZ^mxk3t*ZUOyWh-B3Gxj^Qm3N`Wa4YJ^emBsWV=C7<5%8z0aht{C zk;$nOkQt?*1jv*92k4o1GIO=cHr8pQVo`k`EyT`1eW7gu5nSVWw9`;f4*h)m6OKpr zt(D8iizl@gnodUL!n(eeu0_Hph1nySLXMEn<+AdSn5_HT!;Ed)RCK>CksG7dC$bPh z@Zrp246l%@KQ98knrK`B{OpaH48pd8a0Uw7GC4!9i;YR$vE77co8U$MK%@XWZ~fV) z%6wo&)JN&Nv;XSQ5hT8$ZXe-RTXp{ny(9JD2XBDyBl(?vR$hdrujM$K-Q{67cKNSY zgQB%mO4Vh;`>?ZjlkPBT>yw<~A$5lpUNO0oIL(I>~>y?_v^IcC9Add2v9pNM~4cMqjgLh_)hsGBXXCV$WX^z|A;F= zx7VX}BeRILcZPYI6g$c=v#Z*Unp@X$ded%y0cR~Z{(wJfC;CE+v&W_Vr#+&2tBTxW zNtO~uzMvT1iRwhMv`D$UNSReo(+FhILWPk4vM5Tx9*B5O=%s;hsSkqDyJyHWCes&6 z&H}ZCIDV#6rC( z4HParW)XgITbyFo*JX&0vPurnFCH}>)d#2&Bf9{C7f%SO1FhWapn^X%DZKm?Ot+PE(|H zK~<0zp(|j)NC6c@G-?Bf(qLljeR&ALvjNwa0k^FQZ9b_QhF=v(9eBI9Vj7R|l* z25zET37pFWskc@V2h{0qCRv0al+ZzutS(ex1CP0pmHqKOZ{+^iSa?Q-`M{W05{ybk zmUBde!@1*V{9uXQ+#<|BK0Iuv*4VOAi^Fw3U5#pFv*6xKP7`}SAI!A(K)zixJumMj z6=3HjOj&lK`U00l3ld7rlxygID7+CFx@`fb8|1IGZ3N>XfaQgHEwBSn!$`}4k|BEc z^?~;NfOg3?Tp-+7jHqEh_iGnWYiGDu4*1@VjS_TG%7w*!)2jQMDV5f{L4L>_b)~lK ziye4zHs}{>;IGhwE;s-^5RBZw**@O?=GP$Ssf{_d)+xhEb_Ef;0d@y|KGxLC-?oFM12z&}HeLF|%I5kn_xpP(nRnIv4OZuzIN;1g5 zV+b2R#b$jv%+@A=%iJ7)c}H}^d)$A6{_ARbvsd=lz+V9}>91c$|DRXW!VV5D&Mtp# zEjc4AdleTWCzt9u7Ba|A)l7?f9$#?57e4z0zCH%#U!jI3o8 z7fmjuLp@1muzJURTTAKYU<|AAk=uS}d|U9Jb*nZF=Db@(bWcm;b)K5&GWmR+c3=eV z3?wvr0ceObnv-=h8mWuZ9+__RcSeEJ-5E)RK{8{HYwq@cdhzYVhd*j2A*C>p6(HN7 zEScFFs`NoVN;-1JzSIte4?n&r4oSRd_EA16zB=iMW5%N>gZy2Q=dI3z@a5fv0Re_& znSrC3Ck<)aCO8_F7VNUfzEaavAK@40Ub>0UF7@bXiSSsfT-fZ&sI$a!w9mc-8uH!c z=BL&gwba>3?JJTeE2V(9=nP;^5bXw^7C_m{E5vzlTIeSw71~iIqo%BQGF)y-)ze8D z7nm@JI*5-a;f&gJ{WO0BSLmtI3+J%GXW*}~wx>@H$+8bhVmT^cO~h2!3`whgIEE?m zk^oPV*Wn{0PCkxLY_U^^XOTl-tj}uA#kBL(+cGL_%=$5VRwdb&gcY|PulAFzx3JHT zNbeM_%toooPGXPhnRA)c3M3d&C>7-i-3LZS2*ZWa z>jXz^qg?C(WPgO;V!DoMWH(^uegU;A;)2>ELIhauc<+7PTNN5w0!EKp-rhCv`_2M3=g1di-<)YFM#N1*cGaCk{ z7=NMcf&+G~gYHBb3d0uy^STm(y?{#ID$&l4cbFdx60$xR8GQPdKl~{;;LrDK<4JTT zD6P;z)8wNXjf)DEuGc0e#W-z~Vr`U~*3d|O70L3Tc1v*@zTnszoyu2j1Obf#S55pX zqG}|z>a}AXBpRunV+3bVe0%k!wrr7wJ9Sz^Yr$T36I~_k;ZDOucG>L*uSgBla_)Tl z%@?Hb;$%sLVW4&$`9?Lsyy8suMJ;-NOpM2REgfJekjLv&!4~DcJ>G{Vx@#R5&>g{{ z99){ z9V%O_`qT$>`Q&>E@$3G_4t?~{d1K@p-OL3(PuNWmhU-be>@gJYj6%U4jv-LZylgBg zas6KSHwEvnqshEDlZC3xz62!y@YI{Aqut4VOu@iJiBD!6iUHISVCL9mkbHyD{kag% zoks(T^P!LuaJgH)bV?uKoF6FueXO$Y$&;7}+6X1X(5ShNS&i3yOx4D4n-7ySB7{I) z2os)|(!dl3q09$Aw#nX+gD(0-qUIvr@kByeBiWvJA$*fOMm13F_vGqvXn(u8I>gy$ zl95PlQ7}FzD2{A0i#^PCxm?m;6S zfV4B_U(`IyvIpDbRp9~w)%*O~zwoxSq?0p6Z-Tbn_BLJ-|1}*BZiOzP{Vic|{F@R* z|8qJNb#S-0bucm|`*&mJuSMhGDdg&6X=d+YWn$#w@K2AXNX5;9<= zzWWJ2-j3(}j5~V4Cu-y6eu!tpwuc8lG}+Q-Oy)|$2U2qRC$kk~ zWls{4>qdji@@A;Sq`KqC{T)GUFWqP|0pq6`8htNL1cUBdQ50Qzpc| zYTKV0*#rtlAT(Cg7%ZBFIL@Zbbj?X;i9By3*CfR7e6@-}GVV8!tvlAH!#`I0MEK_L z32;67YTy0)%|<@exq&OEGJ!2IEDLS&AnxZZN9QQ<3RJ}7DADnC8fPXowS&Kj5t`2z+Xs^&9on6M~6`&9tkGKx}nMGkzevBDYB^MIZJMe{IQUn*5Pp8{$?ra6E-OD*5GP zT=_Sp$MnM4M~(4Q;^JBv%{Lu{L6g$2>HL`lwsZaM534b{c2J}=fS%eakFmPI_^-3> z_(IdU{O@dA|Jz9Z^Q@El?`iiBQClqf4@@5uT-f)-=@A-oCyf51@oi@X45*OegMJGO zhcxe*i$De>VQ)AJZxS}tXv)Xyz0W2g5XOo3i5C=GNM>;6rQjT%=DkBe5uqQn_~QCLbw`9jEWc zgt1L}^(is3l`QJ3;7BF>hod57TL^~kxSfpa<;sKYb+7-w(T#^JJ1?=nUS~T75D?XW z9;wDZ3TVVU%uHPW=O0SabT`CZ#Qx4Am8f?D{Is>$4G0LpU#(9gCnIJf2q?o$PFRpy zf1uN|1=pgKFM;Ek!x*!*l4%cMIFWQ0k+}$fwX(w1ZhzjQ-|Q&LxO?BqDoV&N+(qnh zzwUDQ>b}kXSV=$>fZO4#;`q59?4br#gHQlb1HBi+WL+l+2VawvwG4jyhO~t=fZN}S z>K>{T-qEia@F~N?{wRl?3}PRd{=4k%ffGrC<>J}yyg!#2;%_a8 zv2gIuF;OvAKOe5y+_1B-NqJ|}94}nljI+W*H`O_=v9v52;;2(`)Dxjk)>2O%r8L`{ z96Y>@T`UV*?g}&QJoZnL7FTKH`?%M~(wY-E?s1Y^pU^X1ik(|q6>!gGR8vY=+3L57 zWOcIYF&N!&-I5XD(KB`bP)8_N+fN)$*p6Xogxn{nyGeKn_n-NVXP;!&Myn28Y}nzF z)$_KrI=AFguY@Hu*PB|e7_G8dmZZ6O&2dPKZ&mD;FFDbcSMbGUZ}FSg|1eTTK515V zu~qWtu|dEn9+LA`T_LwrpBu5|xM-~Gk_(({5btNvK8D7t?zQ@QbK$tOopH2M)1i$M zh=I&tw?tby;Jw;RU~?wm0k&Y7JgMU0mPk3UWwlr_SKygO!(;sUTh2|ppSr3-4_s^h zbc1b<^3RwKIImWO`ze_&8xi3^3%36{o3eCa)94fv{`e9}V9Jp&)eC=D5Sz(y(uQexSOBnk+m*gaK92GISgVS*qiOow_A)j!i94350 z0jnp+Zom0s2z4y>oHaD*70wJh^8!R)9rNQdA{QIy-2ZeI*KTepke$% zqB!LzxyV);g<(gi)C)6Q`eI)I>&9~G38<6{X`2WEMj{`5GOTN7?O1kuS9WjLn&}IC zHqo(k8XrnpYO^aQn6$QH?T+!RjMVq!OSr;&&$%QzI7-$04zYDjB{qB#gZ{Mdp3c(c zoD>{w+LKMQ4IQ_{welFUZkfeJ6s@UlN)hSd=UY$=jnUmW;Uy`Bv_b2InX6Sadg$1z zT;|#2hI{(i#6hzqr~D&=BX3C5E;1WSU2Sb7!G&AW4^6bMkRrEu>KYT;=2NUe3jB;Z zvEc^h;(j3^2^?P64>ZAo`ox-%_NdOX{bLW^;c-AijKR-#mI$N%w1r!lyq6@rv*jXZ z=sw%_%AVxl?L_=myq=`s?NK3-q!_86?N!1QMTWnpP&W0znb*^mf4V{;^eh|wLiI=b z<3Et&@}brJ6_j;>Usf-kj_hEcDFaqxRL+mjooAq(R;3r}LP5TWLAR2IjFA%4v*%#@ znuYGzDwa2Rn(Xi0V0E0NBlFR*i5<+{O-dgGia#JRjOyWo5O?QRu^Wd<0bgSq-jp3% z9O27nZC)0kN}oMTe>s~hZ9@CZC!>=u&Y|X~T;E(o%EM!IGRlVjjB^%L3jibo!dsJ%@nsqiE zGN3QqHk=X(KPY20(&D{zo5SI(7u)5pUlDb$Mt!{KWTPe2QCR4BtplH;YE}9b*?$SN z$ZM_AL?Qned6(pVytj0>9Hhvux>2kA$JV_{O^yAa0$C&Cx3*yN(k6U@n+?w~OW6Ha zsP|snp>O2MFNcg-sr5BIpV&nuSrTq5X)%Vx@fgPP%6*Q{J(2PUK6{#Y%8d!B_(0$? zS2~gbDD1Pg5@J7PjiO~1Dy{=fXC?jb#vt#B;EKAnb(Q`$zp~AQuq>t;`qb4zEpzo% zRDXcjUAaXBo3=obPK7|9YM3fF(T~w6aw8qU$1!YwDp_5Dek0AW!c&r)Y-+il+hR6v zBkgr5P<8oRYlS1B#m)0R$k$kPzZ0C{?+W5-YoueZl@|S>$Hnf)Q{C8?rAb{%pL15^ zINX$NAk|giu#Z6hXclBsW1;!nQ)1tM_h|+kLw+U-$$%z=6?-(&%OcS9n z*^(O+eBBE%Tk~uwZ(U8*CsVrd^SuXzOmUs6uXyq(Tl68TCUdmPW|z6UL(v-VqZyrW>>?)RynApKCWVR&c4?cMK&YiMDF2;Z{v%t=b596?^Pf5T@5B!Eli}N z01f~c)Q4EUU#zeVi@9=lnf#<*yRQ>r*_i*8u^>bSK+Ca1V5`cdCkbXhsGPbYq%{D7 znyUJ9v!Zr>A%#pj`V9r`_%;KPH3p>7-uwwy#9+gT zsnd{!;}zT#uVlqkjck%oIi4{^3{_G)ZJ)}iMj|bZR}eRSCa3jhLu-JilM$U0GP~?P zc3dR)0EtcKBDr-_vu)FqPSr6}v<$T|sF*It41uS4RmMRG4Kv2i0o3`G*3gQfCo32J zfGZqZ?f`Jmv8-(RJ*^Bbv3G030!7(yXH5meUTdseef3MA;OzWEj*7}35qgz9n9PrZ z+gP8tM8{2hRl8D(;0A_0v;DacoJ2KVV$jjGd?Wm9Psp&)+hbY}F~~dPkZYFL=pP+- zKz+e1!)XodY~=)UWVXh-84*I7LQFzxt`qrQL!5n3oB;b`9%iQUTz##|%_N%dLNm6x zjm<USZPR0%5X*KxeU2p>bl3@edkEDs^*HoLx2}ZJV z1`2E(`bo06E9)L>JEE=TOsnt8cbfX^!2u^ijD7M!kVL0c+777cXKH$6@}QJm zue&g-CwMS&MX(=x)7y~Qpy#SqAb&J7hKiL>`yRVtU@_1k00}Uz(Pxa+M1M3v=-}!5 zK(4T&2*vC^40(s2f|-vD6{K2mr!ugzGdwLe`rKS_ac*G39-fT5l~k2>%d&-E+d~cF zDUdnxgv>te#2mu9bn>*=2fwsysAIrYn><>CLnGZ^bZr@|ZJ*ez8>LSSUeW%QbWb^* zN1#Ij0ofw}0a5&CDynGYVkzY8Y-VTtKLvM5>aQla8pvNuOX!{nToKMIO~J;L(R8aA zQYutZs5gtERW)xk@@uU&Hlz+T*Xjlg~fu^`>6dOFQC z^G}dnoYz)c6P&Eu87<#m)1REcnL|B$ToHW)nS;uB5cUJqT|^>EVTV+*tIei$D1(uJ z0j1ygI%Jd(8b``_N*jrnIxLmqbr{1!K4dYmWBwMm%5a2{d;0(%kesMp6@U*;PTZh{ zSUdjUvFVo&-tbL5oWak%NF^WYFvj88(3*i8HKng~I0MX#ZKTr-W*?a&hvAzntZv-l z=NsQY0Ln1Jfg2HSPs)f67=$RzNNvD~qwcyURa=-DjiPgL*?O?pB)~=DPn=A`rwD2P zJ*!H8!hOoHMEG$@F{QIf3L2TXy(MRptr9EjDm4xh>@oTUexvO0qO7|*ZL$maI|apX z4jw_~7Ee=+q0MW)!2ZdTnT-~k4{KPGZy(he8?xsH6Z~_2(2(kLWzbA+QpwsEa{t1x z^f+uge-%BN>n-Ds1^fDM*II0+6uA5=yt)hFCHJH*GaFjk_N=U#jUqqsCRw?R7=%K% zb_|Di*!B)q!uv9>=ImPwaqms4L|ZwRY4@J0WmE^L)&pBW2RgXxiwdt-LCQW zeM@lP5vr4zirjt;r-#9KyH=ak*-L*F!Oq$v7+&0J1S&EGq25PWy_NvXc)uK@0JE8b9I+*q5RRgI^Ceo%uTx z9Tu%CFLG!-YRrKpTI~t)Ph>L7x?;@Tjv@vw1ut0<+xv)}F9jm8;ot-gDJxjuMIw zDN-ai3XQ50HwqQ91nTsR#Hlv=w^cWW!yDdvN8e4&59qG&3 z(Q4GPZ!GbVHO%#eu6f&cfO`t{+Llxui94*@9q>gOzQB$9@0cNA2}S%jyE_|(m+x!4 z)+^Rk8iM09s7ROTGeT5u0(s)}@yiY!KLu`QzOBst_D4Nqk4Q}Ty1d2RFTV*7G~h=ZeeKuVQv}`A$C$6`W}QBWG-4gqxx(ksscO8+3HPv$ z;arFYt{eQM%WFb_;hZo)MFImUOR3ud%)h5PW5UXld_%y=tPZ)Ja_1XdR+bUyev#FJ z4KUfga(v4uC{4A@r?KGBLPZyQ(?G=*d9$L6PK9zHWhL|&qhGB4@Tm@>s9s=sqId#W z!UL#G{J|%W`!d=g-A*XnPP~*A9u-YNA&=*(c9$f<>Cbg`8;Sdv2Nm1v2(9ppk|Ae< z)yy@7J1&B^U@kcr0I|A%WJc;R;Q3rp6_l+Hv=S87Ok^jC9wkzPm@Y2{sfwW3UpK%< zTmSeAXT}!&s;!F>LB}JI!GrDzEO3raD{E7{Uf^%6UQWDXlW`joNqSOn$m2O8R^*eq zVOL}g1R$yfcUlB)ckoeCzN6SZ-^@@YED0>l>xd6S#7u_%Jmg0w%TP!J`1rbj>N)>H zt(+Z&%s$+wb32Zye00Y9fy&I5z>`JihB;3EGR4vjwf0wS%(gT(FJ=~@(@V6tjlz`M z#&{F(SrOSLG5`mjvsu8%Z!$$eOaYt;zw3pto~I2xu_!Ngl66{U8%K*6%DEJozG_E5C<}5tQnU?zn&0WA|GY8uLyfq{V3L4km{{(k@~nXH3}k*%oJUysSk z*ww|#!Tz7yos@NCaD~vmrpz}NT`B-g&1*W1o0}X-FC%%L-nm03c zu%B-eg@R#MGxgMDjo_SA6tY7kS5!?NROD&uUfwiDkK(7Z68HK|-jS{BdVh2k!8feK zj!kLMkY_)7PL_$Z%FzlW#s`ID$lr@+4*HV%SSRG+?jL(Gq%9@7_Dhhnqdo~0My+A& zj*X-8K42rN;-Wz zUWT%g9zK*SUC;t;pcgy8_%&APUoHo-Fh5Y*LH?Cuft7h}>i$*JmHw*f{}*#n;{VxT zr{-+tBwxL3YG10&4~&=pQiURd zRxk~Pu4d>k)w2E2=pwVWo*Nc;kYMNUSEd~a?ig*GbnkXPnwYp26!Zhp>?;pani%!S z-=WTy`biCCs4uSj@(W44mT0#v=r>Rol9!UWvZY*~473bfg3jC1n-Gn`+Gw>y(ZigO z{B*M0e2z<)f9`C9RFT%KSy6%!ao77Te*p=`!Ar%m|AByKncrZ1OSKMhtj^@khN4t^SZ znCKXwLVJ;&24h*EL%eHB&#vTsLKL5a37lemK_Eu=m0c-R7H; z7yjqZ2&;JXK`g7jgiQ&5w0+JGBH}bIk@y6(SxMG8P*_Yu1D)SgqlUCxe|OTT5e886 zk>U5T5i}(zXq!H;_4}rrFkXEId4>LnD~0F|2~PRVBhvQ*p_RHEN+JqJqW;qjE>>!a zD6H+g4+VpY;)#6ztfxAKTE|C40}7onHw3cmi+kY)>6bH{e>mM!pZx{7uv4*`+ta_v z?|apbric(gKo4;LclrGv73E~i|EwujKh;3hK>OxrA!Clh0nnl)sjr0@LPe~>Sc?59 z5?4i1tf&%U37a*d$ddhGcWG>6gW2J*;@gx#?m(RAoX=wgk`du%k7+u_ z;}$A5mgSfVHFOjxp%iiRr)S>X9v0)CK3skCQ9mHlFh)O&7^~9ojzuYK*f5D0IzwtK z(#Sm4127kil8Z*6z$N}k1OJy^TGSSXjqSo_v- zL)o|;hoCM|RJf@xOMFhHVIa5osy_2jd^Xf@27dGURfUS z;#v*d&DI!c=c2&ioJW?KG@Kd`h*ODCsd`2=Spp3}eJZHboIWsR1lw+lu#|oxZJIz@ z)_ehde;~<{9Yh9COgfX`s!>g*PA+mW9PK>Bn)~b?UM-q@eG*xOGbuHIOLWAR67K^WH8$ z=oe|5Xol^(!M_s>Kz@*PnBh1DeS!=j1 zno};&C5q4Uh+TE}KPTqs?>8n()<%u#+GUWv0H^T3C=DrKB>+OZ8gB$D%xyHSGy067 zD^r`aLu|%O>v_Rw903A8oSG8lLo05ldn53 zj`bELoGry8OofItxDr{NQR{40tOO@wk>jW(xX^OUbYZ34`)Zits>|n$scX78|DoZP+x$|Y zB#vQI=PxyV&Oe@Kg8X?$NQ(vxP1ZH zJTJZ5I_SY~S?KQlRSC$laysUL%~afr`J`h~>|4B&@)DlSMgm&esuFG~S_Eu4s(=g& zC!AK3I9dcoU*r@$KG~2|iE}leb4x*WYJ&C_DE*HCg3Eh6h9})ArN6y#RtNC&pPgwc zseWhBt>9&*X|2~eD%zA^h0NbLzFf%5Nke@~m8CNMf)Qo|NE0q#kravoN1AVpeWZFp z2Wz_Q5&I2q27ISIw24FUeox$iMOuS*W@Hq}i9=3v()$P!`hPlSTvgkVoH938b3|AJ z%NbCrkSybA3ePpEPvX`m8q`2~{%ophBNe0@t0vAt;8Cp-p%z6zWi;}*E4VDJi;I3e0T7GIq{c*lQ#djf-F1J#Skb9CGUyW~quBijSTjUr7Y>PV zO_lacl=jHx!kh^iSDnaE9oxPovNxjr60V>c=1>adsDrsQCgd4V`b*T@B3Mt*Eb3_I z|5hbL`(@iUEB3dIl*b$qTL%l4bv5UsqqK-LtAXr6HOHy$)Rv0r6azc#((u&cGu(AT z@k-JdSu~I0X;HrV{^UXdxV`E?n+#ZSTHD824bB^!Nk+E9d6fI`&UE(2|F=~ zw?|`a$tXzj;w<-3`L(OEI6&PC{&vAe;`b>b44EN;6BfsUAPkT0hj*pN_x(4HAA(a@ zQUBM+6~+PrqWRBb{0Fo9rS7?SJmTHDIzz`@Zk+yAwBhtM5CPXYR9Sm11 zWd2`_y;GE=?~*-SUAAr8c9(72wr$(CtIM`++eVkGySj`oe{;^v9R0sF7w^ivcrP;7 z6HmmB9T7W-`p8dyCFtNk8c)W@|F}Cs>hMerX^N}4`E2VRvIKlDTruXmr zIo77)gR`f2r~AE^BC@aU5aPK|$FJmY>^U+j|Ii%TueJ!G5AnyQXF*F()sch0{aD~o zmsckb{L|It<<$la;yHI&{`?RVA3yR<3-ZGAIC@|bJ4;^kLpxi+m{OPkWqfx}aa~JO zRWaXC`Jm{=-rmMSdLVr^*bE8vHg>FdjV&sj6MV}->;ky!kKVn_!}J3xENlhc@58Azz31-DqSJSk7x z(M;cYMK+znn$9Ei@}>=?F}NN}t1W1GLDJp0yI(7==$&KS&_|~ekt(i4^%Tz=5hT@5 zg}CLg5>rf(`$l2>9oW-cyvHgcm~7=j`FV3LK>|}P_JpY}XHdKyZ7@kI{Xoh#4L}8_Q_F;sCF)*u^5mhv5TEF$K+Ib z3<^5jfT&7hO0uLzVAe<;V!medAI8|_-ruL31V~omNs1Z|LBvEL;k7Yau)o>RaV+a{ z%Kn<(<7X)9a1y$1nQ^$8O6rE$q6M>R2Vb+o9H7It8ll?X^aMmf<_n@|#H^=#kr}=U4^c)=a{ZJnIv-*JH znI_rlROos!xp?QbJ*@BG78}s$VoGoHR=zV=G9)Oyn3P$gE4zl zzr%|apZUsY9pLPwH1yjs`{9tKX@_05LB35)J6X~=291sA{&OmnUZ4izmuj`8WHb&| zzMgbjESeClL8WOq#EdItw)td{NtXf=zbtBmkSt})k2_^H#gHuxv0B4+6gJ?I4N@Vr zkt8|ejtu!&b&*JNDbY;gNwx+FP*lajNT~)5BxzPfvdW*$TsJfye8~(DN{%$#W+w2Z z*n*<8E5o8n`g@956_KV!9sRBBeE1wS^Yw!6F-%B8i5Yn^aZ62w#b(6El{iLcka)5g z#)XjC+emztAy#Xo*4gHzmUD^5V#ABW&<#pbu$D%ts2H$Y934~#IwzX^T6FYg7Ef73 zIAq5~A!SvdsuCmNRHchmCDuh^)eFN~iZu0+yxUqRQClPADYzWO3&o1YoT#z+;r>m; z7p#i$)|z>IlQ1M}W@Qo_Tf$5Hjwfu=#yF@8KO$X=BG(iXY&B5Q_t{0O)1QvexevNW zM3n3ku8GiD0Hbxad7|*{#!=;v zrC8p%?#@uUv%}wAJX2tB__WSlxAf!+GVr2k)6+2WVK1Jh=FNHgwl2(tluhY$%k_^J zPA1F9qaHHp#Ztr*!85MEp^MiT)p@=vW$Ckn*d|{OHzclV+8|cLT$laM(&Y1nNRH7Z zw#tP+J5;!e>R`hCKHiqjl61e3Hs*So@?JUTJ_;=^r<+;9!NS2q*JeHSP_loc`GYpO zh7&wsC)=@v*0;hzcaoN77uNIE#6@} zxX*g+xMiNgRXC0o-WYrUsTqQ_e!C-z08qUmy;)sgl!tzl)^$$)jMn;tABEMvR8%28 zs}4PJ35>_>aHy;@0=x#rxTjhcAnN;GwOPSHc;e66A&_B_qDGEkhfz@8KFBbg*c1)* z+0pj5sL)~L3hRe3uZs%c!M#D^`vh8;loxovz?OGeqn75)`pJ-Ws0V_TDM?H{r3LE+ z7U`j1u@@nmQRRw?M4_ld(B%q~D5IA&lEhRKC|2k`3;HaP1v@l1m73`_SRQ&Avg4ObNAzXz_Mw0l6a9k-Cjwy>n#iUnL^b9>R*)|3uiD29U5 zij&Zfa9;_rJTBR)8}s!vA%Pc`*F&`#vDk^j=mphq2GiVQYT4e#^57HiD)RWm|Kj43 zibp>n5_usL{zXWTR;(ex^>hS29MM8B#uUccS zkVf3bvU~|D$4p#q!v(zaep)pP=MvJ5e%F@Pn%=qCcY_u9i z-J}|4tn0fqG%LiQr4Do8pN^}}rgc@*_4_|Jja})r$zHd${b8)^Wsa8E>7@;pbH0>6 zvj$HKN1=2a|%!6C1O$zC(LgJp`UJpB>Oy45EVcB0M_dUGUy>+r@q^!dQx~0*(SB2vDM^(X!7g(q@x>`iuQOO~ zW3+W=F??dwERBUrnU|2ZFTZY-YB>b+AUdFd@jFCs0GuWwfH3-haGHO|yu$W&W|rozPKN(WX~!mQ z*)0hmhM6aG%HeU$7Shq32^7X@Ux2p*DXONh-$dKYg@*`?3qMh6Rp3B0xLSQ2bHBL3_dWiPw_AK>c%x zEv03!B}(7caNEucFI7RM`^T3yjTPQ))Gd-ZTD9+Yy=r7R{KM=L+8o~I55xJE{4SSh znj%$OC3>_;g#ox8i|ZQ>9E$L3vCHF=fy*%H-wK3`-*?$QmJ6Y=QB^3Fl#9p_r~_NR z-dQ*XR!pB>U<#E_)q*D0!U!z#j#nZc zgU2BTlz1ZIv9(|kJ_OGXs1ijC2irgj+C>VI;+w#*{lOyC0(R1dOga(7hZa;DA=Jb_ zMzX@61EL})bPpk9Mrfo1?Vtfq^h_xKv61^tNlIWfL+lIYpA*qiPsUC)fT;ojWakL} zbCM=wZ~i~>a-qp@_KOOrV}0pk)OAdw4l)@ixzM8OVfIYqVJ1*W1W;z=Z#5~|wbGV_ zsIgyB{-M|-!vyaj@5M1^t#HU1O$m8<&bM6ozp4E{KVRYY5#^I5_RWCP9cTi#evm5$ z(~9Uu@Ca?EIuHsb&KpF;mxH@wtwRlMvJ5eApTRa)|C(OyYE)` zCd;vRwU%X#RT@L`aK?0$kA@U3x8Uh6;JF$&ofH?xiES%(w$?hAk07$y<`ybk=T#7> zjHuA*{_Kb|{7ILnfcq?(C@FFtUSh!`0 zLRvyBvEJU;zGRWhfpU_xy(bOU+?y><~qf|ZL>6yR<%(L49`#evO4@F zFy2y%V0|bA+9gI zkG7B|q*spU4d#3sH+Kk4>ZW+=n^rNs@x$!fd5l21ySavTs5+D$iNsFul;1jT9>TuR zR_QKrUaPp)va|t?OVVeP4+w_RiLG{>CX0!+zY)mz$ zAB37e1R?sA#Aq&<8h=pS)JJA?OqKNrg*xj_5)I)<+2~~n8eb8R!K<<6E8lzi2##Rf zlP&OK7hR8``e=@*-?hioQ9oxz%{+Sn?aqmG1=;`b0Nzu%r^`{PSC;9ei^)MwQije` zxx)k7Q@!H@+f%;-0h6D2E{s}wPK+rx$`IyirhJm}`J&#)t}=t`q2bo^RA##4SfyeBDkmy_S76O5A7;Iqn%tIECsRIG5| zh^3&a#LC7-A7$|($KbDvEwr0L3|6Je;j}h5?KXY}HrJFlj`kPToSi!wY-{5t%@2F3 zaZYQThV&XpK*kfS#Qy}*+>t>T*5xrS>!8zVu^p|)b8~UD9-VIYCXErPJ37*GUX$uH zBYhUHLEYhqHJ33a?qjrGhj`ei#z;tAZer=oMf#mIe>-cQF(&&5_qGLnrn&HI>9VG99=%_D%nTN;Rt0C^qJl2^@orrhKW*P~q+9W{n7u zDW}~i?S@_TN@~FkPadn2(L&-q3e?P$opG7F$|c!ukcS-<^j& z*48}8resK{f==M|!!Bz~KQc6H@X0wReAL`yf1Xg1RmZxm6emgrOg<=%gkcTIK-Jb! z%SlPorItc((UwchC!DCjgkK-?#*Wl<=dy}adWxrE%`;qCtVcV-wH@(chcOiys<65n z=S1eZ@96l;DF}ly9F=4Hg_)CGb->ryeSW#CxBJMAV!_QFfnhONaYhG)k>xBg#zJ8+ zSaQb09G^MKiSr7?s<5#Smt+a8NDmH(E_Bl#p~0o!Im1!iomX;-=Z6Qy=vzFK`IR25 zd8m$>!u1W`x-(n}KcrYS2!#tkixRYB>yQBCtaF#m;@sJUr!7ElFkF>_gVQ7BPue3oIQt`Nv^o$*!-^*CDq8za ze4bW@^4Z_oshyP;QLskbi(%S_3s6wn#je!GJ=V*LZM$m3chIWZFWhy{)j#46ZrDyA ze9|ynja3J#HqJKYD__RE$p%+!Z>VOo)9pP=$H6deq)lzcXllaK;8LVYLISKCT2-jj ztaPLwHnngfSL-xW=cQh|CuE8=skD&Us~r@T=Ql6v>NA))lt({2(SJeHZ(Zywec`N* zgQ}{ELtR!ft7x;YEh9CdZ|UJ7h#SS7X%+VR-L*z)8!`r1$;e&$pY6XkVK#PUnubIX~YgE-JPLKZ)eu z&PI$ekA9C)Z^t;_So2cE{3FDzB2hqu%D~sieEf-&e2z$|Ka67jm6tutp3-0m%tkJx zjkfSZDSH#!OJlFJwZhu*Na*}t+2Yy{srOD6Y};oZ1-omxH)3%fo4VllgMZ$mS{r&j z9dbJ?88Ri|raRV-FPKa2sBEy-hpT3_c(b&*$1;%IuTY>*-G^5rVgf>(VSgEZW|jbV zLo_!d61PN@TXLzc4(9O%#103X#J!=A-8fLs!eo@EL^$}4XTptVNaYtwLrzIEUQs(< zVb**yAO?jaUeh`yx6sBlO7GytHmEQlI`R0bJ4`c&g!h=Fxu?Z=8HU^Pd|^ze*($vh+e2=|+f#1y1UD$Ugxd_A1|9+~PS0s(C#E*?tO`{`d3R64D1j1$d5~g3 z_aV56M^L34c^2@G4MetwXLoUDlNGmjxU=*3Ju-s8biBJ>_^vPr9jRkiM?@k~Wl@2t z@VNUIxXJ_ae6CBoBQ}P>r#;bBwf12o-)my_DZhZ5*+hPbW$f~!=T)cc5ukT-$_UX( zMaR$I0%f7SZVL9VeEmzO$vsxKr~&{_$N`?eYA%1n6m);b6mnW=B0P|A018Q z*%^7N8A(+MN!h9CDcXtYxg({=nK@+#T3K~QR&~badS>Qk=0*ibI7c-`W=7T%YRbtu zDOq}|R#^rqnF+}i+1ZI>YU&x9iD}uE6X1U+kfbFciDRTVh1CLn$R*$b)JTAgTrF)( z=$uTAO)VW<{^3`!$xXorF(P)~)?sF+MT{3>*o!G6^v0P5s#;k{caA*21jTpE$eb#| zwOUW_Q%7w=$ScSWE^r@))UIW!bm&wF)u?2qvTy-k03;H##qy_DuNc5L`zMM?bRpvL zX$g2Ax5G;8*O>-D@;%DN**yS(^0rw+wR5egHeuh5Xm|FEFtaxc|*B{`!xAzx6+&+5kNFk6_N&#`2#O zu>X2p+rus+1<-IkhV*X@*MGgPVCdv*Y9efJYYPxKm9exl{Tl#GRp0Q(QAhg}+ZtaK zX;2-D+aXt7;!HE;3L~BOsE9rym&M(pa+Gw?f=00>mQOHGSs0JhmXa=<4=pVP%S!WQ zi4H7bg(Cl+#_@bVi(}t?r;gam!-6fn+Rntla<sdmBI^zsHT-mee1u0Y z9lH|+5PCC*vpuBGeWZDN>G16*p5sEU%{EqLi=9k7S6f|*$8#&9FOs-5TK+8VH*4W1 z&NEkGz^&A3WrZZi>WlA~O0q=-)Ax_3SfW8hr)g1I2LC4Wy>nctvN`lvx}EJpI)WPsb`bs(_a*Oot21?$pDk}n7cEpj6P$#gu0g%@|w(1 zmo`_C#;~?;8ac@!4-rb1g(C8;3wh+e#WilVyw6s0dv*ayP1vE{i5YsBz1r{~m*6pC zI8O!IA@{kMG>d(FBn%^UVO^}(sa1636!3qzxruC!0W~$2HWwW|Y}KTBezeh7Ku(cX zU0NND9W1GUDGE*|aA8)vPcT*g0eMs9)?p=mZpH0TQkf2&B~eqY9`{o%RBMqdaiic4 zn8w9rsx$DjmG(!f7T@(ayY<6D_A1y)RmYNDc_JY`4o8|bMOULM7>{9^)Mock8)r|C z33_=mSVl|bXfl9aKG@Vu z-^B(fn9BFtp7F#zcVZ06QCE~^s*2T5+2X@~$J@*H zxz*6R!^=_M@vCNz*_kMaa?o58?eY|JhC1C_8dR{e%5Em5Ic}XaoL;9Bv>|e9@R)K$ zj~Lw}NkxKkFX!@F!G&+;Vr=1X;H=fiVmX)I99pruJt^jc*TI&wR3e#B=Ue6d7{^~{ ziqfXC6g3EZVuNjdSCR4CW4BgDpSyz&6GGY`WR<{nQ=YG5xKL6~s~oK#dCJiqcoZ_~ zQ7bw~6Cm8FTT%Fnh$o=qAwUJ|gx(R=Zk&I<60U`_SO4{ei1dX&hG=pqfHi>8GpM#%SI81{{V%zwQuNJ#xunUdNno8xjYGF+^eI3(?|tOrK*J zWQUw_i1ta(C>|+p_=97)bwq;S;tnzQCE}4p2cagR_ikoOU@Ti1o4G$2n+qnh`sTGi1c~w&0cq9&)>c7?ksYxx?7*j?K`tS{IurZ zdCQ$V7sllxJr_+wOE<5!^qZ0{Fxs9VnCO@wBhZd8Yd7eP-M*<!0MBDuPbt`Y@e{ zEh@z}ormyY(2p~(b2}!!A)*)B9nZM7{@*!o49_>$hm^kSRAr#veQGkoy;H(*#l*s7 z5YG4h{|p0|ZPZ((05l^gfMyi?cNp*w5&geHyc4Ogp|dGKqSw^U+0q5D?LryQ_ibkm zc+J5Oz?J{6YKAUAH3OB8#fNs^D6#cfb0jK_p{w-Oh%i>lNQl%*XzA%2c#heIty?-^ zV#y{Qr1_m5OIK%sFw&QG;&;9YN&VKJ3>m4r$h&;2zPqIM1o)kD0 zmv*ZHyZwql-!KztE^1Drh*TO1*!xzV6j&VHlX3SYNqw)eB70@hJy(c9ex$s`H%d$d ze(L-KLG9#N8@x|+Zm z+CjMxmSxrNkaOvJmT;!Y1DGK^ouhgk-qf?9rZDCNHQ(R zHGR6S*pyqZB>L7JZzM&N58D+S3HB-Yc7_$(y>iTn18gV|78#tNRGD2;rbZ~*;CW2l z?|V%8M)@4W^(~boVLN}Um~6!2PuH(w@Ya$$`G+2(AW9&z^a`+|F3%;AgZVioix3#$ zYh8JgLD6;ET7!Y|jUt)%5 zW!~;Lf~e|{ctc6$NrqS$JFptn&N7jz9$OV5X-*uIdF9+09bwv#rh1C9+>5g8k%|ct zYF7OS70bWClA2O67-j>bku|qRdg?{cd5-UKB_fSP-h*i4Qw*w7DW|`|41yx@m;AEIScFTVEVQh|J4+!;sx*zcr4%2F(p}=?{AdIXfgF8(% z%SLf5Do!;lknZQWK{ioZ{&$1?HA|2m?)k;ib2T}%p`QrX6hY>EIXB|>ClHf7+Ns#AN!!PFt?nr2MnLXEU?X9a|f9D zgo4Em(fKstbfBcW3^y}PEVU5z+d;o%;Kv|qK&Z!+B@**3Kpb$66r4qWiG+VA5_2>t zcL>aQ{MPx1q-EoMf4kF}#uv;~m`gINz2SV4M^xL=E95;zkHmoJRj^{|lm98)FU~YQ zmT+>Eae^}bTN3pJRn3!}w0YGI8%b%Gv`i?8r(GDI!l`O}pMGJAINbZ#vI37dFE*mD zL?*_@sqhZ(mH306asA@u4~wlqxn>fjT=+~94Iv ze`nkO%DDdBGppKJ+X3W_{$}!j^VR^tH)e3DiSR++FIyVW+l1b6O)7Ozei>Jo$3;5a}T^o$W;pnXI=F5ae5+ZXv zINiP3ddlhby_q@wxNW-yI(F0+ggt`hW?T@g%3(|%JRTWH39_6Pab%0KhIQIF%EKSQ z6@Eu@pX%%)2Zp@>*;?H(jZUBP$}}_@ag5D5_*GPT2A!6v?IuNLhoLT`U3VyUvHu&E z=mr~hBGvpIY)*5V-N`!7dJ`OP1SVV~?4Wp>U%nwOpD+<@iM>Y@oXflJVP#C#QN za7r#Q>Jpu*Ds{2!hW|7>jb85a6wmqF?(-X52@54qb`^ zaz@^s>G`g&o}N>zlw=#95=ZVvLA|jufFZuv+D%IEX3n*2laDecSlqQNu-l4Z(mNt? zn%r%4VKU;t?7zGC&RXy3wrk(m%ts}omqBG%h9#!;ZE0#XCrW$%HnZrX!k7!?FqYbD zfnvHl%8pd!fv`eIFg?l;R;;1mkQ}|ZeT4C8ZfSsV1$7H(d5JL1R@~(EfE^>skafq3 zB`gc>n=l0f`mLQez5bb6=;KH1Xv?>i1{x+2f=JBUxvR_CNMZT;J zAI&ri^fJBr#t;e34SXTZSNMaQ&-ll9+zAQ9*+DWapGeGaprO8E9B)DVk7(uRGF8Y1 zK;}UHWb`JVQaV&GG>S42Mdpt5?cCCOCXxqhE#Ab$gS~)_OMh7RO*!KSfHGkc8e8MX zvq|=ET@5I8jd$bOLsnJKNM2+k8#70~>i2)BRsF?R_G3 z%0T{Yj_p6+p8v6<%`{(<|2kbtgzK==$&!LgB@T73t zu&WA{#T+J+N^e{6Hl!y|;a;lLcB}^;p}pU7BAFv*+b4?I)|R(NCDy$YA%+K!6XO~? zj=7LK%-i#I+bv2$9K?B~L6l=N8sUOJJQCwUUNhkU9jmruoD zXFA~dQm{^UA1YLz$ff(x{uqmD1@|h19TaW)9PfD|I--Ho6_-L^D$~q{59-_>tENu- zNZ=@*D3iwA)eixM?Od2#4|VQ@uv9ate1^-$YTXOCkCZk`Q}rIN53`+3Esx_pg)s(-( zSs_fCp4%AC{z;^uMf4*VF?{?N*D1bWc9jHhojCxQ@GtAy{{IgDZ!qES%$4%B++Xf; z386KmMRzitGAl@Rlg^atkRoCf8-?T>3M}{++_grUjeGXa$a(QI=x3@3;leP)U15xS z8I8~u=(F?LE|2pK-`VVc&9Hs@akxQPTaZF-T$U)P8Rkr-vX~KGYDfeJXKGowNL%Kh zo~OI$pg#l>#`%;D+tI@JnWzo#p1o>zzGdf}Y1nTa-g=hQWYp!>KFO$k#kZDCWy?fr zr6nYJ=cIG6j*Ax(^jgb0 zZ?8Fv-=1@@lBZSmw-((EyGb<1HbRI#XDr3H%rZ#*b-}HJ{58+$*BEr^kB~Bx*?2$Ug>J$JczCu=F)y7v03zj+o?Ud?;0xF8 z1r%tOWfiA$M`64l?XVxKn6fFOl6rD-nX4s}vGdtDr54#moHd%iF&&$HB0{*_A>9fJ zjG@yCp149lmzc(XP)-@-{Ca_hMQI18ly5bhOpY}=Ua}Rj<^O@H!PG~RD2;Ep4^!qR zw8bwb6&9Rg-i%B1ftLKm9yV*^!*jq&Xx(5qB7D0X>%sVfT9k)go;YZ`{nJqFurt%r zJVUl>k!hM*d$^=C33KO$Pe&A+!!k7S^&i?p{_=0k`lj(^090@ec>YC;?LV9N--q8q zV+8*iRuKKNXwiakJL!zD7M@c;1r;4Y8Fu?YX9+C%$AO+VARJj)r_+J|_jdxb-OCRT z;BmxoNMVtXa~r$XecPIh`f=GUDcu|E8463hEmxA;B)}A|5SIGoMgPu93XxezX+!Fd zYFe~tp_Rik&r~FV2zRZfnN*iJJffe8LXx_XN2LcvBqd)Gk{4VcKIZ3Od%!V1;F#X| zud(lNf9NuO{)LVgYlVE`1NiYtfXpq={{;yNngLX9#VnniU6fso{tlG>cCAO$E|r!P z5I^O#AxpkVferH*nHJDBgCW&>P^r=@QEG@T=ob!SQ$i(!-=p~e?SYuPC}aYJhGOCm zg*k5|p;4u?2N{p@o4nnge9YaOy14p2ecs>+!$gs0B3KuZ(H4RtBpL-7!W^Xg>jSoQ zSg3{iGXi*kM@2mxGZ9eNl$@J(NqMzuPJd$232j>UDerw~xQ)sTPrh>s}>uWwW>uWz%Is=QHe1#U_e7_#&W)5a>9onKA0iU#Y@V1 zlETV%rZJfg$=GLA)&C5%M^j- zJ2g(7OkI}|$DI8w4*l>Cw(R{PB%-(t|MZlaa zHAK378ZWze)3w{671&3dOw>P?&2$acRrzOH7u#Gq>(E`rW@TE&6%NW)VAH7fYKA8$o6=$ICJ&aRK}+6}hnd&jg9O zYAQ|VFPjR9e&EC{Y$b<6tUxDSHX)bi017BZ0^Y3m2HQ*D=h{oL( z+M6I8Gqx^SVBB`)^V*{^Zi56=RwxU@E4nwv~P*J-A53w##>d7yN}IXVV9aE3c5 z&nbc1q1xh$AJBDWlr7#%3`VBmjcd=sH-w0-2m(G{#%GTH)%?0NB}i#ZoSI3rFGS6MRc1@2t{N# z6e9s0Ly1A*r(YKSQX(k|`I6AClzI@%U&5FamWUOC!0HJUk9OimtrOY zrcwYT3S1&yfIF-(rj8nT^i9gP*21r`W|V-HOYqvtqo!q{9o1VoSGxUMvuGIjPUN9)j!7zTy;ckIUsk5owr3hxKt zIG+IRvAq9&r2lY)e3SbL^cpmnH>-z04RX zJ%q*)0RiMe3`}yY0|r6r2-TTvJIagbdko$8qc|UgdJ;t>_k#%g;mmpEbj~=^qiN*V zT=IaehHK6L)t6Whf`-O)tU9b1k<3cAQbmoNk!CJRH6y}=Gr|TwvgryZEy6U$_^_Uw z@36IS4VT`<9sDQ&xueI@adZwpq_fdjHBvc4Q>M4g6nmJZTIHxng(LLzK^`ZNMl~5l z1p9d2dCo!yRD>o6t0pJh`h#sKwklTT#axXy|uu*zQjG zF`d}?OiXtwCVAY^V1b>6_hX#jTtYOn*RYw^qwo-+(l7Qp!4W7p7|f;m2psI$gYGc0 z7;(Ysm(Rxt!^(7Ymg&b`fiRgTH%1wJV@|(f<1puT;YyA>UFCE`vqnCKn2Q#px-yt_ zqMaEm%h!MrB6Uj*xnNQ-A}%6sEaGc^OCm4wUsphdJ_i(oZzW;lxF-1IbMBZ1w}p)e zoRa3nyqnK zUx5yIAfXl9DYv%m^7!=EIP4A+Kon%DC5RIkjQ9ce;83Gv8BQ^+!rwVgFzp47VsV$+ zQ47#{`2-Z>=04lxQ*W+djIOG}mwbc?(t%|Si37HYrt0_VLFzwRP4qZa*SG7Z^o~kh zz>@VuHRo8w*+8&FEI7$5kX}$|3_*Wks11rPvOI`TKmLP+^k1+_cme(N0su9906V1r zPd7lw)Xd%qu=DvpVhvkmfX;xQU893zlZ6CaYU{d0uz((t`L6N5T11 znIdH4a$*o$Ie+1{VZC18{_%1NGo&@wN>v$Aa<9^=)LBv1Y*JH>-N~`DXj84K)x;8F z0920|n5yNyhV;cbPj}dL%&f8nC$qY+hp-ISt(K*-T*c{BCy*yIOa0Ptf0JTeUqr}ZQxXVtMJ#!uhY2oGu2-6# z5o~l?I{3^o9>?uyG+QLs#lHrCWrT1sf7H={l3t~ zg2x+q48IMQb&4RX+yidMg>RKiy%*!C!`_hrD<1d_7GY0{+OtWH=jW+6Gf7sng&9^+ z&y{fkjM)&ia#jQ`?oGc8Ob1%dP(+Yn_mpEektZ?M$Y~dJ>pj?5I&{>!VT6a|kA3`J zql~8*mo*QIjQCjk36Gl}WMCMKs|l~%LzKZTY|OES?Xs1Jzk zW<|+IFHx3Y2ZGVC>w`3t;Pr-uk^)Rm-67m9tFFx00Q`;20HmzOivcUDth0t=8 zn#z)Bf9rbe^5|8lwZOY?&>VjJ1~*+lTHF6XcTtrPxA- zGbG-={_x5HJ}=(WicoaezKoso)2sdM=YNKH z7RQ>i-7pCTwOq_2c*?o;Im_AluR#+BpfNG*Eq3Ph*&?eWEH~O^I#$R`^}L6owGfpa zMgr!y7 zy^zA`2--UWu{nvz!h5dZy=N{#_Zs7cwF$?n<%?S(gBm_RyKE}X&y|nClIrzt^P;5> zo`vFa^h$WStT^PLG#R>~C85|BY0VEIX##VEn(Cz~$zS1i%bla9sk+*8v20EgV2%w5 z>&AO?*X92_->?jdn zG=o(AQP>}~WnsKMuZk@SMc1{<_-=0Y0^(lJZU~9HHT-^s)QrsRP^Q@gdt*jhIFvCs zm?8yf9`w`|LTx+xYFe}&;lGgoog8!bVT2+0{SR>MUl2E-o8BE;74;JyR)#tAG^mh`yhaih z4H&Mb)sl`?YH8VELbM{%lEy6nDihVr!7M`LEBLnd#9RLo##TpKJ^usm6W%pHkkF*Q zR1>iK^>M@e*53au$M^ZDPTwEG0qna3XZRLz8d=T=-fp!-d$c@RHStV&{`~?U6jrsQ z#@Hw#`~3@IuRt2d6U1F9C_*cEJzt2U&j}N@t^&@gH2kwRu zVp?p`BxBNoi))YCMAfM;nLfEBp)qR8uQVeopIv0=$2>D8ojFW1Dm~^@Bh6ThNiE*g zHXCKC_3Sc5RatH28q;DW#Rp=JE}L@*Qk5CdAq`1BHSX;nn^}b{G2tYcz9#~a>1aKu zbDL#l=@PDkrC#DKXf@U7SY=+-nqbP-nz*!>ueEBGnV?*#{7|hRn`K5?A<-xYb=<~b z8*7)ztqV?nsISSH7tvv4p)u{c<~hlu@w$*@nXOvY;_9eYM2?4ZnAO=Rp=f0#y^8Sd zs7|svmFlu8O}P?)d)6N;oQGY)D_F@y8sP9_)?r64kYaK0f>mtIGYN8%&u85Ta)vJM z4?0$BvRsB-q|@5_QoRIiiBa$2OgXAjT}Ip*-;Qv8ZF5?#4|j5N#e(`_kq!tpzwl>_Y9 z`VD8dsVQ8qis_K|N?296z_Hr=cYOK{-e`{#uleMCLzUoj#`H%?l zrWy!q=1|?PU3-wRprw*BwWk&iZ-s3?O=*Jcb9Dv4Jr5zA8?NL^J}IyFUKEvKth|oW z3)f?yS$>i(TfD{Ad%Ne4n9Wz-3(G!wQ2un8qu|24A;T~`{~F=Ci-#Pw=WDs0rAX|vR(-UWl0Z{I-E zQLcS|_72hylt#GcRU^3PH6vCu9L)94HEST?mSj+usNORq;&|KvmnAKfKo;nQ_{3dE z)dI$Avu=+B^rue>&nM;lXs13nSaw1@!wAEVMI@83{Cc5a7FdRZ4k{VQzyokGbYH=} zIn3wqR2a5lii3=0hFO(kV4o<#(sQ4kuAiMA?0iKK9WXoIS_N}`VD>Ec_@2Tb=v%}FUjv+`icw9D(Tu=y*+ ztMI0uxSGjEqjXtv`P>err_M##vft9F-q@>7$cC=v3L7Z|gb^x)G%yAVJ zL0U|5)En8P>i9fOGi{#DPrRqSFZ`trX`rpFlB8;!P`H!Z`RDiHKM&&{>pN@^UI^=&asa-6;Jv-B!~-TInD2 zn5{f5TYi4{ebZ5>RUZ5QI{WIds5^^`=@djdrMtVkQ@W&Ey1QFKy1N_c z68W~*8p3YeF|{gtue^*kQwn9; zxU2jayrMQAl7m3)K}iWpj2>IHowSupTa~}lfW7W>H`V0Zg5lZM^o{rm4ee^@0l8?VM#%Tm?ULj&iokQ7nz_HBW=3KA7DqJ}wM zPYb(;A<&ZQxW9QR;HWF3=T@*v;x>dZtsZ%xU&{?RF$!~~-R2|nxzGnp;0`W5^a%5U z@vW)AiWVV#jT+22me$&isUyDqTOIihr5n`__Gb<&q0|b2ZZ>NX@s8?mhKko6-VP~q zxe_L&HMvCa!n_4X(P?xvt{Am%K~y&wD34FaIdc_g`c!~Cp|KyB3lkhTGb8JTHRY3` z%VkCbg|8q9D1h3bHDPSbYauJh9O~0i+>z*av^Vxx8NsQjK=up+29FrQ_FYMKyf#uy zMh@)YbbN6Wj>GwRlkdtMWwejJR(8E;ju77>^d2sL$ zeGpvfOXIG?Y|pQE!OQbe8@7l#ZpS%~XpN(x1lyG<$^pS!Jh_aj%|fAYbOBMTCrJ-H zN!uw(R*5%3Fro}k>&K<>$j)?Q(MuJEt@+B7s8TZ$OcXhf{f4=o995XUvkj$;y-aOMILFfDz@33KLeot$C#SFMr-5|M&Ut3L$~}#Z zV$Ew?N|lP|x?Qw0o3=SsgR?jI>vPAg`ew<)| z9rS%4IDL&=ho(c|2j&h<>Dt}gMC!G}XSb^M4xKa(?6zSx(yf7b&VFL|k?=w(Fq2IS zW!Jge9W$lGIirh1Q#9Ato|&NN7=SNOPL~!)m$swO z6UIzcfGSAb&c0dhQNuON9Jt$XiyLQEYW(_(?&3F337#oN#V}x(vjFfFvj3A^&i98q z;A#IKCk5ja%w;BC1Dqr?W3pUWmU5rLh2U^4^}UGTkl*WIU@{~TpXy={)9$H`J9MY7 zA+CkKZ5PwIIgEUkw!mgvF0m%)3h;_>ermXGuJ$bTcz}4_9udZ}t#@&zga}X~=truc z)P){I(Uee*idw%%(-c?U_-qd?42_GT$!uqi6~AWAL~3*E4pE^;xDV%!-Zk!+5)QU> zTa2HWgIzGoI=nc8=X)ZUyX(%X9x$|AVK}QeV1Z{Eu|0?2`=*w5i7F}iVBb&q!>qJM z3HN+vVG--ZYv_g1VnKrKnC<#TX6Kmfexj)__~3W%n*51A)Ao{_>91G2H?%V#pN#s@ zk89vUT;mkr8B-*im?&zLxI}1Ag?fh*$u+QTEO$g{o`Pv*&vd&IBV!_K=agTp;lnI|=AFkw$kZq@x<+wb6)zB38K zw5#+PLJg%BTk&KTg+G2Fg$CDr^@|+JGBxEIzWvs)0Haw?0IhMUX07^?4g4pLF>c++ z9wM}`Ro*Tq^=S@^*i5UFhI)sJ3>!E>+1zZ5NK0614UKCbB9?-O1~)ZadHdz)xRffwqP@LyeSq7}JA!YA{~qN%sT^!6eC7&l zzFEhYSgN%)tkOA-Eq-WMd>LmQ&@vcguE;?@PaJ^MwlA{}u6SnR04v4f6f~lQvR<|P zGb{*eJf|y^G*|6Be|naboJE;8du@!oJ2A3sDU7Vpx$_NG2lzQ`t);2GfoQ@DO6WSl zZ;W=^T`4XgtlLa@ic{ajZgH*2FxA{)k~NIEK&!8mD*Fu{jii+M9ecud4m+&-V%&z& zRL#k!yfo6XPo@(WnS|tHpE5uN z1UiXHM|%%QB_@H$7GzCQU&sR$FkjbX{;U zRoiR3N=h1%LLk4|*f`{MEo+&cKR7+9aa{g#(|{_(5-PJjj&SFB`$hN#;lNHA&I4V- zS82k7%}hD2BdzhmV3iHLR6Ao0F6_hUxh~D5X_hPF_bGi`JA3l&0n)cT0vl0W=%)od zBRf7k&o`MjnN>HQr6PRBB8;3e=82q`Et?=EIN4y{x_){qg%%>trO_4Ru1-s0IA9nO zCUtqrVl*(}?pE8&YzM;-x``4lY5zgz$~vif>kPU-1m;#A#+Q1HTkb`bkW7t*13`M1 z?WSDDsd_4gZB6gFo$AMPR?Q6SaOpv(OzE0tu^bJ*BcG6wPYM)_i#Z(m^Ux)GPXTNcK7`(E_GDL3+f)#BYTHFCpzpQ+G^q}w88 z+l+}@p|ldzhP^sb%jJ5A*99of+wBeVxfzI5Rp;yrwp*tv%hSxE^ zDrMH44zU`7>GL^Vm8MAvqFT{RZMEQ@sF&#@4;=V6(~bsUIc|0ES?sd z{D?DC&#dn?uVFCx@m(lS{~%VoN4T9SV`_!Tddyu$jAB7>w23v#E$W^O4RwDooMkej$f znV-ZndOp{80~1t|iQ92zcxFB0X0joklF2Wv`b`OLpgR!EKvD-C+0_QTx(T)ua%4-q z$Sb?nf|+AGp*hAzSc-CV->vgMZRlZZ51lAg&{i1N{}AW z#jaR&PY8KTKLL6Th-Jw~^ns`^EH#P{x><#$O;hl*v&I39M3cJy8?v`8ix#0wQO?OY z@d{C;^-nXh1NvXS7sTJ^=-0FMu)$&>VU7*3Nkc03o}SV^Hb_o3=LZyciLc3=ct>Y9 zA27kVQSWj*+849IbzLilgj`!dYVNK3QgS>lSPpsDDfQC^R-fY6V6x{|4mq%mEKllddN^3?kV zwpHk%uTr>e$tNzNGx;;nz+a9WCxOxI41Tl?sIqxI7OhwDQhAfiW9ZEXTC5jc{5}4b z$h$`Z0+wNR!YQ&{&=HZ?-C1w2ulxCTLjWOK^IHti#~UgzGWgmpA-URbqg9nT2dW6WF6jPT_@ zjOxXCtN)o`nFfxJB)urn985Q8DSX%ZmRMgtFtfU$GANfH z)Zva|eY{t(w-(l3#W=sZa|7Xff9njDRN8z23QDD@P74e7g4md&7dxEQLw2{#`x#k@ z2-tjW5;0nn20llzoIi&Nz3V{_b6%eT8l-NI0Tk5exW=N-Ga|DZ`49~H;G{O=&vm4@ zCi_EH94Pc`YN{b5#-^`|;VDFu&6AZE!+Jv&j-YselW*(t<135<-_UC;{&ggWN0^5JsksFoGX#)W72kE?CL2B-v@T zzI2=FZG4sACJGN3B6BXn=;&m{wL73wfBXKyssrtYB_Vfh)qOi#^mcC#{|)^^^Ik+x zNd!M4^p$n9RYvhAt^x%WK9^BCPv6FE!%U2iyk*#^htV)b8>@}wc2-Gz&%henU!s3m zWhu?Mu*=PUWbrTBWtqP1jZ8Y~qVx-Bl|XREOv}wdN0?whOfvck`T*j`(#F(%p&L@(yj-$DyNz(^LaJfkZ5omYE^E zUfY+`Re>0Ab;?a!8tvh9B}jy2R?EqyL=t2)6HF8{ZmM(6!OS!c6^qF&d5ssK8hFm> zd8#o!d<5c4OOkjBgmVTxvX^iLWeezX{U|Kw0mW8o%^LnxaPKgo*@ZgAA-8EhZnDLP zdX%yi4vjd3@aDHmgTX3{H&~^SB+h3=m5yBUN2w(uz@KdrTeIu#4#@}^VN{ZSl3?BO zFQ0$Ci@FNAm!&IM80hO0hF3?ZC1UU_!+i9-SlN~((e3CUmLlvHfekw^u6d!vLO(4E zEaoy#xsT)tblc6OX-L*7{}-Lh!4)*A&P~S7T63z0IWR_x8 z;~eR|!prFjTk5`V_mRmpHF(XPMWS9>w9jM^sHl3He(LCtRtoT3yL-vvQ}>Fj7NJ|z zGMVYom(^j?*{!OlZ?aQ|r+gWPN*vee@sTYevqwaIy4&eD9cHCacP=C564(|ps#5Kn z9Mmtlk?SNvFKThpeIY#6hW}_CrS#zYfiBkdh3r?32AcJ2fXdN)#7V+uQ^tm|E+Z8_ z=j4d!x`b-YGu{%c#n7^dcq6Lt9NWDY7jP->kMkje(25{Yi`imC$E0Zwa@ETxQe3D` zuo^~LlRqxCu&iU9f@}zgk*fxrfR-0!L))dHF!UNkBN4SU?GgvgiXu)VFdCYsW*68D zevF*xC&0Os4=GXFtD_EAun19j&MOe9^A+l@@~CX}vFie>!LRUu=;9L?t|Q+T`=uPe z++5Y>ezriKCRcWX$jr5ztelFMtFe@zGhukoRNs-~^%zH3Y*AqG9DqIa~P%EKp>jYc}Na2vVD`4wXyeu`n2iI4lEJ%k>I_!jB z?_F=wA7@q-wXo?UQyM^(Y|nhT*=iLiq3g(kEiaI#));V5cpt7LL$;M2}J66FRS;`4a6uTrkG0 zvJV~a60)@z0NDI)P7aD1QP~ZME3q?r`sE?!CLry7)IZ0GaO0`U3fzVyO;e{%i+BUF z63!CAHYVTgM5iH*IfkJssq`+`bHSL#UXEGg6`dWbidcoBkP0rZM*;C%Hv8AV+JW#`Js< zD}6?Ud@?hqMb+smdAK)VjZvO5?B|4gieG7#dI=|vIHSL!-1CZ+Tj+Hu?U~*zi^uF) zyMVTczB6OW<7e(l^MB5k3Slg_dvHOzhbK6~=a1enYEqPZ$!}qir6f@{F_AHm;oCAD znELQ!+6AS}^p?{Ff)_FFoV&c6QT!6mkqL3k_37Q(bbFhy1-@v!^wwKhLSD#}YYIjY zS>E)h61MIZudmQ9jNV+fjL)#k;u?ta%s`;bRvU38@Fc*V(}Al)rmAeh=~&Y%FYdJK z5Jo?crGPhOHUw0>^1*GX&S-7UTo1;efe4diOxk zeL@fFUL91J*$IJ)qZZX3-Q&aHO`vMCIeD)S#>fdiO-_`ASex{;X-G&7p1#S8I+uL;V>n`AqGhy1KAAVFcW58dNcX^$GZa%U*Lp z2wLmam`!3<`bgm3^8#xnO4CV@E|e<{sun-~X0{Yq|6!PNS+St7Hp+ob9R`))p=q<{ z4PO_ZCfJWlzN~&u^ybLJEAPf#8f!xIQp>@Q98pRJi^qLmwymsujibZ|t)N_WwpGG8 z5T1&eBoE0TOHkSr0ugjga?bnzAZ z$(60&*gaIj3bEe{fl)Up3YGjikl>XyHxS^Dp~U0|D8#oAI^1uaQUKfY)Qtzca(=p`+PG4@_Y+zo`fRrg5p5aJU- zxw%!jgJ!WBGi!yMUly@AJOsZhlwcN5<}@gu2PLQ_58i@AXH{*&I-sI10Npmnp%bpNCB4judzC2H-1b>8$Td*|ZbkAt6csl>|wZ#L? z1MbzfDBqJi4rY5mXy!FO1m;R(uLW;GV_jbFwP2p+9(hgxHpQ$5}jg9 z@r6S&`o!;9=Hq~Q=$7l_z>eUDOkKLf0iU0n@gM{qFTW7>>}f=q{(`I99D zs>4X(e7+7BuhEo`UkF&tFv}}qaZ8^XQeISlAchF>GuiCtx%gU4>K;^#5r!wMQC}9U zgPFAy&aK8i56GVrbVZ-%HM;icGaS_{`BLwD)nMO7i9jE?^p6_c3%tp(F=UbV?Lk^hT8UW+eCmH@B_eE{(s0@=6BS#(f{pqP>BK{ zHAxnUw+@hO9Go_gWQM)!`hz@gThD(pFGLZ;aPX2idomReLNj0dJ6qz1M!tm zIOz*7ME&<_@v7s=!t3cHBST5Hd5+u1U%y;FKzcbBQ@rbjhv%w1GZx5BPr)H)%q4~t z?5T!82dvXsNg48WG=-yxRcupU9ZyQe>oSEUsE<*yJS|%=$TU#%?^Aa&a6d;hh$G(S zt7|?~C$z&X)u1GG8MdK)eBRYnXysJzR@#|i)@X0SMh3=RVlag!<204m|9YUrx~bEj z?18AD-vOH`Qu8kUz^r-u*=w5n#r)>hBaXb;>V};pKQ)9SriJw2ucnOyD~hkq{5*rS zv685dPL-OqZ1ZI)?>lX9iW>6aWS`?yuBDNNciTIt?*tJ!7th^4>~?a$Sk6;)P|Gr~ zP&spA;@wp#%pmcvj;K-|Wej5Gve1?9$%-JOEm9t<2w@HIf4voM*h*DPyLP*!$STGR zcMU69!wttwvBASbh?BT{B!Mtr(<3+Xj`)$@uyCCK42!%=iJN;xbE$p{AKro13?Q8A z-12oboZiWQf$p4sP<}6WUp7DKTy^-O`LGjDV=)+2UAQ5K{_9{I@7|o*bwO&HDGy$L z*ck4cd`H8lT{b=5cB;>Lg|l88MFtpE?)1|jKa*fHmpbvqKBRdj;z2kj!%tTbe@2TK zK1|eOz$j1ww^a~uD4g*?%KEI^89MvPIm|5zI&)sz%iGblQ2tVdicpH_wcs_T(${Hg z)V-i-yl~aB!W+z4LaZ<2-31TvnIK;~=29?EI)CAP11WY0QF>L8T__Gw8^ocuKThXh z7wT>CbY_8dqyFVI(H5!u+YuUMu0gy~sxz7x!89c3O7Qg-VT`>S%m4JwzU#k;=K+|! z93b+~_`7%Z$8n`!qW?f%@HqMJ8WLczp)|EY<|Qkmh+Elq3onuc#GuBE1U?{-cLS80 zX3Vt`-~_WhJ6E#kS;o2vS0kC0Ro=ahufEU*=tH@lG}vx0FY$SLeuc0KA_0Rw+?{1b z>WFxP|0(WTz?l=@86O;9IKZjrQe8zqX!|T5PIc+TDqt$$;50_NY*={E#1UGY-ECn% zO|?_u9=c%Q)3I0PLrkz51*8gKMJ5PgQra982&l{r~#Vjc7_?29q8n0&Z!c^sshV-St?g}!ob%%C(h2@)g!H`ac$%TT8$ z6EHM-{LawD6CNZ5@>o04)Kr$K%jNA&GBSQya!y`>u|*?M&>UCnq!lxuR8g9hF5?R57?TGq3 zbw$~gQ9g{XTt0DLFRpOzEZZ)mx3xZiyzUKwK%c;=Ox&XoS7Iz84tItp$B>Uzpk>vHPBgs&p5-?>eV(+qqWR-nmFW#)KdY zFBF@cn0)Od!^t!xhW2`2wSKLeA7bI*#+#Fl2)B9z|-tD*rL_8WB;JsXV}IIvbs z!GiiuhROH^S!1RQ95&Z?uH6#PvqI^vS0c|o-7YttJQR{&D?vEAPQ~NV6NvXHKrj^J zuO-F|Y?Y(Orh?y6GfUy=L;KdQS%x+~v`3XN&Tlc(hYpbhHoIvIW)midkOgcB-7%lk z?6jS`ykDNxmSgI*M`u4%?tK-|pnFNwb!c6iu6=s5#Lv#*tc0D{D1A|WPEB^p=(am` z@R+H+UUE~m=g^ajJ4AQzRhq~tu4&$$AeUt9Qo4!WHDr2pmYf0Gz>ZU$QsyDwkzU9 zsREDi9H8b`zlaJec}TYT6&jQl6rp{Q=q zgN*8tYZt2f)(~{=f)j6dB|wwYga?CnO+b^AglV7)ZXGEKFM*O%Vp5yYn*q-;BETz^ z_78Iktikx}ak_5>S-*+h)Yj1*J9QcMgQFr69LTz_)yM zI%H3nPvosP8Nm|ogxmqDOrH*)=c0+bC8cuSr=Ga2a5A?&x;;M8LZ+e8d;MBgir7a0 z@s1%qYbzimMVvP0omW~f9WA-Fn#V~&Jx$y7W@XNLYX~F^itCV>wGw|`<=|D~@|j;%L??=-3O~!+S$QP2nuFLyC1ecG zF%vV}9rOh@s_2qgRs#zr(SBR3FlTO`*iD*R-Q9q$eexO8ywSHzeOs3bO=DV$8gI;5 zc(v8!pBr0Q%Hh0bNTh$CAVeUIB=nxw+b;P%FJ^PQYVyy91#^UT{2d&zv+sLyd%^G_u)Fnq{boJQl9H6i3nlMukm@pC%a2!Ol4Bn!a9~VF) zTCvP|M-*o#YOJN<3-dV8TGXjw%F^O4HJ&ms>YL>~@O<3SOBxyOnY613XGsFp8yp-1 z?h{Azg}z1N7C^*yCk&9ISldM&NB-h-Rj6T|$l_yCD4(5v(^n`!fQmnrFhA8tMQ~bl zU>E(k9(@^0y9Sxh9lfD#Gx`p%hnx{z)ky@|SSg0|Ty!^l)!vb2`yDwaN$YDu+_Qlt z76UhIJ43FWPW2kQH~JT7Wj0*n#OU*?WEyQWsvoMyihP= zOTxbGoI5`GygqlCo-%}mn6k(&5AxQ?4v_&*{UtdKo+_lnI;8ZF8Ru>fdWi^r zs2|wTAx{15x7wXReIX#+hkWi6yUhVX~XHl-QaBDlUP|lT><}$^GGG+LyzIM zL7|Vjwe>=<&JVB#TQ7&6;%lT{+NDi2O&m+{YaTv?M35D+*>52zUKTPIjo&5ba!~4O zFvArw87}Q&JGV3)jhv!2q?hw9RaVH!R50oGT6 zsQ++>EBQBCMN7)2PH0=`9&LItD&$}R{vh6p`N{9}Y!RP?j#d+Al<$TBEez%fd!fR;YP?fS& z9?W;YlX9MVve;^SKXTmjnCAK9CHHb%1-N5r1{rZSsxFEYHnDP;_}Q7WrkN(5rh1-? zI2NL=KqoTx%xVD~xFh3*KSQgsH~re6lwFPD zogSdNpLXX-z$tI<;#=>N4anv%uR9}eZa4_}h&HeYVn6F*+n0CVKzmX+J5z?GpIvKX zN3I%5-JipJ0lk*IAuDp0?<@lp5r18rW2(IEWs18U?T4+snedY?yfGG3;R1M4sXq__Cple|3Mb{EkOR135($L+ez& zy9z5fcgUJmDZwhF-W?SJi+J?S;xw%bo4vYZ&P{xrdti-q3F{V4@brr=>pim`FGd{` zi;v_TtgsP|clUk<5!Dda$2!)>1#6Sl8eg|t!KGRz7~tz9R|VXy&-6ty>vuxAU7SbE zu+X3`m95XF(WS=Iakz69AgcwTJB99w6XUTa&3vz)Fm*4ZC_Ba&ze;RX02FS}T=eQJ z-c*}oYB~bcHnV61ZQ4KYnkrwEhc?A_j&idGEtZVA8W zM}m%oeYv{wh`6WnzHv!%EtUl?pTJ%bc(8u4agEPa+}B^Z zvMSDYLIp0ff$g2Tl=mT$Y$+R?&0fHEGRHg|*P6F{nO+=o?^W#sxRuqzYq2(sD;yu2xJtKq?Ye$ZEg#zYr+nDp-6jq5E;Ml6%_ z#&r2+SQ7;kmh_)R@DJ6L?JvyGom@V^v{=&eWTucD7vvWuXeKOT2aKxnw0d!u1Zbv0 z@ro=3`>{qjNA6a{!x^$;-s+=vwdJ>Wka3Vao@#yoqp4Pwa(thBHNs{x$16DLI1USD;zwOw_Uz9!WwgLv6%&eDME)0E37)|F5pY1gD!c& z-itW&#d72@qzj`h2E%ZSC^uUDo`UVqi-Hg-%ZBFef*xpi?P zNYT{TW-`=?3BFd0xV|ETBlE`UGFg&gS|m<6>GQ3Nm)a-K^|0;eu!=Hh)P3@hh0ZBM z=ul!;r6SjkW}_bM2u(2FkIg=>NX@Bd)l)ih`sg*Xtd`_UgrP=Q)yrH_*79C-ypSC# z&Li4kTxQuu$SH@2vQy6gI=7?qe%x%$-S{};_Qb_Uvb?D>IuJdw%Fhs!>z4G0K!{4) zE6->HO(IJNB6p0_FTn6MoBx^71X_;KIa=q~{wSKFP!Tju`YGwM&_Ucgqi&ujDm)?7 zr&w$uG4&Gf1xlRo!q=fMkY7=JRDN-#L%7Os<`@iFv6V~ET^q;~R01fqd$l2ljY}5U z%EuKR5?F4G@X<<7f7iJf=XrRVKZ_ND(on`(Pp@&YG@HiM~6r zE|x4>bDZ!fazX9ii$?(Ozg6!6YC?ZqNFYc2-~N0h zEYD9TE-eB$>i(b2Izej}ziBYa13qZq{`0RZ$NSsC-hVfH#V;)`A}lBW{FMkW!nX#1 z1?#^qKoaL)*Eiy1z~A4r9sjNcAm#Iy7Oj7^_)87)?-~MDW4|=q`_G0yiZ%fQ;H_&c z^Z@plcYtyG<}dqk<#^)(*4@A8Q2qb_EU?Y&Z2@Y)BF1L={JOgOwzjXdEwuk#oD7&i z)*at?3or`U00M>|=z#AWZzjMJ@(%>SVlrZYDg$Oe^kab0J(MRNkpLwP%!vV8<^Mp} zhx;QsK+f1s+sy3y?f@8Vsa-0#8_?G{fVq4t8TjMM@vg%CBbtDvrQNqwT&r(ovjKuA zKZS09p?jA7r_lgLVFiE}`hg4h&hhRf`Xls@>RP10;{kBzI63p%+Zh3NJI1;{b(nz} zcMg?pKL8jO0H0@o&yOp|n}g(!jN(5i|2#Msspc-ifJtn`_^v|s6Ym-6AMum`<6@<6 zBkZKFYyWSxXy9Is*c^nQ0}R0e;rqevpQt6z|A_h;P#lEc)>hwK=f4_-36aUWYJl}B z0{medKL7#WIo=R#{~ME3%2HR`Ovo58uf{s|KTARa_xx$0%aS@^Mr8pr`k%&v1R(u` zVT;;m0}NTgR^LX<(p+E4($du4>d!;HUTUR>2nZiu0Bra_r>+j*-}?jfUsnC2NV8p zU;FpXZvtG@<|iPm+J7%`1B~*m6~Ms%bpf8Se_h|+VLVgBMA`W{yQXL9zy_W>+J{*yDu;2&^)_sf1)8wK>p z>R07_U@Bl0=$};YjQ;`E-)lkxlL3q7{v;bQ`v+v-@9Veo3cxJD>a0Im1}*+E%lFay zFD3z`jro(H)cPL~{H2r$+-+bL%AcsoHva(iziUzg69EhB{Ul;=_>Bm7CGd-d1I5#U zX@JGve$s$B{YLW(>|Z~ezma|eW&#$~`pE?D`VW}?Mq&$?30QjPCzH76KVbTwrVFgW z@)JM9`#1a_M;!i%A`9@10Ba`vBvJ|Zjp&!j`8DJNj0v2v`xBEs?C&uDn(*(?|Lb`L zob>pUL^ks8NdAYh0_Xbugsph@cd+04{^!R8@S&`qnCjX88MW@7VyvmABOo! zC6o6X)epP*Wm^Bo=l~yZ_z6E>@EiOuuz$_$@5dd0`wtvV{z))W^c%tdA+`+6103P} z$&*#`I}h*z;qQzeIBN70xuEJ$I}RNF_zC}_^6%jPnt{Iyh5%Cm`%!*U iX*K?PVff#?Dz7EM0egsVfip%BBxDef4L}nRkpBl-cU*n| literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..f3b1c1b --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Sun Oct 04 23:20:16 CEST 2015 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-2.5-bin.zip diff --git a/gradlew b/gradlew new file mode 100755 index 0000000..91a7e26 --- /dev/null +++ b/gradlew @@ -0,0 +1,164 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# For Cygwin, ensure paths are in UNIX format before anything is touched. +if $cygwin ; then + [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` +fi + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >&- +APP_HOME="`pwd -P`" +cd "$SAVED" >&- + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..8a0b282 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega