aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeah Neukirchen <leah@vuxu.org>2018-12-06 15:57:53 +0100
committerLeah Neukirchen <leah@vuxu.org>2018-12-06 15:57:53 +0100
commitb3d780a4dba7edc1cbd151528d36761e936c4ce8 (patch)
tree381e18af444c69660a918c25f5223cc6508363c0
parent9b9dc4d2fc08c07435d61e34a36b8ce037168a5c (diff)
downloadadventofcode2018-b3d780a4dba7edc1cbd151528d36761e936c4ce8.tar.gz
adventofcode2018-b3d780a4dba7edc1cbd151528d36761e936c4ce8.tar.xz
adventofcode2018-b3d780a4dba7edc1cbd151528d36761e936c4ce8.zip
day05
-rw-r--r--day051
-rw-r--r--day05.k6
-rw-r--r--day05.rs31
3 files changed, 38 insertions, 0 deletions
diff --git a/day05 b/day05
new file mode 100644
index 0000000..d25aba4
--- /dev/null
+++ b/day05
@@ -0,0 +1 @@
+pQqGgPzZWwSoOsgYLfFjJlypPGXxdDGhHBFfbLlcCGghHNnBblLPpfusSyvVYUzTtZzcCFfZFfAazZSwWsSsLldDbBUunCcNzMmZFfIiFnNQjJgGqPrRzVvZpDdmMItMmjwWMmJhHTCiIcEWweiFfgTbfFBYfFytoOixXCcTtqQlJmMpPqMmVvGgHhaQqGgAjJQFfoVgnHyYJNnEeQqjmvVOoMMmhNepPyYEGFdpPDfHhvinKkzZNIAbYtTXxysKkSBSuEwWeUfSTtQqsFseESstTyhHYbNnBxUuXBbaBNnbjxsSrRXJJhHgqoKJjokKcCFfGfFgsSOjJmMkrRUxXuOQOoUuGPprUFfUuuTtRjjJjQqWwZzMmpPJFfqZGgaAzQgGkKnUuwqQWNfFONwWnjDwWdvVMIimMsSuUGndDNtTfkKFlLERrehHfFeEPCcIipSsInNVyYOoviAagrRAaGMmnykKVvYBbVPpvpPNfFHuUSswWdnNDxflLFDdXxXhjtTEeJgkmMNnKqQsiISuOoUYjJtTykKTYytZzLlgGmMaAQbBqpmMFfPsjBbeEUuJwWSjaAJNjJExCkKbBCcQVvqIityYThHcVvuUXzZBnQqvVWwFHQqkKHhhmMpKkqQOlLoNniIPfGgmMbBduUxXDNbtjJTTPpGgtRroOpPFfYYyNnyspOoPouUiImMOeEzZuaAULlhjJOoOoHSQtTqQlbBbBOYkKyoLmMtfFTUaAuxcCNZzXxnXmMLlqiIwDvVxXnNenVvNDsSuOoUCcdXxEKksSeELlJjFSsrzuJaAjUZGgRVvrRrFfRuUbxsSXhHekKEeETFftyYAaoOsJjStBbHhTvHhQqCcViBZzbHhIRVvRrrPAapbBBXbJwZzqQUuWeoOEcCYyjRrBjJWdDXxRreELCcyYlwxuUAaTtecCmMkKgGEwOAaArROoaorRWwWoODoOdUvLlVthHTulLKkTtjJzZUuegnNGEqQwGXxgAacCHhAOoTtJjdLlDuUwWTjJtXxCcopPwiIWvmMVfFzZAavVRrwWBbOQlLpPqQsSERraAeFVvfqMmHhVXxjsqTtQLlSJvlLMmAZzaIuIiUiZzcQeERhHrqZzOvVSsoZzUurRTtgZGgzGMmMmpPWiIwCYYyyrxXuUGypPYgYyJAsSBbxkKktfFFfTkUuKKkNPpndDhHKZzXaesSESbBHdDwWhEDdeWeEwLlWEelLiIwZzNbiIBbVvlLsHhSxXHoyYOhkKrRSSssKkvnNGOogRxBbXhaAHMmfaAjJsSlmMLmfFMFlNnQJzmMZJjGgrRjqLrUyYTUlLuuUfFmMtXxjSsJSWwiIsuBbVvIHhHhQGgqHZzXxhqJjOonNkKQdDbeTtEUsSAaYyAshhHJjNnHSjjJJjWwzZJPpINniGlLNnmMgUuYgGTtyanCPpHhWRrwcjJXxYyaSsAQqNoOMZzmGOogWwztTgKkGTtGgMmGgkmgGMIpPkKHNnheIkKoOiKGgyeEYWwpHhTtbBPLlkRrERmMxxprRPsSaAiIPsSpIiXIiKAahJFfjBSgGUlLBWwbusLlrRbmMHUugDdGCcksSdDvVMmdBbbBDXPpPQqZxXzOolLtGxXPlfFLpgTyYQqjQrRrnNgLlFfRrfFGRXZKknNzxqfFRrBjJEebHhjJHhyYxXzZduUDXxXBbbBxRnNfJjJjwWFHhvhHVKkrJPpTGjJgXOoxeEsSRrtyGgzfFOOoEsSTAaFfthHfibBIGSsglLwWzEeZiIGdDRruKkUgGmyoOYMjJgxEeOoCczZXaAaCvVcMmiLlOHhoImMbBAugYyLliIGwWHnNXxhLlJgGjeCcfFRMmrExiWwIJAajXiIUucfFCrDdVvRUuaAsyYfFYbYfFMmhHiIyBvTtoOVSQqQqgYyYjJyBboOwWGiIHIidDdDPMmphdDdDvVvVslLQqzZAZzalLcGgCcjJiICHhOOoqLTtaAlQlLhFfHAaWwKkGgwWEeRpQqPWwyYpPIinNWdDwrYeEJjCcSsYyvcCVnNCcGqkKQLlockKZzCiIONhHDXxdEeCcxXsSEeUeEuUaAujAaJuMmUXvlLVDdxnnNoOJfFNnnLZzlNTmyYNkKjJnzZMtvfFLlIyoOYiVvPpjGgJtTVjyYwWEeiIjlLlbBdDgGsqQSMmljJjJCcLLqWOowJjQNCkKHzZhnNoOXpPxioOIHURruhcnKIdyYDijUuDoOdJkKSmMncCNRrwWsPpyYsSKkdLlJFfgGAaTtjVOovwWkKYyevVWwQqdQOTtqQAaRrGgKIikcCeEIixXwzZvhHVWabBAaXYyYLlVlLvyJjEZzIxIikKZzgXfFrRQoOiIqZnlLXxQoOqNAmMOEeoajJuUzZRrCejJEPpJaAjhHvVcAaGgnNnNdDBbOonNebBElLHscHhvVyuUYJjxXjEVvZPFfLliIpzYyRXxGgvVLqBbYyQlVvZzLlredIidDDJjjRkQqKwUuVWwvWIiroOqQAvVaJeumMLYyFflwrIiRVvFIvVisSfEeDdcOoCWGgqRrmMGgQkvVKeESkKsrUuRpWwKksDdSzZuaAUAKrRkaJAaDdlQqsiISKkLKRnNrkKkIYXxiIGgyfFIOowWsStEOoQqwWRrejJXLlaAxTiSsUdDqQFrRfpPBuUfFXJjtTxOlLpPVvoFfWGkKvVzZAnNaozLlNnZOggGmMLgGjqrRQSsmMKUuhBblcSsCScCsLHWwDFfdkJrRcCuUtTNntTlOodxXDIihqrXxRyRrHhYqQpPQfroORjJFPrRdDAauoQKkKkqOqUuQDdUhHMmrFfzZRpHjJNULlBVvGRZzrdDaAMMmmaAddfLlFwWUuRhHlcCVkKvLZzEexXRsSNnLlSseEIieElvVLjkKPpJGiLlUiIuIfZzQqFfPpFTKkiyYITtYymMrRtMTLltQqwkKnfgvVzuVvUpEerRgGPZlUuLlaAIPpnNTnNbBwMWwmWtiaKkAvVRrzjNnTtJwWZwWjJcGgAirkKGgReNbHhGgWwCtTcBdPpKkGgsFuUKYJjALlCxXcrRDdWwAaamuuUUmMBbMGoOyPpYJjgydqQDvZzdDjJzZKkVkjJRyYrBEebtTXtTTVVvvtxLDdqQlPpMzbBpPSsOoTtdDZzZkyYKOEeokXxHhKLlmkhHpdHhoOeEcCTalLAtpPFfbfFBszUuZoOyYRrrRAJUuUufFjGgeRJjGgrBbnNLVTtvlhHEveXxsSESZzsaOovCpiOoymMYsSMmYwWFZaAzMUzZumpPMETmMojJebBXxKFiIeEFaqQsAtTbBarhFffFRpProOIiVvXxLlgrRGGDdCcoOgHRrOoRPpNpJjPtTWwnajJIipmMwFfWPFfhuaAUrjuUJDYydNYyVvaAnNMmTkKtbBdDnLlpqZzQPaPpBbAVvWnNwNjJrRnbBXGgxRdiIDHxPxXnNaApSqaQqAcCLCcrRlrRSsgGgxXtTnomMmMKklLHeEAOoalLTtYyZosSYcCGPNnpPpQFfdDqglLRrFfKklLiIAacbvVymvVMYBhLVvlZGgmnDdNOoMwWjUmGgLXOOooxHMmhBbYyQaAqIibBhpPHMmlLfFOolUuMtTGgSsByGgjJovVOYECcecVvCelLOomMEbrRSshLSsBKtMhHmTXSdDmOoMsbBLlxqkKQkPpJjQVvWNwWnJjwJjaAOoWzZYPpJjfFywNWoiWwYGgyrNnVuIvViwWxXAzZaoORrJjyUuKkYgGIQqiInNUuDfFdLlvTtJCcjVpPmMtTNYyneEzOreETtRWwoIiFfrRYypRUngOofRrbhHBFjKwWkUaxXAXFVvwWfxXxLlIizWIiXxsSIiwmMYKkeaBAaCbBcwiwAaWIjJeiIuUjJEOoYyIsSipPAgfEeFGNnjOSsopQqbbIizZBzaAZOoTtzLgGlgGwWZBbPPTtpsSrRAapjJBTEeQqGgTttVPpmwWMlVGlKkiMmcCIdDCcLvVYyIqQGgbSsBiCdVvvVDcskKSgOoRriaNnAjJIdDLtTlSzbBNnuoQaAquUmMuzZxgtvVdzVvyCPpiICcoOEeiMmkKcCenNVvAaRrlLEqYiuUIIdDAsRmMUuOoOoScmMkKCsoOuAaUYyHFfhuMmUxLyYrRjJmAYyYyaDfFdllLkKNpPvsSqsSsJjSQQcCeEqjJZzVygGxRriIgGXYTIitcFfWAfFuUdheEHSaAsbzDZzdZNnvTtVXxpNZznPBwWfSsfFFmQvVQqqyYoGgOMZEGgGgezUrdKkDBbqQRlLrUuFfRuDUucCSsgYyMmPRrPppGVOovCuQqqSsQGgKkpPoONMmnxXZzNKWWwwvVrzZnRVvouUOrRHhRrdGgDCcrGzZkKxpPQqJjCCFbBfwWcYFfycmMXLMDdmlJiIeBbElLEejYwAYynHhzztTGxXgZmrRjJkKFfdDiIzZMSscCtJjLlVvTtjJcQdDeEQqhWwHTtORrkklLGMIimoLSeEGgtTslOKkxXbBTRrAPgGPppaCcCcCcCcwWtdLlDPmMXKkeExDdZNnNxXnNzZnzZrGpbHhBkKbxXBXqoOQxjBbNniIJoOzZShHsShHudvVDUXxOJjIiyYoyAJzZjGgapPtTpOoPgGMKAayIicCrRCaSsPpgzZCmMmMNxXjJnckKBdDrRbLlsSmMCYZzCDdcBByYmMxXmMUunUpoOPrOiIowWVvrRRuQqvMmnNVNGgTonpPGxXKkTZKkOozjPpJZDjEeEeJoRrzZgLyYQqlsSVvJjLMXxmNUulLKsSkgJUnKUJjukrHuONSmMsfFFfdDrYyRgCgNnbBGaAcrRmHoHhOhMGIiDdIkKCcgGhHwWHMCcmlLhAahyYFfdDGgFvJjojNIdwWDiUgGuxXlGgLptwWPpsSpPnNUbzZqQxXcWwnNbBCsSBuaAvVBbVhHGJIPaAzZIipiMmkKLTtlapKCcJjkHmIiMhzjJViIvPpzZZtfFTXuUOLlITtxXHhbBzZEeGgioiIfFTtQzZqvVCMmTtcuwaAXxQqzjJQZOozqJnNnYyoFnNfWwOBbJjBbZPpSnNszJCcjNuXxXxUjgMzZPpqtUuTyFaQqAfhHNnTnQwIOQqoxXitTRTfsMmeEVRrvZzsSnzZORNNnnroGrSQqsFfZzUOorRHhmMXxuIiZgGXxnuUNaABbcgfFGCcsSmyYMXQIiqhHEUueRrkKmMXxDUuEPptUKkuQqTrRigGIjyYIwWZzByYbiLlqQQqIiKGOqQoDQqIQGSsHZzhVvgdDhvVPpMpbBYsSzSsYysScxXCEgGeUusEeKhHVjJTtvMJjTFfnbBNmMtUuvVqQmkSRrwrCcGrRtTuUXxPpgsSPpbBOoIiHrHhAaRKYyAHhKxXkcTtCOooAaGgNnOakjJSslLGpPgbXxrRzZBpPtqFfzZQDdkKcQLljoQqOJxXEwWeyeEYqgKkGCgGpdkMmXxKYyGtaATnNgmCUvVulLFKkfcWwrPpjJRufFpPGgXxaGcCbTtFpPpPLOoIbLkKlFfGiIAtTatgaqyYPpylLTtTtYwqMPpMmmuuUUQEeZzcRrmMlefFELcflrRLTWaAVwWRFfAOIilmMtTeELFfmJQqtWwTcCUuoNnJjgGOfPDShwWqCqQUXxuRrRkKuUCeoOmHhsawWAthHHbBiIHNnbvVBhXxwWrpPVvRKSsdkKiIDkJaHhLlFTDdtfuoEeOWwAWwOoaGgeaAPplLNnqQrcCTtgNCcnzZGrkLlzJjMmeXiIxEhVlLvUtTKpPkHfFsSfFALlaWwrOlLbBwWzZNxXveEVnBbQqMmAmMFfajBbfSsLlQNaAAdDusiImlLhPpHEPemXSsbBRrpPxZlLzmMZzZwWKNnkEIvVJjEeAaIaAiPpYWwozyYZOyUuOoiAabBNnxXgGQqOoRruUMlLTvJjFfPkKpZOoVpPvDaALlYydfZzWwqLtTGgkKPNnmmMMEeKkyYfFLlhcCHqQRrvVpvsSkKkKbBVtsSTlhHaAQGeERmMrUuaxXGgKaGZzgCXxOoYBAUAeEUzfmMrRxkmpPkMmAaKeBboVvvVlUgXXxOovpPVofFqQykKYOgGxDdXrRpPsSLlboNNnrepsSPERpcPpoQqxXOCwWDdyYAKDoOIicXxlLrnNRgTtiIHsiIShrRNnGTXwvVgxkKenNEhKkJjtOkKqQPpRrZzpidDErRkKcCevmMrRhHVIsSPZzeEAaoixXIFXxYyxaAXfxXjJSsNnNnqQqUubBaqmMjJQXxKkyBbYBbYIisSEezkiIKZzZkKRrxXOopBbRrPkKAaHhvVZzZNJLljRraAswkPpNvVnoOQcvVMmxXZGgzCqUuLqQcCIGqQuUgcgrBbRgGGxifFaADGgejYyQqGRrHJjVvQqhQqiyYIMmvVuxFVvzDdKkUQquVRrlLXkKxvViIriIRbUuBNRkKrXxZSbBsDTCHTthzZsoOhHSyUuuTtUTnNlfFysvqQVKHKoOlLkhkWwGgEzUJEOoTtHhhpPHYyyYwoDdOWyymrRcjoOJYMVvmyCMxNnlnNLPTtpXZzmIilcChHXxIbBinNLMXxoOCiIzKkBnNnNWwxvVQnNxVviIXxVvZznNgvVGlLCaVlLdsGgGgiIhHstCcTNnSqMmIiAaIihHrRyGgVvmMYQBqQDHhdVZFfzvVeCFfcDdEuCcuUqtTfFtwlbWwBLMkKmphHaABbtjJTJjdDgGMmPtnHhoONEHhFsSfmMHcaGgGgWwwWAChWweEeziIKkAtTjJgfJiIWwUupPGnNgjXyhHeoOBCcbtTiIiocMmNrRnCpPUugGsSmMLlpIibdDBmMPBOoAatHSsrVMmpXxPvDdmMQjJCdeEDaAcqAUueAIAaLCswWbpiIdDvVDdgJPptTSpvaAXxPbqlvlLVLwWqCJUxXujOzZhHTSyYxXVqEyYeYyfVMEezyYxXZQqmOoYyVilLCcCcHhZzJTTtteEiIjCcsSKkcCwwEjHXxhbBcCutTqrRnJjKkyYyVvbjJgGJmaAMMnNnNmXAVHhvMVvmaxlHJjGgHwxXOoTPaASeEsUAaoOGgtcfFCqQlLbBTxXSfcCcCKkvVFHJjURrDdRrnXxNntLlTvAaZztTtBbewWElQqLLlTpdDUpPJjnNWwZzjFfTtBbWswWSwBbUuCcJzZaAgGMmdivRrvVQqjMfFEzIaAKkNnSqQuUXxutIWwEzUtTZzgGrRtTlLuTtfFUFlLxwFOofNniFfIcCXRDDddxXrYygGGgNniNoOZzLleVvBbMNSZnqQNWVBbVeQqizZfFIEWwvRXxRBbHhPDrRIiLsSRraAliIWEewZzpPAaMmZSscScuNnMmrOXxcJjwWSpPsCmMaZmMzjJUXtTBGgpbBZzAaOoPSspPbbDVvVEYwWyXVLlvwXxxiIgGqxXjJtTAxXjJBbaiIyYFfQVyYxqAaQKvVkdDXJzZjAaHuOkJjKfFwWglJjHcCSsOojXftTnNFxWnNtTjJwCZjvVJuUbpPBzfNxyYQqNEeiQbYHhyGgCcSmMfFEerRpPZziIfHVbuQbXxBrRqMoOFfmMiqQImdDZtwdDWyDMmeEvVTtmVrRtFBoObfbBnNTDoXxrAaSsRfFMmlEfFeIvViEWwVmMvmMOSsyYWwVlLPpvRrcCLfBpWwmtTzZaBbATmhWwHAaMMmrRTSstTOoAadpnNPwWGHzfFZXxBbCWwcnVvNkKVvIeeLlEwkKGgWCcEHtTblLBDmMdvVvVTXrRyYxgtTFyFfYDKfFkdghvVLlOvXxVoeJjcCJjRyZzwVvWFkKfNnnNxXKkSsoOiIUuUYyuYrtzZTRrEoOTtYCcqjSsJqQqQjCccCbBrRlLCVUrRuRrPpRPprvpAUTtuagGqQxvVyYhNnIvVmUlLgGuHhejJqeEjbBJZoJjlWwUvVJRrcjAQPpnNMDyYNHaAhnPBbvVeEBsSMmxnNQqjJrRXwuUWLQqlVvTtLAaWVaAvwbqQtdnNQyVoOHeEMOomhTteHhQdUdDgGQqHQFfqhivPpzcCAaZVZcCxJjXxzMmoORrKkDubBUXxtTlWwMfFYyJBLQqHhiImxGyjJYgnNKkbhcCGgEeSBUvVlLtTJjuMMkKmmbPvVpBfFLKFAafMfGgCkKmMCcYpZSXxUuurLPplqbBngGhhbBVvHHIinQqmMJLljQqlLnNNQqjXxJsSJjLlnBQmMqxyYXCcbmMTpkKkWHsSsrQEjJmMvKBbaYdDyvFfLlbQqBGxeEsSXLleuUKZFzZhHGKlgGoNneElEYynuUTtReJjErLlVvsCcSSwEeWdniIJzZjIiBbiYyBxXbhHAsMmSiAxoTyoqQdDdrRexXEDikLlKLcklLKIiuXEoOenFfNEoOeCiIcYyxUvdDUThtCWwDsSrulLwWGgNnNsSgQoOAGgcCamMnBbomkKMuqjJQkrRcTDaRrAcCdyjRryYpPZtTzEeVvbBTeEtNQqJjnRrDdqQJfRrWwFolHQqhUXxBGgqCcHxXhEeEMMdOoQqKjJJjQqFfNnXBeEqQiImMTthHzEeIivVJjUuwfujZzHzjJnNoSsOGCdBWamAPpwQqzZeEEPyFlOjvVxUucfFXxXxqOoWGHopsSfFPeEIYKkygGiOIiZGdDgzGkJjiIYFfNBbQywWCWdDtvVTcCeEbBLChHlLKaAkcUgGjJuYyHhoOLBgGbrRlHHxGgQqFkoOKffeEKkFquURrVvkKkuUKyLlYRGUujJCcPpyirRaAHhIprRfFyYdDUEeiIgOoGuvVPenNYywWxfFMmyYXaGcXxCYyPvvWwkKVVxQqXpNpnNZsSAFRrfateEcDdiICTFffOoArRajeEJOoFzWwKkPzZnBwWbOmrEeuDyYdnNhCPpuspPSrRUzZfYBaAbdkdDyANnagBbwMmWQUWSBrRbWwdwWDGXxgsxXwBblYbByraAPaLlAmMxXptuUTTCquUQDbBbFXxDKIVvQqaDdAQjyZkKqQOopPyYQqpPfOVvKeEtTuUkSlmbpZgGweOxIAaSlLqUuAaIvVicJjCSbBseEfNQqekjJAaKgGGhHcCvVglLEidFfDZzKeVfFZpMuUwWJpPrRzqQPJKklLjicUulRrQjtTdOLloJSsyYyYaAnNtTYSCcDdsSsyEelXSfFsxCwWDdckKVvJjAaOogGXyYznNZBIIMmiiRrRYHpPCcmMfUuWwFJDSHhkKmpPMlLVvIjJIiiNnfFvLibBHqQhIlGgghHGxlQqvVKqWhHwipPHhatTCcFzZfeElDGgxvlyYLVXrgGRyYRrERrypPlcfbQpPcCLlBbVvBjJgGiAaZnNcCBbahHIiAQHXyYuwWezZEIizZEBboLBOqRrLlQqLltTZwoAkKQqrRaujJUcJjCOAYZlbBkmVpPvWmzZCbBVKkWwOyVDKSstTxXYfKkajpPcVvCgVvGJvSszDYjJIiydiIHAaSsAXxAItBbTuiNYTRRrbBMdVSsOovGQzUFfEeuOXkKmZJMeEglwccClmQosSILAFfOPpAaosSPpzrcmMCDdyYGpPcCgRPKkaApvHJjgjJxrRXEGgeGzZiqQMZzmIKkMbIiWwJNpPaAqmMuVvUkKrcCJDcCnwVvnIiYNnBbFYZzLxEeXlVExFfXQIQFEefsSqUwWOEkKeouwWiMyMmPpjdDoOXxJYkKlcCSscyDdlLDQGQVjJvqgqprYyRdtTcCcCaCmvIiMmuFsNPaHhtXdyOOzHaAhjVEeDdMmhHucCUvPuxiIXUmlsnNSifFIVjycSIisCYJRbBmKkQiIqKSNnsjJkMVyYPptTmMvVOopJjJjPftTIiFaAvGgHhwsgGSTtPtAEeCOoZzcaiINVeGkoOKkyOoBbpWypPyYeqQqQBbVvEmmMoOUuiIHCcqvVQRrsdDzUuZVvShKktuUTxXMtTDbSRZzvVkgfFrRlHoZWwYyIPoOoOHVGyYbrQqkdStkKsSNyYeLlHhEmMLlxnNXCtTcQFrRkgVFAayYqQhZHhzHjJeNnoOsSjJEfEetTySsnvVjqQNUunJmOotTMmmMBiTtPpfQSsqFwQqrAhHYyijSHKkhWMmOoUuUHbByYnNjJbsCcAwQqWunYMmSRrgGqQNnmDdVHhPpBaSgGgRrsbBuYyqQaGcCPiIInyLBxXbpPkKjJPoOWwOTQtEabBRrvVbBArRXxegGIJjPqSsbBNnJjQpSMmgGvtTVNmMnLYSHheEmfaAjgGjJqEepPRrHXiPpItTxvlNJjgjJFfrRGBJjFfLNHhqSsKkEvViIedDukKUGgtUuVvKSsVmFOoQZzgZzpPnNSrwgGDvIGgYyOhHkKdMmVvgGpLyuPpUgkKPpGyotTsfdDlWYtWieIxIiXPpixQqFfZzSsJjzgortTROoFfqWwWAaWPpwiXxhHeKkEHhXPpiIpNnFpGgWFRDLgGKkCWKHnNhzZwWMsAaJjHDmMmVCeUqQQiIyjJeEQqKkaAAaBbmHWwhMTniIXgGveEVXxzfFDMgptFhoXtTxyYYyiEewXoOPpHhOosVvoOWwbUuBptzZTNnKQqbBfxXjJUXxqQPpDdDEemMxXduBbQlLRrcCglbBzrwWzZLlRJRrvVZoOznDdiIGniKvVfFEekcDdWwUuCWcyyYdXxDjPpeGRrgAuUwCxTuCFaAVnNeoOcWwCyYkKvVvGgpCjJctHhVvTPgGEeIrRiaAzZLlzOoCvGgfsSTtcClLZzLlfhBwqQWbvMgGRrlLNXxbUuaAhHJjOoJqQUujBnmfweDdHhEefLlYyFKkNlquUlLQHhAaeELlbBkyYwzZkKCZzWsiIBbSwrcCRvVMOomdVvDpZzHhiIPCVkKlLGgbcOoRYaAxXKtUDHdDhzZaAdHhyYSXxsuCcCvBbPpvUuWwEaQVvFfhhhHdDSOjuhnNQeTLWwlxhHVvshHKkSbOhDlLdzZHuUoBwWXDduULluUtTUaAtyUuEeaAwWYVvRCmLkKuOAGgaKkZzoeEGgbGYygmNWyLldDooWwOpjRJuUjiIEeMmraAjJyMmYyCnFaVNqQYhKkHwWhtTsSqeEtTXxtTRqQfvVyYImHhHaABbQZRwWhatTAnNHMhOrGgRsdDOLlhHzcCrRCXxGMmfFHMmMeEmhgYDdydDKknEmMxKkXxwWxXuCcUbBvzZdWwSsmNNNnDdNFBbfGKkgRrQDYeESsrRqxXxXLldDdxXVGgIiQqpPTgGzZVvGDdgGLfFlgHyYEnNegIdoOZzDirSszZgTtGZMgIiwWkKZiIQqBZzbuUvJytHhTKFAGgafiIEeEuUTtexoUuHcChNnoOJCcjiSsnHFVvodDOzLIoOHWwfKNnaAkoOFvMTaAtYyUuJtTLVzZDcCfFdOokKjJgGdDvhHqMmonNoOOQFWwHhuUPpHhNkbBXSsxjJgVvuUMmSfFMIgGinjJGvzJjEkzZaAWwuawWApRreHhwWpPkKlZzeWwHWbBYymMRrREdChhHtooOQgGqOgGlrRLqQMmCcqQBbvpPEePpnhHnNIikWwKZzNkKxXMuUwWwWxeEXKqQGXxuUgAZzaziMmIYyGUVvdDGVgQqJjLeElvPUDTtrtdqQjkKSsJxZndMAauDIidUxPpXWaoPXxNnpOpfFPDdcdDClLAdMmDSsjJpPKMLjKahHjJKwWKrRBbeEDdBbaTfFtGvVgzOovmMPpLlkKnjdDJNQKlLSGgsLELlIiWwDJbBjwWdSrRofoOtTFbBAVPNYyyYEEtTeeDsSMVvgkKGYDyYuzZlpPLFfUgGcCHhUVvwIZAacCbBpPIdEeoxruUiIgQYwWnNkKWwyqLlEAkKBcCuOUtTbBueEKoOktToUOodDOoujJeEUzXxZaWwnNAeEQGYBbZzyDEDdBrBbRbFsYyqNWwXxnMmQJyYjVztnLBQqbgipPJjMmuUqBbSsQzxXRrnWwnKVvkjBHjJhOoFfqQbkKnNFfWVvwkKQqRrAaJjJLltTltTeEsKkLiIeEklLENnNnefVoFQqfOJxiIMnNQFZdXCLlNneEcvzwWORAaroVvIjnNqnNQtOInJjsgRABbzZPaWJjwAUuQqBbKCczZthIicMmCrRXjJxcCCNnRyDdSqQslLXXxxCzZVJBbjbQqItTKkitTzehXAIiaAyiKkIHOTtYmMuUkKXUuXxxeUuEPpyGgNDKkRrdnqrHpXnNEnNekKLlIgvvrRNnSrYJjzrUCqQKtTGZzgsSgZvVzGyEeYZzlsEeSlsHMkrfuUYUuEsHAabBhSgzeEZkYyTtKBbBbIiUuBbhHKIyJjJjKhZzVvOeEhYAgpqTBbwWBblBbLTHhqQcCvarRoOZzTpPCrRcyYMAauLkKlUGgvkkWwKNBbSbaABZzMkKmhUusSkcRtTwRsWwSJfFQqqQPpjntdDTBRuUAiuSsRPNncrCcyYRuUdgGDIimMRrDqrRFucCsYyEKkeYxUuFQqzZLlfnmxXPpcEIiEeatTkKkMmKwWmGgMMbbBHNnhuUKhHcalLACMSSDytylLzMmZfcCVHhvbJjMmBQqRBUuzZbSsaAtTGKvVkKwSsHhWnFfNzqQgGyWaAeYVvaALeEdAbRUHhrRzZuoOrGgaABwvRdDmMCesSEciIrVYDdyBMmbRSsrisdaxXvVncCKOxXokKknKkNMdhHFfDmOozZoxXJjHhHoqQkAKkGgFfYPpHbBiIoCeEhHHBbhWwqQRQczcCZCZzVvdJVjmMfFvgcCFfcEesPuUpHJjhJiVvILYyQQqChHNfsnNJKKkBtPJjpcETmjJoOQqmzZSssSSstKkTzgGJXxHhqQxXvSdDdCoXoOcmAamMRxXzfFZWjCcJwjhHJMDdSsKkbBmizZITigGgRrGhhHrRbYyRrTPpzZntTIiIiGpPWHhwgYFxNaANnrrRIuUXxfihDdAaVDdvDdQkJHhWweEjUvBbVfFAagwWssSNZYyTtIihCcCcDNnQqFmMXoOfSsFdUBbiaAaAUxdDutTCcQaZzAqEISKhWwMmHXqQUuAbUSyYssSFfGcAasSpPlLCcdYyNTAfFtWwrRNngGTvVAIJgGdaEtQtEwSsWseUhHWwWuUpPBbwmhHMpCXxcGgxMmhHTrRYAJTLDEeaAfFFHlrbuUTtBcCRreEReEryZnnNFfbmoOMxXBmMNuUtxGKkKkgsSXTMmthHRQqrZfFGxXgbBNMsSBbHhocNngGqQOokKZAaiImpVzXxZvsSdDVVPwPsojkKMTlxXLtfYyFjJjqQjJnNMbBVpkKPFfdDvlLJTtCnNzZsScTwWyYttTCcjmkzZoOtFUfFTImMitPpKkQdJjDqJjuhGgPAaDdpQtTlztxyKJjPCSZzsyYDdcjJpxNnDWwdSJjHlciKkSKkMmKkseBohHeEQqOCcSsLQeEIiUqfFpjCcpPJPFfFZzIiPhNntTkPYyIBGgbZziFReYykKOSshHoLlvVcCUSsTEetwvVWyYLlQNnqgGMELlTteyYmebmUupyYquZziIUuUtTbaAqnNJjyYQdlLVvDwlLvAadnRrKpPoOmMdYyrbBwtWwyalLWwvfFUPFaUqQLluGcxXfZnMWwdIiIiWwtmbxXAyYaDKkdSzZsDKPWwrRphHkImGgYyMOomiIrRiVvspDLtTTDdYyyElvVuzZoOjbqkKzWwsDASxaAZgstrLxNyYHhzzesISHhsixdhHCcpPwuLhxXClLFeEHhOorRdGgOIzoOMMmmldvouAlLaSWZaYYgGuUHhsvOoFfWBbJeuwWUQqpmEeMzBbZuSsMmMmIiVvlOiIpVIhHhGguybUuXkpKkPukKsSEzZeVwPpWjJJjSqQiyUuRbOoySgfFqQGdKkDsEJpPjEehczmdDUuCcuFfUkcCKGpPrRFjJfgAaGdDskUuytUuxaASsDpfFGgtToOxXarQhHqRCKzWnfFYyhwZmCoOcMEewWRHhCcovyYVzqQkKfzDdZbBlWwLhDFqQZAtMmTIQjnIMmiqWMwxLlmTSsXxtUugngZEeGivYyyYVvWpPwCVZFfuUCGgsXetgSsmMoJLnNJkxnlLjCOyYoWnjJeELZzlUKkVvGTvVEeaAtqEUGaEBSaAsmMbPsaAHhSUrTtYyRLlZJSqnUMFfRrlZzpxXPbBZzHhrSsTtxXUusdDasVgGBsjJVRDoIcyYgQqbBGGgtdDTGgZzyLyUGgxXtfFLlKaDXxEefaANFfnELOitOotHhTLDdtSsgojuUJrxmMEYspPgGrCqQNnGukKUzZLlDdKNndVvPpDQqkNMmyoOYTtOkHhDIiHmMXlkuZzdDWDSQqyqIhGaSOuUosAVdXxJjDmMwWTtkKRrKiIkARrsOoSiNnnNIBbAadyYDTyvlqQCcLVNNnMAJjaeEHHhnrRWyYYOoydDnNzZIiiLlqqQQoOIVWwgvncCNIaKXxtTNXCcmMXxrOoxrcVsuUSaYnhqQqoMmuZMsBblLSvoOvVHgSsqaANnQBvVbGgnzwWZNFoWwMYyQFFNnpjqzLlQwAbsakIPnnlLaAXXxuTtYJjWwJxXEevZJuhHUhFGgiIXxfSDdAaLuEYyOoatTJlTQqtLxXgGKpPwApqpBzSyYDcCdszyBPpktTpPEeVZzvHxXOVoVvgtTcUdGhHEehHhcFLlLqwWXxixXIuUalHRrtTRpPWwMvVZztNBlhzkKdDMmojJKksRPpjJamMHXxhHkKhgGMIZXxsSKkFpsTZvGgSsOKktdujTtJUwWDpPnNHlzZTtnTEOosScjohHJLlqQiEDviScIieEJjKfioOIiIsnLlvkKtPKkrRxXkCcYYypjJPREuhHUjJQqXxrbMAamDdygGYzZODtTDXxtJOoZsSzUuOoDgGicCfeEWcGLlgCXSOoMiIKMmkjSPAaLlcCXxlLpkKsJQqpiDdXxEatTWwaOoavFfXWwxVrRzNnjqdDNYTtMPjJdzZPnPwZyYoNnWwPtTEeYKQBKksSztTZAaBRYPZpPqQzoOjJMHhdDMmmotTEexXOCcBbYyYyphxdrRDCrpPRRadzgRuElLlLBbhHyYCGyTtSdUuLLPUucVLnNlzZYylBbTtGAGIxhHXqzZQitdcvVtdMyKNKkXQkhQdMfFmAvVXxBNJjJjxOoMmRrTgGrhxXlLHRvHVvJNHWwhbnxbBXrRUxABWwqQbUatpIgGBKkbFnXxNnNdfFFQJuUjqXWwNnxfillwzCkKpcWwCPiRrWmMAaakNaAUfFSiDdzZTtcCGgdwWDqQIqQpPEyJjYeuUKkqQGKkMVfFDFfIyGgTGgDdtvbvjLjJdDhUkKqQWwpPuPTPuUpMmPhCHhHmZUHjJYfLlFKWUuFfwJjViuUiTmSiHUuFfkLlLrofkAVldDUuiILHoUujJeEHhgVvcCdDXICUuciIiwTolBbPytyYybqQtTBgLluUaliIXBbOYsNjTzvtTwWwNNnVvNnMmcKEeNaAdqGZzcBMddMIiRAaJaAvVuKkqQkQXuUxQnNlVvQRjJEetIkKfFQqSSssLoDdWzAaghqQHGBbZHtqpPKkdDLlZVviIzZIWZQqCczKcCsjJSkTiXxVvAaJMOonpPNDNnUuEAvMmYyVBbKnUuNiIcCRepRrZzeBqQJrRjMmaPprRcWquFfwWHCSqQFSsdeEvVpLlhHIinvVNXTtDIsSPpBeKTtRrPpvqCGggDtfxhHRrQoJCutTtTQqOnNoJoOeErFhPlLQVOHhHyKNKktTEyYYyyNnaAnNYlLkKsSiIgjIiLlEfqQorAuUaRfeElhjJHzhHZtiyabhBbHQqmlsMHEejJlLsfFkEwWHwWFfrcwjDOeEIQLbZUUuTtCcuCYwWPkhJjjafNnFmtKZzkgGiImmsPpyYKBbkKkgGSyvVYRKkaArPWaHhuUqQamMAZMmwWlUunwWjPgVvNnbBSKbBvVvutNmfFjeZqpPaAQzkKHDdCYySAadQqYyDafjzxXwlljmMJLtmMTLEulxdMYyWpCfFICciDuJzZNfHWUuwclLFfaYDdSZDqmMXqKkQKCugHNFfnhJEJCcBcCbjEeyqaAQLJGetvCcqQKyYDBbGAaAzYymYyULWIQstobBBWUuaMRvVrRVFfEeMXZgFqFaJCZXKOxbnZrJKkDRroKkauUEzCdDeEzZevUwWpPdXxqQjJDGsSWwguVcCCRrBlLpPQqigvuJmMMmQEoKxXkOugHjNSsxKuOkRpPyOorRqQHhlLQzkKtToOwWPUKhrRHExNgGXxhHoOpzrsSjGgZTtuvVfVvjRIWwhEeHxIxWRCCcjXxsCcBbegbBGELlURrnGgmMWdIMhoOctTJokoIiMmdDaMgGnNGDRdOJnaAovVONVBbRmNJjRrWpJqNnxdCJdnNQqtTPFWwyYgPmrRUZpPzufKkRrtxXTQPepZzPFrFNtpPYyPmMeBbumMkxXKUCKkEeyYmMcGgCgGHZzFfYyRITHBrRbXxqQcpPznNorRMmfFFbgGsSWwFFfNnfFcPpQAapPkKKHhSeECmJjXxJlLRvVbtZSrZzIGRbvfNGxXZltolLOTsSfFgbnXxxNCmMBbQqFfjdWVvwwjnjJNyYJUkBbzAaZzZSLlsGCcgAaKuPWzoOZcGgNnCIiNihQlpGhcjBbFfLgGZShHmMOouUeEOogGyqjJOnAzvVFbBCHOSTqKgcCQMuJHhjMOeEEQqKlQqnNLYeEMmphHemrRMYyEEePiiInIrbkfpPytwbmrGgWZYJJGgylJNthHSshXiOiIgvVGDdXEwWTdbVvwYGeEgQAghHxXGaTGgGqBXxbQgmMsSYNVvsSRrnHNnTpUuMALlLyYrvVMxXSeeqQOrRPGFfSsgmfmIxXnnpwXxWeBMmbEpcRrpPQclCQvdDVyBOoXxbpYyVSsiIvfQqLlMSCcwfCcOoHmMFfhYtTyLXZzIYDcCqaAnNQfVhHoieEIeCcEMTtUnirXxzZmMJjcBxhdDVTEetdqfFuiiPZdDEeaLkKkLDdpPBsSihSDuNngGNhptVhhTYLlhrZQqFfkOoFuUfEeUuMEaRrCdKsPOyIvABvWpPwCcNAxXankllPpCMemWwKOokuUaDdPpPppPbjJxXvHsfMbBbOgGqQeDwDiICcdrhHGgRvwWVbBWbuGkJTtWSsTtwmEAgGaeGnkKyanNueErbAagIUCiIeMNXxSpPFgGuUfoiIlZqQuhZThGgjJmgPRrcCprQsDZzecCLlEUjJudETOotTxXyGgQleOxNfFVbBJjVNFvnFVLKkRrDPpdhqBbQZzsSNnwKBzZKEePHhyDdMUQerRLlBbNIjZzJwWklAaAaLJQidxeDjJHBvRiIrnOuUAsUlLukvVdDFwZzBzBbZeEfWwwyYoOWFYyuUJjdeJjELyuTqhHOgIiqsmMWWwwlCnNCRryRrYcxXuUcRrpPhzZpNnHEeoMKkckKCFBxrfvrJLcCzbwWfFRTiTtxvVTtXbkvVBJjbKBMmNuNOonNnfFUHhNnQWwhnoOXZDdzgMmpPsoOUuPpTtpPGgSOqQGCcTtrFfrDXcCfIiFlLUuoOytwWHiIhADdKmMmQqcXxnNmMFdOGIJjiPSypcCPhoeOoxyYjodPpDkKOrMjqQJSsTBIldVGghHkBiIRZzwyYWrJJUujfPbDSDNnswmMWGRAarbBgeEPyRrFhHfYiNnlOcCpXknNKwCDRrmtNKYuUyiONnguBTIZzmMilghIKgCYXxyUhHuscqncCtIiyGhdDHIibBEbsBWwWwkKlcCLbfqQFTtSLlBbBGgbAaiLlUuSssvrDDMzZnLCsThHtTtMyYVuShqQqMWDdwbBmYEJPLSsxXkpOoNnhzZbBiImoSshHVvKgKbdXxsSbOyNhYFHqoOWrQzZUJghjJObBMmocFocRfFNvRjdrRDbEeEoKEWwWwYyZPpYVJjGmeLrUuRlbBIiEwpyaAYPYysmZBzZTTttGgOzZSskKoCfZhHECkTtyRrTtTzZNntAGgiIewWzZYyYUdidXxDiIvZzWScCkQZDaAKkdjJjTZDdzkEJjeKSdgGeEaAPSurRUyYsENuUsqkKTTmdcCTYpPyzoOzZVyYvFFfARrahHMmfSsvVbBlNnAtTLvvVVxRxYyCYqQwkKJjZKXTHxXhAjJNNoOSBbaCPpOEHNnzoeqncxHhwaAFfXuTRrHywWkvlwWUnNvnFsTaRrPbeEsiTYyqZzIUKkukdDhHggGGtQqaAmeEFXUBbSFiDdQqQtTqQMmemMOgGcCbpPpPBHeLRZuUlAhHaAivVIhHWwUuadmMntTutDdPZozZOOozOYVCzOgZmTtxXMVfCriaAUSYysmXxYMxXmvVIwWPBbomXQmEiQqAaNsjJawWdDAtlPCcGgptptWwKAaCIiPOWJfFjnjOdbUuAmMUuaLijJhHXxIltTfBbFqKKkHcChkQGQqgjBZEeaDlLdCSsitTtTKiIOozzZZkIdgGsSTNnspgQUuTgGgGZYyjJAtfqGgCYmztTDxXlLgDlzZLdkgGcuUCStUbBdDaAqGzZglLtoORREUwAaoRWfyxwkhHQiHPpzZaAtTZCEyjJTzZIZzjmMpPFUtrVtPpNnOfxdpvyetTPpPsaAPBqEMMmmpPuUzZFfcUNVvORrsNfFmTfIiUuaAVsNhLflLMbBscCtuzaWwNnOijJNnIuQsAGgahHNBbPpnkKnNIikgGGjJINMmtTHpPxqQnHhBTGgjTcKQqpPcvRrVCRrDLrGggOVvVvIPqfGlktTKpPSszZxzPrRpZANnaTiFGgHhUrEeMmuSEQyLRwWrjJbBSNnaEgkKGfFeEMhMmHvFhkKYFfiIySPgArPpEexdOvQYZJjzctmbREKkdDerUubNKyUuYqBHpPHOoAJzsOooOSZKPUSxvIPpiVMWwsPfvVFTtuXxumMOoUPQqAaKwqXAjPpekiIKZLlLGglcoOFRyYrKszZGejJyYLljEvCeEciIkKWHhwQqQyYPpqfAgGamMWkprnDdUZUxvLUgHhsdsofRdTtDXfFxZJFcCzwLMVXdDkrdDqlsSSsuHbBfSfqaAXaMEemHhMPpmuUEoOefFydFfWWwqQaQJfBDdTCcbBacIxtKkToOaAPlrGCeEufFeYyTAiWQrwcMOoOSsxgGNnSsmjNpwWZutTeEvVevVrOKSFqrRiIQJebBXxUuRaiIEndKcCkaAOEeoDBPugmdQyuBFlGgLCSscfPvVedEuUxFfFApRrsifvMLUXDdJjxVYyvXFjJvVDyYdNnehsiIcMmulYoTMsSPQqyYjSwWRrPdqTttTfdDFMmIOoQqVvwjoGgOzRrNQptZzTMwOHgGwyBbpPYWEHFkNAbOvVWtqQlLaQOoUYyhIsNnSxpZiIzKkAamwxwwFpLwYmMxXARrGCcfAaoysxXSYatTuToMOnNEIYFgXitaADMtHmJjXxLhFfUXAcCaxItTkKisSUuyGvNPJdIagGCcAcpPCdFqQeELlfoxFymEGKHtThiIiIXxFIIKphOoXxHhHKkEebBzZPpxXEeuUcLlDZxXgGKqQkiCnNKcCzulQqbXxXRrYjPUcCtggGEwlLWGgaAeZkKzGaATupJdDyYZPrRpPvnzDwVvWwWEtTqHhQKkeUdDsScCvwWAEeMmqAmkKMuuUvVNaAJrEqDvRXxsuUSsMEevVvGgVkKIMVvZMbBeZTtwGZYzGPpAyYwWRRrQUuitCcKFfkITIIUtqQVgGwDdWwWpPwPpWrRyYjOxXJjYdDiIIWtaqZzfFlwWmoNVvZzgGgCBbUMMukFfoOFQqMmhHmClJEeZznNJFTxXsbDGgdBQIpPXxKDdGniYKwWOoWwKkYVTmYVvFoOfJzmMhCcfFlLHshHfFdjJDubHORrohRrcsrmMDfNnJjiqKkuUQJShuUNDdnieEeAaeEEpbaaFIbBijWtnCKkfJjBbTtbkKayLsSJCONqWABpZzJjzCcyLlYrRcCtThsoOYlEWPNnARfwWOEeCcfSsZzPEdDWTKkNiDdulaAckaeEDkeEKIjdQcVlLaMmAyAvfaAFtISsEHkSKksUhOoHuLlAakLVvNnLlCZzMzuUdudIRWzkEefFKatPpWStaiHheMABandlyUTOoHCchCAKkYiWwIQKkqNrRnvjWGgzPpWgVFucecCERrCUDwWLIBMCRrBVcfThAmrXpJwLhKkHdfFVGgvQqDiAmBbKUeEPphlsSeQTyGglLpPlHhjVvQTgcCORpxXrjLlHhobBJmKkEeqIiKwWEVvBbsSqehHSiIzEeXWSsauFqtTvHlTtjjHAaUQeEqrxXvTtVVBEJzZSoOGOogWwQeEPHhHuqqQtTcWwZztAaTCZOXuUEebQgFfGTscCStjAaJqByYHhPpQeVMmLlTlLwAahTtHcduwjJWyVGgRJvVGYoSsRqQvNBXxKqwqIGgAUNnQqunMVghRsofFLTtvVlSsLlLykSsnDIcCzGsvVKkGohHObXkKXxEeIiEZzQqePUdaADnKvVkGeEhTcFoOfkfFKWBbwjAsVZhHIizQqSEcYirXzZkKxtkKMUsKkWjbBJhuwWMmhNnqVwWfFluwYDNnaBvVizkKyjAyofFTtoWwOIiSKkAWwWwAaELlRiIpekCcKoOcIiFNnlBMbbBHytoOcMYyImyRDoOoOdDdsmRiEzZIiGjHvtTVVAdYSFbBxXLmANPpvAafFOfrRlEgGUYySRSoHOomHhkFyRFfLVrkNntfuaBbtPmcKksaAVzxFoiYztcGdZzsShHnTUutKYiuFfAFfaXxNRBbhyitCFJrkBNYYxRTsSrYVvPpyRIJjAgGWwaitEeeBAaOobktTmMQqSsCcOIicCvVqiIrRQxXrsrpawxXWIeOoEilLrpJHhjUGgVjJInTtvVBLcCpzljJJUPwrRqQlEoOexEeRPbBNdGgDwQSshJjsbBnuUAZnmkNBbEesIikaAKgNyYnYmMyoLmrRRoOptsDXxUhFfHtlxXKvoONtAabBmONRrvGPYuUCcLRBbrlynixPvVRreBbwbBKgGbBAaZzhWOoBjTFNmYRrkKtfWjWDvVRXKxXXfuAaUFWwxkpPxrmtFsSfbLTLXxlYytOttTZzTHhDdczsufhlrRfQoOiIqhHvNrusIdKkDSsFXnXwWIYSlLKaeKXxtaKkUzgUuGJvUMDdOoEetEuUhBbrRHhVviOIBMKkyeBgwVmYyHHIirGNseYcvTgNnJyYiIIBvImcCNWZMCoOEbBOdQqOoCMUvKkdEGgDWUuBbEEaKTtXnhHVNsSsglLHsSTVuumBbHyjGGUUVAZQbYEXEVMJzqrRiIkKLMqkKqQUuPpetoWJjtYyPmMcxXuEiIXxMMDdmvVAqRrQqtTsSuiqlCzwtqZnNVpPQqvHMmFfhixaDuUSsnDXtTZNvxXlLVEeTuUfxzASXxgGsFfVbMiIcjsWJjmSsFfMcGDGtTAagYNMNcCnmdWCcTtEezlLMmAhGOogDKFvOoViVvcaRrkKbrRWlpPBoNXfTTcXXxmbBLXxfjuGghgIdDadvVxcVvooAoOkegjJbmIYjwHhWJTKjcNnRaAIbiIrRGiIgmMZafBIizZaAqYhHkwWKAzsDrOoRYzOCfpbuNtTZtlKbBCcGgaSsMRLoOlkKLqSsQlafbrRgFftpuTVvVTbBHPpgGdDJjptnOoYymtcUupMhHSsCYytzZMmThUuHKzVvcxrAAnNvBLRrMZXxAhHmOQqyYoUuJjMTkrHOBbKdDLQqjJmmMmfqbQQOoMWwZzmCcYyqqwyYWXIDdyYicrRPpMQKktTqEjJufXxVGWeayyMYXxOhtbBZdGPpagyYkKjPcChHoxzqQKPDXhHWyjZCfsdZAazTOodZjsSFuVvUklEewnzVvtScamxuUXfZzkjGKcDdqUYyuvuUVnGgnNgLlYyuUuUFiIQaATBXviwWcAKVmMkKARrhQMmqXxnNhHCDIieLDTCgjJDhSsIsSqApVaxXAcKrfFRFiITHhgoicfFqzVsvnoOEevVZzIrYRZpYyPsNsSIinysIilgGlLMFZCKxRrZzXkAeeEfjJFCXxmVwPpaiIwKkPeXmMxJJjvKxXkVjecyunNUkKVdSssbXxkejJlWbBwLUjvAavVOvVoiVtlfFLdrRDNoROfaxIiQRrhHzZzvUuCciDQqFrOdDyCsSSMmRGgrrGaZzAwVhHzOozxXcudlLSskKDvJnEeNkcXxUuLKwWkGgCcVvxNnIuUDyAhxXScCzIzBksEeSKKzeEVvQmPxXcPDsrkzMGBZtTSsmMcoSiIUanNAusALgGlDUuEsPCaAFfgwFfgVJRiISsDqVUAJNnpUtiikiAvVATCaLlLgSFRrkFfaIikKVAAvOrYIiLlyEyFDdUivxXWVZRsSrzZLPxoOEeeEXrREocPOaWvVVLUulFfqQDdkKrgMIBxesSHHrRRkKgSsPlLjnNJtSslJIDdDdiwWvORByYbrtfFqxXrqQnNhELjfDdcxXJGUPIkDXaAxOjJHfKNslLSnZMmzPRrdwWluuUpPCDbBtyfFtItFfmqDNGgnAAtxTHEMjBbJYXBbZwWBbpgCjJTsPpycEeGnNCYWLlBYybNnWtNoOxXDrySsTtDKShBbvSAKtfqdDQhdMmDDVVDbMmcRGMXxmOJjpznDyStTmtXcARyYEnCDdVvGTqAvSHrRhHhCPpbkKUlQLlwWXgGSMmdIivVDsxbrmHhMEKkNTjJHxQQqqXSeiqjJQrRSsMXxaFOofbBnxXNkKjJkVeEDdzZlkKZDyfuUxXGxVgvLLsyQmMRQOwWvXxDIpamdUunNKdDJjrDbZcyZYyMYeEymdZupoONnnNbhBDdKkSsmMfFjtMlvneJmLlUCvOojkKufFUMDEebzGguUcCEVfCvJSsKxXAxXaRLlrRrcTiWwwiIrlLRGgVvfFaAJPwpPWeDvdaARssweKGgsoOdDSkDdjJmYytUzkDdjUudGSPpQqgGqQMTvSsVkBbIiVrNnKkBasSTzsnNmYjiIZqQzusSoOusQgkuDOoAadUCcejQYvlgrxsMrRmSKjaSiLlKAasQuMZAaniWiIRvwWbVsSLJjsSeEpPUPpuPkKhHuAyYaYyrVWLLXxMtpQiFiIHslTAxXfaVQqUAsZvqXGgdIFfQrOWjsSQHbbMiIELguhoQpTOJsSWwOPpqBbEUoCpSsPyYdgGAaRCeEcKJHeiIWHnIlVRMnNFMVvJAFlBbXmnIaEehFfBmmMGrzCiIkOohHllpPspKkjmMAkjIvVYHOohCcSKVgwWnZzQBhgXaWaAiIgGCcwIsYyAZPDdrRRZFsSIQNvEGwCcWaABblqNDeCwaDzZrRPsIVHsShZzahWwgIFXWhaBbPDOodmNwWnEeEEeHTwyYTtUEqTtcallLQDHoJjIihuUFOdOoseEKknNDdnAMzJYKnKUPzZlizZIrlQvdDTKJxXjsRIBblnvVNgGFlDmMdLhHgvWmMJjdDnNpGVvQWwAewvnNDLDMmdbBxFffrLSOJsNnQUFhHfuqscCSJfFEtSmoOMsRrSFHxWanujJVGzZnNDdBKNkGgNppCTgGypyVvYffuHhkmMdAdDPpriIuUbBMmSVdVkPpByYBTOkiouIiUzpbzFfGozZuUVBhKUuBRVkSsKVvRhSszgGZkFbBqaAcftmdDkrfoxNGbAYMmtPpHhZdHdKkDhBPpbFfVzAZzvwWixwKDtTSsKkPmMcrQCOoAacoyYOMzeLksSJBbEngGiICgGrqvmkfDtXTDhskKIkKXgVsgLdsxaPzyiuHASsKkbXfmDjGFhrMSBbhIyrRYislYZHruUaXnNUhuYHMmBbrpxQJLljfCchqnZDdMmASsRGMlFVDdoPcPtTpDdCyYKPpENnMmjeeTtHdDZzNGkTjtTRgAaAaGrJadkTGYRhiOGQqGpPcYArlTtLEexXlyYVvzaAWEqaOoOXxPpwuFfikSyQtwZvaMBfxtTpNnPPrtWwUnTqiINMrjJiaRijsStbvcCaAJVfFSnNpDFmXJIRuUrNmMSSsmwIiWYyqtBbTjreEWHoOZWzZuLEeHhQqrNoDAaHpzNnwKZyZzjFWsUWBuUlSMSdDsUbBQnsCHvVZdwFTtvJjSDMhqMJXUuaARDBbyyYxHCchXYBbrVhyYzwYCdDtiILlLltqtvRLlwQqZlLuluoGUNnBJMotIkMtTmKyqLiNXenUtTuUvuUAiQhcVGiFfIPlLmMgZzghLlIHjZBiIwWbzJYQFOJGHFfkKgGhpdwrRWpPPpUummbBNoVvyetcCTJpFfQqxXdzZDSPXCeExXCGrRLlgxNOosSDEqsKxmbrCkKGiyHIyvLlnNKkwuRrEbBpPJjeNmoXJjxPpVveBAjRriphpMCHGAvGGgQqrRoWbyhHdIbBcDccCuQgGYyqeWvyYKkZrxtdTqYyQhmppHhCcuBZOoMGZGgrHlLrVFxLaAYZzSsbOUKFfmCHkKBbPTiewaMDaAuUdmPXxuUUuSXTMcXvVBbnyYqhjrQfFeUuoueFEXcBQpYhdKYyamMxOEpLlqOOIiybdpqNFPpFFQyYlTtbwWgGwWPpOokYXxlzudlhvVwiVJmiIglxMEebBLlKkVvJksSZiadGgyUmBcpIbaArRulGgJKkjWkUIYyDwWMmvaAbcaBqJPcYyOxiSbBbBknLtbRrBeYDnLfFlaqBNrciMkrTCENRiqFLqfFNmQtgVDhHJESyYcvIDQMgZkmUrRXtTFrKkjJHhHhUvVWwgGtTdRKriFKzHhEvlYEeHpGgSsvVSlZzLsBsUdyDdDDhHktsUCqkgGBbdgGaqtuUIiGJZzWpPRrLllLpkgFcCKcBRrCFbeDkaOjJDdySIiEBcBRrSsLmdxXDAvMeNlEdUuXKYvMHyYMlfFLlLmMmhmViIykxEeDesSLNnnEUumwWVaMyYNnlNnoOdDbCIibesYoAKdEBfcxXEJGIigjeNzZIgGinEeGgbCkhHfGKPTSsJjtwjgIiTQADrRtTKQcmMudDSsSvVTKIiddKkYDuSbAaPhjJyVvbQqBtTLlLVpPeZzmMZkfInhHNRkrDuHWwQqhRfxuRrMKzGmgfFGNnqdmMiVCWwseOojOxXodvGTqMKKkNnXxknQCclfQIrnectRKjJmIRrCRnbQALUulFfNdyETlNKCAacsIXoCpjQbACBGgVcBbCCcdoOxXiuKwLUAaBiPCPpbxXjJMoOuYDAIrRzQqEeKjHjJhmXLGgMmGMjvIWHLDTtAaUZLyBbBhHoObKBGgVvrRTtLjJhRrHqfjJffnQPSzZsDBYoYyoQPeoXdDpqsSfFQPAkDHyPqbCxesSfEAaUOEUuLlqRJHQNVdDvxiICmtxsxXAapMmnNzZZzAKkWEIZztpUuhcMkuLleEoByxXlXwWfvRhNnRWAawzgmzbUBIibYyPPMHtDTcCXRyYzSsWwVwuUEQqUOoZeEiIzCdCiDYBwOgVagBbhcmPHpPhHDdZzPpUuPeYyBbEPpIJhHabElLPpOcCMwWnUbOooOBWeBxXbEGgVYihYIgcpPRBMXkSQedyYCcCcgGnAaXccxpsSsAaPjEYOnwWMhHMDPHhxXgjofWwfFqyhiHGGUupgbBvCHqIaVuNExnIIilsSQYisSTOmOoFfjbugOUGgLUzWOorVTQThwOopPhHWHTcyWgGZTtHvRdroOcCxjmQHmddqQWwDsPpRmMzZBbrVfWdDDzhcSNZzabDdBAquqQmsLbJjyYwuSwfJoOYzkWYAayZPhdOiItTnRjdDJlUwIizhwROoPpJiiIIQFUufMsnijxMfdPsvjVBPpTgGJIwWrAEeqQBbIRvVmnQtNuTRpennNNdDEXeEFbmBbAVzvVXxWTqYsKIVgGvUmMWoqvVDdQAQgGewZsSLusSUGmMgRayClLggoTtIHrfFyLlgtKDSsAtKgnZzhaAEEJjJZzekgGpOvLliIfLAamgrazNQHFHRrhqsSXPRcCJjyYSshyUHpPuxARhzyLSHsmRaAHfgJdQqMFxBcyYCahUIYJyYjoOZvVpAXSDlGSvGOoxiSGVvgKkHdtxTdFKgGMVQRNncCcNedDfFjKlEZmTtXxqfFiIRCpbUFfufFBdkEeWXIZzVGEegaZzZYyveEEeZzuoOUDWuUwzTyaBgMmpKkPnXOFlLbBRKgjJGMTFmMZzCQfzZKVvSlLsLlHrVvvrbkzZLCcyYlHbvvVOgZBPZOIKaWwAotbbCXxcKvtTDvBcCNnbAhHaHhsOjJoDdRWwaSsDmMKMmUFHhFPYtcPPnKnkbgviIUNAwXhfsTejsScCpRrPAakKAaSjoslRFdDXDdldVWEaEeqwGpPgWIigPwVGfLirSktVqHhLfFRLpukNkyjNnZmIiaNSDzZinbQqBNVsSvUuIoPXSsxpfHOhdZzsRrSGgqLAhHCQeumMWthxXeOoMjJpAHwxfiGHAviSpYyfFdgGDpPdAOoWcEKWpPEewkcCdnQLaeoOrREAZzgeViInqidbIibBBNpPndDDfiIzrBbCcpzaSiAxICcihHGHbqNGvkjJsyiSsJKaJqQBAabhHPSLLKkhUzWwZulLHKWwcwKkMHhgGmWZBbGgRgOoMbHAiNMxLfabBjmfmrvLiNhgGwEhjWwkEIiervVDEjJTteeEchHnNOueeEsSQoQBtmMQqTbqjotNnYyPqOHUGlFfeeEfFMdDPpmmBYyBhhHqJcCwopPRqiDxQVzBbSGWwgauvAFxXatLShfIqPTmOolCclwvRUppPnNdDsSxXlvBVrtThHnyYNwIjJNzmUqCcSnNkVvIsAJkXRGLVyqjJJEyYKUwWuGVveEZzqSUPpUzZjJJyMyYSZuUtAbkKRvLliJjIKNntmsgnNjJDJlwWLKZuTRrMEaAqIizlLZQWSSoOpSyYsEePraADVdEpsSjWHhIJjtCEenzZNkjVcFkKveZBdmJVcuMjtTTttTENVLmTJxeEXEgGeSsmMbBbHBPNQqnxXEeUzHqQhAaDMmzZfFEezYMmCHhBbCczBtTdJjRJjDdkDdDMuUAPidHhVLloXxqrqxqQYyXYSllVGvXgwqQlLWFYdzLGgvVvKGgkKAUumMhHmTtEeAaItNnTEshtneRDdBbBTMmtqLuXqQxzZBcsVaQtWwgcNiINneyYraRrCxVvTMsYdNvVZPogXxrCxXBTtdvRrvddgGkKKkDHYyFTkaQiIqnPpuLlUNRrsVHskNngGCcdSsWwYRdnTwKkwycZhHzfFgCoONnPpYKkStcxXGaAPWwCczqQxymeJjhtXTaaedDEdDdQMTPpqQiTYTnSuUBbsNdcULDgGpDdkFnNeQqEhqQodKjJipugiIjYyCWaAwsSFJleHTtsSRQToVPpjLnNTpGNDdnQqrhhEXbHhlLimGBbRGwWgvwAoFfNnpRrCOeSsplzZzvwnNVIvVtTjJuTtDdfYeRogGVaavkDdNnKAKfsGKlAXxctaqQmtTMawdDkKWIKIhcCWwHITuJjoOPfFjauvQdrjvGWGaAcpWwSeqQUudLlaOCBiIbzbgmZKRSdptTCpMqBbeEZkbZiZxXBbsHaYMmdiXzZTtzZlCKjVUCZZvWaAgRscPpFaAfYoRfdIRrZzyYnNnNqQVZiIMCcmqXCcAFoNmMnrOgGnCcVvaATsSvIVJoOoOuIiAOoaXxEKlLBSrRDvPpFdDfYqQRrCDdEjJEmMeEcdDCpWAWlLNnvzTtnNtTZMcgGPpeEEaczfmrRguUGLSYEeSzrFfyRitHhTNVSvZQNnCIiIOCcqQGbBtdDfrRvVkCvVvPaQiHdKkGcKkaAtdgGlEdcnZzNSsHacCUuFfAqQavkXxaCIVchHCxUubtqfkKGNUunNQlLCkgJKHhFMACfFsTfFZNWJjLcCwWKfJzDaAthHDSFEeczLlJYFfwxdlLpkZXOpJnNBbGAUugDXxzTLljJHoIiymLDQqdlYYBbaAkKAEwgvFUBbGgeLgGlmCxBQFMJjMopzZPOlkfFohmMRKtazmsvVaASlbVaaZzRXCZkKxXkcmPSsCTMNTPhhZzmMHAabBtGgvtUPTDGgGgdGEFfjJeBSsFfFArmAkLTzVvnUBtTPFcoZydSZayQbFdDAzHhlLeEUuBirVMmICbEVveaABcHhiNnAVvPpsSatTSHAahsvTtCsSJkgGjJLltcCKkyiMbBqQBGEKBbaOOCXDBbAaAOoeEiGHJjUJFMmlMxCttKkFxhiIHnObLwBbkKBfFACCccCUNnzZuIfkdpPHaZnNiIECceHhwCcDdDncgGvuwWUIirRVSjJsBbgGCydgCcCwSJCULuUZzlwWiIumBvaZXFtFkKNFfcCnfnzxNnIidNvRrVdAXORroUuiBbIfFIzQTWmMMmZcNnLzZQIUCvcCGgVcQaqtTQYymeUAaCaAsqQSwWpTwqSSseEsJjQbtSsTBXxAaOTEOoQepPEpPmlQZLlxXjZzmDdvexeytRrTBqzflLFavuuOoggJdDYhfFnNbBMsHhSUXxMsQqzZSmUZzvthfFGSvVnvjJNhHPpxzZwWkAeewdRrbBeDeEVumJjWoOZzChHcwJjcDxFfGgXomMeOogGhHcmWwzwYynMiVbijdDGPFfptVnSsHhNCUufFWwFflLyESnZzgRhhMQqvWGbvViIEYmewiNdGgDnUuDdIWYyEbioIHeVvjJTmuUpPgGuVjMOomHhDdQqZuATkEAksyigGxNxjJfYyDdiSURnBbSsIiVzZQqFLUuHFUSyYZCohHlBTMdcCsSwJwWwFTyQqMnftJbwYyzZWwHRmMrTtvVkPpWEpXINpgYymCcMVmMnoGsSgMTnVkEeLNnTudSTPBbjJrfFfgGdDWwFMOolOfzZFGFfSnKMRrNztTaNSHqWnDPprRFfdprXLWpuIijMmLPpIiaYyAZpPPbBlbkKkKNivKkuPAaRAPRSTthHRxNnYaAyXrRGgoKErXyynbKRjfcTIYHAafFTtEernUIykNavVVvAPpgGDgCqQTZyMmIOhHfXYAaTtyZvSCMpTdDAUFTEeKjJRrRvlrYfKMOohiIaAOsrsDduhHeLFoVqQnaMldkKHhDsSLhHQqlfspPyDavxCcXhJgBbeKkIjJbBroOvVlLMKkwWSrYMimCTYhvVBmbLdpPYyDBiIbfCEPPprjJSseasmMGRrnNQqgpPgGcCTtcCYyfGpPgcCZzFOYanNJYZIpPbAdycCWSsULvQwWHweEWUHjJwSuTtEePpDdmTswLlWSBdDnvVNbRPpIyCesQbBqvSYyMmayklLKwWYJFhHeHhEpPfjJCxXfuUFKktHLOouUlgKkNnNupxBoOgSFfgaoOAdDTtZiIeEuUTZztIijJiGgdNpPKYiIlOSrHGvmNaGjJEgGeqQgiQWgGsbBSTtQkbnVrOygjruUvYXxUDCHhWSWwhHsXWwxtvEeEqhHEtTZzOoBbexozQBbUhpcCpPqGOogPpdDdDzZsDdjezZbJjvMmRvVuhJJXxLhVQfUAwpPxEeqQZsEmMQjJekVvQsSKkMjbZzBOhHJKkRIiqQPreEoGtqSsVvJLYtqEUuINniLHukLlMZzaKkIRrIirRZvLlVFfeELlzZzlWjPxRMnNaHtFwWCvbcrRmbilBbdYyfvkKGsSwZwJmBbMVvVkKeEyWwactVvuYLuUDNpPAbamEIATsKkwMmTAZwEerxuUmjJMXiDJjkKURKkAarDZmcCUuclZzLlKQqwWbZyYzBSsViIvKheiTXxVaYvNnCqIiHhFfIiDJidIiAUWwuKsgGSCOoLUIntFfwepjJlLFowWFrapweLybBkKSXRrxHZPbayYuUwZzQYynocjlIibnNBYAkKBfFFcEeYyNQqTwRrJfASMmsABPZQHhqoOzjJhHkKIiXUuxIBbaAHfFIisjlhHkKLIgiIGuUyYcCFdeUuEdDRSCBUmqQZzMDduUSHhhkkKKHZjaAyMtvFfykyINaAgkmMiWwqStfjfFjkiIKLcLsSlMcCQqbBJjiIJjfKUmdJjDmucGnmMZzOMWwLQPpATwMvVmsSiyNgGdDnvVpPoJCcHhEzZeNnvTnNuwWiicEeClLsStiWrRwCcTqQUuIqqQsdrRDSragZyzPpMmgWLlzuUEsSWwmHhzmimSvVJjJjrVdWwQeRjnBRrbsSuUAuUaUjJaQaVnNuyYdZNVpeEHkjJKhsaASJjQqzZPpzycnNCYyiLlDwWdjJIxdDBLPpUZjJkQOoqceEyYIzduUhHLlJjCPkXxiifaAgGHhkgBbeMYfXpPORrDzZiDjAEexXapvVnVPpgYNnBbkKXAaxuHlCcMhTmSsdTIxGGhHgXxfyMmieoyYmORrtUVvAxXJjaAOVvFgqkKQapTtPmMcCvVoVvOyxXWlPsSfWWXQqWDdMPXiHnbBaGCcgyYANuqATfFwoBanKrRfCchezZhoDdWqQmPJjxXqnZJWwHYyhFfWiQDpsxXJqSsQpaVvAmtOyLUChHSHEfxuMmlDGgWwdmhwWnNHVFISPafTtFfXeDEpbUYqDxNnXwQqWMAaGUprRbLlNeArNcCyYnXxEYyjfskFfoREvVKkUzPnJMSsXJZzKkjjJomCauqqQZzQUpPARrWRGgqwMzZmIcCaMuUmtEUcgRLpXiCAtHhHhVvbFjqAwDYHVvhAylLOaAoPpYxQQqFGjJgsFhuUURCcrLQRKxxXvmXxlWZfjzhHZzrFOKkSDSGuTtGgSslVXRpPVvruzTZztuKkNCEecRPKwxXFSsDdVeCcJEgSkfhHCsTYytLlSdDzXxHhEwWJzIqQiZhFIfOoFifNnHaxQWqQkpUEepSDdWNnecqQCEwmXJHhjsupkjahCcSsPphbQrRkmMnBqQBKkzZzMmZkKMTCtTyqVoDXeEBUubGQqrRTtXxgPpRaGpTtsbBcTtCHfVMKRrkdDWwSsmmeAsIilzZYqDrRdeshHURufIfFtXLsSgFQpiGgoGRqQMnNmldkRrCtGgYyJcCtthHTdDbHhNDdkKxyYXOcCEeodDXhnifUuFgPpeEKuUSUuqqQUoIpPihHAZLAayttTJjTYlhHUTSmFEelHnSvFSFpPfstMnfmMFSonuCfFedDQbpSplLrPpRESsYVPDXFouUZzHhTvRTuSfFsQbBqUukKflLbBZZzzJitSsYKkeczhdDImMHhqKdDWXROonNrYQZzQqqwWtTGgFYywjTtJrRUurOWVvEeuqQerVvryKpPVvkYTgGtTuUQjJuTsKTtvVGdnNRwWMQqmrZwkKWMycrRQFfnopPOlLNFTakKzWwtqGPStOLloDcAzeEbJkKsSzZCcJjjJDdBDoJxXCcNwopmMchsSqQHkMCcmTPrRYyTLTqQTbBtSnhHJjqQuUIeMqUuQDdqFfxMOpiyMoObngGnNNBuIRWBbwUucFnNoqQOOhHKCXxckovYydDlLzGoZcEevyWwopTUNDSsLzrlEhoEqIfsuxfMJjTmMDdnNKiJjoIiniUuIcCuUZzNOAqdDWwoOQeEaQtISBTtpLlTtAtSfNVuLyYVKbxXuUiIyYBmMSszZYHFfhhtUxlLWXYyCnNTXxXhHxqQtNQRrpPEODdYyZheocAsGQMgGhHSsmqgnnbBaGgKktxkzWyIicmLlNnsSMXrXlFfsSaLjJkKaABbZtDMRrttQkKuUSnenqQNSkdDKIiIDdzqQZispDsLltJpDdPzqKswVIiyYITxXrNnRtDuyPpoXxOEWSswxXaZzCTtpyYPcYeEKcezFWwcKkbvDdVzMSWEeKkMgyYRrAavtTyzeNhHnkvVOeZzBJUlzZLxXulLzZrVnrLlRrCOcCfCqQHGjuGWwpPgdYHiIhZzyDqQGKkgFfQqBbSsqRwQhyiIYfyHEenYoIQqGgiDdBTBbOoAatPpDBkGkKkOJjMGgHPKUmMVvmMuliIpMrEeRFfmjehHyQHsUvmSclNmddRjJgGVSjJLlIpPUuqQnNPUupBegbBYTNQCSiIXnNxZzoOcKsSkGkiHBFfbxjJXnGgNGLIiRrteEbUGoFfIDdiIknTMeFfEIidcTtWxvOoQqwWVIiPoLIjJpeESENnedhHsdBpFjboOKvoODHhkKLibaAkxXKtTSstoOmRJqQXqQEOFfZzsSjJHYPlLpspGdDggoDOyYodGgDYbBxXyfgiIGCTtMkaSsTYuUxdRRgoqQGWwxpPNeEMWwwWmsnNeESCSscHqQqIinbBIpPtrBZXxLlljRVTtoOFRXSsbwWfmOZQUuqLyYlMmxrRXrRoOzhSsPHaADdsAaSLoQQqfFqlLOoOSQxXGoQtgGUjJYhHVvlOoJjDbWfKPpCchAaHSagGeEdDoGgNVwWbhdEXDwWfpPFqQIqJjjKYsSyVrAaRvZzOoinQqBbPpEqumYVvpkoOhHfFbkWHqQeEmMlvjJRrfDdNVfgGaAuWwUnvOWwsSohmMHvbBMmnyYPpWwXoELPpqYtZzebBSqRoOKkKkGMHtzHXxUzqQNnLYyWPyYpwOOosNGgtTnnxXmEYycuWwivVGBOoRUdnNDAZAazYcCNgMoOYyQqVvVPpvWwjKgUBdEoBUiIuQqmFShVBAMEmIicLmFfMZzLhHGggGKVbyYzZaXxViFOJjofmMYooOpSkDckKAemKzaARHWwytVvHHvTPpcCZjJNLlnzPHUoOKkYyLlnUdxXsHGgTRrtIblKWwGglAzpIICcUQDvHXbCRtpwWPTtTINumOAaOovFRrqQdCvVcuUyfFJcGgCjiFfxllLFEeWLlsmMmFPsSzyYZjSsJhHUuptNnTPYtTqaAGgVvccCaALnNCMmqSsCmZzMLlPPwWNCcYyZzNKkiMFMzZHhpoEEsmRPplamwWPthytqyYrRmMyWBDkKteXxxEeIsSRrioIxHTDdnyYjLfFYjjylLzOodbBDpPwRMBWTPpYFKvVBYyRzfFZiiJxXjIaANbBIykedDsSAaAaoGgmUWwmqeEGRrkQtUusohxXcCpPYycfZgGanNxXKkNvVqxXQojJaAQYsUuVvIizlJdDCHdDgPTtLGSskKgqHInwpjJWPpDJcnXNBmpPDdMGLzvPpzZVjJgnFVBQqrZzMOomgXXuUxPzZpxizZRsuUKkzTBrjGgglLGdDMcsqQfFKkGwWgkPpqCuURrdMmhHVvDfDdBfMmOLlkcCZzJjKZMmCUaXxhHAuqQNnNQqnuUhtirUoOuaAZRrzhzMnNmecCEZcwqnoFvVyYIifONQOoOorbBRWhHEpTepPErRnfRuUwWWwIifEwWpqFjJMAaxXlLAaqQUuuvVUjJpaAzZzZVSszZvGfkNntTKpDqQjcDXCLlcQjPwlLUuiInMrvjWwoDrWwqQdgmAONngGKAaKkOjWwCHgGVvcCjHmMzZhOodIiDJmScSsCsMmiMmDwNuaAIiXxSiIJCcgGcrwKkXiXirJFUzJTtRZNnGgvVPXGgNiInxQqnXnNeECcePgGpkupZxOoXqYOorkKFflLKtTHhvVoUkXIinJhGAYyaUHlLheqjEeUVGXxIbcEccpPJjGgCZjJeAIiOdjRzWqDdQaAwJjNBsSkKIiXoGJjgHhkbBxmMQzZqQqWIiwvVsSzcUuBdDbjJjAfuUQfGDcCPpdyYaAzXxtTxmvwWrLlmAwAXxabOTSXxaTtcsSCAqBbiwYyluMZKkagdkViITJjEgdGgDjqUutTbBLlZYyzQlsSYJBZuUBbzbFfmMjejGUckxZnNSszNsSnQEedzsUJjaAuvVQqyyYXiIxACiIhFnjUdnNKkYyVvfFvVtTqQWwzZPpcPczZQqCOouUFfeEEewmkKDXsyYSLUWwEeerRWZJFrRAsIisSchEJVvMneETULlVlbJjdDBmMLkkvVYyKKknvVNsSsMmYyTtGEepJNSsLjJzAwpMWwMbBZZzzTMAJHtTKpyczBlqYyibhhHHBrRLgGlcCeEodJWCIiRhxXVveKSbBHhRrhrRmSLMBAYpPdvxXAaVDITLFfDdIioOFLIilOQqFeJGNntdDTHhgGAaenkYvVhovgGqpKkoOHfbDdTzZtlLyIiYfFBwWMsSmRkfFGLlgYyZzKjUcjpPOHhqmMXsSFUKkuYZOowWzmMyTCcdGvKkDdkKVbBGxXgcvVBbQVmMWwhHkEbidxuFfcCUPNnDfsLGgtTliIeEchUQOozZNnJjwCAbEijJyYIPErkaedmjXxItwipPSszQiIThwOlMmiTrqLqiIqKUjwWGgryYFfmDDmbOoCcSsCEeZzgQDxXOoaHhAJyDdaAYkWHhNnwKRrVvjPpFTtfnkwWCnTtlLWVGgAaJVvjNnyYZTttJnSyoxrGgzZzZRLdDAGYTYRrpLiIOtKkWIWwixRQqbBrhHHYoOylLhPpGLNnlMmGrRgObBhzZvaJjKBbaAFORFfqQZzlqQMnNmOoNnKkKhIsMtIEeIvAasUuSkKkfFyhMmuzzZnIiNMhcHpJjtpxXqQwWHlJEeVTtSsFfBVtTtTCvVJvVjcYidvmxXgOJjEeoNngUuGsundDKAmbBMwaAIrRcJjGggGZUJjuWLjJLPpIDbBfrRiPTAuuUqQayYXeEuNBnmXxzZMjBbhrRxXVtXNnQqEeKkUuncCbaDqHKqxnxXKkQiIqkYsSmDTCDTuUdDsSgAaaJjgVvLvCpTtllFfDrRrRsYgiIceEbBcnNCumMUeUaAuUrDdMmljWwJbBLGZDYyArcAMmMmaXjyYJtTHyYyrbtTbqkyPyYpplLOVvARrPpSshHazWZzppPvVvKkVNpJjDpmySIisIeEinQAvvVuUVaWwJZgGHOohvVApPkKAPpAmWwMeHhIsSPhzZHmsxwFIdjTpPdBYAaybdDdteEUuTmMJQqjoBIiDfFdcCqQqQRnNerygjJGpcCPKqQpTHxXqQhVKkNSFkCrRsIsSVdeIjJjOJCetuUNTyZzYqQtjmMYyJLhyKkYToVzEIietWwMmnNSIiFfPfeEFfziXEeJjbBxibBIEemVvAiIUhHurlQHoOTthCcqQqLbBSOKkbBZbBHLbiIyYnrRTyYmKwWknNrcOoFfChLkCcKhHAaAQlfPpCHgDuMmqQCGOZzvoZzhKbYZwWbBZbPpPQGgPaWpPkjfFkKAlLBbmMTteUleDdEswWUuHjzVcCCczZaAjWcCqQwQqyUxNNpiKASTtBzZaWqDdZQJPffqyYdDmOfsSGnNohHVQqvOhWwVPpoOdDmzUOnNNnQHNYyyATtbBvCRXQFfqRxnWKkYyKkwqZzQkmvVMAJCcrRjoOiVGvwNsShTtnNmnYqFfPpQtaMyYRrJjFfdDGgnNOoYymvgHKkizZlLQYsoaARrOdwuUMmiIUldDLKLxmMhdKLlongJjbBGgsScPWwyFfUuaAKkYpRqQSVvKkfFyuUkfFrRKeRrXYyoORrROGTlUJjkKuTIcColeMmGgMnNmFEjJrRezZdAyYkMcLlDdKkCNnALlzZamTQqaAuTtYEelYCDdisSFfOWwEJjedSsZzrvSWwbvgGSqIiAaJiIjQEezZASRccCCnlLNvVLhHCcmebBoOEuoYyOUusSNbBQsjzuJjpXxepPAUuIiguTtuUiIHheQLlpPnNlLguNeEbBwWwfFcJsSJjNqQXKjxXjJlzjJjJZPJjLXxlJjpaAZzjMsSmOnFfNugGUGLlXDdxWwTqQExScQqzvFfcVIiIDpPdgibBbBHhIsSzNnGmmMMNGMXItTiWmxXwRrQCcoORHhrNkKraARJqiZzDdIiYyLuUlLlazfdSsHFsSZOrNRrNIinyYMtKkcCTmnzJjYlLynNWUuHNCqQcwZkclqQLAPKkdXTYSsKUuSiYyIgFUQqufMZCHedDfjJFxXcCbTtLlBFTtfOtToyYzeeEyYcCEBbZYLlYyBGgrYyAauUYICcdLiILqQllObBlLsNnEetTWwSoDFfsmMvtpPJzZwWwWjvVTsCKkcSHhyYUwWTtKxOotTaAGgBoOzZYUHYsSyivPoVvLjJMmUPEbBXxjwVSyYcmMCyyAzwsCwWOofFCpPzZccHoOhiIXsqQSxUOVgaAGDtTrdDRrRvVOoLIuUMmLlQqBbiWwnNZjnNJioDYytfFTfcHhzPpddDkKDZHlJjUWOoDNnlLeEOOooXFfSEZbBzZzZZnXOolRTKBbkBwtTWwkKWbnNSjJQrRqVyYvYyGGggNnfFhHGLlZzzXiUuIMmsadSCKkghHOkKHhaAoGpPtTcwWhHZlLEqQeQWwBIihrReEHJiIUfFLnNOoeLltTPpYmMtSsfFvJjVVAaiIvldHhBxXbkzRrYyOoZbBmiIMfFKPSQqaAIfFMIiJjidWwHIihBRrXxMbBTZzKkDmTwWtSxXsNVvzFvVCrRFfgVvZbBDdzAfpPpdDuVAYTWROoaADhHUuyYkFuUFffNzZDoGkKgpPOVWCcBbKkqHhQBQJkKjPMBfOtToQqoORrFErFfRwdDsJjStTXxWMmaAhHLlNnCcuGtfFTgZzBbgGcKrRSskCEdDrwWfJnNJjfFDdjvVpKrRHpYeErVvRzLlZXxyfLlQuqpUuPzIiZqQwWlEebEMmoOlNGgnRrLIpPChhjJHHLhsXktTYkKXAakTPpZLtTEeqOJxXjotTkKSsPpHCchHYyKgxXGJjsSkfGrRgTxXKXWmMwxJjBbkKaAkKTtJFfmJOSpNnWpvvsSPbBrDdRMPpdDzcCCOGgwWmnzywWYhlrRLHPpdiIdDDTVHLlhgGIiGgvkKOokTtMmKQqzYkTtnNwWKdDyYyYPprRRQqeELxeEmMXhfrRdltjjgFhHfBbGJaJjZzyIitXPuPpESeyYAaTqTiIuUeMyYmXxPpgGAeEeEDvzZVjDdiiIaUurRatxXedDjJEnDCgRRrnJPqQpgGcCjmMNpPrMmuUuBaxkxXsieymMoOtTYkKQqUUuXuYIiyIpPtTBbuAagGdDKkkKLlNnDxfdDUuBbuUsSdaAkKHExIiXeyYjbBJenNEyYznSCckJjKGuKEeqHIFiRnaDdAXvVfOoyNtRrBPpHIaAtYyZzYyGgYNnZdDzNGgnyrMLlCxLGgwcCSMfFmsOoYySsWlMZzmsSOvVcDsVKvVRLlrkWwjaAIiZMMRrtIiGgAaeAeEaODdQqoCKkUUuuUuFfBbBQqpXxPbThHbMBbmpPUuknNiIEdDeRkKwWrnNvVjSFOoAanfFAaclLqlVyYOovzZyFfVvvyYVYjHhSCGVIiJpPeEvjzZbBUdDuDqXxrcOpPhusSIjJsShHiUPMmpyRWwOoraKtTOhOpPNDJjfFddDYaAfFyBbAIiDRrEeSKVQqKNnkBbvEeVvxXUukLZzlMmIbBqQcQqWwCWaDlxXyEagGAfFZzwYyYZPAadDgGRAarpvVmMkrXxRgGgJjrFYtTWmMoOwTYdtTssmkBWwmpPMsKkYyCcScCmAeZzCaAMlLEeNbBSJjsgRrAaGmAxXaMDIkKidXVvYyUtTuySUfSsYyQdcCCpJjYsSyrUIacChHrbrRNtTJjrmMYyWrCpPYyrRKPnNpHfFGkJjKgGgiIuUsnKwWVyYsSuUmtAzZVtfFtiIoOKkwWQPGayHoQqHHhkHpPhVvZzYIicCEeieEkNnBbkKvVGqQeNnyFRKtTyYeEyNMaAmnYyYmhHhSLNnLkhQqHEecTtuRZyRsVVGiGPpgxVvPEaAedDhRmMQohQqYwWEexYyOoXyYaPpBbdDxHEZEhHeuUBvLlclLDVvdYrsSCMmcbBcJjHhHNaAnTkVvpEesSajJBbzZrGSuUNioTJbxXBiwWZVrRxoODwWzVvfbBqUsQqYySSsujJmbBXjPAapwWvIiFKlTtsSXxSprRPGetTNnEgWNnwBBbbUurRLlLNnNjJFftwWTlzwWsSZaALrRRMmrWwZzNZOoIuZzUpPGlNTZvVEevkYyKdDSahHAnNfHhedoOgcCUuVvqeEOouUbaeGNnTtyYiJpPjIROoJmwWMmMZdDujJUIizjhHXODijeEJOodDziBbWUuTtiImbBMvVzZSsHhudymduFfUnpvwWaOsjNnJDAIiBbaAxXpPwWiFfIWwaCcdyYzZEeJjeERreVCcbBvlfFkqAaVyYLlQqOQqUufFqQqQuUopPZzZZzRrAGgtTkkpMpPmPAkJjJlmduUDuUpPkqQIidDtTwaAmDNzzZEeAaXDxXTEekKRdMmhwyYWrAaZzRbBuUHKkupVZzGoOvZzgugOoLsLlSnzLDdlOoZNlcCZGLlmMeExXgkmVqQbjJBMmXxThHHcDeXxQwWqrwhELVvEPIiPpplLPUwOiIoWKmMeSsEeZcCVgNMMmMmAaTtzZQquUTtvtTVmmsSsvLlOrrRRoVGArRjJazZRrIiNnNndFfDKnxAaiIsSXtTqQrNnRnNflhHLlYyzZPpjQqmlBbzZLDdSsVhibcdDCBfFdCcDlZfhNaAlLIOHhQqXcsSeEjPkKpJDdkKvjJVVvfFrRCkYjVzZzGIgGmMizZmRrzGgwWRGFfhqQUuvVoyYfFOdDzZtvSsFfRrDQqQlLrwWRhnuUNGgHydqnnnMDdDLJjlVsSGgPeEIipUrRuKkXeNoEeOkKcZtToqQSgGWSswFfiIoHmrzHhqCcWwhMiFIinNwWxorRUFfeEuOzWwZXrOoQvVeEoyYJjcHhCOHyWwnteaAETvQqAfNcYGgJPOHhYxXwBbnMzZBUgGlMRnNrAacrThHutpPUuiIEqHAeEaUJNnIiXxaAZTtzRroOosHHVvhHqlLAeJjJjVcCKkVcTkXTtxfFWwtZzTHhyRrqQrsSCBvchlLHceEWwwWNnsWwPpwhHWSkJoOjkqoOyYQqQKhHTtKWcCqQjJoOKMeEmQqLFfJjngGvVlLESsrRlLWFPpzZHhVHFFxXVcSsBLlVzZzZNjJngGvineENIlLbZGYyNcCngBbOoOmEzNnZEeJjgGbBezZMdDoYyQqOXxeEoVSsAaEzyYZFfvMVvmsxXSmXFfxbBBoOjJbMvVfdDcUVvtXcxXWLlaEJrRgmMeEGYwgGWCtIifFTXxwgGwiIWPTtTtpINgQqBbVvwWNjAaZzZLGqMmBbFYykgGPPpSxWNrRnzZIvVaAxXwWGggGuUOgGsCrRuUcSRxXHhrsSIilMmLUuHhHmMyYfTSskKPuUGaAmpBbPdZrRxtTNtQqYapPAquEVvcvnBoObBbNMFfGgdsSQqCchSmkYywciImMlfFdYyrfwPqMmQHhfsSPhHNnwWVvxIwqQQOGgGWwZXbBEIwiITsSywLFZzSEeOoOYICcibPpBYlWwPDLYylRpPyYrwLlaKkAWoqQiVdvVWCcbBRsRrPuUEzZhHvVewobBOWpFBbfGqysSYfMauUFfaAAvXaAMmvVxkTQdDxXnlZzbnLBbBbVhQUuJFMscCFfwWylsPQqpiiITqtopvtTVleEYcCfFNeEgWwGisSpgfFAUSWwhHWwGsAxCcXbiIkKHhqQmMcCpnNPBAqQabvMsTtQmMqWeEwyXxSsYyNDdUJjaIiCcSDdBhuIiwsCcSsJIJpPjRriIaRWIbMNYvGQFfqKqQfqQqnTsjJDKuUQqHhaAPpRsSBcCxXggGCcvhpizfFOhDdLGKJtTjahFHhfdDHAzZrsBUcCmMlLtTuyYdNnuUrjJiICcRYwWwWxXwjJqQQFfqPYKgsSEvnTtTpTtQPGgpeSHdDhceMmyvVYTtGgECZgGzEeDdrsoIioOOSipPCcsSIRsEDdqWKfFrRIiknWdDKkwNpPoOTtrvVvzZkKNnkKEeLMpJBMmDduQqUsSbrZzgGRIiZNnHhVqQbBkKNnSsOonNvoopyYPMmYDkKxIiuUxXxXTiIGGggApMmnSvVfGgUQqVMqQLlgGAaeEEHhecbqQBwWBbYysSAvgGVxXDPlLdAaDdYCNnLmqoOevyfTtzZTtyNWNkKhHdjgGqQRQvVnjdDBnNsSwPpWnVvNmxTtXXOouUxqQKOokxXnNhVZyYcCAaaDdlVvbuUBisSOYbBzZmMybBqMLCWvVjJMmEeWwAavVLbBGmjzzZpeETtWwPOHhoMgGcCxuXxUoaAUuaAZDdqqQgDmrkKtyTtDdQqUunrKkRphHqQPdDIUiacCaEehKkZVzZuUAuxXUFykJjZzdvlzZidtTDILYbBovFfcKIikMwXxeJjikKwMmWGgAGgLAjJalpPaTtIEMKLyFfFfaAYzfFyiHhIaWyYzQuUogAaGmMHIiHhyYIihnNJjvVbXxpPHhPcCplOxFfTJjtJjiIbBXGgeUxhqpPzcCYygGZzHhIXMmxbzxXZqBsSPvVpFSsCnLlNLcCEIiNnebBDTtdYerSsRdsSLjJFfrsSRoOgGLlAIQfFkvkEeKFfVLXEzZeOcCWwoVxhHYyXsdjhHkKkKhmlLMdDmMyrmMOobqQxLPQqhdKkDHpkKGjJgfFpPThHVvKkteEjmMjnNJSlLsnNDJqeVvEBDUieCcEPpIuXxdbLCIpZcCsSkKUujVSsAavUYyuACcarpPRmIXHbqQBhxiFfrReMTgGtmEPOoziIvEVMmCEeqQclLCcvkAaYFfyCczdDLlmMZInFQlLsiSsmMuUXorpPlLyYRGgXxEWzPBMoOcCIijJLBbUussoOSoiIdDFzxkKZzWGgwXYJqikdfqQBjQqJhkKHatTrRAwDdWxXdckKtUuUWWBbwqQwmMuAaRaAqQKkyYJjfWwgGFlKkLDdLukKxHhXqDdNzBbZeEtTceECnqQGYwVvWiZzNnIkKKDAahHhHQqyFSvVEaApoOsSPcvVCefFscnAaTYytNHUnQqNTtQqyYRzkuUKZdDMofFnNlLgAEWwYKkgrNnQMmXZZzOozhhlwOoaAEeIicYkrSsrRRKqnTtKkyKJGgjgLlqQuUKrRkEIinZzWwTtNeXxCchjdDJRUurBbgOowQpPYyaACXJoLfPpJjeEYaAxXpMmsSeaVvHhALlbhHVvmYyMFfDuuUUcwWgZVOoDeEEedlLwWXUuxvUTkqQImMiKdDMmJjtuEeheEcCJUqQFWTtIiRQBbqrFfZHhxXGWwgnJjybBQqqQSRnzZNrscCYjJxXNbtTxWNnwLlkDmmeoOoOgGQkKbuPpiIvVPWwpHhLmMOYcCtPYyLlgGpMmEeSIisAaCKeUunNEjVvJGgmiIMCcqQRUurgGUOsSNPpqYJjJbBjlLeEycCGnURgGdcRrTHXxNnSstqQOVvoiIBbuaAeEmMVCllLBbIbBOYtGgXJjxOXHhDdaIoONkKnaINDdfeEFxXDsaAWnGBbgNjJrRSkKswNeLrRKaAaAIikUEeKkuqQCcOLkpxXPVvkzZQqKjRrDdSsqQmMJfFgQqsSfYyzlLInNCcQqOJjoikHhkjJKEbSsBgVPeEpRrnNgGYjJwWyDdAkvVZzVBLRrlbVvUueqgGRSoIiOsRpPrSJjNnKktTgGhdDwCjJcKmMPtgGTtNSsNQTJjtRUszcrRCXxbBPyBbcFUumsSklbdbBkKDsHxXNnBlLqQXeEMlbtTLljUXxuiIBbBmMbmDRrJjdpWwPiILzZyjuUJVSsVvvsxXSYnNpPsSmxXAJjaYyMdZCcNTtnXzVvEeIiKkIbBuUuDqUuEQqFuEeUfsSQcCqvYqDTvVSsBMHhjjJXxJmlnNunNZzUIxXuUmiIMcCsSqQOoimMbrWMmjJwRpdIimcGguUCqaJeEsSChgGHjGguWoOwmdDMgGJjJjLtTOaALlzUuQAaEDzZPpaAdbBrRAaYyPcCsSpGNngRrMqQEeRriKklLIiJKkYyjYBbcCKkpBbPyHnNXwWlLmMPcoKkOtTJnNQwWdDkdDKfrRFyRriuUdDIXxzZHBqdDQGyYgiJjWwIbGZzfGVvKQqktbBuHhUhOoTmMtCcHhBbXxiHhhHXxhrRldDLgDvVfFAcCalLqwtTWHhQeWwExXttvVMGCcggGPoOOvVobEeFlHhCcoHheLOdvwWyYMYydYTzUBnNvIDdiPtTpfFhzZFsKPpkxXrRLlBqoOInfFXnUuGgpPOoFYSsyFWwfcAhHHhaJqQSsJjhPSsBbpnpbBPNxXgMmGvVKkaALMmlLRrKkGoUEebBBboUSsuOhXxmMvPpNnXWYsrRSWBbMPpmwaAyxevVRrvxrRXdTtBNnxusSCWwczZzZACcoSsREeCsuUkKjcCJnNKHwWhkCMmzHhsSZzYGgaNnAywWtTIyYQqiSsrRsSYyplLPdhjJPpRrHiIYypXxrrbBKkvvVwWmmMMyhHYHkyYKhTtOowzsnmgEeGHRrhEnIxRrWXVAajQYyqnNDdJvlLfuZeonNgGOxXiJjTcGgCFfUCcsiZemJVxXAaILlqQDOIiogeEDdxBbXGHhuPLlAGhHgDdarRZDdziIVNfFaAISsimyYMuQjJqhkKsuptWEFfYytTAaehhLsSjzZcCBDjJBkKbvViIdvVYajcCJANQRFfrmMaAUCceEqhbBHQdDJesSaABOobdDWHwWhhHWBbIHhVOovaOoKkdsSDdDJjAvpYylLfkKFmMKmMkPvJjwWVvEeFJjTtuzZUqQjJQvEdDiSsTtIeRrstTtWwrRGgtTocQWwNnJjmIOoiMMjJmgGCcFfkKQhdbBDHYrRyUqQuvVUhHwWwWQqOoYNnywYyWuBhHTtpViIPBbRrsjmMnPpNGPBnNScliAaafhHFEaLlsADdaSoOvVPpmMRhTCSsvVvVcbqKcCkWfFweWwEQGHMmhetTyYEgOMmlLAavVIeEydDYEaAaAYxmODdoMzZKkFGrRaWwoOLutTYynNUrRlZvAaVTWXxTQyRrbBYxhqQzZHiIXJHhPpPpUuQqkGcCgKjrRtTNnUfFeMmEXxvbBfFJjhZzOoFfHbfFoSsOVvSDveNneEFPpfrREARrwMUuCcmWmMcVvgJjWBbwGCcsxXSNEeiILlrRoOnRoODdPprFrRwWbrRyYBaAfRSsrXqaAacChHABbXzZbZzZcJEejJjgGbBmPpMCcuEeAaUWwFfbBpPYxXKAakSrRsVvqQYCnNcejuZwWgGrsSReSYDdGzZgLrRtYctdhHznCNnnAaNcuUvZfxXDdVaAvWwXUHaAhiIlGgLHdDhTtCFfcfoINnnNiyYGgPpOFwHhWgJGzZgEGVvgFfyYdIXdfFDAaePzZpEEaAeCxXilJjuUnNzZYaAkVvKyiIdDIiLIilKkKLHUuhYRryldDbBQaAqKiIkWwSsbFhHfkKJjBVvWSnzNnzRrZPSsKkpyAFfPVvTPpVYyvtpQOoVvQNnqTHaADiIdXGWxtTfFIwWxXLlpPitCdHhlLkaAtHhTOVbBZzvotTDOodcCaPvVKkWdDAawIlLiGgFfnLlHhOSpPsBxGIiKkuoGgOLHhWwOZzEeETKLlktpPvAayYTtVqQMQGgqSsUtTuKpYyjKkbBMmJPXFPpRGgvVrZyYiIzZuauauyDPWwpdsCcSTtYvVULlhHgGLlbvVQqcCspPcCSyTtcpRrPAkXbaQqAGgcCBRrQdDqxAgveEVqAaQiIFXhHxNnvVvVzBbmMVnNtmzZjJAaemMaVvAFfzMbBEpewWTtiIfdDFWwcCoOMFfJOojSUaJjgGcyYKtTkDdwWwWoOYyXxRwWrcCXxCnUuiIMBbmsSuURrrRHhiIqFJovohHOgGVVqQJjvkvVPpKRhquUQLlXTtIiSQFVvfqqQrEeRGgsxutTpPHxmMaArRMmXZvVKRRjJEIiUoOAaAuvVEeUuBkKbmtTfFMUaAuxXUSsjhGwWiJjIgseEmMSTuSwWsmMUSaMmAJKkjMmMzZSsLlEImMcCicnNvVvVrqQPuUphHmMfGiIgCcFuUcgGPpQHBbFfstTHhalLAabBqMRrmaAQAWwdpyaAYwWcCQOoqyYekKEFsIiSkKhHHhXxjwuUWXzZkKUuUuxXxxXMBbozZaCcfLsSlFvVlLfFXxrvwtFsRuUrMmSCyYCBbcdDYyKkCWQAGRrgEeEXxpPeOouUFKkfpPGwYyWnNRreEMoOgxXGmeETWCgGcMnvVNYymwgBYuUjJyimMwWlfBXxguUiTxXNneAtmMxXyYTIikKaEtInNtTAoOnNUhuUqQHgGEHheRfFrZzVEevMuUUuHhuUdDzeEjlNnLJZApPoOaDtTJlLjeEPTHvVhFfMmXxhMmVvRvVeErDXdDdKkDzZqQxkKFUHIiWwLlmMheEsSrcCRufdDdDdRbBvuUVAAaFWwtTfvVaAaWHhGgZcCXxQCOocqyzZICcihHCcPpKkxKkmMXPmyYfFHldDLqeEWwTtcCixXdDdOogkJhHCcGgQqWwaAeDdEerRdxDdCNjJVwnNWwCceEWwNnnnNNWhhHHCWyYiIwGgcvnIKkisTtyYubdDBUdDSzQqzEjJeAXoOKkxzKkOoZaIiZWmMGgwHhRgAaNLxZzCcXlLMmzZjJlSjcCJhHFtriBbpPfgGFCcvVBHhnNbCczZbrRGgTWsSwtjJYeEkKTtynNuUCcpdDPBJjCcdDYyUSsuUTtuEeIWZzsSAaqgGWSlLsNnwQSssSZzqNtaDdSsADdYSspMTtmPBiyzZYzZlLIfzMmZFbQiIEeHhbpPJjiIaAoOYyiIBmGDdRrzcCEuUiIeZaAvVAbBaCcvBbVthHAaEeauUAnNTWtTwNhcGgCWwHnZKkKWwEqQePpkqQPhHpnNWiVvIpjJPUKkLlBWwbZzXeExmMxPWESseEvVeLuUbBltTwMGDdgmMIimNnMmAjgUusSkaAQRrqcCcCgGDdsSKvxXelLETUzZwWuXxJoOjnNPRLTnNtZcCzlLVvlrNMoOmCPCcpNnHhyYctTnWEewnpPFfJzbKaAdDkBZOfhHFGgAVvaVjJfoyYxnNXZzOHUubpPBijJnBboyYwWXxEeUhxXJiIjJjuURwjJWNJKkjuAajLlBbGqQoOyYJjnNAanzZdDlnNwEecCoOWGOdzaAqQlLOhHGgsSojJdDtNngNOjlLJfaAFttyYTbcCnNLlbyGgQqQrRAaqkKNAanGTtgGgRrbvpLlPiIVBxrRlLWwgGXFDdiIfzZDdzZpnrRTtNPwWcvVGwWNuUnDdAcQqYHhCckKkEIierRQqDdKkPpmJuUbtTBjyYiILXxLeElgGlGJjqQgTttpPoOTYsAaPRrgRzpjJaAvVeEgvXCcxVTYytgGKZzbtTBKOKkoUuooOOvVoNQqnqCvVTvVkKgGxeBbEXZNJDdjRraWZztThHtsSTyymMYDdJpPVvVIXxivjIigRreEAarRrRIiNUfFuRBbqQDOoKkdhmcCMnLlLnNlcCCcLUulNHkeEzZPgGpgGSfFsrRCcsSUuIkKineEUcawCvVvDdVoOnLMlcVvCprRbBPXrSawdDWYylLvVgGlLsOzZoLKkljJrRdDZzrBSPpFfsEfFetLNnltFfaAEedDTTbLlqQAaRSwWoOCcSsRkFfKfBbFTHhZzogGiIOfnNFZzUutwWOoriyzZZznDdgGNnNQjHEehJbBOobBqIKkVviQIcYoKkONnZzRoOrZkKdkKDgLlGDFfZzkKTQsSqGlzsSxXZQqLlLXfFeEbsSBUOeEWwUZCcSsDrtDdOoTRdHhRXxmCcdDeEMOoryYOoeEHhPpGvfFqQuUVgaASsaAvVsotzZTOPoOpcDgGdCQqvSPpsNiIsSnCgGcvVLIivPJjBbJdDFZxXPpzfaWVlMmLvbAJjJjFfEKkAaylLYyilLIlLAaDXxAFfadZoOrRCcKkuJLlxguUYyDdGXeEALlaGNuSsVZzWwwQqWIiTyYtvVvJjJjrUuqQXxPZkKFfqQNKkpPncCiVyYqbBQaAjJvUuUvbBFfuUJwWjWwWwRDdtMsSmDdpoOPDdTqbqlLQEeBsSDdGnoONdKkDyBbiIYZzwWyUYyuYgVvJRrzZfFjmMQhHrNnRepPELlvVhdSsDHpPTtIWwcCOwJQsSiIfrbBRFJjyYqjnYSsxXysSVvOoLLllqblZHhzeEMxXZbBzmeENnkKHRroOwWBboOXbNiInlLbBDPDdpFfdyYBFfnNAarRxCHhcfhHAaFxrRXFsSfuJVvzOoNniqYyQIgGdDCcAafFQWaAwqHCldDdEeDfFLypwWPNnMmnUuNZzOtTTtzxXhHnJuURrjNXAaxrRhhHLlmMHhAUuaiIOwWpIiPNEeGgYyGQCDdcpzZoOPiIsWwNnNNOonopPOnXfFEeYmMyzZvVAGgCcSCcEeKrROokTHhLltASsfbSUusBoOfOaAobPpBFfxXwWsSZoOCcIizpoSjIDdiOoJsOsSGgXqQhHxjJNngJjGPkqQiIulLhHGUXPYyrRpxuvVmJjnVvNMxXrwZzWRgUwTtXxbBfFWEOLpPltcCeyYXxmLJjXxlEaGgXxAoOefhiuUIHQqBbrRyDdEhtTHOoCcImMBbxXdDLliJjsSaAVvxXxXBbehHeERrvVPpTtIPwWcVWwAJjPwoOOoWpVaoXxOoOhHSNmMzZSsQINniqEeQqZznmMXoZzOxMgGSsPsSRruhHWwUpFflLQNnGRrgqmmNwWnMAaNnaAXxvVQqnNGgDPKZzmwWbBqQzZMcCrRIivVHhHhERrvVevOoVfBbdDnNSBbeQqENnVVvEevxXDnysSYEuSsUuPpAaUUxXuvvVVeWCcwErRNCwWcmWwKkMNnWwRrnKNnEwWxXCcekIHhnOoeENKLlkpPAaaMrRJjuUMmGgAsyKkYSaqmMQWwmQqOEeEeBbZqQhHzoVvCnjJNjJLGnNpzuULkKlfFZPWwFnbMiImuufFUUByHLlhYZzMUumDBbdrRNNnQqjJNyYyyYbBOoYiIWIiHAauUfFBbhmXxbDdLwWlBmPpaAWJjwgMmLFfxXlGkKuUHgjJGgKkGhjJAvhHVtIiTaMHhfFwWgGgsXwWxSrQzZqTOotOorOoSsbBDDgeSsEpPUuoOuUbTtugGhHnAaaARIiWOowrvqQVnxXOoJNnjQqptTPsSNoOwbuOoQEVveqJjJqQjhHdErRedDIiDeoOcCCcEtTMmiztTZmMmsKkScCsqQdDzZsSffFBbbBFMmZzSkKvVEePpISEesRrsSFiSsIfiMxXdLlDuUumpPMLlmIieEMwWTtUtTCcjIeEoOEiIVFfvSseyYYyiGUuaAcCYyAaglLXKkxPhHDdUTURNnruDdrWVvwtXxTRtKHhkEDdfFUumMHRrEeLlhLlMmOosSTtuaAggGGwWUhEesSHdDgACeEcaGfXxFHhJxvzZVkKYyYAayXbLSsllHhgGLLlpPBWwCcUuCEDdUuMwWAamkKeUIizogGMmuUOZunNxXbXNnHhZzDdCcYyxNnfDdFBbBbBoXxOFfDsSdWOowBbRrlLpPVvSoOdDhCczxNnXxPnNpWaAwGDBbdpPVvcbnNjJBfFCeEtTztTZXNnXxiwZzUujJxXPpwWWejJxeNnEdTtSPHhZzpsDfFqQBbTxXYyxXtKkAQqaAVdDHhJjvoqLlyYLlfFrRcBbznNfFZCqoYyGgOuUsSwWQHhuURrteETuUHcBWwbCuUhibBIfFSsDeEBbkKTeEtuUktTKEVDdsSRrvUuvVIiWhHwDOoTtxXhHkeEKHhFfiIKKNnkkgGlLeRZzrxNnZzXELlJhhHHjMeEdDmgGXOoGpPYyVvgyBjJbxXrYyRVvYdDvVxsPpjJShzhHZYyHKaAkaArDzZdRkvVnNuUzZzZwMmoOWxXibBIaAJMmgbTWwtIvVBbsSiBPRrpjJTtImMiYyTjJtJjYPfFpWwIiIihHrEeRymcCBtTzZjJbMcCnNdYygGDycbBCHvVhRwWvVrlLfFGgRrhHIEeiaFfAxXpyNnYPeEgDHhdLrRlrRBbAaGzxXZARrnNRrHiIExXeuUUuhcCadDftTFoFfEeFvVMmfuUyMmSZmMmMKzZkzvAlLaVPcCEqQepBbfeEFWwcPpCZjJHhkKVvigGItTzsvwWVvVSjoOYyJUFrRgGeopPFfZlXxAoODdudDUaAHhWwaPpAayRrYLoCcOxsSXYydNnDYMmuUQfwWFUrRuqKkpOAaoJjQqwWPMmpFwmTtbBMrDGgqQdRJTtjCraARcWscCSfSsryCcYZkSsKSONnUuoskKoOqQhHzZwWOJjqQxKkXnNeEoxxECceXlLXmMdDYCcyeEbBzzMmSsZRsSMmrUgNnGuLlaAsSNwWoOeEeErxGgXEeCcRZSsrRhHDdZzznNmMyWpPwYNaAnmhHLlMdDpPcCKkniKnYrRyCbBwWcNpPTtZhHDdxXunNUuUuwmzZMbBWSFfABGgbaRrbLlAaBbBsyYBwWSsmMDdjJmMqQiJjbBKgGkVvWwgGKpLlPhHkyYCGTtuZzFfJLljUgcaCcAxWwXODdrRozZTYytLlTzZTyiIYqQttLlOooOtTiIdDKLlXdDxQqkVBNnbDdjJQqIixXgGHhubBvzZVeEXkcOoClShHsLpmpPMPoOKPpxUCkKtTMmpPcEeuUZlLzXxvcCNnVwWNnCcByYbdDBNgGnrRXsSxucqQOiIoLjJlCcCSBbsOtToUnroORrvVcUFfuZzRrCZzRaQqoOWwzJjfFbBeEZzZAYyuJjUoxXQUuvVSsPpIiIdDoOixCnNchHXqaAnNJzswWStTxXZwWjgGtXxTbBBWgGwCcbnNOSjiIJxXsqQcpPMmqFfQCLluYyBbwWSRrsjJUgZzGYyQnNlLSsqsSrRsjjJRatTtTihHPpsSIDdfVvFCTtcDxXdQVaAofFOUuvMmqOoEeRJKkjJjrQaJjAlLQqbxXoOZMMmzBqbBWOyYmMAagGoaAxXzQyYqZNnGgbBbDdBfqQdrRvVAwWYEeveeEjJEeEVqQyUuaAHhjVvJaZztTVvVvcCNncCWwWiICcfFJGgjMWiIdIiDwMNnNIiuUxXeExXnfFmqBbQmxXUuMFflLGgmwWvVHNFfnLAahHCcSsFeEfUuBMmbgGGgqqQQQCUurRckKqlpPhVcCveXDdvOoVEeqvqQVQPiIpMiiIHhABbaIxXmTtZzMmxMmNRrrRnwWqQBbTtGUugYEeBbmnHQqhNMetTErAaRlLlLnZzNWmMXeExeECcwVvtTKkBbuUuPplsSLtTxXPpGvWwVUuFfjJKMmZzkgDdGHhQqCcgDqQdVOovcDdUiIXxPSsdDPpjJpuIiqQtVvTCXxPpHuUNwWnoOhmMdDqQVSeZTOottTuUzEeMmKkEsuUbBvvTtMmEeVxXgGUynueJDdjRrEUCcxCkKvVFfcofFSsOUuXKkCvVsQpPqSIiyAaYrRMmxUuxjJXStTtTsXcuUeEfhHGgFgWwndDaANGnNknxDdpPXbBTtNjJnNnNaAgkMbBiDdNnNnImRrKABbaqQHFTtuUyUxXuYcCwWFfuUCxcyYSsIiCXcfnNhGtXXlLkKxxTQqhHrRKKkAawWoLlHhOZzfjJvVasSoOmMjLBblOoupPUdDJuUsShHAFBbcmMCOJkKjCcPpRIiWkKwrXxhHXqQunNUXyYxxAaFfovxXsSJjGGgvVovVzZOPpvVgXxINnirREerRAaWRrbBvVMoOKkDdmIiWbBHhwtHhTKkCciIogGNngGGgTtOwDdQqgHhGCcdDkKPpKkVgtTGcnVHhOovNAaNTxXJKiIMmBbkCeEcIxXgGijKJjktCcCclLxXFiIfjJcuUMmJMmjZzCngWwGCmplLAaeEPUudDiILKkBboXxOwWKkmMrHhHhRvVzZzZfwWZbBUOoupPzFeEQtTqFVvfZzAaFfNNuUVvmMttTTnnwWSsOovVOkKtTRroUkKuI
diff --git a/day05.k b/day05.k
new file mode 100644
index 0000000..1ad195a
--- /dev/null
+++ b/day05.k
@@ -0,0 +1,6 @@
+/ not so easy because of overlapping matches
+/ (*r),&/r:#:'{x@&{1_x,1}(1_v,1)&v:~<':32=b|-b:-':x}/'{(*1:`day05)^`c$(x,x+32)}'"@"+!27
+/ (*r),&/r:#:'{x@&{1_x,1}(1_v,1)&v:~<':32=b|-b:-':x}/'(20#*1:`day05)^/:+`c$"@`"+\:!27
+r@0,*<r:#:'{x@&{1_x,1}(1_v,1)&v:~<':32=b|-b:-':x}/'(*1:`day05)^/:+`c$"@`"+\:!27
+/ 9686 5524
+
diff --git a/day05.rs b/day05.rs
new file mode 100644
index 0000000..ea6e919
--- /dev/null
+++ b/day05.rs
@@ -0,0 +1,31 @@
+use std::fs::File;
+use std::io::prelude::*;
+
+fn react(s: &mut String) -> usize {
+ while let Some(pos) = (0..s.len() - 1).find(|i| {
+ (s.as_bytes()[*i] as i32 - s.as_bytes()[*i + 1] as i32).abs() == 32
+ }) {
+ s.replace_range(pos..pos + 2, "");
+ }
+ return s.len();
+}
+
+fn main() {
+ let mut f = File::open("day05").unwrap();
+
+ let mut s = String::new();
+ f.read_to_string(&mut s).unwrap();
+ s.pop();
+
+ println!("{}", react(&mut s.clone()));
+
+ println!("{}",
+ (65u8..65u8 + 27)
+ .map(|c| {
+ let mut t = s.clone();
+ t.retain(|b| b != (c as char) && b != (c + 32u8) as char);
+ react(&mut t)
+ })
+ .min()
+ .unwrap());
+}