You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@heron.apache.org by ni...@apache.org on 2022/01/05 06:06:55 UTC
svn commit: r51910 [2/3] - in /dev/incubator/heron/heron-0.20.5-incubating-rc1: heron-install-0.20.5-incubating-rc1-ubuntu20.04.sh heron-install-0.20.5-incubating-rc1-ubuntu20.04.sh.asc heron-install-0.20.5-incubating-rc1-ubuntu20.04.sh.sha512
Added: dev/incubator/heron/heron-0.20.5-incubating-rc1/heron-install-0.20.5-incubating-rc1-ubuntu20.04.sh
==============================================================================
--- dev/incubator/heron/heron-0.20.5-incubating-rc1/heron-install-0.20.5-incubating-rc1-ubuntu20.04.sh (added)
+++ dev/incubator/heron/heron-0.20.5-incubating-rc1/heron-install-0.20.5-incubating-rc1-ubuntu20.04.sh Wed Jan 5 06:06:55 2022
@@ -0,0 +1,3225258 @@
+#!/bin/bash -e
+# Copyright 2015 The Bazel Authors. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+function set_untar_flags {
+ # Some tar implementations emit verbose timestamp warnings, allowing the ability to disable them
+ # via --warning=no-timestamp (which we want to do in that case). To find out if we have one of
+ # those implementations, we see if help returns an error for that flag.
+ SUPPRESS_TAR_TS_WARNINGS="--warning=no-timestamp"
+ tar $SUPPRESS_TAR_TS_WARNINGS --help &> /dev/null && TAR_X_FLAGS=$SUPPRESS_TAR_TS_WARNINGS
+ # echo this so function doesn't return 1
+ echo $TAR_X_FLAGS
+}
+
+# Untars a gzipped archived to an output dir. Lazily creates dir if it doesn't exit
+function untar {
+ if (( $# < 2 )); then
+ echo "Usage: untar <tar_file> <output_dir>" >&2
+ echo "Args passed: $@" >&2
+ exit 1
+ fi
+ [ -d "$2" ] || mkdir -p $2
+ tar xfz $1 -C $2 $TAR_X_FLAGS
+}
+
+function test_write() {
+ local file="$1"
+ while [ "$file" != "/" ] && [ -n "${file}" ] && [ ! -e "$file" ]; do
+ file="$(dirname "${file}")"
+ done
+ [ -w "${file}" ] || {
+ echo >&2
+ echo "The Heron installer must have write access to $1!" >&2
+ echo >&2
+ usage
+ }
+}
+
+# Test for unzip dependencies
+function check_unzip() {
+ if ! which unzip >/dev/null; then
+ echo >&2
+ echo "unzip not found, please install the corresponding package." >&2
+ echo "See $getting_started_url for more information on" >&2
+ echo "dependencies of Heron." >&2
+ exit 1
+ fi
+}
+
+# Test for tar dependencies
+function check_tar() {
+ if ! which tar >/dev/null; then
+ echo >&2
+ echo "tar not found, please install the corresponding package." >&2
+ echo "See $getting_started_url for more information on" >&2
+ echo "dependencies of Heron." >&2
+ exit 1
+ fi
+}
+
+# Test for java dependencies
+function check_java() {
+ if [ -z "${JAVA_HOME-}" ]; then
+ case "$(uname -s | tr 'A-Z' 'a-z')" in
+ linux)
+ JAVA_HOME="$(readlink -f $(which java) 2>/dev/null | sed 's_/bin/java__')" || true
+ BASHRC="~/.bashrc"
+ ;;
+ freebsd)
+ JAVA_HOME="/usr/local/openjdk8"
+ BASHRC="~/.bashrc"
+ ;;
+ darwin)
+ JAVA_HOME="$(/usr/libexec/java_home -v ${JAVA_VERSION}+ 2> /dev/null)" || true
+ BASHRC="~/.bash_profile"
+ ;;
+ esac
+ fi
+ if [ ! -x "${JAVA_HOME}/bin/java" ]; then
+ echo >&2
+ echo "Java not found, please install the corresponding package" >&2
+ echo "See $getting_started_url for more information on" >&2
+ echo "dependencies of Heron." >&2
+ exit 1
+ fi
+}
+
+set_untar_flags
+
+# Copyright 2015 The Bazel Authors. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Heron self-extractable installer for client package
+
+# Set help URL
+getting_started_url=https://heron.apache.org/docs/getting-started-local-single-node/
+
+# Installation and etc prefix can be overriden from command line
+install_prefix=${1:-"/usr/local/heron"}
+
+progname="$0"
+
+echo "Heron installer"
+echo "---------------"
+echo
+
+function usage() {
+ echo "Usage: $progname [options]" >&2
+ echo "Options are:" >&2
+ echo " --prefix=/some/path set the prefix path (default=/usr/local)." >&2
+ echo " --user configure for user install, expands to" >&2
+ echo ' `--prefix=$HOME/.heron`.' >&2
+ exit 1
+}
+
+prefix="/usr/local"
+bin="%prefix%/bin"
+base="%prefix%/heron"
+conf="%prefix%/heron/conf"
+
+for opt in "${@}"; do
+ case $opt in
+ --prefix=*)
+ prefix="$(echo "$opt" | cut -d '=' -f 2-)"
+ ;;
+ --user)
+ bin="$HOME/bin"
+ base="$HOME/.heron"
+ ;;
+ *)
+ usage
+ ;;
+ esac
+done
+
+bin="${bin//%prefix%/${prefix}}"
+base="${base//%prefix%/${prefix}}"
+
+check_unzip; check_tar; check_java
+
+# Test for write access
+test_write "${bin}"
+test_write "${base}"
+
+# Do the actual installation
+echo -n "Cleaning up symlinks in ${bin}, if present."
+
+# Cleaning-up, with some guards.
+if [ -L "${bin}/heron" ]; then
+ rm -f "${bin}/heron"
+fi
+
+if [ -L "${bin}/heron-explorer" ]; then
+ rm -f "${bin}/heron-explorer"
+fi
+
+if [ -L "${bin}/heron-tracker" ]; then
+ rm -f "${bin}/heron-tracker"
+fi
+
+if [ -L "${bin}/heron-ui" ]; then
+ rm -f "${bin}/heron-ui"
+fi
+
+if [ -L "${bin}/heron-apiserver" ]; then
+ rm -f "${bin}/heron-apiserver"
+fi
+
+if [ -d "${base}" -a -x "${base}/bin/heron" ]; then
+ rm -fr "${base}"
+fi
+
+mkdir -p ${bin} ${base} ${base}/etc
+echo "..done"
+
+echo -n "Uncompressing heron package."
+unzip -q -o "${BASH_SOURCE[0]}" -d "${base}"
+untar ${base}/heron.tar.gz ${base}
+echo "..done"
+chmod 0755 ${base}/bin/heron
+chmod 0755 ${base}/bin/heron-explorer
+chmod 0755 ${base}/bin/heron-tracker
+chmod 0755 ${base}/bin/heron-ui
+chmod 0755 ${base}/bin/heron-apiserver
+chmod -R og-w "${base}"
+chmod -R og+rX "${base}"
+chmod -R u+rwX "${base}"
+
+ln -s "${base}/bin/heron" "${bin}/heron"
+ln -s "${base}/bin/heron-explorer" "${bin}/heron-explorer"
+ln -s "${base}/bin/heron-tracker" "${bin}/heron-tracker"
+ln -s "${base}/bin/heron-ui" "${bin}/heron-ui"
+ln -s "${base}/bin/heron-apiserver" "${bin}/heron-apiserver"
+
+echo -n "Uncompressing heron core."
+untar ${base}/dist/heron-core.tar.gz ${base}/dist
+echo "..done"
+
+rm "${base}/heron.tar.gz"
+rm -f "${base}/dist/release.yaml"
+
+cat <<EOF
+
+Heron is now installed!
+
+Make sure you have "${bin}" in your path.
+
+See ${getting_started_url} for how to use Heron.
+EOF
+echo
+cat <<'EOF'
+heron.build.version : '0.20.5-incubating-rc1'
+heron.build.time : Tue Jan 4 08:14:21 UTC 2022
+heron.build.timestamp : 1641284125000
+heron.build.host : primary
+heron.build.user : release-agent
+heron.build.git.revision : 0.20.5-incubating-rc1
+heron.build.git.status : Clean
+EOF
+exit 0
+PK ! =ÏJëy3ì¢w3 heron.tar.gzUT ¦Î ¦Îux /ÐCm8ÿheron.tar ì»T][Ò.»»³!îîîîîîîÁ]»»»C.`ÁKîNÎéîsºûïûþñþî;Þ»5ökVÍY¶¾ªUÙ¡£ù·à`geýù ÿùÛwvff&F¶÷ÙÙY@ ¬ ÿáêìbè<òBÉ?*÷ÿAGïdjcjèlJçihkóïó?ë¿ð?#ûýÏÈ ~ùÿß>,Lìíè\-mLèÜL-íí \
+:&:VZK;cW#CK;sZ'cF
+¸?R»XÚIU\MRv ##@UEÀÄÀÄôä@SÛ: yÙX8+ÐR¢²°wv88YÚ:yþiÉÕÙÔ ¸ô{¸ÒÚ¹üÀÜÒ
ÎÉÔÍòwþ©
+ÿÀ ÉÅÕH.ÜÖäÿ¶AGodi÷oÎÿmügd`dù
ÿÿAÿÿ|*hMìÝílì
MLè-þsøÏÄÌÎôwþgfgeù
ÿÿñÞÕÙégÚ¹-à^d,MíMM .ö S ¡1ðCÙÞÌÅÝÐÉ fïjgU ÐR
+*QS :ÛÛí ¶ö@"c{;'K#Wà
ß6;ÚÛ P65ý¹»¼¤°(ÀÌÒ滥óolÀãÝ-],$Î w{'kp'CËÚ ,í7läs257t2â<ð`O'Ks 0 9ÍÂÒxÊ=Åþ"óoûþ~(POO{×ßÕøÆ¿ ö{nd¢c P <¤¿/Rqÿd¶5ôØÙ» êo{L=M\²Å²u°±4´3þÁü»f=( æï{عÉ
ê°7û#ÀÐÈü ,\\¸èéÝÝÝé
+KgïdNÿíèe&S¥
+üª©³3ÐL®N@ÛyÅ´1tÿá¸þùév îN?ò&
Ùù/ÿ£wþf¿HTú@{þp
© 2@R $¨,©LPTWU¨*) Ê©H*ä Âòr"*òrÀ@PNÈ(-)'B0Ú
+x©Ó
bZþ°¤©Ébè/üßÜãì`jlifiTÍÎÜX. ÌíÝq0u²µtþáPg &À°µtùHÎ@ÎÐNFRNÒÉÔÐÄÆÒÎ@æÍàKgiÐÐzHÉ~¬t¹°ÙÁÝó%PI% ·¥!°j"óþ±
+äUÓWýÓêo]WUÒîãý76_ ÃèÿÜÎÿåVNp@¥-Lÿb¡á/cõ§?µ TÔèþM7Ò¹[X[üä£Þü©8?ÀðGM-줢NNöN\¿m÷ã±p6u¡ùil;ûß7õ05vuù}f?ðäGÈ)ªHÐùÈ~îçaé`~ÑÔ(ì_äñþëæ¾?ÁëÇ?l
÷c×ß4ÐUý3Èþï+õþùÿ?úþ÷Ïò?3˯÷¿_ùÿWþÿÿåÿ_ùÿWþÿçZ vYÿµþ7ù
ìÿÿYÙåÿ_ùÿWþÿgùÿ¿þeÿÿÙÿ·tÇàZ»·1u1uþSº·±Ð:~>K6öÆ6¿A*ý¥ÿà·Û?lÝ~üãòïpü÷GJû?ÿÿ÷¿ÿ,ll¿ðÿþÿÂÿ_øÿÿÿSøoè`élêäö?ýÏÿ;ügf`øþë/üÿ
ÿ¿ðÿWÿïÿÿý¿]¬ÕÿTTURû»ößo½¯í? nÿÿèú)Ê
+*êIÊþME^^Fùwæ?þôNVTV_VRî¯;õ÷.Z&V6Yßß5þ+BA
.ZVF& áÿE]Çßµ±ûK»ñÏ6:STXåêÉ+¨(óÒjhpÉz GcYS jz*[zòþMHÿiVÃÖÌûw?ùþzü>Ôðý8í%ûÕý5þyý÷oøýß³þcdÿõû¯_õ߯úïWý÷«þûUÿýªÿ~Õ¿Æ¿»þû·ñ/ê?F6&Vf¶¿ÿÿ_LÌ¿ê¿ÿõ§
½348ÆOw!2?2Àÿ#{{`7t ÿ¡Çß"ÿÐÁÔã¯Ä0?wíöå¾:Î@A@ðþX_ßÒÎÒE_ÎÁÓWn\jP cýà
Ò`,M¥¥ea~IÒª Kìʳw©IßhAå#Ç4XqFOÕWÜÞö
w~÷ É$¾$²eSëNW=z,Ì^ÝÍñGçÆuâåe½Æª>1ɹX-õÄÐ3ظ¤xG²](zl&<ét_¶ã
+dÕsÏöÎJ=TÕ³å`v³øn
w¢8
+£óy<A¯°úTíj<c-Æ$+K®&å£70|ê88pIb§úÑsÏËÍsq
+9r¿\¤ö^?ß{±?,2úÄþ7;ý0jàé>p´þ¿´±.ÐPàÝc<ZÅÞ
+ì/ø¤e
+
íEIËPÌIñ&"ÏðüßSª+_Þ0SÃð¦9oMñ®=Þû@Á÷¢ÈsÈvÉ|3`@Qåú@ ðVÇ\w
+¬Á Ò.N_þÌ¡£]K=µ5ΧòÁ3zö4¶²çS\5ë[ø1dÁ£*GCy¿çWC]L¼Û®º#°´FY$|h³1úÃcúS{Æð"or¿ÛoôË&}¥O19¾¼ã¢ôFäceÀòrïY4NSµOYé¨eè踧8;ù/ÂÈXMÿ4kt¿ ÈÙf¨ÆQ×Þ&&L lÍä>
WXÄ5Ké¶bU$Û1"1ö ÓÅ]:½Z<«¯ý¤ô°¹ MC±Îl¤Ì´Öùmû5ÕF"SP]éO·ÆkÐ]©ñãfìV®¿¶Ý~¢
+ú¢SMN2µ°ÙØSÁ¸~÷ÕôÅ®ð}.b
+õmÜÒU(¬â7Áòs¦§CõÉuú?á¬õÜpvò_Ã_µ5Öç@Y_@A;±
$AðÆ,á²°á³áϬZúVµ4£ÙìUìôuÝwy2OðI±¸_ÜüGfØ¿<£åbÚF@ó#*wm&¿ÏÛ/ÁNÔSÒ©{uøåðÊUYñ¦·*DËuEÃæB.G&OdÌf¾>
+)0áű?¡ªJ{°þ²±ZA¢£ÏÚn(dùeÀ;5Ekõ3ÞìåëƯ')sgÞ»nú£4¦ûüÙÕÆmzÀ§@ìºÚÐÉÜÁÐ XÏ:xê*ÊJ
+ t¨#\$Jà[Å !7SbEêc'¸dʬ|q£ÁøÞTº÷Ù§Ç×þkáÉ¡{JbÞÃA¯îÃuªQ ¡c¯^7Ï?é#Óds[%<BÐë¦|¨u |u®W¢©ïÀdÇú[utjsjlù+ÒoâT+is»í#0×ÄÞ·FÞÇïØãù+_ Å°Gp£¶¹æóÝ
cðÂ
Ìæ= ÕÑÄacYpiO·+I¯ÝØ´@d[4ç*ª±×âètÔs°ÍR×32¥;R°ÎÉÕÙ\[ì¿?pÇ&Tq1§ìξ#4cà¼)²Oú.'6ãXòé"òûn)5ÜÁ³¢¨ý[q5¢ááñûE¨KQPùo°Ê{»&¥¯Æ¥0XÉçÖeê?¸Ww}Õ£ÿýç<¥z$üä¼bl«8nÎqmlv È_¯ËgA«lz¢è£F¢IÙ%|·=!cJÙ)rk`ú=<¥µêRm[²r`®¹öôã`
yÐ0·ÏkÂ,.:~ÃÄ^Ô¾oMyCq!wJ4m³tQQGôMédOÊSÉñÄ´G<v
SÌWåã-*Nú§&ê¨g;ç:ËDeQ§)û±ê»
+øÜÔjcû´}ãè_>"ÛGûiªéz¿|í1=.IúP}¤ÆúY÷¾XÞÚ2Ûíðî®*BU¤ªûþZµ%wÏ6f~'è« (·@[AAd6ª<nüëN#xûÏR(÷ï¼"¤-ùÛ£ÃY[° tIJöàAÏæÍÐH£áÆðyÎ,¾À*âf¡¸ïÍÂÖ]Likæ.>S
5ÈÙ·_CEÀ£¯_
?ÎeÙtÆDz£>À.¿àLÔÓá×â7ªyÏöN¼cóã´øMDøaJúx}rA߬þ´³Ò\¸6ùÔJóBɬ§?/
+¨Ê ÐÒêsY(XpÈ Ó÷âØ_(
ÐnPH¿
¦«V0~Ai³+úôä¢ J"RìÐïS쿶:`9º LV¦&fÒl_H3¢4ÂU¡½h´4tiûUn0ÖÜ:zºð´Ê¦ïûßÁ¼lQ¶3ðÙß^Øÿ$Ê\\!¦ª°n=Àâ?ïøE8±E©
©¼ AD¿æÝ,9I{ìý}³^bçSÏ×KçúKr 츺1LN5cI+Q5,BËcCJõ¼MfÙñil«êûOj
"{uArªS0ôäôÏ®ýDÕIZýAÓÐÙªhÃt7>jÚëA(®âÙ¢$-bÚA]0Ã
+PþºÑ*¥¨i¾¶F¨Ý£³â=äÇSüê_yéI<gï¬
ù´?O e£ëÇLÐ[>V´U=Ùp&ì5|Q¿^t&¼¥«®WSÆìNg?4ðá)Ö2äɸátí·ðÆI"è¸À¼B)ª5ïãä×{õ¡ãû"|)-
þÍ. FFèúÏO³Ï©v/ÐƽÀ翶³±®â$°Ô@kè}.$ó÷¶ô¡¢Ò
+QµàM^î(§!_ ÿùdü/ÇétLý|WÆ2'=Î<ã¾L¾[/³¯ã[O#ïkùZäm¨]²ÒHT¢SóD· 9íAkÊ=HyÂDGâäyÖ^È.ådÊÍ+;TbR
+fT-i½ÆF3Ò?OÜ^}c»Ðái3yóZ÷IáSÁÉÈñ%&ß|s¨æªw >Í©íu}|`4Á,Ò½
+u :¥0ZHçÜÕæM>¶%íLh)ÇUTãÉp
¯$key=R¾] ÉÚ2³s²%Y±ÆØ$·¬KXWÞÿ¸éÜq~GIÉNJbîv¼h¦»e[`HsÍÞ"þsh ævr @@þ)þu4{ÚªÝ*ïºLvxJ`²ÝÕÜ <x¦É¼h@6Ùgx¦×Xìe¯Ë;Äfý7pÜ)>=ÔSMMdd8¹@ÕK´ë/±ùÞ»¹A-UpYµOÓèty=cñ]Îá5=a¥ªµHáÃD£8<6vwv??n}ÍÁʺeÂ*F
]0%eYé36~ZâáçeSJqè×óä?³¯µg»e·àO-n45kÔÌr6Þ¢²®ÚWÍ#¨×Ὼê©ùÒ ú¶/¹ü¤]µ<êábß>BK[J
¡)sçÜ͹·{Mg£ãå6v
+ò[n ¸öÈvLÁ¬Lrô§nnv:Ñ>}rÔOUÝs7o1«²¾¬·`wYöM£2`Y4N </
ÇP[3KÇ)aÂ6äèP-+Öÿøb6ß5&"?ñÉ_3»»XÐgO4ŸW¥ûLÃK¬é®kOímôb¿æÜtÜGF(=ò©pqÆ·»ù²g[æpH`H<þ£ÈÆÕG¾P<ӺݾjËÊ.pÛ7]q¾Z¬o¥÷QÙÁ&PæyÄ9Là±S^Já>Á÷£SnÌ »£\ºáP
¯º4Ýí`ñíÖX)1ô0X.¤SX?}µú¦-ªLkS=^®9úÀ\Üdq91ïóH HÔèðãLÞÚ¼yOöéÒcb£ <%B(çpQ#¦·º§óÕä+ĵr ÒCµvï«IéKDqÏ;ݵ:ÑJ<i¢£Ëb{ÊØ6¾dûfCwöZ§óå½ÇÚO/C0ç<by"k,qÂ%Nià[\üA ¦2YÏ°)ïNú¶Ü,çаÄ=i¢qw= ðÝÕα+*ZºÊ
)b% ~:ål;X{¾"l¬Øm°O
Ñ_$V_Õ4Ä>ô ÕX=%Y©¶½e@;}ø"µ×o³yDt+ºÏZQOвo÷ðx?ÔÌ¢ñ<±ò¡*u¼»I g<ÒMKeÇ1I
+/M¿§ÇÃy»òÜòWòaÌ0ßá+übxDáCÈÙ¹¯áãúY´:æÜ%çÔ|)vO¨íªòYlÀl1v}1ä[º´¢¥¨aа#Xz$ødaKá ¸}G¶Aé]ÇâUÈ'Æ÷U¸¥H^ýü¡#qÅè2eùÜg.«GZ'nÉØÖqðïäºasÓ`uJà·38<Íq¢#õX,¨c¡ôÖ
+Ð%Ó¨ ü̾ïä`('#±è@_½dÙ!¼ÝzÚ]fYù5{°k}çÊùVnö¼*©ÑqüAQÙî ÐɹÎ[Wpøu¶éNè®ïbÉrÛ³# 5@ü"\äé ñÙW»Äè/âwâ6Hk[Læ&Û,í¦{·Ð^øÖW7Fzõ¿Eq
+@¶îÌzȪ\|Ö|tb×]9É];áÿs& kõT
1
!ø×°f2m/1jn6zÜ|\ÔÜB¹23Ö&ê)Ѩú:_ë£×1.
íÛ[¯j÷·>ÿMG÷sz¼·è/t{ݵþ)]ü#g]·ÙÓÞW;+Z }®ë÷¯hR`tüôèÛáØ!N¹îSaȳD8s¸\É¿ð÷Îö,êd÷õe¹RÃx-öé켺sv:®y{ËY~ ªçqþMDcKå@6G´ß
Uù+Ò¥@xȱÈe»õQKT&³ðú¹lïøÕáFçUÒwæÌøZI5dá½Ú¯æ1=´ç?Ú æÌ2âׯîö,Ïv%e¶½3þvw]æ 7
+[EÉPåKÌ*L/sÁ£[¤Eó0o}¤a÷¸:iN¶£i!99cúîzv[·|W¤M{ÿ®Âí8ö"(ïã×¾V¿åÁV4÷Õ:JFg½&ÌõK·¤ ·}÷ZÔ¹å"·ÅydëÌ^îm%ó~½q¬ÑZ¬'¢ªõ6Uépøæ[$v3KUåAríep6Ñ¡¯ýkà¥%
+Ī¼ötëêMjcWý
X rpTl9Kbz0
KpÌ< ë©1-cEW$0+Ï-H`ÄêâðBº\4Ó¯¦RÛÆcçÛÐcB!SÊ Wðgº5vÐ#CÜ`zäáç§(_L°,qâ¸RÜ3×ñBÆAgò7Ö3ïӿ¿`®èÁ¯mdE½Ë?`µnß:k5¥+hAè¨}ÅMýHZõ^MTÏíÞö´½±ds^ZEWáÙö;HWÇ©ÈBð®
M
+SÊËyüýÈlÑC0+À-çfäJM=%}¦ÔÝG5¤ü."À 2J@*qäÝ{EãQþõy¸ÜƼMÝ>E3ëBÑÞã îsfQîöÛV5ëbLÚ8Ã42*¹#ìÙ?UOeSîÔPùÙáÚ¨å5}hTICÑßdÉdjoIíÒù ¨E}ɬ.îø:-,SùyÕ-vØfíóäKZötå:ÌÃvbV'¯P¬CȤòC%Y®ùûdöl$>×:ìjKW!û,òl×YϱÓ'7MÖoÀð;Ãy1pÕ½-¨.êاöÙñ ø½Ù^0¶èâóßx¼÷¿òÃæ/ØT"úîp¨ÚGZÀ9?Ä6Ïò$N»kÖ©,ÛKmº¹í?¹E3d}Ͳ*w°¹©ÜDPÜfP'ÉåÈ£ýðacriÇe%É
+_y°ìêYÃ8©Ðþ0õ802^Z¿ÒéÊ'ëÇw°íÿE§,È&Ò~㱡UµÚóÂ*ôyj9©ëëY¦6¸Çs6±V¸×^N¥"ìÞ§YµÝ¬=¯ßRirlÒ¯B ÜpèºzÔ´§7Uìisiõy´_zJF0QZCòV£W#UèÂv^*y^sö¾í;Tmì|á¼ñïöÙ-KqvãRF(Eõ¢
6t÷z, "[7jg9¥)áD,*døñÍYGE\ð»áâxúcL¢½hf±(Ó8oìî¨ýå¶ [KÂúïï>xp[Vuâ(Q¸½@þ×½ÙRØÛÛÚÚ8ÿ]*yÁ8þÑ+þ\èBÒFÂ3`@Þò³cIÕµâëÀÚÞ²Ý/`¼É=XU·PoÄ1KOg»©Í{ã;bÀÑ3g0ðÒ.µÍÞÿm
eéq¹ð¡Ã¢»8~Ì1§
β
ûe?ÚñQ òèÖ_ÙݸûVÿÏÉ':kîR8ó^dÿÏä6ßÛÛ33ÝóvRàÏ Â@gF
Ðð.Úï
n¤À ÌvZ¤£¤¢Q U¨T½¤Oà-RæÚSò\
+w|ê4`ðïÞfEJ³PA@Ô¹A@Hÿ
x¿J×Ímí¼Ãá´qýE®FHl¥ØµØ·Ål1MwÕÔÚ<ÑICTi cìÄ'®¥5{ywp hbâ$uÅ»z çaâeÏÔ³Hg\9.SvA-¸TìOÄ<4éŦ¨ôLo !N¬ü¼ïoï¯O³[ß}ÞdEò¤öª`Ù|CÌÉ=òRúøÕêq;Åï'Ww}ÒàÅ@Õÿ±²¢
+îë#Íç]MŪ"êvú\ñ>¬TÔ°×yxÝïD¾`ûÃà¨n$ÙtÇÎ7ûMXißÇGíOÖ¼h]ÊöD¢ÓiÂGºaY¬OkÖ×°ñÐÒßQ%*=
$=9«Ù5ì¿kïÿt´®Z·<¸Wè/6á¬àR÷aI¹C3%Jxö]po²d×BW{&