From 0c54370e284dd49693ec4dc2545a1174e4909f0f Mon Sep 17 00:00:00 2001 From: NachoCP Date: Fri, 18 Mar 2016 13:05:51 +0100 Subject: [PATCH] Docs updated --- docs/examples/example-basic.json | 18 ++++++ docs/examples/example-complete.json | 86 ++++++++++++++++++++++++++ docs/examples/example-emotion.json | 41 ++++++++++++ docs/examples/example-ner.json | 44 +++++++++++++ docs/examples/example-sentiment.json | 39 ++++++++++++ docs/examples/example-suggestion.json | 35 +++++++++++ docs/index.rst | 2 + docs/plugins.rst | 77 ++++++++++++++++++----- docs/schema.rst | 74 ++++++++++++++++++++++ docs/senpy-architecture.png | Bin 0 -> 66919 bytes docs/senpy.rst | 35 +++++++++++ docs/usage.rst | 32 +++++++++- 12 files changed, 463 insertions(+), 20 deletions(-) create mode 100644 docs/examples/example-basic.json create mode 100644 docs/examples/example-complete.json create mode 100644 docs/examples/example-emotion.json create mode 100644 docs/examples/example-ner.json create mode 100644 docs/examples/example-sentiment.json create mode 100644 docs/examples/example-suggestion.json create mode 100644 docs/schema.rst create mode 100644 docs/senpy-architecture.png create mode 100644 docs/senpy.rst diff --git a/docs/examples/example-basic.json b/docs/examples/example-basic.json new file mode 100644 index 0000000..c9f427b --- /dev/null +++ b/docs/examples/example-basic.json @@ -0,0 +1,18 @@ +{ + "@context": "http://mixedemotions-project.eu/ns/context.jsonld", + "@id": "http://example.com#NIFExample", + "analysis": [ + ], + "entries": [ + { + "@id": "http://example.org#char=0,40", + "@type": [ + "nif:RFC5147String", + "nif:Context" + ], + "nif:beginIndex": 0, + "nif:endIndex": 40, + "nif:isString": "My favourite actress is Natalie Portman" + } + ] +} diff --git a/docs/examples/example-complete.json b/docs/examples/example-complete.json new file mode 100644 index 0000000..420e7ab --- /dev/null +++ b/docs/examples/example-complete.json @@ -0,0 +1,86 @@ +{ + "@context": "http://mixedemotions-project.eu/ns/context.jsonld", + "@id": "me:Result1", + "analysis": [ + { + "@id": "me:SAnalysis1", + "@type": "marl:SentimentAnalysis", + "marl:maxPolarityValue": 1, + "marl:minPolarityValue": 0 + }, + { + "@id": "me:SgAnalysis1", + "@type": "me:SuggestionAnalysis" + }, + { + "@id": "me:EmotionAnalysis1", + "@type": "me:EmotionAnalysis" + }, + { + "@id": "me:NER1", + "@type": "me:NER" + } + ], + "entries": [ + { + "@id": "http://micro.blog/status1", + "@type": [ + "nif:RFC5147String", + "nif:Context" + ], + "nif:isString": "Dear Microsoft, put your Windows Phone on your newest #open technology program. You'll be awesome. #opensource", + "entities": [ + { + "@id": "http://micro.blog/status1#char=5,13", + "nif:beginIndex": 5, + "nif:endIndex": 13, + "nif:anchorOf": "Microsoft", + "me:references": "http://dbpedia.org/page/Microsoft", + "prov:wasGeneratedBy": "me:NER1" + }, + { + "@id": "http://micro.blog/status1#char=25,37", + "nif:beginIndex": 25, + "nif:endIndex": 37, + "nif:anchorOf": "Windows Phone", + "me:references": "http://dbpedia.org/page/Windows_Phone", + "prov:wasGeneratedBy": "me:NER1" + } + ], + "suggestions": [ + { + "@id": "http://micro.blog/status1#char=16,77", + "nif:beginIndex": 16, + "nif:endIndex": 77, + "nif:anchorOf": "put your Windows Phone on your newest #open technology program" + } + ], + "sentiments": [ + { + "@id": "http://micro.blog/status1#char=80,97", + "nif:beginIndex": 80, + "nif:endIndex": 97, + "nif:anchorOf": "You'll be awesome.", + "marl:hasPolarity": "marl:Positive", + "marl:polarityValue": 0.9, + "prov:wasGeneratedBy": "me:SAnalysis1" + } + ], + "emotions": [ + { + "@id": "http://micro.blog/status1#char=0,109", + "nif:anchorOf": "Dear Microsoft, put your Windows Phone on your newest #open technology program. You'll be awesome. #opensource", + "prov:wasGeneratedBy": "me:EAnalysis1", + "onyx:hasEmotion": [ + { + "onyx:hasEmotionCategory": "wna:liking" + }, + { + "onyx:hasEmotionCategory": "wna:excitement" + } + ] + } + ] + } + ] +} diff --git a/docs/examples/example-emotion.json b/docs/examples/example-emotion.json new file mode 100644 index 0000000..965d91a --- /dev/null +++ b/docs/examples/example-emotion.json @@ -0,0 +1,41 @@ +{ + "@context": "http://mixedemotions-project.eu/ns/context.jsonld", + "@id": "me:Result1", + "analysis": [ + { + "@id": "me:EmotionAnalysis1", + "@type": "onyx:EmotionAnalysis" + } + ], + "entries": [ + { + "@id": "http://micro.blog/status1", + "@type": [ + "nif:RFC5147String", + "nif:Context" + ], + "nif:isString": "Dear Microsoft, put your Windows Phone on your newest #open technology program. You'll be awesome. #opensource", + "entities": [ + ], + "suggestions": [ + ], + "sentiments": [ + ], + "emotions": [ + { + "@id": "http://micro.blog/status1#char=0,109", + "nif:anchorOf": "Dear Microsoft, put your Windows Phone on your newest #open technology program. You'll be awesome. #opensource", + "prov:wasGeneratedBy": "me:EmotionAnalysis1", + "onyx:hasEmotion": [ + { + "onyx:hasEmotionCategory": "wna:liking" + }, + { + "onyx:hasEmotionCategory": "wna:excitement" + } + ] + } + ] + } + ] +} diff --git a/docs/examples/example-ner.json b/docs/examples/example-ner.json new file mode 100644 index 0000000..27535a5 --- /dev/null +++ b/docs/examples/example-ner.json @@ -0,0 +1,44 @@ +{ + "@context": "http://mixedemotions-project.eu/ns/context.jsonld", + "@id": "me:Result1", + "analysis": [ + { + "@id": "me:NER1", + "@type": "me:NERAnalysis" + } + ], + "entries": [ + { + "@id": "http://micro.blog/status1", + "@type": [ + "nif:RFC5147String", + "nif:Context" + ], + "nif:isString": "Dear Microsoft, put your Windows Phone on your newest #open technology program. You'll be awesome. #opensource", + "entities": [ + { + "@id": "http://micro.blog/status1#char=5,13", + "nif:beginIndex": 5, + "nif:endIndex": 13, + "nif:anchorOf": "Microsoft", + "me:references": "http://dbpedia.org/page/Microsoft", + "prov:wasGeneratedBy": "me:NER1" + }, + { + "@id": "http://micro.blog/status1#char=25,37", + "nif:beginIndex": 25, + "nif:endIndex": 37, + "nif:anchorOf": "Windows Phone", + "me:references": "http://dbpedia.org/page/Windows_Phone", + "prov:wasGeneratedBy": "me:NER1" + } + ], + "suggestions": [ + ], + "sentiments": [ + ], + "emotionSets": [ + ] + } + ] +} diff --git a/docs/examples/example-sentiment.json b/docs/examples/example-sentiment.json new file mode 100644 index 0000000..ffdcc60 --- /dev/null +++ b/docs/examples/example-sentiment.json @@ -0,0 +1,39 @@ +{ + "@context": "http://mixedemotions-project.eu/ns/context.jsonld", + "@id": "me:Result1", + "analysis": [ + { + "@id": "me:SAnalysis1", + "@type": "marl:SentimentAnalysis", + "marl:maxPolarityValue": 1, + "marl:minPolarityValue": 0 + } + ], + "entries": [ + { + "@id": "http://micro.blog/status1", + "@type": [ + "nif:RFC5147String", + "nif:Context" + ], + "nif:isString": "Dear Microsoft, put your Windows Phone on your newest #open technology program. You'll be awesome. #opensource", + "entities": [ + ], + "suggestions": [ + ], + "sentiments": [ + { + "@id": "http://micro.blog/status1#char=80,97", + "nif:beginIndex": 80, + "nif:endIndex": 97, + "nif:anchorOf": "You'll be awesome.", + "marl:hasPolarity": "marl:Positive", + "marl:polarityValue": 0.9, + "prov:wasGeneratedBy": "me:SAnalysis1" + } + ], + "emotionSets": [ + ] + } + ] +} diff --git a/docs/examples/example-suggestion.json b/docs/examples/example-suggestion.json new file mode 100644 index 0000000..339be64 --- /dev/null +++ b/docs/examples/example-suggestion.json @@ -0,0 +1,35 @@ +{ + "@context": "http://mixedemotions-project.eu/ns/context.jsonld", + "@id": "me:Result1", + "analysis": [ + { + "@id": "me:SgAnalysis1", + "@type": "me:SuggestionAnalysis" + } + ], + "entries": [ + { + "@id": "http://micro.blog/status1", + "@type": [ + "nif:RFC5147String", + "nif:Context" + ], + "prov:wasGeneratedBy": "me:SAnalysis1", + "nif:isString": "Dear Microsoft, put your Windows Phone on your newest #open technology program. You'll be awesome. #opensource", + "entities": [ + ], + "suggestions": [ + { + "@id": "http://micro.blog/status1#char=16,77", + "nif:beginIndex": 16, + "nif:endIndex": 77, + "nif:anchorOf": "put your Windows Phone on your newest #open technology program" + } + ], + "sentiments": [ + ], + "emotionSets": [ + ] + } + ] +} diff --git a/docs/index.rst b/docs/index.rst index 70ae802..5a380b7 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -9,9 +9,11 @@ Welcome to Senpy's documentation! Contents: .. toctree:: + senpy installation usage api + schema plugins demo :maxdepth: 2 diff --git a/docs/plugins.rst b/docs/plugins.rst index e2f35d1..2632cdd 100644 --- a/docs/plugins.rst +++ b/docs/plugins.rst @@ -1,31 +1,32 @@ Developing new plugins ---------------------- +Each plugin represents a different analysis process.There are two types of files that are needed by senpy for loading a plugin: -There are two types of files that were needed by senpy for loading a plugin: +- Definition file, has the ".senpy" extension. +- Code file, is a python file. -- *.senpy: this file is the builder of the plugin. -- *.py: this file is the interface of the plugin. +Plugins Definitions +=================== -Plugins Builder -================ - -The structure of this files is similar to a python dictionary, where the data representation consists on attribute-value pairs. +The definition file can be written in JSON or YAML, where the data representation consists on attribute-value pairs. The principal attributes are: * name: plugin name used in senpy to call the plugin. -* module: name of the file where the interface is written (*.py) +* module: indicates the module that will be loaded .. code:: python { "name" : "senpyPlugin", - "module" : "{python file}" + "module" : "{python code file}" } -You can use another attributes such as `description`, `author`, `version`, etc. - +.. code:: python + + name: senpyPlugin + module: {python code file} -Plugins Interface +Plugins Code ================= The basic methods in a plugin are: @@ -67,15 +68,57 @@ Training a classifier can be time time consuming. To avoid running the training You can speficy a 'shelf_file' in your .senpy file. By default the ShelfMixin creates a file based on the plugin name and stores it in that plugin's folder. +I want to implement my service as a plugin, How i can do it? +???????????????????????????????????????????????????????????? + +This example ilustrate how to implement the Sentiment140 service as a plugin in senpy + +.. code:: python + + class Sentiment140Plugin(SentimentPlugin): + def analyse(self, **params): + lang = params.get("language", "auto") + res = requests.post("http://www.sentiment140.com/api/bulkClassifyJson", + json.dumps({"language": lang, + "data": [{"text": params["input"]}] + } + ) + ) + + p = params.get("prefix", None) + response = Results(prefix=p) + polarity_value = self.maxPolarityValue*int(res.json()["data"][0] + ["polarity"]) * 0.25 + polarity = "marl:Neutral" + neutral_value = self.maxPolarityValue / 2.0 + if polarity_value > neutral_value: + polarity = "marl:Positive" + elif polarity_value < neutral_value: + polarity = "marl:Negative" + + entry = Entry(id="Entry0", + nif__isString=params["input"]) + sentiment = Sentiment(id="Sentiment0", + prefix=p, + marl__hasPolarity=polarity, + marl__polarityValue=polarity_value) + sentiment.prov__wasGeneratedBy = self.id + entry.sentiments = [] + entry.sentiments.append(sentiment) + entry.language = lang + response.entries.append(entry) + return response + + Where can I define extra parameters to be introduced in the request to my plugin? ????????????????????????????????????????????????????????????????????????????????? -You can add these parameters in the *.senpy file under the attribute "extra_params" : "{param_name}". The name of the parameter is going to act as another python dictionary with the next attributes: +You can add these parameters in the definition file under the attribute "extra_params" : "{param_name}". The name of the parameter has new attributes-value pairs. The basic attributes are: * aliases: the different names which can be used in the request to use the parameter. * required: this option is a boolean and indicates if the parameters is binding in operation plugin. * options: the different values of the paremeter. -* default: the default value which can have the parameter, this is useful in case the paremeter is required and you want to have a default value. +* default: the default value of the parameter, this is useful in case the paremeter is required and you want to have a default value. .. code:: python @@ -83,12 +126,12 @@ You can add these parameters in the *.senpy file under the attribute "extra_para "language": { "aliases": ["language", "l"], "required": true, - "options": ["es"], + "options": ["es","en"], "default": "es" } } -This example shows how to introduce a parameter associated language. +This example shows how to introduce a parameter associated with language. The extraction of this paremeter is used in the analyse method of the Plugin interface. .. code:: python @@ -98,7 +141,7 @@ The extraction of this paremeter is used in the analyse method of the Plugin int Where can I set up variables for using them in my plugin? ????????????????????????????????????????????????????????? -You can add these variables in the *.senpy with: {variable_name} : {variable_value}. +You can add these variables in the definition file with the extracture of attribute-value pair. Once you have added your variables, the next step is to extract them into the plugin. The plugin's __init__ method has a parameter called `info` where you can extract the values of the variables. This info parameter has the structure of a python dictionary. diff --git a/docs/schema.rst b/docs/schema.rst new file mode 100644 index 0000000..62879c3 --- /dev/null +++ b/docs/schema.rst @@ -0,0 +1,74 @@ +Schema Examples +=============== +All the examples in this page use the schema defined in :ref:`schema`. + +Simple NIF annotation +--------------------- +Description +........... +This example covers the basic example in the NIF documentation: ``_. + +Representation +.............. +.. literalinclude:: examples/example-basic.json + :language: json-ld + +Sentiment Analysis +--------------------- +Description +........... + +Representation +.............. + +.. literalinclude:: examples/example-sentiment.json + :emphasize-lines: 5-10,25-33 + :language: json-ld + +Suggestion Mining +----------------- +Description +........... + +Representation +.............. + +.. literalinclude:: examples/example-suggestion.json + :emphasize-lines: 5-8,22-27 + :language: json-ld + +Emotion Analysis +---------------- +Description +........... + +Representation +.............. + +.. literalinclude:: examples/example-emotion.json + :language: json-ld + :emphasize-lines: 5-8,25-37 + +Named Entity Recognition +------------------------ +Description +........... + +Representation +.............. + +.. literalinclude:: examples/example-ner.json + :emphasize-lines: 5-8,19-34 + :language: json-ld + +Complete example +---------------- +Description +........... +This example covers all of the above cases, integrating all the annotations in the same document. + +Representation +.............. + +.. literalinclude:: examples/example-complete.json + :language: json-ld diff --git a/docs/senpy-architecture.png b/docs/senpy-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..dd1b6427a2ec9e6bf7de796b33adcc7520fd8cf8 GIT binary patch literal 66919 zcmaI8cQ}`AA3sjgR4OvcD3N4kWMwpnN|Xk&3XzamHcbf`Nyw^*R1&hv%FGTWBYVr< z+wXOD-}m?V{_#7$j-%swj&6NE*L7a+^ZkCU^LlhfMRC)H9UCYpC^nr?l2@akpdO{5 zp!8g~27hy`{Bl12XSL1I6X)0A$9bKh2L;70iWBlj&fA9#Halos=$6$$$^epE@!_J)&vQauU5M&Z^jECp7gL1`tQQv1aK8inn&=>F&T9;FD`~9$9 zO}#Z_dW2RbY|HuFO&i;nwHbd=J7t+>&8%7NT=ymNm!Vi_g~$JXl*k@iLa07xYyCr_RfxV$}1>X4K*J8pqq8l*;)G0qelhB#XDIq$p7;* zekUtS=GLuS^-WEk9UVtQgs)oK*~O}aOZ|AS8E`4(`q`-Cn>@Gk8rh!rXAy~e;NwAW zXj~b#TS6k3Un}*aaTS|@cKYovUk)9-{^P~&wl<^C(o@VjC-KMT+S!3ArQEQfzf?mz$LaK8H{ zlj>L070(Yw;d75GGG+*FA61Ax{K(780Do!L`00_K-S-_@r-isjKS_F=v6?w*7N zaCUL&Z~h`)5h`9>dQ$7*$*(U~WqUC73^pV?FHQa8)A)Eh>1tU`yp}kAkw+`_eRcJ} zOCP;1!@7IJJM{!3T$J{gTaVRs9Uh3cI@8(N*+oU2*cyw^>H0D{YAL%gD027i-M*Hr zL(O08Vvj%GalCljzmI;mv~<|jvS*2gCEM`%%#zm80}T31Sq$>>;}u`;t#z2|4l-%{ z#M50CWZYXB?#(81DQC69KNk?4`{u$shA2f}Bm9@Ayy`whk9XEaDbj9cmo>8$<+=N5 zm7e_g??|`hk}o6KWz$1V%o3KnvK*)KT3TBAG&uhKnYlU9bGoN0vg*BN@-;lL0B+SD ze?>MSsb}RW^LUvuwJUC3no=MMZIy5GA;b#Kik z{a+t+($mvN3+PlwyMy$eJb9vzt625-DhfX6d|{HdKTug&xq8hSwUp}@qW1jzkUgY7 zo{Loxy8dIIzJbA9PpF0ca7M4U59fp64YM5jXHT3s;l1OaC-p{#(XnFo&Od)lZ8`tj zHC_u*8(;axll;g`OQCd%;X=%=Q8@Q)fWq87Sdns#VBahQywBcQ7-a-eVyHvD_3S0 z7HVTv*;lPvbs$9fxZ;zehpC;nmZU^SbLzS+-BgK?F3DM0vWWlu-?DP>OG!QdrR((g z^UXiwxYRhoZ0Q3ib58XeEtw~9{X(G?q(JEfb$|CM{r5E8zuf%8fQOM+S?R;>wz!pS z-9078lx6S_i}4VSmp$XRvbNTr9&Fg(^6!@RSX6(sjVoBhcr(|jXVD5?45;ObKBe(3 z=P32$t-Hp%%j}(;YF`|oict=E6?FH%=l1(+QIR{(xtP&%k*c<#p?Hq$uIG4UPt3>0 z#y(lJvRPPI9QR>~tI$BTcD<}kx_avO@83zz@6=vz;J@_g@;ATTVX`h#wHc>^1PUuE z9`8Qp-sLo$Vbj~u(^IsT-Pv!%2G^%F9IU(-8|Fb;nz(sWDwnKm3%N2iTv-yAkdXh4 z=Fek&QNF_Z1?!?Z$p)9+VrptSI5;Sr$;HKGHCQin@q_jWF9v>%MEwWVLU@$XTbS^i z0(sSA6n)vEqobKv71@OMw|RYY38^repB_4O{rZ0Ffx1#Bl$k>x_3G7In3+S`hYB9i z@#$s;?>KnfFF5$yo3l~r&T~oCXDRI$$BG^P#HWo;Pm4);;tIO_N(}V}e#CKdakcmM zK5Q@(lX@a8e;!4$utUaC6wRmOT|#zVV`F2V1bJ)@uMA6`*gH6o7BDz8lwsAmW+S73 zs1yUmrX8Y}f4n*S$-JqqZy$d1$;P_6I_IgM>h~W$6fr7iit7A!OdeH~5&PoBF0zF) z9VYgjeRaRuiZqCE?FSpS*QkGvly<18KY)L(cJ1lDvv(aPdW7tTwd)e}ENodEl-^*k z*xf{rou3)0QrB~NkerG`=gy&>7Sv#00y;lqcY6|b~7Pe=L6mf8-^ zw7T^Ms_VYI7=P)<+Y1}z*M_94CzO@D&;VH^EN|<4xivPF)_T2a&(^K}(p~-i zCvseu`l_SWzI^%ex;o!X^mgor*BHTP-=61LL(67nOOK-Rcb+O{ciXaU+p5ElcO2w% zUBbtU*pFWB=|=1&X7#cv&aRZKm1I%Fb?WuAy-C+Y7wtZ^vJs48+d)SWt`g@pnRlRF0Gl zN2P9MU@)>};mQ4RR8d}7NkyfnLcF!B(^oErwDV#z2TJIojz8ANF0qrjVQN|yeIlSn zt4gEBZFz#7Vt%qepkD(;@kZy17?!nadg^45!0CnQArTo}%%IyeE<;0ugB0sFZj8d0 zX=pB4oK{y+Uq;{gcF)Sn>PmUA5DlAj@W+n_QfmD9OsKOx3=bF-(S(JCjZRG+{JYzg zA`(+miz+JxYD0mdWMyT|0A*B{*-oB5-3a@=yn61H#MDx?Hpl9-m(+hmc0FQ7j|MsPncTJHVzbQ)QXDb;8H z?(Or34^y}-Ojpb}2 zEFqs(s<)VV<3}tnONAglg*FD=d~&cM;7YzbGpoXeT^MPrZ{J%>n`GW3*5c618Wly_ zIQ;0^4{w|-caVcZ`zrZS&4x;&e{3;RM55Bm`y{CDP=zMynp{b zO)=K#8-7PPymMrPHaD%+wXD#Kv6fvtv_d&V_(6KQ#4h7_tEBv&Ke02`O^>uz%}@Oi zVO?1$Iud^=g-Ps+Sroon z`gAuZ=Y0@`(I4kj6WvypSJS@#A!LRkb_WY4(+?FIliPvAQZ3=Hxua+ZovLX>^K z5+W6PQO^E@Xt*y_BV~d5#z)*%n))Qv4rAn~6@<$;J$v!ug|grX1Fq43!Kuq%akj%t zkO>_S8`PjR+oiv_#d+fNrBt(!xZ4)OA;E|21V*wK1dbdzf)%1xYPx(2k5m5m@g%nu z*V1SFrem3Vj(fKa{Cvl!mmRj9_u@xX>ZAdlo>BeBE4F{?Dmo@GpOvObzem|bym_I8TWMby$%(!2?xMpJabe*nC~fQIMF&iF^t|4T z-iZ9KUw5na(2>R2DSm?mbFEQBmjc_s^V5$X=W#`v>6W_>n%0R*`QRBV`Huqpjr~c; zsrh1O5#hExM^j8l6Xs`z^PKRPTSK2mP7@-@{&9^VMdC_0Va+-<3Y|dPs|MO2-@d%^W+jj@5*MpU9-n{uof?g!9p8#3VEqvwG z?$W^X?=DvKy}>@y_rrA9%FJByJHrMax(3iP+QZY!D@yJ4$-(+WDn>@efAAaG{NLPk zvYnX)1rsKhu1EK&ZDjT5*uQU|2lnJ!d(uP5k6Lc}=g;GSo?GbY4Q=U#2wPD20R}Wi zaF{#!81iHI5}n7aC9|QANuQu+&o>~Qy7ukVQ3n6~0#=w|hxm-v z4S04V(`nLc@e_Uft!DCG;96AM4ps%4=vCQDTR&YbV~EfG7p`yR$yMG$#K{qr^Q^21+2Jirlm zvL5^AOE7qIF@qm{`SRtT&QE@`i|y_CxI92*C1qt%DNiO~K!1)NOq##^*}&j0%J}E| z)@o^Kp`;`o#-ppx7VHAfr5C~^jKyw0UX0fD_s8Gt&83w6+$v!Qq}>1gu&$DT{cXK9 zphs3VHu-?(P!z2G)balx+NQKyJ^s=`jP%D?wX?LFZ~*`<(o2)I$BXUvWsR5e_K)ag zJBLj4R-Maoyh%m($V2I@A6hif1mW=yY1w-w`)jpxT*Co>cCw!4Y?Y9dY#$s{#*ieK z+5~fS(@wDhK;FJx($2d+65T#(I#mN_U+zx>RK>J=&@BJOEY z*&*t2s(enri2{~iuzSsHkOuWVZo}SwhzUwW%`YS3|Gt*uO zcfqxPzbA&0^nwnz+Lro;27(>&ypM)U-Mm&4y&mnG3p*A=!KfCQ9H6p%z`Yr4jNVyP_N|aNoHY?`k2wJToy7^F~pyzkEy^Nvn?4=<)6Ov~pdc z7TJlj&Vt#q`tH7pJ}i%df`STrdG07b+4(P88J?@?U0etkOuZy45K!y>MW_APEJ zF2{Y@9z&-AN$3CJ7Kt*cJ`eS2`>5A}0C1`8q+KiTw6J!hc+exC+|J|TwYt71q3S>L?2@kMWis&k~KCnBQ6z#u2J|q z-HJ+8Rdwjjd3j($rL6%^p4?4INvRgHHir^J#y8d4&7&pUk>9hN?A~5@XJq^SD37FM zL*F_M4uvA1a?mN-oTcfVxO^-G9X)*kwnB>C<8Q2H=H~rB;^^?K^`{1Y&d$xD!ppE3 z*Kgd|S;(l@h3V$adZ_MiPi43w9P)j~;H$Dy@SrC-kOdyyyLS&)admdIoiu9E>pwgo zKM@w*;lg(ETvaDSIKP0f$GxKXoc!N&pSuhqS0 zHcAe`-ai2OCG|%0bz5n)DgU+PyXfuL(y|!>*b`9*TZ{P_xnO2lS;xsYM^21CM7?u3 z@PfFs=Rbs;#lgbLYSNl516)o3aLBX{=mmki5z@?{n9k15mKapvs+njJ4_vDs;PKMm zK$ldy^DHb(8TaFWjlF5aU>?Gh(X2hd`5LYg_UkYAa6CyPvfgLg{-Z!m_9Iy{&|SF? z9QY1pjW#7W_b|i`CRt|*U0q$N{PpQkya)X?$W`3Cci(YaS!g}3 z__eT*E5DdPeU6On(5*m;ByJAS@7}%pyD4tg(Pw4P_jYsX7siG-x(rH^HT8~i`{(s zx#&xvSVDM6|Evr<@xT6gU+fW@C)7-oklJNJVNv(`SR~u09C05%1R&?c(AhK&*yOLgI~PsWmiAhoRL;;%TBkzt>1y z^^ZydL3I;wbr)F5*Zh1cZf0)8f(+ zkq`l@=bL#Ho`i?9e)#Z#ps~T^s_{nC1VY5{s6s?dw&B45Of!Q=--A+D{Z3ubac1~& zPEJmBHBnWEPk@#2d~{u&GuCzNf4w%l5>mT;$0KeC+s~-gu2$hHBy9V(7$q}PBsY{} zgxEtn>i_wUQA~__rFbO&Vy>Lqvh>2t2scD(K>jT(EMd!YRgVBf(GJ(=;@%I#G_lAW zbAR3GskHSL2x^PVj1C5te5jbY^?5UPDcgP6XGC1V4gwcbJ#%IY23*yJooxPj<#lz> zfPAV!;x8uXK8}oJ&(6+9^9TX(*L5CKz?dyXKY#4AA5XwqojT_(C&&10UDvs*5%wMH zA(bDAQ+sXg!U`0ot)m0LZar@Rmx52{^HYfauPv^diiJM%_U?kXsL9~>>%C?^_=ZjR zo}9n!wLM!vH}e~`B4v~`qo8gV5EetE0mctHl!rpNtjlw(b24;8LXw6i{`w5}?ycXn z37Xgg(!CS)6*jXhiJR8gieEVcl>yE`b_wFLU zm_>^+1UF%spwppZW2L+aOix9V@f`H^^#M~!%PtQUuOdoy27IH(@80nOX0$^+tE`hm zBQQqWS)6XNfNF|%yb+yw9Sseib?AGqu4l=~BG`Ebm};V?b>8t>X-QY|*GS9AI1DBh z|CL>V)jX8;lD7Ra_2!?86u<*^zkXsPJsNCE^Tj`iNqY>&X4d>U5H~Gj8*ez=4GB}f zqu>#dB4CXK1P6OSzd;*k1Bn%bJgma5b!NlS>gsB2+Pj!jiH=j(;Xwr@OxQtx)a#}5 z&l>?~laP`kJqP=9_|P(*#^gwAB=A;8Umr1_{+&B>eix%Hh5nA65L&s#Ef_s$<(i+a zZIyAF=H%p*PcR~Fag`$34nH8XuR4sS{Fs=C%De+AINJV@J;wJ0Bqe;KyrN?7TVqER z>}kQO-fyL_2-nll6rel2JoXR`iwM{*^OG;ZK>03x@*ovrQo9!qZ=&1AN)UKe)V%R2 zh6!p*378<;cyx5M4W3!mjDte-D28J}Vd2>%!;%FbR`dp)&$cfyydajYhOGsGV`BGf zrS|PiOiJhu%ouP$Vo}E)ZdQIS`e>{Z#w6iPoKyh~eH$Kobnyn16g=3-=H};|gJwotrz>`6REJePKbtnH*OaBB}$i zssM{Mq+9JlhY^)}PHN3<^*FT$-~*7!pDhQYVpV0P=*jPY z;ySIN!306rF3Z6{IApdfKsDWELF|y-Fek_a2Aea#?%LI>KU%cPx-LzrLr$15Z^>zB zXb^(J4-b|weJBT2Gc*uxp+D>Zwk)Ww_J?0Wv|3;`zJi8^5FqzeZf+wrh94I?r?VMpy%3A1mtA_gmf z)tukH#|>siz`aB~NBwutIqwZv&&&I6GL&cg{_~fC3xF^8RrNA#Er}~AkSAgiZj@L3 zLo~$M+4=b$tf!*S5G(=|VEFUx1@bu%&x9N&uVt-LMU`xz`Fmaa&&4SF6gAb?e}@{I`sJ>LmA{Ct8gtFdwKqGzzh`}glZCM5|=9si7KIB?^)#0TvR{Y2C3(Y%eo z{;`aK@$cVb++DoG&mgS~NKyjPpFA`->QeYCRalBmDtpz^AKbtH9eoikS^}&MT4ZwH z6nMuv^m=&tnD|@S*i@92X}~ZU!WE-;+1$ESgtCB+h;bcvF@6V-4)OE;&$2tAuD~ip zq}*SER1}L;NgLSG5cG(7_MvH~rk2(@5PV#{<*i$L4;=8rB5O&!UaT+^n?N@*$`~7i z>q3lkF#M{iDFc1|bo((5^h;-ucf00fO!0_aAgW;P%~M5T^xEjgV6)7uoiE`I%C1Sn*?_DRy{%G-NpFPnVDGdL>S6vAVqnV?-@@cnk@YKXM%bvK>|A7 zJ^@E;ZAIaKbfW`8YJUjbg!um3wr%^rNxTO=nU+c~gTh-z9%w=+AcGf5ta}f-pMLIb z%8dOja7jCdh8_dS01BzJ2E5pZ0Z0R(5xv&f;Wq#p0ibE#r9QaXWYb?CzOaGiXJilK zYb6~g_x)AjVhSN2yh5=;(iwMKnQ?<_+IwBML~iY7mdkixoZQ@i>;cQAF~GxTFq!Yw z%1A>%iGw+D>KWflToc-5;B6{0w%ola=yzF`JV&qzIPCWc|Vo0I2&ezSm&m z;mEZiedR)9euDtQdV!g3ZOe!(#9yJm{CCcTH>Z6ue-Rz_JM&? z0{#|;(%Abh{i%yLz;h!?1Vn@O|F;rR!^>Tu59J#}F1Mv60*&knjA>g=w1o`UB`G)~ zERxm))ygi<8lYAQslna%Vjvn%_Ep1|6+)NI%*^!m;m77v@FVo#8oypPi_#wl3mz18 z$c8xTEExhPXW>MryDmApZ_=441BB>n&2dZhn)z2RN5gI#9*!vP-{AiADLr^?=^d)I zMDiZ~!m(6ogY*ssVLhn*Jc#}<1VTZWGz@GNBM8%*S){KnekbgZ zS9T*U_}HDSI;c%groS`5^U?ri2fm;PXmgJ|rv?mZ+z&8^52h7V1Er)9R%5agHSZnew zx6YzX7RkEQ`9P=R}#$*HmvjYL5 z3J82S%s9Gx=)x-K*K@KXQ-6LXn??Bt;xm&i+mCuO3Pu#iZEy#e5{83?vV3lA!?|~F z5-=nBa{+p5KN@}ZCw>nvuRXG|5!{i^!c{%QCNiyiUvhD4A0`y0y){&P8s7xntR1SV zRW!b@qoXYmS}QjaL2GNDz~Iy?yHVb)2N#l{6FZ=lMx6tc}^o)#h?a{e0{4%7xsZ7K^z;Xi#NTT=Ph+>&;t<@NG-7d zKdY&!6JbX}D9l3@!7cZw-bz;4;|$R)UL&4C(bm&rRQ;z8A-io{C!^E&(EMl>n(q8- zfi3ZvSzeg3`o1OG){5g;!fC^)|QWf^(`eg>X+xp7NZ7 zH-0Ns&>a5*Xt_M>wBO@uJcKB0hH?1P;P>)K)Qpae zooE#~#+j4xd5O$|!SAp(FT+y9k zX1Q=WFkh5I-;$V5_CG6|vvTg5$=S1KnH$4`D|%Qg%CFz|VLe2)f$ZXFzH|5t3aPwK z0(AOV;{wx_#!n{B%X7W7zc^c+H&R(Q3u~ZxVm7?66I(5uh_U!znKPAx zrNa|S;-lyGX$cK2ecx_5zXb{xX*{6Y%Lx^#Cybf4tYf=bJD+~&%iR>}6~iRn&9Vux z@#StN6oa%qxoPY*P;`NW6fa+Ha}o51M2H(=61}zsP49VklFSQa!tNL_Uz@m8M8#9` zQLx@mS)m#cNlXGc?CZkn>aBu;f*`lVrG4zPS3w)AHH);IMyeTe^XHqV1X~0lWFaxa z%qn;ag9H1Wz%4{WjzO-)s=qR>ihzII_mc!Up7g%=-n@(B3FEEd-zT6EK;KI2y9ro$ zAhe>N-S|ST9E3OkzbHs){k%^xIGtMcujx7>BVvy~hz5+y6o*S#-6hZo;vwexh~%`Z zE39{*)F<(YxSgwLODuA(zy0!VxgvpKG}ck593~;8UX=)8O?u|Hji_0@AE4RzZ=0&_ z>l0mYRUM}XL*k#E1i#Pd9Yg;b1?Nd}nz`Xl!<>iTWJ|Z#gQo%6uYa<)0hI&C-Rjqv z8b>TtHk>rI&$Cn^uNj!}=jfi{N0UUFH`qKH6sDlHi7+4JWn% zZ4>#K63Z40X);)njjK}aV+Qx>WlQf-^od5@!ZIah+tnQ+F7vkFpQ?x)IrM}W*W*&~ zpSu%_*~)%~0Uf1VYK*P!d{;1@~{6hZ&R%i4wJijlCJOt8)4#9(EZ9EAqHwGR06BMk0#Kp7I=nCI%g^ z#L|E_7Jfz%7$$ONt04`EV!R(a^cwlI7W>Y}d{q_0GfWgG>?ZX_mf3!1Q>R3@D_WJFfm^-oB8P;H9;TU%lfM+pj)fj_UAcG%nT+>RO^*90#8i6L_ULymu z1-b^fJ~N`Kf4M%%4AbiqwXG``+Zgq)vLXRR8(=gh<#D?2;&onYaV%3Yz!pJlXbpg* zthJ?|%G-f~+wsi4-K3N|c<^AcLNj5ffQYL;0@Lq`Pe0_g?7Uz7 z1EdMzPlrRa2pqXJ)`C zwyG0=4ZXq8w9+jpDd`m=kK`&K0CvqTx}8LNs_pAN+~~^kJ-U&7pTs9iS~z=te9E3% zd-TeDlO?Y}etV9d$wXBsuUk%{!%s8;QQ7)%EIyI8|0vUjQCx=CT zEJDob(7Pq8!`-8sZ`NdeYwtblA`@cqRRz))N}yXVSi zRis=brkb(o`_Ryx#AQ~MoimIv0391_$qL28c`cU;RE4p;n6pXU<}#Y^468xO5-W&w zAG8p(kId;tQ|a+>GgmczCD=_kbhkavpvES}+WDa- zAi*Satqbp_A zr*F=qY5a#9e^tYliVWD!kHsWPA~bIjriBqOM$&K3=&!(|>p~Lx6;u^sSrAbXZmh}g ztV^%Aivma+L12A>T60fy(LxL7@ zp0xzh#+Hh~JSWC3HpVJVCX)2D`DD@sRppItmK2OdXhPY`^QM3O0c>4Kr|Cf|m($)g zBn5>51-Z}X@#)HyNx~Q_D)`G*x%w3Jwz(Im+Fa>%YwMz)scm9{6ha8r@M18X}?{??v@^+~}nL3bac%#p`f5a0e* zHp0p|M6vCjTmJWFBsD;C?#NnQUCEGrLBObs`GEb=DZU%ggB$Yd>QWDzr)p{Z|7lq3 zplX$#DX1#Vw>-8SiH`FX(mX+0Y;0`zA3Puhv-7Y2xPb?ROFqdD&;>FA*vKcir0PQ! z@EsmP0Ebo=4QT1$Cv1m=A98|UU7TW|%}I|I1!J)RNH-Gm0*0Z?_mt%lGcm;M74Sh6 zzH$*4zfVq18rDRgz;=QAX=!Qsu|7=lW_Rg!V6!JfV`5@rkVF`tpLW*K*1pz~DT$qS z$|A^53xe5DK-XV`7}X=gvtYD?V1<(zh!LOiMMj-yBrzt%IDLrJhu5TPe< zNqs3aH>fFDpd;uemFZ4|pDN)N)#x!34QT(x_a1ZKH`~87D6-M!{kqsGPdgqBpbL_6 z4+E@6%H|f*-l%4r+4)i@a%R!T&E{;oC7(AUV>0J?&DbxZm11S?LL|m%oFh;ua3o<> z^!710YQDa{s?QV_9}e{%!{1}UP(Z05IuMJz z;}7^>#f1xG10y624B@{1F!IXPV9h{KMSv=R#!+kn{jb_$W*TJrESP)5RpcjSYff|5es$} zONTZst$}iVxi#J`Z)4V6Ty!6%~vEe!qcb&`i0dNxD|&iA|te zuhCY?Ja21ja}HgRTbWbME)U!Z8^sU>=U_bqK5zh9@($5!e%!yRO7S_B;L;;2qr@|%TqRWRN2Z-Yyj9*wJcBeA}oU;myEtfGZZAh!4qpV zK^n!r4p_1>w$#o_S|7*kn%;^SSK?p-QEP>WK%(>+mI2!L-;)D|!eao`*5phWNZFqY z--)xVnY;!j^2XSMm069?y3XSq7!J9$L5v{j1BhxpW!V%wJUj&j1(tK;R{;bcV1VJK zIA8=uy3RiWwA8fC#(!QlC+x_}%gg4rXocS@1f#2M+N?Ry2>p=+51#UCF`(Ib=`2{x z3`n}ojdu^GT>Gp=Dc7-X(*Ehm4_ApY00>nU&^sy)WgHr|s?ecB8lqdvH5bdR;)A<0 zKq|W9(^^h8`OSpR?4I%oHQP%!$wnPvUY};c4w)x;k#6=O3gPP>wliX0nQ0bB%DD)- zl&;vdVuQPelPYQ5weIGhma9>QTkkb%79;@VMJ$(B@RELF!x<9GTIYisKm1L6_Fw|wTId07MOa`8F17o2{nrOrq<6|D>> zoRK0b7Dhk6Y;SmFgiNUJ`S)6B0ziqx?f@hkzGIO~{zlztZ`XDhS|r*8Q|lz6JeD># z$+Ij(7Xxg&5pjdlIboG6M5O5(nO865s-AGanM}zfWqU2AB5a}tdy`4V(Y9_a-Hn#1 zOy~(Bw+1yNwmh%9Tg>lOzFgbZG!r6W#eta&9`c(bWW@yV6|U(WJ8@_!6Sp<@Q1Ce> zD-90;IsRi#1}3zYaY#j88(EKB34j^$|E5vcp)oTeA?*D$XjJR$={@dhb9 zgm6lO@=Txo&x)l%2SRC_S64?sbe- zeu*#!yVHGfddGrr`8@x`t}pr~3X93bM3{Y}k;svdIqq4Q6dMy0v$Vi>cH916%35

