这个是针对pip而言,在此之前需要安装python-devel(有些版本中是python-dev,使用时用Tab键测试).
文件内容:
#!/usr/bin/env python gE2}7&E@j7~9yyX!w_5AVT1;lDAYJn(z%VBYZoK$^+mUZ6Mt$V~mb8gamN>Y2d0
#
# Hi There!
# You may be wondering what this giant blob of binary data here is, you might
# even be worried that we're up to something nefarious (good for you for being
# paranoid!). This is a base85 encoding of a zip file, this zip file contains
# an entire copy of pip.
#
# Pip is a thing that installs packages, pip itself is a package that someone
# might want to install, especially if they're looking to run this get-pip.py
# script. Pip has a lot of code to deal with the security of installing
# packages, various edge cases on various platforms, and other such sort of
# "tribal knowledge" that has been encoded in its code base. Because of this
# we basically include an entire copy of pip inside this blob. We do this
# because the alternatives are attempt to implement a "minipip" that probably
# doesn't do things correctly and has weird edge cases, or compress pip itself
# down into a single file.
#
# If you're wondering how this is created, it is using an invoke task located
# in tasks/generate.py called "installer". It can be invoked by using
# ``invoke generate.installer``.
import os.path
import pkgutil
import shutil
import sys
import struct
import tempfile
# Useful for very coarse version differentiation.
PY2 = sys.version_info[0] == 2
PY3 = sys.version_info[0] == 3
if PY3:
iterbytes = iter
else:
def iterbytes(buf):
return (ord(byte) for byte in buf)
try:
from base64 import b85decode
except ImportError:
_b85alphabet = (b"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
b"abcdefghijklmnopqrstuvwxyz!#$%&()*+-;<=>?@^_`{|}~")
def b85decode(b):
_b85dec = [None] * 256
for i, c in enumerate(iterbytes(_b85alphabet)):
_b85dec[c] = i
padding = (-len(b)) % 5
b = b + b'~' * padding
out = []
packI = struct.Struct('!I').pack
for i in range(0, len(b), 5):
chunk = b[i:i + 5]
acc = 0
try:
for c in iterbytes(chunk):
acc = acc * 85 + _b85dec[c]
except TypeError:
for j, c in enumerate(iterbytes(chunk)):
if _b85dec[c] is None:
raise ValueError(
'bad base85 character at position %d' % (i + j)
)
raise
try:
out.append(packI(acc))
except struct.error:
raise ValueError('base85 overflow in hunk starting at byte %d'
% i)
result = b''.join(out)
if padding:
result = result[:-padding]
return result
def bootstrap(tmpdir=None):
# Import pip so we can use it to install pip and maybe setuptools too
import pip
from pip.commands.install import InstallCommand
from pip.req import InstallRequirement
# Wrapper to provide default certificate with the lowest priority
class CertInstallCommand(InstallCommand):
def parse_args(self, args):
# If cert isn't specified in config or environment, we provide our
# own certificate through defaults.
# This allows user to specify custom cert anywhere one likes:
# config, environment variable or argv.
if not self.parser.get_default_values().cert:
self.parser.defaults["cert"] = cert_path # calculated below
return super(CertInstallCommand, self).parse_args(args)
pip.commands_dict["install"] = CertInstallCommand
implicit_pip = True
implicit_setuptools = True
implicit_wheel = True
# Check if the user has requested us not to install setuptools
if "--no-setuptools" in sys.argv or os.environ.get("PIP_NO_SETUPTOOLS"):
args = [x for x in sys.argv[1:] if x != "--no-setuptools"]
implicit_setuptools = False
else:
args = sys.argv[1:]
# Check if the user has requested us not to install wheel
if "--no-wheel" in args or os.environ.get("PIP_NO_WHEEL"):
args = [x for x in args if x != "--no-wheel"]
implicit_wheel = False
# We only want to implicitly install setuptools and wheel if they don't
# already exist on the target platform.
if implicit_setuptools:
try:
import setuptools # noqa
implicit_setuptools = False
except ImportError:
pass
if implicit_wheel:
try:
import wheel # noqa
implicit_wheel = False
except ImportError:
pass
# We want to support people passing things like 'pip<8' to get-pip.py which
# will let them install a specific version. However because of the dreaded
# DoubleRequirement error if any of the args look like they might be a
# specific for one of our packages, then we'll turn off the implicit
# install of them.
for arg in args:
try:
req = InstallRequirement.from_line(arg)
except:
continue
if implicit_pip and req.name == "pip":
implicit_pip = False
elif implicit_setuptools and req.name == "setuptools":
implicit_setuptools = False
elif implicit_wheel and req.name == "wheel":
implicit_wheel = False
# Add any implicit installations to the end of our args
if implicit_pip:
args += ["pip"]
if implicit_setuptools:
args += ["setuptools"]
if implicit_wheel:
args += ["wheel"]
delete_tmpdir = False
try:
# Create a temporary directory to act as a working directory if we were
# not given one.
if tmpdir is None:
tmpdir = tempfile.mkdtemp()
delete_tmpdir = True
# We need to extract the SSL certificates from requests so that they
# can be passed to --cert
cert_path = os.path.join(tmpdir, "cacert.pem")
with open(cert_path, "wb") as cert:
cert.write(pkgutil.get_data("pip._vendor.requests", "cacert.pem"))
# Execute the included pip and use it to install the latest pip and
# setuptools from PyPI
sys.exit(pip.main(["install", "--upgrade"] + args))
finally:
# Remove our temporary directory
if delete_tmpdir and tmpdir:
shutil.rmtree(tmpdir, ignore_errors=True)
def main():
tmpdir = None
try:
# Create a temporary working directory
tmpdir = tempfile.mkdtemp()
# Unpack the zipfile into the temporary directory
pip_zip = os.path.join(tmpdir, "pip.zip")
with open(pip_zip, "wb") as fp:
fp.write(b85decode(DATA.replace(b"\n", b"")))
# Add the zipfile to sys.path so that we can import it
sys.path.insert(0, pip_zip)
# Run the bootstrap
bootstrap(tmpdir=tmpdir)
finally:
# Clean up our temporary working directory
if tmpdir:
shutil.rmtree(tmpdir, ignore_errors=True)
DATA = b"""
P)h>@6aWAK2mm&gW=RK-r8gW8002}h000jF003}la4%n9X>MtBUtcb8d8JxybK5o&{;pqv$n}tHC^l~
I+Mavrq?0()%%qLSNv=2JXgHJzNr)+u1xVRS+y8#M3xEJc+D&`xG$ILLcd^)g_Juxq^hK-W7fVro!OK
0X56!kJCu>>lSemZerj
PE#tZP_+VteGhH)eTGzMZy!aHJ(Q?6Cjc(3MQ0lIm@hktf`o4axNvVCTc)Ts4@VJ>@!hh%K`|2$iKE+
HHx+6sw#7#MJW!3g|Y$%N)ur)tC3;}#CBEQ7CdI~xY=+?Ot(T=34r+9E$`%6N}j>;=NFf=Z&^bu!zEv
3t>Ua&1Gxq!8;Ps7soN%ES($^#>_e*>Ru`El;Z0c`kR05XmE3{WT9s{ZCofrE;qGp;vO#hcs@DjeDR$
tn@v;IglI6VSWzNghfplGqI!0
7HRg@?*fSPs9ypVK;PZfg`L*{@Wh4H}=)J&0S$#2!{sXR907wMxwCB>Zm0$&8dG^t{{SFIu9BwcKPai
iS)37*53oHqWOqTV)O3RPrz%ERGmE0Tun4O(ssPA=8(oYCvxpzPymKk}-Q$?RIdE=IK(@bmxe)jVQYH
8{VWs)8KiU3x%fE5{sAyYgujXSqq0M!Jcq(%y4NcRLa4k(bC--&}_#|G%=iwT(weU1)OKQ+;gdjz%u)
oWwP6Kw|to?PIw?Km1kAC7Ms_kh)WuY*}FOiLCVc@zRudBQ9tsceu3uNfZ`pomDWvf`>KU^QgE|jC3f
JeGPP6hUu>U2ZL8-0vz>6l;DW>Cpc;OqR~k!*C(#5^E>jBZX2(m7SL-6X;oqX)fNgKHx<25fw`lciam
T?0Sq;<*0efo>>~_mb!wtQ8FET)G{S3%GLx;TuGy_0I*8^0_3ZXQ@aNJf0K2y8VP7S+U1FD)Lc1YZU5
_=?sZ~~HXI3ze#a`M|s-Y_t#noGnybn*-wS~M*gQeu&v6y8yuxLY
F!&;`Rs^bRcsWT^vka6lXVZTrPm;4Ks2igbSlrx(sRT^p6}=17w9Ix8?jmITqsTRyjGrANWtnsTD|j$
Y4h
eykHz^><5(QWgT)w
oLz&9(4oUGLM@^kd0Y?l!bmf6-gUh&C*a5p<#uD_4Y=%
7=$Tev)VWSDl6k8Q(w=K
a+TwY7Wli;y;&R%LORzm+XNlE7>Vmn1j*;EP+Vbf#*@tWz5o0+$?;>TN2)pj76eCD51u1o>jxO7Rd+T
^~TVJZ5V=f+fUt3~2+X?Q3%F77oSob@jkBylRQqf|H}cxNlq|euM|+Co9)Srn2x(&;r3@IQS4AF!H7F
o8r-xn-D4>d|PI6qlSXmJ;9W|=O@}p6HPuvOHX05
29+HJ>nF|s8yA0n&;d{IKJHp=j(V~BT0>~4G)GPEMc(VQAuvRl`;M6?1>952}1Ot5I~#MYk0Kxxi3Ah
q0z)s{+ML0+{{$39}{osGDzV+%G3gnJXTS9DXfMe;)R!F^lZ>b%Fq4=Wdfk4}wCzJh`hBBYO~_dq4)E
TcmM7`3(}e7h%A3)V?v$2PKRYqb~
YELmLl9n0XsGIFkW7P7W+cQbn<5G`uwYfk^6+2P*{9yc*!NCRzAqXJB#nGfJ}B!NvFOOhTfndqX%NMl
ise-9(t=Sm&iY#gz#t1Fx4SUsz^%mm(E_;O
OF^(;kKyNZ_T@JUlux=BG5cWr9_}dO9aCTQY^g^RyvVq;_ugniS6F79aaVdkZH1IkocB$7G|e~a`MGK
!XEswYXIAV1vyQFCC0F2wx
>1$}nd
&S)jskXLv=z{g*0oLz4Y%3MIH@hdj)++w_Ub=yY}Mo-b#g03!^1v$ME6ew7%D``6|eh~C_r=)A@uzIJ
N=ON&A!*ch(O)=3CM}bncF8OaorQ9gI$?Nhg|T|4M#Y5=A{BwMaNvm<)f~Zvmpdn?c=+yAoeAhSb@87
TMqdtzY}KDV&{B5+UyK14KGjFsSQCzTOv4hWZCpoO%X5b5|_B(AtRH1E(COJCKK$k!;-T@)v_JO?!To
)%RJsP6QFy)qYW9u%;pS0F>
=isHy
z
vB>ipRBhNi?@MIwmShkyR`VyPj6zz!LsnP`&@S*HQQ=7(&M}FoqXi;>q5?XVgA32$|3zK777d8C`@``
Q>eL*?-`xmZezko^TratE%IrW;s|5rr@c=|$CA9;DDD_s0Y6IRO)eAR$E8qZkc2N%#@nudxO>zHZlhN
2jBVZNHhBtEQG^Dy!P2rftr_IL518vqjU9{%mWwnSm9`zqI)V0jtc
^3$+qEK7BT}^M3T@cmSM7?rm^99E{^N)g;K%L00qk5Fi@!#3FqB&$Bm(pbf{mFJ{wma@b&{KVmRF*0$
`lql+a3kh|4j@vtMQl|)|<{MT@7I5G&2e`V9bv#Kq0Q$2?;CU+1ifNEVS(Nyx_EEQ@EsIA
ydY*9ir{^bUp|3fq&=IMa
nf8f9g9=Ln+!-#m;!EtAx-6QVZKYA2Y#%GQSkIv=GH@<^U0S&wY^F99@b1o#k7HFpX(m}?WQm26OgYn
NSpM(&^4N&66%m4m#0qi=Y=s3Q+dWBALtQ$5&i;kZDO9FsS^Or5><8wz4V*m_)V>32#VR*ohWuXOIH=
sMUKJ;SFsX7PGyqBJzH9agmUcR4
baR{_7E&FMLZVwAAiquC=br^Sn|IU2nvEEVm%(43>tm!(8=?0d&g_`7e6Mm)jWmUWC$m06TLbvadj&v
W2y^Z;Zu-6cO2gdsaIxnc_KJlF8^$0_h`_YKC!7uSl|V7|pGHx0EY)4x)chSpS2a^%2D$kE08mQ<1QY
-O00;m!mS#yyNu*^n0RR9<0ssIH0001RX>c!JUu|J&ZeL$6aCu#kPfx=z48`yL6qa^qhepR4X$Ov65%
(yx$r_O+A$C>v?Xk0z4RXq#_nz%vY>qQ1WfxkqQ3~9gVkXcZ82v&
Pxf%%rxUd8a|66~GLQ3R8vL7cRBF~PDAlJ+)moR4V01a?*}x!0kg`h%(L#G~Xb*s9h+(`5M8UCb&3ZG
qcoGOQp;VW#N-&4rFgQZvZ8g0VLYnU307k(&=&*eVS1J1Pdg6a5y1w?^{XcI6_WR=6a(m`zGIdXf614
yQS7FS(g!rYKD_V)ETsH=luY{RzM;)7bdFi;y4^T@31QY-O00;m!mS#zU7>o5o4FCX!E&u=$0001RX>
c!MVRL0;Z*6U1Ze%WSdCeMYkJ~o#`~C_-MPNDSC{2p%hXssYvX9niy1Up%+rwf(&=PH{ktLOsyz49S-
*1KwiJ~NLdg$W}Br8!f!{NM#WDo@JndIc8*lt;#kT_#f&ImpVp0SF<-=eP4oXa2xj#i@B5=vKfRSQlj
Nw;MoD#Dhs$m)ty{eE<0#
8z!i%>vNb=)LD9lwMa&eMg%fp-Q_vdW=q?pi%`%?vT9l-C%(H?e4dt}F;Zg#T7KT5?yzI~o-?PLBaz+
-ptXP(*na_kM#Ejg*tp4B;Iq);Y4EmMeyR@j~`#Q~%(^RP8X)C8FF197BNLTnYN#p9I$XDsQg
;gp^(t_{x7w4E0$I%_6OcqzCxkr`R@ik6~S&q$6d&C>sH3PRm@xRH@=yYK{71_J}~(Fov0iSj3d0bl5
j3$!U3Z+QIi=;(-25FWVIoZL^0?k5j0j+23^=2oW>aQQ)vg_P!O3$6%uaHO2q8ckR%f8lX8JyuddAi%
#Ua<1NM36A0pY|;c)03+utlX?gyqp}j5Z6%C{0e`BFU%v*|1+^uxoM1+}V_b*;_(0r*uOLpOd0J5#N}
jD|B!w7(0+_2A3}5)uhDbj?!Ysda{9&TloE#IR5UH20!%R?B@O|<^k{5D9UXai#Fr3ab8ZLe6p{=Zz0
QaDkhdw4t61o8hszVXrtL1o5IHzSBpS{mu?XgHL0R=^AQpA*cfL3MzWglCJPe;w8B4HeQKH$sY%a@Im
r!CqS)>tHwo1)GV0?Q*N$dalc)h3nZova}dlnp8jssU;&3pJo;RBC8e9>uIoE9FPww97BVbCe<)mrVk
ZCh;v&4xL5Ky7P6G@D5n6HXJ-R=YnOH{RRTY?KEu$iMH$`H#($>aM+Q&18L}LsIGoo4x10tA+1DcH=X
G$Tdu<_F|t#sGmUW@!^RBqaV1hN=jgICQl(oCKB(RtUoyC`);48%D`OCC=3y`Ibi-X($O!*NzZ7X6T2
UxmNGPC>U{h6PFrD`3q$|<`CmdX)jWvy=y3(`@G=Gs&^C*G8N>R|X>=Xu|O9-+okFh}66ta?Y3tNd=f
&=MMS6_}XeFx5vaS{V0MDLirTGluqiHhcEW;JNDL2wt#MRn|1hZ27TQ9fPmwUsxZ1C!p|e1Q5Zg*-wK
B3-4Bl=$FW3W|
mvDZ0FpvG#{R=iFP;+YijBB2zk1O@{)VT>3=2jIeBy3(__YWJcGG{pWa
k(YH2p-{dA+jYpulE)CMz&?UkuYgp5g@feKK_+}zuaUZ{B^X(y8IM|vfvKtGPW>HHD`0om(?PS#Zy@?
jPuTVEz|`E}wr{$w8YHP?%ZyY0luC3ds^x+nK2YNYu$oGL9f%;%9A
La8H?qUOBb=(1YFI%hMOFx?my#RRBk9C6swmw^1*Y0}TC4jnAI7BA7}$N^o<@
8QTNmt*H4QDJ orxL>Qy$#J|$z_V$T*hsPPNrA~ZrF|!Wldfl)Wj?SumPZ%M3}gxDi_JJs5WYkiS8ibV(FOcW_Za2SDQ
Z4Bc|%N4c4B3{
;R1ySivda|oxZ7Mj^&?cpG%G6cWQ@_*Ce#SKK5e#eX|QM)LLHAkDsArvJQr~)5x3l%DFiO;pjVDu}Gb
%%>j-6|P(=
fH5==&@-?t@ZG0YW*kkiF4ux3ob1u|G-5>F5q;7?4C|y=sRMz>G|Pr)C88)T8%nG#s{{V;?E6L<@a@;
9?buIR4CAfn?d9p^F{#8JtJ^hKO&qMGgusvPif0Jzwn3~n+P-n{wXjo|82T!~B`}S6K&+4v&v&T+*5P
eaWQnF74R$`Z*XwGrrEx#GT3peKOS-tYy1Sh`;BMWU$sj3J`br87AG{u>clPt*=JtlZJGot4UTC6Z(%
mlVP#f;r%&`C({O;HbRf`q$4EO=f%m5}t?Uf^mv{DT;R03JHhv*6lhw$b1ZrBu$o%e*(fv!x2w
^ABgo1mtGTvf2MNZ9FUp88L)Cbj&f3IdaqhXeLoPI+f~dE04L|+{rmlILc
p0&lacu7YiI*jeB7ESzJyOnPWV>QM3M~+
Dl
nxpgPK-f8rw`apPk{oN~e_?b@<1L3;L}yU7GhCE4YSlfv2WeHI_pXzSb5gZZ7cdTAZBRe6gqdy+Fsbm
2s#7CJad_{
VF#?l{_Ks%H2Nh_|ok(%Xbe$ecU
UnXXOXu2&h8Xrz*Z2NpH+{w{dmi|EL^a@*Lo&he@V~jQ1y)Vet5@dxs|}OTMnZ!xAzZ5XiEizZlu9Zy
XxFpMq2k!+4afU_>JZl{M0~DnUuR~V_ZmL^q0
0iVsk2kZ>AISVhm30$Ds&jM8VH{4SBodsn-__A5s2JF^sPO1k{Q_a;}$-_o$lj0GCGejTjf#l(%M6Dg
>7LH)cwG@snz2^)JpG^w9QKLfpgZ++46J)sB#@xy-ejXGpMRYOvF7nJJ;DTHn8=;}#?*f
ZDY)Qj@3TdOu`W26Kn&JP6JByWn2Gn^a>oGtduj)ARb%(|q5HXU0M8-3b%Eu>KTm*NC+NPq7qI>dP)h
>@6aWAK2mm&gW=X57{yU}&007}A000pH003}la4%wEb7gR0a&u*JE^v9BT5WIKxDo#DUqP%9NJ`i0C5
L`7>O<4K+!-h?!J+9F#}&8|cbBy!3M94by`ulUGklRqNozZ21kSEB9L@~q<(Z*ZtJUABVnlSBi
_?3!ZBYqoX_iVfJVr42lgecPf0eOobE9Jtgytyz0m8y1R#u>uC_A{)0gN)M*(x{6D+COf7J&1Az{S{I
7{&Mq!43Sh{kXp2s=Eq^Q|BR62rycA6bTvNIF_m|r*#cGWYZ!=g?)>J9-MKY~Vzp%RdBxFN1@J;;z<+
mVlt63Gj&aREz-~;bShpRc0e+Ib~IWV~q;4yn3CtFXCpN2Ef(RIxFifzGtc*}KBq>9zsHF-_t4%B=7`
r(M5+(!6wX?b=6tcA|l^h%QrBedqbmR01)^?u-%o1I`sl~+uak{bsecv
`6(6%BC(-d}6`NhEI8kaSW_?i&NRW-xqsoJ~LvnI7@claq=6PE9;Nt#@3QM9Wos~qS%;pY^(_FFo$J8
9rx*@4!*k(Vk@O
=&VnrcT>MK5+AwEs5N^7zLhS}6Mz;
ZDzY2-UxdjN=#DM8h4rN;SU&G@p}S1|Zq6@xr64T5
Kd0t=VwYPA^CdtsKkzXpOr4wom=iwZ*e@?~ZA&`$YWsX~cl+x5q>Suqg+wc_-HSj}@C{3b70$keOlR^
D;zjd;w`O&&x|(b2efQH$u=>`nY>pl{j^OrdR{?5ocOTf6_O(_q%w2%KBes1H2opf~0+j8Qk?g&J>^7
%=F(L18$Upax8{uD%n}dFsOe-e<
EaejJXGCD(RYqJuO6T3Ho%&
1*JCVWSaD=B*K?Y36!?oq6vsnmbKQY*be>tLrgMLqg?>EuIPQ75A7YwAD339HBITZy4=$Vy8{5$L(hL
oV>FZ4ubX_{Okx(E3dvdygcSHPgC2G@0+>lQcGVUMfm5mMU{=g+1XXL-pqqT*z!o
4KO9AXo@oLt{CBMq@8
6)*}9oNTGuhtMNX2-_+MF6*CoKxu*lqxYYG{dD_t@#*#-ACuX^!dXQe42y~#TEHKRSRw3XFEO2>&2Um
ij?5xQ+Mdiv?CQuX7KhQ8E}Sc&UDDb7EDN`QoOjiu=5au_kVHZ)u=GW~J%jk6o*2lWXh-!PvJnWO(%|
(1;x}^n_A?}X0r0;Z00r904ji2{#10&f#!iZ(CvlC)0ViX`G_?!tI?09P8a
cnOX@vN+1j?l7iI+Gc&Gmp^yxykc%vI2nSP|R|{6XsDTcx?vFbIqPqJ)6eWB#x$%JQqwe`WX
>SETCAurYE09H^|I{RA$tW$}Q(q&odE9NsR$_w@i|V)XYlXkRSk9RQChS4L??%vA-_1kr7v&S*k->B|
cFAn+|@Zmq%1RL4pjO+ZLjH7bWdu!QnWvD3i|8$h060XH`=Ddv5ZMHmya4T!iCCOOwaJQ!ZMw+RcPL@
!IjZ(_koEd
WL)6<-C#?dW>cSlht?0A`#7+LZHwJ2I#VCTc&JW)02qy$rp!yicdcpVn+~edgi~N&cr(voIGf>Z&*HK
vqFEK1)jq-0G97>2+TFcUxDzB~g<}*mC4jo?KtK7I?{Xk$udIv0i(XH40cd95-Xp5SYKM^z0PRRyJxn
AZ=|Vli4}fFw3op^9Cd^7V*375oaQcC0^D)DDtBiL8Gzd3n(IhLN_A$J=vER0cPVs9g`c^NEUY(oxi{
ms(*Z9Ng*>*U(x78*}IzIA=SL3TZ%i|yF|q&E<2fVzXNIqOYUDHRSCziq2
9%vmB4~G#dU~~CGQy8Dk5^DGP=$S)DBSmX{e!B~f?B06V#WYW$s|@FSz03y4+>P{jL1A;15g|L1doez
zK+5wR@x($gSQC>iV<-_^?wU$kadY-mo@_E6_*5tpw$D50Va=Zu1m*v@XQq;4E;nRHyoWLnV#{qe9hA
JW;GqKy$vo~MLj(~B5kY`yQ84<&*2c5A!QZ)LT}?}tCWX0BPG)cy^E47d<>W_Gxl;wUnwXQ+WAG;R
OSJh4?X-cZj^f5dI!JE<2+h{_xRvCTBSkEe<$FoPj4g!7{^S(8C`b4#uD=w5y-zxMI4eYGA(rlEObxh
{~^_ovPu-310jNh0F(<)(;VX?pVvr#k+MtEN3&g
XO7RVL`m?ShBbD&?BG8gT5)kqspZLrGO*<(7x2uURQ!w_quGV-|SJ-1c0BZjW*|0r5aDe^!l7~HmE{7
$91za{?z5?;zz-PM?;9nD}y^Nuyhd=%=aPWk{^Bl;Vd5j0iH-ijjDtES)gVDIMCj=SDtyxEZ{
QY-O00;m!mS#yynKB`M5&!^NKmY&{0001RX>c!NZDen7bZKvHb1ras%{yyv<2aJv{VNCs4cU9PdS(}W
hYL1`%O;ub;AXmmBr`X--iAQSw9SnyX+
I$mwCQT#0QvGD{0C?%#|)y&@Y<~(35V~LT31J7R#zq#Ud7&Ea1Po-U@))sL@
KPn`6ag8Rb-58~x@?=aR%t5qrYh@3$hj%=woxg6k9gd&EwZL8bK`~q{y?srdtpJ^kL&zE2)sq6OvT;L
H#fIecX#Q#s~>Nswr^xdKFPWOq8hslP$tpELVb3S#v=iLKa}-GHWy{l)MY*u%T1GJO`fiSHn~bSumhQ
=>T{O23)OcQWjfb|thZAF;x)HMrB7?6@=3q!rd+6gdpFyg>%K29Gsz^i-9O)5-KH1k7w@jp%j?^zFm;
wzHOScKep1`$+$3vh)~cI#cYpig{oC~2`Q5v#yU}O_VktKAL8Z*Hl;n84V!{zg>&Yo$j~v5)Zxyhs0I
BeaEXw&`RMyY{nk>X@CO}l$4IGq)gk+(!hQ&25
IRnH6%qDrbQ=p9c1fSwf40|y=_p8{Lt#&w
A`lzs2#-HGOiMki~Yqk#L3?nJI&vOukK;tl)N{
Je%RjcxriWnzPtzaCX>h!k=gH-5M+){!C&(NrPqp;a;Su@((QrcK?dZVH`
%vmaz`l!sK$t?0Hb$S2UG*Bx|$(BVX_in2y7s^U@CWw8M>FCJyBQ46s5)8gTcdUzlvOTB7qvRMgtOr|
5)daeH2YQPU5q0I!4hxUIW5VNw#w
Mnz6H2y&}8gxYxj~IW0^A6(wONT#>9pdk`JxfmSe7F@6IrUjLbXI^dsyU3rUl|D+8KB^|yp(`rrXWbR
`5FrPS}SI93ecK0cmq{gEXaK?#ebjQzQ2C|b}FuJZ$I2Ju#4O4`|FGIA4OiSRxmDvMEcB3kR(797;;2
yzzDPw^kcTvxpH4%p1IRgC;j&Z%oH5$v#65II`YU8-9Q7PE`<|p4mNN{Fdq&%;01<47eKPZXZjMP0^E
G_K)x7Fa3{AYXY?Jg(Lw#KPG(h?pSOoaYDQxMEc}*cTPZ}K9;_VuLLJ>zD$~m?kc?LZ?TYpejji~ID)
SVBsi(z%exm*aS{|_x{PZLuUD?!{Jc2`*+ED|2=C?7ndPnTv_{jbwKkH4q5k
FQ&{M6l08N?(PMagCop`aAX_P$Lt`3PRLDl5S)f{9+=re(7d5zpg^&ZL7fVftP&BM$0Bw_add#if(?5
}e2HWZ4}^KpRcdV@T6Y5
(lW6qoEeW4Sl?ZHvSgb8L>@>
hlAeE7Wck6zm#1=M$Rr)38bKKPebHo2R(E%$63A}-Iv8=DD)^4WSS#(IJdBACSS(?nPJ?|cFtI3^Ira
x!L-u$3LR162+nK7Il30xr7w2N$VycEP$sjN+AhLM@J~VO
xY4i+6^JlfKG=F)d=^zf-^z-eH1KMDUD=~Ug
mfY@@YQRSC9_eV1BQrP1IxY=Mrju$G0*N!?uCh&SK;Av9-X76?Iq=K0O_M1abcg4`*w0Ckm7PcHQWy~
Y5FHTwp_aG&&6Gc~nLJDMHQO{8*Qg3pK@r4s-&`xHUXiGzw`pO#_nT;U?f9)tX;EMsU<#mO5(!p7b*@
D7?hiV#&iX-dQ$GpfrJTWZxU1(@dGWE)+MtoOM%Y`2_`xfqxpH}`9O%=ns=U`PxxrqDGn%LmGWG-3w6
c(It}x_B^5KulnOl4YlYWCBN|G~%c@EcqbzFn8pk2lllr@5Ck)H
c#(e1|(`hytK_?a6Y4X7W5;G!K4M9hKcWgLiZ&M*G!{OwgV;6ix6(H#d~9CL&Yfg>>^Zw9kz1C0I6`0
&0q^E5!%5g%q6Olqx5(;O$g9X-R*JB0T^nU~PLqw%{BclYnlf4Vxt6Bjhq4}7tO3!$d63xgB?s8HI
$i^>cZHK;-Fi?3aYioZ${n={^BbVx>C$B9aqyqN_^P_#MTi}`V=ui6pJdua^$lHD?7Y7?0a&gf8ja(e
62+RbrGoUtYDr|ei_585}IVzh@tTO41w1zeiJfFI_
S4E57dv+rw%gkIA@1IKD>Vng|7LsNYD*=PZfXRZzqdO
M$7@(O+B*?_Sibrc_PW#XWYF<7W(!~sc6!Xp`qy87Jw??9C`
!KrF&>P=pr0N*e_=|9^HKn+GG_E<2{ZqOLF0UfS8K%D<~yk4H>O2%AgFIQS=Sk*M-GY?cyDs*oy?a@}
5LoUIB3~&hM`-aq~<02r|vr
@hU`)+a7HfJ40km?p(*C;)M0Q%w^-PZSt;XcPdXM7#S?L!WvT)tt~B)4;uQ9Ix-VO?ur*L ?MLpTjD$hMr%Qq2_2Ux_uK^$xs^pF83@Aj(Q+
>j}{4o+|Be$ShbdK%Tq_EoBO{DbBk2dW1lopRJY2qK8qk@Nne^b#5&c<&qeC$*F(+b}Jy??y$-8kvOA
%j#mL9@pJkObMAw|*h;K8YJh*bv&T#AQHBg`V7zK$FIyFBn9Y-RwccIH;!$e8i|9ZZG!HW#HQt1Sb}<
k!Y>|h>loS3Bi3wBl?%&`Fsp-CDzJBhm;Lu0S|Dij@1wV8aRr*X#U`+cvx6KwO}gU)BnX8^N7npoG>`
~^Fb5Cxfb#WzvJ1Qk*Cq#&ptTlKKH~1-5SqF2YaG`wm_u2vqzpk9e)A`pX`oXn%OARq!r(19p(s6a`C
d6@uYpc7{Gm5y_LPKKxw&kOW1ohU9dVv$AyX&!$Q+zcn9^EgPXws&;ZdOqV4D(j`eS!WW8!RV&?*cP9
Iz4+SMaF0rRiqNV5T>#;D 8sUh@&*kzKo=w1vL&<5i5=;n+E*X}sQ#7%!^
h)*5yK@&}?mX2dfkK;Z~#S4Zht1e}x<~DGJqBs|Lq+$z{~wdq0A+L)5|S&7yoN@=`9~3~yL;>A?1P(L
}lvap`41Y{DHYvFnk{pXAo0ZSlXlIxHps!`6-`%xFSzJbg$nvK7x<)}
?e8?Aski-5Tw&@EJF}j<0iHJF_!LP0{lumQ(3KazVE0vBm-WtK3R}nVxo^f^p;Z95b1ZU4G-xk730M0
UbGZbNV!m}mojPlVv(L<0{{GFsp2~T)P)U-+;?;ggmTwbBF(zY4Da+u&*t5H^h!D;=y9V*z7?S;09Ei
R$yo31P6sT`3rD(9IQLBudVhmDgpIxPxqL)^YPOpVJR9jqfllEwZr-qhgiu!5$|w3FGP2_n5Y5WfT
G#bLkXKYzwIv%oaFG^77Hg$Q9#oa3{SP?e4x96!aFTBo+RGsWC+8ObsO^9<~{=Mk0AGSMQB()?kl-p@
V;})IRm-_W0w`nC^%~=z~RdfcM8Wml|~pjJ8Eqx=AOjWXNh%Dr~71WiNc0Ncke2?BXzitnO|oFGzi~k
>?P03YjiBH+~MjH`4paew?IO!B<^)e0_+_>K%`QVt)5H8C*nQ~VYO57R7qKMnITqJA+*886XFG9n4~U
y7>AFTz)bLC
soA3e?JKl5_cf4F-8zJ==J{iUfgy>GBJ+dDZQER60OpD8cy2Lu(n9(1pm#7jh}+W+b+Lj7Eo4dR2nQL
BgQb1n@J`84`FI;ut5-;UVwzGoO6)=9pA-CePuPl%w3aKM^{PqV(jEMV8(>w9lUU%mw~*5t#Y4((~-L
W9Zf4xcBQ_ug0hi${sDq-Hv3_v>Q
Hw5_JOzy00^00JN-JK6h~*;`L0mPp{?;Q{aa0bbPAS|rJ$ZQ5EUiOAQRs%}I&Q&rJ6GU4wB2m1MZnVX
Mto#sW{HhH1Uqor&%sj^>xR#j;}7u9l^mrL_?ov&rH-ALQEvY$3Z+AOMiZNAsid{QeM&3@b3E{$Ao7I
`5L4w`y
z7K`W0l{=>*`vnxUGvKpP2zSX|1G4mEgw-eZPPATK=t-s&N45Cw2t@ih~YMAg@YgAe@$}NeiGMJfs;-
#fwy}e#q52ZRV@4>$=KhVY|KAzB%pQ(W;tPk=hh_BX66jsMk#`
z5bE(uMm`N
Ksvd6AhOXV2fgfAjA3>z8NA*^AR3!fs3026NLEKf@;KA<^ch#dm;YQKi|Nx?0vijBisQdHC>blb7C9i
fW#E`{<^IH3u3M5`L}I`byTcKwX#Xxor#|dwV?C(y+|1>HC~uUdL&cZW>uznBS&KKILbyh2On
!Zs#b0yWs(KU}agVyveWSclo^8(;wL
Ac9LQl@Lr)Dviy$%SYYFea>h*+dgoUZc^7e!m5AQ
9_6f5WIZ|-A4Z4(d>Fy
J2!x>gZZ1TP$;Sh>4Hh)T^KhJtbB25&PEN%5*&Bj7KDJPHbut8ie!HhfP-Jnxu|XSeoq?efs3ZWn*;?
x6<)Q)sP)HCIg}jypbzJ0SS~xxNr`HY890YfM{M!rL6GWl>OgNuJuu(jUf3ET}^2R!cJsaIl(9jUKpi
=vTcbI+}Y5y%;)d%8Pg&i6x{s_`k{U0p%X
*pFm6{av^K1Q!)R!dPIt#su186Q6fn;t
$U4&xJ8LE@`(Bbu2AoGWSb%M6ThHUC+;*WziF=(;0Et+V=O#u9dkCTo+`XKtiwH*8e=(>kLfCbYZ0cN
+#%iaj*qxq)wf!LM|
1W1)PNfLo}TucQxhU*O)J`A>_8orM0TU
Mzvzv^o8^zPA=?bx1~8rla&Ogw!&+{IT+d{d0laxF(Z$TuqEiaG{fQnk=I?P$zI!zKS0M1?$@$^q3wN
+HJs2P%ss(*C0f?ruZ(JOPhSt*
HH&r09zc#m+t!z1_~w4_>s53y}g4i6{~FWJT+
^y~sr5PH8l9h(zBfNK
cy(K-UUcS5ggXvLn|OvM*pT-~JgQcYYV_9vK6S%Bn7VJ*@b3K9>&DRMf{34|}LIBeFNv?KxabL&v;fe
=IyplMyT%N5ZZc(Y9l3(Vah_zX>;rd0{X`NVHdaNy%$8T91T=D^1pu`MeMgabtZ7gh_M+pH>~&;;Ka7
%V*dcpwm8$=m~lI~51aEz}%u0t`_&rod1)ckF)q_C$11>Ac*upf=tcKo1pIf8wDCginXB ^u}
YKS%N)bI5SI4Ik4Kx45ghTQF`5CkgTwQwsE@IaC5ckOD)s76J33M$`VZPXfNghRud|De$`jlIs`IoX&
qg7?Gf5BK{Gvlcn;2{L978D6Tl&vVOp|&4CmfyPHR2CtiV|P{!9mXBPYV{n$ARiYtG`LO)-Qh)Ab3%Z
1S}PIj+BfPmnLR`paC_`nf+n5PrA0RP@R-keij3Jx-)H(!&NKPVW{IgpVdZN4T>7L_9e<@?W!s>Ok%Q
+oYlSK~QMuSBjuU2F-3noj81bM$v3c*TIueu=kMq>gcO}6X0Zc1>N_A-qux?FLKfdPTEyFU*J#4h){;
%k~OZ*6!*q*-LSXgfzr|>!R#x5vx(Svi9sfM+|3uZF>yI&{~m#do0p^h1XeQ5FmH1*l(dLG^!EAa8KZ
Fc4#pZCdl>c8f422YSuUFuw6{~G^kcun%TzUoKWK_UdqX_G>Bqo|bJhZVXiEcdOzYVw
x8+cEeKDsPPYUOjg%RhQ
iMh}32UO_M&S}mxT0vj%J)PkkPoj?+}*n!8x
EwSXQ5=h&XuB6Hv*)2bMzy15Tq?I0LWhoa`IH0fePMMEwU3kFZgJz#Ni9EDAHv->Psn~(Ej@Y|FWUI-
H{JCg1mJ2t*1|u<23B
CFdUftVQb{;ezw($raOGEAPl=qo+oZPsQnL`Y;J&3E&duq=#VRfLXr 30G?rDXiR>tP*<>@<`g?#vZ>CsEM8O&wtT(_AelZlDTS70$;{xjVhv*!UHyYDy87p$?_PAS
U1df5Vrpk`kuQ<4&Kh)%s
%3fRl!#G0x}3sJV~8JmZuJDG_o8ni%?wn%Hstiaj
*BQ?n;Ucs7AZ*V%m$1_k3LnM@jl+v=q97KTd!qps^fq&uJd`YemDvYk}OhGX(vbVlixW-AVChn fFxS3*u)3;gn}gmP;?<1c$w)yvWl^LRyp8E?absnZ8=B6O6NK)at!}?*$1QsXc;4aI_M5K9%o95$7*|
aU0`2m&jPi&Nq
a;}2NI|iu36Vc0_a7`x?Rgj$C$W<@`e*c@D=M&j~_h}@87-zmsmN_ZX~jpqFg+-QrHaDnMuQsuW`-mD
-;C4Vau{2_QA>(5(X|X7|vPtvPZBXGi5*FNY{`6h(-oI%4NEcCp(*S>ktz^|4+sh#oBP{pg7bZINboi
1tIpyE}4L9fF^T!XciUCKuru
kLi0-_sI9NHY*tmKt;KyV##7Sd;I8qkg|5-ER$fI_%YkK~Z7a8=OSd=qYyH(D`FFY6;JFt+T^uI891o
*!l9@^Fou0174hz#GYCH#-3VIEMp-z+Nxw+|((P;EX*=Pqsrx{U@)8_jc`4yu}
*)mZ5P@
-YccKtdMKg}LE5i=d1^T0pv*fZ;~jeG4CMHDOexLB7enpv7qG~tNar#d|MjnUn&Hvd&zIOW#3Y{rpKq
09H6FEq#iVzXZSni`7d05zUs~~{06eLr4Div2|GE!xzqF$KTU#}97!L;NtTW7SCtC2*U{PR!@+Rt$gH
w^%WRF4dKzx7t=O3OQgDOYjk+~k|RQ%CNQO!OS_w3bO=?oQYL$s|EHnXF_l(I>ca!F5&c|Z2Q-KY#jy
(vjXEywk2JVE`x@MmD8*ok}GE?U55NwY}rNOJ)5^>7~bUc57YMlmQ#Cje4L%yevYEHD%C5R=#ufS))b
#+ka7)Ld(EaL~yc%JId(Q5%32)#Lw&kk5Z5mH8{epCE%klhet;zzz?)Kl&m%PY-{&nEdru+l`e6A6tq
j^J
&}!3H2w;0JSbY5~u&*7JI
*T&s-@T))uPcv7&@AC=o(j6tAf5n+C8i%Sn$-9AS9+pWJ;J!@j)_BqQyk)`aN)~Lt&*}J=6Wc?Zna*d
ZJdk;EXo8S;w&Q#1{F2oCQe>1lEPG)WVl*PNl;WlgrixuUbBN%SzISm&Z9I$MSI3`p|&1G
}p
>54>v~m-&7bwQO^qBV#EV?DQIsr?!a%!66ZN}oP@1o25${dBjNUd;1SVxF(bkxQGV#Jj`Kn%Y|5*+6G
diNEoXc^
Io!^hEW{UiNvy9rkkb5
t>VuUupgik{LcB>q)k-i|pm^k#Nu7^1phIplzVIxe=*P5ZrA|)$NpAHg>u*hV4s^uyrhr#wN-JScrVW
@qJdqJP1c}LIkT~d$I_c^T=<$59z_{_Xe2M2u!G-(Ao
FDgDrL##-c
AEdyVy4kh?y9&U-?%DywhKe!n4*SsLp(R?*v=TWfQBf^+K(H8esaD(zoVMh+3RVHBcD)0DnXcQ^S~2>
3l)*;!g93UUsM5g*!f-t-4qnT^Fv#+(=JU4JX8aBSJb#g98JZ5J`tiBB!Gy(#4g%}|k&$6Z83s&>byU
TqF$%IpzHGr7={vF9|4^KvyUBeNqYtFa=S~40U+X|A=yV4dVX2jyC@Lo$5MCkmF(m!Ga7&m&INS?16x
dF3y=k^Ry8Qh!**$oH{JeFRe%CDafG|g@IFm^ktZ)j)V);wH*$IOe{+{!se2$)|Jzs-~OB{V5pk)Rj^
qTa_gc*rSV`XVT1$TGyfG{yM&A2e`G6lIsr&&3_y0hmnRrbz)2dr
VhD7*&HMy?BZw8ktL?kYgSy5j|9skxq9w7k))9w24pOL2?dUNQH^L6Aw;|cKDuf=pIBF$In1SUxF1mg
YULmJp|rUMnjX_$G}JZ9%vsp?J_xQm(kd5NOloN{>SW!nEab=1eh{IzzhR6I@nDP-)8Kr*8a6uL8iRl
APA@0Kn1%<9WD5K%r)nv5L9C@?M-HgnEJZ6p~l*In^&7H$7Z@5S(p5BTxD$NdH~kzGp(Jl69tcaD6s)
=Cu
vo&~cn&)b
EID%P6`s~3}yxhp4dq=9>eG}FcZZ}@b!R5O9#|8AcFm%|@T4+14_b<;f6WY<()o*tm&9w0B5o2FRJ^+
^#9X7kJ6zpx*8(iQ%R?~3Mj@&-~d>*~@j{VHuW?O$|cW
ZyB%fEEzES>MN-=}K3Bo<^qo3_=;9g$l+B{ls&h2SmY=#noYEWjq!Cf;@K9^pL*62ELU^&5ic9`Z*;|
=Y_KTv9QyaN@K
K{@dO^*L2lfyS0++KFwbV~7)?UMgLDmPT1j)nZcrf;3t2j1FAWuJ+cC+}5ufVO#tMuK~ZDsi16mbV=*
k)oHT^QBRa<#mPBrp2P8`L
O;PO3;q}amTl^>cl8+4qaHx
!5^cDI+Q@j++-&XS5kmqH5uNf
OJy9Ao@WrS$z;VJS`U=PH$nT%&e*brPdJvB+Mc#e?v3=eNtT$|b1HWE!+ajNJ?Jk9XBeuBCQ*7Fu=U}
?IiLrfm+ThyWCY1azUM!y?OB;y?O?p|p9r(uqTo;CWk{Cy$63Csm{#lHIBTb1d;&q_tQn;|C4p`ZO@m
)uG@aWIfob|Q$fF-jk+tNYsS*7|EFz81vT0L0Zy=38W>N_uyZJa~>y-J$y8mbRt_lBwQu^7|+Rj@$gk
G>bvMdCgB#Gq>Q(H*+a*qi<*m~k4V6aCv>qt?Hb%V2U>nLeSZ=?_@zPXQ>d)9!AMHNYchl$+l52=?eb
9>Cjut(le`^E#*8`M@ne*k7LoeyDWPd8rfenD*-RfH7i=nsZ|s=N|XOvx!)KVBqrtzH~s>G~<0ey)yv
pM-i<3a=Oq_1$0k;e0E0P92%l#c88n7{PiCW!s>+3SR}7j+Sxdm({-s@Pk12=(*~6n*KU%zjwVik%i-
Ss_&%^-r(JAGhcg14gTBE`@vNvFhVY}iJFFlyi2+#={g(1$)t2Xiw=HEttj43b()KdP5^BTqQ5KTV
EK#{p(lOuce)nk^7Bvd0`!I?dOAIOda5%d+O4-@qBQ)EpcQ%B5erl9X^Su6a)7FAg;oitsAlis~S9
bC#Wg7%iH(?uf2~x-Z{?Kb>xK?h|p&f`(ZaU#j(-e2cjEbhkr480z+BY2S27W0yOe^Hn?k^j5!|en+s
rvsi2h-7i>%9b{?@SXj{|=E%!7mDEx~%Eml3M6>nyCPB9p);TZuVC-Ij>M81h<7ytkI=DU|ZL#XpIVv
lsIxMG)T$`<5vD&*Pn1Se%!yK|DNL0ts753Tk8MlOU;O>Z2Tm#Qa7#77*x>Y*hK(`R~sxEW4=rRsKeQ
L3#S5z6m689*w>=#q^fb1=<{3MJ`oTE3y-NlrHMU!`;y1QKPlZzy~V#wa8_bQGYE`sdC>WU&iX*OYbB
V8rUH_`ARH-KlE!~OxppX9g>=d-Fd1jVg#q$_Y%d9BMD#fxeq7j03PaBT1H2?j-FDs*_C%Z>T=9t;yL
a}4ik!ns?90^}ik4VT=~?%G!E*j&!8$Zw_V5&{TLPoE{II^3-)$D2
!;l{bb+)GhVPzd@2K)|2i8fdJJ#}pB**iBVm`O?5R3?D{;oWno9V-|DtG0;4nQ!x#64F2pp{d<4Yf3M
kpr^&y^#P>C?gErgt_%Vn-yQgVLgV+-_*Z}Js#^x9j7n>LrWxu0s15A!JKHBhjVFH2Gl}LSF#2X|kyw
DisI*qEY)}O%y;mgwgaV~>r=JeQyuG4Pp)XwyPILAjQHcdt{I=b^^u3bEa9}RTwC~9@+
01Efewa=f*tRaG2O0ve5n?$@uO%gf98W1@;uTjNFLRVvDjv(
vL^TN7P$fdVgRjNgJz6j%Vsa$Do=Idd}Mrtz_YgjIp`>}AUP_iCf=wiCqDwA3__4=`%Lq_l~_ZJrzNh
ZA)pL8*I&bnda@@RG;@PdP{rB`H0sQNqdx}JG!d?~X`(&xcMZR=p+oifVF>|j8omD6S|bZc_k=oh2^7
qgW)XZWr5rPIrbKL23LYg?Igc(jGX5_eM5!R
m%lrF?5}mEK1t_Q*xs|9Sl7FzLBb|U
{LJr_5<9l7AHiHK@b+n*3}Lb`RuXtr1Q
_KL{);{_=+;!>xKdH6njQ2SSz%$KPYY9`dwx>Uh*J)U-%WIlT37k0Hsh}TU`=EIi7v1nUbEExO6qUBN
JRlO4!n{JSTqZ32aW67JHE^WFWj@TDPOLu%Z%+#wevAdj8C|O1fem8^ZpH`b8kLiGCtogTc_87o8cZp
io-e+ereR*~!PiikPIu6OFB9i~V5-X`Q)Lo))Fqvldu31d3B?YN?Fm`7qYim=nfobJ~le1(i!N7E?Gj
U}oeuWP~%i~&wiTy&rEceLp)k-Hwhdn5>wW-8n{k<4wcBdT5O0dEqGlp5_UZ@BsQmecfpz>H^6tMyxv
}9vSE=gcirqIS9tKw#SAR!omYrq#W0V(Kxr6{)agA!lgd~R%{ib6=4MAO&6CRHdoJ6&$3;wpnT4=~^(
V}?}a$dxS%5E(hL)t5R6AWd7SQD6czoMOTN(KGFs0ug1l$mE_jvW4=n2-Q;K6!!wGyl+-e2X%$oQ*J=
w589+*5lxGr7S6;ywj9HtRemvE;*ZnoHCQ
ve?aSsvmxHi3b=P)l3o+K7C#)`8?czWKWc4<-;5JSo*P6rGae|6YsfR)a(B}ZE8%%E3f{_XQAoZZ@o&
hd;n3Oh7Z*rGy;s|D!i0c5t3Th>BBfZ#k7sWmDw7j3NigfgJ_FZ@8fh}_cheZeL7+hw6P^}_#df~i1m
1ob$W4UF41b+pbC=X#8K8{&Rcqv${HaD(4oWEQ}kUZV#*Ya>(TOUS<`VFgYB1K1c*A*mmP%8(_4$}qj
wJT+)o{A=Qg$Xn`T*bw`H#;*d^?m%i3Ejq=vSF94FFr7eTl~5QHzegJ9lcgj@)&dO~TZJUuDUd5sD
*t(*AR^$>)GX~)$Bwq`Nd`bH%R{Q-yliScJ}@ErxC@FeIL!jQjw;57P09;MzFj`RfL1zfXFCy0H~dUf
Pnjnr6
{dBNpnDu%Z!GJx|;xfevILuK^{zdl&fuxDeMqylYf7-kZrLSL0O2Q`Lr9XfBbZ-imb8YwEt=uAh0(V1
>#EY`M!lv&WYF1z>ZVryWij~sQ8iib#cua~Tb&^uBeIjT
w*u>NWz_@s{cO>g&h5+xz+A=IZl}5Z{TnHU)Nxc2K`iXJJ^YK-K8Bln=dHC8OJZd
t!Y=@G_W*vbXxC%B~Kfn?l&DfedHK5A_{J~L1&(yN@iyY8d%z(qbaLGr{^tU6UXvxz;_!c{S}ey^xSM
#0BZ#i(h><{CZWNYqhNICLAx>yDNf<`>V=<0p;hAqMm`c1<8vMyy*g3*{Av9x>Xwu*u^BsEQ`*%7Oc|
*}_(COmMUg_Z&ou`G7rQ#3F6$8qn~FvHxZ?cStvI)5s|${>8;d#72UqYw`90c;EBe|et`o0bQ3FNPo?
3EvHaM!TAl77a3JU(eeMK8GFNhwQp;e8lf-OYm2(4Z`Xx7hxGwEH;nRRF!HGRQ&v#mTjHx<`>bLJFRs
2$yw3(i(5pr@NaM^}9qbl|O=WEAy*b)%ds@8L$T*{jd#r|vo3-^@SH#iy$`|G0WL|192q6dyj`i}zRe
Z*By>6BM8L{QB
Od2DE0lXsmg~+@1HL5UDlm-+u9Q?^0z57%%rU^5}N}w?XBr{#QiUi8{+1D(-|LzGwO_?pkE2pBWRLhy
~QIf)iFohBHm}Si@xXcdZORRmp}gkNuQ+ZxqqI70bKCI%O8LG`MG~i8heN6h%Z`j_1r(FyLG~yVMnZ)
g>^%IpferyRo6A#M|BMagF-V^NvK^M&78%*Op*;~nM0nhFL#P{5Q=@znxxj2bDeHG(PQ#Gpa+G}Pgf=
V*5$hbB8DXY@;Usi@$--R$Isy)U_7W}ie4u!?CWlnXOEjW;fu`XC(>a%n|e^7A6e-~7(D~r`HT19BE6
a*gQSV6WiV(MY>(j9Xmmc74)^x8^QRV#KL`vuQ(NIfw^dmA{4xz?w9uY{0|NyPdmc8h)aP(SCPzOQ9R
DiyX^-~Q#Gfgj`|DJ}lbQ<>nItH#k!zzm^^;(^u2F0Ts#l`aNfuB40Z>Z=1QY-O00;m!mS#yd_$B{fD
gXcuoB#j}0001RX>c!TZe(S6E^v9pJ^OnbH*&x0uR!SfNXF#KQZDUPjgq>K)A*~;@n<
L-iX<3x$Aa~oXteJ+15=b@_AdYcb%N^-$zI4{kp!sE~{((=i<6#2#b2XmW!^et5$=k@{KII-F7W?>9U
heSJ&%Szi9X7u{KYQDZeQ
t!&?*IhReRo!gzb@_{&;m{{k{Mp;*-@g3e#q7m@zkBie;^lX*FDByR`!{dCd;9Li*Y4Y+anNj5$ZaDR
InI^t!dr<$EnZe{%I(S19~r4(JvH@aSU^KnH-oof!EL^{$=#wbvc(PIsRTUCw)<{XSGJbCTga_PI*gL
9%eHIE`3^t5uDfsQT~$oPe*mt3kWC9OpRF627yFl0+vPxh@bP8!9xzq>xRP@HO}UmxgN(56t9G|V;F7
<3h$-sZYF+1rZvWe77qfS-0HtL+gIS&kMEtC)`49L9pNS3)h+71z>vIc&-pybRZLzJ~{`U0qF26Qoy_
Vg~bS
a<&1Mm*ey-*1JMtfj2Y&`3;hGGrR(L7cZWF|Mtb~ySFd@^X2Oc1WUy9NWePnYG8U3v8vmS$V?EU
xU?FgGmJ*UHeHFq7inDm@#!bcpC{svC;XpN_|N#uLAIooFfvd=gdFVE#8mV8x60d9Z~yS)$RNS1x3&{
kcPrV%mAM`*@dl
+DBnKW_1jfRVe!MZQJ(u_*x=u-#NQZKk`}%RRB%Gb*dp0+ey!8G2UV(ryaUA}A2hW!av8ldoGj@z6}a
uGzJK-5G8}?K$ol#FrN!_0B-vlqf4M_S{Y{5NH7TkE+g03kZewZw(Ws96#`%F$l%NbQkh@sh&zr0z@+
O(jgZ>&~v~nU@iBjI
&9yG=OGQ?K-*1#CN!wZcCVOaa*p}L~kA_Gc
C-4sCd*E<~bnHa=yhN>S!|J&Gdkw@Y`fUXLM?b5mfs@H%4jd{}{8Fwr37vNkSY#K<*4vd`XQlOyD)}8
XbL|o>ej%=htb=~YUaZv+v-WwZ&%QGG!Y-AOHKzNdOC8?D=Ko(AcF*_8R+B2uBp4>u$LM9vFov`4LG0
EmVcV|jnFRxd$oM6CG`~h|e=%xc^4mc>*wtv8Zt9`dZ
vcmeb1?XDvNGGSQWs`|R#
FdZ*Rfii{1i}_xKQl+Rt{mWCWeEe@r^Xrt#D3SrJ1Xz5FlCo1ew)P) m`pTBguqD0E9FnNaw*W
GJ
tTM9t8YmrB@J3aKXS+1A0Fx{}{ftIZdWj$<`%ubo&2C)#Je}iqg#f=Sk(6YSV;oeUhkhX^?9-{<
>?d-@N?q-@ia98M@c5>fO3PdV{_EdR@<9S&`g}Ur9*e5+rzgP+-e~{T)`N!Whzai{dhg_AGcYO0~HdF
)Te85vze!x|6BSf@)b$aB-;abPcosbGec2jLfm4GLsn#Ij=mzA}R6!d-JJEZz@Dj35oJ+%R^sLj}=(l
bXIxG+o$%#0EwX(MvBWkMN)%?9W+QXxnN(NP>ehq#CmYjpW_$v2_`8Vfc(;FX`@yA=iggoObZsrtxcf
?4mmR`WMrNuAXRQ*Y%`EZS?~9?Zu5M>&PBb%$_faE?9lB%j8Gc|iLxCNng+;MU=PM;HsTm4IS^FYAaN
mWwqisOCRkydY?i+J!lRO)e6eV|>xe4xE3rS)QJ_y1%it*Pai{TvZ-#Mp7{nE!isVQ9Ct!yN{@nF8ai
LIhHIC8jdWW=%&m;0pp$@j_6sj+uULji?q8srTJxIftHR5o!SP9R5Qz)avRS0Qb9Z&McF_e{^%(ElE`
z;a5ns5Mv4TR;W4^SQ(oH1(PUr%JmPiMpNQHUYG74)N7F!6}O3h5n0br>K-pVNr)D`}r$JVez6jft{_
)smtPr>tF8=^{?k8Z7JuYfE>%wQveyQ{UhmLRF;Sd%B~4ma=t|f2ctsAg48f9H(0a0c3f2e)R7ku^Lb
oj|lNl&x5u20n_?mY2tez+u`GOh
43z0u9e~NodW0ce5M0SF+I};b3q#k#BYtTX1*E)_W~0vWT#djL^`0WW{C*ig9eSsKH#5{h2ow)lCv|N
Sp_Wu|fSzE@guPDbbIu|B_{O6tc-)f{IS7^nlh_XSI71B{Z*YvL4B*6qwT#64|E%f{VD5f079^S<0{B
8jMdf1)QOwMXAg=N+MJG)r@t9jaDJ79_EtWXPLH
zwU<5ufWx#N!DF0-hHHfW`W6QAi}ConG7Z+OjQ1Myh(eVIZE{`~QR$OlN8j&2`F*tRw?Q;M)CTzSz2>
d?VBWN6Nm7;1xhuEUj@CFbVZx3u<0Tss*!@ko3vfiG>)e2X?LL?-SY#Orb$%mQjw)pE?9T&(h{Y&QnN
J?cG3tVUmOFv9)A_z6$VpJ=V$3A^DJ*!noM3+XT&TyV
EZ3UMI%XAOlAj)qT$6LB)WoSyg=Mt53)r)rFst({i&3OK*^GIy({-d(S-f&*)nH^rhxCtEtmX@aA_m7
w0{=(Hvoq{Io&(NpIz@kg%Nh1`E-;CvT46u?dvE^?2m$^06GZaqm^cgK-Wz##IIa~~$^QmAo8FQMSz(
}c|lZP;bClfG)wHT#rc_M-%8kT
*Ag&R=sbqIsH#Z@w)a&$^eS+!7n1h$FN{F8Rv4u51Y=|6+DSkk?lU$`er0N)+=Qa7}*#53iB1l`|R|+
*Sf;s_ 1VS%W-h%?p`{oJO;+r>ke?JjMvJkt^g&GNi2YZttwsao?!*z
#!=(U#*V92wa*PZz{vPaLiB=|KuJd&G&!1JSDIhcy)q
%yz^x*>Ih1nop9xT
`&!XE_P^203tSh@^o
y&j#B|aJk9v;69FYsoEknxOX)H}Kd!$dSOHgd)sgcYqc?2q!oBMal_er<%g2&2(;VXIfU*6i2(JY%Ki
8q}L|x(ZMqWb$;2AWpqa)N(&l_#sL>`U+db))R*$KYA0GWco&y>e_<^XP>4
f8Eng(najL{uD5SO221lX^m(;3?7LE(*Uy`ZrmZ*fq6EdA0>+hs0G8mj?I!dLfc6Tyas*o?8n_va5Xa
^HX_q|2biFpYC5G(O%WE1WI9E3Pkl2mH4La
LG$4N597qw(zNU0H?oN3pjnq)IcesCLkCk{pTL=!YhSut#_@KSu4QTc!Brf(9UqEs(7_#jW>8}Q^+
G}%dzq3^3pw9ikA{z}L_BK8Rw$;f8O~HMK{PuXCXOi(L|Kiz*%$}>-1n**2^>c4RSRVhx1XP)Z0MMEE
l49>urzcYpYQD9bsV9Iq@#~hsyCxVMCT-E$2~$v_&Nv9jt^dAVJ&?Y#O0BO#o3KO^Q~})@QF6!2|6sD
<{oz?b}ad^!yX7jiW3mUm&14$ccR@U0eeR1DOR=h_OvLP89y8Fv^~)QAfJGG<$;(mo>lpJ|BH?9<&(D
92oVfEWs%31
WZ79)RCh=BUK4L#-RalW>71<56fVfPGV**@`o`55T-VbdlpcQgk!9P__-IGpOm2cij!|)&9YL
5hx<&AjQbsigVf^p_)N*r2G=L0Q#WYWD*LL`wpa`um+!`(&1}zdIhDFJQ!UThytMJdoo}s0-`?7XH3z
hXA&^jeP3Ay!ZjS64#$>F<&4G7cxmxoiUfx8w23d_6Oa^Rkz+t28B0O!UgT(oiIHQ$(di5hRL9kf=7N
GkFQ9|FEeWD*bC_s%7Fi%$nF1DN!pPKoC2hq}{^lBpmBUNg{(Kr1N^65b65u#Klb7smzIV<#FjC06il
##V1=F3=if+((ew`W(i$IwQ{cpQ^tB$ac4ae;|N&)XnG)KnMZ{d+I69Xv~81ew$Runsp#+ssm7RZd9)
0r*o^JpBq4leQiLL-Ma(*+riJX*er`K^1d_<)R%KD?4Du7&*cF&OfXCH;lHnuC49Aa;;PaoKoF*WW1~
iD&4znxGc}5JJ&Vj5%`b%3KBADcVM&^6D@8ut!7l@myA^wVYC2(7BW9zQ5znfuGrrFtkm6H%iv)(P!M
>johEBtN>9^T@dtgxDzyA?nsC+!Ju0p>tZ(FyY8I8nXlQgMoyI1BZOs;d!UCYs8J{5LdsQ5t1cL1^2n
+ZX%?`nqZ*WuYMztFNQeEQqeeBwM=8{>S{1uux5dY;7{<^>qyX4M&5zr0LPEmb_JG)wUc-sAQ{H#jdL
G6?5=H_2LwfV(HeK{S|922Z&QWM70U$9SuWKu+xTnmO;S
aG?Hjh9q2(Y`pbuCl`kJmQKM~cn*iRLV83b9J^-zj`6@n}kO?L+dmJYttOga}cyP#!${g{4>eFK|^?(
e&Z=Kn|4GB-kOO6{nv;{qce*S8NB!oUic|o%#*_Tms9ebP(r@hZ2=jwz1Q_6MG3Nn4M>21blDcq9nIW
yOma#L=%u9_d5O(n{g7{Jx0GiJ1S`cNOq*DpgWbB~1?6DK&O5Y&M%8uuj@&GMocCG64oBm3idVB>TO2
fbjMXi9qWdf
x=7a+2f4OqVA
C6W7$-PZ!D`)SpO0$Bw1x!A^bOVQxys0lk_noBWy*tR(jk?6;o
=ZB0}kIiUjN*9A(Jha0D&crsb6irc(+8v4_C87A-X8rvrg8;pfT1EkWiw8EkPP*!(>IaS#qn{o;oK3!
{+q;ve1I^ay%&a?(VfIV8O`I4%ObZ$=p6mD^YB-F!