#!/usr/bin/env python3
# coding: latin-1
from __future__ import print_function, unicode_literals

import os, sys, time, bz2, shutil, threading, tarfile, hashlib, platform, tempfile, traceback

"""
to edit this file, use HxD or "vim -b"
  (there is compressed stuff at the end)

run me with python 2.6, 2.7, or 3.3+ to unpack and run r0c

there's zero binaries! just plaintext python scripts all the way down
  so you can easily unpack the archive and inspect it for shady stuff

the archive data is attached after the b"\n# eof\n" archive marker,
  b"?0" decodes to b"\x00"
  b"?n" decodes to b"\n"
  b"?r" decodes to b"\r"
  b"??" decodes to b"?"
"""


# set by make-sfx.sh
VER = "1.6.1"
SIZE = 40441
CKSUM = "d31aa4a22bde58c56f2b81ae"
STAMP = 1714259696

NAME = "r0c"
PY2 = sys.version_info < (3,)
WINDOWS = sys.platform in ["win32", "msys"]
IRONPY = "ironpy" in platform.python_implementation().lower()

sys.dont_write_bytecode = True
me = os.path.abspath(os.path.realpath(__file__))


def eprint(*a, **ka):
	ka["file"] = sys.stderr
	print(*a, **ka)


def msg(*a, **ka):
	if a:
		a = ["[SFX]", a[0]] + list(a[1:])

	eprint(*a, **ka)


def u8(gen):
	try:
		for s in gen:
			yield s.decode("utf-8", "ignore")
	except:
		yield s
		for s in gen:
			yield s


def yieldfile(fn):
	bs = 64 * 1024
	with open(fn, "rb", bs) as f:
		for block in iter(lambda: f.read(bs), b""):
			yield block


def hashfile(fn):
	h = hashlib.sha1()
	for block in yieldfile(fn):
		h.update(block)

	return h.hexdigest()[:24]


def unpack():
	"""unpacks the tar yielded by `data`"""
	name = "pe-" + NAME
	try:
		name += "." + str(os.geteuid())
	except:
		pass

	tag = "v" + str(STAMP)
	top = tempfile.gettempdir()
	opj = os.path.join
	ofe = os.path.exists
	final = opj(top, name)
	san = opj(final, "site-packages/r0c/ivt100.py")
	for suf in range(0, 9001):
		withpid = "%s.%s.%s" % (name, os.getpid(), suf)
		mine = opj(top, withpid)
		if not ofe(mine):
			break

	tar = opj(mine, "tar")

	try:
		if tag in os.listdir(final) and ofe(san):
			msg("found early")
			return final
	except:
		pass

	sz = 0
	os.mkdir(mine)
	with open(tar, "wb") as f:
		for buf in get_payload():
			sz += len(buf)
			f.write(buf)

	ck = hashfile(tar)
	if ck != CKSUM:
		t = "\n\nexpected %s (%s byte)\nobtained %s (%s byte)\nsfx corrupt"
		raise Exception(t % (CKSUM, SIZE, ck, sz))

	tm = "r:bz2"
	if IRONPY:
		tm = "r"
		t2 = tar + tm
		with bz2.BZ2File(tar, "rb") as fi:
			with open(t2, "wb") as fo:
				shutil.copyfileobj(fi, fo)
		shutil.move(t2, tar)

	tf = tarfile.open(tar, tm)
	# this is safe against traversal
	try:
		tf.extractall(mine, filter="tar")
	except TypeError:
		tf.extractall(mine)
	tf.close()
	os.remove(tar)

	with open(opj(mine, tag), "wb") as f:
		f.write(b"h\n")

	try:
		if tag in os.listdir(final) and ofe(san):
			msg("found late")
			return final
	except:
		pass

	try:
		if os.path.islink(final):
			os.remove(final)
		else:
			shutil.rmtree(final)
	except:
		pass

	for fn in u8(os.listdir(top)):
		if fn.startswith(name) and fn != withpid:
			try:
				old = opj(top, fn)
				if time.time() - os.path.getmtime(old) > 86400:
					shutil.rmtree(old)
			except:
				pass

	try:
		os.symlink(mine, final)
	except:
		try:
			os.rename(mine, final)
			return final
		except:
			msg("reloc fail,", mine)

	return mine


def get_payload():
	"""yields the binary data attached to script"""
	with open(me, "rb") as f:
		buf = f.read().rstrip(b"\r\n")

	ptn = b"\n# eof\n#"
	a = buf.find(ptn)
	if a < 0:
		raise Exception("could not find archive marker")

	esc = {b"??": b"?", b"?r": b"\r", b"?n": b"\n", b"?0": b"\x00"}
	buf = buf[a + len(ptn) :].replace(b"\n#", b"")
	p = 0
	while buf:
		a = buf.find(b"?", p)
		if a < 0:
			yield buf[p:]
			break
		elif a == p:
			yield esc[buf[p : p + 2]]
			p += 2
		else:
			yield buf[p:a]
			p = a


def utime(top):
	# avoid cleaners
	files = [os.path.join(dp, p) for dp, dd, df in os.walk(top) for p in dd + df]
	while True:
		t = int(time.time())
		for f in [top] + files:
			os.utime(f, (t, t))

		time.sleep(78123)


def confirm(rv):
	msg()
	msg("retcode", rv if rv else traceback.format_exc())
	if WINDOWS:
		msg("*** hit enter to exit ***")
		try:
			raw_input() if PY2 else input()
		except:
			pass

	sys.exit(rv or 1)


def run(tmp):
	msg("sfxdir:", tmp)
	msg()

	t = threading.Thread(target=utime, args=(tmp,))
	t.daemon = True
	t.start()

	sys.path.insert(0, os.path.join(tmp, "site-packages"))
	from r0c.__main__ import main as p

	p()


def main():
	sysver = str(sys.version).replace("\n", "\n" + " " * 18)
	pktime = time.strftime("%Y-%m-%d, %H:%M:%S", time.gmtime(STAMP))
	msg()
	msg("   this is: r0c", VER)
	msg(" packed at:", pktime, "UTC,", STAMP)
	msg("archive is:", me)
	msg("python bin:", sys.executable)
	msg("python ver:", platform.python_implementation(), sysver)
	msg()

	arg = ""
	try:
		arg = sys.argv[1]
	except:
		pass

	tmp = os.path.realpath(unpack())

	try:
		run(tmp)
	except SystemExit as ex:
		c = ex.code
		if c not in [0, -15]:
			confirm(ex.code)
	except KeyboardInterrupt:
		pass
	except:
		confirm(0)


if __name__ == "__main__":
	main()