PVx!W*NJPegNZ9)99`;uz#L_FxCFYc2*O*3o_c2p;eoFx42u%<4yTHZj<|0Cs_`PEwm#XF?jlPxW!WBcuoib|O*U z%@dA#0(xZ?;}`k|FNQt;`PO>i2M=V#^riZZ(Vs8$BF9IDG_zx+mZny9`dNcUndyBg zbOJGqY5Z693M4N|{&+Ay^;PK4ro;RVN4dEHwp4JI03!whC&p13soSW<>?ju!B*$=ygDy3s<GeTcDge2F1 zZ93`~$Ig6~mhKO9cwx%bcgROeFZ&*RQ-TJ*J&wSTiZ*AFHdm;l(ib>p&4Hlu990z; z$K1$B#}dkV-1(T{9pJeP_Sats?2z@~1AL z_jlV$YPn>FZ$s^JV0ZfBwU+_skZ%K{aJ{oLb9~p*)DV_GDT%`-Xz^1dBPLA6R0=!x zzkK5%yX8X*yxX1x?9)mel!;73+zxl&1uNk$l~((sy?#GWr}etD=b5~ErrL>PPlnh{ zGr!NZxdQ9}vdEr)^E~y=P`JK8{)|F$uMvyF#cI%$t)qmk|G;M2RN?eIRjMzI&q%vZ(h z?zwD_zG+Qb5t>Ya{eh2c?pH*LBB=YYmH3~$hBfz+0&C^XN zNhkmQg}sdk<iBeJ1^l zLd0dATK|S{Fy{{-;+F2Rv1OL;&zb2Z;uIz^qdAal_T>BDGWMj-%m*T53ZKV!M zCsfKfIcT?UA9){T+4Nr)fJD?bu>CDu5hx7^20x9mSr!l-#zF3^?Wb-zI5_wR2M4zc znVSC5wy-w|-BL{ByLydS+{PbSf6_tbMGSs8$xjYeIL>^^o235r>9Mq)S@Q<1hiaS^ zORQ{e5sChaR&xWq?wM0{F1;%^Dp~SQE!$1aT4)6?O_giQ_}(oy6g~^RZUEZYJ@V_ujY0i9X{x3tC#cH~?jfI*d$_vz&?MRH=;LHgjqiTQcAh|une zH#Xetq8D*K+wukk$wf=^>arW0zzE>@P8oBJe%g=Fkk{7^2c zVE!VNeuiOtSbFYP=^QzgaXLvbzkGW+c3QTU-t2^h&$7MWBzkT1W_mw6OX`?6H#hgg zQMAaKV!+V_NS#9YB@2ik#VWPjGg)&B<2PVP>*HloPh^7f1U#~{2wl#iD?Id&p*F|O zt>)d4K+lzxw!!M?iYD=dbG<)uxU}~FxSU(P+Ndft$Vd-xesKRKs?rP8QT}xw9(BEc zJD{0>+$)h3kiWHQ%cUeB@3Y;A3S?6rUFpF4(GRc{NwSh_M5O&}cUaBmElA2=TfRZb z{pYEGl-qJ9kK~9NjWpXyYxV^?fiQBOQQ6LoobE@QGNy65Q&&i5^?~9KyH2FB3p=gP~Gi%N- z9a^f8*QomS+to0qDqr-75Ixs9u47(}h+^(IaMz`T<0<&L`bJ2aZG}AwY#PCt zU>Ln>pAwJ}ODg6uO4XfBQ&|Zdr77HstoEEy71fz*E1Qj+MfW$19ibGgzS}*Y^ z+Pl5y5cE4DiD+SluTHc0s;Bit zVDNR@#oxAT4^ti@odYy#>{~X~s#VH6&Gp1u+ZNX!*ddbnE!{%{fgHQ1e_!BH(*6{$ zyl^-S2ms~ebYc#8Hw2{3hYo!)TtHk2@km3@uJ$rPxuvpu>oEc z*N>DP`q#F7ezx%sV`p2N-+;qG#5co?SEV|oh2En7*clnLx5lok7#@!G?6Y5_@#}`s%*xGdR9)Z z!qFDwbE#cj)GQ{4=&z$NFbhPOGYCY&+ai?LLxy(a+Pimr;9Y_>lBb3Xo7NnA+wFj3 zYQ=b+0$cN3yr~IE)7TesxHoPO~g7n9lOy!md^)&c(yU7dKJL+K2^^sbI* zlZU24&jP30zs-4>NwXBK4|Suvx7O95=iweU)@1U610Jp7Qwdo98fby%^o7Go&q0%9 zIL_50t+HtmPS~Z__lX`wQtluVXb2=3g{%1m1<|LYs=uMeJumFnWIse3i?kuP=I2PcPtH9nlzrq%YTt-8IY zaKpLA24^0&Q(nHl#!%oUk&4hNIz<~*t%M{R-f{5)Jr@o@%z`#zY!F8u#K)V*6v-lX z6;qkai7UZSBMD~&1|X07&F0P+s|1D`wY7e+^R;VncnF8tvaf*0`{47u`8zO0d0 zxRsYzP0!O&1W(Q@G&HnOA0ft~U%wc&cJ9=erCeM%^!0tjo);fz5l#`(VjF15azdb( z{;k+;2AztTL?Z?$Y780o4ilg*FTWhQ4X2875j_agx4LwI|M(#svN&HQqJD#jx;#7g z?hRg!@2r@m@)w=86c}cAuBheK&R8BhzV9;aqxDR#I{ALv>>7Uj4)-6~RPw{7|4h=Z zgUj|W%#KG2eec~@5&aS>@*plfmIn)#c zhPCFmOk4BZf$I*XMNR6t=@CTZc3G&=Fq;-aa=le_&+>PHS*h-kw}ugJJF)ao1J3a= zE&f#3vznhYxi(7^?8Hjzeps6i(JxWZnUpq>e@>D5ud3U8SiYbUQi#UK%XbG-zG(l z#Nw3tO3vQnZS-%tub%9XGb=tBEFOkL;230IwHJr$vRHQ_=z&SS$N7(S-_*;w)zXIp zS8_)S2j^z5l6)lw#)iZ2LNI?{$DJ-dFHp3UwMl=Z8s;OP{Tjl8IXLD}w_Zxw5Xhu! z%^KDs<0XuACc*au4#1l{)6~?|uQmD@W>>aJrKZwLWcaSBY}=9N3kSArT=FB6v&JIu3d z2_k~<&(==36&)z%XlPC3We6cBTYkMcdk@-wEq?WU6Namlj@>~F;ZQ$6zvApK?Pqa@ zL&AP^7df&BKZ%?I13r9yx~0{w@B2#{Ul6?j^OWw5j4EFS&s`E3Oujzt0&xh&+E=*2 z2!>mB6zO9r}2M<Hwla$C5;SEkIsXB|~%^R5I-BZ8x9tyhW9@4v=95Q0^&-n3%?t^1r9H3bwPfGq>M~^P`lcY$uLoU8v(~p1QtNZ~yhOfZ@ zL1~bR3URR=0b(fgZkob5ob(xmz(6sIqdaOT#J#E!i{BcPp~cB8IaZ{IzX{kpF2 zLO+{0G~Rr#6tL$|c(BREBu>dnKgI=)4T&h6*bbh7bFa_iqPyr+rH{Zr zXKx^3#A8c4*_D>57SW^nrA98k+7xv1ypW7XW^M-$d#sc4H|K3<=QToNW>Me+7=;PSm?NB7Ll1;1PY_-qB^OkdfF6g)8dUQDqNt!URW4k#E?b zuKvq5+zzo<OMUX`y$|y(~j zV%5CHyj=WK^4bKS`%BqhKk0PK^)xZlwHN3DiOK_AB@0-BaDj3;6LeJ)gcl!$o$s7G zf^e|e^OVY3oQ+aKm1C)J0EUq*6fse9_7TxJdj3nI=Uhl)0rwg6 zWeJUc4sK`M*{C%H&x6(2VzqfR%|&;Rmu&$x$&ftaHBn^3^KovtHjC}(CE(yfx8;D7 z)?%zl$@f(p>zF>?M<)`pA8m^sg0~dBnVx68MTIEW=sPhb7oqwEhR1jIxaGzz;mEB& z)XOKB99OL-O_I~njB)l2-xxkB*z&+m_Ti4x72?AO*Ki0Pon3$JN$IPy2}O!FbgBNx zt0ftHOUdEQcHw{bVb}J*+t3Cy8V9T==ogU0$_Epz`KhR_tsO)6hT!D!)viEME3=!G z9JO70^-Hry`;rdPmMU*@MxJH^qd+;F$8+Z7Wq4pV#rX5^;ls7O7vI|(=8)H{pwnn) zIUdXxk~s-WCr%^rRl`Op<|#xFkT=RlvaHrc1+7J`;Uzvt1i7(dpU$&L250~{7;ug3 zb~0{jYHBjpYz;-U73Iz?CRX<;zlg!}+1*t>->cbmcWmf)h_FiB!c1A)a$96Ak8Y-f zh3`&9@+Psuh_fWFL5@$M`+OW>v`>08=e1Qp;pNdyOw%cIKHECl%Xeer26kUfERYg* zGWL~RbMNb`rAGq)tPl6!^&uzM0Rf-t=isj3vvP!AzV0}bsR2W zp}~lmSVHW<-Zb);<&Q_r;gxL9fK+9Y;&EmKJ2{T6s&dDy@3=$>>EfZ+>(gchpT^NV zV0odbXvy)LJ1|&HGvkkm-fn|IOO80eD2)>^GBpP*z_}wy z6s}P7iZOFF-t~s1Q#~PCljXgxn)WmH&Vh9Gl-V8-LVoKJK=b zP4zaVrKS5S=CFRZo?YdRYd;*%4c~`2as3xNc0%@C!{e_2lA_WA@ur60f!{e25(cc= zl54BQXXpP+>dlhZqM>1UmoeA&$jc|y!)!(>^HD?B(o(e1abj8{PHebPvwshcmiT=N zuMTNoJ}ta5+PU`@tF)2hmj92lHxKK1|JuIGluhO-Q;|Z(RI*cKXri!XDq|@T5y_Aw zb7ZUxO@t=%Q0AdzN;FWWh(fY6B!#5ud97;S_jMolb3A`M`#65r^&9s7`hGv3_j|2# zo$FlZTH^cYz%*U=N-yV>>tnY;r5hs`c6fUE(s}MN08B}y6>!@yr7()s@bI4Hr*7J? zY11egRkr$OtM(GZ396#3N8fzla72;R`+47|8`rJcI=Il$VR2ul;Dupta=miv|Mu)% zPk&v>;G3D@M#U2+&__x}PNv0V%+9e8kBaZPG$Cz|zq$7MM`-%Pc^h4$XEU5bpFFmY zS@o}M@mQIts6?;{GWL$k^dH1oLzVVM{e8s16LB2((8?8tyzr3~SFc^0d$eNAuK8JU ziyNV;NgRNILoj9e-j{Hkg+ z<@VbrYj}$*2WszzPmmaO;r-loeC`0?D}&rk!s6y!?bvn5yV*JS+HCeJ9R939Pjv%i zY7>ymTf}%Z*r13c1d;Y_j#|LzdW=vXKp;|>IXBE!Z!@u6EXSC3o&9)?Q0;Cynz&S^ zz2d+0Z5C=5oH-O!m7zSbu|;n`+sM&v^sBCUA+b^ZIqmw&@5&dxwbE1mGiL3z$3I*% zd*1$-y+5es;ARUlV>E#(j<`$8m@7?y=AAo_p)crAQlU+G$K`)HD|&%(-7-+2uxU`&b+vv56+115KB<`MRg>_K3Z)Ba}#q*i$}6~A6- zG<8v&a4B%~r-%<9KDF-o&sr29bI0vg_YY^R+`!pwcnxs2r-{pZRFi+%u2Qn*+#dVq z@Q8gs#sA2^m6jN@zNEUfq_=7Pr9Y%5+HhP;bthE3eDT5#K;EZ?7lD!Czm$vKi@O)2 z2GG^}T=llTt4!*7mh>YPj(x08_2~KYl|s(!0E>VT1M*c9r_b7Ve!=s8j0F9L5h2dn zQSr2o>-cs!ULoQ~^7gIb&1tSTkdK5!-nwv9+GIfZ%JSlI)q_b01RWhCO#du*caK1* zhSORoeUnEQ7f#!z`4qnfxq+qh(UMiu3fli(w{G3B?uFh}6)QMkdzLFLITw}rzFCh# zSF>AhXG9JDrSN#r+i26pJsN5EU0Hsss?vw6jjr$9izA5!=mz_Wbi3=d<+tCRd$d%e zwS}hQiuXEpz1mM^9NT5PwTYWAF}u6vk@!EKPE0&LachfiW}=kLKwHqKqbJp(?KAOF zvltsGk=2$ealqcq+DJYs4|8pT3a;_UYc&+-U12YkJL)I9ltB*;JMUa}Ym@Sm;LWWE zMt#e=avQQFxqG4EvQPEStZq8&ap}my*M6n-yX#J?Yup!e4$-S3co3&o0M~6){p~4N zxr3vNr=zAByrRGgZMogmE!JEI$Ip#(-H}#Cz%JCQSC7y)gsHy=#9@CgwMcWmHa5W; z)B@4N*45#%b+>%h5%ZC`RQaedUw`>tr+y=i8N-sAI?o8yo}%7+(+ic1DP0q*vfEv4 zmA7kc$0=R&#-=YqqH@nFXap3~St1E+bnBkG2W9K;C2|PU!Fh4WimP+HTq$^ke)h@= zqnqwZ0pa1{rTXgr-?O$Mm8-0fbhi^)YKrnaMlo^()iG zvr;mkt(NPWmTml2yFyC47li64PKvN-0T3*+N%GWwYIlmVASNiud9N9aTCdgK8?8-e z*zQZnbdUo@0YPS-kesa4Fs|_1r1hWo|8`3EY2V?a{l1=u13J(sC(|kg&cFL{leI?s zB~_`rr1WQ|LG$Z43yT~c2TbkKia*OxA1#4QLipub=HBn@e0y;G^*`I37&#x>FtHQW!-8a5>xt5TSXPwGQxfAs3;;H2$R`-cL;FT3k4P|Mr9Z z{nJ8qyeC{c(l{mfLh>Vv?tovV`J@j~7s67}< zpRyy{T--Ieiw|Cm%4_+%>g8Gc4fT&acr9bjFB=9s#3ft_KRYOp3B9>Voz>L+4bf_8 z=C2q=oI@_qgCX12TGks$({qleNt;Jpp*+70AuKB0BnuCtGmSr|WpNgoxg~_-h;2&J zqQ{zvK4@>T%u)AP4?*W2O@ZjMcCA9}wncB^D+ZsKeto4M{S<3v(po2?g2>N)zsc%n z+2SK#;C6*}pZD?0m+fyabYEF^e)iq{$24+uhW)iVY3aMlzK6RxaZlSTH(0zF-u%~? zE!#eb?aP~+CK~1gF0H))gciO)#?mH+0nM8+_RKiyKq z;A+Jiy9C}`A1U=vD*!?wHA#CEU%n2&Be56<)=za$_UYe1I^j&C#{RY1lE&h}Ov=*( zNB8I!>sqR<)=b;FYm7nN?0e4!pUc%I`48Ni@<~Twx^IxHUO^ktyq-EWQ`fKj3w-ow z{n#65K5&88y}csO=oe^{5*R<9as1dtCw-c3o7~L60@AExGbuf>Va zzP|8>8nM74^!zt5H~_Ik*tkDsh#g&oHca(`R^snC?zI-8idmmR8%_7 z0XVy+AbbkwJkH80IlaEqw+VG-6@_lBr&*Xnx;yRsYr$5xN9V#y&6d82wo6za)NfZ; z*f^+WU&nG-(}0UyC`+nWTPCy9hlW26{Bq7Gc=Lk)v;cCG)>Nm7sT7dd?(}~8UgZAN zo3+TE?S_R^9^$0`<=HK4sFWoo9{q1?t$Id|=}HOi1F9zhEOe(O5H zI{>(E!XeX|c(ggNcAx?sx-LC?I&8acygC&jql{1oFVwg~R+Rx0u@!*HZI8DdMW5y1 znK6!|L{9?)%MCIDfZZf<>Q?vasl)qm%AZ6z5%4DZm^AHO6zeH8&gT}f?=P+CfhozTYm3FV8H)WO9A7SS+OSVXgy|OoI{8o$86OR7VmDw}b z(Ss{a05Ze{!(eHiHHga{ z{@3^2M;lLQrqf|Zld5JdEaJICum>6JBXU zkELw*NOIGq9m1sc)&x6D9*ncj&;#LWGd122ts<3oDrH^@!ymeO%h%Xzs}vR$jUFF7 zj|&AKvO#)qS~^mzeI|yOxM?DuzqhlqrHDLcT-Bp{=EO|UDOA(grc)FtNr#jCL|aF5gZ9^RmoSmXgN2@)o)IFWCh3;_ z#SEU!69Fkr)9%0U2*O&KBRz+rO{|;AMEpoBVS4MhKNoX6ikh>VeOFQ1o%$kiU;xR&Hb+WVg=WLlI<<^y{K;@I2M>GNn3W&>)qkwWyc* zyO|B9`$oE;xS?Qi^KR0t#R8AQ(`UJs;zY{54ES2|{rh1AwK9+)P1Dz2(Cehvi4)_Jl3l;7{#f>4kmWFioxc`^ECSONuKy1{8-qP2F;fTav=b%6(l&l(G8hZcUy$1YyzTf^i4wB$4 z-Utlc68Q7)3+1M6m;{Uyj%k69p94~=ScZc$Hf(l!mif15y|HQ$i{IWtq0!ZIL#qJ} zaPlH=j9XnAvB_?KA6xN3wLZVh-97oA?0qwfBSG2<1Z<7ov3Pjhr>aFy>9TK!n02Uo z>}q=s7wXtOH}_wUfc<~gw5z$;twBdTDovT#!Q|%C#Y5=`5{>R`=MCX=+gQ}mk*@IO6zb#pQ zrkl57@)HadqI%x-+y6D|O2+xeKl>Ip(GPAZ#$>5cTTHCb^1g~N4Zz7=_N3UvIyIqF zLdmG0z4urdnUChThLKSx!jQB!Q6=CEMrX~?(&7At3rrucrxA-xu)=ZR7e!9qJ=(?X z2hMK|FIi*EFhDF#32tH~6{{Eb88C8LasilRm7k-$og6<_5fFf>DV%tju(t5dFWx#rF z&j9+PGIl5vEpRmGV;|_wSt`RAhTpD_BbG9nM{EPbBZ;#LUeY6T0f2!81`0gj1wQIUFBq#C%cpdm z*HmwQS(Vbx%D=*|#<=HO&XIX>;Gi9PA z_#2x9{9U%)3EZn&sP^%~>cYAGE?tjri%b9KN>7U<@1nFD?_htr26JDNHY8~-#T#MY z7(bg?_(&hNvtQgVxX5mVQP$Pbgt$JFD>2SJNN8#|XwV=4V9>jg1+bpt6iizlAm2iP z{ytZG-jky(_-|wo6++3-dHC$LnCyyK11t)lO>9Rf4x&{Uf=QuWg=Hun=t@vG__Ot0 z5O!8hd>aXo>P`|#wt}gH6L$f9`D#-}jHm;K`{$~<-n@XAgv}n!mmT1x!Xo)qDEeCL zoU7M?|2ZK$Ta6`ETZ;M+9! zXwkA&DZ}C?TZV1PT}|bp0h|MPAk^aC2Ws2bAt*UOwzmrjvUF8Y03;o(l4sH_FxIG1P|fnNgM*^0SEjtzGVG>q@KR*goGa@uE8N}h zq^34qOV3((4=zP2w7j4c0*h^j=ZtW)XP*s6r|q{_^Yq+G3T6-@4Y2DJn*!!gMosRa ze@%?BGlxc5Otu)Z&UJJheDxe>X-{^8)1pUNw?W;N6Gvy}q>j0~WK(>}*N2rk806wr zt<0RX^XblRdCBb=!`lfl#EDVRdfG2zHQwiU5)#%OF%3AAGM)j`h_84l)B(yr zZylcj$2n0+%+8AX2#!zuL`8A+<=(#2^fQ&Ne~~#NscU#mecqHXa7DS)9i#!!&M1UR0!h;TngNfLnPi&3wc6U7_JcyGI$V5avywNiP`&}h;h)U zS0()wWHJKq6QPm;*0&y49e~Y6xaD>-bovGltP5x+zJ6ChOCx|6qT`&d0ZuYQuBv5o z_R!tL7D=wwr`EYT)YZS3g?*T3-I(=wKm_T(REjWCS*lcEmNBGDbDG93J1kAy!l(%{ z=#R+uA7-xoHPe`-y9JZ-{l||8I&)c9mu;h}7N;P9w*N~wwqP7SpexJ>xeC=A8wSia zu@*F`u~0k^`II8^OEKV2i)yQy~6u3 zb$t)Kb^m>@sf~cl^)rD^A9wJ5!`#_dt3c~A69*Y)3Q_u`z6^WnSK z=aE29PQQ{qacB=a_o5B)r`M&uiCT4GJ~q=S9o~L0L^Pzb!;H40^Nlv~-sR)J>b$BP zUt!}LS=Q>|ji^8I9@mK`VFouO*PUEmH6$X}SYEWhBGOKoVMVEQ_g#|bTE0UoRn=79 z%DnG!rW$Q*3u8kwc(v=ihR@43{E!fE*iNsPhfso~$-0t~{1pl4wpWJ*BM)GXF?5Kh z{=<9C{mL~l{f7ito6vUjzHym$#k1*l234&4i>)bi8*L10HZ~+Bh&ndu5QUYKa~0Ef zDe0A_MHhTr4aRKoxqSV=uqN2DW6B#<-$iZtuby`j@$3xz(yULIZigLM5VYvrdEwW8 zh(bUpB`GB}HZWlq5?S#Lt^5qNqJeK0__RWHL8>XSdqM76nB z-FrVb{@YRJ6`t+v{!p5X=f5vLRrTI8A#fNu;V3unm(spnZ6II)_5Z{=jp5AA`?~ml ze&xDQ5;F4zAnK-}aYxa zhuF55lE_bXw%uoddhE%{-$xF$xOir5y$N-Ud$;|t@5vCx&2ZnVhaulZ*X%|A>(A|N z_Z3L*7J|lb4<0J%abBL7YU3x6!-0;3m)~VHh)4{lB9fkn_VJRUk*ytG^?HbO(B|F^D<2G(TN4!|X&m)xnFK{t8*6^z-YhK_TJ(GMG&v z!tcG!dN=IOZo_%Lw6ETGXVEl*^2MS7zO3JAVTcBd0;X(L|PzbGBzGK=jF?YIrknrMg3ryJU1+`(M7cc*U|gS);7?U~-)C-6^3MBFIhCe= zu#b;@g#z-Ul4i4kHGc&YBYvu{ayh zn<1j&h3-~!V*}cbsg{oUm7D(e4|=eN;ID=a4*_ktwXnb9-zF~0#_+){P zSc+Y!E#LODADC$`>%}F3|UtIh0|j6LFA*%IIn9LZrA*>-v8A8vIkhM zNR=t^KF`TqfUqsaXAIHI$nP%D}XVXL)Zy!i?(TWzMM%^&LKgU=rTXB;_N23@#W z4oL6tpbS}9wYZM);K9LEU+C**Vay$NdH`)HsZPV|t!YY!z^L zp>{l@T-A?hVTrU&IO;7rbQnzqhVA;@r%wl(PJ`T5#B}Kn02xMlLa@V-vM;e9lhk*k zW@v8hJMOR54+YMdxHZ-+Ebh+oCZh^5;`U**a)XgE%a3Um zetQMI{q1_OICYI(lFSM(8ej~7TxeY}I+f@&=YM?B9T)2IfuxBiHy8*w31~x7sXgaG zYmf{(25mN%X`$x?v*~$$K_@EffYxda2;CnioFVnhDOI1y_&(sH+|T{xV?xL3%GXS3 z&T4=pFM{=0G*Z0%dmwP4uIyoA*fKXl!*RZD;d|@@I4vk1y3(FutKt$$rHJ=jMe$~6 z-FtGMS7B2olOpj$*+rMXKseGVVB{3Or|JTOr=%u$>T_)d7$aKh3*(7U#pHCE$ORczKzhj`vpjm zi3hFT)D=sj8fR!ERNKj@jUgRWQTItV2MzjvMwkVrA=SE+x)NpN4_+tReQON-wrt&M z&mH9Nwq~@P%3<%5RQzSRkMfxD7P(3P0}$;9g)bh3!eL=Jp@7`v0VXPoPDSsD+-}xQ zjk)>s_Yg?2EHUeCrm-(CFK;v1Rsop*p4NFdKu>HM__gBSLNHr1^i}bZCkmDg6d@*wGpdn>;dfYzW3j!W7}*5(%6cRe>tvueCI7aFd$5_oM&Q zg0#5!aj}KPQK~~$MZ9Q-Ck%LA-Uc5QO&(*-#@{K|Ch7F*)vFQz2<6NqO9`Sed$=3& z*OmKXKMpa3n_;&a+h~fQsvJyYfu~!Mo`c@R=74sNpVag3-ua*0C0Za10}gr?81x>p z?c~qGFJ)zVjg7yF8MW`XZ%VHzln~t<1R6`}xNV0gURNNZfR?55huYRgSHI~|oHF6$ zVKA^$6Hx_$M66*McRaZ2la^3kbd-}1&bs0@hXp|aE;|R885xyT4o$h0=E>JEA=ah4 zOh9}f(q!OEAN>MqBoU9|-*%Jvi`f;j<+XZpNUp~8`|Ljv>mDkRBAgs~BqP~i;DIfW zY_cFvjQN=*`|^mVjt=KDdtAsYDRFMQ=8ePY?WtZAf^!HLwLUP-tzU8YSX>{HV``7o<`8`{Y^*^p{7h$a*N+m z&P7vu2}4A$&BpMFOG(Zb&kYH~5U_}XLjgL(^7y3Fw!b~LfqkTR72`!?TjWh*Da3Bm z?PlS3?@fax!G|lXMm*r5H$~4)g`JEb64z2i&F-2KDXkiDb|k6b%m+27zJCZ;1Q-t}&t$^ARI%IqZ-$z(tXJNKqWgzj(AaN2HD5 z=4ohdcCa!>S%Fj$i;eeOE7E9s?A&o9Mvlyw z{z(7K31$?qPVAwlw+9?N&9GC_2z>e9qKZ9&MPAY`rgQg_e8paQ)sKG@(5UZ#=i6LH zFd0lFnFHpM-$uJ)6CEiy8vA3>P_6#G=mKopw=p1VpT|na9Y84Mp9r~y zndfZZCGJZu&#tPRQa#_9OOzEhH)*x)lkCdx_Y>Q zfXqkBt~Q1RJXk)fll7e5@)$x1wKe|JT&br;4SP^^}w*AR553 zwFll?!`$7^XI|uQI7CVi*$w{`$&8Qa(WQ$5Aj)OubbftN@7jBP(uHTltb#A*cZ#G9 z;NAl&CoQb)qsmqzE@lk$R$`(LOegSkGwvsHq;M%}yM3m{ieqfK$8qEkogSe#pf;Dl zL_02&u7FI};L<}W_P zrdLtGOSu4q@6NVUdXuswPCRFD4zNKSPX=k*-cn5t)W zl<_mTnUAuQmdg>zDU_%r@(@FJNzikZ&Dz{*oiv47i2wMkDLWrEvdfq)Tgf_PxU@zP zsiGH=bETr(VB4+>&_Hx`O+W%77Ua|jXa=z?rZooi8OL#AaYS3pTx128bghk=E|6KH z|MMPq<-sJz%7I$SSFG&q%IkUsK z$r;M4N9{nKh|Wx^E@H<3$NSB(uiQ=s1G~IuGuL7M{AW!kurq=JQ!Z2ObI>T`Z`jss z=EU+MAk-%`L&ry>*rt1Mr0U}*+CLk1-`swu&Cci;w+C)x zI}JBA3CfH&EZj4?H-_y_{ zFZpIO-KA_A5a4Rv@5(kSnYswblwv^oY zl+C=?R|kq#k4t#-_U+qQOCr{8+sVq7S0QMR+8{-!EX%I4hB925NPRF~FdS zS!P6|8(s5l#A9NG%&Q)>La&9#M!HGganTSd!;+t$CQ+^?gA$Xg%`Sbb%`PPp-DiBo z1CwXjK|pyg>&mGBq~3~*jJ)!Gt3_K@I2VI^WbX{Ej-4c31bf!)MS7fA`_TU1|m{h8UyQev|J1eUm7FB%Q%gphN@DUwuFx zP6SpY18rI8u{5!jpOKTZa}xdLf01+{K9Lz>G~GcpFQ{&>n#}5Wn?8#0@1R~A8=JyZ z!*6Hd2gO*wV4k}FE)G#3v?~O47icp2P7up31wv_A-;vGp{N-OCmR9t} zssIL_7+<1(cVmLxO}dc8RQz@TH6z8nGNtAfYY&+udlgM`TVT4IOe~kJru+8olXf;K znIq%C*O=V^G?PHh%n;gkf--|J!w6cn$3(XE%4g`v$HO<3lRe$xqFO7`BL*% zEp$8bke4rCE?<-**0NnYa|{t{zlQ9wsQ!q>5bmOxK_PMO>{&aOFp4ynOBG}oyrp$> zNU57Fl_Sdt)!zck76d-EUqjZ~%4Za?A@dILTp}S5Vd7KV{<=HU+PWqAU^a*YCzO9EiYQOa$#%)C`D(P4qifHNge?8d z>OTlm2c+A1)qd!kLaXD7y7kEeMjrl{mP*nh^}%|fI@Y2Ek}h9kw=6q_E0qdOhUO3) zav+gyX>*^rcoD>(>M8s?o$yO!=&S|j?*sYnA&We5 z`~m}O4ytv{LA5w1%O+)|xSVE%frc z+L9W52ms6!bc4P}(X|bCWziRKR;^72V$DTR$zin(`BTMc=wR*4a}G*0^13qKmvxRK8qr+*3;D~p6Fv_7TmS}Y zwINiZXIb?i3t`bCNjUR8Og+Jh+l^p-iR4J!=&;njn#KS9AUCoDYXg#mBiOq2ExI^6 zXehDDmREB(i-i@YP)@+ykI-r|O^N!j=AqWHs(q+Bg0XplFK&1a0$E5O71rYYmoF|n zRCNV0)(1h$DTbZf$kS&EU#}*>AF2t7ej~oo<`=1?+;3tpVjo0Nvfoa=hW}V3EJDhQ ze%=R?S1LC#|-mq^(rLvY1U4)XUcha$`~hG>kAi0Iip>R@l_c zueo?PYcJj=*yehoF<@wp4s2u8Qqs_;+?I={VTneP8bdUXvKom0$MUa5H6O9|zmJfn zVBe|d?O+$^3vf0P`Dv(abh%l6F8B;9qu>ymT&l^($j4H{jBBs|u>U^7jM;dZ8$*DL zk~aWePSkD;|ICqJVlbJ-Ts-oJqS6O(!7%2sXRYS`*9Txo2(j)d)Ex3`g8p`>P5!Vs z05LRvsoZ}Pw-i*kjNfmjJt^5+wzOb)RTB@B|9i2I1a^w33I7G=yJcgsIH-i1Hm#M|K7@3p>v33GWAE1%C?jcVGD4(tNx63^ok^@^Q0jW*Gcwo z+F7Uia13Zw6P6=x;#}KSwlp9mY^WE~)V!TNupVH%3`G4A9MJ<-84j&5 zzN#Xv`o`Q*u03OQ=5VTHQ5MLSu>=~+b9mJdaY^z-R6CM;Q9BCkmuYS^vUc37ny0!; zAe%hZF3c~8FRb*cxcMUC0i4;f6|2Lt{_1!ABO^5dz|k}(kSL}{k5gkoh;#J;DN?D; zxlWhpbqT4#^<=iwfsYbmpXN~@iE4|j?bNA7R43_|TxSXOK>43+;F|$@L#VK_koR{poA!A{@ z(T^8_q2%rAZy{wN`^VA%vC?P~ZW8f&_4&})Rr_K}KT$u5W`Sn405KAgq*%U>zFgfA zrzqki{j=y2F_b0iZQ?-tBzn* z`DEO?M=(bZ?yh|n-D*GLpds1~VgD#$Y*-hJ41p&T4IEQ1J%luyub_=^LLxoSG7ys$ zX0zo-nrQ5=J?TcWWC4wfEIJi9MaYAHDh4YAbHptCe%p&SP;I+!}ByGyutUjVHH<0rQkMZ~4e~S->7#G6>*FZzJVKs>%=_30P zs%H}TAk0F>Qn;fyt_uc`MswD8lIabQ<2iicJ9X|XvN$Lanq)Qk#l^ZN;l_L*N6L?p zABFGp0Je59l06(7J4p^E1;q@lk+rulc>r$|POu^d)D%^Y8)_elCa*)Lf`vTkJcz925a6y}g9cpv5tN4TaA;5rYod_te>aZ3Ows?soN&X{>Bm#~$9R=3 zXKU7M$qz*hDM4qG>O{~D?t2W|$bQM1hZ6JOLzy^wbR)ttqpJaA+3|-*)R#Vo>^z2h z7yMuna}*e|n$>@T`G^2Pd^3#q=F~)yhPB6aGtyW~&|DDYDvu5efDI(1N7p@;N|^BL zBs?{Jmh4HILS(7R#iwj>4XCEy}9RaNnC~UA17l8z;CH+_gx;QKMJ2 z(+MJRX-Wf`WQkl2uKKUA3Lwk9rSjr)w!phn2dcw;kUr(uZ^>B_0DB|TAhb-1 z#sLI`J)!L=13>NtSwT=MZ}am7*isA%ErgTxIF1E#a^Avd^Yv?@*OhU8{d2Ni8Pw>+ zKvDLeOXttudG_p=-ZrWg$7!I7@|F1^d($-7j7%;*%LE7$qB4N0`f#p9 zVCVKb%=l09m<%GVBrpa5`ohJ5PJRH;c*}hUfz@=`SJLsl;-249cza@8&7-TDb*@)V zbVP(Usmebfpg6J$2-&J#yOKxGrDU6v-7HvV&gji$u1}9Y9r=6^TkWSTR6~!pf6+An zDS=65R~V{h()i!Qqxd?zGSP*SX=D`&xL2IK1j+#c1Y(=0#{Pft7d@#Lh|{6$zL6ba z=jZuddEa^g`VaA+0C8JG$#NU+LY`D#tB4o)Tz97T!+BGNXQiJbN;}NYBz3eH(2B-~ z>^>159aA+i-(#0@^)I*n(k7%%9D$VPhGLGqK0efGtOn;I2lub~IW+O~mUbXCANdA> zDi~Q-QPg1MOa?z#KvZ3{X(g_}ff((IG+iFZfRmYV&LbM1$ zejRlNpezFss#W9eNJhXrL-RHg1}}FWx;l`4oeqX}vgw}kcO-xh*^s#5Ne#g(WT)O9 z`?3v6&5F2ix}*=_DoupDqdSr zwq(tNZ-*wo70KOm2$roocjhs>Q~r5Y)w|kgV_f;W+qhqoPB!|z_*=n!{zpY=0|E^P zE+cF>{$#N$FCc*j=f(nfzlqdP|-d-zZz0OGM3mSp+gbJ3VYASjT?);41(!0dUl3!oUbnA=G;T*YcYGaI*AFu zquK1uj5o1o&*tDdCbtjbgi*hsvZ2LYrW_WCFRfDr#(E~;PY~Rr0);D)TlmbW}M}R%$jOy}EWy&~v!YFidEq*T6+tD#Q#z%Wn~!ow^hgbBoZ) zm68vIosOy6tQtTvsk@j5GQDJyOXJ@P)NFugkp#h{FDm%k)E_krc_4o#IH4=cYPd|n zhDW%%hc8iT&h+@uhF3%fq=&p)uX`P{aT&2D?Y!8{GH(8*J$u#%X+@7J7#3&#*p6?8g(&Bh*y zdt*-J3t&wtyyrGtD5YWb%cu8d(h>}mp{mc_BPkL-Rubt4a$?HKK8lrk=+M|d!HutxEj+s5!;nMII?Ftp88wUJRRDIZ4 z1ya~ARESH!+iaxP(u9NC2MG-Wj#MWj-?Nly+Ac4&IS6-XxnTF$RIzqd-)M>EL9!IJE?zaugVOMkBeET!;ShGVZCx;#EwQOQpMYoUOiN9`=7kHsLBVS=?rwb0x zd2{}6+qYl7BvV#2%?jz&W7!|orK2h67&!!sr32v*fE}A&67;i2!`4ek_Q_$!YSlE7 zQ1SyHZJL3{-h&Orm32+|O11&6m+oNrDAh*_{)y7}%iH-+pVqlr6Wyo9C&DCT$6iG%-{K1oTCnGRKE4#*gug+wf;?< zJ~rQG?~!|*5|1O?9^85Vkt2t~=6+fka3tc8nrpLkkMPz5HZ|jBh>0MXtlj#xX^) zNoe`BUJph=1{?63cCO4EN(`V?JNEe+*g2dpwauR!Q7t(FwxZ^SI!z&A5vCuyd%;Ac z_w`&{_9R3>hHGiwM^j1~Jn(O^<7PW8r$)Cen(Wx=e8vQ^*7yNLV5xk zB#M$^-qLJW*Q)zo-8D6rV2mhNm@I>Pq&k`ryafy`zi#sdKAvR_0Kq4y&%!fx;w%PC zP#OEf-K~e|DEq(j+(suJZ>?$iVT9G4&_;i14QE zp!rgB4qnY)9$&B`21n9*=loatEPBQBhjv$L+Q}l;NJ~qGX47d^2=hW+BYQXbtb6nH z@&-FVu|W{Ej}x4Oz*Rapbl37k3dDmgnGS0Tp;P=lGw-78A3{vjHeq@?%?X8QG8>m`B~bgcWQ;3+bXMXqIsF-av_=L&c^s({p6dKZ?d3 znPVLZ6W6wFTR;+vWvcW(?gW#W0NX;wC#BnYSd* zUdEQUni0K5`@q>gyz*HFrxvm*!o@Jfk*+u!4qla^DRDLY{&xGf5e{739I~e&c zq9E^oXN>yqYG|oQ^-XzF`15BZfV?I$aVV8;QX1K_A6ojKvO)k=9gXkPMp`*@@6oe` zvTI4-8wIi$!^2DLa+&Mwyp{45b+iZ-MY}2fGyF5F9|pJSl{43m8D-Q5n5PFLm#*@A z#Xipgb5lEs#&|hCy(q=Z7|K!*Q%QzT1iOlb{)|`DK{9|UQVoXO(oZ5D>Hvw92X`Y_ z1XBR<%M-Vz_{yLCl^bku#vt>#G(V9B+>=HU`G^B|2nz>Xsav6{4%T1zfQX(khZ!8v zu#lq*Www-&&^aaDdOv}nlUPk!S)F^4FYRphGkRxkJQ`6>;8@*HRb0=|pO=vq;!)!Wr(tea?+T7B1)zS#*m zKejf^6cw9-sE@eBPRCMUxKgP}@A5ZgUR`#AzhOc=gS%|Zi}E>nm2pX~6%*mNIN?&= z5}T7j{@V5JY*dprjTCulPJ3K2~eW=}_lh(182(ic6y3G(_f~vh7mnLe@n#l7=V+CpC>2^Ni_H z-5BH?Td$R2U%Jj`p?zra-r;hoWuiH)$DCP6$h51=yxEyh=)I}DyfuR>FzE_>fd|XW z0PTixZuVCe9D-ZZhaBR3z#Ls>37J&hkH{YK2f4di0*gUD4r4nHzhRR-tU*}2 znJd>ZoXEZcS0lHJzGVxdAvkD`@m#@Nj)+CM3Jr)Jt5dvS9%UMawk9o(C~}y=ryf7e zMoxB0zd!DHvQq+7%@rI_hwW>0ro@vj+B(k(*}2uW>pTvwQ4@NBI&CI@{qm*o`}YLO zb9gi!WfB}_hE*i?(&Obn@#m%g$p7%cl!}}=4Ch9_X{tq)9>=5Tz=|z9C%L>vbUZZOrdICg|Mx^Rk118(z#lUu$eM5s9#_q$3Kc1SCBicG_?2 zV`GcE=`Kg>js}c$dy9sIyfWx@oH+(rrfF8oB#C)`i6?lk5?S!-(uPCkkzUhVmgr+Z zB^m7ZndsO9fitHmchp6E?d!9)PVb@ctbC**Yg3J68fjg;(w!Xs&gh%^s!9o9K=ZLPg(2g>P4>%qP9U!pnkRbmuV2(}RB#4pV>S;4gF4T~8ht@A|VDpRPu9{AG5Bbcu{~IN}om z#s^Bws5v;K4C*TZik$s%WZ4CJ;cb2bx5X-gQeC&r?+NBV>Bek_Gfa9?K+?&9KAC-M z<6kh8!?J(zh_n>gvf=t?Rq+PczLmW7W6XT1tu9>WeAahM;FLu>UrEC)-rJj5O6D_H zc3KkK=V$3+VuKU;H*aS*b!!)p&kj@@Xjzh>q5dVt?t3ZTolxMd7?nar&7;<%y(UDJ zobtiX$psaUexh1|pX*c-_EJB#V_Q%}Q0h#-spV;nkMEnaj;;cPB4#X*%E%Vh?0Xe8 zc7gv>k7C`WM8}*rx7{b0CmQ3Zv>8f@B5+UC+F6Wh!=(5v@`U!0E;yWkC{aOu^(tNe zg!0YimhKF0-Sk-eM4JDq1~Fn?0YeaIRuJ9xN4IX>#&oOX|6U>4P@C!Os7yO8qiY-# zq2^HxH~KQBTN_;y-*#WGK2dUd`E!qD2Xk?d=M38b2II!H@(*GP6aBG;P%C(j?R!aT>XtG79>+lt3 zY{w~o+HdRgk{zV0a-N+KR3h{bgCgsc!%B=o1h&}Kv0NkrpfcW0cWrI$=T|_RR@83k zeW)nklYr+^PNU~p4`=(GcJIfdRb&AL$HDc}U{3IocsM>g^KhLtZ2^g5G>iDD>b{|2 zv%yf-yGyJ7J;`y@skrr;vb)=*cxh^fsr|ap8n!?lG-yv4Q~Def?o`v%=&4Jbw90|e zVrNu%xLY%(S;Yg8uI*wtFoKj$pI;Ca2qJddt5Lv7wF!N1d?tJJ!E{qUi|)Kz3ZaJX|JgUe}>;)8@NDXq_e{;kci1$f6{qoF@^-!?@?3GYOFDLrVlU1FXz4i*c?lEG{fZcz#IRh3zsZ@VBP8=U za;KOdaejQ{Za1~jUHuk}L@#*O{a-P$RIEY2Eb3kY) zYcVw9BT@@@XDqnDEs3kD^jzzba?f9F;?1-pkU(`x@_e!prf+^FRTD=rFz@$FL^Y70 zWRDEEr9R(2^W~h^=&LA484f{Lo_2l)=Dj57%-~l^i0lZr^ce4e8Pl!8y7})%|5D+e zww}W2FhrL4rjRRjp#Db;X!-B(O{GUHOk&Pxs}=X!Xfabp2#?+Tesu1KEfxuf-cQbb z>wa+00H}R5-s0{j8>wWNNNmNq7|Bnw-dX=`Kw9I!uZtmA7nxXcy1`%tp*{7-pPn?x z`FHP_8Vb(q6(2Fw?iVB#(w(^{7Lo=S#MLBPfsi6Rnx8Q^3jPz-FCV64M}83N-d9eP zR=k<3!cuOaF1tf*kzZ33#!RoP&_(aj+ zX%F*);L!i;8WWvZ=Zx;6k^7T*`}PKERvD2mrsrNnZPRY+$G-m_v4~jtctHQVGd^v& zqS|S79pRc#8jgnCXNOcGMVOFGyixaTeZXH|n%snQ5ppwYhhcOcMNit2Fb*#LYHd7w z;KdVAvSZwx2p;8YihLL6J)(+CmY~b9$2$>OqrkAJZt{!n@lk?`iC;1f#;{?lmM#6G zwmiP!xq`wV{|F_!>V|~f1s=m~zxFo_3%GyV=*#6BVRTUVIuMR?FR#H@9z7lK=)j`a zQj<__^u*MXlP=#-c0xcI8=X(vPBDxA1N*iu&Y2a7D^P-i-0!g&84ZCqc}W=G*IuenCydPr8oV8;j^n3g)bpM(Fh7W zn4!|HT_RCPfX2a{4;WbH8=|t>vVD89bqKqzp`{X-=}JNeunGMgEh3M7TG8AMby{mu zxn>#aK>NzqT8cJ_3uoK@3p(F(dZ+v~-XWan}{4tXSf z9*WnqOj$K(+DV2~n2E8v^bH#H5uHDH!2HMIN?Z)l-Fa7)WsCcP^!LyrL|n7o-G(bT zRyQ#uD$VbD>kb_rM2rd$W=py}j6sK9>Gq-b|2|Tu<)t?>E?3AZbDD9S;x~kIj>{n% zMTTB-&F)Tr25wF4als^@+53f2Q+QU~oFAW`?;>a z@47h{Wl;!;!JP@J5KGDcSF60X4!?MsUcZr-S~aQ^F0yop&?t!!_Yr9Aj)zvy(hruQTi z2{eP|UOo+-DlHDiH<%XAe{{Gmfn5fjMaU{{1l%m+eW7E5^%S+6tX}honE|UaGKNmb zVpCEAxIkzw7>AX84Ae~Pm%A|6)SjubC_dO`+O%ROZ@*(hCXGH(YN3slYe9fGLaT}F z_8rjX26r++4c2ciNsCY`-gQ)%DX8!_0l|f6p~u<2z>^|H*jG4E_+VKO!Q*(xJ-E*9 z3zD5dVz-YIKCWB}Pf^%ly~WsNUtjK}ITdMOpmls=@;?Jc3eu1G`zrQ+NKjU;TGg^+ z$87-t6N3GGWdk_Hw)8fcQlolOI7{Wqkry-LwUh%9pUXHt$)N@T!izEB7rbcuhp2J1 zfY5RZL%!CtI3{ZB(!Xf>bfO%e^Tz{nh_R+NYh~VVpEsS~PD577P>pm9=p!mhic3sP z)bn+LUbXF|ksB4CJhX>jveBo@DZOdX8UTG@y8?)D*2gDm@ph%{jP+aEukzcwC?6Aq z;p^~NS=f<`K^Y?bGYFf2mvN^JpIc6HT*1E|x;W znwXl3c^Zw~J#Pn2n0cI6Gc4Fu&9S7z&+*TFt`M8DM9pRv{@t%?r%Vz)o_A-SUU1xA z#gauu*Z>B>V78)D2QHJH#58sCBsrztP~Z%c=_7Cqv_0J!M?@|zd{WlPOO2UGpQl$u z775x%+xNkqvVYw-MtP;uwxE}o;C{~UIPE%|A~<7er3Y!bHyE}{bqLz@)DJy0tgjypJUn}I z>;8boC9=X4>zd#x_#ZMrQkSrN3%E}=KXA>g+c$=Hg|VRPG55vXPv5?wjCB7D{+1;o zS3g|IkEJ<`c40_L4BsTAvP{;b$ELz{Q2@DDoWjO^EoEU)-hvymU>(lJ#HbU`EjMk< z`msOrqedMA!$rlTKgEBh@QIrCoaP6SKP0-W_k^hJ`5uc(EWIAtnZ>ulrWIR6d0^ z|4$3RI8jCC)Rckq&5EuXdz1^CbLrBcZ*gV)s8ge$Z)it4U0z6I3onAh^htIZ%z0}! zr$Av-5M4Ld>)*|yKGOv$MHeMjHJiuvUcPMEz#Xenq#Hu8F$b*0yw>kVA&!Mjqenjs z)OQJYjKO_S{vV$fQGqWE~hl6wF}YE;PQ&orCl%+flWxScr9*&{FM^Jy>oQ_v6zO9uF*{0 zsonjj85oQkP4*#pB7syzD+W*LfyGMt!u_v5cOj>XVWQLN?`1;Cz{NzjkJ$U%+I4nT zmGZr;>ETWqXUYQB(%yQinkQ{qwEXESF-qQ6UY@Id zC35z?s__KJx@|^GY^aqALr-Qix%jFxM2MKakV*kTRu5S~+Y?76c%JqbEi0UCX8!W< zw(n~AxnMsP0M(wti)t#tyRdYM$Ls9dgtAc8OIMar6*Io6HU5Z6RK``OA5D_*Cs;}( z*LzrCd{3==_=uwxYm$;Y(lLZ{3|_AX@*?9FKQ>p3eAVyTb8%{_Td-q&ymyyp6$N3b z8paWE{e=L|&iG%y_aTgHTG+QqPmZpgwS5_MtH^=Y930?awy(dVi7%L3DcP1GCbJ(45MvKWy=BXEgvn%HO z0zZ!Ba5}FU+qr8;P&Z(6bCrBf$Rb-{&Q9HbUrthu4h`)wgKa>FK7tq-;P+P#q0s9* zW*Zyj91=QRDRS)NP}}dS_uUH$uKQ2D>0KD|+JFpgHM69LwN3t)Gb)Y$`fI?7dVaHq z-`!sRZQNaDtuGTB`W<wLb>Zwk zoJR9EebOFQnk2tXn5!#Y7HBFG;$3=iI-REbO)YGtwcV}A^D?kP)POJtqE?}dzKa0@ zabn=l{Q;j30Wj*~&Unh|lE)K;<5{CSSG*BcE9QEf*}#&4XDo&v`DU_hOKxmg<7U{* z@TKYt<&BUh_xE}u<3GtepS-JklfD1& z9NGLTdhFdmHR?JsAXQ|1KE&B$=B)7GvfwEZUB)w#q7imXg1$vB;KR|SOPAKwVJGP9 zyNzf+*3Bwg;hH)$b^$!Bg1}z%UeUJgI(B@>Bvsw4kRv+bM=%>1aqw3U|LmH=%p#j| ztLpii8;N%VtE%36TYU_$7&UrCs*7u)jnC^Q_NTtYoSc2Y+Oct)whKybd_G&|WbC35 z?b`KRiwn2>m(8@?`FWvpcpFnC_b$CO#}t=^XHWl@K2bN^Icimw>!mBN-Df<%o@Wp= zW$BHB&p)q-v6d{VJRHA{B%%y0MLK#AmxgFB3%_c)KhGdAg!g<{`=lq`MI)6M**E!eaXXiWI zpZi|-TJQIJy%);m9Gwe2o;-V2N}I;Gm#7!7YMzC2vHGUehZa0Hf6mg_|Lf<$+%)D^8app;mr zNrOmwu4WlTVrabjQzz2z5-hYglH3VgmXD`G&b2NzRg*e*{ne{i1CD8s@W&E#r%qe8 z3K0M!F^7nTY)OWkvzn@^-hB;6KPcGqpa7uU(d3ME$ZAWAskXcT$d!vvm}_;TZAugg zOtvIXZSD07n31mR3}BRfwjqtR29tCCq~)@rLfQz`)#FBYsC>X>;3lsDVLdz#!$9 zk3$z%-o7pDV;V7it%U^wwGE?QmK8%PO04t9q9bt~Okk%%wXR5ZJ(Fa8kJlOCuXPGZc>K@%jT zn7@KijAUQM=WW=Mo-)^R2>jkodY^I1t&+E=e#TbGiOQghSu_p~qR$IpGhGB1>@y#yy6 z81`zN_kTZhUO=CSkY#{*x@h`0*H`N!`>2JFx3aT4^yze5_Q8gw<-of_YCa7!4L}g* zH}77reebxemv;9UT36x#fVK4X<=C{Bu0BQF%eavrU&qQ442&znG2-+8NV)Vg(2Jjk|^lW27zY-4~!A5j4N z#%_wrG^XU4w_t&oc94JKgpd);EDp|U$X6;=X*QSNR5aK3YS`4IER!s`kcsucCNJ<6 zA&1|WkrBaZVX$0YrOH3-JQuzdO>vJvlMIFq74vNzot)MKQuSpW2}f4|R0e-mS9C7i z@j6Es41uUX>dBKQ0r&7RXotZca+7_mczwr-o$Vee8X5#@rd%D;FMCqG>0bR;JQ$#0 zbMU`YZ;mSPJe>FH-kS>7>|Wcw2GNffS0?b--tyaGwk3`~73hmT_068DJ)5!-yuULHPppy z+^Dx{K+b#OLqyqKB_*YO`S}hFb+d|tqp2pP0hVIQze1`kQ8{=@t#Ey~JTfPuZZ>=Aq2P@M+NBc@-g`*Q|_HX4(ok`W&t~e&&p^QjZ>TzuRhW zQO(WyiZ4zru=Q(8=fzRxS`_!Uzr6ZJtI;TQ7v&+l)=g?kGX6Sf@kKR53Jt{oe16!n~{^{ z7$pWQt5TQXeHF3-E;BIF!P~~hX33}5uCO5E@27UHK1m$YZSCdm?%q>HCF$OrdGk69 z8kDOyWc%m(YPkmw9*jcoU7BZ|e$DrEcx*wtZ##XeOZsOou5vtDZx8aBeCjNjAlk7D z;L7#o_uH6ngltkyfT!;@M_IsU*C;j5@PlW5N5*Z`*%ypQAtvff!f{IylStN;K4(oCps%X zkDWzN*@5^@m_cq<)zWs_&2nvPVH`)#qN1Xw$FCU~ynpvDAt+`M9ntxKz}&C;y>+{F z-9wMO!(W5%fhOB(bYe%(?&orrX*=W+Ap7czx#Os3_kqZ>X{OpJu`L}QCxM?mMscE{T+TE$GQKg~0M^dHF>=s{E-8$9#9M zre8Mo;k6H$wkw*eWj>9*E||+YP_v$xrHHE=hDqmbw3T-*?k3~rXW0@eYR;|g&H3}* zZS_E!SkY}jxU~L1OF~^nisT7&w8_L@@b$DYbwl_So|QEKRsAN?8BZPq9qqYCZYLx~ zIgk8gU%i_AoYYkWTMuFg+qf5Gd>3|OVB~>#P$$8cNJ5d@xvXyG-qP$IS30Rw-; zVa6EMbn}@#A8#00T#hgd9O_p6+fW@XS5o(l9A8haD^ih*NG!v->2iz)M&yTg?v|jy zz^v5$lfUkD=zJ*iFwF($L8}eu1X$&^W*;Si<4-`C+AniP;4FDUPTvz^hp(k-kfge%}AD9{#ldW^i3>qM0cgFmIU!59Eiex zQFeBA@q72itzX}!XV0GV>}EKB3CfA1P-w#)8yJ~7;`P$Nuyg0m6`8HnKYDp7d3-57 z-eUFxskfH4w)uV?udWFJM8Wv&+oKRSW*aGG3|)tTMfhFSX)Yr|Zz=WisO}vU6x5+h zm%QZY)wDZL(WDcci4D_^FH|9yZbyM`rLABb+}srzfho5+t@6TUfNRkjWur zOYWYv_lkU5o8OU@;>x&k9U(__64G*ji>U`ycP4+83(1C`o4^$PK z&CQ+bMwMi*u3!3CL$Wa@Ml|6{L^lg%UU*35n7>)gzI4h;(HaBOqy$D83f5L+I;A6< zFlWfM)sp=D{7@_}P_0lG7TYK`L)MykdTNqm55?GKdMv|`Gv|mAkW@|=Aj8FMX5+Qr zgu$>FC0eb%W5S*b^S$i&7H{SIYiXseddtq%)zuB%vqwWriL;4ofsom^e}90c37(#*<=*K}m%=XfJyw2$lx!&KPlyKj4I4H9kY5g!lE!m%lh`0? zX6&pC!{v-A5)x5h;WPp)HS4%S!(O;ZTa%0jmO@;*Ka}fdyY*e$;%n7s->mV7#-ys zktUr}-_8IQA;L<#lrE;o$B(_x8tmsjMWXI}YI&0Nj;q6U>m)JtJ0LzJ65{qu5|x+! zU%q@1skoS(U2^wsQR$l53hGBQ^*l?9tqtv`|7pUFe(vihw}`LeBJ#gG>hM$25y0}#iCO8oth3f8G>xW6)uaAi|jHnV*k_D&;24VCNB3 zh}I)AwS6QyR`&K5=z0a-kbdx>e$(o-FE{VrRi#dsNU)wFL+a3i;1vc|jwi%LTmp%H zX9a>*#!Cwtm7pf#F)={E5x5YL-t4DDuUWuoK}G6$3P95-Q@UfqvK|c?4(wf_eZ+YB z#5KKNFHN^5eQhg2-KKDSz$(Xjdv@a`)cGEZ772%KFV+_|?V*aBK3Vm>CO(MqbvhGo z@BF!HUYp+s51u&f>^<`NyLDrYjl*S}UAdpSlAlq%H}2wca4GU?-q~e#kNzj|D-ft6 z{m4bXt+kt#wIS(%ZSEweSrlQ0kv>Pf3qH6E>`K ze&%6e${SiK^9_Euk@4X+aZR`c^9M@idja>7te0I)D+}+~qElS}VAU~WsSo4zDDXwR z;$e9}Iz9dLm8(L;K5_|h9dmHg4;;{9r@+$=r|>$$Mhv*tEeOiOrl%SEu#U2e5_mj) zR@4zRfIHQW-gudj24Uc5a$n~XRS->#WPP3H&tMvifYYW8yo_uke$SrR@^U+$Idhmk zpf>L1=i`UW&8gbFyuJNt&*ORb#kUH~V|`MR^048z zp5_i%a(FblDbLfqG)j?#q@)OTo#voH@|@7CfBa#_uG_SE^AYm5fRF)W$Ex!z;;pnr z6Z;;Mkd2(1KEOK=TBggFAJ3nqBAz^npG1P*D=XoX=<@=e6drcEdU~a#F#gcYVz$-Z z;P)LV-x7VN-iq-R&wgaq!ggysJoecv9($W|v$%LoVHXP$9A>HZfUzlM&(pIU%EE$- z))E~^kV@!Xh+!Sg26oSRv74kg<7$b`11UQMX=KZhob+0n0Wa`pDc$7X9DN)vOLea{ zq(yx@VhUD2WPJif$)Dxsrbbj2vzR5i#@65a5WJ!oES zu2=;AK`bGioBXuy`puIBHolwi>ui1a{cCSwD8~ir4O>HR#M%7Ln`lHijVdV;q5`KD zyOXcVOG+e^>!laB3UKw>8KB*?{QRycc`l*y=o5SbA*?DUfU19mBGh)ZnLsV5hN zW*#;eG2*a8%NC`nYSQ{acv^Vkk4V64&%)`HcXiaUPOTrW(tcX{A|wT-53gUlb{@u9 z+<1T>`?#gWU}L@A!Tape_8++G`A|Es1#=Ezi_czScF2S~gS*F&%#W9paK7}67t=UH z_Nx>dwDsfgnJ%vSu1Aj@^Cwf~d1xlg+6ImqubsJhW!V>`Y*L9j{R;}px)hdebC1`U zy6x1d(PXBxJXf=f562A7b|WNQ^ztu^8%cTV#r@Yc<`QDO9t{h-$jj&E>$Z?_N=c~W za~oaThT@kv&eF2I2wcNx+HWKA+16h4Er|<^lBl|VT3AS|ZzcKTJ2Y;ksI{<-q18XS z{JlY0#b1A2Mhr-%v=%7k0=Xq7JKg5&&tnoQb@S9rdyAXhf;3MrqD9^UrCODGyR2v% z1%|hN5vm3@%Lb~?oX7oqXK;i_d_@kzg-==|#j}V6zX1d_pz&P5qM}#E=DS0{P{r&R z(%qo;*7BK~*CiQ4sLHHe`(2jE>6E!joVl!>{7b-(jfh6z6>8B}j|Zs~zzmqT2L*;O z4yHPa;wnjAeRx=OXV>3`iu<yUu2M^W(e}HNaAl~B?-seLhM|Y#x^l%@BA9rS|w)8qH=9@d~URbzj zQD;6Wy?KO|E>sdpr*yUq6B{ShxUa+Axq}7`O5kh}aRyW!NP8Z2Cf@yowYEZSX*)yX zF|CglfBmHe$evflnHFg)%7jKF#=_vx@RQ{vWsreJM%JoH3>Z?LdgI_g;Y>_mp`cSn zb5hIxIh<<{?Hf+nODOj6_04W@s4oCbg+kSBnnAGuVEqUshs0*mA|LrfPi|ozCYjqca9n^&)vurb~NXVh{YmA5Fp?_8FcQ7*}$#4a`Aa@BElbrsbu(1Y&a!I$YM zYeaRT$<78RyG#VBII(zE?Kby)!D(h=rmfma3QSs_uxHQUrJ)DxjONUl^Ll4`H$lQM zgA8i5=a5;&a7~V<-j4Rf`yhDI{zJqrM9lBSB)5>e-u4v6!BG^5~PXjpr`4 zU(i=03kjwefWsl_{%!dg>#0+F&@NqSQG^stuBE)ZJaLVm)&QaonikpTDU~scXDj#U z(RcJ{m2vauAF79NlkIWbZ{fnC_xUXxa4_BV=uG`?C|vIDNj#&UcuplOEhq8{Dj@Wg`Gtid0EnZU5|eT39y2LjGrr$;HcFS) zAK*%mbt#(@ z?WgV>bLp|{g0_kM+%qdKUQDl9ej|JTj`-wcfn@{Q4VjXhfi%3TU=58`g~z`B-r8uU z`4U6=Y2HVQM{jdh5~q`z^4h>l!Qa1ya73!-z1Pq^yWr3;R-&DRV%DMIQ{q@lXP-@( zx_hQ({{>wB;LG=@`oT%%CGBnU;{6yl!*RGmgz)D*sA-&BhJ2pF{Vy+Bi7C9t;>EMx zyyN~IHunKv%Y%B!^zTkYG0aUSPxCYC(`VeXOPlZ!Mm*W&^V^4(fVU3d*`k_&>?I2n z4f51saVSgZX=uk{2#@-Phv(u1*fZ)~=Cx1M>pBAi(%3fIYXRrFA+O_dp*%li+NrYo zLYLkq_>Ahqx3sUHwTH$0-_8hmhvd#k z>#y7_+ypX0iNl3z2Aa^=SZju!w-Z2qartvG_gCbW>{OjxLuD+XPrM0u3T{#-Wn zN6W)9UjYP*@P-}3tcHOg_Qoq4_f@{_`*M3KK~6Ms@Sik(U$d#S)U>wEI9GZiEOBcR z9EvDb)E2n(d;a9SiRF$1*)dK@_KmuyZ&p@1HQaWZ(|X`VPe(`NJm=h9yL$cRch~v8 zXZ()Lk0yy+#IjAfe2NH_**l)m=p++rvv@`Fm3xN@&JqR%WyB|kr!<>BU6pQ9sl>nT z#xX`x2(j6@0(Rp@Y3ne?du+dc7PH?BC^8Ll-FQf24Kh5XEx*+?2ykR41}y^xw-(z@87pZzjP(%Loa zzK3kkce^+xWjW7ys{jDU&A)#aj!sJVY|Npf=FQ|GQiDkcAX5YShj?xt&D`5jCpPE&4mK!!{o4S_MUxdda^jH9Oc+t~CAfKTq@-Hk9`85%%ypZ4&loPnnUTVI1zmm6>S zmO9m9_2Ofur_SU=+G;DL4&KSR#sftTXoO@G+e?*$llD#k9?>tDREF)`2e+Hc9fbut z1NdrRyojQ90l_wX8PWZfv_-oqi_LCnU%J<+?8zmvvaJQr-U!grT_SpVB%uQ6DIH;< zsGgK{Jv{mhPi7`o?CY>Ck(HJ0s-z_I!(2{p?95f2`!9Gr4#~rkWLq*SQ~wwB^|C7p z2fH3kH+90`%jwzUm5bFNj~ok+Sly^y5p! z6bJISeaO8G8m?sJkn_x82VD7VN$o1Hq{%#}Jy5XxMqVt~X| z^{`?8CRcDY!rZjJb6A!6(~iOHgM~FGyGimf$<_34IsR`FpVTGDdTaFT9ycATIE!x{ zJ#whES@5@h0+wL@5ueg~sQL8M^vynd!ZmfqgX#-NKYkVsDKU*IYHD&T3>>b57KG(T zdHF&7ou?Y?lVG(3OM0AiQb|jN2>)AiU6+XVZvs;Qu#P@aDM`$*+hTfad`j9o&Qv|U zj*u+UqFVxNvg@MzgKQ}~0Sin6&c2?mObP3gwK?3{_4Q8Yt;8j=3Q6JvjUlobLM=zTCes`Y!3sVvAPwA(pC-s?zDKyM)~ z!MjG7unJfn)zi3+v7gb8w1cLVlz@mR?{Uw4Fl z3-R!ZF7z>Ubd_&CiW)YW8$ff|Fa=N%7>OFUAs4A0W_TCg$}mhJ7u=>HhLk@%A*4I{=A7!*z#)(NT$EO<&I7o$UIOb0`4VpjB(*zQJ zsp0*H4`34!Fe`}F9--pDL@5-0R5|cG5hY@4ZniKDC--dY&{V>pM4O(|u2YKKL82Ae z+8WF>PF1FHgwiKeF(gNHc>jM0phUYE)wKW*#HwNKW-y{>|j2b!!Rj4#mjsj1NUA8U zdscrTilx#I8PT!mT$y0$iAZxLS$zU51|3gSNmHyq;p~hk282~hzJTpBo-XyN-kUs~ z8ELREVOW9Hwi)42BxwP2fA{+D;dW?o1f40aw!f_mt5lFC>S!fa!? z6*0wr#*jc)sKX=DFObXYy@9ChAi5C%hlKA??ZmcOfE6N#y8PKl2EjLRG3d@ z&NnhNR3;HE&21f5Ef=UeIr5Osz0*uE5P5$q<-pVKCVu}GW${T#{XPV}Kddo0H)e{< zn`6*+1G)}%ISBU#`#YY{oV(}h8pMH2__d2@yX?=(O3?w%+tK=F`)s$`j?Cljrflrw zQRW2X^J1Uft!8q|K)9wb#NTM9MGrL2MV*L;`YY_%b%G&g2Hx4y56bq-oF`OwRGcsN zkSq$dtdEP1jAR?u0#2R`{%4p#&(hMgcqchQMk1{v=6CAU2@zHtdR-|AbZ6K3|1={*hno?w(!OPeZ_1|J9Wi{k_)8J;(Q9g= zbrYIawCm2P1rwp-I?2nY=H_lDd8x`Q;I5Fw%Kdx~afw3<{nfHRnxu(m_x2(+wV&3s&PqFbiS2?APd`8Rxh?gSm%>lR zIOx3$DkQp>%n*h1hH-jxm88c_n6RNHI(Emx$dJi}Rn=2p1^lkHYU_cu&ySo#(e(1` z8~diL@3Vb;oL4z!>rrZp(b6C?4l`zKLNh3c49M}dIV+V$TRP9#boE2oM&Hxl`|0SA zrMW*Fv%Sios=nV4e1B*etEDOtqocy_F0UU!YY0kF&3^sbGS~EJ+0?6AXQ$V{c%j>R z>u5m%oN_y%1>qf>S59=FG5_>y*{6(z(K}_T=WaX_`oQbRv^kaL4~+U+p>Jyvb4H$w zxuy$`>PA5@baJ9cd9fy^{= z9xAW?$2y@fETvgYxQeB;@bvoMt`3=9w*a^Hw}&+geFZ)~I3|sPPz;=?U4P=Jl3!%V zR^bHmmA~XkWjB7{#e|^n>6f8p4o`YHrVQ1(sbBpT*(~C-Jdp=vSIZP*5h8S5=y;K4 z+j{$sEacp<8|WUC5i=u55nPJ)`K?+t28oJ{u9l()?7v74>hgX;5$=Y@8R}a@ z%Be?nb$wsEA;LsO7e=$IP^&)Ol7Q8ks51J(h0%y3I%ZFWye9$bf<_7C*$X+gpp$Us z4TEo!Z6WiXz3p*oJwdn={u1J1pvrZcJUL?RLke56FsR4uq{Og-K5o_kUl z&hb@mac}zeI55%H){NCSwVYsC`{s@N+`+!T+`6i}N1LxF0Vc7Xct15>HEVWt6nhR< z)@FZwAs~y$KALgLS;C+onzY&yBGK^~u^aHP*$mLKFEg{ls#U9m#G1Qb&-k3l;euRt z^~U#2O_u~wm6#~QexOtlbC6FmbCbRXIk1vbbJmU2=FYL2G|3VJ0=^VTXDq^PEf_bx z?8@dwO=OR*enz4&JrwlPE@*z*%rRRZl$NGV@QOuqJNOgQ{q{US$D-i2KfjS<$Y)Mt z36R%~#5$d72irCef&K+@fd;+$-TNd}%&A~=Y7u0^>-W*oX@{onX)G<~<}~ZF@{<>> z4w*6E?Qi8W<=J!QY#=OSoT>~u0J^k4KM$-VDmIo5-ap;W?JWXt@9=a%`myJ;`@I0W z%JKVycLU`P2V4^m0C!u`RRK@Y;#>-?6e=zVRIii2s!0niy-1Vjq(@WWTR8mFuPvy0 zlr1Q@HBo}uX=e@jBlLDY0lE(O1zo~Wfp((1UH1A;H^7I(%P+nDQc!t(n0}(Z?ZEDW z@q}U)aHGh4NY<)%zSl#cApWI>NpRH1j~@g2`K5mc`|BoHem^$`phIG z5JP?fBENfg`u4Gly}iSL@6wP1m{vZhsA$afzCq7{=mQ|bRn^}*Ipxryfe|yq`mf;i z3(qHM-IXtbzR_uuj0;e(6cESs$Tn$98CrYzGWJwuqIw{~phjKG6? zFG95zqQR;g-kO2m}cNcgwUt{)P zyD;ajJZadKK})h|Y?At;)%f?vYK_RaQM^{Gx0^4yUZ$gvMbZ;VAM*JC!{@WktaN_fzjjRH`(QedTS9If~Y{7U)KZs7U;()jR(>7hx-~6&2DOu-83BW}5OP zGA4#SQH@@q3i-otI5iFPu64F8)|l zc+~W(10zjU!;w0+kq9&u%xuE=@#|Qxe;>4#uLFhX5rD^F`lrRG@1)oqK!5OhD{cO- zl$Mnzt0odi2#{yaoN?}@e(T;++J+8-+~~yncAfhu$Kj{Ujd_PN5WHTy1T`V7IZ`LnJrgB4GS4&H`xC#lQ!i6Q6nKGixTsh3fP;i@K$QRxLN0vUHSQvb~IY=j4 z?atKb2NPGVDk?JT<7;r|VN_Mj^UdZ@lM)j>h$Vdgc69gWHY~9UGA-jgx&up_6F}g|Kq53H@^$a)ZRg^t7m~R8>qC#9%s#&(wYU#{I`PvWD~% zZF_Udx33dYSEF9peWyv!vLCbTMW5j+Ll(F}M1)pa_#<%jIWAx!G;mZX`-v%rY6A^d zf-{W!m+wF%RDSRDuj8ZC_@!w93Jq3wUEo`5O}j@q(MU69T=~g}N|>^m>Kk|S`t^{V z`B6R!(dI&r#->707DEY``cd&$w&gNWE1?AGHwg`aWzNJ1rBa14zFLbdt5NwN3y?e_ zsYO!cVqyY}=(53Hemfa83lf7^fbMgf|M)!VtEc1fJN?WI;vlkS)*Q2 zxL~TJgdD)9;oQFzK?T&?-A*y8nVfck&%E{&tV_Q=vt?j+`vB zw7-XYk2v`Vd?@ln^UO3@K4cd|@&CcWPX;2<@LQ3&3l;SbK@NXS*zQFi$dnaUKQ9Gy zUx93iJ`W7lKyGW-7drPfS2%3ydXOXj=>O=)t6(lzV5Ef*wtEmgMGzDEzj^cDed+Ua zzg4d#vLG!q$B0-&R5HOVBkgQUuFW*nt=qP>LmdcJ?Sb^jVC2ZD|MM~Qw(j07v>8I3 zjaZY^&~b&8^UWn22X?FOsivkT90WM95lDXpdef*Xd?mzB^++}ptRlm&E~Cg~#K?S| zx7PheN$-tveoQ4LKxWz@1R7Sb_~Fd^zy4jfvxW4(3z0GHba&1K4gV33<1;ntIt6Pv zMT5GE-YA}o0DU1%et(2HOMU16HY^>0Y?Rrnj3(d_B4R&_$l-@)k%v4412Tp^Fv^qpkczCQtJ3g~H8X z`0xuzPKGjKbLKUsu!x_u=}Fv{2$taPX>n^W1TTCx%!G3qDl*r3(?eQynCHt^H4>YH z-~8BcUyVjd(Z>4&0B!sgCiWy)X*YwN#*r-IbkdGOhQ$bj-WFNB zmseUt#m}5Nvpf2>@l;1VX{5+3{sc;C0S$_}3cMREFM{k<$b`iwAkW{hd-v`lv;NuL z(aJj?R8m&f96Gd{0QNxw!`QC^wWLHAFEw-K52;Ra^1%j&|9(SiJE33G(b3^}VO}#D z?luDGLRL&n8xLS}KUHDCrXOuJ|2{J