# eof
#BZh21AY&SYt?0T\]F?0?0 P?0`qj%|fu?0{䥛Yz{o}53!^6Tobܖ@Uv[]ϡClH{}?0Cz;g=hqFi^o7<8pۺ;7zoO}_5zuަL5eh8**/};{BHٛes-f_c{;,:ujw0*(RI@M+mkuǩ}:}j5K`{ZT-5Ͼ|Qjz{k^ޒaZ޼=wW/zŽAK9A"}ۺvx{qnk}|Z[{xaYMdœ-o*o=5Y?0]<ð|m׶۸=dhl{<Ӫ֥8{m>ri?0?0 	hdҞ=Hj20!h #@hLOE=BmfF4C?0?0?0?0)BIAOFl?rQ?0?0zP?04?0?04HA?0dh@ё#'~J=C4􆙤шh4d?0?0?0?0Dh4a24Li1jy5OjiJ~QjOP?0h?0?0	?0M4Mj`L?rMy4yC?r?0?0?05vRWC$??4.yHVp:s>§.$lBmÍACu;bwg<wqx:cdN "+Z! ֺRX?n?r*??[>+E2  c%QAE0=3[IgV2GS-_gY(##!P֫c77W:6 @ &TEm"Sdf߼_%I??tM?n\̉A">R-0R4`ܵ%^di«Ad$ȣ}뇄ُ??h^s>3!-0S!v!3 $zj|w)HV.++T>4$)N&A$2ͷ垻9Kyޡ~*t֯n4mqV.rC:b̽a,?rQ!5<J5ZkoǿY1gֹmM\#NdpVz,6	>7&VJV*Pa#=fx1YB89"íN|Vm՝7lѾד/͆*~Vym21]63_Ef4b/pI	S)8Vٙݝ?nHIljejͮ%AYCmq2C7[lapg*D^m"Gycj?nx].Aj.B 0,2mxFTlU׳7-K-w8NF+{%gH~+%f}&*	bӊ?r5e@pW[J7uyeݱ8m?0Ѥ%{`J=ڸN©٦Z OKG'ϛ>G߻*FЌr4Y6ҊzhOD+ranQ˄׉gRFX:۾L|l?rfly=sx[evYlv6Ejw24iӫtw{H*TVh*;|n?0ۡv*{>]Ld<2}RIEw$]ZąW4saS,BrB9kf*9O=da^lA؆>|nwV^Q'ȁa>xhmҰema+??TwJ)D#(ɔk*S{XqHkb\rx?rs0,o~IflׯL$~XY=z~n5/P%GL4HPs5Fjw{ȕ籐2|@KW;X͓(h)2"3@2o$y" #*G-dDxGY~K6*eREA2PY֤j?nyt5iiBcg??಩5 OFwSײaW*P~A9h5/*$m0STQ=P\v"#&ҩP?n|(H|oh| $e̼)HQ!ĥ,)0:_{;YbsJ?0=46o̯tҠ(1?n(XF?n)RQXmVV((Gn[XAY1""B*?011R1E(Fsd4$XF1UcUV"dAUUUH*+d`UAR(EȒ"DR(H$X$cDQEDTccDU"HH"mohI.Ed/]4qaٕEF#?nr:ۤ"::3'62TD,l=],cADQklpG8E~Fׂ??Ӛd%؏עZB/:÷CZQ)<CE˃;FKZgBw)!25VTUYAAp%ؼɓo<QѮtf*b0߈W.TSiA6vjrn}wXJm\ k!^?r~uꞅ?r#ק0nHA~m|^j{UrVvmst	y7Wr.E,,nN?n=o]~Pؘx??n;FT.jd~l)2hAhq}Ee?rQǧ:5`SQf[r?n;|YImkWH6{F鷢HlzNBVqu>',V@|z󼲷!WjOF1h.??DB`{QJ_D$4%cwiڶA׷iBK:O䫚J?r?0rԸ	"x	"M (sA89ħbJgA[{7IW+N˔G_g^R0"Pid~zo7q1-'HY=CEkVCG8Zm|`|=[M>AO^|fYJ cFgHP.uo0WhMu'5f??fL:Yd|~e??`ȣ;8ƪ#Q$I#Gj@r::?r6VnRD8o??qDx!57uu(o_+MZEt2C?r?r6:)&DņZ?nnH5B0U|I[DI#zyZi2*r⺼YYַwhLM]Һeuܖ+ZKaf&J3uY0UQme`pAS8zBa!T?nq6?0Q_FTX(Q	)R<s_E.>NLGknǓG%-'pw[ k%EGkȢoP˜}ӨTiXJe!C'=lN;rpv*ݝ|~d<?rU0 0?0*`zg>۪O@fJך"jXo??(F&1f!I8<ndl4=/	T*`څbIA*g6aS;?nl!DW?nd3Βi"T8`TѨHgC5CQ	P|eFW
#":>ֻ?nPVlw>ceȳȌ4&C\gܖ`mQ b8ݦ68}sAL|r2ȍ #߻qqo78=R,>??U&~u/\/|>_B7G#r-7@k[YF8(FL},P$x??%-?nWᾰt|}w(!fgL	G:17&7eQ??lw<8n|X@mdQbGjlOu)hETX*Ty1dK]}FSx#!؄1V<z}?ro	10|cnե?rbz˺^i@hRy>?n6ZyBQJ_*=q@2?0ýw;Wť*qD$1I*8q>}|?0$6!Η^}M`Joӕ^l!AXlƄojlqHfzqؽcU߇V4]ş߯^Yi:F^\?r;;⥐Y}%r7F"ӶF4RBEDy?nb(<8q> #4t8 VƠb.SL*5'=RU>rՆ㆞ݚf2?rfR?rzXf~|SwFv˜|NǾӗa+QJ^iy>EV4I'@-$S7k(B"rE:ⷊМ| ,D1c*vЂRZ37D~{(x3f@G%s{,=IO3%8C8k:Ќ98Epp4iYQ{HB*wf>2ܨ3*ZqЛ_&Paˤ"\mU0pfuHk8V*<+zd[]=jڌ]:L&LƘ<Z2XSF%،I= fS]Nre௿&??2xF&z?rO,<6ȋ3J	#z?n%fN;WI&ൕATU?nR_F	>LXJʢjT֑Q6?n%7,RFtQ:?raAXD]2[vnVYQNdJVZSxG#vZf&ĴN̶z~'|;Id:??[%3|4]n.'Uu?0yu^Vg}nB_wR*ܪUb_anذ=IP6y<ײxwxɕ-dSГ%[sd6\Pw,[CwY?r	9Lװ_?ns5XTyfD#Ѯp"j(ƞ(f*ɶjʶ:V?r>~gyl_jmbje%4evYP`V!C?n0@s?0< *C4Dh.5Hǖm~`d)^k@@L˂Sd̩On-_Ĩ9?rC?r[6صRLۛ?n[6>dVU{؅"ZI+r Ebc)6}><\ŁS'&U%`Ƿ>88m=O1,.DmB)\TAZ<3a#@W%StEeܡN<m4!7n+m%Eb(kge/~$?n2)rX4HWuU梸Պx8k[qv-a}lg(eJ:]@OQ)[l&7ӰN:!wcÆ+Lw*y3xUEƎʍUF7$[r[?nq_+"/f-ЋKճ!P 	3l	=Rf{!)%PL;! yG|,)``=nY<!ۚ0t??O??]FgYx	R`Ԉ$xuHImj	Vt>9Ҽtz}T)証in~N1;Q_8otkb?0ui~w&Tv7"!sYYLQixBN`bAo<Y4ªV3a-ؖfPs@-USK֛[$?rcN;\QMkz9-ue-JW6FƉjwvl'Xa<޹aGp(x?0=Ϣ??5۳??$ɣOoWg4qYy=o D{1;Z]Cf#02o?nFw)7X>F_<??#Xy&'??X#˿tw`X*cՠT<\~ \TBhneWU'!;dxOƍ?? [WwAGQ:r*|0,ؓRX/bW*i+4rQ,jfPdc~I5}q<-HW`ߩcm&xj"pڐ`},!_0opagXɵ5[*I܋y-YҏI'h79zتC?rkuXn#jwDhA?n/oEDFl̸ֶ m*6>lstg*|G>7&Ph湆4xֶR?0E\Ѻ69I*v˝eҹ~zz8qr<`򰅌E&mֵ??WR	3Amgza!qF:q ctblOS'yE$ҤRTl?nκɋD-Cqe??ve_ׅ!Uw<??u}ffW=2MJ}}]t*E(Y[pѣFγݺ 	iAS=*WӋtzhџ̢)(Bb63{OV3HZBT1fWrfi"Eu#\:0G_io{sb?rjkx5Kwx$fQKCܣfhyL{8gWB0y	a3*]Z?rYP#?r3t?nBohD숪??Q^ߋ	)H??=+eQlB"VK}vXOQ>.Y),|Y=1;ُ?0Dw:ҟ> \Wɓ?ry)=_ߒ-238DCԃ"|sJ$IP)΃}6՞p^sVE&(/owxB]4 Nޜ"(?0Xpm:}|>_vsgz?n~2P)VdV}d-'O/hl}M+|M9IlƚiAvSyi,H3˲t??aaaQoc]*%`Cgeȷiee(kwuELTŔ\rZۺ'kx=ʳI_(~(6ۿ^;VӉr8#4Am\<kf	WY?nh8鲄wRTf؋s[SLUf'dYuTQ;SN<5qa*mȠD0#ٖfMSfPY#$a)B/U4(MW݁-	ZT$Nl}TrX()f/&NW3c΄E]F6o@m, Vm!deJ1+EUE*$hQbf²L$?n$j
#?0u٦Ogp	tմ~fzN??wuvx49}~gK Z0i-fi9YB#)cnLkR+?nS#B$\s0OT7y^掯MFf;4c¶5lg Fs	0̔31!X¬*={f6n剃ֳ~ ɡ(HZIU]&3ՔDKB87PDѭx`#7"iC?rhL2$f2(**!B\)> |h-/'7<3GⰘ`Hz,i}*"JNPTT&^>AY|0I>	vpm}52xe5T}s8Ft雇sYFLfe׾᭵[JVI 32+7?rLFJY'U &{T2/m:˴2?0eE7(_)f?n	gw<k4euݍ(nlIaUtKw~7ҩ5<KQiMA3ox5Y!~EvKuk~'`]]:^\@g8WQF+٭*<NT|#3E!ήM??>t2tbh!NO?0JodGnΐMڰ=3Q5bBz(_Jڱ?rYҫZIdi-1kuV87/ oE!Y6'횹ihT|8It(>GB,A:T|̄ri#r}w*%Wtʜh8Q!J	%\M")!V~UoxX>B?r@Nr]w{W9c"`i&?nH&3`D	rKplyNޞwxHƅu фtm>غ2]h>Xd:?r2{{ަ@t1Mxtqg1 6% [)5@[$[I&h`2Bpqa6Cֲq6C".=MeͤqEEY!DY$u;|Kψml8px*ޡ?rh֬CHi;9II^C5Q?r:SżaKnS@tz \'cI!Xy	2\msդGtPInQ4YYڑ3@kV! 0E^NbaF^Kz)3zQVGKT>ǋUNbls?r?r-{f`3:\S",S`D.;0Ȩˣ^Ap[m$VQtt)S+ΣyS(ԶkD>>[u]jHEtFO$ރmp+;gdwD/>o'D}ɡGEpRK|/,kG<FtGL>L(tY8dd}NTA@h-o5oQɕ%(Pt[՘=ݜ3V,0	\@n!jo32/	+O_YVtC̎?r3䂷ᰤ~2OPRjs\i`?nfW0>n̽yUI+e̕r%qHj@YÌSdքQnb-koH̭j>:~Q%K`l,`Hb</FԣU/Ty>촊DAŒ=fsTgެ`đ{a_uŬ"֔trĜQQɥȻ%CΣWSJ[<xd4,gHVJnAZ׻ńRD.ذZ4hlq㤮ӚX=Plj}r^kg?n$rv\ZMqXea{?rAOnn+4٦p0ce# 7Y5A[K&bvܼ	D'Dq%w1͛N95r5 d뜽W7N?0ZxUis#ӯ&?0vZ!G\ŭQӟePt<e6!0D1R#?r۷_ǁTO]%NV=i/sxwR:e3?nJƑyG2D9G%	8cM!̻k.tѐ2eKT7jUx8e7~^DW}l)sRZ'1'/CF7vְP)㭜,M9S<h?n0)[$}CFscs磱FD;uWݬۇDaӈv5U\e\SB1^>Y.%&"ǇNܣ.w>VN4)<.G=(4[=?n96ؐ?0Z&Iu/AP&Ҏ<7d?n:=5.8xϏsHnI;PO"4e:<<uAZY??πz~>+ӻErqm?rv7FrS"M@;t}7Nkj^w&`h3f([ʇNA;eoC@#fOG^:5xXs]bJQ&P} Pd:ePV *UQbłZ~h=*}yqWU"1;\Ae³3HU9[sD@Y/ݜp#<JjCS!u??f( NыD܌2Xޖ;iCİ2<j"j	+j	ňSfu^aD2kk,:12hz_{k^#$$x:K$Y3d$-@)22&P4,bJJK`	`hx 2r%eDU_9`¦Xal̊8Zo50q~+3\8֙ׯ$6X~lxSd꭛Y(/^Р'yD%Hj|DL+I؁&|_9?0*|krtG|j~??KCStÀڗ_a3_BH<#-X`τOn#v4çnF?re3\ygcp;O3:1h"z9GM7#j	rph58w_fTŢ*Z=菠Ʊݔ᪽LҚvЮSϝT+wLlkÄiCQ,>ʤBuI![ Е^ZѶF#F"'wJ.kz6/*1)lK-atQR|v\8뙔:4	!uC,YP3ihw ,{03Eh?0(XWW0i5R}?0DՒjdl	r:kfLI]PjD(Ir)\ /lwD**Kk)@ѭ<zڇ̆R@Usqc]K3kBh*xe3<tc;?rsШXr&e+W~)ߘ{'[Xϡ7<R]Y<pÔ`{߻,4\S!JK2a^'O"{Oui{eO8Ȍ(%PB2O-uEfL[%%ᶘtkiۼ7"ԄhbS>206zzA%rˬ?r{wGE/FBH!0?nF{[.қ?0xtV)B2d ;OQE
#ME뻆4h(]	{t%E},_/= ]6q7]Ӗ t ;8V|q1%RZHyN$Sk2g1ո5ua=`m(Rоsڿq+K??hgukF?rĵOq??1VugrS0?nPx,15Qjyu??{,PnwDd_'ov:ը,amDX~f aъ0/Ǧ|/^b?0q5d/v[8z-WvY <ώKfťg$Xm?0Y&iS3:rs>DVYV,Ќiɛe;|/-ʕEm\S*)AP<]<Tzxh$>9ۢ\5^ܨ"d0J?rЊ{F?r6c5$EP9R$O>DYx<#@ʰ0lmZl3bKo]l "B0YV8	;|w]vH><9 "tL S&1\Wy3zѾE7yC;\B>{tݹUNJ!V(=o>h[e$+Hљ@Taι3`+I8KI,rFJrK?rI.PC#'EyDA׌n΢M|3~)؍c %iB7T@*ajCM[#f&&K7ֵj^<oUxpMfցPA`b-*F%Sa<6tft}\;wl΁E`3,}VЫgd>AX~;*8*bTQbbXRzwTF$\<!lC^D9l(yTwlp@gykԪ~)]ۢ8-آ9$ǰՑ.Bl@*RR>_9eWX!ڑi$*j_#)8%`?n(D:Y<~*P%cy6?r@֑C5V\f2)V@IniƐT[޹G.AdÜ$\*i(D#Gfbd:mwLiÅ,vWuiVAk(Pdh2ubDE8!\'1PLҗKf"BpY˚C7!8?nɄkMd$T3V奩EŽV(5xM6F m	AUB<&QENhllhv&?n*;8MG>yb20uJ{)Q2ѕFN@ᧁpf$(|[oT~ڶF(3p4o?r"ΗmΦJLZZ??uD	'ynvFiP.QHRCSҙ!CYOt*BB5T~0q8ͻ^"??m3+u:.Q׫OkMA<_#8d+&?01TgV }sgr~(&O"cpGN>Ej	d3k,^@M_PΡ$@9NK8{^tXAM$FⅆbM)בBXQ9+(	xfq1O~v&/1Z/;NX&z:{APrF)q,'?n|9M&"'j\'\݇L	$@%EזϠ!whzVEBC$.C	M|.^<"I# TYRG/cvw_wk^Gy?0$D:BLT"\۶[c!	߫;WXhەamvΕvv5G(}WCܒ70E,HxPFQJ>r+зzq>p_Yan??*`uȩ:-_o߀&wmܐյF.AY )y4Z8:6CaЩm͒n5E6Q}sO31*֕()rQnZ>?r^8hHBLhVq@?0>-.R.AT;ծ=OQI^ƹ^7O	m1goY54M],<KϦT)sĶ6bEs$+H:⡦Dl{B)'bou_X?n"ZB*M?0yf6;C&/݌[hTm7ՁY۴-?rqw}O;#.ޥt)̆63w *#Fo0;9xߘ8p-LA[jWHkr;[HNLci{Bn163V˓'N:zٳhC1[x]&1㉓8ϊ`?nL47]nJPe[ԡP?r-,R)D8O_-GKcԝf(WR0W325@6o#WGyKB^C]<~ʤa'o?nsaɗ;??J9KV_|4	i+ϡ(B]Sg.v>Y-VCѵﮨArOA`P+֕x@ABOMI99YrdEH?n?rC;ܜJ+B|{94hI^b̫,B2P&QhݴSgG_t?0o,m@:diʬ$%̏φc	ZYCdKڞ\3@ыQ1 7͆tޜ=8Ny!.GGJOXj74&4wY[7bD9N,E8?rˑ^0_@DAjf\E^nVvs%{z?0]$Kma#fl&\b&k[ʯ)XI><<vQe9ЌS_Y;_2o;1eikgj}XOX~}UΑQl?rmMߖ'jٱ&F/ڙE_8#I#0sP\(ʹ͛:3eB<<zs7:/7~<1X%R?n$OdC.T(jQ>g귏?nwLpJo?0ĉK|YmXa\@;Z^?r&?r5yP^8QZoPj:y)k@<wmqQ*-KvacRr˧cwOuca~_l?rW?rmݵox4|\t?nB"D.Wm;Q>OG5MJJ?0{z^-hc?r֐/:4Y}N`Z( "?0V2MAN'8 -i/:@\S)E[)A<<#wy(nYkͪ.j}yP;F(ªRUc;bVmt	vN(i`RMmxkS´OQMQ??23#`>Y3+oUoˤ/neYǎ-9IrsʣGMGdiKP*062]9pmbG&Q0AE3qg%ۗlFQng1*8E&:L#Ր?r<8c';Mr5MoPҭGZYmdgߤ	X;ͣg褐sقױ>+p;j 	6<7DR'Ejr= Wic6ʙ9/5Ӯ(Z(׼8mR&ABKl:REȁfU,]0JV`{YjvE̶
#h5;\/u||N|16S&fPW)čT>[UB?rL+iH `}a#,Cwv+Fu>)Xvegɲi3lmv#5&ȺO I+܏ȍ<Q;5=xsY ϛ>ë>C`@LhB,dO-{/F	3^UNmeF\7mD6 E:abA|,_a:Ͳf)Or$6?nPeSiv"%׺=x]U!PjQT\si}~C&1Eu9rjkN%'i;c:lQ!aDT#.em#mkTı.<3:5zzoD	Y8#AuV|+?r.E+:;NDő *sd_YsA6:3h7e9?r9a{ٰP+**R $}ŃHϬˎB~Py߸Cgk3qKduXOV	@?rj*DSV?r}rTq\T}u[ds^vkEq/uꝟs=m'Hx6MGޤ(&5׬a@{/q>&ms)/Y>LS^.Qri۹o55Yq,) g׶-N'??=R]ʴ:<ҽ>5xz6c&T=HLuΞnkbFtܒ}RlI&eF*l&vJF808B1"Fmm{ixJ((ND͠vg?r0pFH<DQΨ\XxxRr},ܕymT*x͡=_bcg	-v==Gǯ+6A)whi蛿)K?0UdE$@1t1Z] p~1"rNWӖ`z㋽~od??%y[7wb+La;}3IL_ݻַIMJ#RUv8E9ksC4V/ܱE]r04v3zyR?n A9FP2E0>!yV:}1RA??wTwF7BpVHELPuDmFȤ{6hs?r=w_c1=4Ǧnl/ҿ<.?0HW{<Rz582#MF- ؘ9EW˰v"U"Dbrn2WU;>J'\	j%QfB[)qIv9~#d=C&j|8u8v.*+(,z!?n_9[y[XSdyyрcaLրw	t6Y=*XT<j*[V%؀YkI@-?r7jk$5ٛ;LA$JD4m¹NN??'&k8tIo{*қsK&HiAς?0+ta]\ar?r˽^6D-%x?ruՅSȮi?r7)DsAbֽfƓKSK'WJʮx9#9SW~;&u"f;26l-sAǴ-:qJIUavk3J?r)QH4#"+=DK	zն`$.:Hj-j,	<0<;,N0ײ)sQXD1vf6|w1K%Xg!y]r	uәϩ򿈿]u=*qq$0Rs:U?nqP]Msm7u	aj!'[BcVx[#|jh$1-L}?nےHxZ`pMr=ۍSXٽ?n3lHeRTbG7ҡӈVfsQ\h0hq)r>\pᵤeۑ_	pB1zgXh1Msm@"/AZ]؋$.|$݀Fa-JtXQC?re/M\cpClӖ?0p#o?07"b{d(!`C%qKgi`RB?n46lF,X}UަYaZv2)ɛAbUɢ:z3MA@0HjA:9˟JO/}otDDo3Fy;L@Ūg)[x.@ˢj;Lz	12?roCO)]:9>G栲@$<~їh)5??	@|??NI>Sd7̛omdfYch`4[<Q5]G3D\%̟H+)KN#,73<0g{L9l\\4A=?r*xɮͻe|[r7lq!Î`O13BFgdSPßѰyHALzdi#I9;v9:՜#ݽ#tsru"$I	&n?0B'x2KODțB	;DOwKzэ궷G6d9xwy$>Mq]??|M;$<D]cgȂ?rҕh|yx/Kq@yffa*;a*PCBrQXh0?n,q8et|yz|7}]~cxy+"!d%UABg>9nL-tUj׀\	 M$xs4"Lc"	؈?0}uwQw)'{DAQ؝mb<$"ːX]^P?rC'~O#%g̀>\ATv(F,KAc~(?noIQ>o#"W8vyu?0=b|G4+1?00	D0r4@$}y"(0k6)(?0efLmI%%v(4eh4j=t\Cayňvnh\ds|!u!jS>q<prDnBEl[`$ܲlJXW8|>W<{XMY@h="t&dDc+b`̏	#"h(Hh=)`DlHlge%`4#éz6Ҝ<jXW>(;?0݀7tub$O'ɇ(jDM'ֱ}Y?0%OXZ?n3_cDLmu{3??{Ro{Rhq0bG:+.I Y^Cg;7js$p%nUvMό`Nǆn?rÜ;zʞr`ȳL_.8"x$n;.N/hPliܚ?rP.,\NwSvch^۷YΔ3#hlsɇ>!iYR-Gށ(ɠJ!	Oӟ0i3YFD%la=:Y.?0yT$E#',?0[_2WRbUQ')y&M:hXmaH%D=)jTs'6`#@n"rOjݭv9NFgB*qg/O-D{+*?nExޏoϰ}Rt^0Z9C/O}oHLM6u(ȠA`&j
#9IevB<2ڌYX?0Ȁtd̜|G۽oԿUu-jmMN,dhmV*_[ϭ2tFߡV}/BYehmn_*?0L)˫ciֳ6(g10ziتh+78o_A0V@IBT쨃Ct/jo{k0HuNhV6-Q??7N5G$wTT,k[q ^byk's;S9>/dU?r04GھG%;ۢ4u;ةPcآ?nZ	8KR+9ʨpRWNG?0#(Uߗ_qzJTfmz{!Q<eþKv{|{^(ZOkb&k޺0hYeBֲ||V]r"5jkY)@ 0CfdN!A;~JjdT_xEJ?rilǷ3bg'Ype!>OYpxxV'؉0:OX`fVxDHfmV#p%DHP(qi<=fWhb ̲BCB>P¥_B'O$cHȒ	`<g6~.^,Ŋͫ(Aڳd)yb>@[?nli>ލMui0erxP($_pm~%HU5sGN4+4ev}tDPlXYVmJCOaخF=2$TcRwEA߄DyU^aަ6'h6کED.;4ntyY`=(?0XTV!$kTjtM$SBQwi7,ݩ/)ܪ{?nP0EV#l/uP/k3;#[杻"+؂^i?n@aB08k	(@"^1#Kf?n:[{|??̿Ah:'rb$+@?nU`-	2P~?n=(zy??F??N-rPn5>W/[^ݧb-kxSM-?n?n&._ءxj;Zg??n/B?0@J԰P=1~OEUI}ys<!3O>,rx$C]d	;]>x~oQ+l)̇vtwhZQ77$MLSfձv^$xNh۲Bg^dvwCk cd:Id:%h癪$	Tuu E1S]rcd̆-waU?n?rBJF\Gl6\%U?r"HPؚ\Ȉ(.?rf&\<QXg=`T1RHB,#ͺPJSiwfM !?nC.m{nN;S;YL;W!a#fC<7sluq@1x46k6QgII-?rdSj7d` *x>D2(֦Z?0Quz·N[;Dp.tn\誈Zʛ?0,S?0D=(1"/%}2/UئɳݛۈNSo5E3n$oG6Fy#flv6]ɨ5]ݲ?r&tslx.nԇQ`VX,Q@T` h_,g'￰OSBgI;Xx%GO',2Zm6_L:%Ñ40"<'ێ:??wy@#tF\aҾjU3|4m52VR$&̖h7˚8N2OYɧ}́60&IJd2J)FJl]ԆuX֍܍U%T96%g/Yb%݈@(6Evn郔Xe]:R͏,.b4݊1m<@9<'籌~8	"$ۨ9<L*w-8,pa}?rh4X-yHh6Єuu1 C=П/ϞȻ\Q )fqw܆+&<ؽdݗCV9D|+B2=HQkީ&-THk3n%ȓb*ZN7KMnjV؂nj7BI$egZLX4[$.oV.IlHhj?r	2N/8"y:V]ĕXct*'Mf?nܪ|"vX$i.EUr[٫]\hZ$&n~o	5E겸y::PS5eߋN6Sxdp4(eQ#Cx7/@jm\SI.\Qӡ tPy?n˶cm	0F6(klD?nKhVc+?0Etj᤼?rg;dw*tMq4&,0wӋ )Ȗi&>du8,U*a$l)feibbؼy0og,s~B+Ґ1S"?r?0,=5AEY @EMêHHShb2t6uH\eƠw4Y&AHVoCnA2$,HѦAՖSxG3'S'"Mp]&D0XZZ,.PR7$/Kb??XAoG^[/d0FxLNo߭PF???01bڲ#+8R4pMj^Ca-Pj5	!0RA+??:pjȸdZ(+sPRҧK@z"rr'PxxR`	}R0-?0^XP9d	+N_p:	u_o=o,#$	v"Y!#Wh[Vӧ4`U.iNkӷǯZ:%'vBG5G9ADT`OX{KmH]28!E%Z8cUg`+( N+<(`\I!U1,Gñ*YioLAD(,)!C@bG{u:0jdUg\+ l?rwXj=Gap<gUXn	=6nC<FܰD&(juػMLO?r0}TB>?njЏ䌍)2^K_Xd?rXٍTM]c:Zrf<'0H_et+4+*B { J?r*6!$I\"~|kߣQY<G_U<]#?r4njwnٌȵy5y/:HQKxټOc]ِӭ==[npg͙UdP.噙??Mgǁ8;U5mXKj{DNZ!`,16*-V.æ2"?0)\ԌBL#u~{A(I??yUC`t4=˗}"{28	D%䡹zHc{O?n\z?0zehfg@QLaDmCkަ/H()(Q!	4H0HII<sqrF$E]jW;HcLi0k9(FC=f^\al%C,LqȥF\ɽ b?r
#rA]ܕET"gIRJVfc*VBwh˰>`(RYK\!"lt*M{?nYLt=T7:smSA'0jaPg1w	S-ŒI2$ߝ('-yKRa{<u\!ݣ	:Z$9` uaI~!ԵGU?0f)dfVעm*&q?nV'p"s<-??Q7~[攉j߹$i^z$bOJoVgggWBuLCDuKLiB&_Eu,K=2&GM!ۛ܌<YNQCķHJB{a(aϫZlؕiPIjf/dV8g";va7|7W8=BC~D/yM1*oAo~ۧTBzcW$̆Ce]wr+\mQf̩P{fQ*fMq2 hGQy=/m*561N;.<*Q0\qc??2tC)MP2MT1?0wж6WLbS1@8<Yiuho	MxXk-[Ad鞷-CT}Mc0CbY4,@,Ba9`apd"pX"*b'ajm<huD'`bk4&%,qm6?n(XdIY@RNXI2@"$HX	/`8saR) nɞV=|r?0R?n)٤$AX+RdO5-#+b+vg@ê7,h܆4w,aԒ,&,.5q`G*&fR׿n]s7T&H&X"׊*=&t>C7艔0B=k!aж	'y`RqMDٛ>H-^Uce._-x/an!a `Baēɦ2chLPKEXؚk;Iewb%VaVe'~xQDK%)GJ'd9y}"ÿ'iJ*HM!EZT8F6ؕD?r8},k%H:?n&.ŎK3I&35Ф?r{<{l8ϝe`?r&6;6D?r!oؐk6D(tGb!&gHNZB0fClxc%&^8)a(J)7?rr@+^<K?nE#s9*?n$ 6Ld] [rD@;Ղ٠ĜbOEM&a{$;4/6더m٭I$Ӕ)EͶH{_:9wn6DD;ץ!Ej"L*4&❢)+)eGd&@h`p/u@僾"rr!Gbf~N츰(=H10ϏXuTDu2>?n5&ĊOj~\UM`2R?nT10Aasl	.C`p:i$?rĒof=>^&^v1`[p!ho>Ւ^K%<:?rտg`vnyvN-̝VEC͝PqG-T8?ngp;?n*%@Mu`mc՚ JloCĐCBŕ2kZ-%>Oû;OrQnٌqLʒN\p+d3(Xf8v7M,ʞ58˾bsyW:4ϕ\Vi/xbc%K?n@`]RN+=tŐ+`~FQ;z֬$e=@vgA%\1O*)& mdAhyɜ9B޻Έ`+b<(CƢXEPT@ƎcۊKvY^U(kf*z. -`Hѐ-n;>Ga̺ҷKH	̢a,~-6i0|d^@<<bi"%J%U'!eA4oG"DjGNl{݊jr\_?n,M^vÇƨ@/L"JzGvlc|1/A.H?nIk@FqS0"6V}wƗ]{{$;W&^S'Q1p㬱)r6f(~-d6Lj+K5rYda(ЌdQЂ&Ř&K%z5Fy@Ns;Z+߄Eᕆ=z?0F;IR+(ZK*Ý\ы pfk&Co4},8qpgQ.qXRcimZյaEZe2f?rqXBsR-tXҡSzUP-BE^tт&3KѤ|a:bo2uճ|y冰j~2cO+SEVivJsuV(0"H˘hRa5N?rbrشJ)K`0o& ڌP$çUL4%#@hB"Bq#H1w쉉`煌(o	?nu+ThQFbqM.gNXHȪ$+X#C"W0G`ȅD"w#H>`e˜?rH*ƶcMl%.?n,gD*T,%_8\Cf]Ƶ$ل6?n$|HY*Z_Eiͪ}?n??>(6>).v!ok+84=6]pRЬ?0#Ja^=hI{iEμpく?0bGt30ϗC%70$|??r2$`.ar3EX 0`7n*MceZ5L	gn4??P8Wmqۈ[eEwO=Gc(Jԝo'ԍ	h	??TՏil{av:_5 DHIYBIRsA`s%:5L?r_]S~	{Nӟ؄??B|ƾzN40!Bh(_ 	pGW5`uCb+	((**V6[:qߴ-M?r@"	p\dD)Ť*E;N18"Ď{ʜQJ>ذ%|)C=8,ˣ{m>lE8Y	*HD"j?rh?nK20?rXe;&\1̗1$SH5CG=gN&Ez#Ƥr0C}r_Cu#bhQgvL;#:>|tʞ8@ɥ\iD?0SQCJoF!ya5]YRHЍ̣܁3oW(qIX66߂kiOq!N9,c5waw(LAMjmoM=Z&׎!IM0!A@G3TD`rɳQa{X՝d>\\:!ӹoхȄ<@FRYJJڬEJs*Y?r=5d1qI=uV_q?r	<<!L@"urWqM=@A#xxz-㗝^yv5*a
#)"*H ?rc!PIdY "	a (2e!H$ZRw?r><D:Pr[ LY$i0]ZRH0dYHeNf?nY#%_߻1]'|Wu],AOV$_eFxkAf˛E	bU;PՈbI%bטhX$"X򣯝OYM(a]"V]XWd=8^mEM!OF9g?nEoQaɊԵ6*\ŠDau'/Go < wC,9(c!<K%ѐF$??@c{$6"	C	&WEorPH|a~ADR,Qw4&2m~nc2<t0Z-[y	2S@KCp8G޾dޤOD%j,"̗-GbXtB 91jjh1##~Nw(4w6a(oLLay:&1GM\ʽ߷z;9kKH@VweO7NKj-oi|7$	@)dAWD<&v?r8+LG?rvx)g9??ky\٤фՈմJpE7["ݐWZNsUaS{@d)|Rf,IQ0*$%&$4Aq/2?nAC&e)=F*76h[bD,8n9x<C"ު%@VASNvI.tn{m5c`ݶ.p?n[hmv^#˛6G3H?rgl"+fXWcWj۬wh'䁳fs-脽aF5E!?r?nԠ{|'_&{a?nNEb8ayJ|r5݋$	}) h#jQ+ATRNR[,70N0EguuRx_rqpfQ4D/V<_GdMygCFOp'dtDȏafbƘ/"2+QBAP("/_dVE|8rddDVH̗]y=!YT	{b	?rҤ|o9{xDA!R*N!S?rɪ	F~mkr{ G?nS=>Xg	+ݗ#E$PV)l2s<ĵkL̂}&$ϾgbDuc[RQEĐH@tD^(.4)tsc]bϸl?nL(	ck30*bm	yc6h}j"J(\멙[x:Muc[B>zd??7;X1M1B/׬=hf&`$C??&ck~"غ;!PhŒAF@wH*O$ ~ðyu-O>	>#ua_X֮qAV>+E,D9k|/:f}D+6V)0&N?n]Y\]!K#9٫nxN!á*1jPRi\Vγ-ZEZmAșu[*iդpBdm$IX*p!XzKpavrlҫEj;a41nGnӒR&br[LB$+iP05z4db )c	tWn&sb"VPEf=	Ћȶ5${w:?rrH	DzP`w$nFaӕ@??+!|ΘFf̸Ԏp؟RTൃ{~(KfR	Ic$884"}C$`b(~ TL̌d63lY$dCZC?n'wIٍlͩE?0A%!U1Yf$@X\H@8H:0o2??@?n,FW??q$QRA=mvo,j9J('͆8{xߠl]vrCj x7@C3x5o	B==L?0H@ϐE=2y??Y5ĥB@=[WKO&QHYR~{F?n(剴A7(t/\IGw]8AHd@dD"$x:"s<hyS3ĦD??{Ϗ1Ln%*$mڡ毀<etj%HTLr@?r}!	<eCY2&t9ՑD4i>[d;Q=P~E00WUނqF1׬qjvx<lDqjg&Uyx8UBA6TM*R8hm??B =kVl>~Ps?nѼiP0ʵs.F%(Z$[D0Iͫ\vhC/T}22SL.} |C1ݧ՘sԏ(-)MW0$'aAB?rt`?0jm$Z-|2F!(tF~n4<kz,{qz&4c?r(?n7nESS?n8C	<捋X?rU;i#".%8dʹ!1\~s??l5ϭ8Ix?rWpiE7;뒗NK8ihTx[D|j[F.{!L/V//?nc?n/l۲lcB	)^qG䨗:bٟA]W+Z]6.Sh*U$eo&VId֨?rGKhX`E(Y%?0-Ӫ'bާ%7?0#UoL|$_)krYE" HB$ATD2??}Ђ8T:!T΋!]?r-Acd0ıB>K j::ɂ$SPӷj`_S3\h)wcaHp=IE{}??AcC!ꭹ$y;I!]`nV\8L!Gy`QwU55S<9HWzM#NRŤbb	c{'@Ge"p.aG(5c~u*X?rb?r+c%Rd`dĔkMc?0v!WP.??*1rdJ[b6tɣ7@ p8~^@.{A_w:v@".@  l$`#UHrG1wt*Fj؅ZҬEEF`(}?n'H8އ!rS4:tqZ?r<,ueA'яL.aLX+YC	?r=l@GiQ{DieJWyԲ$gLBIA]TY){D;ܠɎ=E'}˛`*"&E=0@'9{w6_1u2H20"đ=K<>Ð[􋢖q&Su3שp,L9[x+bX"F).3%{ToUdV	QRtMeVBRKѲhFrp>ikΊ35ɸ=$GsՀg!t	@wYuHG?r:54ez??LED])߼OUCFjjcQ$JgyG|LN!NvW$`0?r%H] J??
#_@?nS89k7T1RvU5ib]"Gla!ji40JL񆼧tJ"101<ilRVVȈ1"^EAFɱsi%B1 Q@?r50dAd1FIjd*S+ƱC_^y:;az`H}b"B)Ji<Za:I+64Y,*[^DtRTjeͳʩQ%1<b3BPtB*I9HGMڢ`KKNyy\}֑R&9+L\Zr?n`H?06	`Ia%ОV{0HiXp?r2p&c?0qe$$Y1,+BXYρ{S!k}J`/@+P6`6d"~β`f:t'dDdG7RGӶ1עJ0OpyI'	\Ւbe&fA]>ĵDR$Tjߴ29%Nib=prtp *nv$X0	Eå &|xv7_(Kn11G}\zbtHbы""lL07P?rhj%bC3u>K+Z_\!#?0vA6dV	dRdi?r$4ZQPdc&2leI8?0\&VLi1@A&tF	87tlym`^S9FIJNY۾	T$Æ׌gCݘC͏j$'RHF*.?nU0*VgxSIAkOzkHpMi!zLPbГQ_\_Kpq?nn`D9	ZWP|O~z2) ?nBȈM?n IyD6LEKS{\l;a%"eZqd(?r[@Pg~μ?nm&mNG"C$eE@#`*B$!ȡ/CIrEecٲ"3>):fq^INJ?n0(sz2n0AQraIr>-;`vx>٤LHpM-0JjAĴ+l*z4y%^>,)5ъKݥчaAqEIՆt)HMܥQ55/G,EnX= XY:.G(xbq}~TQȪ@AQ*1<^{ƽop}\|	 ]#z%U8XO?ríC &ey= ?rj1!z"VD`b`??a{q0/`'*??9ʰM<lMDzrN(hPBҍFࡴ6t4>vIO	z$5ѐP6Ea! *#ͦ\"Ɋ]9!-08QYYs*iaO"sĿFxEK'y&	z΁??l?ne$$462VBVHdX?n?nϱO}	Cԫj"""*ssT?n=qG1sv74TdB0Q]?rs(&qPCRVʞ#?0r2aZ`pJ u!lDGЪؼ4-has&7Rj1U@#J?0UN#$v3B$bˆ;bio?r2h"|5^d4Cea7wQaZCNQ2{v7ͬ#|O;y8=XBҠlV8LcȽ,TkqIŤ7ȶ0W?0혴JY2(36J8Eq˂HR<M?rv4h:~9:PwSD݆6JaZɷ`_Wc??yAҘk8F|	)oV\ut|_\TSj>׬[k[x.PQUB"YLԍۢ#c@Zd9Gmpq|ʮz/Y\"EL<D	PsgzqD@={VC::??ì.gE3L0E?nX[9c[-J1*.\fjTK`\v1N;?n0:?rPI0hRJ;YX.{= Kf{H܃~{h@"ȦogGݳ֜N$3zISUUFr^͕Wj+!~'RO&Q/oswb}9<	~/GEO߃}H?rQG%BbȠ1@`IGY-gFI=B'M?0+%+@c`P)JQH(	$>RnVҋ#	W|t=cU>L*O#=T7)Q4 Tfv5SU	NR?rhF`%w[dQܤaH,-Sava $E՜w zO>c3]\>HQ*gIC|Fk϶S/«Rk\^JD#^Y,7޾ZDEbrZ^ұ?0 OW ?0?n$n$:'p:=<o6yPU[w!w#/Y6Vt?0\Z"sIkᐠ>HAF#zd1eo"k??<lkx1HCv%YfR-'70/(7^<ab|+?0c )'.Ij:<3aw0Ԑ&Hl2Epi5uģWǱ9ֱ-sʾX}VP?rQc-_)ZYDem?nU-5	eI!TTJ!]Z.^E'q|pm_,aՒQϕw!:qY\E{tt"A1cTe*`7AHsmK9) ȩ%.Cz??dAqo{9p?06刱R1H3I4%CGC4т kS#IXw6`a  w9I,AYh,*	2)d'`d$cy'}}֨x?ntv(<I,r74OuPݚ61Cӳ:ob.;#0^v}csk\vC.Tb<R@h#lIiM|XT1oGhPGR\[_I??9,fm@ȯpɖj4r2n8	ShQ#{XAbʋmip/sS1"qXiD>¢"AEDDmDnL?ra-C3!JSK.v?0ds UB؇$_&*܅$Sdg(8Nqe06Z`/fَqI)Iٵ. M Z;Kc#iYZ0lTr`14Ք76Ǝ	UPe):#DG<KLA$԰,+Hs0aA*ĲJ)Q?n:y?0}*hrSa܏up?08<)(d8HܙW,;C`NRҍ=*qEqLrFE`ltߛi\a
#eQⷘA3)A_W?r˩mQ+)J/)&v !ְ	B.8ϑǱ吘TJ{:+Lyep[?rQ^J?r֙)zkprSHv5HGzbHh^X=>\FU\/m؉C6D4=	)#~ߺdU	l)D)[ FNXbygpP4L*\2)];XAbz(隗dAѩ̈$((")?0⇦F8d|'ϖǙ!rJjI,[n7"i[EJKT髠dKx?n1+sG.)?r&ҭ㷄a(%+(TH@J_??79Pxˊ1ypO<> 3D<]_o`{{N9mjEϤCy%|F.7*J(upc9?0{30gTԄd'OJCm*,p}`h ڋHQ+zGTU(0бJQQaFQ	;z}Fv˃hȎK&yQF.B'YњFcɿC[9Q-"/'p_SQi|΄ERhthCh|_|32ΧSiIL1٠*?0XdN:cosQl@gWC??d޸\esٝB3R"6qܔ*ÇZJ'&B-@HtY}:rspeB]k0`΅uZaP]*:\MYe.MĴ}aӌpf?nF?n"y/=k:mc	1XwhBwݴ&^ij]T&D<,'[;([0-ԥ.m^LĨљ%s]6'ε/f?0X2# *!G-FEav#ma8ͮRUTQu樆fq4)̂@l̲ڗ(	E9a?n)Y)QTTD2&#Z:\kh2:;tNb+?n轻=Ʈ{xM`f$1W0Vvctkm+@֐ȊqSG²LIHTٱK1wRӆ,HA~U+vȊ$pťS?n,s?r60}rwCIs.\(FO-@yT_DG?r	z-uő1WSe^9^z'??^5)non1-tغZ!׺to,ժXo4WY+NL^\ǃRm$(v-cpZ'r25hY?03(ŉu2#afP#hFUL0RlܾKQ(wސ%@V:"1M[`-"[V?00]둑ӏn<;zRZŬ%TQh$2H(K8hjɤ+iS\A҉tgdggOtW,g`X&n"iE]?rYn%%w3LQ˨?0}姊0%"qǽ~׍$Hg൲HDLVecl /|@u5#V)sHy ]38j{1>NM'&P[rop	?0N}	nP58rht6O:R&2DJj/R^")ӣȴ!,ԹH,DEz0qv#zZʥtZv}ݥ(q歄o 62_PJ?0tWB?r*8i%+5yE'0=r96A.un	V%;"!k3?nWՍG?0Oѡ#%>	1aM%?n/C{}V:2s?nD2?0Sƪ	!cyfYH6)͑$WT ł5(əT-y`xʺ:יX{xwy*nFH'Ήja_p-$?0 ?0'??0mcy[sF`	$Ead糯l6%^Y	8B^lĆ	˩++nMpw2hDiNM[htl&ameJ?nfI.c,r52V1HEݛmh?r&013bKR@rb0t*!%?rN&b٨YHlqhGx_9Rv:3l,RVDiY:~'x)xa"_}Fk1!'(h"Bş??)x#;Dh7t@aW>V4Z^9?nCAN*jZÌoU.a 0^R.^wME gb?0z:i?ra?nX\j@2EHI$:\6^sc*ƅeAW_6!-H2mBA[T)6D:$cH?rł'(Hr rpAFE}C\]@r9C%h7)[%y,;tF@<4=̓<-c?rzU>6нgcliA,%+,$=SC(Ҹԝ\[ktym18ܲ1H7x`Qd́M"npHYVfnE?rl( S>wM*̙dOuFp*7n]^Lo;+e~xp)Qm>(%APHZ`\HrsPdP2!Bktir&Ƶ#io?0)P5AaP	qNo^<X"nSWt	#LJQ'6W?rxHc-E9QKCdda}ӹXBA66Ƈ8~}3Jf~FgO:]ago*"(wߏс!"?n@!);2?n<<LQ}H}'g0d{0{?0>})?0Q@dp瀛bE$PIQQۭ۹-W4N?0[:3d^+(%veEZnԫ_Iǥ+2bV;Y2V=@q	%PJ03~ScܲrB$IM0ukᰬNTg!=Ċb9,zz2μ!ul)b+ Ȝj&ݛ?0rBjY>OR&Zf_a:͌9w<e+\'3J}v+Q9G=xbb;`TzYpW_t3?nZJpR{taǔ) 72ePøu_zu?0y/QrhɧB3b/-l\k@kz<KY5H+mULȈP,:zeq9P@e:RH,o?n]IrX=hvA߽(FPG6VJےgrq?n^埫dމ={q2	=??)b1M;<?rbnZX~ˣFì2~cT#~<Bb$*'d??W}gOh/ǚoY2p(s֚^),wv_m1g?0d.)mh[(:WL&_0^$g,KOU.f@ZC1@мqD	}khmb`fRV²?r1M뿏G
#WAPCl6-AءqUE a2ʉ_ާ	sBg(8H~%+C0`0JQ]BC

