diff --git a/.gitattributes b/.gitattributes index 431c9bb86eb..7783986dc34 100644 --- a/.gitattributes +++ b/.gitattributes @@ -7,3 +7,10 @@ src/coreclr/BenchmarksGame/regex-redux/regexdna-input25.txt text eol=lf src/coreclr/BenchmarksGame/regex-redux/regexdna-input25000.txt text eol=lf src/coreclr/BenchmarksGame/reverse-complement/revcomp-input25.txt text eol=lf src/coreclr/BenchmarksGame/reverse-complement/revcomp-input25000.txt text eol=lf + +src/benchmarks/coreclr/BenchmarksGame/Inputs/knucleotide-input-big.txt text eol=lf +src/benchmarks/coreclr/BenchmarksGame/Inputs/knucleotide-input.txt text eol=lf +src/benchmarks/coreclr/BenchmarksGame/Inputs/regexdna-input25.txt text eol=lf +src/benchmarks/coreclr/BenchmarksGame/Inputs/regexdna-input25000.txt text eol=lf +src/benchmarks/coreclr/BenchmarksGame/Inputs/revcomp-input25.txt text eol=lf +src/benchmarks/coreclr/BenchmarksGame/Inputs/revcomp-input25000.txt text eol=lf \ No newline at end of file diff --git a/.gitignore b/.gitignore index cf195fe4192..1c8fa3709e8 100644 --- a/.gitignore +++ b/.gitignore @@ -14,4 +14,10 @@ **/.vs/** + +# BenchmarkDotNet results **/BenchmarkDotNet.Artifacts/** + +# Resharper files +**/*.DotSettings.user +**/.idea/** diff --git a/src/benchmarks/Benchmarks.csproj b/src/benchmarks/Benchmarks.csproj index 928c44ba72f..53ae9229f64 100644 --- a/src/benchmarks/Benchmarks.csproj +++ b/src/benchmarks/Benchmarks.csproj @@ -1,11 +1,12 @@  Exe - net46;netcoreapp2.0;netcoreapp2.1 + net461;netcoreapp2.0;netcoreapp2.1 AnyCPU pdbonly true true + 7.3 @@ -13,13 +14,16 @@ - + + + + @@ -27,4 +31,12 @@ + + + Always + + + + + \ No newline at end of file diff --git a/src/benchmarks/Categories.cs b/src/benchmarks/Categories.cs new file mode 100644 index 00000000000..1a151107ae7 --- /dev/null +++ b/src/benchmarks/Categories.cs @@ -0,0 +1,16 @@ +namespace Benchmarks +{ + public static class Categories + { + public const string CoreCLR = "CoreCLR"; + public const string BenchmarksGame = "BenchmarksGame"; + public const string Benchstones = "Benchstones"; + public const string BenchF = "BenchF"; + public const string BenchI = "BenchI"; + public const string Inlining = "Inlining"; + public const string SIMD = "SIMD"; + public const string Span = "Span"; + public const string V8 = "V8"; + public const string Perflab = "Perflab"; + } +} \ No newline at end of file diff --git a/src/benchmarks/Program.cs b/src/benchmarks/Program.cs index d679aa9490b..7a1f35e7791 100644 --- a/src/benchmarks/Program.cs +++ b/src/benchmarks/Program.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.IO; using System.Linq; using BenchmarkDotNet.Columns; @@ -7,8 +8,11 @@ using BenchmarkDotNet.Environments; using BenchmarkDotNet.Exporters; using BenchmarkDotNet.Exporters.Csv; +using BenchmarkDotNet.Exporters.Json; +using BenchmarkDotNet.Filters; using BenchmarkDotNet.Horology; using BenchmarkDotNet.Jobs; +using BenchmarkDotNet.Mathematics; using BenchmarkDotNet.Running; using BenchmarkDotNet.Toolchains.CoreRt; using BenchmarkDotNet.Toolchains.CsProj; @@ -31,16 +35,20 @@ static void Main(string[] args) private static void RunBenchmarks(Options options) => BenchmarkSwitcher .FromAssemblyAndTypes(typeof(Program).Assembly, SerializerBenchmarks.GetTypes()) - .Run(config: GetConfig(options)); + .Run(GetArgs(options), GetConfig(options)); + + private static string[] GetArgs(Options options) + => options.Join ? new[] {"--join"} : Array.Empty(); private static IConfig GetConfig(Options options) { - var baseJob = Job.ShortRun; // let's use the Short Run for better first user experience ;) - var jobs = GetJobs(options, baseJob).ToArray(); + var baseJob = GetBaseJob(options); - var config = DefaultConfig.Instance - .With(jobs.Any() ? jobs : new[] { baseJob }); + var baseJobPermutations = GetBaseJobPermutations(baseJob, options).ToArray(); + var jobs = baseJobPermutations.SelectMany(job => GetJobs(options, job)).ToArray(); + var config = DefaultConfig.Instance.With(jobs.Any() ? jobs : baseJobPermutations); + if (options.UseMemoryDiagnoser) config = config.With(MemoryDiagnoser.Default); if (options.UseDisassemblyDiagnoser) @@ -49,9 +57,82 @@ private static IConfig GetConfig(Options options) if (options.DisplayAllStatistics) config = config.With(StatisticColumn.AllStatistics); + if (options.AllCategories.Any()) + config = config.With(new AllCategoriesFilter(options.AllCategories.ToArray())); + if (options.AnyCategories.Any()) + config = config.With(new AnyCategoriesFilter(options.AnyCategories.ToArray())); + if (options.Namespaces.Any()) + config = config.With(new NamespacesFilter(options.Namespaces.ToArray())); + if (options.MethodNames.Any()) + config = config.With(new MethodNamesFilter(options.MethodNames.ToArray())); + if (options.TypeNames.Any()) + config = config.With(new TypeNamesFilter(options.TypeNames.ToArray())); + + config = config.With(JsonExporter.Full); // make sure we export to Json (for BenchView integration purpose) + + config = config.With(StatisticColumn.Median, StatisticColumn.Min, StatisticColumn.Max); + return config; } + private static Job GetBaseJob(Options options) + { + Job baseJob = null; + + switch (options.BaseJob.ToLowerInvariant()) + { + case "dry": + baseJob = Job.Dry; + break; + case "short": + baseJob = Job.ShortRun; + break; + case "medium": + baseJob = Job.MediumRun.WithOutlierMode(options.Outliers); + break; + case "long": + baseJob = Job.LongRun; + break; + default: // the recommended settings + baseJob = Job.Default + .WithIterationTime(TimeInterval.FromSeconds(0.25)) // the default is 0.5s per iteration, which is slighlty too much for us + .WithWarmupCount(1) // 1 warmup is enough for our purpose + .WithOutlierMode(options.Outliers) + .WithMaxIterationCount(20); // we don't want to run more that 20 iterations + break; + } + + baseJob = baseJob.WithOutlierMode(options.Outliers); + + if (options.Affinity.HasValue && !options.TestAffinity) + baseJob = baseJob.WithAffinity((IntPtr) options.Affinity.Value); + + return baseJob; + } + + private static IEnumerable GetBaseJobPermutations(Job baseJob, Options options) + { + IEnumerable CreateLoopAligmentPermutations(Job job) + { + yield return job.With(new[] {new EnvironmentVariable("COMPlus_JitAlignLoops", "1")}); + yield return job.With(new[] {new EnvironmentVariable("COMPlus_JitAlignLoops", "0")}); + } + + IEnumerable CreateAffinityPermutations(Job job) + { + yield return job; + yield return job.WithAffinity((IntPtr)options.Affinity.Value); + } + + Job[] jobs = { baseJob }; + if (options.TestAlignLoops) + jobs = jobs.SelectMany(CreateLoopAligmentPermutations).ToArray(); + if (options.TestAffinity && options.Affinity.HasValue) + jobs = jobs.SelectMany(CreateAffinityPermutations).ToArray(); + + return jobs; + } + private static IEnumerable GetJobs(Options options, Job baseJob) { if (options.RunInProcess) @@ -59,6 +140,10 @@ private static IEnumerable GetJobs(Options options, Job baseJob) if (options.RunClr) yield return baseJob.With(Runtime.Clr); + if (options.RunLegacyJitX64) + yield return baseJob.With(Runtime.Clr).With(Jit.LegacyJit).With(Platform.X64); + if (options.RunLegacyJitX86) + yield return baseJob.With(Runtime.Clr).With(Jit.LegacyJit).With(Platform.X86); if (!string.IsNullOrEmpty(options.ClrVersion)) yield return baseJob.With(new ClrRuntime(options.ClrVersion)); @@ -136,6 +221,12 @@ public class Options [Option("clr", Required = false, Default = false, HelpText = "Run benchmarks for Clr")] public bool RunClr { get; set; } + + [Option("legacyJitx64", Required = false, Default = false, HelpText = "Run benchmarks for Legacy JIT x64")] + public bool RunLegacyJitX64 { get; set; } + + [Option("legacyJitx86", Required = false, Default = false, HelpText = "Run benchmarks for Legacy JIT x86")] + public bool RunLegacyJitX86 { get; set; } [Option("clrVersion", Required = false, HelpText = "Optional version of private CLR build used as the value of COMPLUS_Version env var.")] public string ClrVersion { get; set; } @@ -184,6 +275,39 @@ public class Options [Option("coreFxBin", Required = false, HelpText = @"Optional path to folder with CoreFX NuGet packages, Example: ""C:\Projects\forks\corefx\bin\packages\Release""")] public string CoreFxBinPackagesPath { get; set; } + + [Option("categories", Required = false, HelpText = "Categories to run. If few are provided, only the benchmarks which belong to all of them are going to be executed")] + public IEnumerable AllCategories { get; set; } + + [Option("anyCategories", Required = false, HelpText = "Any Categories to run")] + public IEnumerable AnyCategories { get; set; } + + [Option("namespace", Required = false, HelpText = "Namespace(s) to run")] + public IEnumerable Namespaces { get; set; } + + [Option("method", Required = false, HelpText = "Method(s) to run")] + public IEnumerable MethodNames { get; set; } + + [Option("class", Required = false, HelpText = "Class(es) with benchmarks to run")] + public IEnumerable TypeNames { get; set; } + + [Option("join", Required = false, Default = false, HelpText = "Prints single table with results for all benchmarks")] + public bool Join { get; set; } + + [Option("baseJob", Required = false, Default = "Default", HelpText = "Dry/Short/Medium/Long or Default")] + public string BaseJob { get; set; } + + [Option("outliers", Required = false, Default = OutlierMode.OnlyUpper, HelpText = "None/OnlyUpper/OnlyLower/All")] + public OutlierMode Outliers { get; set; } + + [Option("testAlignment", Required = false, Default = false, HelpText = "Test COMPlus_JitAlignLoop 0 vs 1")] + public bool TestAlignLoops { get; set; } + + [Option("testAffinity", Required = false, Default = false, HelpText = "Test affinity set vs no affinity")] + public bool TestAffinity { get; set; } + + [Option("affinity", Required = false, HelpText = "Affinity mask to set for the benchmark process")] + public int? Affinity { get; set; } } /// diff --git a/src/benchmarks/README.md b/src/benchmarks/README.md index 5281719f63a..c55780a8dbd 100644 --- a/src/benchmarks/README.md +++ b/src/benchmarks/README.md @@ -10,10 +10,12 @@ BenchmarkDotNet will protect you from the common pitfalls (even for experienced * it generates an isolated project per runtime * it builds the project in `Release` * it runs every benchmark in a stand-alone process (to achieve process isolation and avoid side effects) -* it estimates the perfect invocation count per iteration +* it estimates the perfect invocation count per iteration (based on `IterationTime`) * it warms-up the code * it evaluates the overhead -* it runs multiple iterations of the method until the requested level of precision is met. +* it runs multiple iterations of the method until the requested level of precision is met +* it consumes the benchmark result to avoid dead code elimination +* it prevents from inlining of the benchmark by wrapping it with a delegate. A few useful links for you: @@ -49,6 +51,19 @@ BenchmarkDotNet will build the executables, run the benchmarks, print the result BenchmarkDotNet by default exports the results to GitHub markdown, so you can just find the right `.md` file in `results` folder and copy-paste the markdown to GitHub. +## Filtering + +You can filter the benchmarks by namespace, category, type name and method name. Examples: + +* `dotnet run -c Release -f netcoreapp2.1 -- --categories CoreCLR Span` - will run all the benchmarks that belong to CoreCLR **AND** Span category +* `dotnet run -c Release -f netcoreapp2.1 -- --anyCategories CoreCLR CoreFX` - will run all the benchmarks that belong to CoreCLR **OR** CoreFX category +* `dotnet run -c Release -f netcoreapp2.1 -- --namespace=BenchmarksGame` - will run all the benchmarks from BenchmarksGame namespace +* `dotnet run -c Release -f netcoreapp2.1 -- --method=ToStream` - will run all the benchmarks with method name ToStream +* `dotnet run -c Release -f netcoreapp2.1 -- --class=Richards` - will run all the benchmarks with type name Richards + +**Note:** To print a single summary for all of the benchmarks, use `--join`. +Example: `dotnet run -c Release -f netcoreapp2.1 -- --join --namespace=BenchmarksGame` - will run all of the benchmarks from BenchmarksGame namespace and print a single summary. + ## All Statistics By default BenchmarkDotNet displays only `Mean`, `Error` and `StdDev` in the results. If you want to see more statistics, please pass `--allStats` as an extra argument to the app: `dotnet run -c Release -f netcoreapp2.1 -- --allStats`. If you build your own config, please use `config.With(StatisticColumn.AllStatistics)`. @@ -224,3 +239,35 @@ var config = DefaultConfig.Instance .ToToolchain())); ``` +## Testing how Processor Affinity and Loop Alignment affect results + +To run the benchmarks with specific Processor Affinity, you need to provide the processor mask as an argument called `--affinity`. + +Example: `dotnet run -c Release -f netcoreapp2.1 -- --affinity=8` + +To run same benchmarks with and without specific Processor Affinity you need to use `--testAffinity` and also provide the mask with `--affinity` + +Example: `dotnet run -c Release -f netcoreapp2.1 -- --class=BinaryTrees_2 --affinity=8 --testAffinity` + +| Method | Affinity | +|-------------- |------------- | +| BinaryTrees_2 | 000000001000 | +| BinaryTrees_2 | 111111111111 | + +To test how loop alignment affects the results, you can use `--testAlignment` which is going to run the benchmarks with env var `COMPlus_JitAlignLoops` set to `0` and `1` + +Example: `dotnet run -c Release -f netcoreapp2.1 -- --class=BinaryTrees_2 --testAlignment` + +| Method | EnvironmentVariables | +|-------------- |------------------------ | +| BinaryTrees_2 | COMPlus_JitAlignLoops=0 | +| BinaryTrees_2 | COMPlus_JitAlignLoops=1 | + +**Note:** You can combine `--testAlignment` with `--testAffinity` which will results in 4 different benchmark runs: + +| Method | Affinity | EnvironmentVariables | +|-------------- |------------- |------------------------ | +| BinaryTrees_2 | 000000001000 | COMPlus_JitAlignLoops=0 | +| BinaryTrees_2 | 000000001000 | COMPlus_JitAlignLoops=1 | +| BinaryTrees_2 | 111111111111 | COMPlus_JitAlignLoops=0 | +| BinaryTrees_2 | 111111111111 | COMPlus_JitAlignLoops=1 | diff --git a/src/benchmarks/ResultValidator.cs b/src/benchmarks/ResultValidator.cs new file mode 100644 index 00000000000..27aa43fd6f7 --- /dev/null +++ b/src/benchmarks/ResultValidator.cs @@ -0,0 +1,292 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Threading; +using System.Xml.Serialization; +using BdnDtos; +using Newtonsoft.Json; +using XUnitDtos; + +namespace Benchmarks +{ + public class ResultValidator + { + public static void Compare(string xunitFolder, string bdnFolder) + { + var xUnitResults = GetXUnitResults(xunitFolder) + .SelectMany(result => result.Assembly.Collection.Test) + .ToDictionary(test => test.Name, test => test.Performance); + + var bdnResults = GetBdnResults(bdnFolder) + .SelectMany(result => result.Benchmarks) + .ToDictionary(benchmark => benchmark.FullName, benchmark => benchmark); + + PrintMissingBenchmarks(xUnitResults, bdnResults); + + WriteResultsToCSV(xUnitResults, bdnResults); + } + + private static IEnumerable GetXUnitResults(string xunitFolder) + { + var serializer = new XmlSerializer(typeof(Assemblies)); + + foreach (var resultFile in Directory.GetFiles(xunitFolder, searchPattern: "*.xml")) + using (StreamReader reader = new StreamReader(resultFile)) + yield return (Assemblies) serializer.Deserialize(reader); + } + + private static IEnumerable GetBdnResults(string bdnFolder) + => Directory.GetFiles(bdnFolder, searchPattern: "*.json") + .Select(resultFile => JsonConvert.DeserializeObject(File.ReadAllText(resultFile))); + + private static void PrintMissingBenchmarks(Dictionary xUnitResults, Dictionary bdnResults) + { + foreach (var xUnitId in xUnitResults.Keys) + if (!bdnResults.ContainsKey(xUnitId)) + Console.WriteLine($"Missing benchmark! {xUnitId}"); + + Console.WriteLine(); + + foreach (var bdnId in bdnResults.Keys) + if (!xUnitResults.ContainsKey(bdnId)) + Console.WriteLine($"But found {bdnId}"); + } + + private static void WriteResultsToCSV(Dictionary xUnitResults, Dictionary bdnResults) + { + using(StreamWriter writer = new StreamWriter("results.csv")) + { + writer.WriteLine("Id;ScaleFactor;XunitAllocated;BdnAllocated;xUnitMin;xUnitAvg;xUnitMax;bdnMin;bdnAvg;bdnMax"); + + foreach (var xUnitResult in xUnitResults) + if (bdnResults.TryGetValue(xUnitResult.Key, out var bdnResult)) + { + long bdnAllocated = bdnResult.Memory.BytesAllocatedPerOperation; + long xunitAllocated = xUnitResult.Value.Iterations.Iteration + .Last() // every iteration has allocated data, but the fist one has typically some overhead so I choose the last ;) + .GCGetAllocatedBytesForCurrentThread; + + long guessedScaleFactor = bdnAllocated != 0 ? xunitAllocated / bdnAllocated : -1; + + writer.Write($"\"{xUnitResult.Key}\";{guessedScaleFactor};{xunitAllocated};{bdnAllocated}"); + + var unit = xUnitResult.Value.Metrics.Duration.Unit; + var xunitMin = ToNanoseconds(xUnitResult.Value.Iterations.Iteration.Min(r => r.Duration), unit); + var xunitAvg = ToNanoseconds(xUnitResult.Value.Iterations.Iteration.Average(r => r.Duration), unit); + var xunitMax = ToNanoseconds(xUnitResult.Value.Iterations.Iteration.Max(r => r.Duration), unit); + + var bdnMin = bdnResult.Statistics.Min; + var bdnAvg = bdnResult.Statistics.Mean; + var bdnMax = bdnResult.Statistics.Max; + + writer.WriteLine($";{xunitMin};{xunitAvg};{xunitMax};{bdnMin};{bdnAvg};{bdnMax}"); + } + } + } + + private static double ToNanoseconds(double source, string unit) + => unit == "msec" + ? source * 1000000 + : throw new NotSupportedException("I expected xunit-performance to always report the results in msec"); + } +} + +namespace XUnitDtos // generated with http://xmltocsharp.azurewebsites.net/ +{ + [XmlRoot(ElementName="Duration")] + public class Duration { + [XmlAttribute(AttributeName="displayName")] + public string DisplayName { get; set; } + [XmlAttribute(AttributeName="unit")] + public string Unit { get; set; } + } + + [XmlRoot(ElementName="GC.GetAllocatedBytesForCurrentThread")] + public class GCGetAllocatedBytesForCurrentThread { + [XmlAttribute(AttributeName="displayName")] + public string DisplayName { get; set; } + [XmlAttribute(AttributeName="unit")] + public string Unit { get; set; } + } + + [XmlRoot(ElementName="metrics")] + public class Metrics { + [XmlElement(ElementName="Duration")] + public Duration Duration { get; set; } + [XmlElement(ElementName="GC.GetAllocatedBytesForCurrentThread")] + public GCGetAllocatedBytesForCurrentThread GCGetAllocatedBytesForCurrentThread { get; set; } + } + + [XmlRoot(ElementName="iteration")] + public class Iteration { + [XmlAttribute(AttributeName="index")] + public string Index { get; set; } + [XmlAttribute(AttributeName="Duration")] + public double Duration { get; set; } + [XmlAttribute(AttributeName="GC.GetAllocatedBytesForCurrentThread")] + public long GCGetAllocatedBytesForCurrentThread { get; set; } + } + + [XmlRoot(ElementName="iterations")] + public class Iterations { + [XmlElement(ElementName="iteration")] + public List Iteration { get; set; } + } + + [XmlRoot(ElementName="performance")] + public class Performance { + [XmlElement(ElementName="metrics")] + public Metrics Metrics { get; set; } + [XmlElement(ElementName="iterations")] + public Iterations Iterations { get; set; } + } + + [XmlRoot(ElementName="test")] + public class Test { + [XmlElement(ElementName="performance")] + public Performance Performance { get; set; } + [XmlAttribute(AttributeName="name")] + public string Name { get; set; } + [XmlAttribute(AttributeName="type")] + public string Type { get; set; } + [XmlAttribute(AttributeName="method")] + public string Method { get; set; } + } + + [XmlRoot(ElementName="collection")] + public class Collection { + [XmlElement(ElementName="test")] + public List Test { get; set; } + } + + [XmlRoot(ElementName="assembly")] + public class Assembly { + [XmlElement(ElementName="collection")] + public Collection Collection { get; set; } + [XmlAttribute(AttributeName="name")] + public string Name { get; set; } + } + + [XmlRoot(ElementName="assemblies")] + public class Assemblies { + [XmlElement(ElementName="assembly")] + public Assembly Assembly { get; set; } + } +} + +namespace BdnDtos // generated with http://json2csharp.com/# +{ + public class ChronometerFrequency + { + public int Hertz { get; set; } + } + + public class HostEnvironmentInfo + { + public string BenchmarkDotNetCaption { get; set; } + public string BenchmarkDotNetVersion { get; set; } + public string OsVersion { get; set; } + public string ProcessorName { get; set; } + public int PhysicalProcessorCount { get; set; } + public int PhysicalCoreCount { get; set; } + public int LogicalCoreCount { get; set; } + public string RuntimeVersion { get; set; } + public string Architecture { get; set; } + public bool HasAttachedDebugger { get; set; } + public bool HasRyuJit { get; set; } + public string Configuration { get; set; } + public string JitModules { get; set; } + public string DotNetCliVersion { get; set; } + public ChronometerFrequency ChronometerFrequency { get; set; } + public string HardwareTimerKind { get; set; } + } + + public class ConfidenceInterval + { + public int N { get; set; } + public double Mean { get; set; } + public double StandardError { get; set; } + public int Level { get; set; } + public double Margin { get; set; } + public double Lower { get; set; } + public double Upper { get; set; } + } + + public class Percentiles + { + public double P0 { get; set; } + public double P25 { get; set; } + public double P50 { get; set; } + public double P67 { get; set; } + public double P80 { get; set; } + public double P85 { get; set; } + public double P90 { get; set; } + public double P95 { get; set; } + public double P100 { get; set; } + } + + public class Statistics + { + public int N { get; set; } + public double Min { get; set; } + public double LowerFence { get; set; } + public double Q1 { get; set; } + public double Median { get; set; } + public double Mean { get; set; } + public double Q3 { get; set; } + public double UpperFence { get; set; } + public double Max { get; set; } + public double InterquartileRange { get; set; } + public List LowerOutliers { get; set; } + public List UpperOutliers { get; set; } + public List AllOutliers { get; set; } + public double StandardError { get; set; } + public double Variance { get; set; } + public double StandardDeviation { get; set; } + public double Skewness { get; set; } + public double Kurtosis { get; set; } + public ConfidenceInterval ConfidenceInterval { get; set; } + public Percentiles Percentiles { get; set; } + } + + public class Memory + { + public int Gen0Collections { get; set; } + public int Gen1Collections { get; set; } + public int Gen2Collections { get; set; } + public int TotalOperations { get; set; } + public long BytesAllocatedPerOperation { get; set; } + } + + public class Measurement + { + public string IterationMode { get; set; } + public int LaunchIndex { get; set; } + public int IterationIndex { get; set; } + public long Operations { get; set; } + public double Nanoseconds { get; set; } + } + + public class Benchmark + { + public string DisplayInfo { get; set; } + public object Namespace { get; set; } + public string Type { get; set; } + public string Method { get; set; } + public string MethodTitle { get; set; } + public string Parameters { get; set; } + public string FullName { get; set; } + public Statistics Statistics { get; set; } + public Memory Memory { get; set; } + public List Measurements { get; set; } + } + + public class BdnResult + { + public string Title { get; set; } + public HostEnvironmentInfo HostEnvironmentInfo { get; set; } + public List Benchmarks { get; set; } + } +} \ No newline at end of file diff --git a/src/benchmarks/Serializers/Binary_FromStream.cs b/src/benchmarks/Serializers/Binary_FromStream.cs index 7e024eb7661..9b20fcf9955 100644 --- a/src/benchmarks/Serializers/Binary_FromStream.cs +++ b/src/benchmarks/Serializers/Binary_FromStream.cs @@ -23,28 +23,28 @@ public Binary_FromStream() ProtoBuf.Meta.RuntimeTypeModel.Default.Add(typeof(DateTimeOffset), false).SetSurrogate(typeof(DateTimeOffsetSurrogate)); // https://stackoverflow.com/a/7046868 } - [IterationSetup(Target = nameof(BinaryFormatter_))] + [GlobalSetup(Target = nameof(BinaryFormatter_))] public void SetupBinaryFormatter() { memoryStream.Position = 0; binaryFormatter.Serialize(memoryStream, value); } - [IterationSetup(Target = nameof(ProtoBuffNet))] + [GlobalSetup(Target = nameof(ProtoBuffNet))] public void SetupProtoBuffNet() { memoryStream.Position = 0; ProtoBuf.Serializer.Serialize(memoryStream, value); } - [IterationSetup(Target = nameof(ZeroFormatter_Naive) + "," + nameof(ZeroFormatter_Real))] + [GlobalSetup(Target = nameof(ZeroFormatter_Naive) + "," + nameof(ZeroFormatter_Real))] public void SetupZeroFormatter_() { memoryStream.Position = 0; ZeroFormatter.ZeroFormatterSerializer.Serialize(memoryStream, value); } - [IterationSetup(Target = nameof(MessagePack_))] + [GlobalSetup(Target = nameof(MessagePack_))] public void SetupMessagePack() { memoryStream.Position = 0; diff --git a/src/benchmarks/Serializers/Json_FromStream.cs b/src/benchmarks/Serializers/Json_FromStream.cs index 80e2555e7a0..ef89ecb8b52 100644 --- a/src/benchmarks/Serializers/Json_FromStream.cs +++ b/src/benchmarks/Serializers/Json_FromStream.cs @@ -25,7 +25,7 @@ public Json_FromStream() newtonSoftJsonSerializer = new Newtonsoft.Json.JsonSerializer(); } - [IterationSetup(Target = nameof(Jil_))] + [GlobalSetup(Target = nameof(Jil_))] public void SetupJil_() { memoryStream.Position = 0; @@ -37,7 +37,7 @@ public void SetupJil_() } } - [IterationSetup(Target = nameof(JsonNet_))] + [GlobalSetup(Target = nameof(JsonNet_))] public void SetupJsonNet_() { memoryStream.Position = 0; @@ -49,14 +49,14 @@ public void SetupJsonNet_() } } - [IterationSetup(Target = nameof(Utf8Json_))] + [GlobalSetup(Target = nameof(Utf8Json_))] public void SetupUtf8Json_() { memoryStream.Position = 0; Utf8Json.JsonSerializer.Serialize(memoryStream, value); } - [IterationSetup(Target = nameof(DataContractJsonSerializer_))] + [GlobalSetup(Target = nameof(DataContractJsonSerializer_))] public void SetupDataContractJsonSerializer_() { memoryStream.Position = 0; diff --git a/src/benchmarks/Serializers/Json_FromString.cs b/src/benchmarks/Serializers/Json_FromString.cs index 60866b839b8..5e91ebb6224 100644 --- a/src/benchmarks/Serializers/Json_FromString.cs +++ b/src/benchmarks/Serializers/Json_FromString.cs @@ -9,13 +9,13 @@ public class Json_FromString public Json_FromString() => value = DataGenerator.Generate(); - [IterationSetup(Target = nameof(Jil_))] + [GlobalSetup(Target = nameof(Jil_))] public void SerializeJil() => serialized = Jil.JSON.Serialize(value); - [IterationSetup(Target = nameof(JsonNet_))] + [GlobalSetup(Target = nameof(JsonNet_))] public void SerializeJsonNet() => serialized = Newtonsoft.Json.JsonConvert.SerializeObject(value); - [IterationSetup(Target = nameof(Utf8Json_))] + [GlobalSetup(Target = nameof(Utf8Json_))] public void SerializeUtf8Json_() => serialized = Utf8Json.JsonSerializer.ToJsonString(value); [Benchmark(Description = "Jil")] diff --git a/src/benchmarks/Serializers/Xml_FromStream.cs b/src/benchmarks/Serializers/Xml_FromStream.cs index 2060eeff53c..754d1654d65 100644 --- a/src/benchmarks/Serializers/Xml_FromStream.cs +++ b/src/benchmarks/Serializers/Xml_FromStream.cs @@ -20,14 +20,14 @@ public Xml_FromStream() memoryStream = new MemoryStream(capacity: short.MaxValue); } - [IterationSetup(Target = nameof(XmlSerializer_))] + [GlobalSetup(Target = nameof(XmlSerializer_))] public void SetupXmlSerializer() { memoryStream.Position = 0; xmlSerializer.Serialize(memoryStream, value); } - [IterationSetup(Target = nameof(DataContractSerializer_))] + [GlobalSetup(Target = nameof(DataContractSerializer_))] public void SetupDataContractSerializer() { memoryStream.Position = 0; diff --git a/src/benchmarks/Toolchains/CoreRunToolchain.cs b/src/benchmarks/Toolchains/CoreRunToolchain.cs index fce231e0a07..4f34663763b 100644 --- a/src/benchmarks/Toolchains/CoreRunToolchain.cs +++ b/src/benchmarks/Toolchains/CoreRunToolchain.cs @@ -51,7 +51,7 @@ public CoreRunToolchain(FileInfo coreRun, bool createCopy = true, private FileInfo CustomDotNetCliPath { get; } - public bool IsSupported(Benchmark benchmark, ILogger logger, IResolver resolver) + public bool IsSupported(BenchmarkCase benchmark, ILogger logger, IResolver resolver) { if (!SourceCoreRun.Exists) { diff --git a/src/benchmarks/coreclr/BenchmarksGame/Inputs/InputFileHelper.cs b/src/benchmarks/coreclr/BenchmarksGame/Inputs/InputFileHelper.cs new file mode 100644 index 00000000000..26dd744d32c --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/Inputs/InputFileHelper.cs @@ -0,0 +1,25 @@ +using System; +using System.IO; + +namespace BenchmarksGame +{ + internal static class InputFileHelper + { + internal static string FindInputFile(string inputFile) + { + if (string.IsNullOrEmpty(inputFile)) + throw new ArgumentNullException(nameof(inputFile)); + + var fullPath = GetFullPath(inputFile); + if (!File.Exists(fullPath)) + throw new FileNotFoundException("Unable to find input file.", inputFile); + + return fullPath; + } + + internal static int GetFileLength(string filePath) => (int) new FileInfo(filePath).Length; + + private static string GetFullPath(string fileName) + => Path.Combine(Path.GetDirectoryName(typeof(InputFileHelper).Assembly.Location), "coreclr", "BenchmarksGame", "Inputs", fileName); + } +} \ No newline at end of file diff --git a/src/benchmarks/coreclr/BenchmarksGame/Inputs/NucleotideHelpers.cs b/src/benchmarks/coreclr/BenchmarksGame/Inputs/NucleotideHelpers.cs new file mode 100644 index 00000000000..b83d8682ecc --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/Inputs/NucleotideHelpers.cs @@ -0,0 +1,43 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Helper functionality to locate inputs and find outputs for +// k-nucleotide benchmark in CoreCLR test harness + +using System; +using System.IO; +using System.Text; + +namespace BenchmarksGame +{ + class NucleotideHelpers + { + public string InputFile; + public int[] expectedCountLetter; + public int[] expectedCountPairs; + public int[] expectedCountFragments; + public int[][] expectedFrequencies; + + public NucleotideHelpers(bool bigInput) + { + if (bigInput) + { + InputFile = InputFileHelper.FindInputFile("knucleotide-input-big.txt"); + expectedCountLetter = new int[] { 302923, 301375, 198136, 197566 }; + expectedCountPairs = new int[] { 91779, 91253, 91225, 90837, 60096, 60030, 59889, 59795, 59756, 59713, 59572, 59557, 39203, 39190, 39081, 39023 }; + expectedCountFragments = new int[] { 11765, 3572, 380, 7, 7 }; + } + else + { + InputFile = InputFileHelper.FindInputFile("knucleotide-input.txt"); + expectedCountLetter = new int[] { 1576, 1480, 974, 970 }; + expectedCountPairs = new int[] { 496, 480, 470, 420, 316, 315, 310, 302, 298, 292, 273, 272, 202, 201, 185, 167 }; + expectedCountFragments = new int[] { 54, 24, 4, 0, 0 }; + } + expectedFrequencies = new int[][] { expectedCountLetter, expectedCountPairs }; + } + + + } +} diff --git a/src/benchmarks/coreclr/BenchmarksGame/Inputs/RegexReduxHelpers.cs b/src/benchmarks/coreclr/BenchmarksGame/Inputs/RegexReduxHelpers.cs new file mode 100644 index 00000000000..e85d410e3d0 --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/Inputs/RegexReduxHelpers.cs @@ -0,0 +1,33 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Helper functionality to locate inputs and find outputs for +// regex-redux benchmark in CoreCLR test harness + +using System; +using System.IO; +using System.Text; + +namespace BenchmarksGame +{ + class RegexReduxHelpers + { + public string InputFile; + public int ExpectedLength; + + public RegexReduxHelpers(bool bigInput) + { + if (bigInput) + { + InputFile = InputFileHelper.FindInputFile("regexdna-input25000.txt"); + ExpectedLength = 136381; + } + else + { + InputFile = InputFileHelper.FindInputFile("regexdna-input25.txt"); + ExpectedLength = 152; + } + } + } +} diff --git a/src/benchmarks/coreclr/BenchmarksGame/Inputs/ReverseComplementHelpers.cs b/src/benchmarks/coreclr/BenchmarksGame/Inputs/ReverseComplementHelpers.cs new file mode 100644 index 00000000000..66f5b2bf287 --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/Inputs/ReverseComplementHelpers.cs @@ -0,0 +1,36 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Helper functionality to locate inputs and find outputs for +// reverse-complement benchmark in CoreCLR test harness + +using System; +using System.IO; +using System.Text; + +namespace BenchmarksGame +{ + class ReverseComplementHelpers + { + public string InputFile; + public int FileLength; + public string CheckSum; + + public ReverseComplementHelpers(bool bigInput) + { + if (bigInput) + { + InputFile = InputFileHelper.FindInputFile("revcomp-input25000.txt"); + CheckSum = "61-A4-CC-6D-15-8D-26-77-88-93-4F-E2-29-A2-8D-FB"; + } + else + { + InputFile = InputFileHelper.FindInputFile("revcomp-input25.txt"); + CheckSum = "62-45-8E-09-2E-89-A0-69-8C-17-F5-D8-C7-63-5B-50"; + } + + FileLength = InputFileHelper.GetFileLength(InputFile); + } + } +} diff --git a/src/benchmarks/coreclr/BenchmarksGame/Inputs/knucleotide-input-big.txt b/src/benchmarks/coreclr/BenchmarksGame/Inputs/knucleotide-input-big.txt new file mode 100644 index 00000000000..7af7cbecf94 --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/Inputs/knucleotide-input-big.txt @@ -0,0 +1,33337 @@ +>ONE Homo sapiens alu +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +>TWO IUB ambiguity codes +cttBtatcatatgctaKggNcataaaSatgtaaaDcDRtBggDtctttataattcBgtcg +tactDtDagcctatttSVHtHttKtgtHMaSattgWaHKHttttagacatWatgtRgaaa +NtactMcSMtYtcMgRtacttctWBacgaaatatagScDtttgaagacacatagtVgYgt +cattHWtMMWcStgttaggKtSgaYaaccWStcgBttgcgaMttBYatcWtgacaYcaga +gtaBDtRacttttcWatMttDBcatWtatcttactaBgaYtcttgttttttttYaaScYa +HgtgttNtSatcMtcVaaaStccRcctDaataataStcYtRDSaMtDttgttSagtRRca +tttHatSttMtWgtcgtatSSagactYaaattcaMtWatttaSgYttaRgKaRtccactt +tattRggaMcDaWaWagttttgacatgttctacaaaRaatataataaMttcgDacgaSSt +acaStYRctVaNMtMgtaggcKatcttttattaaaaagVWaHKYagtttttatttaacct +tacgtVtcVaattVMBcttaMtttaStgacttagattWWacVtgWYagWVRctDattBYt +gtttaagaagattattgacVatMaacattVctgtBSgaVtgWWggaKHaatKWcBScSWa +accRVacacaaactaccScattRatatKVtactatatttHttaagtttSKtRtacaaagt +RDttcaaaaWgcacatWaDgtDKacgaacaattacaRNWaatHtttStgttattaaMtgt +tgDcgtMgcatBtgcttcgcgaDWgagctgcgaggggVtaaScNatttacttaatgacag +cccccacatYScaMgtaggtYaNgttctgaMaacNaMRaacaaacaKctacatagYWctg +ttWaaataaaataRattagHacacaagcgKatacBttRttaagtatttccgatctHSaat +actcNttMaagtattMtgRtgaMgcataatHcMtaBSaRattagttgatHtMttaaKagg +YtaaBataSaVatactWtataVWgKgttaaaacagtgcgRatatacatVtHRtVYataSa +KtWaStVcNKHKttactatccctcatgWHatWaRcttactaggatctataDtDHBttata +aaaHgtacVtagaYttYaKcctattcttcttaataNDaaggaaaDYgcggctaaWSctBa +aNtgctggMBaKctaMVKagBaactaWaDaMaccYVtNtaHtVWtKgRtcaaNtYaNacg +gtttNattgVtttctgtBaWgtaattcaagtcaVWtactNggattctttaYtaaagccgc +tcttagHVggaYtgtNcDaVagctctctKgacgtatagYcctRYHDtgBattDaaDgccK +tcHaaStttMcctagtattgcRgWBaVatHaaaataYtgtttagMDMRtaataaggatMt +ttctWgtNtgtgaaaaMaatatRtttMtDgHHtgtcattttcWattRSHcVagaagtacg +ggtaKVattKYagactNaatgtttgKMMgYNtcccgSKttctaStatatNVataYHgtNa +BKRgNacaactgatttcctttaNcgatttctctataScaHtataRagtcRVttacDSDtt +aRtSatacHgtSKacYagttMHtWataggatgactNtatSaNctataVtttRNKtgRacc +tttYtatgttactttttcctttaaacatacaHactMacacggtWataMtBVacRaSaatc +cgtaBVttccagccBcttaRKtgtgcctttttRtgtcagcRttKtaaacKtaaatctcac +aattgcaNtSBaaccgggttattaaBcKatDagttactcttcattVtttHaaggctKKga +tacatcBggScagtVcacattttgaHaDSgHatRMaHWggtatatRgccDttcgtatcga +aacaHtaagttaRatgaVacttagattVKtaaYttaaatcaNatccRttRRaMScNaaaD +gttVHWgtcHaaHgacVaWtgttScactaagSgttatcttagggDtaccagWattWtRtg +ttHWHacgattBtgVcaYatcggttgagKcWtKKcaVtgaYgWctgYggVctgtHgaNcV +taBtWaaYatcDRaaRtSctgaHaYRttagatMatgcatttNattaDttaattgttctaa +ccctcccctagaWBtttHtBccttagaVaatMcBHagaVcWcagBVttcBtaYMccagat +gaaaaHctctaacgttagNWRtcggattNatcRaNHttcagtKttttgWatWttcSaNgg +gaWtactKKMaacatKatacNattgctWtatctaVgagctatgtRaHtYcWcttagccaa +tYttWttaWSSttaHcaaaaagVacVgtaVaRMgattaVcDactttcHHggHRtgNcctt +tYatcatKgctcctctatVcaaaaKaaaagtatatctgMtWtaaaacaStttMtcgactt +taSatcgDataaactaaacaagtaaVctaggaSccaatMVtaaSKNVattttgHccatca +cBVctgcaVatVttRtactgtVcaattHgtaaattaaattttYtatattaaRSgYtgBag +aHSBDgtagcacRHtYcBgtcacttacactaYcgctWtattgSHtSatcataaatataHt +cgtYaaMNgBaatttaRgaMaatatttBtttaaaHHKaatctgatWatYaacttMctctt +ttVctagctDaaagtaVaKaKRtaacBgtatccaaccactHHaagaagaaggaNaaatBW +attccgStaMSaMatBttgcatgRSacgttVVtaaDMtcSgVatWcaSatcttttVatag +ttactttacgatcaccNtaDVgSRcgVcgtgaacgaNtaNatatagtHtMgtHcMtagaa +attBgtataRaaaacaYKgtRccYtatgaagtaataKgtaaMttgaaRVatgcagaKStc +tHNaaatctBBtcttaYaBWHgtVtgacagcaRcataWctcaBcYacYgatDgtDHccta +aagacYRcaggattHaYgtKtaatgcVcaataMYacccatatcacgWDBtgaatcBaata +cKcttRaRtgatgaBDacggtaattaaYtataStgVHDtDctgactcaaatKtacaatgc +gYatBtRaDatHaactgtttatatDttttaaaKVccYcaaccNcBcgHaaVcattHctcg +attaaatBtatgcaaaaatYMctSactHatacgaWacattacMBgHttcgaatVaaaaca +BatatVtctgaaaaWtctRacgBMaatSgRgtgtcgactatcRtattaScctaStagKga +DcWgtYtDDWKRgRtHatRtggtcgaHgggcgtattaMgtcagccaBggWVcWctVaaat +tcgNaatcKWagcNaHtgaaaSaaagctcYctttRVtaaaatNtataaccKtaRgtttaM +tgtKaBtRtNaggaSattHatatWactcagtgtactaKctatttgRYYatKatgtccgtR +tttttatttaatatVgKtttgtatgtNtataRatWYNgtRtHggtaaKaYtKSDcatcKg +taaYatcSRctaVtSMWtVtRWHatttagataDtVggacagVcgKWagBgatBtaaagNc +aRtagcataBggactaacacRctKgttaatcctHgDgttKHHagttgttaatgHBtatHc +DaagtVaBaRccctVgtgDtacRHSctaagagcggWYaBtSaKtHBtaaactYacgNKBa +VYgtaacttagtVttcttaatgtBtatMtMtttaattaatBWccatRtttcatagVgMMt +agctStKctaMactacDNYgKYHgaWcgaHgagattacVgtttgtRaSttaWaVgataat +gtgtYtaStattattMtNgWtgttKaccaatagNYttattcgtatHcWtctaaaNVYKKt +tWtggcDtcgaagtNcagatacgcattaagaccWctgcagcttggNSgaNcHggatgtVt +catNtRaaBNcHVagagaaBtaaSggDaatWaatRccaVgggStctDaacataKttKatt +tggacYtattcSatcttagcaatgaVBMcttDattctYaaRgatgcattttNgVHtKcYR +aatRKctgtaaacRatVSagctgtWacBtKVatctgttttKcgtctaaDcaagtatcSat +aWVgcKKataWaYttcccSaatgaaaacccWgcRctWatNcWtBRttYaattataaNgac +acaatagtttVNtataNaYtaatRaVWKtBatKagtaatataDaNaaaaataMtaagaaS +tccBcaatNgaataWtHaNactgtcDtRcYaaVaaaaaDgtttRatctatgHtgttKtga +aNSgatactttcgagWaaatctKaaDaRttgtggKKagcDgataaattgSaacWaVtaNM +acKtcaDaaatttctRaaVcagNacaScRBatatctRatcctaNatWgRtcDcSaWSgtt +RtKaRtMtKaatgttBHcYaaBtgatSgaSWaScMgatNtctcctatttctYtatMatMt +RRtSaattaMtagaaaaStcgVgRttSVaScagtgDtttatcatcatacRcatatDctta +tcatVRtttataaHtattcYtcaaaatactttgVctagtaaYttagatagtSYacKaaac +gaaKtaaatagataatSatatgaaatSgKtaatVtttatcctgKHaatHattagaaccgt +YaaHactRcggSBNgtgctaaBagBttgtRttaaattYtVRaaaattgtaatVatttctc +ttcatgBcVgtgKgaHaaatattYatagWacNctgaaMcgaattStagWaSgtaaKagtt +ttaagaDgatKcctgtaHtcatggKttVDatcaaggtYcgccagNgtgcVttttagagat +gctaccacggggtNttttaSHaNtatNcctcatSaaVgtactgBHtagcaYggYVKNgta +KBcRttgaWatgaatVtagtcgattYgatgtaatttacDacSctgctaaaStttaWMagD +aaatcaVYctccgggcgaVtaaWtStaKMgDtttcaaMtVgBaatccagNaaatcYRMBg +gttWtaaScKttMWtYataRaDBMaDataatHBcacDaaKDactaMgagttDattaHatH +taYatDtattDcRNStgaatattSDttggtattaaNSYacttcDMgYgBatWtaMagact +VWttctttgYMaYaacRgHWaattgRtaagcattctMKVStatactacHVtatgatcBtV +NataaBttYtSttacKgggWgYDtgaVtYgatDaacattYgatggtRDaVDttNactaSa +MtgNttaacaaSaBStcDctaccacagacgcaHatMataWKYtaYattMcaMtgSttDag +cHacgatcaHttYaKHggagttccgatYcaatgatRaVRcaagatcagtatggScctata +ttaNtagcgacgtgKaaWaactSgagtMYtcttccaKtStaacggMtaagNttattatcg +tctaRcactctctDtaacWYtgaYaSaagaWtNtatttRacatgNaatgttattgWDDcN +aHcctgaaHacSgaataaRaataMHttatMtgaSDSKatatHHaNtacagtccaYatWtc +actaactatKDacSaStcggataHgYatagKtaatKagStaNgtatactatggRHacttg +tattatgtDVagDVaRctacMYattDgtttYgtctatggtKaRSttRccRtaaccttaga +gRatagSaaMaacgcaNtatgaaatcaRaagataatagatactcHaaYKBctccaagaRa +BaStNagataggcgaatgaMtagaatgtcaKttaaatgtaWcaBttaatRcggtgNcaca +aKtttScRtWtgcatagtttWYaagBttDKgcctttatMggNttattBtctagVtacata +aaYttacacaaRttcYtWttgHcaYYtaMgBaBatctNgcDtNttacgacDcgataaSat +YaSttWtcctatKaatgcagHaVaacgctgcatDtgttaSataaaaYSNttatagtaNYt +aDaaaNtggggacttaBggcHgcgtNtaaMcctggtVtaKcgNacNtatVaSWctWtgaW +cggNaBagctctgaYataMgaagatBSttctatacttgtgtKtaattttRagtDtacata +tatatgatNHVgBMtKtaKaNttDHaagatactHaccHtcatttaaagttVaMcNgHata +tKtaNtgYMccttatcaaNagctggacStttcNtggcaVtattactHaSttatgNMVatt +MMDtMactattattgWMSgtHBttStStgatatRaDaagattttctatMtaaaaaggtac +taaVttaSacNaatactgMttgacHaHRttgMacaaaatagttaatatWKRgacDgaRta +tatttattatcYttaWtgtBRtWatgHaaattHataagtVaDtWaVaWtgStcgtMSgaS +RgMKtaaataVacataatgtaSaatttagtcgaaHtaKaatgcacatcggRaggSKctDc +agtcSttcccStYtccRtctctYtcaaKcgagtaMttttcRaYDttgttatctaatcata +NctctgctatcaMatactataggDaHaaSttMtaDtcNatataattctMcStaaBYtaNa +gatgtaatHagagSttgWHVcttatKaYgDctcttggtgttMcRaVgSgggtagacaata +aDtaattSaDaNaHaBctattgNtaccaaRgaVtKNtaaYggHtaKKgHcatctWtctDt +ttctttggSDtNtaStagttataaacaattgcaBaBWggHgcaaaBtYgctaatgaaatW +cDcttHtcMtWWattBHatcatcaaatctKMagtDNatttWaBtHaaaNgMttaaStagt +tctctaatDtcRVaYttgttMtRtgtcaSaaYVgSWDRtaatagctcagDgcWWaaaBaa +RaBctgVgggNgDWStNaNBKcBctaaKtttDcttBaaggBttgaccatgaaaNgttttt +tttatctatgttataccaaDRaaSagtaVtDtcaWatBtacattaWacttaSgtattggD +gKaaatScaattacgWcagKHaaccaYcRcaRttaDttRtttHgaHVggcttBaRgtccc +tDatKaVtKtcRgYtaKttacgtatBtStaagcaattaagaRgBagSaattccSWYttta +ttVaataNctgHgttaaNBgcVYgtRtcccagWNaaaacaDNaBcaaaaRVtcWMgBagM +tttattacgDacttBtactatcattggaaatVccggttRttcatagttVYcatYaSHaHc +ttaaagcNWaHataaaRWtctVtRYtagHtaaaYMataHYtNBctNtKaatattStgaMc +BtRgctaKtgcScSttDgYatcVtggaaKtaagatWccHccgKYctaNNctacaWctttt +gcRtgtVcgaKttcMRHgctaHtVaataaDtatgKDcttatBtDttggNtacttttMtga +acRattaaNagaactcaaaBBVtcDtcgaStaDctgaaaSgttMaDtcgttcaccaaaag +gWtcKcgSMtcDtatgtttStaaBtatagDcatYatWtaaaBacaKgcaDatgRggaaYc +taRtccagattDaWtttggacBaVcHtHtaacDacYgtaatataMagaatgHMatcttat +acgtatttttatattacHactgttataMgStYaattYaccaattgagtcaaattaYtgta +tcatgMcaDcgggtcttDtKgcatgWRtataatatRacacNRBttcHtBgcRttgtgcgt +catacMtttBctatctBaatcattMttMYgattaaVYatgDaatVagtattDacaacDMa +tcMtHcccataagatgBggaccattVWtRtSacatgctcaaggggYtttDtaaNgNtaaB +atggaatgtctRtaBgBtcNYatatNRtagaacMgagSaSDDSaDcctRagtVWSHtVSR +ggaacaBVaccgtttaStagaacaMtactccagtttVctaaRaaHttNcttagcaattta +ttaatRtaaaatctaacDaBttggSagagctacHtaaRWgattcaaBtctRtSHaNtgta +cattVcaHaNaagtataccacaWtaRtaaVKgMYaWgttaKggKMtKcgWatcaDatYtK +SttgtacgaccNctSaattcDcatcttcaaaDKttacHtggttHggRRaRcaWacaMtBW +VHSHgaaMcKattgtaRWttScNattBBatYtaNRgcggaagacHSaattRtttcYgacc +BRccMacccKgatgaacttcgDgHcaaaaaRtatatDtatYVtttttHgSHaSaatagct +NYtaHYaVYttattNtttgaaaYtaKttWtctaNtgagaaaNctNDctaaHgttagDcRt +tatagccBaacgcaRBtRctRtggtaMYYttWtgataatcgaataattattataVaaaaa +ttacNRVYcaaMacNatRttcKatMctgaagactaattataaYgcKcaSYaatMNctcaa +cgtgatttttBacNtgatDccaattattKWWcattttatatatgatBcDtaaaagttgaa +VtaHtaHHtBtataRBgtgDtaataMttRtDgDcttattNtggtctatctaaBcatctaR +atgNacWtaatgaagtcMNaacNgHttatactaWgcNtaStaRgttaaHacccgaYStac +aaaatWggaYaWgaattattcMaactcBKaaaRVNcaNRDcYcgaBctKaacaaaaaSgc +tccYBBHYaVagaatagaaaacagYtctVccaMtcgtttVatcaatttDRtgWctagtac +RttMctgtDctttcKtWttttataaatgVttgBKtgtKWDaWagMtaaagaaattDVtag +gttacatcatttatgtcgMHaVcttaBtVRtcgtaYgBRHatttHgaBcKaYWaatcNSc +tagtaaaaatttacaatcactSWacgtaatgKttWattagttttNaggtctcaagtcact +attcttctaagKggaataMgtttcataagataaaaatagattatDgcBVHWgaBKttDgc +atRHaagcaYcRaattattatgtMatatattgHDtcaDtcaaaHctStattaatHaccga +cNattgatatattttgtgtDtRatagSacaMtcRtcattcccgacacSattgttKaWatt +NHcaacttccgtttSRtgtctgDcgctcaaMagVtBctBMcMcWtgtaacgactctcttR +ggRKSttgYtYatDccagttDgaKccacgVatWcataVaaagaataMgtgataaKYaaat +cHDaacgataYctRtcYatcgcaMgtNttaBttttgatttaRtStgcaacaaaataccVg +aaDgtVgDcStctatatttattaaaaRKDatagaaagaKaaYYcaYSgKStctccSttac +agtcNactttDVttagaaagMHttRaNcSaRaMgBttattggtttaRMggatggcKDgWR +tNaataataWKKacttcKWaaagNaBttaBatMHtccattaacttccccYtcBcYRtaga +ttaagctaaYBDttaNtgaaaccHcaRMtKtaaHMcNBttaNaNcVcgVttWNtDaBatg +ataaVtcWKcttRggWatcattgaRagHgaattNtatttctctattaattaatgaDaaMa +tacgttgggcHaYVaaNaDDttHtcaaHtcVVDgBVagcMacgtgttaaBRNtatRtcag +taagaggtttaagacaVaaggttaWatctccgtVtaDtcDatttccVatgtacNtttccg +tHttatKgScBatgtVgHtYcWagcaKtaMYaaHgtaattaSaHcgcagtWNaatNccNN +YcacgVaagaRacttctcattcccRtgtgtaattagcSttaaStWaMtctNNcSMacatt +ataaactaDgtatWgtagtttaagaaaattgtagtNagtcaataaatttgatMMYactaa +tatcggBWDtVcYttcDHtVttatacYaRgaMaacaStaatcRttttVtagaDtcacWat +ttWtgaaaagaaagNRacDtttStVatBaDNtaactatatcBSMcccaSttccggaMatg +attaaWatKMaBaBatttgataNctgttKtVaagtcagScgaaaDggaWgtgttttKtWt +atttHaatgtagttcactaaKMagttSYBtKtaYgaactcagagRtatagtVtatcaaaW +YagcgNtaDagtacNSaaYDgatBgtcgataacYDtaaactacagWDcYKaagtttatta +gcatcgagttKcatDaattgattatDtcagRtWSKtcgNtMaaaaacaMttKcaWcaaSV +MaaaccagMVtaMaDtMaHaBgaacataBBVtaatVYaNSWcSgNtDNaaKacacBttta +tKtgtttcaaHaMctcagtaacgtcgYtactDcgcctaNgagagcYgatattttaaattt +ccattttacatttDaaRctattttWctttacgtDatYtttcagacgcaaVttagtaaKaa +aRtgVtccataBggacttatttgtttaWNtgttVWtaWNVDaattgtatttBaagcBtaa +BttaaVatcHcaVgacattccNggtcgacKttaaaRtagRtctWagaYggtgMtataatM +tgaaRttattttgWcttNtDRRgMDKacagaaaaggaaaRStcccagtYccVattaNaaK +StNWtgacaVtagaagcttSaaDtcacaacgDYacWDYtgtttKatcVtgcMaDaSKStV +cgtagaaWaKaagtttcHaHgMgMtctataagBtKaaaKKcactggagRRttaagaBaaN +atVVcgRcKSttDaactagtSttSattgttgaaRYatggttVttaataaHttccaagDtg +atNWtaagHtgcYtaactRgcaatgMgtgtRaatRaNaacHKtagactactggaatttcg +ccataacgMctRgatgttaccctaHgtgWaYcactcacYaattcttaBtgacttaaacct +gYgaWatgBttcttVttcgttWttMcNYgtaaaatctYgMgaaattacNgaHgaacDVVM +tttggtHtctaaRgtacagacgHtVtaBMNBgattagcttaRcttacaHcRctgttcaaD +BggttKaacatgKtttYataVaNattccgMcgcgtagtRaVVaattaKaatggttRgaMc +agtatcWBttNtHagctaatctagaaNaaacaYBctatcgcVctBtgcaaagDgttVtga +HtactSNYtaaNccatgtgDacgaVtDcgKaRtacDcttgctaagggcagMDagggtBWR +tttSgccttttttaacgtcHctaVtVDtagatcaNMaVtcVacatHctDWNaataRgcgt +aVHaggtaaaaSgtttMtattDgBtctgatSgtRagagYtctSaKWaataMgattRKtaa +catttYcgtaacacattRWtBtcggtaaatMtaaacBatttctKagtcDtttgcBtKYYB +aKttctVttgttaDtgattttcttccacttgSaaacggaaaNDaattcYNNaWcgaaYat +tttMgcBtcatRtgtaaagatgaWtgaccaYBHgaatagataVVtHtttVgYBtMctaMt +cctgaDcYttgtccaaaRNtacagcMctKaaaggatttacatgtttaaWSaYaKttBtag +DacactagctMtttNaKtctttcNcSattNacttggaacaatDagtattRtgSHaataat +gccVgacccgatactatccctgtRctttgagaSgatcatatcgDcagWaaHSgctYYWta +tHttggttctttatVattatcgactaagtgtagcatVgtgHMtttgtttcgttaKattcM +atttgtttWcaaStNatgtHcaaaDtaagBaKBtRgaBgDtSagtatMtaacYaatYtVc +KatgtgcaacVaaaatactKcRgtaYtgtNgBBNcKtcttaccttKgaRaYcaNKtactt +tgagSBtgtRagaNgcaaaNcacagtVtttHWatgttaNatBgtttaatNgVtctgaata +tcaRtattcttttttttRaaKcRStctcggDgKagattaMaaaKtcaHacttaataataK +taRgDtKVBttttcgtKaggHHcatgttagHggttNctcgtatKKagVagRaaaggaaBt +NatttVKcRttaHctaHtcaaatgtaggHccaBataNaNaggttgcWaatctgatYcaaa +HaatWtaVgaaBttagtaagaKKtaaaKtRHatMaDBtBctagcatWtatttgWttVaaa +ScMNattRactttgtYtttaaaagtaagtMtaMaSttMBtatgaBtttaKtgaatgagYg +tNNacMtcNRacMMHcttWtgtRtctttaacaacattattcYaMagBaacYttMatcttK +cRMtgMNccattaRttNatHaHNaSaaHMacacaVaatacaKaSttHatattMtVatWga +ttttttaYctttKttHgScWaacgHtttcaVaaMgaacagNatcgttaacaaaaagtaca +HBNaattgttKtcttVttaaBtctgctacgBgcWtttcaggacacatMgacatcccagcg +gMgaVKaBattgacttaatgacacacaaaaaatRKaaBctacgtRaDcgtagcVBaacDS +BHaaaaSacatatacagacRNatcttNaaVtaaaataHattagtaaaaSWccgtatWatg +gDttaactattgcccatcttHaSgYataBttBaactattBtcHtgatcaataSttaBtat +KSHYttWggtcYtttBttaataccRgVatStaHaKagaatNtagRMNgtcttYaaSaact +cagDSgagaaYtMttDtMRVgWKWtgMaKtKaDttttgactatacataatcNtatNaHat +tVagacgYgatatatttttgtStWaaatctWaMgagaRttRatacgStgattcttaagaD +taWccaaatRcagcagaaNKagtaaDggcgccBtYtagSBMtactaaataMataBSacRM +gDgattMMgtcHtcaYDtRaDaacggttDaggcMtttatgttaNctaattaVacgaaMMt +aatDccSgtattgaRtWWaccaccgagtactMcgVNgctDctaMScatagcgtcaactat +acRacgHRttgctatttaatgaattataYKttgtaagWgtYttgcHgMtaMattWaWVta +RgcttgYgttBHtYataSccStBtgtagMgtDtggcVaaSBaatagDttgBgtctttctc +attttaNagtHKtaMWcYactVcgcgtatMVtttRacVagDaatcttgctBBcRDgcaac +KttgatSKtYtagBMagaRtcgBattHcBWcaactgatttaatttWDccatttatcgagS +KaWttataHactaHMttaatHtggaHtHagaatgtKtaaRactgtttMatacgatcaagD +gatKaDctataMggtHDtggHacctttRtatcttYattttgacttgaaSaataaatYcgB +aaaaccgNatVBttMacHaKaataagtatKgtcaagactcttaHttcggaattgttDtct +aaccHttttWaaatgaaatataaaWattccYDtKtaaaacggtgaggWVtctattagtga +ctattaagtMgtttaagcatttgSgaaatatccHaaggMaaaattttcWtatKctagDtY +tMcctagagHcactttactatacaaacattaacttaHatcVMYattYgVgtMttaaRtga +aataaDatcaHgtHHatKcDYaatcttMtNcgatYatgSaMaNtcttKcWataScKggta +tcttacgcttWaaagNatgMgHtctttNtaacVtgttcMaaRatccggggactcMtttaY +MtcWRgNctgNccKatcttgYDcMgattNYaRagatHaaHgKctcataRDttacatBatc +cattgDWttatttaWgtcggagaaaaatacaatacSNtgggtttccttacSMaagBatta +caMaNcactMttatgaRBacYcYtcaaaWtagctSaacttWgDMHgaggatgBVgcHaDt +ggaactttggtcNatNgtaKaBcccaNtaagttBaacagtatacDYttcctNgWgcgSMc +acatStctHatgRcNcgtacacaatRttMggaNKKggataaaSaYcMVcMgtaMaHtgat +tYMatYcggtcttcctHtcDccgtgRatcattgcgccgatatMaaYaataaYSggatagc +gcBtNtaaaScaKgttBgagVagttaKagagtatVaactaSacWactSaKatWccaKaaa +atBKgaaKtDMattttgtaaatcRctMatcaaMagMttDgVatggMaaWgttcgaWatga +aatttgRtYtattaWHKcRgctacatKttctaccaaHttRatctaYattaaWatVNccat +NgagtcKttKataStRaatatattcctRWatDctVagttYDgSBaatYgttttgtVaatt +taatagcagMatRaacttBctattgtMagagattaaactaMatVtHtaaatctRgaaaaa +aaatttWacaacaYccYDSaattMatgaccKtaBKWBattgtcaagcHKaagttMMtaat +ttcKcMagNaaKagattggMagaggtaatttYacatcWaaDgatMgKHacMacgcVaaca +DtaDatatYggttBcgtatgWgaSatttgtagaHYRVacaRtctHaaRtatgaactaata +tctSSBgggaaHMWtcaagatKgagtDaSatagttgattVRatNtctMtcSaagaSHaat +aNataataRaaRgattctttaataaagWaRHcYgcatgtWRcttgaaggaMcaataBRaa +ccagStaaacNtttcaatataYtaatatgHaDgcStcWttaacctaRgtYaRtataKtgM +ttttatgactaaaatttacYatcccRWtttHRtattaaatgtttatatttgttYaatMca +RcSVaaDatcgtaYMcatgtagacatgaaattgRtcaaYaaYtRBatKacttataccaNa +aattVaBtctggacaagKaaYaaatatWtMtatcYaaVNtcgHaactBaagKcHgtctac +aatWtaDtSgtaHcataHtactgataNctRgttMtDcDttatHtcgtacatcccaggStt +aBgtcacacWtccNMcNatMVaVgtccDYStatMaccDatggYaRKaaagataRatttHK +tSaaatDgataaacttaHgttgVBtcttVttHgDacgaKatgtatatNYataactctSat +atatattgcHRRYttStggaactHgttttYtttaWtatMcttttctatctDtagVHYgMR +BgtHttcctaatYRttKtaagatggaVRataKDctaMtKBNtMtHNtWtttYcVtattMc +gRaacMcctNSctcatttaaagDcaHtYccSgatgcaatYaaaaDcttcgtaWtaattct +cgttttScttggtaatctttYgtctaactKataHacctMctcttacHtKataacacagcN +RatgKatttttSaaatRYcgDttaMRcgaaattactMtgcgtaagcgttatBtttttaat +taagtNacatHgttcRgacKcBBtVgatKttcgaBaatactDRgtRtgaNacWtcacYtt +aaKcgttctHaKttaNaMgWgWaggtctRgaKgWttSttBtDcNtgtttacaaatYcDRt +gVtgcctattcNtctaaaDMNttttNtggctgagaVctDaacVtWccaagtaacacaNct +gaScattccDHcVBatcgatgtMtaatBgHaatDctMYgagaatgYWKcctaatNaStHa +aaKccgHgcgtYaaYtattgtStgtgcaaRtattaKatattagaWVtcaMtBagttatta +gNaWHcVgcaattttDcMtgtaRHVYtHtctgtaaaaHVtMKacatcgNaatttMatatg +ttgttactagWYtaRacgataKagYNKcattataNaRtgaacKaYgcaaYYacaNccHat +MatDcNgtHttRaWttagaaDcaaaaaatagggtKDtStaDaRtaVtHWKNtgtattVct +SVgRgataDaRaWataBgaagaaKtaataaYgDcaStaNgtaDaaggtattHaRaWMYaY +aWtggttHYgagVtgtgcttttcaaDKcagVcgttagacNaaWtagtaataDttctggtt +VcatcataaagtgKaaaNaMtaBBaattaatWaattgctHaVKaSgDaaVKaHtatatat +HatcatSBagNgHtatcHYMHgttDgtaHtBttWatcgtttaRaattgStKgSKNWKatc +agDtctcagatttctRtYtBatBgHHtKaWtgYBgacVVWaKtacKcDttKMaKaVcggt +gttataagaataaHaatattagtataatMHgttYgaRttagtaRtcaaVatacggtcMcg +agtaaRttacWgactKRYataaaagSattYaWgagatYagKagatgSaagKgttaatMgg +tataatgttWYttatgagaaacctNVataatHcccKtDctcctaatactggctHggaSag +gRtKHaWaattcgSatMatttagaggcYtctaMcgctcataSatatgRagacNaaDagga +VBagaYttKtacNaKgtSYtagttggaWcatcWttaatctatgaVtcgtgtMtatcaYcg +tRccaaYgDctgcMgtgtWgacWtgataacacgcgctBtgttaKtYDtatDcatcagKaV +MctaatcttgVcaaRgcRMtDcgattaHttcaNatgaatMtactacVgtRgatggaWttt +actaaKatgagSaaKggtaNtactVaYtaaKRagaacccacaMtaaMtKtatBcttgtaa +WBtMctaataaVcDaaYtcRHBtcgttNtaaHatttBNgRStVDattBatVtaagttaYa +tVattaagaBcacggtSgtVtatttaRattgatgtaHDKgcaatattKtggcctatgaWD +KRYcggattgRctatNgatacaatMNttctgtcRBYRaaaHctNYattcHtaWcaattct +BtMKtVgYataatMgYtcagcttMDataVtggRtKtgaatgccNcRttcaMtRgattaac +attRcagcctHtWMtgtDRagaKaBtgDttYaaaaKatKgatctVaaYaacWcgcatagB +VtaNtRtYRaggBaaBtgKgttacataagagcatgtRattccacttaccatRaaatgWgD +aMHaYVgVtaSctatcgKaatatattaDgacccYagtgtaYNaaatKcagtBRgagtcca +tgKgaaaccBgaagBtgSttWtacgatWHaYatcgatttRaaNRgcaNaKVacaNtDgat +tgHVaatcDaagcgtatgcNttaDataatcSataaKcaataaHWataBtttatBtcaKtK +tatagttaDgSaYctacaRatNtaWctSaatatttYaKaKtaccWtatcRagacttaYtt +VcKgSDcgagaagatccHtaattctSttatggtKYgtMaHagVaBRatttctgtRgtcta +tgggtaHKgtHacHtSYacgtacacHatacKaaBaVaccaDtatcSaataaHaagagaat +ScagactataaRttagcaaVcaHataKgDacatWccccaagcaBgagWatctaYttgaaa +tctVNcYtttWagHcgcgcDcVaaatgttKcHtNtcaatagtgtNRaactttttcaatgg +WgBcgDtgVgtttctacMtaaataaaRggaaacWaHttaRtNtgctaaRRtVBctYtVta +tDcattDtgaccYatagatYRKatNYKttNgcctagtaWtgaactaMVaacctgaStttc +tgaKVtaaVaRKDttVtVctaDNtataaaDtccccaagtWtcgatcactDgYaBcatcct +MtVtacDaaBtYtMaKNatNtcaNacgDatYcatcgcaRatWBgaacWttKttagYtaat +tcggttgSWttttDWctttacYtatatWtcatDtMgtBttgRtVDggttaacYtacgtac +atgaattgaaWcttMStaDgtatattgaDtcRBcattSgaaVBRgagccaaKtttcDgcg +aSMtatgWattaKttWtgDBMaggBBttBaatWttRtgcNtHcgttttHtKtcWtagHSt +aacagttgatatBtaWSaWggtaataaMttaKacDaatactcBttcaatatHttcBaaSa +aatYggtaRtatNtHcaatcaHtagVtgtattataNggaMtcttHtNagctaaaggtaga +YctMattNaMVNtcKtactBKcaHHcBttaSagaKacataYgctaKaYgttYcgacWVtt +WtSagcaacatcccHaccKtcttaacgaKttcacKtNtacHtatatRtaaatacactaBt +ttgaHaRttggttWtatYagcatYDatcggagagcWBataagRtacctataRKgtBgatg +aDatataSttagBaHtaatNtaDWcWtgtaattacagKttcNtMagtattaNgtctcgtc +ctcttBaHaKcKccgtRcaaYagSattaagtKataDatatatagtcDtaacaWHcaKttD +gaaRcgtgYttgtcatatNtatttttatggccHtgDtYHtWgttatYaacaattcaWtat +NgctcaaaSttRgctaatcaaatNatcgtttaBtNNVtgttataagcaaagattBacgtD +atttNatttaaaDcBgtaSKgacgtagataatttcHMVNttgttBtDtgtaWKaaRMcKM +tHtaVtagataWctccNNaSWtVaHatctcMgggDgtNHtDaDttatatVWttgttattt +aacctttcacaaggaSaDcggttttttatatVtctgVtaacaStDVaKactaMtttaSNa +gtgaaattaNacttSKctattcctctaSagKcaVttaagNaVcttaVaaRNaHaaHttat +gtHttgtgatMccaggtaDcgaccgtWgtWMtttaHcRtattgScctatttKtaaccaag +tYagaHgtWcHaatgccKNRtttagtMYSgaDatctgtgaWDtccMNcgHgcaaacNDaa +aRaStDWtcaaaaHKtaNBctagBtgtattaactaattttVctagaatggcWSatMaccc +ttHttaSgSgtgMRcatRVKtatctgaaaccDNatYgaaVHNgatMgHRtacttaaaRta +tStRtDtatDttYatattHggaBcttHgcgattgaKcKtttcRataMtcgaVttWacatN +catacctRataDDatVaWNcggttgaHtgtMacVtttaBHtgagVttMaataattatgtt +cttagtttgtgcDtSatttgBtcaacHattaaBagVWcgcaSYttMgcttacYKtVtatc +aYaKctgBatgcgggcYcaaaaacgNtctagKBtattatctttKtaVttatagtaYtRag +NtaYataaVtgaatatcHgcaaRataHtacacatgtaNtgtcgYatWMatttgaactacR +ctaWtWtatacaatctBatatgYtaagtatgtgtatSttactVatcttYtaBcKgRaSgg +RaaaaatgcagtaaaWgtaRgcgataatcBaataccgtatttttccatcNHtatWYgatH +SaaaDHttgctgtccHtggggcctaataatttttctatattYWtcattBtgBRcVttaVM +RSgctaatMagtYtttaaaaatBRtcBttcaaVtaacagctccSaaSttKNtHtKYcagc +agaaaccccRtttttaaDcDtaStatccaagcgctHtatcttaDRYgatDHtWcaaaBcW +gKWHttHataagHacgMNKttMKHccaYcatMVaacgttaKgYcaVaaBtacgcaacttt +MctaaHaatgtBatgagaSatgtatgSRgHgWaVWgataaatatttccKagVgataattW +aHNcYggaaatgctHtKtaDtctaaagtMaatVDVactWtSaaWaaMtaHtaSKtcBRaN +cttStggtBttacNagcatagRgtKtgcgaacaacBcgKaatgataagatgaaaattgta +ctgcgggtccHHWHaaNacaBttNKtKtcaaBatatgctaHNgtKcDWgtttatNgVDHg +accaacWctKaaggHttgaRgYaatHcaBacaatgagcaaattactgtaVaaYaDtagat +tgagNKggtggtgKtWKaatacagDRtatRaMRtgattDggtcaaYRtatttNtagaDtc +acaaSDctDtataatcgtactaHttatacaatYaacaaHttHatHtgcgatRRttNgcat +SVtacWWgaaggagtatVMaVaaattScDDKNcaYBYaDatHgtctatBagcaacaagaa +tgagaaRcataaKNaRtBDatcaaacgcattttttaaBtcSgtacaRggatgtMNaattg +gatatWtgagtattaaaVctgcaYMtatgatttttYgaHtgtcttaagWBttHttgtctt +attDtcgtatWtataataSgctaHagcDVcNtaatcaagtaBDaWaDgtttagYctaNcc +DtaKtaHcttaataacccaRKtacaVaatNgcWRaMgaattatgaBaaagattVYaHMDc +aDHtcRcgYtcttaaaWaaaVKgatacRtttRRKYgaatacaWVacVcRtatMacaBtac +tggMataaattttHggNagSctacHgtBagcgtcgtgattNtttgatSaaggMttctttc +ttNtYNagBtaaacaaatttMgaccttacataattgYtcgacBtVMctgStgMDtagtaR +ctHtatgttcatatVRNWataDKatWcgaaaaagttaaaagcacgHNacgtaatctttMR +tgacttttDacctataaacgaaatatgattagaactccSYtaBctttaataacWgaaaYa +tagatgWttcatKtNgatttttcaagHtaYgaaRaDaagtaggagcttatVtagtctttc +attaaaatcgKtattaRttacagVaDatgcatVgattgggtctttHVtagKaaRBtaHta +aggccccaaaaKatggtttaMWgtBtaaacttcactttKHtcgatctccctaYaBacMgt +cttBaBaNgcgaaacaatctagtHccHtKttcRtRVttccVctttcatacYagMVtMcag +aMaaacaataBctgYtaatRaaagattaaccatVRatHtaRagcgcaBcgDttStttttc +VtttaDtKgcaaWaaaaatSccMcVatgtKgtaKgcgatatgtagtSaaaDttatacaaa +catYaRRcVRHctKtcgacKttaaVctaDaatgttMggRcWaacttttHaDaKaDaBctg +taggcgtttaHBccatccattcNHtDaYtaataMttacggctNVaacDattgatatttta +cVttSaattacaaRtataNDgacVtgaacataVRttttaDtcaaacataYDBtttaatBa +DtttYDaDaMccMttNBttatatgagaaMgaNtattHccNataattcaHagtgaaggDga +tgtatatatgYatgaStcataaBStWacgtcccataRMaaDattggttaaattcMKtctM +acaBSactcggaatDDgatDgcWctaacaccgggaVcacWKVacggtaNatatacctMta +tgatagtgcaKagggVaDtgtaacttggagtcKatatcgMcttRaMagcattaBRaStct +YSggaHYtacaactMBaagDcaBDRaaacMYacaHaattagcattaaaHgcgctaaggSc +cKtgaaKtNaBtatDDcKBSaVtgatVYaagVtctSgMctacgttaacWaaattctSgtD +actaaStaaattgcagBBRVctaatatacctNttMcRggctttMttagacRaHcaBaacV +KgaataHttttMgYgattcYaNRgttMgcVaaacaVVcDHaatttgKtMYgtatBtVVct +WgVtatHtacaaHttcacgatagcagtaaNattBatatatttcVgaDagcggttMaagtc +ScHagaaatgcYNggcgtttttMtStggtRatctacttaaatVVtBacttHNttttaRca +aatcacagHgagagtMgatcSWaNRacagDtatactaaDKaSRtgattctccatSaaRtt +aaYctacacNtaRtaactggatgaccYtacactttaattaattgattYgttcagDtNKtt +agDttaaaaaaaBtttaaNaYWKMBaaaacVcBMtatWtgBatatgaacVtattMtYatM +NYDKNcKgDttDaVtaaaatgggatttctgtaaatWtctcWgtVVagtcgRgacttcccc +taDcacagcRcagagtgtWSatgtacatgttaaSttgtaaHcgatgggMagtgaacttat +RtttaVcaccaWaMgtactaatSSaHtcMgaaYtatcgaaggYgggcgtgaNDtgttMNg +aNDMtaattcgVttttaacatgVatgtWVMatatcaKgaaattcaBcctccWcttgaaWH +tWgHtcgNWgaRgctcBgSgaattgcaaHtgattgtgNagtDttHHgBttaaWcaaWagc +aSaHHtaaaVctRaaMagtaDaatHtDMtcVaWMtagSagcttHSattaacaaagtRacM +tRtctgttagcMtcaBatVKtKtKacgagaSNatSactgtatatcBctgagVtYactgta +aattaaaggcYgDHgtaacatSRDatMMccHatKgttaacgactKtgKagtcttcaaHRV +tccttKgtSataatttacaactggatDNgaacttcaRtVaagDcaWatcBctctHYatHa +DaaatttagYatSatccaWtttagaaatVaacBatHcatcgtacaatatcgcNYRcaata +YaRaYtgattVttgaatgaVaactcRcaNStgtgtattMtgaggtNttBaDRcgaaaagc +tNgBcWaWgtSaDcVtgVaatMKBtttcgtttctaaHctaaagYactgMtatBDtcStga +ccgtSDattYaataHctgggaYYttcggttaWaatctggtRagWMaDagtaacBccacta +cgHWMKaatgatWatcctgHcaBaSctVtcMtgtDttacctaVgatYcWaDRaaaaRtag +atcgaMagtggaRaWctctgMgcWttaagKBRtaaDaaWtctgtaagYMttactaHtaat +cttcataacggcacBtSgcgttNHtgtHccatgttttaaagtatcgaKtMttVcataYBB +aKtaMVaVgtattNDSataHcagtWMtaggtaSaaKgttgBtVtttgttatcatKcgHac +acRtctHatNVagSBgatgHtgaRaSgttRcctaacaaattDNttgacctaaYtBgaaaa +tagttattactcttttgatgtNNtVtgtatMgtcttRttcatttgatgacacttcHSaaa +ccaWWDtWagtaRDDVNacVaRatgttBccttaatHtgtaaacStcVNtcacaSRttcYa +gacagaMMttttgMcNttBcgWBtactgVtaRttctccaaYHBtaaagaBattaYacgat +ttacatctgtaaMKaRYtttttactaaVatWgctBtttDVttctggcDaHaggDaagtcg +aWcaagtagtWttHtgKtVataStccaMcWcaagataagatcactctHatgtcYgaKcat +cagatactaagNSStHcctRRNtattgtccttagttagMVgtatagactaactctVcaat +MctgtttgtgttgccttatWgtaBVtttctggMcaaKgDWtcgtaaYStgSactatttHg +atctgKagtagBtVacRaagRtMctatgggcaaaKaaaatacttcHctaRtgtDcttDat +taggaaatttcYHaRaaBttaatggcacKtgctHVcaDcaaaVDaaaVcgMttgtNagcg +taDWgtcgttaatDgKgagcSatatcSHtagtagttggtgtHaWtaHKtatagctgtVga +ttaBVaatgaataagtaatVatSttaHctttKtttgtagttaccttaatcgtagtcctgB +cgactatttVcMacHaaaggaatgDatggKtaHtgStatattaaSagctWcctccRtata +BaDYcgttgcNaagaggatRaaaYtaWgNtSMcaatttactaacatttaaWttHtatBat +tgtcgacaatNgattgcNgtMaaaKaBDattHacttggtRtttaYaacgVactBtaBaKt +gBttatgVttgtVttcaatcWcNctDBaaBgaDHacBttattNtgtDtatttVSaaacag +gatgcRatSgtaSaNtgBatagttcHBgcBBaaattaHgtDattatDaKaatBaaYaaMa +ataaataKtttYtagtBgMatNcatgtttgaNagtgttgtgKaNaSagtttgaSMaYBca +aaacDStagttVacaaaaactaaWttBaagtctgtgcgtMgtaattctcctacctcaNtt +taaccaaaaVtBcacataacaccccBcWMtatVtggaatgaWtcaaWaaaaaaaaWtDta +atatRcctDWtcctaccMtVVatKttaWaaKaaatataaagScHBagaggBaSMtaWaVt +atattactSaaaKNaactatNatccttgaYctattcaaaVgatttYHcRagattttaSat +aggttattcVtaaagaKgtattattKtRttNcggcRgtgtgtWYtaacHgKatKgatYta +cYagDtWcHBDctctgRaYKaYagcactKcacSaRtBttttBHKcMtNtcBatttatttt +tgSatVgaaagaWtcDtagDatatgMacaacRgatatatgtttgtKtNRaatatNatgYc +aHtgHataacKtgagtagtaacYttaNccaaatHcacaacaVDtagtaYtccagcattNt +acKtBtactaaagaBatVtKaaHBctgStgtBgtatgaSNtgDataaccctgtagcaBgt +gatcttaDataStgaMaccaSBBgWagtacKcgattgaDgNNaaaacacagtSatBacKD +gcgtataBKcatacactaSaatYtYcDaactHttcatRtttaatcaattataRtttgtaa +gMcgNttcatcBtYBagtNWNMtSHcattcRctttttRWgaKacKttgggagBcgttcgc +MaWHtaatactgtctctatttataVgtttaBScttttaBMaNaatMacactYtBMggtHa +cMagtaRtctgcatttaHtcaaaatttgagKtgNtactBacaHtcgtatttctMaSRagc +agttaatgtNtaaattgagagWcKtaNttagVtacgatttgaatttcgRtgtWcVatcgt +taaDVctgtttBWgaccagaaagtcSgtVtatagaBccttttcctaaattgHtatcggRa +ttttcaaggcYSKaagWaWtRactaaaacccBatMtttBaatYtaagaactSttcgaaSc +aatagtattgaccaagtgttttctaacatgtttNVaatcaaagagaaaNattaaRtttta +VaaaccgcaggNMtatattVctcaagaggaacgBgtttaacaagttcKcYaatatactaa +ccBaaaSggttcNtattctagttRtBacgScVctcaatttaatYtaaaaaaatgSaatga +tagaMBRatgRcMcgttgaWHtcaVYgaatYtaatctttYttatRaWtctgBtDcgatNa +tcKaBaDgatgtaNatWKctccgatattaacattNaaacDatgBgttctgtDtaaaMggt +gaBaSHataacgccSctaBtttaRBtcNHcDatcDcctagagtcRtaBgWttDRVHagat +tYatgtatcWtaHtttYcattWtaaagtctNgtStggRNcgcggagSSaaagaaaatYcH +DtcgctttaatgYcKBVSgtattRaYBaDaaatBgtatgaHtaaRaRgcaSWNtagatHa +acttNctBtcaccatctMcatattccaSatttgcgaDagDgtatYtaaaVDtaagtttWV +aagtagYatRttaagDcNgacKBcScagHtattatcDaDactaaaaaYgHttBcgaDttg +gataaaKSRcBMaBcgaBSttcWtgNBatRaccgattcatttataacggHVtaattcaca +agagVttaaRaatVVRKcgWtVgacctgDgYaaHaWtctttcacMagggatVgactagMa +aataKaaNWagKatagNaaWtaaaatttgaattttatttgctaaVgaHatBatcaaBWcB +gttcMatcgBaaNgttcgSNaggSaRtttgHtRtattaNttcDcatSaVttttcgaaaaa +ttgHatctaRaggSaNatMDaaatDcacgattttagaHgHaWtYgattaatHNSttatMS +gggNtcKtYatRggtttgtMWVtttaYtagcagBagHaYagttatatggtBacYcattaR +SataBatMtttaaatctHcaaaSaaaagttNSaaWcWRccRtKaagtBWtcaaattSttM +tattggaaaccttaacgttBtWatttatatWcDaatagattcctScacctaagggRaaYt +aNaatgVtBcttaaBaacaMVaaattatStYgRcctgtactatcMcVKatttcgSgatRH +MaaaHtagtaaHtVgcaaataatatcgKKtgccaatBNgaaWcVttgagttaKatagttc +aggKDatDtattgaKaVcaKtaataDataataHSaHcattagttaatRVYcNaHtaRcaa +ggtNHcgtcaaccaBaaagYtHWaaaRcKgaYaaDttgcWYtataRgaatatgtYtgcKt +aNttWacatYHctRaDtYtattcBttttatcSataYaYgttWaRagcacHMgtttHtYtt +YaatcggtatStttcgtRSattaaDaKMaatatactaNBaWgctacacYtgaYVgtgHta +aaRaaRgHtagtWattataaaSDaaWtgMattatcgaaaagtaYRSaWtSgNtBgagcRY +aMDtactaacttaWgtatctagacaagNtattHggataatYttYatcataDcgHgttBtt +ctttVttgccgaaWtaaaacgKgtatctaaaaaNtccDtaDatBMaMggaatNKtatBaa +atVtccRaHtaSacataHattgtttKVYattcataVaattWtcgtgMttcttKtgtctaa +cVtatctatatBRataactcgKatStatattcatHHRttKtccaacgtgggtgRgtgaMt +attattggctatcgtgacMtRcBDtcttgtactaatRHttttaagatcgVMDStattatY +BtttDttgtBtNttgRcMtYtgBacHaWaBaatDKctaagtgaaactaatgRaaKgatcc +aagNaaaatattaggWNtaagtatacttttKcgtcggSYtcttgRctataYcttatataa +agtatattaatttataVaacacaDHatctatttttKYVatHRactttaBHccaWagtact +BtcacgaVgcgttRtttttttSVgtSagtBaaattctgaHgactcttgMcattttagVta +agaattHctHtcaDaaNtaacRggWatagttcgtSttgaDatcNgNagctagDgatcNtt +KgttgtaDtctttRaaYStRatDtgMggactSttaDtagSaVtBDttgtDgccatcacaM +attaaaMtNacaVcgSWcVaaDatcaHaatgaattaMtatccVtctBtaattgtWattat +BRcWcaatgNNtactWYtDaKttaaatcactcagtRaaRgatggtKgcgccaaHgaggat +StattYcaNMtcaBttacttatgagDaNtaMgaaWtgtttcttctaHtMNgttatctaWW +atMtBtaaatagDVatgtBYtatcggcttaagacMRtaHScgatatYgRDtcattatSDa +HggaaataNgaWSRRaaaBaatagBattaDctttgHWNttacaataaaaaaatacggttt +gHgVtaHtWMttNtBtctagtMcgKMgHgYtataHaNagWtcaacYattaataYRgtaWK +gaBctataaccgatttaHaNBRaRaMtccggtNgacMtctcatttgcaattcWgMactta +caaDaaNtactWatVtttagccttMaatcagVaagtctVaaDaBtattaattaYtNaYtg +gattaKtaKctYaMtattYgatattataatKtVgDcttatatNBtcgttgtStttttMag +aggttaHYSttcKgtcKtDNtataagttataagSgttatDtRttattgttttSNggRtca +aKMNatgaatattgtBWtaMacctgggYgaSgaagYataagattacgagaatBtggtRcV +HtgYggaDgaYaKagWagctatagacgaaHgtWaNgacttHRatVaWacKYtgRVNgVcS +gRWctacatcKSactctgWYtBggtataagcttNRttVtgRcaWaaatDMatYattaact +ttcgaagRatSctgccttgcRKaccHtttSNVagtagHagBagttagaccaRtataBcca +taatSHatRtcHagacBWatagcaMtacaRtgtgaaBatctKRtScttccaNaatcNgta +atatWtcaMgactctBtWtaaNactHaaaaRctcgcatggctMcaaNtcagaaaaacaca +gtggggWttRttagtaagaVctVMtcgaatcttcMaaaHcaHBttcgattatgtcaDagc +YRtBtYcgacMgtDcagcgaNgttaataatagcagKYYtcgtaBtYctMaRtaRtDagaa +aacacatgYaBttgattattcgaaNttBctSataaMataWRgaHtttccgtDgaYtatgg +tDgHKgMtatttVtMtVagttaRatMattRagataaccctKctMtSttgaHagtcStcta +tttccSagatgttccacgaggYNttHRacgattcDatatDcataaaatBBttatcgaHtN +HaaatatDNaggctgaNcaaggagttBttMgRagVatBcRtaWgatgBtSgaKtcgHttt +gaatcaaDaHttcSBgHcagtVaaSttDcagccgttNBtgttHagYtattctttRWaaVt +SttcatatKaaRaaaNacaVtVctMtSDtDtRHRcgtaatgctcttaaatSacacaatcg +HattcaWcttaaaatHaaatcNctWttaNMcMtaKctVtcctaagYgatgatcYaaaRac +tctaRDaYagtaacgtDgaggaaatctcaaacatcaScttcKttNtaccatNtaNataca +tttHaaDHgcaDatMWaaBttcRggctMaagctVYcacgatcaDttatYtaatcKatWat +caatVYtNagatttgattgaYttttYgacttVtcKaRagaaaHVgDtaMatKYagagttN +atWttaccNtYtcDWgSatgaRgtMatgKtcgacaagWtacttaagtcgKtgatccttNc +ttatagMatHVggtagcgHctatagccctYttggtaattKNaacgaaYatatVctaataM +aaaYtgVtcKaYtaataacagaatHcacVagatYWHttagaaSMaatWtYtgtaaagNaa +acaVgaWtcacNWgataNttcaSagctMDaRttgNactaccgataMaaatgtttattDtc +aagacgctDHYYatggttcaagccNctccttcMctttagacBtaaWtaWVHggaaaaNat +ttaDtDtgctaaHHtMtatNtMtagtcatttgcaaaRatacagRHtatDNtgtDgaatVg +tVNtcaaatYBMaaaagcaKgtgatgatMgWWMaHttttMgMagatDtataaattaacca +actMtacataaattgRataatacgBtKtaataattRgtatDagDtcRDacctatRcagag +cSHatNtcaScNtttggacNtaaggaccgtgKNttgttNcttgaaRgYgRtNtcagttBc +ttttcHtKtgcttYaaNgYagtaaatgaatggWaMattBHtatctatSgtcYtgcHtaat +tHgaaMtHcagaaSatggtatgccaHBtYtcNattWtgtNgctttaggtttgtWatNtgH +tgcDttactttttttgcNtactKtWRaVcttcatagtgSNKaNccgaataaBttataata +YtSagctttaaatSttggctaaKSaatRccgWHgagDttaaatcatgagMtcgagtVtaD +ggaBtatttgDacataaacgtagYRagBWtgDStKDgatgaagttcattatttaKWcata +aatWRgatataRgttRacaaNKttNtKagaaYaStaactScattattaacgatttaaatg +DtaattagatHgaYataaactatggggatVHtgccgtNgatNYcaStRtagaccacWcaM +tatRagHgVactYtWHtcttcatgatWgagaKggagtatgaWtDtVtNaNtcgYYgtaaa +ctttaDtBactagtaDctatagtaatatttatatataacgHaaaRagKattSagttYtSt +atatatagtcttaaaaMtcatgttcaaDactgRttctaagagDtatttttagcgacttgt +gRtgNctgSgRaaaaatgcaMtYtDcatcaaYKttHcatSWgaaaatDataggttatgBD +MtgttataacaaYSgagttacgttatgtDStttaaatctcgWKtcSacgagagaSgttat +BMDgtcggtgtgcgaNtaSHBatBtttVMgVcagaNatcaDDaKMtMYtatagaBccctc +tDtgtatttatatKNtgggtatgtRaacttgaWaaYgcaHatccctggtttStatMtcgc +MtaaaWKttMVtWctVtgttaKDWctgWaVttaDVatgKtagagtcatctaKWgtaaMtt +SacBaMattaKaaHDataattgWtgttttgtcatBacacgtStacaaagtNctNtgtgat +cHtWttcKaagagttttaaaaWacgRacatctNatVStgaatDHgttWcgtRKcatatat +ctcaNttaaBDcctgaaaaaDtaYaHaKttNtaYVaVtttaDtctacttctWttaactaa +ttttMagWcaatcccNKYtBaacatgttgaKgKcgcBHaatDMttatatcSWacatDatR +cWaMtDgatBctHgScttaaaHtSgKtDtttattgtRStWgttccatatttcacWttcat +attgtaHVgaBtacaMtgMaaagDaataactDatattagMaNBagcttcattcgtaaKtg +tatttcacMtgBaVtaattStcttagtYgtgtcgccttKatgggtgaWaataggaatacM +MagaSKRttBgatgacRtgMtagaSRataggtatcaccgaNaaaWSWacDgatacttgat +tagcttgtgVMttatYctaRgHVcDtVRRtSaMtcaVtVtatcaYaHatattaaVaatct +aBtgtacRatNtatttgaYatSaHctaNgNtYtYaYagattVgatcRtaacgYggtgtat +KttaatMagatgRtatatgHaKccHaaaaYtgaacgaWaNgtYHgacagaYtctaVtacc +cgatttttaaagcDttatNRgattKaaattttcatctaatgccgcaataataattgttat +YtagtRNtaagttggtHaKttWMtDKgatSagBYcgRggtWaVaattHtatgtaaaMgSa +aagataaKaaKgttDttttRaagaacaWRcaacDgtgttaatattaKtatcaWacacatt +tVtctgatHRcagtttNcaaatcNctNttttataactWacBBttgBttaaaRaWtBKaaa +cgtatcRcaMaatgYacaaaagtgBataStWYtggtatgacaKWtctSgcKHgtcNaMNc +ataSatattgactacMcataattNVtDaRccaaatcagttttYttagYaacgtaatMtMV +atNgKaaMaaBgattaKttatDaBcttKtccttttacDagaYtacHgttggacaaaVaat +agtYatcataSgatcaaWVttcgaatgaccctccttNtaSBWaatttDttttcaatatYg +gctatDcttatNctttagDcMttcaacWaaNattSYgctttcaHcRaattaataaaatcV +ccRaattactctaMaVRattacagtgRcDtcgtgctcttNtWVtacagtHtatHaBDtcW +ggtgctcaaRHtatgtDgacStgcaaaVKtagttataatactaatatgtagScaatRSac +aattgtattgcagatHHtgBcaatKKtaaMMcaRcgactatKBaMaYatgKatttDaaNt +RatattgtatWttagcaaaaacaWgcacaaHcataYtDaHgttataaSacgcagggggtY +atgcKctaaaHgcVgctBDaVttccStagNgcSgtatgVYaMatcaWRBtVtgYttgtgR +cYttcgctgaacNttgtgtctattWttttcctagMtagaWtaKgatStScatMaBtaSta +SactattYNatctgtacRatYDaatgatgatatgaatYaaaaSHttaaYMaWtDcaNHaB +caYtgVgcatVaacattMRatBtaatttaDacRtagtaaaNYVSMtcagaaDtttDHtRc +YatacSNKaaMcHgatBaaVttactggBYgaYatttttgcDacHctWatcgtagagtact +cattDggtcatKaSgctttatttagtDtRBacttaWYaaaattttgaccttaaWtaatgc +RgccacttMtaggKtcBtgacgaHctttatcgtcStatMHDNagattatNagVaaaWcgg +aaaYcaVactDYactaStattgBHtcYctgggtacatataaYcgaYagaggaggacaVat +acHRtYtctgtaVgaYcNgaaaNatacVgcNgtaatttDcatttttcaacttSNcaaDat +VYctSgcaccttagMgacgcttgaSttaaaatagttaggRHttaaacMatagcaWgMgag +tcgctagtgtKgactaaHttattaWgcaaaaaaSatatgcgttaBNggttaYVatgaact +ttttgccatataaataRatSaBctagttataBccgaaacaagatacttaattttgaHgHM +gtaaKctttaYtaaRacBMtBaYgaBaaacaYtVtagcRgWatHaWagattWSacStMHa +tttaDagacaatcgtgtKtttggaMtgtWtgtgcaaNaaaaWtKaaBcMWtcttctatga +cVgagcgaggHaYYtttWgSaaYYaWtRYHHaMDtctttacaatggaaMctataagcttB +cgHcNWaatttgtatatYtStatctagcactgtVttccagaaattaDtttaRtVataBtt +WagcatDMVactYtgcatWtttgaaMggKaatgaaaaHtataDtgYcMggVaaatSMHtt +tgVttaYaWaataRttgttaYttattttRtWtataaBgtDtttatatcVgaaBcaDtatg +tcaDagaWtgaYtWctcVagctcagctatatagcRVtcaKtaataatHgNaccgaaaatV +HBaatattcgttaVYttatttctBYaatKaagaccVStttcattgaMagSaaaaccccWK +caaNtMYacctaDStagaaatttatcatVgtcaatacccKattgtaaagtggWgtatatV +tagBcttDaBacaattWtDYKtatRKggStRtaaaWatBtaagtaattDaaaaBRacWta +agtacaSttaaatccgctaaccKaattgVWttDattatttattKaMtcYtMRWagMtcgK +gBagacgggVaaNaaatgctKcgtaataaKtaaagtccWcttHMatSYgataaatDttBa +HccattgBttSgaaHYtaataaaMtgaagatgtttBgRcattaRaDHcttBgaMaWaaVM +MattaatttgtgBRctattgKMagNcMtatttaaaWttgaaacatWgcScgYYDYgttYt +VtattgcKcWtagcggtgBaSctaKatacaaVtcaRDccccgtgttBgKgggtHagcgaa +ttaaagMMttScggtDttttaHcSaagaacactcacactBcVgaKNaDHacacttatSag +aattSKHtcagtataaatKaaHtgaaRagaaVcBtaHtaaatcgatcWcaRtaaaattta +WttaagtcaggRctgaWcttDttgactttaVSaaaatggtaWDaRMtBtaaaaaKatBga +tMtctatatcaVaMgatttgNagtDRttDatcttttaMtYaaatcggagttctctaYatN +tagaNcgMMactacHcaagtaaaatStaSaacaHcacSgggtNKatggaaagcggaaKgg +gtaYtacSgccgBaggcRacgtVgDtggaMcYaaaMatggacgYStKKatgaBcaaRtSt +ccSagcRccgccgcSDtgcggBDgaDtBtSSggacMttttaWcatcMatgtNMBWgataa +tcaaVtgaataataaNatgcaaNttNctgacDMcaHccgatgKgWVttccaStggattct +cDacttttttctttaaNcWaMWccWKWttgaaaMctDaaBactRtVattttBtcMaNttW +cKacagttKSttaYaWSactHSaBtHgatgttacatgcatatMtttgtaacScWHBatHa +ctggatatatctgagMgRSatctaaSttaVagcaRcttggaYaatKHtagBBactattcg +taaagaagttgtVcgatgaVatHMtcaggtcgKSgWattgaaaVctccVgtDcaaatgaa +HgMYactcaMatatatattNVttWtWaatttacRagKataaaNtttacaaWgMVactatt +aSgaggVaaagVtaccDRHaaataRaHaRgcattMttcaatcaKaaataDcaDKtctcga +ggBggacctDtttatHacWVaWgatDctaNaNcgKatcMtcMaatBtttggacgtgataa +tagaaacRactcBtattttaKtgSaaggKtaggRaVtatagcccaNRttaccttSMaaga +tcggDacNBatWcgaactacactaactNBtaStgVtNagcatctaVtaKatKgaBtcgtt +tWaagWMgagRaNatHaaaaDtacagacaBagtgcaHaNatctcBccNttaagttDgaat +aaNtcgctaacRBgtaatSttaatatgcataacccaSattKcccttDttggtcaatgggt +tWaacgatacattBtgMaYgaRttatgatKaKgtattDtKWgataacgNBtaccgaKWat +cttcttKtgtcttagcattcctWcaaHgagtatDMSgKtcagcttgVHaKcttDaataaa +VaatttDgtgaaataaRgtcaVaatacttagtVatatgggcatgtDDtMtgtatBggatt +HtgcVtgtgatcaaSattatKYVaacSNNttNWcgaHttKDaaMYHatcgttaattaStt +gctWaacHtaKBtaaaaKHttcRWgaaWcRtBtttggBcDtgtacNttaagcKtaHgtag +aaaaRttgaaacatagtWRaacYggtaaatcgctYaBtWDRtgttgSctaaKatNcattg +tgtMttatccatatagctSacgccSNaaactacgNtgtgcttMatSKtcaaBaNaaacat +aacagaaatagtagctcNcatcVgaagStaataVcDKKttcagDHDtattctaatgaggg +RgBMctatacaagYactctMaaagtcgctttctcgtgaattatNcgatMtttaggcBaaa +tctNtactaaRKtgKactattgtcatatgtacgagttMaaHSSgHgBatatcgcaSaata +aaWgaagtatagaHgcttctttatgaccWaatttaRtaDaatttaatcgaaattgattMc +atcaWaMtaWaKactttctBacactatNgtccttaWgtctgaccKatStaKtgagtacgg +gcgcgtYNtatttagacctctKcatgatKWStcaataactaWgMSgHtgatctttttgtc +gacgtSacttaYgcctWctcctctacaagVtttMaBactWVaccaYtgtSgcgttattcK +tatStgaaKaccgNaataaHtatWtYtRacggcaDaScagcagHaYWRtRNcDtHtcVWt +ggaataaaYttgVaNtgttagtYttgtagSaaatDgaggccDcgBRYStattatttaagg +ccgHgggYRaaccMaagttatSttctttagcMtgcgMtgaSagaNaDagttSatgattWa +tttagtDgcttgagtgMKaYWaYccagcaHatKctaKaDgctagacttattgattaaYtt +atcttattattStaattWaRaYBWagYaatatgttRgScttgBagDaWgcgtgcVDaggc +ttgtctaDRKacttgcaKBWRtaaVaSctKtacttMaaSVaWWcgSaNtttSWgtcggtc +acttggVVtgagaataaataaDttgaaccaaaaMttaaaagaaaaaaaatcNBtatMgcc +WagcaNgaVaNaaaaaaYaMgttaWtatHaagtNtacgacaBtMMattttWNaRtaaata +gYaScKattacagctVKBtWNSKgYtYgtWatHaVatDaaatWgDatcctggSRagagta +aaaMgatttRtaHacatggtaKagVcctgatgaMtaaYgatgtattattttHggBaccaD +ctctggNNtYaatctVttgVtRtVcRacttNctttataggHSRtaRacaaattaacHaHg +tgttgtttcBtBtatWtgtattttgcKagMcaaagaMtattagtStagcBacYaaHcagV +gWtgtttcgtgDHaVtagDatcRaRtggtWtaactgcacgaggaaaRttSDaaVaSttaa +aaacSMttactaNtcaacaattDtacttttYatVSacYtWtMttaattatcKtcttctat +caKDtctStSaaacggtYccatgtgagagtWtagWKgcaBaaaaKttgNactaatcgagg +cWtcDDaaaaaacactHattaattcactatYttaagacactaKaagRtRataaattttca +tHggtaataaatgataHtggctaacBacDgtaatattRtYgtDNDBgKtcaggcHatttt +gHNgWtaatttccgactactgacatVNttYYgactcgctctatttagaMcgggatHcgtt +tatBaDSagBaaaagRttBggttaaBactVHgatgaatttattcaaaattgcacttcDga +cttYcVttactVtttatBaKHagaWgtgaatggBtaaSggcagacNcttaDttVgMtWag +attggVatttacHtctNcMatacttSatMagcttgtNcYaaScaYactcKctKtagScSt +cagtttcatWaatggtgagaggHaggggcaacgcRKtaRcMaNtHaatRaRaaactVtBt +gttaatRtWWcaaagKttccaaKaaatacgVttcacaaacgcggtgagaRaatggtgDMW +atcWVScacaaaDaggaaHtgttSMaaaaaccYccDBtatYgtMagcSagaccaVcctcg +gtVWaaagttatcNaagataataSaataaaKccgtaDtYttatYcttHttaagKcMctaa +atggaatRgaaaVaaVtcKYaggatWcaBtDaggDatccttcYNtgcSMRgaRtNgaatc +gttRttatDVMtagctttacatDVtatatatcagctaDagMtataccYgaggYaaatgDa +aaatSgctctgatgtttVaaBcctgataKtagaaaccaKatatgttaDtgaDtatagata +atacagtaDtatcNtgtDMtYcattRVtctataNtWttggNaSgtMgaaYctctDggHtg +gHDccaccacKKaaacaaaatRatttccctttaagcRattMHctattHaRtataVattgg +atcSttaaHaHgaaHNDtacattSaaggDatttcaaaYgctBcatattaaaKagtgccca +tSctcgatRtaaaMtgWactttNMaWctYgRatDggaactcDcaattaKaactgagtatc +tataagYaaaSRctggtacWtttccWtaYRtKHattatagWtKttaNgcDtatHacccat +taatttataacgctMgaagtaacaacagMgtaYHYVtKMHtacMgKcaaatctgRYataN +tcgttcaatacggWtMcaatYcBWaagYtVaDNagtatagDaaNtaaaYtttcYWttttS +tgggataaMgatattagaaYtNctcttcBagactaYDcgtacHDWccKaHgttcttHgVg +gVDttatcatKaMttttacWaaSattctatagaHaggKaDagBtaaagtcYccattgtYc +atctaNgRgVtgaagtDKttatBKcggDtattRYgHccgtgcgBNMtttVRgacaYctSc +taRacgtagagccgtacRaagtaHKagStSttttgYSatattaaaWHaaWagttDKaaNa +NHaaHttaYcttMtcaaatgKttBtSgtccaaVaattSaacgttgNattgatatNctaWt +VcagtactKcWacgVagggHaaRgaDaatcMttattaataacaBMaaVtgYtKgRgHact +gtactatcBaMtVggtagKcYtHtBSaattagtaatgMcaVVagYYgWtactttccaaSt +tDgaaMaMttcacttYtRgacttcagcttWtttagtgataMaattaagVtagaatatKat +aagtagttaagHMRaDattaHaaVcctDtagtcVYcaataaYcNttNaaaHctcaRaatt +tcaNRgatSHgVatagctRtcatgaBttMaaagRtcgHVtgRgStgatttgtagaKagaR +WRctgNaHYgaaatBctgtttRttNWagaccgagKgtgcggHKVttaatattaatataat +aDtaNcctacaaRgcaNMctctgaaSHWWHcttagtNagtWgWaaKtYaNgcBattatcc +aaaSctRRHKaNtKcBgtgagaDRWBttactaaattSMctatatagaaYacDgatttccV +taagRtgRataatatagtctttttatgtMgtcaacaaNtaaaaactctWtagaVaaaDta +attatagtBStcgaatDtgattVaatMtcaDattVKWaagatagggttgtMRSgtcYgWM +aatgNtagtcBttagtttctctWaaMtVgctWgSgtHagaSagactagKtagWggcattt +HgttgacaaactcggggHggcWBgVgtatgggagVgagtcVcBtDctttagtctaagVWt +HtgtttaScatacMBtKgattatRtgtttgtctttDggcHaBtRtgtaataNataattta +taWctgaYWataStcHaatcRtaaVagDWaSatagtaccNDgaagtatacgttttacgac +gKRtattgDctatRRattVtStaaactagatgVatttagaMaSaaaattVtatYtgttgt +RMagtHaatttSttaaYNaggWagtgcacgaMcactgHgtgtgggHMgtKacttaaYgtc +gcatcSatattgBaagtttacMtYagSatttatttaVtaaDtaWaHcgNatactgactHt +ggWtataDcDScatactcStcDtgtcgtgtatgaggtHaaNKgDattgcBccaagKgtat +gacKSMtttttgttcaaatcaaYtagtaSatgDaaaMccKNaMaatagaataagcaatta +ttataaMgagtgaSgtctNYttattHaNaYYtcDDtaatNRgtatttaaYtaaatcactH +VaHcStccttcccaaVatcVggatKtatgRaaDBgaYtttacttYggactSDtaBcaaNg +gggtattatattBDcttagagYNMatBgttYaagactMatgttRgatacccgtaacacBH +tatKacWgatRcHttaattYtKtStccaaatVDcaNKHHaaataatagtagtatcttgct +NDggVaVVtaVaRaaagSaccgttctcMtVtgNBgtDtttctYgttactBctcRtStWtW +DScMtcWSaRatgaataRHctaNtcStctYtWacagatgtatYBtHaHWBtacggtDcaa +BtatcaggtcaVattaNctactgaaaatWaDgactNWtMtggagaattBaataYcMWYcg +atMYatWtgattSatgaRtDaRgccagtSttatatRaBtattRcWtagtVgaagttMcta +ttatatDttaggtctKtgtgtBagacgttatRKtgatctatttBtataactgataacKcg +gagtgHgtVttcttgtKDgcDtaYatBDatcaatattgttNtaBacatcgcNcaKcaWcR +ataWcVgtacgScaWgttcggHcMttcRccatgaRStYgNacagatacYacWWtggNaDc +WagttHatMaNaatNtcDMDcMaKgHNatScVgatKWatatgNRgtccgYgaagattDHg +tMtcHaSNaaattBatRagtaaatttacaagHWtKatcaagtccHtYcctgttKDMSgta +ctactVctgacaaaaHgatatacataatKtStHgctScSatNatacaYttaaWHtctgaa +tYtagtHtKaggccWBaStaDctaagagNtaatcaatcgttNgaYDaagtaaaaHataga +atcgcgBaYaBgaacSaaWaaaaactccgcMttHttYgtaagaMctKBtacSagattcBa +aWtaattttacRttatcgaRtacaRHgtgRagaaBcttaVgacVDgggaatVatagaact +RRtacgYttNattVHgaHttacaaaaaaaYtcRWtgtgattatgccaSDtttatKWgaat +atSNDgattttaacgtcSRtatggttcttcBtWtttMtBtMScttaHatBattHacYtaY +acattcgttKgtcStSctcKtatatttcaKSgagcttccaacaccRDtttDaccattata +tSgtcWtVaaagttgtagccattDtYaatattDaccatcVDaaRccagttttgtcHacMa +ttcHgaNcatgttKcVttcctgtgcSataaatattgaKtctaWctMRaKggtaYcaagtt +DttcgttacRtatgatggHNaWMtKttcatattaaDaSaBaaaMtMatBgKtttgHtHac +taatcatcgtWaatKaaWcaWtcctVttaaNaggaaaagtaaagaDctNttaDBaBgata +gMgaataacRcYggatcRaaaHaagatRDtVRactaYagttcaccaaWtctcSSaaatcS +KattctggDgaacagDtaDagacagtgtaattcaStYttNaStgtaHgccttaScatMRc +accWtcatttatRtaagatWtNataaWtMNtDVgWttgcWgtgaRttttRgWcttMtcta +HacaaYtKctgaBagtRagacttDatNttaaaDgRtatNcHatcSDgtBatcttacVcYa +cNgaattaacgagttgYgacttDattatacBattMgctagcctagatVcaactNttccta +atgtDaacgYaNatagMatSWtYBaaaRtgMtatSRgaataYaScaVgtaScMagatNNt +ttacaaHBaWtNtRtctaaacDaaaaWMcaNtcVaDNcagaDtgcWKYgagttaHtgcDY +ataaacataBaWWtcggtatgtgaaScaacctttRNatcgttaaagcaDctaatgcBatt +tacaattVaMgSMMtccYaaaBYtggattttcataWttgBtatDtBgactaatgtccWaa +HataaScHttWttDtcgtcaagMctMDtaaaatRtBaaaacaatgtcagcatBgNNBVtt +ttttcBacWtttWtSWWtgaaaaSacgBtaaataaagtcDStaagaactgttaatYatgD +ctattactgaHtaaatStHaagacaKtagDtaaHaDgttccaaDtaaggacactctDggc +gtDagtcWaHgRcHgDgaSctttattgtcttttccttRYaDgNactaaatcaWggcNSBa +gttttatatStKgtcRtgattaaggtcaSBttaacaaKatgggatcaaattgRgcBagtN +tcgDcatttWcctttgtNagDgctgcatttactttgtgtcaBgSatttNHaMcggcagSc +tcKDtWBaagSagWatggYtVatSRgKagattgaVatKttcgatYatKYSgDaacNtcVg +tttaWataWtgVctgcgSggMgatccatgagttgtWcatYWWcctVcNHagtNtgtKttt +gatcaacttaSttattgatNcatWaVgNHcagStVHcggHacaaDttgDttWcaaRaKga +aatKaattagtaWacattgaaatgtgaatgacagtgaRVtaaYagYtcggcatMttgaag +gDgagDRcaKgHtacacaaaMcaBtagHactgKaatRtNttcttcatcatNgYgStggac +tatgSMttgKtDaDgacRRgtWaVattgatttaagYctatatagactaagaggtatWtat +aaactaYaHRctStgKWcgtRtKtYtYtagacgattRaaYBtaStcttaWataatcHtta +taRcactgagtgggagccaattctcDtgDaggHcDRVaVVggaaBtRttaataaRRttgt +aagKNcaVWWgtatacctgatcttBtcttRgaWcaVRKcagttSacttagcgtKtgtYWa +tatcgNttcKaccacacVKctgattBtggacgtctgacaDtWKttattttgMBgKaacaD +ataattWtBtBRtVtacataaatatttgtWtttatagtDtgcctagctHYaatgcaNaaR +caatVtacctgggggKtagBgagaBgRaaNttttMtMagMtgtgattNctcNaKggWtMa +tcttagWgtaatatatNctaYBggKaataBattYtaattataVtggNtcgtgtctaatta +aacctHtacaaactDctDtctgatatgMtgataacWctgtgYSaaNScgDYaWtatDatM +KgcaatttctgNcgtHtaWtagatatcYBttaattactcaaaVattYRWtatttDtaNMY +MttgattataatgcgNggWaatYagttgBagNcaagaaaDtRgtaaaagctgcatctagc +ttaVgtBttatagcKMSaattYtHcMaBttcagtcttgKatgVSVttKgttttttagtgt +DHgNggtcaVtatttaacNtgaatatgctatMcatgaaaBtgBSaWctaataaattatYt +tagtaDtaccggaatgagtaattggatttaacBtctSMgWYtgKgattacgRctctccaa +tgtaggcctgaNaatScgYataaBBacaKtHtttcatgaaHtgBtagaKHVtacctVtca +accaDaaWNHNaatgataattgatgWcagggtcMBtgSgRataHctMctgMHHtKaBtaa +MtMgataaRWtagYtgaaMaSgctYtgcgaaHatDtatgtcWRatKatatYDcBgNtRaR +acattMcagaHgaaagRccgcgWttggSatBagagcHgYtatctVtcatYaaVRtcaSac +aMYDcgRtcaaWgaRgataMtaaaacaggtgtaaYcattgWgDHcWgttaVatttgcatc +taatccacaaagaagSatgcgtagRgagtHDgaVcgtgcttatggMttttcatKSctNac +HcctMaKRatttgatctaaatgHaaScataataatgtttgtgtHaVcaaaaNHaaaatcg +ctgSVtattVttagaaNWcacagtgKtatgattHcYcttgDaWVataBatBttttWtaac +tNaattttctttaaYHaMtttaaaccgStcHaVBaatcRacaaWactgtagVKtNRtcct +agcWaatNgctKccttctcDaBDcatYHatatgcaataaBaagaatgDMttaHcaaYYtc +actgttRtgacRaacctaWtBtBMagBctaaBaWtgatgVtttattataggttaattgta +atYcaRtVctcttgcacSaaMaatactRSgcataKcagcaVNKttcgSatcaaactaatt +DtaHtNaVtgttttttaWVtatNccagWttcgtatBcgttVctcBttaaaaMSaDattKR +cctttcataHaattaatWaaataKcaHVaggaatataBYKHVtgVcVgtcHcttccgcct +attDtMMgWaacttgWttYtttcMcgtcctaaVHtgWtggtgacKtcaWaYMttacttag +VWtacgSatatcgWcKaaatHKaaaYttgtagtcaacWtttggtcaagttgaaBBaSHac +VcgYgttWBSRWggtattttaYDtHatattcgatNttacaaaaVacaMccaaYStaataR +ttVtcttagaVKaacaWcgccgtRatcatctaaatccMcctttaMggccHgYcDgaKcta +tgMRYBagcaNDtgMtcRttgtgHaRttacatgaWcDtgctgtataggNggtgaatagBg +agYNtatcagKtHcatBatgVKgaHWagattRDatatcgYcHagRtaatgWtcStagcVa +tNaaaaKttgRaRBYNgtaaDtStaVRgcMccatMWaaattBDatttaatttataaHtag +tVVaDRMKBtaacaatttttttDaRSgaaKDtVaBatcagtaaMttaagcctRgaNVggg +ttcataatagNatcctacactacgcatgtcggaYgtaKcatggattgactttHtaattWN +RaaWYggttcaaaggaaNtaatgcHcaaaattBtagcttattcaagVtatttWgcctaKt +atBttDYcattagDacKVaYNccgYaYRaaMaattRaagaHtatgcttgcRagcgctSaa +tagaaRacaRacSccagcacVMataatHgRtagcgaKgYRaDcVWSDVgRaMgcDgtaat +tttaYttggtaaWcttKDaaYtatMRcgKccYcagtYcBgRccattcaKtgaSSRtactg +acgHtgtaaaaBatWgcaMcBcYcgccagactcttcSatYattgatgaNccaaaaWaKat +VgcaggtWtBcgttaRMagcaaagtgttcacatataaagaHWtKatctacttatatcacY +RaaVagataagtaattttgatgtBctaataggtaRtaaHaattgtaRcStYSYaWRgMta +caHcNSttVNScattNKaaKgBtagtgatYcaaaStactggttggggaBggtNtgtcaaW +BaYVSNgtaataBNtagtatatcacMcScccVcgtVRRtttNcKaSRNaNtHRttattta +ttgacaatggSaBagataaccgttcctaDNaattgctVtatNtHtatagSccaagctKtt +aaacaaattattgtSHgMWgStttNaccattBMYatRtccStNgttgaaBcctVagcaaa +atgatattcRaBccMWaagKtttttcMtgaRYNaataDttgttWRttattggHtNtataa +tggttgtStYgaMcYVtcattaggtaatVcaNggaRtNataMWcctcYgcgagagRgcHM +gcWtgaYtVSttgDaacgaaaatMttYWtWttcctgaKNttatttattRaattaagaccM +KtttcWgtcaBagKSaWaaacaNtaYaDtBNaaagWtHgacaaagtgVtcatKcgcaatV +aactatgcgaaactccNctatatMgactatttatSaaVttNttRttagHtccKtHtaaaN +atttYVctaatttaaaatHWaNtSacgaaaHggaaatcacagVYcctaattcMNtgtYtg +agttatttaBtcRgBHNacBtactctagaacgcKaaDWYYgcattactVagaYtgaVVcg +caNctttBagKRcSgaaatttgtatccattgtggHcaatRtaVtaSaBtcYYcatcgtgt +cHaVttaHattctgtcaBSNYaKBBattaatggctgtHatattgtBacDcBgatttaaaN +tggaaaaYtNcaKagRRtRgttRtMtWgggatcNtacacctgtWKagatataaYVMtaaD +taaacctctgtgtgccttScacWaggaYacttttKacgtttgtgataKYagaYaVatcWc +SattaMcatBYttYaaatgStKagWattKtttaWgtagaaSgtRattcSaDagVaMatta +ttYaagccSgcNaaDgaaSaggtaNgtWactaWcgHctgaNatttttcaatgtaMHSWaR +tggtaNtaHBtttWWaaatattcVtBtctStWtaWMaBcatttcDagttDtttatatgtt +WBtNaYatcccSgtgagcgaRYtBtagaDacBtaagaataWactaaaagKtaKaWaataa +cKcccgDtagccaaagcggaatcgctSRtacKgcactacccHaactMgtgccaBaRaaaB +VtcgSacRKtttStgatcaaHgKtaaKaccHaccacccKttgagcttcSttttKKcgacB +gggtYMaatcBStcgDBtMcataWtaWaMtgaataagaaDatccSYDtgBatgactBaVt +aagatctcNMgtcaWKtgcWggcgatacgtgtttatttWaDaNWBNaaNtNttcaaatag +taatScgHtMWttgttgaBaDtgNatSaagtttHttaNaNKaattKatttgatcgtVcat +gaatatBtttctaacKaNttVttSagccatRtatatcactcHHatctWSKttaMacaaDa +ttccaRaYttttagttaatattcctYaacVactgctMcgagcaMYtttgaagctagtKgN +WttgaaaMatcaMcttcSVatcaatgtNactaaBagatagagtDMgtNtNWatttSaHac +tagaaaDggtaaaaNctMaatagtaHgacgMaaacMtacatHtaSagaHatYDccagtBt +gaWatcYtVaagataattgatcgacctgcaacgttttattacNMWNcattataDVDacta +tattatYattttgcgaagtgagYVtagYaWaHaatctgWttttatgcHaacgttaccDaK +tatagaccaDDttaacgtHBaacatccgtYaBtVtNccaaataaaatVactDttSKtcMt +DSgaagctaMtatattgattactgtNaagNBcagHaDattaaaWttacacaaatactcaa +tSDatagctcaDttWactttgaStaaDtagatSaaDtgtaatKtgVataggaagWSaaaa +KatttaaagtttgcgtaaagcccggNWaacatacatgttctaRcaHttVtcattatctag +ttttNcataaacDttWaagVtNYtaggctttggtatgagaWgtactNaVatcactVttBK +cttaaccttcMtatcggtaataYaMaYggttgtcaaagSWHctaRMSatVcggactMata +tccgaatcttttttcgagtccagtttgaMtcgcatcaaKagtattRMaaaKDBttDNcca +tttttaaBNtVtccgtaatgaKgtcagMVSattatttaWaattttaHNcaaMaHttgtgg +ctattctacDtgaagattatcgacaaVRHttcSaSaatactNHWaaNcgtWaWgaccgRS +ttNtHtcttcKatYatatBaagtcgctBtgagccatatScctKaagaaKDaWactWagBg +ctgattBagKtgaaataBaaaaagSacScaaagagtagcgaDaYtaMcaYcKtaataMat +ttttaactttgYgtcgaaggacgcHctBcgYgaaVacRYagagBaaYgtagattgcgagt +caagtStDagatBgtgaccctaSWtctDgactaSHttctWatWttctaWtatctYacact +gBWatKKctgtatYgacaaHSatYSaNgSagtatagatgagtatttatgaccMaatgtaH +tStaWttgYagccaWattcagtBaYtaaNaBtaNatactggcttWcaagatDctacggaN +ctatcacatSgKgattgacgacccccgagtNDtattgagaaatattaatcVttNKtaaWt +YacgSNcBHgttgWtatgtttcgccaactKaattaRgacgNataatctacaacKgttBat +YatNMSaaaNtctKgacttatgcttatKtcaVtVcagDaataattYgNtRtHaagcaata +HcacaVgtaNNHtHDatgttaMNtggWagSVaRttcMVDtcttWgtRttctacKaaVttc +VcgcatcctHRKtattSgttSacgaagtcccRDVaacBWagtgYtKtgattgSgaBtgcc +BtcaKacaDatacttHatcattNatttacgtcagtgaggcBtaRNaRcaSgcatattatS +tatgctYcacgtattcattaaRtgStcttWgtattKtSYttNaHaRtNYcRaYtVtggtD +cKcttctactaMcacggcMtacgcttctatatHtaatggcattMDtaaMaKattgaagtB +aaKMVMNacKaDtttKNcgagctaaagtccMMtgagaagVaataatggcaWaaaaVaBgt +aSaVgaaaSaaaataDttVtBccaNagcSBgaMaDaVaVYYRVBgttYMtagtaactDta +agWaattBtattttMDYHtSaStScRaKatattacacctMttgNBKtcRtRggNagtYMa +ttaaatMctYgaatgcKHagSggaaaaBcaggtHtatWcatcgtStagMcctcatgatta +WRcStcgWtgRgttttcctaacatcgctcgDDtRaatatMgtcMtHtMaDYatgDattta +tagctKDtYHaaaaattaSatatctggtctttattttatMtgtYttgtcatactcaaVcY +BgatgSctKtYcctWaRaataWcMgNgcgggagtcttRMgactataHaHtgctNtVaatc +aaccacgSRaDtgKtaaMSKgtaaaaWaKtttVagSDtaaaaaatgttYattttNagMHa +aRtNgBttWattatatgcttatatcatttatKtKaaaagctRaaatcgcYgacgNtacNt +ccVtSaaatttcDVctaatacWgcaMtcttSaaWaaaWagtagtaattaactagRttaVc +SaaatataacHgHatWaattggaagtgcgSSgaaVtgYgSttccatWVataatcgaatat +gHtRcgtBttcttaaggatatgttgtBcNtaatgtcacVatactgaaatMBttRRcRatc +catagagggacatcgccWttagttgWttatKagtaaaagHtttccttSatVatKtgagca +atttattaaYVattcaaattctgSattRaMtgaatMgttattattacaNcggVagcctta +aKgccYcaaDattWtggMcttMacWttccMVgtgaattctDaBYgacttKYtBacatgct +DcRaaKaaRaatatctttagKcKtaactttaatNaaggctgScacctYgcgcaaaccaHt +tVHcBaDgtaatHaHVaaatMgttggtSatHtNNaaVagtgtacaataaagacgKttcaa +aWVacagctcacWHaatcctgtBNWtaNMKcVcVSWtSgcaattctgKtVVaaacaRaat +tgatRcgBacaKacVccVMactagcgMNaaactgataDaSgagaatVHaatVSVtccgga +tgRgtagRatttgtaactaBataVaggcaagHgaaSMSaKgctRagcStNcatttVgcta +tacttcNDtcaKBDcaHtDcaatagttHttattMBgagctgtaaagtMgatStStcagat +atYcBtataacRcaggRaaaggtaWSatKgatatgagcgtgMYatcagcatVttSgaaaa +aatatatgttYttcattatacataatVcacgattataDggttBtRaagtHMtatagaDgN +ttggDaKctBcaaRcgattcgtgccttacaaaWattYWVcaaWagDattgaaagggaaga +HattBtatVggtaHtWtaMagtccagaKttSatatcaStDtgWaagtKWaggtatttaWa +aRcattaatStgaaVtacggaacatKctacatHtaaaBtcNWatttBBaNatRcDattcg +aactataaattataactcagtSgatataagRaYaKHctggtaaNtttaaNgaRHtttatt +atacNttttaDccttYgtaaacaggaagtgataaacatBgaSgtaaaaaaVcBgtWNtRM +ttBttaaBgtaaaatatcHNStaBtaggtaVatYaccNtBaWagRctNSacRtMatDact +StVctaaDtaYSRgttaRNttttKggccagaaBcatagtYcaYNtDatcgtatVcaatWR +taggaattMcatRtgggatgtcMggMtttataagtaBgtggacNaaKYtgctWgagYtWc +ctWtVcttaaactaRacatggtRcatctSDcHcMgcaactttttagttaccttattHRgt +acggcactDBggtMHcVaaRatKctSHacctacaccactaaHaacgSttagKtKttttgN +HVgagtaYaMtVYNVcggttaSBaBtaatttSRcgtBgaWaatctttttKggacaWKaat +tKSaccttgDRgtcatatDatVMtMaVcgaattaNaagMWccctaaHgataatatgtatt +WataaaatBaaMtgRttcHctaagctaagatatattMcggactaRttttKaSttactWYt +gBcaMMacRRgNtactttaaaSKtttcaYBaBttaVagtRtHcWaggaVccttNgtgagt +catataWttYScMtWgVRgattWtaSggacggWWctBHatattataaKaagttactaMRa +aataSRaDttDaaatataVHaatggaaBDgWgHtcKStVcatHtaatcatggBWaagHta +gtMtgHcHtcatggggWcatacaHNHagcDatRcaaattcgcttgDggDNVcaacgSgtg +gcaccttMttaatattVYtVgaagRttaBcagVaYaHcaRDBagatgaVHtNMtcttact +DaggMgMaattRWDcctVtgagaaaaSKatHHttVDgtctgtcacatHNttgaatSaagt +KBatatagacaaRVctcWtgtacKtaacHtgHataSgVtactaggtttatggBgtcaaaY +aDgaaaaaatcgMtagaKaYatgaattatYcttKtacaatttgWttMaatBgaatSttMt +NaVgVtScgcttctBHKgtaRcNBaatcDtacgattgacgtgctatNaaBtMgagNgKct +tWcWKacactYgttVgNcgaattttcttgaaaaactacccctcgcNtgMctatcccacMc +actcMatttatttagtagaacMNtttcttgYKaWtaaBtttcWttagHtgtttctcttgt +ggctatgDgctaatWDataatttagaNcgcRRNataKtctaataHgaaMYctNaKWtact +aacDtgaVcgagaactggtaccaactHgaggctagagHHagtMgKtaaactacaggMatg +tYgSBaKaaaattMgatRtggggtHBVgttaattgKttaaRDacgMactcaaacStaaag +ctctgtgccttcgtSagtSaRctacaataKatattctaVgtgtaattRacKagttattga +MtaatgaNatacDataaggactttccNtStatatKaagaataKtatggtcctctatgagg +ttaaDtgtattgataaaactggatcactKBtttggcgtcaaagaaaNtagtWKatctaaW +BactDaBaYtacaWtaSgcaattattWgaaBgactgaKctatBRgtagttaBaRRgattt +aagBHctStgtVYRtaaataaagtMWtcHgcattcacaaMWtcMccWttgVgcHaWttca +NtgtVaggNgcVatKttataaWDcccctatgatVttttattacagRBBWttcttRaWgaa +tBVgcgtHgWgaccagtYacaattgSttaaMcVtDatttaVttRgttKtcaYWatKtaaD +tttWaYtaatYctSctatagtcctBtccMaMMtaMYHaSSgKaaacttctcBtMtgDtgt +ttttagRcgtacttataHgKtNtMtKcBtaNKaHStgSagYHtataDtcKtagRtNWaac +VgctVtRtttStNtgaaccttaVatgagaaggtcaKSttaDataagcYaSatNStcaatD +NgttcgacaatttaSgaRaBNNacattRatNtgSttHVtgWHgtSHccaactKttYtatH +YttVtgHcNgactMcaacttBatatgSgattttacgtatttgtggtScaacggYtHtgca +tctatttttWtaSatcagaYatcgcagtgtgtMgtattctttcattaRatttStcaatat +gcttDtStaaagaccDcVtaWNcHYtWMaMcgaacKcaNcttacctaBtgcDacatcaHK +tRcDaaacataaRacNNtccDataNactttatBSDYatDtctBtaBatctDatKaMcatt +MatatcDHctaagRgYVcatgttcgtgataHDYaagttSgHYctaaatgtaaaactNgta +gaaactaattRaatcttttBKcgaatSctMaggVaVaaatgagataaataSgttKgtcat +KaKatDYtaaaRttYaMtgctcSatRtagttttagcaaNtaKgatcgWYcacDgaatcaa +tactgBgaNtaactaaWatatacaatacactaNatcaVaKaaMaaaaaatcaccBtgttg +NctaacaBattttaaKWcaggataWMtaattgtaaHtgVtcgaHtScaHtctcHacVata +gtaMcaaKtcccSagMYtWcaaatHHtaagRttDagtMtcYtttaaWWaaaVaRtcHNtc +tcSttagcacaKttgtagtNgWYtatKDtcatttgaacctcKHtatccttattcttNggt +BgtgtKaggWtYgtStgtVaRtaRaaagtagtgtcgcKtKagatgagYtttaatKcScct +gaaaaaRaaHtttttaaaVgtatagKctaNtKaSVgttcgagacattttRSatagttSac +ataMtaYHccacttttctatactagtatgaBaagctttaMtgaatgtcaKYtaaatatgg +attataNcgBHatcctaRaaactgttgacttYaHtStcatcctDaMBttgtaWgagtaat +WKataaaBgBattcttttctttaatWStaatacgNaagtWaMaaNgactMtgaaDaggaa +aSctaSSgatatDttattatcatagBcaataVcHcRgcStaHaaatWagatHttMHacta +RacttaYaaaaNtataHKVaataKtatgatcgtcVaaWgttYtVcaaYggctRWttaaKt +RttDaKtgtatcaattWKaatBHaaaaNgaatggStHgVVgatMgBYtaRNgBDttMcNt +ggaNgtcaHtgttDcNaggBtatYtacVaNttctcWtactHYcSctgtYtDtgWaatcHg +atDatatcHtcttatattaaKaRYaDgaatgSYcgactgcRgaagttagtStYatYtttc +cgacactacagKcaaagDttaatVatcttaaacRaDatRcBatKNtNtaaaHtcBgatKH +cWStSRaKaSMgtaKaBacWgDDttgYaaYttaNtDgHtatSaSataaaaMBaaDtaMat +DaagWtggaMtRcacttatggctNataaaaatatWNMtacctatgtcaYKaRacagttHD +agccgtaaYcaatataatcatagggaaSatgMYBcKBBtaaRVRatRtccVtgtgaagVN +ttcttagtgtcWataVggtaaNaatVgVaKctttNgtttagtaaagBatBtgaYSagHtt +SYaacaStcgcagaSttcDBtKtttggtctacNttgNgKNNtcaaaaKWactgaaYgaYa +ctatHtaWcaactgttSatNVtgtctSttYctgattVaatKgtaYcaaattSgttaStat +ggtccaatgSWccaaactattgccgttacgcNatcHctctcaKatgtagtctattttaag +gHRatcDaagSaVgaVNccaBKtacgtttStagKgtctaHtcattaYcctaVKtttaYaa +atYtccgataaaVttcDgatWcgBtcctaatttNaattgctDYgtgatcaatttaagggc +tctcatcKattgBtaBagcaYcKctctttNtaacHacNStggRtMatHHgtacatgcaMa +gtgtccatRWttRKctaaaDtcMctttaNVgaNtcMatcacHcctgWtaaStcacgtctN +aagRNNaagMaDtactDgctttttcatcYacttaKttatgcStDaStNaMgDtaacKtMt +acctaaWattggtttNaaVHatgaaattaattacgVNaaWtggaWatctgVatcacYctc +VHMtVaNacNtcccaWtttgcaacctcWctHaatcttWcaaaYaBaattSctYatctaag +DgBttagtaSgaWtBcRcKtccYatatcKBgtctttatgaaHDcgNaMatggatgtWagR +ctStagagaagaacagctWtNtataaaataRatHatKgctNactHgttRgRgVcRacatg +HYaNttaHtattaNStaagatgtagaHcVctcYgggccYcaaaatgatcttctagctctH +MaMMgcaVtgHgtaagaWHHtggtaactBcaMNNctagaacggWtctttgaggHcYNaaM +HtaYcttKaagtSccgttgggNMStatacDttataaaVaYcKtcgcattttcgacctctc +acVttNtttattgtcttctaVcatagaattMttgtHtMgacataaatagttctMtgtWgW +ctttcaagYgcgtNaagcaaDaVHaaStMtaaagccccgtgVgtcacatcHVaDtgttBt +BacBtcggYttDagaDYtccMttagcttacNcgaagatRtDataRtgctaatatatgRtW +VttatWKtgcBgactcgagaSgtaaaaagttaaWaaagtatttctcWtatcBtcataacN +cgctcRKaaDKactRaNtagtatBtgaaatttcgcDactttaNtYgagagaNttgaatta +ataaaSMattRHNtYtgttgaDBRBttgWttagSatgacDggNVagRWcggctacDaYSg +aaattHgtYaaagctccVtatacattaMctttgSgacatBKaattRgtaBRtttaactat +tctagcMKMtttctgtgtgVgtctttcDcgtaaMtaggtaaaDtcaYtatccgattcYtg +aaRttctKaNctaYgYaattYgRttWctWttaaaccaatcactVatgcgYttgaaatgat +KBcNRgctcatgaccHagcgaaaatgtVgccatcaBSatKccRStSattaaatttggtaa +gcVattctgVcattMtacatMgaaaaaataYNDtDaatcatWattcaggNcaccctcBtg +cKcHagYtatBatgBttgtVttaYBgBgataaHNtacRtcaaBaKcagNtcagaatYgtt +WgggaNDagtatagRtctcDtDaHScagttcYcatcSYacHcagagNgtgcHagtacagc +tgRtatatMtaatRaWMHgaaKacaBRtagHtaaaNcVHcatWBgWaaacWccggtaaRc +attgMgttaNgttVMVttgcaagagaatcaaaaaagYScKVtgccgacHgacgttcaMcc +tcattatgcBttttaagtKatDactccgBatHYgttcatcgaaatctSaKaagaatWVtc +gttgtcttaMaaYaSDtaaaataccgcKMtatgKtgScaaDMaaaactgtgagcVtttaR +cttgtaNMatatatttggtMgYVatDaatttgctttaaRtaBgttaYaaagKtataMtWS +tcHaaaaNacgctacMttDDgactacaNaatBcagtcattatatSttaVgRtWgSggcaa +tSataVgSYgctBttataaYRRgaactgtgHtgacHWSactYNgtttBactatWStaNtc +StcMttgattStacctgaattctWatNaaHgMatattcaaaKWaBaataatHKgaWgata +YcaWMBtgtacKagaaaaagaattttWttDaMtggttgtgaNMtVtDcaacNttactatt +acggKctatttaaaaBKatagttHaatggaatatYWgtaVtNaaYgataatMaccWagag +atRttMtgKaMcgatattaacaagatgttBBcNaYattcNgtRttgaBcctaagaSMttc +MtcctcYattcaNaRBttaatgVcMNgaacKagatcgNctaWVgttaaYRtgctSctaaa +aNtttgctaaScttcVattaHtaaMacNgttNtKHMcctattttaRtttVtSgtacatBg +tVaaSSaMVaRBcaSaRHtaWtWHttMtattVcaMtWaaaNaccccgHYtcatagaaRta +aBaatttaBccaatcRctcatagWgcBHRtacaaDttcBgaHggcgctaHtgacagcSNa +ttcctcgagaccBggtcaagWctgVcRDgVtaagtttaattatcMtgatNagYttHtYta +gccRatagDtaatcNtaKtacaMSgDaaaatttgHaHtRDgtaattKtaMHgaBcaWtBN +YaWgtttStttaSttgataatgactMKatHBtttaVcYatgggttttaDKcSatttMata +tcagtYaBtgVacaatHcaDMcccgtaataatagDataatVaaagaagaVtctccgaRgt +RtaatcgagtcacttgttSatgNDHaSNRcggtaSaagcSaBgWSgcatcaaWatgttac +atgattcWacMtagtgNcacgatgatttttRcWttSgtaatMRRBaacNWRHaaBaattD +aagStgatccttcaDacccctKaagScSSHaaYHWcHcaWcaaaMBataattgDtagccW +tcRHataMNKtMgHaBcatcgaagtgtaRgtgggaVMatgttaWRtStBHactaaRaact +NctcHaaaggcatgcVHKHgaatcSccttggSaWatWtNcaaBctaRagaaacacgcttc +KatRattcWtgYDaaaaaaNatWtKgaacgtNttactgWHBaccaWacggttcaaVgaga +aacVtMttatagaagtatWtaaaNHYaMacagWagtaatttgcatcttcgaatacggaHt +aatVattctaDaHtRKRaNHcttacatcDKttMDKaWggDtaatcttYctcWtRaaaaKt +aatcctgccccatgcgDtctaaVMtWRKKDctaatatDgactagWtaaaBcKcacMactM +HHttgDataKHDaDttHttatttagtcaaVatccKWtacWtSVcaggtaatatDSatgcc +tKtatDtttagacKaaaagcgtttaaSaaaYtgattgtKtgBMcKttgDaaaagttBRat +HgcaKgDgtgcWataatMWgcVaVatcYgWttaDatcatNaVgtttgggcttgaHRDaWg +atttctgMHgtVtgccttBtWtaatcgttcgKgRcaBaRMtaattWgctaatMaVBccaH +tDagaBNaataRcacYcYcHcatBgaNtgaNgKHttctYaacaaaYgBttRNtNggaagc +WtDggattgagtHaWttVacaaaBtgttaNctaatactKaMaaaaaDtaRatttDaaagN +ttcYcaaactcMgaYgtacaaatMaaatYtcacVaacgaaDagatWgBgaataggtWtKa +aMtgDttHtgagttaatttgVaaDagttNMataatttaSVattNaDtKVccaaatcgaYV +taaaacKRaataatgaBDtctRtgVcttatttYtgaHgttBWatgaatatacSaacctSa +tNNRccagtactKagaRtgSKMcgaaDattttagtHcKcaaagtggtataaaggctccta +SatHtaMtRKattaNRcWtccgctataKggatWttaggtaatHDRatttattRWgcgatc +ttagSgtcttactatgYgttYaVBtgcaYaaRtDaatacHHtDcttHgBgNcccataDta +aaaatctNtacatatWaRMBgaattaaaacgctctctcaagtKcacNacgVRVcttttta +acttgctcStatRScaRaMataNaKagtatcattRttNaVatcKgtacNatttttgaNcg +acaaKctHWtgaKStacMaBatgWttNSacaaKcaDaatcWaKaccgYBggMScgaMcct +agcaDatgtttcVatgtRBtKNWHtcctWDtatttttNNSaatattcMttgatKgNgaNB +atcSggtctRcttttttatatggtNttDYNYgaaaKctcacacYHRgttacatacttYac +aataNaagaaaagttataNaataSatacagttScacVaScaccSWtccagKHtaatcaaa +tVacatWacgBctccaataHaaYtMtacKacHttttKtcataWWtgtgaatWaataaaaa +catttcaccttaHtttgttccaatcccgRBaWgatKgagtttBaVgaNtaNVBgcaataa +gaatagcaKRttgtatcaattaMtaacatataDBgtaaNttcaNcgagatYactggttat +gtNVtaBNtDaaDtDttaSaWtactaVtHactttNttcttcatWttcDatKaacgtttgg +VDaDtVagttatgtcagactKaatcaYtSgttttataaataDttKttKagacWgHgatat +aaatcttagatNKtttWtWaaatattacSHaRgtttScttaatWttacgRRaaMactcat +BacaccatRtttgaacctacttcDMggcVaSBagaatcttaKMagcaVtctDVataWtSg +atagacttBctDtBNWgtgKatWctYgaaStccgVaaaDattYatagtatcaacBaWYct +gaaatttaKVgYtStNtcaVggtggaNYgaRtMaacataSttcagacVactcaVaagtgg +tattaaDBNDaagtatatMtactatatgatRSgtttgccaacgcacRMtacRYNataaga +tcMgttgatcataaacttVcatatgWtacaaaWttggaaactttaScataactRattMtD +acVYataaaagMaattttKtgaBttKcaacatattVtagtcatgactcgDaacDtaWcta +tRttSSYNtgWaScaaataagaaatKtagacataatggNaatttcSKtVWtgacagKWat +tcgVatttcKWgagcaWgNKaaaatatgtaaacgttcactaaWgacaccBNaacagaaSt +ctgctaHcVtttMtcYttStagYcgtttBcRtaYacttgNaacMtDRtagcatgtgcgag +cScaMgtaatBaKataactMttttattaRcattattatacgtaagSNatVRgcttcgaVa +acHNtctaHBKYgKaccYcttagagcccaVgatttgttagactaaacgtgcaBgccaWga +VataggattDBWaattttgtBacWtttttaatDtMgaactaagcVtctcagBMKatgatt +gaNaVttggatDaSaBatttcgccatatgctaattgYacatgatccacaaMHtttcKYKa +WtYcgDtNaaDccgNaNcacacHKttDtttaggctagRVtYgtaactagctttcacaaat +YtHaattYacaattaMSagMactcctcatgtScttcaaYtataaaaScHYaKcaYacact +VcacataNtaBcaRatgYagVBatttgtaactttgRggacaagcVacctattacRcaaMa +cHRagagtaVNctacagtgagacgaaaggKttacattgggacaataKNtattcaagWKtt +gatNagNtgctaNgagatNacSatctNatttatctatRgaaaatKatNKSBcKactatac +StcagtaggtVtcaaaBYYgctattKtWNttcRacaaaNatgaacttaRtaaDSttVBYt +aatccagtNaaacRttagaaccRBatataWaatKctcattcSacWaacaacactDttVtt +gacYaagagtaSgcMttBttaVNgRVagKDcttcttcNtaggttgcgacYacttaaggVH +caagDagaagataaVaatctgtatRatDtKaaSDgattcaattYtcatgYgtgaVMtMaa +ctaagaatgRgDtHttaaccaatStaaaaMctVDDtgttatcttaBBgccNacKMaHggc +BMttctgNctHggagaataYMgtaMccaataattHttYttKggtKaccaactcccHtMSa +atNactcRtttcatgcKcatgcacttcatSaatatactttVtaYttDattgWcctcactc +YccattaDDaHaaKcaatSttagKtWtcatRcaactattaattYaDggKtagtNcgSgtt +tKRgtDWtVHtDNcHWNtKtccgtctagtatSctaBcacgcaBtaacatgagatVtttaa +ggcaVttBttaStWtattgYaggtSatBMBDactVtggttDagacataaactactBgcac +aacMaagaStccaWNaaSYMYtgtaKaMcYSaHaaaatatttMgtcaaDScaKtcaBVta +MVMRRDMtcttRBgWctaacttgaacNaatgttWgtggBtRttHVKgKcHVtatattSaa +aatBttcBtttcDgHccBagtRBRttaVagBctRcaagcattacKccaWVWtaVcggtta +tNaSgccgKtYcBaagcWgcatgaNHaKtagNgcHcgtgtcataaaatagagacttgHYa +tattctaBgtttatRatctatttagacattttNtWaaSagtaHatRtctcggatttatgt +gatBtctRggggcatWctaSVMaRtcatgKattgRcatMaHaataNcBcDcaggcactat +tHBgaatStatattcatBgMVataaSacVacKHatggttaaBKtgtaSaWMattttMacK +tgaaWaaWgctgRatgtgDacBtSaHtDgtgtMVttagatgattagagaSttgattgtSa +aacagHaaatacaRcaccBtaaDtcaMtKaaStttatKagaataaNcaaBtattKaVNaW +aNactagtYattaaagWgHttaMcKaSagatSactctatMSagtggaYctcacKKgaSMg +cRgKtgccagNMataatccaVgatcttHagttttcttaaccataggggcttaDtYatcga +aaMataagcaaatBttgHHcHagacagagaggcacWtacccMttacgtgNttattYctVa +aactgttaagtKatMagttcacaaagggatgaVNMatgcaSattatcKagtHaBtgaagB +cggagtWttVaaDaccMScactgVatccaRaSatattNtgcBatgBaaNgtcaBMgggaa +tgagtatRgaatgtNttacaggcttaHaataaHSagatagtgVctattaaagggaagDWV +ccatcKaaaatRccccaSVaaatttMtatStgtWagtStMaaatBctgcctKWgttDDaS +KactctaaVRtaSWcVactggaaaaNMaaaccgcacNtaVgaagcttDNgaDBtaMaMKN +tKccaVtgctcttMMYaaaaHaattcWgHcgtacatWaMaaKtaataccgBDaYRaggat +atSKcScYagMtaatKHMtaaccatgHgtagDaggtgtaaatatagaKVgccRYctcRaK +BKWtgatHYcaHgBaYtttMcatataatgaDttcatttaStgtcVSgacggtggVgtBtg +acatgtaaSgtBgatKtKtaYcatVtNattataaaHaSccHaaagctSMKattcatagca +cagtgBRataacaatMttKcWaaaaatagStcggRttaattatWaataatMaYagatgVt +atccttttHaScgtBgagWcatgBtgcctatcgtaaWHacagtactgaattaaaaaNatt +RNMaSSNSctattcaaagccVVcatattttagMcgtattNtVBactacScattgKVtata +aKtttgNaWcttNacctagtgaNaaDcagtaWgKggaaKtacgcaaaYttatacSttgYa +YttcDNagggttVDagHatSgtacYVatataVattataSataacgKgatVtVacHYRWtt +atcctaaDtgtaaDgRDttttattWtaaDttggatcattNgtVaaaVggaaggcYgSWaa +attcWHcgaSaVWaMatctMDtHBgttttaatctaWaagatatDKtVttaccgaMatRaa +aBttaNagHatDHWcDtBVttaatKtMataYttSRHHcgtaHDtggttccaaagRRtaWt +VctRcaNDttatacgatMcaatNHtacgaattBaatHtcccatctctccBtgtataYcta +tgtcgaaDYWtNggatNcacRtMaatNtKcttSYSctaDaaaggctDaStatKtataBgc +VaatttggYcttaaatgatgtHctaaccaactttgggttcMaaDattatKtVacgVcSca +actSataSccHttYctttgtggcDtMcactaNSBtMRBMaggttWKtattaatgtKHact +tcaMVatctgttgtccaaYNtaagttKaacttctHcgcWtYttatMBgBaMacaattaDa +actNaaatSatcVtSSgatctatgNatSYaattRatgcDgtctataagagaagRgatatt +tcccaataHgttttWKtgaagNRtctaaBtWcHHcDgaattgaaaKtgttaaRtatgtaM +aggDttcMaccaMaattDctgYctaWtStaNtgRKaBtNcMHcSttMtaKccYacgNNct +ttatStgVtaYtaagttaagaBHaaStVKHatgttRVWtataMtSatgcaattcMcttat +KgMcagtgaatcYtcctNaYcttactttctcttcatggcgNcatScStBtagctWtHaaW +attaccgtctcgtBMcaaacKctcccaacttBgtWStVttMRgKcVagHttVtaagMaNa +tcaHttacatcYKttDBtatgSattVcgBcBVYttHNtcatKgcYgaaSaKtatttttMt +ctatctaSaattDttcWagHSacgttagYgacWaSaDKatcNgctaatgVSctgctYgaK +gKtaataggtggagcgtcgaaaaRYtgYWYSaatacBgacWtaNStcaattWtRctttta +aSYgttcNgtBWWgtgaatHttttBaMcMtKccagtattttcgaHaDtSVgatgaacatg +cacgtcagagDYattBcagDctcttNcNtaaaatRctgMcDacaagtttagtcaaSSaag +aaacatacaDtctctYgcaaacBcaagaBatgtattgacgagYacBDgttcgtgRtaMga +attttcNtgVcttctgtctagtgtccatatctgatYatNtatVWgttacaDacaHDDagW +tgataWtatcaaBRatDRtMgVcgaaattcSMagYgWacgggtaacaaattcagcatagS +gttactBctgSVWatYcYgcBWgggRcHtataSaattBcagHgcgcctttKcttWaggct +ttaaDtRacBactaaVaaKtaaacctcgcgccattactKactKSDcgacaVtatatagga +taKctcgSatgHSatVcgtagtgaBtSYtgaBataatStaaccaagttcaDtHtatatta +acYatattatcctacgagatcaccgtVSttctYgtcataaVactcgWtaVatttgttgga +ctaaaVcaSaDtYcgNtYtctVaMtaattatWRtWcaNtaKcaaYggatgNgaatcaatc +RtcgagtHcgVgttataHDcatttaagttctHtcgMRHtaaagaVactBMtatgaagtaa +aaaBNtataaNttcKcctaNttaaDtcgMacgDcaMatttgYtaaNtcaccgatgagMtg +ttaggWcacHttNgtcttHYMcaattKcagttcNcaaaacgNaaSattgKttaaBaKtta +tttaMggHcttttaaRNVgttaYttttMVRtYVgRatKcgVtacgaatttccBatBgYBR +tSKKctaaaatgatatgBtcttcgtttgacHagtaattatatctgDtBttatgaDtatKt +cKRcRttagattattagHgDNaaaKgcgMtHtttKtDtgaaaagtaMatcagaaccgaat +KgtatatVaccRaKYtDHtcSagtBgtgccWaaaggtYKcaHatDDaaattDStDtcKgg +tMgcMtgtHtcaaVcgtttNtagtNtgKgctaDcScgBcWSatgtatagcKgWgttgaac +gagtgcgcgtKaaaacgRtttccatatatttttMgaKagcVcVRataccWctctcgBcga +ggcgttaatgaHYtttHtaSWtagcagtttKtYaacaaataMtaNDatRgMBaBacSaat +aSDctgaactattgataaRtaVtttHatWaacWtVaHaaBDtactYtaDactttSgtKtR +attgatttatatattattataattBatagattctaacDcRMaaggttcgtcatattRVYc +ttKgtRcgWaatcgaaWWatDctacaaaagaattHaatctgttttacYatKatBaccMaM +aaVtcacStaaYgYKgtttctcattatattNgSaaHtgRaBtcataKYtHtacttgtaca +aaDtYtgatagNRcYatgaStaaagactgtcWDtYaatVaNStagaaaWtaaaataDYtc +aMatSVBVaaaYagaaaattgtgcDagWSaStattttaatNcacgataNBtaattggaat +gcMgacattHaattctctaaMatactaBaaattacaHWgBNtNaaSattttaacHtgtag +tBtcRtttSaNNaYaMaDtatDtagaKggYgcaaSttgctactDcNRtWgtttaVtggca +aactattgSgaagtattatgDgcgtgtcttagcNtRctKggtMaHgaDaaagtactgtcg +atttagatcagNggtaattaKaatgaaYaaHaattggttVaaMggatactctaBgtYHMc +ttccVcaaWtgttHHRgagttKaaagaBtaRtaaWaggttctatRatSgtatcYtaWcat +gtaBtcaatctaatRgaYYtWtccattataBacttWtcctaHaaaaggttgacgtRattK +gaagcattSBtttctaNcSctSStNtYtWaWtgtagtcttgtctttaagNKgaagacgDa +RgtNaBaVDgaattggaYtaccSVYKctSKKcatagttgSttatcStactcaatSMataH +caKgatWVYtNacagtttBtRagYHaagtaNaaVVDgatattMaagattagcatcctaMa +aMctgNtMcSaRcgctHMttaattDtttYttcgataaagtMtaagttaWaaDcaatccKg +tgMMcatBgtRtaHBcttgtBaBggcaDcgaWttgggtaDaggtgatRtYaMWDttatcN +tVcttRaKagctRgtgcNaatctgattatagattagtatatgaataDNatcYaggKRaca +atcaHcaagttagtKgRatRgttaagaaaatacVctaaaagtgtaagKVgcttSWaaHat +agHctagtDgDtSaVtgatcatttaNKgKHataKBctatatWaNgtttgcRaVNttaDgt +cttagHYKatYaVaBtaatgaBattaYcNtgcaBtHaacttVtccatDagVaaaYgWtND +BgacagVgctcaRtaHaaacttttacaaggaSRaaatagaagaatacccVaHatcBRtct +tttaaDMHWtHgacMtctcaagKDttctgYctctcNagaMgcgaaDWatMcMatatttDc +tttactaVSctagttcaRKWgtttKRaVaaKtacaacaKttatttttggcctataaDgtc +BctBDgcYYaatNactcaaRgaRWcgattgVNcWaatctgKagDMgctatKttRatcatt +MaagtctaRaVaattKctgaKtatccgaaRatcHMaaaaaagattccacgtacgaDStat +atctcataggtacgcgatgtgaaggtHYtatWagKVKgaMDcaatttWccttgKgagtct +agatgaatgVRcctaMttgtaRaaYtRtaacWgaaaMttatcatNcgttactaaggtDaa +ggcagtRctcatcaatggYagccagcgaatatagtgttWtaccaRctagatttDtaaatR +cDKtccHtBWgttctWaagccYBSgtggaaagHNttHtctaaattaBatggaDMgaBgat +atcaatactcMtaaKtcYccgatDaYgHDBaagBattWattgatttttaagaRaaggatg +gYggaKttaKtBVBcttaWcttBtacctYaNYttgctgtBaaMtWtcWaagtaaggWcgM +DaaNtccWMWtatcMVgaSaRctaKtBgKWDacDgaaaaNgttcaaaaataMcttaWtat +gNaVaaRataWtgKctRatataagtgttgacgaKgaNgtaHattaaRagSgattctatgt +YtcaattagBYBatccYtgtNacHagHtacVcVacaacaccgNgBtataYaatWHSttat +tgctDacttgtgHgHcMcHacagctRSDtgattaggaDHtYagatggagWtaMatcRccc +acRaaaYagcagatgatacatatttVBBcaaMtctctaWgaNtttcctaVcttaYBDBct +RgSaagcNgatttcacgtcRDaVBttaRaggtaaggHcacttccgDBKgagaatttataa +aMaRattagcVgtttacaaagagaaaMtgDtttYttggcttataKaStacaVttBttctt +gBcVaataaagagtgagBgcgNcNattgaaacRcactDaaccaatWMtaaHtBgaaacaa +ccctcMctcaaatctMWttggttttacttagcRtttacatRtccBttVcatgaaBacaYg +agHttatWDtcctSatRtYggHtNMttRgNtgcatcacgacagaHgtYaSaactgaaNWV +agtagttagaNgatctgcatWYaDacataHtaWttaatHaDgactYgttcaSVtttacct +aatttaDgRcagacaDtgcYVttaagaSSKBYtgHtDtNtcgtcWttDtgtcNtgacKag +cactccDMacDNcccctWataRKcaaatttctRVaacagcaMtataaattWBctttgKgV +catttaVgtDgtatHtgtaSctagtatagcBtBtgtatgtcgcMcgagttctacgaaBgW +ccgaWatgcaRtWtaagYttaNtcWaHtgattYDatWRgRWagtRcHggNatNttWaaac +aSgcaatMatgacNgggaSatgatttcBHcctaaggWactacagaaaagctMcaaagaYt +HVgtaaHKgKattVaWtttcctaWgaKattatgMaattBgaaagtgaSaaaWtSNBtttY +ataVgNatgaSgcBaaccatattcctctagRtattatctttctMtgaRtctcYgaatDtR +cHgcRVtWtaacDtcacYatRcttNgcgaDtVctWtacHtatatgtatKaaggtaNcata +KRaataacacDctcctWgtSaWcatcDgatatBtaatHSNBtcaataaStHtacttaYaD +aMtaagMtgNaaaaNccccgYWHaatgcBcttaBcgtMBKggccaVgacaWgaaaaaVYc +RKctMgcaccWctcSacttcVtacgaagtYtcctttttaYgttattaataactSttRggt +cVgagWRStatKataYcaatNMtacttcgcttVBaYRaKttaaYatacagctBgagcttc +HcaatBaaaVcgctcacaMgttaHaggctaDtSgatattggggBgRMagtaattggattg +YYHtVtcttSRYaacttataBtNKgatVaWSDWacatVcttgttgaagScaDaSttcact +aattagatKttaMcHtMgKccaYatKataMcKNgattgtYtaaRHHcaWagctgtgcYat +MHaatRDgtgttYctatNKtSDtaKgcBttgagtKtacatgaaggcgMatDaWtcBatag +taaaatNYtSVgVatttcaNgRtaRaaNBttggaatVgaaaaagaaggtgNtttVBgcct +tgtgaBtgMgtaaacBgtactWgtaacctatatggaSYattYtVgtttaagccaRtatRM +cgWMgDVSNgataatBRccNagagStHttBgctaBagatattaacaagaggttttcDaRa +gtcDgtHttcataagaacaKBttaBgactaRatgaaDYHttgVagcMcBDgYactWgSga +cBataMMcttSaRHgcagKcgaaYaDgttcataYKcttcMWttattaaBacDcttDtttB +catVggttVHtgtMgKcgaaVgtcgMaaHHYBMaHtaaKaDttaNgNtttttaggMcWtt +NaaaDaaaaactRgaatagSVHtaataagttStccaatcHataatacMcattHtacaatt +tctgatggacatatgcaaacaKBatgcagacagVcctccgcaacNatcMaHtcMtaSctg +taYgtStcBtcatDacRggttRgagaaHatVcttYWgaDtatgYcaBKgtSWVYtttctW +ttHtctaYttttaBtcataaNgtBRaNcgttKgtgVKgggVtWatcWagttSttttttaM +aRWtccgttttattaHatttBVtataSctRWtgcMacaattaStBcacggaatRatactV +gaagMaaagWacaMgctaacaHctHtaatacacgaYagtcttKagcDttaKBHccgtaHa +acaKVtcMKcaataaaNaggttSaatcatgaNaaBtacggBcaagatcRgttttHaNgtK +ctYatBHHtaaaDNHtaVtVagttVacKtcYgcattcatacaaagtaacKaKKtaaNtNa +taaNaaSaBtagaattctgacacNtaHtataBDttBctataatagYSctgtaHcgccgaM +BaggttaMHtKgttactaaHaacgDatataaagcaWtgaMtttgVatcKaattcgHVNat +NgDaaYtataHacaaacaagagtatatDStgcNgcRtaaWVVaDStNgtcaaacgDttaa +ggNttWcaVNaccctgaaaMcagVYVaMtBgtatacSacgSgNtaaaDtRaBSaWcNacg +YaggtcaYtattagVStaccgatgSStMattctWtattHtHaDtatgYaatattgtttta +NggttVatcttRcgaNtHaVaStgaagactcacaaatcactgataaKBtNHtttctWWta +ttgactacNtaWatataaaBaatBttgggtatYtttYtgttttVttgagtcVaMVgaatN +taaNgKMaacgtaatattKWggcagtgRttgtgacactaaYacactggaaKaWYRgcatg +cgttctBcttggtVaaWgtttHagtcaatctcggaNWtaatBNcaMVKStaNcMtgatat +aatDYMctttcgcatgcYtHtVNgStggagcBtggMgccctgtgNtVatactgcctcHca +taDBtaStgNcagaYttaMtcaYtgtagatDaagaHaaaRcRataattcaDtcaDgttgt +atRaaaaYaRgtttDBgDcgaagcNttgcVttcacttaMgtMWaYaattcggaDcgaVtY +attaBYaaaattaHVttttWaacDttaRaSWactcBgaRctacaVStBaaatRgaacMSa +agaatagYtNctcaatagctNttaVtgctgtttgYcttaatgtgMaStactgDBagVSgg +tSKMYttDatgtMaaSaVtccSRMgaaaactHaatWWtcatttctDgcMcggVtgtRtca +tctttNatcaatatYaKaaaatKWtDDDaaactaagtacRHtcKttacaataggttWctt +ataSaYctgctVtaaVggatcctaHVttgWtgHtWttaDHaNgaccctatatgcWtNtta +cctaYtttDWtttaggHNgccatattacKggattVatatcRcggRWMtgcaVRaaHgtaa +taattttaggtctcDccaatatgSaaaagatDtaaVtYgNaHBtcaYttaaaaacagata +taaagttaaaDWccMHMattggtaaagtccgaKtatDKaVHaBagaBatactataVttDt +tDaMagctctaaDSggtttgaDacacVatcttNtgatKtVaBStatgNtgDKYcaatcat +aWtcNatYccgRtcgBHacaBaatagaVtagcttgaKagcgHtttDNtgaagMttStttt +gDDKRWtagtaBgtgagtgBcaDtWtaHcctatHatttgttWgagcggDtgtRDRcaaat +agcacacRtDgtgVaWtaattRacVataBWacSYWVctgYtWDaVtaKataaacttKaaa +MVHaaaaKNtaaacttgVataaaatMaaatMaagtatcaaRtatSYRtBtaataattgtt +tgaWtaNNtctcaatNaataaaaaaattgaaaattattgtgttaaYatccccHtaNcatt +cacttttaMgVDtaDMtcaWSgYWcSYtSgaatHtgctagaVattaBtaaaYgatattcg +aaBtgaaDacacatRaagcgggagggDMtatDttaatttggaKSNtactRMttactgtBg +gcgtcatNttctattaVacgttccKtVttMacttWtctaYcacgtaVtaaRgKcttggat +SYatattttgttacaaMgtgagagaSatattWcagDttggNtNaaYtaggaaKtYHcttg +KattWagNgtaagHHVatYatcattaaaaaYtHgttcaaaataattatBgcaKWKtagaa +tagtatBagaaMtattMagaMtHcWgYcacgttagtgtDNggctatNatRcYYHtaacMa +SStattRagRcgataaaatWNNatgaaatttVtKcRtKtDtaaMcctccaDRcaHtBSWc +YtaKttcacaaMaataaMaactccgSgtYattDtaWctagatBtaatSgatgatHKgttg +caaaaagaScHtgaaHRDatSagatcBcggcatcatYVaatgMaatStgNgWaaaaMttg +cYaaagttSHaYgaaatHattBgtaaMRagSaSacBaagtttttcatgttaaYcagYtgK +tYctaStcaagcgtaVattaNatWtHgtHKNDtcNaKaVaStSacaaStttagaaataat +gcDSatgtaKtgMMtcaaagtNattacMYgtgctNgVcaaNcDtaaaVtYggtaaaactg +caagaWNcaaacctDSaaSgVaKtctcatataMtggBtaRttKtagRcctgttaHgWRaa +ttgDaaatttHtaccagctcagaccKaaBctaagtatWtaVagBgtttatgaHaaggatt +StaactWacKDVtMHccgtacaMWYctDtagatttRctaccRagtWcWgaaaaMcagttc +tgacSctaaaactgaatcacaNcaMWtWccYgtttNaatttggttaaNtggttSattttc +aacgYVccMtcgaactBtatcYttcYDVMttcgattaKWtatttagcaatatcagWatgc +RVaatgRtacWaVVBttggatRtaNgRagttDYataacDVBcaaactttgtttgaccata +gHMtRctaWcgacagtgcVcaaVgRgtaagtRaaaattSBKacBaatcagaatgtHattc +aVRtatVSSaKatNataWRVaaagMaacataDgataWHatcNYcMtatttggaSatttcH +cgacaYcaKaaatattacHcSaBVatHacactaMDataaaggcacaacaSacctgtaaRg +tcccaaaatWtDtagtcaagNtttgatDacDgcagaDcWgatDaaKagctDWtttatatW +gDcaaaWttStDtKtatSagVgaaKtaacgaccgMgaSaatRRcagYtgttNDggcHSca +aYDWtcaacgtaHgaStKtgMtRtaatccagtDaaacHgtacaaccHtagataNaattat +cVtgaKaaNaaaaaaaagttgMgtcRaNaacagtaKcaBgtttgaMDgDMacttattatg +aDgagcgtcacaaRaagtYaggMtaaactagaacagVaMWataggtatHagtttaaHtca +gtaaatgRgcatgRctgaMttBaaataagWVtcHctgtgtYaaaaVtKtaSaaBatMttt +gttatattattcaaBYctBWtggatBtgaggDagtgcacVataRBctaBaaaataatttt +tNggtccgtVaaaaataaattBHaatBaagaHgttaagcctaatcaaatgaYtKaatYta +aggtMgaRggtWgggNactaacgaRaaattSttWtaataaVtHgtacttNtaagHaSacg +WggaYggNStcctgacgDcgHggtttHggtNtMtttDatNDgtgacgtatacgatKatat +aaacaattSaaagcagatKtttSagcaaMttttgaKtMtagtcRacctKSttBttaatMt +gcgttacaaagaVaataattcaSaaWcBVacYKtacaNBaaKRtRtcgWtWBaRKVtYWW +WgattgBctaaatKaattaYtMtSBMBHDtBtaggDtcNctWYagtgSaaBaVtcttNgt +cgttHtgtMtctatKtatVggKaSaagtttattttatgtactactHtHttSMactatHca +agaattVataaaMKNtaMccgtgatDaHcaacttRataacaNgaatcSBtatgacBcctc +gggtaatWaaWtacacaattctRVgattctatgtgtatHagatagggacVaattttDtNa +WKagtatatHtagacgaggtatgtcagtgagHccccaatNataKMBaHtcWgctagtgHa +atBatSataDatatcacccaagattttcSatKgatWtgaagtcBMataaHaaMaattatg +cttWWtttcgVKYNBattggtacttcaaMaVNcctcHatcgctVcttKatgtctctBMgg +acatcaggacSgaKttgagtctKVYaaagtaaSgaaaHaWactgRattaaBttVaHtgga +ttagRWtaaDaaatgatttSMBWMaDactScgRYtgaVagNctgtSBataKacStHRatc +tVgBKaggccaRctaacttcYKtcaDcttgaaacBBataatacYMgWgctgtacttttat +gaSaaatYcccgattattRStccaaaBagaacaaaVtttgcttatagaaacacScccSaN +taaaaBgtaaggcDgtSttRatMYSWatcgtaacgtStBagttaVaaaScccSggaMDBS +gcaaKaggatatacgtatgcWactccgVctNttMaYtaaatKaaatgKStaaaHaKatat +gBtcctatgtVaBggaatBcgcaatgagtatHcYagctDgtWaaccagtatWWtaRtKag +atagtgKatatgaaaggcaWgtNKaaagataWaatHaaaaaKMaaatttBtatHtctNac +tKtBVVagtatcacgtMgtgttaKtaatcgaaMHtYKNcMaatgcaSaaDBaaaaagaWa +DtWMgaacatttDcatttaBaBtDttaaSMtcagcttttRWWaataattcNctactWaat +NaBaattaagaaacttYRHaccatatKtaKcNVgttYagttBtaaaaVtctcgVctagct +cgSVatatagVtMcaaHRctaHStttNtcattRaatgtaRtgttaatYtaagcattgaat +ttaKtctaKKgaaggtcgMctttcWaagcgWaKcttcYttgtgaRaagMtDatgWgYaat +aKaatSWScatKBtYgtaagagaVcacgctHStaacaSgBtgtaNRYaaWtWcKgaccDt +gaWtgagMaYgVVgBaRacYtcKgatcagttgtaKcgttgagNaStctggaatVtactaS +NtaaagtaatcaattaaVaaDattHDBaHKDHctVggcaaacccKMaatVtgttacBcct +StgBgMtScgaaHcatgctMtStaVttttcDaNagtDVaatYcggaDaYtaactaNgtcc +aattSacaaaaRgtagaaKgtcRSNtgatBacccttMtactatKgtaaRMagataMatgV +tVKagaRagtcagMgMaatRHNttagaagaatgggaatcHtttttSgtNgYatgtgcYta +atgDctMaaaMccVScgcRgKNaaagtaMtacaKaMNaBatagBttttcttttYatataN +aWcagatttgMtgaaacaBYtHaaatgtaDactatttNatttKttSattgBatSRtgKHt +tacgattgcggtaaaaacHHtaNgMcgHaVDtgtagaagatBaaagDttaacSatttaat +ttaccagatataattggVgaRctRtcgccVatRNtDgcagBcVaHtBaatDttatgKRKa +gataaRgcagtaKgagttatatcaMSagttccRcttaaatgatcttataaacaaatttcc +cttaBaWtagtagttMaacMaKaaaagHatYKactttRatgtctcgattBcSagaDKttt +HtBaccttNttVttVVtggttacgtaaBMRgatcgtctacaaNBtaVggttYaaggattc +caNgRgtagBtgtaBacaagtataaatBaaatKRtaMtKHgatcgYggDSgKRaSttHSt +catgtatatWacacRacHcatYtttaacYatatgtgttNtgcSagDHgataYttNattat +cVattcaaYttggtaRHtWtcgaBacgtttaBaccaBaatgtcgcNagaNtKtaDtgDta +tgDaBtcKgtBgatacNaccDDatttYtKggMtYNtaactgVacattaaHgMttatcgtH +MNtataBtKSgccaVttaBcttattcBaagtgaWtaRtcctDVRatgaattgatatgaWg +ccacDaatKaHtttacatNttaWNWgtacaggctacttBaYaaatatacaaaatttcgNH +gMgttHctcKYcttgMtaacBaDVtaatttacagaRttttttagcKagtKactatMRtgt +DtaattccRcaaKSttagttttBtctatagaKaVttttgcNagtKVccttagRgWaNaKW +ttataDgcgaatgMKatgatRcYtctgVagaccgcgVgactagaWaaHNtcRNRKaatac +tcYaNtSDKtcVVggNgDagtttaaKRgttaDcgtNNgtcaYttggtttYtatgtaaagg +attttagatattKMcatgYaaatcaVactcagagtRYtgtaactatagtBaDtVaWatDa +tctataaaSgggtactaYaKKWagaaaaataaattatagRcaaaVataVagatatgtagg +cWagacRWattctgacgcDtaBcYattgtaDggMatgagcgagaggctaaatVtctcagR +agDtSgKNcgtVcStacatttagNtgatSNgatcYVtHattHtBgMacRaattaHBacRc +NaaccctVaaYaattcVccatacKcttSagtctgKMNagRaNcatNgcgHattStSKYRg +gtcagtcaccattttagtMaccctggVattHaatVagaaMaattaVacatacacaaatta +attacgtKtagaaaMgatWgWccatYtagacKatctKatMcggYcgcatgHRtcStVtaa +tHgSaaaVagtgaatgtgYtattaYcRagatgatcataacacSgaYaactMKttatRcga +ataaMSatacNgaMatttcggccacgaYYMcaKattRagDtRtatMVBtaattWtMHgNa +WDgStaaSNggStcBcVYtaYagaHtacagttccMcgtYtYttcattgSWcttagttcgt +HtgVRYgaMacttBtatcaactaaaaVtDgataaDgtatcatYDttaStgccBacctaaB +agttgRtaSBtaaaagWgcacBggttagcMaYatttBgtaggtRBaSagttcacgtaDaY +aaaacDSaKattctgtSatatgtatggVBcctctgtgaaHDKgttaRttttBMHgRMgHa +gtagMgacgaagttaatattgRtHtHttatYaaagcagatgtgattagtggcactactVa +ttagatctctgtttatcattYttgatHcHttagStgatgactctDaaatcagtgttgttt +ttcYaaagtatatcYcaSaacaVttcgWtatKaaaHWtRgtttaKacttctgaaNaYacc +tNtcStatttaaagttKgtgatcctBcaBtctttaaaKagttgDtWctDtgtgctataKa +gtaNHatctagYgatcMgtggYaagactgacacttaRaaccHgttcaYtagWtggtgBcS +tacaMcMHataaaNagatactccaggagttaatcatRttttgaKNgSgcaggtgttRaYc +aaataBtaDtatHgBtatacKaataKtaggaaatatgcataaHgaKttttatMaaaNgMa +tYattgaatNtatVaggtKctttHattcatttatYtattagtataYtttagYcattagaa +ataHtaaccttactcatYttHMRagttctDagNSVgcgVaNNattctVcaaVagaattta +agaggttttacRagtagtaaaBaBaaMtaScKgVaRcNtctgtataagtatVgtDgHaYt +tcHYttaagatRgtgaattctYaaaattRtcWtacDDaRatcaKtaSacaagctaNttRY +agMSDKtWgWaYNgaaaatatNtaatatHMtMWRaRacaaaatgctgctacNKaKtagtt +gVatDaVccatSDtgaSggcgWatccBgaaVtgtaWttagatVaBWtacgWtaYattaaa +tMctDgDaaKatttgaaatgctWctttaHtggHaBBSRVBWtgattgagatccNcaaaHt +tccgVcttaDHtNgtttaMggccVWaagattgKcaacgagtatgtccctctcttaccDtH +cttcctBatcStVaactaatctacatgtacataacDgcgaVttataagcaaRWataattc +ggtMaaBccYgRctagatctNtBaggacMaaaNgctgttHgScgttaaVgattVDtaaNa +ccggatatHatKcgataRtaMcagctattcaagagaatHcYRNgNgcaWtgagYtacttN +taagStaVVagctgcaaggHatgtcaWgaattKttgtcgaBcKatKKtDtRtNYNtctac +tatgcgatgtaacDtcaYgaactSHctDataKtcaagtccVRtWaaKMRtagKttaatag +tggKttYtaKtVataWYgHBatataatcatNMRtDYaYcttgttHagRtYacgaDaaMMt +cagattBVScattYcaataataBWaBatgDtBaKaHacagtBggaVtgtgttRtgacata +aagtBtaVgttaNaatcaSgcctgtcBBaVttctHgVttcttgttatccaatacaNtgcg +ctatacctcatHtNaBMtgtagaDtKagtHatacctHgtgaDVWtatcWgtatScattac +tSgatcWatatDataRSgctHaaWataataYacgtacgtgDatHcgtaacSaaagYaMat +aYaactggaagtKgattKMaatStRgtatVgttcttKSMtcataVtttaDtgttatatta +gWtatNaDcttgccHaMDttStgtctgagtRtatRSMWttaStcatattaNaDtcaattt +aVatgMtcaattagMYWaRcNtDttcaaagMgagaVHtatYaacggttScaaccVKHaaa +tacWagaataaccMatWgctDtatttgaatBtNttgaaBgagaaWcttggatcRctctaD +agWBcacaatMStBcBWtatggtagtgaagaMKatacttaYHtNctgttHSMaWttacaS +aatgtattttggccatatSatcgctctttgaRRVVtDaatcSYHcSDNacattcMDaNVa +gatctSctBcatagtggHagaVtgtSactctSHaMaWtgtatcattWtacgaaHatatBa +aSaYacagtaaaagtVacatKtatatataVtagcgWccacagctcaaccttRtatNactM +tcattaaatttNaaggctgYctctacatcaVgcMHaagaBttcgYDaSRtHgaaaNcaWY +BggataatBactgaataYgcgtaacccactHataagaaWgcgRacccagagaVtataggc +ttNtaaaaHatacatttttYYatHattgaatgtNcttatNaVcaaRtKctcgaaWctDtt +ttataaatgatagcgSttcVtgatataaataataBgaatgaRacgagtaRctttaactat +tNagtcagtgtgaSgaHRacgVtggRccatttatgtMtattaNatgttaaatRaBRttca +tcttaRBtNtaNSWgtVSgcNacBtWaDgaaNBMgagaBMgaHaHagatttctNtWatca +aaaDgtgcaaWaataBattaNtatgDaMaWDataNtctatDagatSWctctggaccatca +BgtatattaaHacHgattcgatgtRtaYattactNtWgaaRgcgDaatactgWcKaMacR +SaSaacDgtgSgSRaagNtKttattcattaagtctgtctctataaVgctHKttgVtgacg +attgRYcatccWcMtaBagaHacaaaDaaaRVgcacatgatYaatatttMttaaWBtctc +gaNcWDtttcagYKattaRtttagHcKaacaBcaggtaacctaHtaMtttaHacctVacc +taaagtcactttcWcaatggatSaataHattacaMggtgaaWaacagaaattgttggRgg +cgattatWtaKtScWKggtttcttgtcMaRgYYacacggagtgccDcDattcaaacHaac +ttSScaaStMttaYtgtcWaaaaaaaataBataWaatatBNttcgttgtVatgacaHtgt +acatHtaatgtKcatgSatacVRcVctttagNttaatKYgHtRccttDBggHgDtgaatc +aagacacWtcgRWKaactgRaDNMactactgacaDgVgatcaagNRatacagattSMtta +attYtgWctRgttaaKMgggaaataagttatgHaScYaattccRMggSagaKKttRggtt +tgDtcgtcMttttggaDgcVctYcaaataattSctDaccatNataDtaaaWtttagHMSS +aagaaBgatYaaggNtagtgctcMaatttWMggtctatttggaKagaggatWcatttgct +atcgcccBacacttataagaYtcNcagaNatcaYHgNgaacRgtaDgaNYttcattRtag +NDcHNVcgDctggDatDtgNaaaaaHgaYagtRtcaaDcgcaKatcagttattcataacc +NaatacacaaYWcatBaaaacaRttMgtaattctWttMaMtttccgaNcatVtgatcBaR +tttgSaactcaKYaaNtKDttttRagaMcDYgcaKcataVaaagattcatatWcHtagta +gatttctBtcWHtctaRgaSttgHatgaHMtNtaactgaaaNWtDctgDcacattMctNg +WattatatctSttaScctaDaatatDYataaaaatataatNctKaNaatatcSgagttaa +gtKDttaaStaaHtttaatgaRataBtaVcBtcDWWaaDaacacRNtaVggatattatag +tBttggcaaKcacRNgaaYaaMRaHtatBcaaacNataKacttaMtaacaacgRtaattg +ggaRcttagtWataactKttDccgaMcacNHKtattStaRcSStDttacggagagtMtaN +HatttWRNVgaaacattcScatgctaVSttaRaMagatcScaBggtatacgatVttKcVt +agtgccgtcDtagtRagggcagggRRttKtcgtKDRaaatgatVttDtcatMaNKtNaca +gMattgttcaacKaatYKttaactaatgagattttaBattBctcaaRWgtYtYBatDcat +tggRtaaHttcaNagagctcaRatBtaagHtctcttRatagBttHtgatgattgcRcgtg +SaagcYaccacBWgtaNtctagacgaaSatBNtHMcKagttaaDcHtaDaaDtttccaat +McaSaaacWWggtgDtgtMtcacggcgcWttcBctaaVatggaagNgtaacctagatggY +KRVttRtMcgttaagccaHgatHBcgNtctMKDcYtaVttHaaDWcYcKtttttgatata +cataggaaaaacWgctgttatWHaggatcgtggcataagaaaWtttgatcaagaDatgaW +tRtttgMagcBattcNaatNcKgaatatWBBcttKVHtgcagtagaYRatcggaagaRta +ttaBNttattaataatatgtttttaagMggggMttctBgtcgaaMctcctaVttRtBatt +aatattgVDcDtggtgaccBaNttDWaVtaaaaactHcaVtacKMtgaataacggHtaaa +atatataYtacBcattttSaaSttgatcatccacatatgcYaVcattatcaagacYcMaa +taagaWWcBataBattcBtaKatgtaRgtKgattaSttYaHcgttHcacaatatKatgRM +gatgatgRaattctKNMRtggatNttttagYRtgtgYttaataaDcttHaDcctttgggM +tcgcMgNYtcNacttKtttttgYBaHMgcccgggtWttatVttttMtVgaHagDNtccBV +aaagtaKttaaacgaYgHagVatMgaacBaSacNaaaBcagaaaatatttaYgaaSccaR +acgctgtYcctttStttaacgatVWaatKtaBtaaataVaBVcctgKaatcaggaDYatg +VcgctaaacVtcHctggttaDggtatRatttttaaatDttaMtMaggtMaattaRcaagg +aatVaaaactSRctatttWaDtBataaBaaKattScSVgtatcWaaaBtattVtattttt +atYtaatacRKcgcgYtccaacVBtagcttYBtgtgttaataataWactatataaVccaN +tcaBtttcMagataatgactMBatBctaaRtatataaaaaaRacagtatYgtHgcaDgaH +taaNMMStKtDgtaaaaactgtaaccBttMaaMDVaaaggaVatcScMRMaBttctSgac +KaccKcDgaWattHVtKaNcDaagRSgcgcaRgagtacMKtWaacRtcKKtBYgtagNta +tgtttVttatcRaWtattcgtttaDccttMVtatgHagaBgtaMWKtcVagaagcaaaaS +taaatgagaWtttDttttagNMgVttcWagacDgaMatataaataagtttgcctatRttt +NtcttggMtggVcgaMaBMgaatDtVaDgttaaacgaagVtttNccaagtgHgtgtcSca +ataaRYaactgcVWtaNRDccSggagttattatgcctMaaNcgtttVgtcaatctaccaD +MtaattBaatMtKgaDcBggatVtaattRBattgcccatgaNtttMDcKtgcaccttccB +ccaatctgDgMSgaagcactctaWtattgaHgcDaagVRgtaBtaaRtgtYcYttaagat +aaaHaHataattaattaStcttcgatHWaaRRSHctggttgtccaacaDttcaKggcVcg +tSBctBNaRaattcgcatagaMtNattStRSaaattVtMtgttNYaatgtaHaKNSagat +caHctaaaKKgtaYatDgaaaBKSacaatacRgDctaSagVcagDgtYMtcatcgttcRa +tgaatgtcBSKtSagcttagKKccgHtBRgttStgtBaaKaMtaaKHBgaVaVattaatN +NgcattgagtcaBaggMgctHtaatatttDatcWatagRatVaaattNttttaaVctYag +tRaHttatttaaaVtaccgtNattataKSRcgcagMgaaMccagaatatMgtgNtcttNt +gattaBgaaaagatWtccNtDggaaagaNttttNtttSggtDcaaagagtactccattMa +tataHcgcHMBtgaaKHSYtctaVtaattgtacctctctaaaVtatgKaWaacagttYaM +tNgDYtttcYRtgYaWaaaacagataaacgtaVatNaaBtBattcctWaaggcacatgWt +ttaMtVtagatatacgataMtttggtVBagatctRatKggttgcYtacSaMStattBgca +tttKatKtVgcDgcttNaaataatWNtaDStRaacHtacttacataatacaMtYgcggca +tYcactttttDtcaacBtgHttggctttHNtRcgatctcactctcattMtatccgattag +gtgggNgagacgttctDtHcaaatacaVaaaHttctcMaNtaattHWaMYgatNacKNNM +atcRtNtYMgVtataaaatttaaaBMtaaaatBtaaacttgMataaaagBaaatBVacta +gaaaHtWtKRHttgaatVattctttgaNgaDDtatcVWtDaataaaVaaatgcaYaagga +tgggcttaaRataaacttVDcattcaattgtaBcMtgYtBtcaMKcRNaKRtKcaatttg +atWgaMagtWtgYVaRcagattacaWttgaataaaaWgHaagacggYccctBtWttttYV +tttggatKBtVagHBgtaatgttcgaggaWtDtgatattaMaagttcattMtttWcgtNg +cgaRcaactaMgaVHctctgcgagKRatWtggtcgtWaaaBctcScVcaHatattNcact +ttccBtDaaNtYggaattRtcggctaggNVgDcgaacttMatNagaagtaaRaaRttggt +aVSaagaattattcaatNttWcaWtaggattScaStgattBagVBttaNcNaSagttagt +cttDccctatBatHaRRttaacBYKKtattHVcHagStaSaatNDDatcSaVgtgMttaH +ttgttaataatcaYtDcatttHNaRgWtgtaYcaaBaagaatYaagaccKggRattttaN +cgacStttaatKcVtcYtttcggcaaaSYacaKattgSatHtWtKVcagatccccStaat +RMaatgtaatKtcDgNaYaaBttccRaaacttHtaRcaaagtatgtctaaBDVcKSKVat +SagtggttaatcttaVNaagRtctgRataKgcaagactSKattaBatNttggttDtgcDa +taKaKgKacaWHgttScVaagaWtcatHagcgattcBBtcWaactBatgacBRctgatDc +MaaVDattWaaKtRcctYVYacggaaagVNBaaaaaattKYaKcMatgagcatStaBtcc +tgaHgtttacHacgcttatgNHWatgctWWattttgYaaacctaacYcataVtagVagtV +tNgaMagtcgttatcYtaagcatgKgaaagNSattKtttaaggacaBNRatttacatttH +ctaaaHactNcNcaaaYBcacggctcaaHagaaSaagcaWtcaaaDaaBNtNacRgtttB +SVtttccttaaDgcctgKSttgtcaaacNMcaBtagaWatttVgcRtgaRtMttgccVtt +atNtatggacaaagWgcacNatcaDMaWtcHgaaNaMMtttgcatHtYDcDactttRYta +aatMtaVaaattggtgtcaacatVctBtHctYNacaaactcaMaaaMcHgtaactHaaWa +ttKttactYataagaYgcttattaWMDgStMKKatatDataNHMaSagBaaaVtYtgVta +NtataDRcBtagttcgVKagggatacaaSRaataaatagtaataKatMattVaSatSBta +gVaYccaaaYacaKSactctaaHctaaaSaaagNttgactaSacDtttcattVctccagY +tcNcagtWatacattNgttagagNctaYaYNttKgttttatKacMgRatgaaacVccgtc +aKaatHHcacRtgtgDtccatHaaaRtNgcaSagtStgWKtttgBtHtSagaaacgtaSa +atctacWaaattagagaDaWgtataMtgataaDaaaaaaaagttcBggaHaDWWcYctYt +catctttcaBtctBaattattagcatgWcacgcaaaaDaactRVccBtaWaatYcVVcac +MatNatacctSgtWgtttaattcactaaagcHgaatcHatcaBtgtaWatSScMMgctat +ctctRaaaWMgttaKaatagBtttcttagaggVttcaatRattNtccatttcagctactc +cacMatSHtagataaaWgaagtttgDcctaagtMaaaYagaaattttVattRacatctga +accataYtcaaatcaRttaStRgSacctBcaHcgtMcccBaagaaagaDaaattKttNta +ataaMgtctYcttDgaactaKaacNgcaRccDKtcatgaagtactcgtgttcctBtBtgt +tatDtctgaactataacagtagStaaaaaatgHaaacaacYgtgtgHacaaattgttcSt +tBtVctaHaacttKtttttWatBtcccttaaVaacaMaagaattcaKaSNatMScRtgaa +aDtSStDtHtacNtNtaHtMtNMNNcWtgctctaaWttaattaNtttKtBttttttagct +tcDagMNagtcKWatVMgcttBcgccttttgtBtatatttYtMgctaKaacttgatttta +tctaatRagtttggKBSatagtaVVcaattMataaSBtDtaBaactgSgtatcaactgHa +taacaDcaRtcKttatgaatcatacgcgaagNYaNgaaacaattatHMgYgtagatctct +WttacatVgcgRcMaagttgttDaNtScgStWgtgacaacacggVgcgaSctcactcaaa +aYtDatatBtattaNgatactctaagtWtKSgYtatataaaaaYagaggttaKagtcYtN +tgaagtctBWgaWtaaBaattStcatgNNtttagMtRDtWttgctYattcVSBaMDcaga +tVgccatMatttatctatcgtBgcScYtaaccaaHcattgcagtcttMNVaactWWKcaa +ataNaatgHatgaatgtMStgccattacHNgVataaYtgaggtKttNBVtYagKacHRgg +YMacDatcgKtatVtWaKgtHatatMgttScgaaVHagaaattaNttaatatgcaaactt +WgRagaaRBcNcatctaagtggatgVKaaVgNcaccagtatgHKgacaWatYcSacaRaM +gttgcttatVcaaWcVaKaaaKaDtaaaatcgVaccatcgKgtDagBNKNatccgaacgt +KgtYctgaKaaSKcccKgcVtttKcaaYtagcagatVcctVtgaMYctaccMcgDtgBaR +taaattaaagctKtaaatatatVgctgaatatctMatccaattacaSYgcactWttaRac +attgtNaYcaactatNNtaHttYcStactctatatcWSaccaVNctBtaaagataNaagt +aaaaStBaaVtggttatttagDScttttMMWctagcaactBctcttattSatacSatttR +tBataatcaaKVSttaaaaacaNattMBcaacagtttcVtttatatttgtaaKBgcacat +tttHNNaVtWaggaDataatNaWtBataattVacWaaattRHtacaSgWtttataDMctt +RScttttaaaaMgatacMatYccgacKMagVtWcMtBaaatDatatHtttDtaattHaat +ctaHgcgtaagRgWaccattgaStttattctattcVacctccBcgttaNaacagNWtagt +aNgtctgaHaacBgtatgMcRVatataatKNKaagtttRgtaYcYcaMaaagattKgaaa +aKcttgtaBHNaWNgMatcacctgcaMggScBaRgMMctaDaaRgctcYtaacgtgtata +cttcacDaKtatgcaatMtactaHDtaaVcgaagaaaggVaMaatYtttttattttatMg +gaVYVaaatBaatMgctgWctaagKtctgBtKacaataYtgctBgKgaMtgtgataBagt +tMaagRcccVtSNtaWcgVDctcaSSttKaaaaVaDctacYatctcHHDtgattaacctt +ttYatattcgaaHBagWgYtSgcMtMtagaHactaSgBgBSatHtDttagaacSatccca +YtatttgtgKcgDcRatctccNtaagctagBVWaBaaMHacaHctDVaWgtaBtaaStVt +DYtatacttgttcttggNYtatWBSNcagatttgBtcVaacVtRgtYaatctatSatagt +tDatgttgtKagtctagKHtcttttaccattcccctaaaaSatttaDgBactaMttctVc +aacVgtaSYcttgYaaKaggtaWttgaaaYgagataatgccMgSHatHtacaaMatHDtt +caagtaMatgtaagtgtaggtDtacStVaHcaactatgagttatataaBHagggccHagt +aaagcRgcttagYaaaaaagttaaattatYNtYctagtttaacBataaWactVtRtaatg +tHatctagacatttaKagStttgttttaaagtDttMtgMKgcgttaactaVttHcatccg +ctaaaaDttSMccttNaaccattacaBcHctVcttctYtaaSSctVtRVattaaagtHta +BgttcatacRcctKctHVHgttKtcatctatagNSaacHVatcVgRtgtaaaRatYtcgg +gtBtgcKacttgataRttDattatcMaggcWWRttccgaHttNtacYtYactgtatWaaW +taaggtacaDacaDgttStgcttatctattatgttgStaaDaaattagttRgtgcBgRDt +aWaggMaaVttVRtcBttatcgttBDgVgatttKgaaaMttatatgattataWctcWMga +HgaattMDatgVagtgatatcaNcaaaataSttattttaaatDgtaNDNggaaacgataa +tttaRaaatataaaVaagttacDtgtggttctatRatgcBtaVatVtMtaYtttaaYgaH +ttgttgagctacttaatatBHtctttaagtcaHaWYtKttacttgtttatagacataMgt +tgcaBVcttMacttYcHcNaDatNttagatcagaatcttatcatHaNtatcMagYaacac +McaatacaNRatDtaHDHtSYgaatcRaBtKttgaMKgcDgtacgtgYatHcggatactD +DctaVRgtgctttRtatgtaaaccagtttacVtatttBcatcRaaYgcaMaagaacSctH +RtctaWatatacgtattKaNagtagatataaWKcgggacgaRWttNacaaaaagaaatga +tacDaaaaMataKacatVgcgVcgcNacaaHNattaggaacattYtcRYtggtatccBat +caccgacaccagaaagMgataacHRgttKctDaggMaKtaaatttScBtcagKBgYtaRK +ttagttttcBaaHYatgattaaDaDVacaagKaaRYattaMaaagVatattKactatctt +DacHaDaatBcactattKtKtRHggtaSctaaaaagtttaggBScaatcgMStttaatKa +caVBSattaKaaagacacaaagtaattWactttacWaaBgYtMcMccagRtacaatatct +tatBacgNagaRtctHgaKtMgaattcKYaaMacgcaatctcNgYgtYRaHagYtcVgaa +gaacacKgaRaacgBtttagDcgaWgaYtKataaDcaBatttccgaaaacaRRBaVtRtg +HacttHgagtMttWattMtBtgDaNtgKtaaKDccKgctaMRtaNacattacWcttacBa +cgRtRttaYggcKNattagtgactttcKHNcWBYagttgataaYagaWaSMttgataatc +tataatRtggaKtcactWaataatYgtgcHgYKttaaaacNcaSatgcggacaBaRattt +tcgacctHtaKYgttaaactataRaaSactKatSggatgtKYtatctYggcMtactatgt +gaWtttctgYDttggtBtcHBctactacBcVacaagtgaatSttcHttttttatRYYacc +agatctgatgacgcccVataagMaggWgYtatctgtgtatcWttRttcattattgYcHtg +atcVatcttVSataactgtgcgtgtgaRWaacgatSgaNaVKaaaaMttccNtWgtVaat +NtHgttgatVcttatcaaDaRScagDtaKtatttYaSctttctcatccttaattagttaa +atactgctgNcttgctcatatatactaDtagctagRcataBcgccRaacaagcacaagta +HYaaatgttaaRgacNgccgctcKtacataBtWtaaaDagagactacaccacggaagcSt +HgggtcatDcKcaacctctgDVRaYaatattWttattcttataatWatattaccYaagWt +gaataatgatttgtatBYSaDctatRattgaatDgWtMacggtattttRgtaagtgWtRt +agtSctVtaRgttScRcattacYYatattaRaaggaataagRtttBHaggtattacBHMc +acKaDDagtatMaaSMacaSggtVVgacctgttaaHagtactaaatYtSSBgaKatcMVH +cDtatgtagaVgtWtMcttctYRtgctRtgaacatDctcRaggatRaaVWtgHtaMgaat +taHataStgaKRaVacataDtgDRagBHttgNcNaRDcaaSagStDgaStattBtBNHRH +acaYaatcagcatacDtattWctgcMattaMaaWgKttgRKgcacNYtcatcaaKtctaN +tgacatMatMgYagNtaRWtgaaatBattctaStYgttcSYatcctMagtgatgcgtatt +KHKtNtcattcacatccDaaWattgcacMattattgDcttgaBgccaMNaacattctcaa +cgaggagctaactagattWaatgtagtcagtYtcKtMVSagWagataaatgtaaVtaSat +cccVMttataacaVWHNataWtgccggBVYtacRgHatagVtctDttaccaataSaDgcg +gtttcKaggtaaMcatgMttaaDacaccagYgtattacWgaDtaBaacctatgaWagaca +YttcRHDgDgaaMtcagRtaattDtaagKtYMMacagcaYacgtWtctcaNcaagttttc +tacVtatagttgttDgDRDtatScgatgcgagggSacttcaNcVaatKtattRtWttaVa +gtaaMDtMaattHtagtttaSgWctcctggNgatgMataNRcttatataatcVtDBHgtN +aRatgctttacHtRacgYtYaBBtaScWtttMKcStgRcaSgaagatNVtagctgtatVt +aaagttcgWMtgtcgtHtcacSgaaWcgttaMcttWDWataVKcaatctattaKgtattc +MttattcgtatcaaatacaDtcacatatVaatcSgtgDatBtgtagatgtagttataaag +tctcatMNgataNgtagKcatgaagKcYgcNYtVttYtaHKcattaaMagaataRWacgS +actctWgtcgtaaaKaWagRaBataRSVatccYacttcaggtBVatKtHctatMcttctg +tHttcataMgttattcttRtYttagNtVtDatattgcatYBtggKtctatcYctDtagHK +BNttYKtcWtRgtaDatgaaStgtaMagcBgaaagtSctRNaHcDgtttcYaacBcagaM +ttatRaVacgttKaaaacMttaWSgWcNRcaVgSaaaBatNcatttatttgYatttDgtc +aatgagaYNattggagcDagagatacNtaacaWtBHgtatNtaggctaggcaacYBtatW +ctgaRttDatcgttKtaNtgaaaHaYtcgattgtgccaagagKatcgatatttcaDHMMt +tVagaKRtaKtDacYgtcBtaDMacagatHcttcagactcgtagaMggtKSctagKtaBY +MggtagcStgNgaacaatSgattaaKWNaaYggaaaacgMaaattgatagagaMtacacN +acacSgagcYVaattHgatDWatBtaattaaYttgDaacgctcRatatacVtcaMgcBta +agattgcgNtaHDgtcaaaDcYMRtgcataVgtaatcaagaRccctYWccaacttagaag +aaNgccHWaaaacacaMgatScgatgDtWaaVtatacatggtgRNattattcaatctBct +tatDaMcaaHttatacaaNcttgtttagSSatgatacccKttaMtcatWgaVataatatg +YYtcaHaacactWHatttVYatatgDactaaggcgcaKcatHaccMtccHcaatgtWtct +ttatgWDatctgWaagHVtDggaagagtYHttBgaDKMctMHccDaattMatcaaBtBca +gatBcatatagatttatDtNatcaaaatctgaaSNaagatagtVBtagctaBVNtStWBg +ctagtYgatHNatatgcWacWtaYtctatatgaatactcattagatcgHgaRattaatDt +NcaaDgactSatactgNataBYaHKaKaactctcHcKHRagDttgtYgtaattaactagc +tatatataaKcattttgcKtcaacSttgHRaagacNaBtatacataaaaataVWHMcaYc +agcagRaagagttBttaaMtgatacSDaNtttgaagRtattaHtttagtatYaaatcacc +gaYaatattWBtttataactMYactaaactaaatttcNcVatgcVgKVatatattaaatc +cggaaNaacacaSatgcttgcHccacatgatNtatgKaNtgctggagtctataHcRRScS +agcactcaatataggaaYaataaagtKKaaaKtBttYRtgtcNVVaaaaaatatagaNaS +gattDtgacgtctMatcaaatggtSaYtttaatcttaagcKataaMDaMctgtYcDtgaa +ttRctgHaatgttggtcttcaataWacaaYaNtacHNtVWagcHWtBBYagSagcaaatc +KgataaSgDHataaacattKBttWagtRtcNagHcttaatBccgaaatVacggStctaKa +RaVtgcaHBcgKVcattttHgctttgtgacgaBttttccatccMatRcaVataattKatt +aaaagDatVttaSRMggtacttKHaacaatgagRaWcgDtaggcataBaVgttNBcgtag +SttgccYtacWcgagNaatttgctagagacatacaaggataacWRtcDaacSDStcaRtc +DcaaaHgtatcaDRtgcagtDtacBtatDMagtatcctagtgcDaSaaRtcaRactHgaa +atccaRtWgaacttattaataScaDaatYaaaWaRNcagtaaaYcaHttBctaattctNg +gBYBtggaacaDaatKgcagataHtgtcKaWctaVtNWYBgttttgtHScaBctRccata +ataMaaacatgaatatNatgagtWgatggattgaNttataHcSKttgtatcatBtDtaWa +tcaWaDNgtagctaaaWttBatDgMatgagatctKttaHactataSgattRataYaYata +gaatDagtaDaagatcKcYgtgWSgtttttaYKtSatttgYatgYHStattaKcttatNN +SataaaacHBtaKgcataggYtacgtttccaaVtaVaHDcaWRYSBHattattcaaaaBa +tataaggaBtaacaYcgHgaatgcggYHagtactNagaaatttttacgaBcaaBttgagt +KtYHaKKgttgaacgacacgBtWDtSttgNHDMgaaaaattcKcatgataMKttVHVBac +ataKaatcggWtaccagMtttcKgScgcaactattVctHScccaacccHDtgttacgttH +VaatcVgMtgttcatBWBttDaaactattcttaaactaYtRtgtaWataWggacVgtggW +tatgtataaaHNctRgRtattaagtcgHgWStttaWDacacatcaHatttVacttagcgt +HagagttgttcatcatgcaHcgtcKaagaRRacaatNgtYDtatVgYccaYKVttDttBc +tYcttaWtatgYtaVttttacVatBaYKSSVaNNccgctgctBtcaagcacaNttctata +YMatccWacBcgVaaatagWgccRtHMttHgBacttYScaaVtgSgttacBtctBttaRt +SMgttaatNaRatgttgtcatVtaaYgVgcVaaYSaNcagcttatNtacgatagtcgaVt +aacYVaMttggataaagatStcaNtDttgcBacatattaDWatDatcaatatNttagttM +ttcaactacaRHYtcggaacVHtaggatDggStgSWtVatagctgtttaagBcccgBtgc +gtctacYaBatactYMttHttVttaWtSttgKtcttcgtgacctaDtttMYMtaaaaaat +tcaMgWatBtgWWtaScccttaaVVgatagaRtYataatttgKaVHtgcataYtaaaaag +StcaRaMaattWgcaacaaRaBaataacaMNatagatattatgWtagcgVHcgtcatgaH +gtRatcctgtcSaaatWgtatcHBcatcatcHaattattDBHggcatBtgttagNDggtc +RttaataVtctttStaaggtcccBtccaBgBRgaDaatttgtttgcNtatBgaaaggcgN +ttatMtggtBgMgatactDtcatMaaWctatttaaaacYNgtSgMatBcSactaKYaDVa +VtcagaaaStagttYRcaaKacaHaacagctNcatttKtttaaacWtMNaatttattaaV +gaMStMcagctaWgaSccatNatgMacataWaaMtataggcgtatcctagHatttttVaa +ttttSBttScgtBSatgaHcaacgaVtMaaaactKHatatttNWtttataWtaatVttKa +KMggatcMaaattattMgatttgtatRtaVgaaDtacacRtaaaaaMttScaggRttgtc +ttSatYWtVMactagatVaMaaaDtaattttaBWcataaggaatBtRgtctaWDtagWta +aWYSaHaaacgatRcttgcatcattaSDBBKttttctaYSaactcgYacatttBaattKa +aaccaMStaHatHtatgtctKcWataactctcVNYtttMttaDatSacDKcacaaHgagg +aaBtgNaaaHtattgtRcgacDtYtctttMttatcDaNgattagtttYtaattBMtaggt +acatgtYBNttcMacaagaaaaaKgaaatcacaNttgtttttagDBcMgtaNacSatcWB +WtataVatYagtttccatatHtttDtcgtggBggcKacaBWtBcaattgMatcttaVaac +VYgMgttDcaaactctctcgcHaSatYVHRaaatccMMtaDHtaaKccactgattatcca +tBYVDacgttMctaaVtatacaatBgaagttaattttgatatgcatKgaYttHtatggaa +aatcaDtttBtatgccacattactcaaagctctcBKcaagcaatataNtattcVtcataa +cMHgtattaaDtctNaNttYWcWtaVatatataWgtaWtgaHtattcgagtMVaHDHtat +gcttctaaWYaatttaatccaMactKtcgtDaDVWttaccVtacYBgDattKtHKSVStg +MtBgcgtDRSatggatatDKacataWtatWaVttctSRWgtcaWattKaaYWtYaHctat +aKacMaagtctRttaatcgtgaHaggYWtcgatKttKaccttacttccgtttHcgtKtct +taatSBgaatttcVKaMattVSgDDcaattcagtcataccBccgtgaVtaggttYgaNag +YcHatMYaattDgtttaaMagRactHattgatttaaSKtSccggBattatatKDacaacB +gVWBaaacaagattgtcDtcttBgcattatcaaaacagNtaaDgtggVaacYDgtttDtg +gKccttaaaWcacgSatacaggtagVgatacctBttcaattKRtctaMgSattgtaccta +tataaaMgVtctYMYYcacttRaBgDctRtttaRHgcRSMVaaaaacagaYaagtaMatD +aatttaggcctNaacgaaaatgNtttaBtMtScVtVtSacStaBggtggtKtRcatagHa +ttcctggaRtaaKaBKtagttgaattgtatttMcatgcttDaWYtaVtNDgatKtHaaat +taattaaStaagWaaBtNcaccaatRcacttgttttcaaattctggcccttttBgHccat +cgaWctataSttBgataacagtacggcccDcScaactgattttaSWYtaaaMaVatttag +ctaBgSaggtNaBRgStDaatDBtatcHgDtRtgMtStWaYaggtaYatBtaWaattgaa +YattcBVtaVSactWaWgtKaatagaaatgNttHtgtcaatMattcggtcaDcVttgata +MNttYVgSSYMWaVtgcaRaaccYtgccattaaHVgaaaattMtaSgtaYaggctataBt +cRtttaaBtcHDatDgtaaVttgcagNcatWggNtgRMaDcYgYttacWNtgcaWtaaVa +NctVacaaccRcacttgMttgtRMtgtccatttgKagttctVagcttccaccaNgtgcat +RgtSBaacggaattttttNagtDcagaHaaaatStcaMtctagcacactHWtNtgctcgt +NaWatataKcMcWtagaggDaVatttaatttYSDgRccWattHtaggctaccDMctacVa +attBYtDacaYctWaHaaHttcggaMKaacSagtattaaatDttNaVNtacgVttKaaHt +gagttWcKtgtaDcDaKacgtactctttacatSgtagtaHHtgaaatRtttagttMctac +KgaKaatBttataKWMcggtttatgtgtgaStaagaaRttaVtgttBaHgNtggaRaWat +aacaWtRWacaactcgHWttttaDagScKgtgSagtcMgaRgttacccaaaKRaaatatt +cKatttNgtMaVcataccaKgaWgHBWagctaagttatcDaRVVtggaaHSVacggttaH +aWWagtSgctctVattKctKtMatHWcgccttaYtagtaKDaVcHtctgHagatcaSaca +atKtatgatagDgtcgttttgatVtatStctYaYNtgtgKaKaVcVNgaattWccgattc +ttgaMaRattRgcaatHctcattaBaaMtattNSSttHcagRKRaaccaYacMDtaYaaa +atttRataBVtcacaagKtatgcctcatcgtgWataagcgtatcDtNagcatNNatgttc +RaaScagaaaRaataMtacMSctKtDgaBactaggtWgcRtaWcaYtgtgWaagDKattt +tttaaccaaatDHattgacSttttatWaataatDaDaaaaRtaYaggagcYatacYaKaa +gaaNtaaaYtaVtDtBaaDcgtttKMtggcagtVatgccggtHgtgtaVaacDBaattac +aNatttMgaDgcaDtttggaaMgtYtDtSgccaaaaYcNgaacDVgcattaNgatgaaDa +BBttgccatttRtctaatgtHNtaaatBtaMaVattcctggaaaaatMattgtagRDaca +aacgaataWSBctctYVcgtSaMStgtttSatNagaacaRcagtatgaNBtcKgBttRta +ttVtaBtBaKactaWaMgRtcMtaDtYtatHattScggacMtaggcataaWaKHaataaa +gYcgWatatStBattKaKagKttacMaRacaSaRaaWtKaatagSatcgaaaKaaVcDtt +cVcgaKVattggaYgtMataaacRtaDaactNatYcagtDgttagacBataRYRDgttct +tttattacBcHatgaRacMaactcatVVtttaaaHgctgttcaattaVaHtDcaYKacgK +tcNtttgctttgHWcaaSactWKSatcgYaNVaattacRcatVNgtagatgcatYatVaa +YWaSactgatccatatNMaNagNtaatcgttaSttattWattaggagaatcNaaccaaaW +atRaatHMaattaNWatRaMKaWctWtDataaagHctMctttRSttaacgaSWcatcaVg +atataattgtWMagKKaBBgatatctcgHSaaNBctgVtaStagtttgaggSgagcKtta +aatHattDtaaattgaacatactaaWaBYtKttacWtaaVNcWacgttctcctaactBaa +SRagaaatgttKVgtHacatctcaScaataNgaaVagaaHttaKgHgKaccgtcYtcctB +ccataagaSacataaaggtttDtVStaVBgtcgNatgtgaVctatWaaDccWHcctttaa +tcWactaatactcttacttgttcttatttatcaaagatWacYctacKtaSaaaStgtWaV +caYaRctgggtSaaaWtgctgcHtttgMcgatSaagttgttttNattgaacttaaKaYcS +BSacWattaataKDattKaHtgaaattKKttttgacDtDtattttDBDDcMgcatagaVN +ttaWtgaDttgttttttttgacattatagBDacgatNatMBcaggtacaatgtgctttat +atttRgBcctVtYVctgcatgtgatataatHagtttccttHatagtaMMaaWggBataaK +tttgataaagcKgtVtaaaatgtatWWaataaHgatttYtcWataataacagaacDRWDg +WaWaaaggattBcRctacYtagctNgtScagMcccHaBaYgtgctgtSDtHacKtNgtga +caaaacccMcacaKctcactaaaaaNgtagWtttYtgaDcatWctataVctNttKgRtat +ataYaaaRacaggttatagtcRgDgcaYctattNcaNtVatYattKgaaggBDtttactt +HttNtgcatRatgaMHtRBtaagatMcacatBatgtStctagacttccKaRgaWccRata +VtggaScgatttDMaaatNNtcYaYtaDaatctatgaVtctBKtgccYgtWatDcMYtaa +RtcVgcttttDtMtRagtactHccRBWatatccttatMtNatgttagagBcttKacaaMt +agaaattaDttaatatgaaaRattNcHSgaaHtaDcagctYacgccagcMtaaMgDaaaa +aggatcttcaaVNatRcKVaaHRBctgcattatMaWaNaKataaatatgWaaatcgMaaa +atcctgttactDtDagaccYWacttctRatgataaKtaaatcaMttttcaaRtScaWgat +MactMtcaBNataaaBactggtWHtYaattaWacattgaaVtYtSgMcatgaatYgatta +tacaYttaaaKRgaVagNgtaHWaattcgDaRaaacgVtBDtStttRaKgVagatatWtc +MKaaaaMDatttaaYcataDYagtaaaaKttVWMggctgVgtgagtKagtgtBBNctaca +aacttagattSttHagacKVttgHttatSataaWtMHttSaSaaaaDatgBtaYaaaggt +taMttgVtVtttctaattgaacaggtttDDVMtNSgcatataagDaNttatSVttMScNa +aattDttYaaHcNgttatatBatgDKctttgVVaaBgataaBatRaagactBYgMgNaBt +taaattagatttttttaVgttaYtatVtccgtaagDcNVcaWtgcaKgggYtgagattaM +aaagaatagtgaBaVcacBNtagtaDctctcVtaSctgtagcBcHMWtataattDtaact +ttHctaRcRaaBaYacatttcVRaatctgctattDSNDgBatcaaatgcaBccKctaHcB +tctVtaaHgatcRgaacggctRtaagtaSatatgatcaaagBtaagatttVaMagaagaW +WgcMWBRStRggtttWttttagtccaMRMaaattaSgBccggNataagtgctctttacYa +taRtcattgtgYBtggcatRtacttBaacDacaKtHDtaNacMtataaKKtgtaaaRMVt +ctVcRatcgatttgcattSaaaggttRatagtagaattVcNgRtKccBgBtWcataataK +ctctKatttttgVcaacKStcacSRtattgcggtcctcHatcgaaDgaVgctagtMNVta +attaaatattMYNcgattaaKtMttRtYgacttgttagggcDNgagNtKBaScagttctg +cMaaaMtHctRaYtcgRtHatVctttatcttggtYctctYgttgattttaacSttaaact +aaaWHattgWtctactatttcgMcVaaMctaKRcttcRaatSgctVNgtgaaaNcagata +atcaatcKtagtgacaaBVtttgtaaVctaBatgtaagtgtacctttacKtMWtaaaatW +tcVctgagataattacggaatacgSaWgaHcagtagNWaaaSacggaaatgatRBtRctV +ctgtVaatataVNactMgDtaatggtatctacaaatgtatacKtttgttttaaacgttgB +ggBtgacttWacgaMtttcagaacagaaRVtttKBacttDWaccagtaaatatcgMctta +tRtaaKKcgMtHKattWYYgttgatgttaRgacHcattcttKtcgtttaatagagWgDKa +YatKataKcDgctaaaHWgRtagccgttcatYattcagSHtttattataBVccaNMHtta +cgWttgDgaaRtRaatcgatNaaNtWVcctacatacYtctgKtcattatctattatcgtc +KtaataaattagggHctcatgHttSNacctYaKttMHtctttSgacgtttgMcStgttca +aSBggataggWttataNagaNBcatcaagtBtagcMagtcagagaaDcaaaataKgtatg +tgSaagtgtYDtDccVaaacagaagttaHSWatagaaaMYaggtacttctccttatatHa +tgctgVMatKttgaNtggSaRcattggttgWcatYagtaatatttgcttgaVctaataMR +ttttScggggtgagVcacatYBggtccatMattBaatgNataDatWtDttVcataacSVt +attagaagtaDtatcBacNaacaaBaaagaaWBHSttgattttKRcVataHatttttgaB +tcctctacctcRYttagcatactttagaMHgtcatgtHtatctaaYacacggtaaMtatg +ttaagaHWaRcaaBaacaVaKattHgataNatatacgtatttaDWctagatataaNtacc +gaacaDMttDSaSYaaYgYaVtcatactaaWWtatataaVtMcagMccaDaaSatBatta +gcaaaatgRtaHRgccgataatagcaaacacWacagaaVgBcagaYctHctgtcttaccB +attVaYtttHatgaVgttcRgaHtttagttttataatRWggattYatatMaaaactWaDR +aggataaWgMataggtactatatttVctataattaaatatgtgttDtcctaKataaaaac +ggtacgtKaaatccBKtgtaattacaKtKYtgStRaagaaaaaaaggYagtNactttaaN +aStcNtBcBaaacHtacaatSgattYttaacDacaHtcttcatttgSYgtctRaatVagc +aWtctcDcRctNHatScRtaMgaacWaaYatcaHaaagttggagtacaNcSRttagaatc +atVgtgaccaaYacWHHtaMtHtctaatttcactBtgNVggBgttctaDtcttaWttaat +catatHgaDacatgaaNagtaatacgDgHttaNggatDaggactcaatttcttDaNtRag +ttgVgaVRacWNVHBttcVtYYtagataagHtccattcaatNaataYtNctgatcRttga +YaaaBcaKatcacgSaataHatggtacacctttatRcgtaYacgataHWVKaattVtKcg +atcgtRtatagRgccBtaatagctcVNtttatgRtggggtttcttatactaatcMaaaWc +gcaatKttatttgtttatHRRacaVcSgatcagcaacccaMatYacBVccNcRgagatct +gtSgaMttHgtaattatggRatgcWtcKatattMKWtaaatctccgtgtcaHNYaagStK +caDaMtaaaWBttacBgNctMaatDttcttgatMagtagaaatYHKaacttattSgttNa +KagttctcataagtaatgactgaVStaatcctcDagtcataagWtataatattacagScH +aatatagcaHYaaSagaaaaactYtRYaatcggaaHcVcDcaccctattRaatattNgVa +atacagaataaSaaaagcWRgaKttccgtaWttctaaWacgatctMHaNWSgVtgNttVg +tattStaatNatVttacaRWagNgcaSgRVtcYtgtctYgtRKatctStHWttcYagtgN +tBaacgtagtgtHcgaSggcNgHgWggKatMtaHcgtKaHaWggacRRatattaHaagga +agaSgHggtttacctagtaattBaaatSttYgtagBaSKBaaSKgctMMcacagcgtYat +SctWctSaatRtKKtgatatctMtattagcgagaMctNtBcgtatRDtcatHtgaVcYtt +ctaHacgagDaaMNtcttaBgWattatagaKtcWtHaMacagattgtHacttttgDaBWD +tcSWKacKttcaHtSgttttDtHtSaVRYVgcagaatWattYtgNcgccBSttataaNct +ttcHtccaaDRgaataSatgctVDggacagBYtBcRacDtYDNtgWaattattatYKtNc +ggaKRatcagBactgatgcctSttttttDtcSgtcaaataataaMVttgaacBagtattc +tatggYtcaaatDWacVtgataYYacSccVcataaagacagtNaatgtactaagtRtatt +BMKacNacagaaWtctSaMgaKataaaMBgtYtaWaaKNtDStSNggaacgtMRtaaHct +atacMtattttaccaataKVtcagctttatacgtSWBaStgttgWVtYaacaacRgtSgt +acNgatgRtaYcagStcaNScaaaRttaDttctcaaBgcScDtWaggtgaacttNBBYaa +ccaNaactNgctaaDaaaggttgagaaMtatacttgtgtctHtgagKacagcacagcgKS +attaSDaKaatttagtHtMttaMVctaaBtgBaattttactttaKcMagcatgcDcatcB +agaBHattVgWtaataMgtttgtDaHaggctgtVattDYacNtNStttaKaNggtBtaKt +gHaaKcaacatDMtagatgtatMtaaacttccNBgctacgtgcaaKgWSNacttSBaggM +tNStaKtcaatagattatctagtaBttaggactYtaaaStaaYtgaaaagYtMaagaKct +gtVtttcgWcatctacgtatVaagtagaattBcagaDcgSgtaSggaactaRcaBRtMtt +RgattaattWaBYcaataHMacgHactatNctacgaVataNVcHatatVHKKagaaRSat +taacgttMattgtatagBagtatctttgaagaBctgattattHgRttacDgMgtWtaggc +aatNttgcttagagaRatttSgtttBtgRtgaNtHcgStatgaaKtgtaBacctgaaWgt +KatHDStatctttaRaaataacaBttStHVMaccggtaVYaaBttYNKgNaBHaaKcKaa +atStBcattgagggcRSttttctaaatcacaRBattccacatagacatSaDtaaaSNttt +gtatDgWgcatacgaSacRttagNaggaHtttagccttttWDtcYaVtaRtacWggctca +aaacVctWtacatagttaattBBttMacatDtatttaaRggattatBVcacattattaag +WctactVcaBgcttKagagttatRBgctagaHtgDgaaaSVtKgattaWtMDWaRccaaW +aagtaaVttgWgVgacaBtSaacDaaaaKcacaRKaagttgagtNatttaSttaWRgtct +aaccataDatagYaMgaWBcattaacSttcacDtSttgtaWYataRBHtccagaMctaag +aWagSDaactRNaaaWagtacaScaSDcaatMaaaaaaaVBcatKacaggtgMaaMtatV +aVgcctcDDYgtattcaatattaggagtYBaaatttagaaVWDattcgttagHKSgcWtW +caatttaBtaatNcaMYgYagatcRRtcataaaYctNtatttKRatRggtYcgaWcgccc +ataWttVaaBtaataaatcgNtctttaggNtatatgNaagtMttccaagactRttgtgat +tBagBtaataattBStcaatttaWcattaatVtacatgtatttBataVYWStagcaYKDa +agYtaggKtgagatVtMDtKgNtcatagtNcagtBagagcaNaaNtaRtagatatcYWtS +ataWggacagagtcaDSggYatttDaaatcactKatWatcDatatRattataaatatcta +ttHSctttggNctaagtSacgagatatatatRataagtttcatgcSaaKttctHaRgaaD +atgStWcataaaaatWMNttaaRaVgaYcHaagWggttttaaBtcagacKtaBtggcaac +HtaggVttttactatRWaataVcccaRaagattNttggStYaatBRaataVacgaaattt +aBaMYgcaMgtKStStVtgVaatacccYaDVYaVaYKVtgatgcctacaaagcWgDtVtc +taBtcctccacgatatWtcDHHaHacaaataaatataccaYRSataVagtttaaStgttg +RHtctaDMMaYYaaagatacaBWKcagttgcaacgagBagcaaatccgKaRgtgaatcgt +aWcatYtWaBtaBatcgRattcaagtHctctaatcttcctattaaYgaNaaaaRaDtact +DtMNagatMtttRacKaccWaYtatcagaaKcttVtVaaaatgttgtNYgtHtaDactag +gaRttaccVaagMacgcKtatataHaMtcaattcctMaRtttttcatgtctcaacatggt +gacatcaBatHaaMagaatttattaaaactYgMttaKHBccgacttttaVaaVtcScHaN +ccttacccatataMgggDtactagKgtcacRtacMacYgBaatttcagYcacaaataaaa +ggagYaaMHtataaaHtKgaaHtctcaVatcgStcatHtcaYctttWcttattBactata +atWctcctRKaaHtaaHYcttcaYataaaHtNcaSctgattaagaKaatWagRaVaNSHD +aactaYVRaatgttatVYttatDcctRtgcgaacStaWttgaYcatYtggtatWNataMt +DNRtgtttgggtHcWtatHaaataatVtaaWaVgcaatagDatgScgNcagggagtcaDt +gagataKtgtctataattgtgaNatcaNatDgtagctaaaNtgtagtcBatgWcagagtg +tWtaagWtaKgattHagWRaNatacaagtactYtaWgatataRctcNKcttttgaRtgKW +tgtgRagcNtKtYtgatatgatBDKVtaaaaatttWtcaatacgRtaactttaaaaMtaM +attaVNHRKttattattaaVaatagatYaggattVaaaRactcaagccccRtagtScgDW +gVSagtggtaacataVatttcagtttRtattcttcYaccaaaagttNttKtggBttBcSa +WaattataatcataBtgtMtMtaaagataYtacgMtWaaacBtttatcKacaaaatattM +agtKccaaWccatttgtgacctttMSataMgBtcttaVgtNttttSaactatgaggaSWa +taRtHtcgaMagSMccSaMctcgNtatgtataaVtBatHcHtattaacgactgNKtttaM +tVaaaagaatVgttMWcttacacgtacScttcttcWtaatccatactctaacaHHaaaat +DctNtgatMcRaaWRtMgttgttatRagtaNtatgRtaMttggaaKWttaRtHKMaDDaa +catgcgttaaaccaaaDttatagVRBatacMaatacMaaatWcNcaaHttBgttgtacgg +RKaaaMtcHgttaattattttaHgKtgttaatDaHatctggtaatMtYaRgMccKRaRKa +DaagaggatBtSacatactccaKgVaaRMaBttgcataaacYtKgaVDtttgcatSaata +ttatNattataWatWgBttaggtBttaaYataaSHtRtaccaacMttaccattccKggKN +tMatacctctgtaYctaaccttgagtataaRatagaatRBtttttMtgWNtKtgcttatg +actcSaatattgtBRBtSWVWYagtaWBcNatttcNNgSKacctgaaMKgatWcYHgRat +aYggtctaMtggcagaRgaaYaYgKgaaHVtaattMgaaWaWaDataagaaaaBDataca +tatgatcNtagagMtactcatgatgtHataaggtaHaWatMgtagcttaWtcStataStt +agttttgcaagtgctgacDtgctcDtgaSgVMtagttKtaacgtacattaaatctHgatY +atttcgggcaDtVttcaaacccgDgtatBggcttcBcWtacttgaatBaRNcgYtgtaaa +aaRDctKctagtaKSatRtRatMaMtaacVYaKtactgRDcaataaatSacagctDaatg +gttttaaacNttBaattgattaaMgVBKtBaacctYNcaKcaVtDYtcBaaataNSaBga +tacccgtVtaatactSgtttgMSYtttgKtgtKacgtKatgataaVccaMgtaVaWattt +atattgBNtgtVgVNtYStMtgtatBcgagaBaVatgatgBcStttgtagDgYMgaatta +cacHtaaaaaBttKaaggHttctaggKagRNtMBaatWcagMSBaaVtgaatgtgatNaa +tSagcaatttHctatWMtgVcNtSaNRHatVaVacVtHattcaataatgSKttttttgta +taRKYaatccRYaatggtaVtttaaaaaWBKtatatttatgtagtcNatSaatatcMDRt +gtBttYtatKaattaaaaYtcWccVattcDaaatgattgtHccactgNgctttBtgagat +WDgVgtactgtRtaaggtBgacctaaatctRtDttaBRaYacaaaYYtcaaagaWaSDtt +ctttggacttcBcgaDacHataNtNgWtVMVtRactggaaagSgtgggtgaggcctccat +aaatNttaYYgtcBatattWMaacMRctcgttaaaVatatagagataKatRMtHaVagaa +BBtStttaatcaaatgagtatcaagtRMtaccgtBagaWKtagaaaYttcSScttaVttt +tcatatcaSgtcWNgtttagccaaaVgaatgtgttatgaaYaatgaataaaagagatctt +cYacaaatataDgRttcMtcataYaBtctStgaatgagDaDgtRNaMtYMatatagWNgg +aNtcattatgacYgtBKYttttagccttataaNRaatggaatccaBacgttacttatMNg +gaaaMtaaRtctagtttttKKKgcBttgccgtHKatcgatVtttacataMtagNaMttct +KHNctaaNatttWaRNgRatctagatSctaactctDttaagacgcatagcRNgagatttg +tacattSattaacttttcgttgattWatKtgaatttaMtSBattKKcttaaSggcactaa +taaatcactcaMgacggtRcaDScNctYtBRYVgttgtttaVtacHWattattcatttVa +KtgKaacctaggStatttacaactcKNtaaacaagSttcgattatttcaRttVtaVaaac +RgDtaatgtccMaacNtcggttgcctaattaaaNaWcgKataaYcctSgMcataaatttg +aaatttHtagSBgKYggcgYaagagataaWBcMgatRBNRaYctgHatctatHttgaHtg +cHKBKVaWaacacWNRactWBVttaatttVccaagBSWacaaaatcDgttattBtHaMtM +tHacKgWtcctcctttHaatagtYttaagccaHtYatatttacgtcaSgtgtYttgBcat +catttaNRgaKgBtgattttaaatgaattVaKtVYgNaatgDaacaaVtHaaatggtttg +aYYatgctgcacatttttctacVtacaNatataHtgtcVtaacVgtYccgaactaKaaaa +tcagtttaKNRtaaataMatgtacatatcKScctDatDcKttSattttagatgttHtcBt +KgNVRagctaRVtttaNYWttcWYRatgatMgaMKRctNVMgttVagWcaVStcDgtttc +tcRatBVggaccgaatcMttgagaBDgtNMgKKRBNSMgcaWHYWccNgcacaggVYtMc +aaaatgBtaKcgaRacccgStattcHttgaYttattattctaVMttgaacDaWtNccDtc +HBataNcRggaaNBtgaYNtaaMaDctMaaaaaaHaaattcBgtcgHtgcgaaStttcta +cttcgMagagtaaaacaDctgcagHctHtWaacgaatgtggtDacgtcacataSaatKtc +WBtataccaaScttNgDgcctacgBaNWtagataBaNtRcSggtaMattgaatgtRHtgH +aaNWtgttaccatacctBataaMWatttNttVaaRagMataVtgtaccattYVcKYcgag +taaYtttgDaKDgVacMtttaVttcYcgtMattctatatataaggaagagttaaatHgtW +ctatttgaaatHttgScgtBataatgatRWgtttVgatMBcgctttatgtctgWKtaaca +aHttaMtctttatcDtccaHaNYtSWcWNtHNacaaatactNggtgStacKatgtgKVct +aBcaHcttaccaaWatHaaYtattatYtttDgtBaKcataaaatcaNgttNYcatVSgtg +atatYDMMtggaatKMaagcttVtaNNYctKcctagMWtttatttBattNagccggaRga +gtattaKatgatctacatcaKVaaagttYgcStagtctacttttcatKtWtKtctRaRDt +cggtataMcMDcaattNcacattattgaBaHattHgcYattagaattataaBtattBKHt +gtaacHtHaacaaRYaBttaRVSaagttHVtatMtcacaWctgVtgaatcVtcctcNata +acacgWtattDWccatDDYtcgtaHaaKaacaYaHaataBtaaBKagtttcStWataccg +NcaDtWNaaRgctcNaacttatttgttaaacaaStttagtgVaKgggtatNaatVagtat +aVVaHtaRaccacaRatacNStaacaYDgaWaRtaKttgtaatacggtttgccaaggMWt +caaccttcgctaMSaattaatgaaVDagttBcatccattttccaaBggRttgKgccaaaY +NcDcaSatMcaattYDcatcWatStttggaaWtttHtatVaggttDgVWatttaBWMagt +cagcgaSaaSgtattctacHtaaSaVacaataNKtatagRMagtKYBKggtttKatDaca +WaYDaactagcaDttctctttHtagtMtWtttatYatWNaBgHtaBgSttRgattatgKc +ccaaBtWcccataaNattaYtRYWgRccNatatHttWgttatactttacBYHaaaKaHYa +NttaatagKatacaaatWSMctttcKacatMattgcaRctBataaVaHtataSctDVtRa +acttcggScYctataHRHtgttctgtgattYatatYtcYHaataaataYtMMgttaaatg +atcttaaattaKRtttaaRtaacttaBtgtcatgtctNcaaKactMtKatagRaDKaatg +SaHcRtMDctagatcaYtRatMSVRMYKYaggataaatYtDBaDacDtaVtacggaKtta +ttNaggScgWcaYtaBaaacaWaNVtHVagtBaatgaBNagHaBtaNatNttSgaaactc +tBaggtHHtgaSagYKNcataaMcatagaSttctNBYcttattcatagagagtHWWDtct +gMtRHtactgggagcKcacctggaYattatttgaaWgtcaVaataagaaNatRgtttacN +tWYMBcNScgggataataaagtWYKDYcVWVggtttMcttYaatagaaKaaataDcaYMV +caVtgtStctctWaagtaRtaagtaaatWacSKaaatYaScctggtgMKtYMtctacDat +ctcaMatVtNaataaNtaattgaagaNaataataagcttaagtgtgcgtVgttataYaag +VgNaaRctSctgWKVaYKgctNWMaaRaHatcgctHaaYMtccggattgtgBacatHaac +ttggtggDVgtcaaaggSatWRaKtKacNVggaatYttatttattcaaSttttttttcaa +tgttatttgttttaBgcatacWKDgtYNtcYtgtcttttttgtcaaatgatacttWagat +DatttcacctaaaaggtgagttatWgtgHctaatMtRKagccagcgcVgagYagtactgt +actttagVctaBBaYNggtYtaattttcRtaaagatctMtaVYatctYgNMaVtaWtcat +tgRtaNataagaaaacVSctHNtcNaMaRYcgagttaHcgacNgagagBgtKaactaaat +atYRcggatgtKtttactgDctcVaYaaSaacBcacatagaaataaaaWDctVcNtttRt +cataatNagatVMctBgttcHtVgagaNaaaHaaSccggatSctaHgtgaYRagattDcS +DtMStNYtgtgaagcttgggaatttttDgcaatHatgaBttHttaacatBcaaagtaggt +KgagacaattaataHcaNaaHataMtccaKagagtttBYSagDDtaNaRtWtWagatSgc +SKtcttttcaaRgtMattatRtYSHgaMccttttttBtHactaattcaHtMatagaattV +tBtDatcttVgagtatttaaaattacYSattatttaYtagcaVSHattDctKcVattata +agagRaccccWcaBtYYtctaaaaYccSgattaaaMDRtHatMaYtHtcgcaaggWgBaN +VDatataaatWtcMYSVtacBYaaatactcgtacttttWgaacRNaattctHagcYtaSt +taaataatttttaaSDtKaaMcWgBaagBgaatDagaaatactcctNtgRaattaNWcat +tgYVMtRtHgBaatcaagRcagtStaaWRgtaaatHcaMacDctatNaagtactVHaaVa +gMgttgKtgtHatcMacatagMgaBtSaaaBtagttaaNaYgStRRctYWYVtttMNBgc +ctgMctcacttagtgtttDagacaYaattagaggKtttacaatMttctttatKagaaNtB +tttKSHWSaVtVtgttaRSaYccgtaBgggMtKtttctYWttcaVaagctttttMBgDKc +catagVactWDgtRtKMtgBKaDaVaggtttRaataBgttYtattatgttatgtcMMaat +cagaatagHaacaattRcBcDatttaYWttagattggttgaMcgtYRgagMtcactaRct +cBMaaNgcaStgcgNtgagVttaBaaagaatacgcatYMaaatDtacgatatataMtYKa +tctScatattNgStYWgtttaYcttgtagaHaHaYtaRaaagttcMHaStatcatYtttK +BtctataaaatcaStcatatStattatMtSatcataHcaWaccagHtaaggaHatatgag +aaYYgtgVacSttgKaBacSYcaNNccBNtHKtHcctttMttttagtaaaBHBaaattWK +gtaaccDataactgatatgtaaRVtaHgaattctcRttcgcatHtaagttYYctaaattt +tgWDacBtataatttctVaYHtMtagMaHWtagatttcaVgtKaaacctgHagSgtacSW +ttMaBcHttaatcttMaStYatatatattagtttggMaYaatHgaaaHHgatggccctac +tatSgacaatcVMcatactBBMtaattaaatattBNDacYtgYattBttHtNcaatgcgg +acccctDcYcDtttaKaSggtatcaBYaaBttctDSRgacHttagMcggtWgagtcctRa +tatRcttgattggaaaKggaaaagaaSNtattcNtataatVttgagBaMaaBctWtHatg +cDaatHccgMDcgcWaaDaacWgaagcaatattactcaaaatMgttgtaaMatatYtctR +SctctWcatttVatgBNtaaYagNtaMatcSgSgaVttSaccaataccKRNcataaggYc +DMWaSKVcccaaaggVtHtgHagMaggtKVatVtVMDVatBgttWagcctagagacaaag +gtataatttgcttgtSaaccttctccttcaatgNaacaBtttaVcaacagWaHMttgtta +agttNWaaYcgaaVtatacBatgagHtSattacBgttYgtNRRcttgatcttaHcaataa +ttattttccttgaYgacVgNcttaRattatatctcagWWatNcDgacacgttaatRatta +YcKtggtSggWgatMcaaDBttgaacNttctcaaHtHaagcgVtDaaDtNMcagaaatWa +NtatcttcattSgatatgatactattWatSaattWccgtctaatcttgKDacatRatggB +ttatggKgaagtttcBaKtgttaaaKtcgatagcNgtatVDagaDtaVtcaactttYgaB +YcgaYgWgaWtaaaWatVtctVtgggKaVctcgRtttacMaVaaagaaggtVtKNYtWcY +aVtRVccgaattatacttatattagcatcKBattttgVDggcKaHaYttgcggcNaatRa +ctWagWgttcagtgWMctaataBHtttgHaggcctgacMcYaRtRtcggcaatBagttaa +gcDatatatNttgtMcVtaaaHMgattVgaYgtattatatSaDaaaaataWacaaNttKt +tcatttttHaMagatYtgtttcattaatatVacgcHRttacaYtaagttacaBtcgaagc +gttWtatVWRaaSacggWaBgSgcttaScatNaHcaatWacaMatagttcagYBagYgVa +ctWtgtStNatacatYgSYDtaaacSaaatBtttKaKRSWRcRYMgcYgVataSNNtWgV +tSaMgBcactaaatYaKattVggacaWaaatgHtatHccacStaatagaYaaaVaMaaac +YYMctcagaNattatctattaaatatgMaRgggtatgaMcttaHgattgtScgtgtatVa +tHNgcYttNatatBWaaactNVtHScgataaNcBataggtaagagatttMatVtaagtaa +atYgctgttttaagatagaWaaYcgctaacttaaagaattggtSYgtVaStttRtcKtHa +VcWaYaWVSccRactDaattgWaBSKtaDgtataaRcttaaaatKcagtNgtaaataaat +gattcatgtcKRctatHaYtMacaWNgagatcDcgDtatKaHgaBcaaaNWaRataYtYY +acttgcactaaYDcKDttWcYataStKcgcaaaaaRaaNtttatttgctYatgtcVcttt +cBKcgtcttatSttattYMttaatcatattcatSaYtgWaDacgaataactctggaDcca +ttacgSagaaattgatttaDtHacgtcMgaMHaaNDKttgtaMgRNtacataWgttccSt +gaaatDaagYRtDagcatcHttcVNWWataatataaccKaatWtYgcctacVaagttWtH +actaRaagatatMMtYattMttccatactHgStagHcaattaagacagaMDtttagcHtg +ccctttattatSatWataBaaSMaccVVgtggatgtgttgYgtDHSaaMaKcagaagcWa +caaaBagRactKacDaDgagagagcgKcaBggtgtaYttatgcDatgaNgatagagtBtN +taWatagcacgcgcatDRSacHttcataBtaWaNtgtaatcDctBaSttttaggcWtBac +gacaVYtRttaacttatgKcggDStacgtagaYtaagtaatgacggVMKtWagcatatag +tcataagMgatVagVttSaacHataatatacaatRYaHacaWaaactRtHRaatagcaVt +cMataaacatattHaStattDcMWVtYaacYagaaHaaWaccNHcatgtcccgaNttata +aNaacatctBtaDNKgMtcDtgMgtatgKgSatDSgMtgVaaHNWcDcaaKgHMtaRtgg +cgRgtHtVtatHgtMggaRVgtcDgtWaactactgttagaKcccDctcNcgtagtgStac +gtataNcgVaHHagYttStaaccWacaKctgctttaactagtVatttaaatKttRcgact +aHttSaKtcagBBaWaacccgRatKagNagKaWtHttttcWtatatttattacagacSBa +gDgtagtatHtgcattgcaMaRgtagatYacactYSBDgctgatcMattStSgattcNtt +aBWaacatgcttSattttctatNttaHNtSctgtcWttKgttgtttttKaMHNMcaacaa +gNattRtcBaccatKgtVtaaDcttgattaaaatHgaataKYtgagMtgcWaWgtRttcD +aatgRtDgcNWSgtagtatRttDcggatHWgaagtacgcVtcaatHtttttttgaKggaS +aStaataWBMtgcaaatacgWttctagccRtaaaattNWaMggataRRaaHaaMcagaaa +cacacgDaatctactaactDgatgtttaaDacacVaNgagKaBcatataaattcgRtSNa +atDttKgKDgcaaactBDtaatatagWaBgagtgtYaaVatatMtaacaggtataacgKM +taKgcttgNMtRaaaaVcHctKctaaBcWtcHtaRaacKgcaDKaYaSHgtatttataaY +tcaKatgNacgtcWWatgDttRaacaaDWaatDgagaStaVScctgcacaaBtatacttc +tgtctttcactacWcaaaWcactKattaKtatWagttacttgBtgaBMagaattgtYYtt +ttVatttWtcBagaatcctcWtatYcVttattMgNgYStaBgtttcttWtagcaggtMat +gtRaaDtDKttgataDggtttatgctaataVYcSttBtYcatctVtBtYaVagtaaDtga +gacctgaaatcNKDactgKtacgBtDKgattaaatagattatagactatggacgacgRga +aYKgYaRtgaaaagRgBaacatctctMttgacNaWtctVagtStMaactacaatttcVga +tacKctaKgcSactaDaatHgBgtHgYttaagtNYtRcaRgYtBaactaatatDctaacS +KatSDMatWtagKtttagaaHKattaVactttSgtgtagWctaggagctttgaScatcgg +SttaggtgHtgYatgtctNtaggaaatDttcctgagagaHagttKcttttgcHtcaDgtc +gKtatcaatgcgStVcatcaWNcgtatttHtatctggaHWSataWaVttgKgtKBaaagg +taMNaatttRDtcDattaStctaaatKgtaagtcVgccaHKgtgtcgaSVtaaaaHtatg +aaVcatacacVtKattaWaKDgttctattgNcaagaacaKYaHttWcDaccattttagac +ttttMttaRaMtaHtacNgccgaaaaacKctNgaaagagggaVttttgtBVcatttattt +VaHcgattWttMaWcattagtaYcMagaatKaYtcatttagacttStDtcagacattctc +YaaKMttcagtSNtBtMaHacYWNaactVaMgtcNgMcVcVtgKaaataaVataacaDta +aggtcSgtDatttaKtgSNHcgctVaaaatatagacRaBgaNtaattVWaKtgcaattHt +tctaNRWtaHtttaaSgWBctVacaNVcKtaaagHDaaaNagtYcYKaVKtaaatBaaaS +aVaMtcSgtaaacctcBYWttSgMaMccagcttRgtVggaaWgagtaggYctRtaaWtgt +acaaMNtagtacggVcttKcaMgNaaatgtatgaSgDcSBRgRVcYtaDHgaVtWaaNag +DtagggtHagHgctRagaNacacaStaNttMaatgaataaSgagBgagtgWccDtVgagc +DWVctBttccaWcacgHttgtcYtttacttaatVatgtKtaaatttaNaYttaStMtVaS +tggattgtVgaMRNHtacaaNttRScRtVcgttcScatMtBtttcDtcatVctDaSctta +gacaaDaaBtaHtacRgRgaRNtKataNgcaaScactcWtKggRagtgtaaYtaaattWg +NagatatYtHattWtYWatagatatttKatgtcgDagaVcgKVagacagagatVgHWtaa +gttgcatgaKaatggattaHcaatatgKtMaWtWaYSVtNBDttaaHaMcaRctWScNcg +gtggYSttcagaattattggaaaattVccMtgggWatatHMaYtaMaacaHaagVtgDtg +gcHtRaagtHaagVMWacaaagggataBRcaaBcttKtHtMgcKaVtaacaRatKRaMaR +tMtcagcaataaaaVccNcttMtctattaagacacgagatNtatttataaaSagaaatat +SccaRHKatYMacgttaWKtgttgHtgagatBBaRRWSacatacWtNtcWgttcaaacca +ctVcaSaYtaactaHgtcVWgactaNaatRgNattatagacHatgcYWcttatctaagct +taatatgaaRcaDVaSaHatgaatttBDacatBtttHactacaNaNtataVcaVtattKg +MaSaSggttggDNcgtgatactaccYHttaaaMaVcBSacctgatatataBgcaattaat +BaHtttgtaagggataaacatgcgcaaataatattaaBVcaWgttagtVaaWctRgBtgY +tttccgYattttYMaVMtaHatRDaatgVacaatatVBccgttaagactcgcaaHtVaBa +aRctaVgggaacRaaaaaatYaSaccVgRaaBtgataaatttcaVttataSMatacKtaW +ttgcaRcgtgNattatttaatagaatNctcatHtSWttaVtRattcaRYtaaattDcaKa +gcWggaWcStaatNVgHaMaBKttaaatYRMHaRtcgtagMRgtattcctHtcacaaaKt +aNttcaRcatRtccgatNDagaBttDHtcttggccttaNtattaaStaWgKtVWNaMcca +VgVgtatcKacDaYcccactcattcacYtattggatVgaWttctgSDagaWDattctaca +taaaDggtactatagcNcSgagtgtMtaacNtVtcStttSgNDaDYgaaWVgtactRtaN +cYgataHagaDtagttggaHtgtNtcgcHYgaDttgRtgStatcattttKtWVaYattgN +taaYgYccHgWactgtaaaVBtaBattaMBtHtttYttVgtaYMWatWgWtNaccVtgMW +aSDaatcYWccaaaHtacgKagtNcMKactcgtaaaVtaMatttcRcttgHtattattcR +aaaWaWactgDttttccttttaKVNaVggataagaagWttcgBtBtVaYcataRtaacBg +NaaYctggtatctacaaaagatttagttaaaaNaaattgctcaactttBKagatctgctg +aMgtBttgtKaSatVgcacgaHNatVDgttacVBacKBaaKaBctccDtagctataWKtt +agtcttYgtaSccaatcBttggaBtMaaaagaYtMgtgtNatgacacctWcKattctgaN +taSgaaataatatVSaattaaWattagDtgagBaHaaNHtBgttcttatHaggaBtatcH +tSttgccaatNgtaHtttBattaacatcactgaWaaaaaatggatagMHtSgaaBSatac +BSaagMaDcaattttcgtctaacgHtaaaBtatcttaattagtttatcttcgtWVttata +tcgccgaagBgRaDcBaatHVDtataacaccVgttHaaSgaagaaatcMSaHBattgcaS +gaSVaRttcaMtgtgcaatKaatWggatBVgtataNWgNctttacctttgaaRatSaKtt +HgaaaYSaBttVacWttcctgctDgBSgYcagcgggWRataaaatgcactagaaHStaca +atHtggtgtBgcNDttggattatgaagaKaatStgcttHtgKNMNRagtaNtaDattgaD +DcKtaaatcVVBtcSgNcRtcHataRcggctVBtccaWcaDgaaRaRctgaatMtaRtgB +caWNaNatatWScYYaWttatScYtSgcataDtWcacBtactaWgcYtcgtataagctat +aNSgBctagattaNgaKgatVKgtagttttcaaagtgcgcYattcagatggaKcMBtacg +tttaacctaaattaaatattcatRaggtcgcccattMttaaaaaaactggSgtcccgtct +aNtWattcaattVHDagRtggVSSaaHtattatWctatKatHtHattYBtaVaMRatgYa +gcHtaSataaStKaaacattaagggttggVYaaDgttWSttcattaRBcMttttaacatR +DaataaMttRgataaagVDKatcatacaacgMtaatYctKcgggcBKNgtggttcttaag +ttYgcataVMaaVBgtVMSNagttatSttgtDtgtMgMDtNKtBgctattacagataMWt +cSggtcHgggcgagtcRtcRattaaaatgaaYYattgtaaccttgatacgtWcHDgBtVa +gNcSgBKtaaMtcaStgggatDaVtKScaYagtttctagNBtcMcDgKaDHtVtMaMacM +gtagtaaWtaYtgHtttttgtctagYHtRaagacDRaatgctVMtttWaYaaNtttatat +ttStcgactaDatKaatatattHggttgtRtattaattaaaaRtaNacKattctVaatga +ttcttacWatgDgagggtggScatNtcMggaagggHtaaccttcWcatWaStagHtttga +tHaRVaaSVNNtcaRacaNaKttgctgggcVattatccatVatataDtDcNgMBMgHSag +ggaaagKctgggtcacgaatcaataaVtDttaRRgtctStattNBaaaBHatcgttaaWM +agatagacatatVgDBttYMacaatttKtttaataaaagcacgVgaaactDBtaaccgta +gaNtgagaaaRttcKKagtYKttttaStataaHgtcNDcgttYccaaaaMcaWtgggtta +tcaaRaaggaataaVWcacatattaRYaaVagagVtcHggaBtaataNattagKtcVRtg +actatcgHDaBgRBStVtSgNBccWDgaatgaggaaNctttNttttacaaggagaaDDaV +tcgaataaataagttaattStBDccaaaBgVaDtctScgtgtttttgctgtcacgtttWg +acStMtttVaVgaBtacDWtttagttDctaSDVtttNaDDcHatatacYtKataaatagt +tgaacaagaatacaDDcacatttgtaaaggHattaaatgttacgtcagtNStttcVattt +aBtHtVggttattaaHcgaWagaYtVaataaatcaBgaccctHcatKaDatRttHRMcgt +cgggSMtaatNagtYtgaYtggMYttgtaaactacgKgStttaaaYatatDtaaSaVVcH +gtagatgaggtcaHggMtaMWaWaHctgaatctaaBaWaDtcgggtccctaagtaVYDaN +actataaNcctKcBcataaatttcaWSttttgacHtctRggagRaagacagWVNtctcat +HtDHaRagctStatattggcattcattttMaNaSaRaNDHaagNtMgtVWtgtMccaact +KNaaaVaStatcgtStgtgtaBgBgtaatcNtccgaagtttaWgactNgtaaccaatgNa +tWttgWagtaaKgtctRgtctaataagttVDHgStgttcVttgtSWatcYaggMatgMRc +BaStgtaaaaaMttaYagccggtgaRRatgatccaaaggtttctaaKgacaDagagatgc +tcMgaaaMcgRaacaaatataaaagcagtgtatDHgRaVtWBVtggacatStctKccttV +ttatgtKattttYcatctgttatgtcDKHYcctSHMttgSDRNgtaMNHaggatBcSBtH +atDMBcttMacNaVMKtctgtttcgaHSgtMgcacagaStaBttcWcattctDtcttHtD +KBcaaNtRNaaDgaaaaccMRtBcWVVagcttatcgaDYccacKtatgatgtcaRttatt +YttctaMBggcaYctaNtBactgattStaDaHccYaDtgcaRDgSYtYtatBSaYaaata +aagtctcgcgttcagaaKtttctVattagtWcacgaaVaaVtctcaVgtagttNaaacaa +tgtccttaactaaaStaKWagttaNttatacaaaKattBctgaagaagtYDNtagatata +DtHcKcctaBaggcaatctHttctaaDNtgtgaaaagRaattataaBMaggtDgtMaWHa +cBStSMtcgaacYttRMatNacScgaaRtttctattcMaaBggtaKttaRcgtBattcga +tatYtVaccSacacgtaaagtctNatYttgcSSattttcKccttataatcRtHNctttMc +atBtacatgtYtctagcNttYacaatgtaBgcgttVtattaaWtaDRtKNaNDttDWaaa +ataatDgcgcKtaatatcgctMctatcatcgtaaaaYNRttSaNtWggatRgtgtcttat +aVgaaaatcWDcttDRaatMKctcatatRttBtccaattBSacctgMtaDDRagtcagac +BNtttattttagtDacaagcaHcacgRttVtatcatatacStaatMaWagttRccKtRct +cgaagttgaatttNtttatHaHttagctatSBaBtcaagtDaaaRtgattcatStagttc +aRattacaVgtatWRttWggttttctaactttSaaaVHRatttYHMKVVcgttMtatBta +SaaMctgMtcaagaMtactcDatSaaaacNgatttNcaagttRgacgataVtaacYNata +StRtgaattactgtaKtNagaaccDaatgNDaaHcataDSYattatgtctgYWaaRaHtt +tWggcKatgcgtagDSVtMactataKMSttaHaaaacaHatVaDKtSaaaRtcaNWHtat +ttctWataagctttcccaacctNtaaacattcgagaBKVattaWtcVaKtWcggtaatca +atgttcaaatccDttctcaaSaWNDataaKatBcaYttRtcataMVtKttggcaaNgtgt +tatMaccgttgMNagtgVtNBWggaacacaKaaKctagtctacttSaKYMacaWtWDtta +tagHBacttRttcctgttagtScVNaRtaacgScaStttatctttttSgtBgNtttStRa +tNDWtctgatcKtgHcattatctaaaaattNaaaWgWaDWttWRtHRNcHacBVgWttgt +NggtWtWcttgSatRtaaYtYtNaDttYagactStacYaYtNHBatggatacVtBatgcc +aHcgtagaaMatgataHagtKgHaWcgtaccKaNatagWtDttcgtagggcSgtRatatN +gaRtYataaataRtBtcttaSatcagatgaaSgtVtHtgtaaDtVactgattcgcatctc +tBaWWtaagBttVgacHattWWgcKataHtBtagScWtcaNtHStBKMHBRtRagcataa +YtNtttatacttaMgacccattgagtDYggKccNaaRgataWaaaNWDMttMacttaatg +StDYgtattaBatBttKcSaactagtaccgttggaKacRtDaataSBaatacaKtgagDt +NcttattaagYcagacttNNttatcBtHtgRatgccacctaSaatccaRSgtWggtgaaM +cgcaMaagSagaaDatHcttgaaDgNRttaDKacgcataagYaagtMRttNaMMMgcggt +tcgtRaSgacaStaaVgStcaRBKcaMtctKtctatNaactaHtaactaaatNWaKtWaS +tRSKcatggtgBtgRBtagaatagataSBagMtDVataaDtaattgaYgaBaagWagaac +aggaagtctgacgMgtgagaRVacMcBaaDatKatcNtKaRtcatDNBaaHatatacatt +aWRBtcaccattctctaaWttWacgtccgcgtMctcaaaccHYtNDatttSaDMccaStR +ttWgttattaSVKtgttttgtcWatgtgStttgttttatcaagacMttgtRDgcRtctct +gtgggggcSaagcatVattMacattSgttaacctaaaaccgcagtgagNgtctataatBt +HtacaaSccccMgagRVctYagcgaatttacMagVttaRDcctRgSSttttcHtVaacat +agBgaMRagatRcDBaMtaNtcatggHgaDYgaVgWaaaaMKattBtaDYBaHRccagtt +atacVaDcacactcgtaSctaaatatRDaccagctttttaatgtagaMaRaaKaaataaa +atacaRagaaYaNtatKcDttgHgcVtaYgDacagMBagtgttatgMcSgWDWYWtSaKa +agcatKatatctcaRHacagttaKtgBKtDRggtcaYcattcgcYattttgtccaagtVg +cattttttaVaagtaaaagtWccttgacYcaagtaatataYBaatataBtaaatacactt +ttRHagtttaDSHgNtNVcatKgaKtgagttgaaaHcgBattatHgRKtcaBaagttgtt +tgtVatYattaattBatYgaatgMgtttatagtKcVctagttaaYWttWaRKWggYttga +RgagaaMKtaggtattaMVttataVcagHYacaaMaattRRtataWaaRacHcattaVaB +tHgtatBaRtttaccaaggNgtaDMtatYtaYVtNtcBRKMgaatRaaagaatactRatt +ttNcaaaDDaagtagtacaNtSHttaaataattggtaaKtttaaBaNgtaagtcaYttac +VaataataatDtgHSSgtSDNaattcRMBgHttctaagaYVcHcactKgaaNHcgWaWtt +aaBactcgYtDaacgactMtaYKacBgttcttgttataBacatScBcattKaaattactt +SSDaRgKtHHagRNRMtttBDtcaagcBcgcYattactcgtttacSaaNVagtacacgtg +gtSaWatBtgatttWttScaaDtttggtKtNKaMtMgcttaHKaRaccgatccctgtggg +agRMttaaMaWccggtttBtgttaaVtagMWctNtctHgtBgcttatSMYccttgHaata +tctgNgVttagcttagggaBBSStaYgYatYgtaaaaattHatctatgtWRNgtVcSgtg +cgtcYBagtRHgacttaaagSHatatBaaDgcaKtcccDgcacMttatRaacaataaccW +tNBaYatttYacYtagagattRtatagKcatattDgKtNNgtttWNagggtacStataRt +VDYaacgtaBtVKtagaagRttttttatataSaagaaKtaatatKtattagBtHataata +tcWNaacagtgWaccatatStcYcaaNRctcKacKttgtStaaKRaWDDaatBtttgtca +gggBgtggSctaaWtttYVWttNtctaacatagVYatcagatctVaHMgWtcaagtataH +tgacaagttSacgtNRataaatgttgNtaattagaattgctMaRttBtacBatNgacatt +tcaMcgtaaacctctagHctaaKNttBatatttaatattBaKtRagYtatattSgtgtcc +BaNSattgaaattgYggcaaataatatHcaaaatcMBaagYatttttaYttYaStatttD +tacRtgRattttttgDcRaggagcaccaattcRcttttataHcggatcatNSatgtagtH +HcactgtWgtaggtNgactactHagagHattcaggggSaatgcaaaacSSKDtaggcDta +tVagMtggactaBSatagMttaggatSYttaacBtagaNSVtaSaNcSScaaatattVct +cYaWYtBcttcgaYBagWtRgagHKagagMaatttMatgtDtaYNagDtaBagcKcKcaM +ttKaaaaatVaatHDaataacgRatBNVKtMaccYaaccMgttgtactagcttMatKgKB +tMagtcttMWgaatRcacaaaaSgcgVtSatggcaggcgKaYaatgctcattaaaggDVa +cStgttaMaaaaacNVtBtgcttaacgtDNaaRcgWaKtatactagcactgKVttaatct +tRcgDHHattcStatgatcWataagtattttacgtcaRgaaMcDattYHattYgatatca +cNNWtDatgaaaactgaatHaggaNcttcctKggNgatBaaatttgcaaaDtgctcaatg +tYagacMgtVVtgDBaacVaatNaDtatctgaaggKcagSggVtacgatgNWtKWaggMa +cctagaatattcttYaatDatcgttgatggtcaacgttatatgcttaWVttccRgVcaDc +gagMtacattaMtaVWcgttRcatRacaRcMcaNtaYWNYgMtatMgccctaKctagHtt +taaBVMaaWcSaccgMttBRgNcRWMtHMaccaatgataaggagVttYgaatcttagtgt +cMtgcctVtaRtgcaccaDaagHactNYcNcttaaggcMBagaWtattgtgctaccacgc +WataRaHtDtacgaaVttagttVacctatatStDgtggtaMgaSattcatgMcaRctatg +WgatKatYYaaataNYcSaDtttgtcYttttttaBScatRtctgtaWttaatagMaacat +DttaaaNgaacttacYttagaaccctgNgagMNHaaKacccNatgKccttaKcatDStaa +StNaaVBatagttcacRtYcRcKaagMgctKtBagSaagNcKRttaaaaKaaRtttttta +tHHNHaHRtcaRcMataKDDtNcKtKatctaaataaatRatYttMccaaaNaaWgctgat +tcaaaKgaatScaNaaaKaBaaaaRNtataVcYDattagctattaaatWtgBWHgggtat +catattatcVttcgHacgcgatMattDcaRggDYtYttNaaaatBKttKccStYVDatat +YcctSacVcattttatMtWRctaYagRgctcttttaacVtagaNaVRaccgRaattaaVc +aattgcgKRctMaKtttHgctttVMaNaRaNMKacHSagtWagtgNatKttatctataaH +atgSaSattcagtDctWaataaYtcagtaYtctatHcgattSRttaaaNDgagatatact +tVttatcataSSaBNaDataRtRRaattcaRataaRtattttNaRYtaKttaccaaaaaH +VaBtttWtttgatRagctaMattgcttactctgatKtgatgRBttaataagYttcStKaN +gcNatacgWatYaatctggVtaaattYccKagaVagggatttatttWacgaBcaBtaaDt +tttcgaBcHDgaaSgVNctgaaKtgaVagtVWgRHgtacaatattgcMDNNataatagaa +aataatNtNgccgaaMaagtgNttacgVHaacSgStBBtRagtBgtaaWgacttcKgact +aaatgaagVaacaBtggtacattcaaagtgattagKagNatatVaKBacaMMctccatcg +cgggRctttKaaBatcacaScaNaaaaatVgHaattaatatcWcacacactcatgctcga +RggVgcatatcaDcatYgaggttDgWNagagaaagagaYttHKaatgtaVtYttSNaDtc +gaatctattSKgtgtaggaMgtaccWcaMRtHttaaatgWtgtccgtKtacggacaNgaa +cgaSgcYagcKBttNacaagatacgaagaVcBgStMacMtgKaactataSgWtaaaatDR +ataaaNaSaagHttHWYgaccWMtatataaaaagatgtaKtVtgtcBNMtRaSaRacVat +aaNaaaDtaatgtaaagaDgtataVDaacagatttWtDtcBgatggBcgagctcKWgtHc +BgcMaatDNatcaYtctBgaHtccagHctttMtattgtBccaHMctatctNaaatacgcg +tacatacatctaDactactcKtacctataDccMattRgRggHtaaaaNYcVtatccgttS +aagYcgMatttaVattttHagVatVtttKattaagttaNaacaccHSttagDactSNgtg +tttaNtVtatttatgaaacSaKtactctacgagttgaagtcaSBaDgtagatNaaactRK +ttcatcWtaBaggKtKcYttaDttatMaWcStgattKattgtatatDttatDtKatgtaN +tgtcgtcttttttaBtDBcaaaaSgDatgHtctacaattcgMtVYtatgcattaaaattc +aVgatRtcagBtcaMaNctHgtatVatcHttcaDNKgtWcgagHtttaccattNgaactY +acaKgaaagtggtttgtgatcgaKaHgaatYNtBgcaaVatWacNggataccaDtaaaWt +tBMaBccagaHDaataaBaagYVacYaScctYVgagWagaYagtgatgtttWatSaaaMY +DcactYtaStWgaaattacHgKDaYtttttgttcaaaaatttgYatatVcMatcactggR +aaMVtStBtaaaagggatYaagtBtatcatgcDttDaaaaMatagtctaataNtcttWHa +aatcaVttaRaKtcgatttataWRtaatatcDWcctaNMatgtttDaYaaWtMaagtcag +aKtaMKacgccaaVatgWtSagtagctatttcactaaNcaaaNaaattaggattatMWgt +gacgtcttcattacaYttctRRtttgMatggNtatacaataataNgatNcMttaggBcDg +RHgatctttagtNtacaaccgBatgtHaatgttttgatatccgttatcataStaKRaKgt +tgNaagagKttgNYMaggaattcagaactcaRataDttaagcttaccttttgVttaWWga +cYggStacYcgatgcSccaacHcaYNtgRaHtcaYaacHctYacatagatBgtgacDaNg +atMacgKgBaWagacaSgttaKcatactatatcaHaatataattctggtcNttaYggDRt +DaSHgNttYaatWagagtagaacKtWtHtBatNtScttttacaattagtaMaatttHgtc +tagMctaccagagttcaKcStaccKggaggtctgcNatctctDgYccaaVgttgaatgac +VcatagtgtattttccttcatctacttSgaaStcagHtMaataWNDagtatttttatagg +catNKataNaMtgctgtttVaacctVBDWattgHttatattaKtatSVSttgtaScgcMc +ccattgggtagaKMgaSaSttYgcaaMaatVaVaKgtatgYNattcttagWgtcBaaagS +aaatRatttNctacaStggtYcaaggttBtgaDWBtRtgaaDccacaaaVSatatBcaaS +cWccgaKttttcgtMaVttgatgtMatacatgNttBaNaagtaggaRaBagaagtaRtaa +gttacWatgHtttaagSaatgataNWattgtaSggHDtttBataaNNBRaatKWBgtaDc +BaMaKtctaYatVaKataaaattWYcgtaHcttagtgYtgcKDtccatMSaaagatYcSa +HatcaDtaatgMMatgcaaatgtttagaDDNtatttgaaKcNtagKYcaBMattaaagtt +aaWDacgRaRtaKttaaattaVVKaMaBtaKctaaWcatctRMtgKcBaBaaagattHcg +McgaSNgactaccRatHtaSNtctYcaaBDtaggaagcMatttcaBcDaaatggWtcaHc +taKtHcHMcRgattgaMtNVaDagttaggcttYctcatDacWDaaaaaKtaBgtBaatca +ataaKgactgactcNcattMcacatNMattgtaaaNaaacttgctaRtttacttaatKYg +cttgaSStgtaDaNgtaKgBgMaKgccagtgtMgatHDtgacaWDttHKaDgMacttaKa +agBtttgtcttaagMagtaHcttWcacaatSatgYtgacHgHcaHDgtagaDccVaKcaa +taNttccHYctctaSRtaYagtNgDagatWtRttSttNtRNagacatattttatggacta +cYMagtMacYaagYgVgKgtNtaVcgtgaatcataatcgattYtaaatYtctgBaMgNWN +KMgDttttaWtaBaaHatNHaDacctccNKtgaVcWattYtgccaVRattMacBtcccNa +gYttBYNgaBaaaStWacMgcttccatgHaacttYagMtNaaVSYgcgatatHcaatatt +tgtgBcatWMtaaaaDRttHaBaHttgaacaaataaWaMcaDctgBtatWttaacaaWac +acWtDtatttatWaaHacaVagVgKaaaDttWgRBVagttVNttctgcttgacatttSHH +MKScSgSaMtDtaMcgtcaWaacactMcaHWRgaactWtcgcMNcactVDaatHcDSttW +tagactatgaRNcttagataYgaggaagagcaSHcWtMaKStatgYatttttVaattgtt +tWataaaDaDgataMcaMtatttctVKaKgcttcctDagtgatWatacaRtttaaaBSMc +tHaaatcagStatStgaaVttaattatttgctaagcgagaWaaWtccgcaaSgaatVgta +StMcSNcgtWggMVWNatHctggRtttaacNagtttRtaMBgatatHtaatcMaaaYgat +MtaccttaagYatcgaaattMataaHatYMcccaaaDaYaVaWgRaHaaaMcHSattcat +WSatttcaMtgataKBYtactgaNttgaaDactgBatgYgttaagVgaagDagaatttKN +tgaMtHagtaaHRgaaatttaYtaccNcgWNcKtaYtBMctVBWttttaSagRHBtaHtc +gtactHggagtaatttaaaVVattWDgtaaHaYgDtaacatDtacWttttttatgccact +taDtagtaaKgYNcttMNDaBcaVMcMctWgatactaRcaaWagaatgcWcRtattccag +KgaNgtctcKtWgaNtSttagVaagaSYtcctWatatSgaDaKcactcgBtYacDgMtaK +ggtKcDtRtRgSaNKctaatHtRDaRgatatacattagtgccSttctDgcgatNcatttc +HgcKtagcYgttttgNKWRattgBtaaNcRaatcNaagcgaaVKttYtWttaBttttttN +ggKcgaRBMVtNcNtDVaaMtcBNaKtaataRMcaaaattYactactBattWcgccgWaa +MtaBYtgtaHagtcttVttaggaHVaaNaNaatcttgtgcattttatMDYKccataScaW +gNttccttttMaRcVtWHgaaatgBaaRatgcgatataaaWYacYggtacttaaaaDaaa +ttgatcWaatgtttRcatatcaggaBcttttcttVKatKccaccYtDatMtcttacMtSa +ttaatatagaatgSgagYgWNtttagtatgRggYKacaatattgggVtttaSaYcaRtBc +ggtDaggYaaactNataggaggaDgaKcaaataagatMKaattaaNagtagttcWctata +aDtttcgtcgtattaccStgYgatgKtgcccYatDctYtttttYttaaaagaactcaNVa +aYaYtccagacBttKcaatKataatKVWcBataaatgttcctatYaacttaSVtgatagg +VatgagttgatcttacgMMgtWtYtagcacaSctcHYtataattMttataYaaccKgtgt +aaKcYagaaVtcBKattStgcaaKcaKKaHgtaaBtctgcaattaWgMcgYttMctWtaD +NcDatggWaattggaVDagKattttgaaaRHattgMaaMgtaatcattctKgNaacaccc +NHataaaatgaaagagSatKtacVagttggtcgtgcBtgtgcatgagcaacataagKtca +gtttgtDBBHWcgaDtatYttgattcttaaagcMMttaKgDaHtatVgWHccgatKttca +aNcYtcaaDWDatcaWtBtWHgctaaMDaDWtWtNKcRRaNttVgHaRgKgcWgattNaa +attaataNcaRtagtRgaacagataDKgtatScattaDgatcatMtcgYcgtttaaaRct +cagcRattaacatccStcBtgaccgtgWaaagaaatgaaWtattaVtHacctaccaaatg +BgtaVVYaaaatccKgtcaactataDgNagtcaSgtKttacHtccMKKWattagtatNct +attagtttWttRtgaKaBHStgRagattaKRtWaKttaaWaagtaVccctgcgMRWatgt +tNKgtcSggSHtaBttgtaYaatDtaVtaatgtHcatWaYcMttataVgaaaaagBgaag +RattccggcttDgggcttcttaacttRgaStaMBaaMtctMBHBacttVgKggcttgcgB +cBtgDtttcctattaaRcatStNgcKgctatcccacSctcHtaHWtgWaYatgVaRRYtg +ctaaaatggagacctMcttgttMagBaKctttYWBtaYKgcccYttaMgtHaaNYgtgta +gagDttcBatgtStttMtBWtaaBctaggaaNgaRgcttttttgtagacRttHSagaatD +aYgcctMBtgtNSNaaBttgVtWtttKgacaatatVttVatagatttgcgtcgDtVgtSa +ttaaaVHtaDaatYttatKSWtcattagtaaNatctcagcgtgcKcatDtaBccaaccct +gaYcattaNaagNaKgagttttcattaHMaVKMDDtaSHScaDattgcaggcccMattat +acYtMatWgatttcBcBtBctKacccaaWctatccctcaacaataaataaMttgtaHHcg +atKgaggBtRYattatacgtaYNBacagacaaatVtMcttttRtVcaattgtttgaWtaa +SacaRccMcaaacttttaaacgtacVBtcWcSaYHgtattacgRtgtgtaKgWgaatcta +BtcgtgRaaaWWVBcaNtcgctgYtaaaHaSccaagaVMNaacagattaHRaaMWcVgMt +ctgcatgaagRDattactgcKHtcactYtccttatgHtKgMgKcDtacNtcaStgYccaa +DagttDtttgYcaagcacWWttaMgccaStaaWtVactgaagtKtttcaWaatgMattat +KcctctttttcatgtaaactttNcaaKgttttMaMcYtgWctMtttactttagaKtMgtt +DYttctatagWcRttatYSagacttcaScaacaYtSaattcaaagtgctSaagctattaa +agggtaactcacgDKgttaMRgggattttMcgttattaVtccaNagaRgMaataaagaSt +cSaacgtaWttatatHgttHBcgtacggKBtSatDactRggaRgccBRttctaaaatSac +tcKtttVaWRatatttWaHaKMatgtacatcagctaatggBgaBNSNatatcYStagaat +SNattaccgtcaataaggYMRtaDaatVgYaDaattataRgVaagtgcaNKtgttgactt +atHccacHaacVcWcNMDtatcatttttaHacatKtatagtgccWttaattttBSDaKaH +aDttYacDtBgtMNgggBaaaaattDaaVMaKgatcggKtgtctatctctVatcDtaaga +agtgtaMcWatDggaaaaaYtcDVtNttcNacgaYtcgatHctctaWgaaggtMttcKtc +ttaMgtctKNagcRWcgBVtcBDatYKtctaVaaaBgtaRagcacggcaHHagcagaaaa +acgggtataatcaaWtacYcWtcctaBgVVaBagHaaaaaatataRYagaacgggVtttc +HaMtNtMgcgaaatKtattaagtMttatcttWttttRaatatgttatgtatttRaagKtB +gtgHtHDggaBDtWccattcKtttagtttagtBYcDaMBtgatcttgacatKctBcaaaa +caHtatggaNaVttcgttatttttttcaaDtDDaatcaaaYaaBHttaMKMVgctgWtac +VtRaaactgYtcatggcVHtgattRttataBtcgaaRataDttaatcattHtatatccNa +ttcaaHtgKRtRtagtKaRWaataYaggatccacttcacaatgtgatMaggactNaacca +aMaaKtagaaMctacttDSaaaWSgctcagtWaataWaHtStMacttaDtgagWaaaata +tttatcaacaactRtDgYcYtatatgtataatWtagccaagcgtttataatDgctgVaaa +gHaattagaatBWggttctBaNtactHtKBtcgaaaRttHBatDaaKccaSHgtgctWtt +cBaatcctYttgaHacgtatgagStatRtMaacKacacggaaSctagDagNttgaKKSgt +ttctacgtagSataHttDctggBcYtttaaatcgRgagagaDtgRSaVStggVtgacgtM +tatgaaNtWtHgtDaDtgttNaSVagaattccgcttVatatacattatataYtaggYaaa +RDHttHYDtNgcatHggctattYtaMcWaaVtaNtatttHaagBtatcagatHtttgaaW +WtttKaaaggBtattHagtaacactDggtattttScttaaaacaStcaacHttMtatcag +atSaHtaVtBaNYcttHcatgHatagaaggggaWgtgBtttagtVttgacatYtKtatta +YSggtaaaHgcaggaStHtYcgtaaDWgtaaaMcgYtNHtgNgcttttataWatttKWaa +KtHattgRtBtMMccgtBtYttgaKaWBatcBgaaacaBgaagatYgKWaaacBgatgtD +aaacttDcacgatSKtaVaRDWtVKgHtcRattactctattBacaaactaatgDtaatca +tatKRattSggtcggRMaaHVtgttMcgatatcccgVctKMgBactVtWtBKtgWtaaaV +aatRgKatttKSaYHtcVBNtgStgtatNStaaccgttaaaaYactBgaaaaattacacV +ttKattVNgaMattNccctaVtaaStctgaaVatactgtctaaaKYNDtataWtattaaN +gtHtaWgaBMttttccaaaDcgctgagBacacttctDSctcMtBtNccaacaaatSVtat +WggagSattKatRBaaaNtNtttagacttaagtHttaatcgtWctHaMBaHtaaagKaaK +ttgatattttgKcgtcDtgtKtHagDtMtatgatcttgtcSgtWgctaaaaattDaaaNg +NYtMttNHgtHBataatMgMttctDcgtNtNatggKatHtaaRtRtDStttRVcaatKga +aRSRtBttatccataaMttagcaaWtagtVgaVBatcVtYtagttgtaMactaaataDat +agNttttactagcgcKctDatatDgaHtRatVWagaDtttcggSKataacaggaaKggMt +ttctaVttMaatgattcgaagcgattaNNtYactttKgaatWttNNgctatatgttacKa +MtaaDgtKgttBttHtDacaagaaRgDgttWtaatgVBcaaccatgcYggtRcctaaDaa +HcatYNaaVDNtBgtBaattYYgcHttRctattVtattgttcKaaatagtacccttgcVt +aaHttaagaKtaagSaYtgcacttDattYttaVgRcacaattDDttagattttcHagcca +YaataKaatccVDKctNcctcaaBccaaBaYgKacWVtWttatgcSatcDHttattaaca +agaacRSactBHttDaBBBcacgttactHaKgacaKtaWMcHtaVHttaattcgttatat +BaaagatgaactaaYgDNattNaHgHKtaatcctcttcHttagaatVcagaHtagBgtMa +taattaagtcSRcatSagMagaaaacgYacgagcacgBcggacaHKaaBatSatagtatc +DttRHtcagtDtaStYtagaaagtYNHtgaacaatgcgataaNgtNVagtacccctBcga +YWaactRtDtatttKatBccVKtHttNcttVtgaKMtgcttggcgaNatctcKggtcttt +tataaacWaBttcgHtcaHtcgatcgcggccaHaagcVgKattBaaWttKcttaVaagYa +VacagaacgcScDcgatataagttttacaaKcaaaBcYcHKctRagcgaatgtScBagMt +tYHtaatHcKKtgggatgKSaaatactgWBHVcagHcttVBgYDtaVtcctcatRcVKcN +aaYaBtattttatRtVtDaaScgtatacMatcaaactagtaKataaatStHtacaagagt +tgtYatctagaBaHSYtaaataaaStacaHagWSRSDtagtatggctgaKtaRctaaagB +tactcttatgBcHcNtNRNtHataaccRttagatataaHtacScgtattgttgtDcctaY +RaattccaNatgtgctaaaactMcaWttgttgVMaSgtaVaSctMcagtcacNaWacgaa +tWtaRtaatSgatgaaWtaaWcgtttHtWcttgatKtgDtDMcagtcattcacttgaaat +actWgtattcHttcataactgctgtgtKatRagtaatttYgNcaatcBctgtStaggtaM +atacgtYaRNtgNaHtNccRtgcSHgRcaatttVcctattaBKtgYtaMaactRaaaaBa +attHHtatVNWYHaatcagtaMVtttctattWHtttacaaVccDctYtttVtNtRRKtBg +atHtBcaatHYaSgaagaagHagtttDaVaattVactactYcaDtKttgVVVtaWtggct +aSttgtaataDctWactcaRttWcMSYtWagaagttctKHcgKtDaYggaDttgtgtata +acaRKctaacttcYaDtccNaNttaYtaatagRttaSagaatBtVRtaatcttatgcgtW +tataaWgHataatttYYSttYcggKKtaHcttttagHDDBtggtttaaacatagaRagtV +agactttacKaWDMacgYaacctgctKaNattggatggNgtKcYSttttcctttDtYttB +catgattSHaaccVtccatctcccacDBtgaWBaMaaccgttttcttaaMgScBNatBta +gtcttccttatKBRcctggtVStatagcDgMgtacattacccattKKtaRcRatRctYVa +SagttatatYtcgNDDggKaHggcccgcRtacgDtcYctgaaacHtatattaVtcaatta +aatgaWaBggYtHYYaVagWacaNtDtaRattgRacRtacacatgHtagagtaatatttc +tgDDcttgNDagcctaaHtatYHtKtRaScgtattMttacaacHggttttatSgaHVVga +attaatagttattactgtRtaWgataMDaaaactgNYacYtagKtaRcaYDHatatVatg +gctKtWatHaNttaatttttgtaagcctggcgKataaNtttRMNggDtataaaatVcMRa +taacagctMatBgMtaaVcgagattcaaaSgtgKacgtDHatWaatgttcDtWatgYcWR +ttcatBSHtttgaatatBgaaWgggaaBcctSSVaagctSctagYatDggtatatgtaat +atgtatgHYcRtagagtHcgggcataDHattcaaattcRgcaaaataagattcaaYVtaB +taagRagtttgSRtgRYKgWggtttaaHgcHStgtggtctaHaccaccSaaaattaHatg +ttVtataccagaatDKVtctagtttcaatgtNctaccgDcacgaattacactatgaaggc +cKVatccaSWaaKHtttSggatgagMagttgcaatatKYtacBttaccatHRttaactta +caDKKtaKaDcHHcaYatatgMagaRaNNttcggagYRtacMtHgacttagacBaagggB +atcttgaRDactgatacatatcSBggtaaaVWgMaatttaYtaWacHattDMtttaaaRR +ScatcttctaatacagtBVgtgtttBagtatgBNcaagHaaaSaSYKcacMtKatggcac +gcctSRaagcataattaYacctMaaKtcggaBaVaaWaDMttgccttaaacttDaaHacN +VtgagaataccactctMttaatcttHcctttaggaKgaggWtaNataYgtaggtgaagtc +WDcWaBatattRtVgtRgVtataacDDNttatcYaaaagcaVgtYggaDattccgtccDc +SttaaWtttcaaaatggataSatctRYcaaBctMMtcttaacMaSgDatgagatcaYgct +cacHccMgaacatcDNgtNRcgBaaatagaYgatgcttRaattStccttgagcctaVaag +ggatatcagtaNMttaaHcMaatccScBtYaYttatgaMNagtgHaatHacaHaBaaDta +RNDNcBtagBgacatStagacttgtaatMtYaNaKSaccBtttHcDaHNBttBaacSagg +agaacgWcMgtRcaagattSctgtaBtcaatMtaHgcaaccataVgtaagDRcDcggaac +caBtacVMgSttgtcataaaaacaMataHatgttaacaaMgtacgtMVcatagYtKgtgt +cctaBcYKattcaggBaaHagStcNcattatRRaSYtYDRaHYttttggaRggggttatK +cVtHgctggaNttaagagBaacattggYaaDcSacggYaRttacaacactcDcacBDtYa +taaaaDWtctcaggVtaYttKtaVKtDSaMtYtYcgtaacHtRcHctaacBgattttagH +aScDctHttaaaatVaHttggttatttDtatHtcaHcBagSttttDctttWtctaaataa +WtHYtRgtBccSaaDSaNgatcSttaaaatgaYgKaaDaVatatYaRaHDtataKaNtag +tacataggSaatMtctMtccctWgaYtaggataMttcgtacgccYgBSgttaaHgctRgR +gtDVSRattttttaaKtRMtatSgRaatKacMaYgggtagBgNHcgYRagHcatatgtga +acMtacSDRMHaaacHaagtWSMcaattcagtDctBattgttcatttMBaDVHVDBtaat +KactNacgcBYtttgatctatVVtatcKaKSgtaWcgtcgNYatSaRtcaggaRtctatt +agattKHttYaaBtcacatataattMgtatcataKKatDVtWtaHtHHVaggaaHagWaH +tattgtDaHRgatgtaaaWaaSStMatttgNtgtcagDWgagaBagtcattaataggagt +tcagcHttgWagaWcRttaKttaDgaDWtYacMWgRaatatccMtaaattRaatacaKYc +gcatgtatgtNaccataSttSatttttcgatcttcaaKcMDatgaattcaMWctKNcHtc +tacaYgatgcaBtDDWtaRtScaYaatYSgBtDcaacYataacgcDgtaacMtSaaKcKt +tttDVgttgtaaNcaattctcaataaatcSVcKaacattgggacatgaaaacggaggagt +acDYgatMYttaaaBBctccYgcgagccHattttaWtataYcaKaaDYaaaStMctSatt +aatataNaWcacaataVtcatacaHcgMgaatYgaataatRcWcgtttcNDYcacaaaca +caNttttaatctaKtRttHDSttccWatatagtKtgtcgaccaBgtVacNaYBHgtttSS +agcNtctacctttaacgacaDcWVacSHcaNacatttgBYaaagatWagaacYMatcKgB +YcBggtaWatataKcNgaaaattHYtSaYDVHSactgttNRgaaaMBtatataaaaacVt +ctWtgKggtatDBgHaKaHVcMWtYYBaaattaVtcgaaacatggagYKtaaaacagttN +tttatcatgctagYcctctNgttctgctaYttBataaRtattgatgaaactagttBgagt +cttccatBagatctBaaagSacagtaaStaaatatataataatcttaactatVtaaBatt +HcHgcttSSaaDRaKtataagggKaacRagBaggtaMYttggtacMatMttttYttaact +taBaYaaaatKgtactactKDctcttgaDtMgattgVgcRaaaKattaatataagWgttc +aWgtcaKtatcgacatDaaSatHtttcagcNtatSggtgtaRtgatttStBaNaHgcagt +taggggatWtttgattttatcgaBtctaggcgtgtgtWttttaaSaWKctWggtgataaa +attacBtMRtatccattaaSWttaSMcYtHtaacttaaBaDattctatKatctttcatDt +cgNcgacttgtaaaattDcaVatRacatgaaagtcctgtctcatacatatcSWgNDttga +aVKatNacDggagWaaatgaaVNtttBataaagVttVataataYcNMVaNaKaatRMcag +NacVRactcWgctttNatHaRaBRtaaatRtaKtNgYWattaatcttaRttgttcttaaW +aaagttcNVtagMaBatcVcgccDaaBMgKttgaVaaccgYtRaactttYtcatgattgt +WSaaBatagtagSataDgatgNtaWatcaMttaHattagVtggagaNHtaatatctNaag +aDBatcttttaRaaNtBYagtaacVttYBtaagcaaaMatcNgKaggacagagtgaRatW +aDaaSaDaaattVgcWttatBNctgSagtctgcSttacSRtgatHDgggcBagccDtatY +aaagaataDgatDaBttagctatcHtcWtagggagtDtSaaacagtagcttVatgttggc +StataacttVtaatWKtatDatcttcDaagactgtgDNBaccaattaacaaagaaHWtat +ttaacattWaatgttcMttaNNcYaRccHtacRagatccKaaYactcVRDtcHVtgaaNa +SatctRSaWtagagtcgcaataDcagBaagtctSNagaaaKgttataStaatagStaatS +atataWttctcgtaDgtYRcgtHttaKtcDttRaatNacYgtagVaattNttttatDgKc +ttttSaaattYcgYBaaggttctagYcBataacVcagggaWtaKtacatgcYcctatccD +atatagtcRaaaSMgtggaatcaaMaatWcgctagggtcattaVtctaatgHcaSHtcac +ttBaagaMDtactYgtttgWgacccStDtagaDaBtgctctttKaaaatMttNStggttt +atWttYttatKMKgtctaKcgaBaaaattcccgacYtBcaKaKttRccaaBaWgMaMatg +tWtcRDWttcggacNctataaacKaaatHatggDatSaaKtgcgRaaacgtgttcatNtg +HtcaataaacaaWMKatattcWaKcNaccWtggttcctBaMttgRtggtWtaaVggDgtt +aDaScgWccWHatacaagtaHtaacttWaNatgtgttaacKaVtcataDMattgtaKcct +tttttStaaDDtHYattNtcgatataBattctWRatMVtStaSaWttNRacgatagtRcg +cRtcctttacagBKaaVcYtRaKatVtaWttaVggBBatcaaWatgtggagattDgWttt +caataDtactRaatBattWVacttWVNtVagHaHtatttaVagtRMMtaBattatataaN +aagatHBtgtatVtaaacatttagtccaKDcacgWaaHagttVKBgcgRaSYtttVcgaa +caBatttaatctaSYtccNtcatctatttatBaHcattcaBgDMYtactgScccttRcta +agtaaNtaaaaattatggtVataaagVStcaatcacgcDaatgtaacatDBagtcgaaRD +aSactgcagaHgttYatgaVgtNccttcaKHgcgataDcgYtgtgBatcacScgctBcVt +tttcYaaNtttttatcBaatgataYgtgttgtatgaVcBagtatagtNaRaaatKVtcRt +cWatctaattgtVgataaMataWagaDttaatRcgctaKHgaRagtDctScatNgHgtKg +tDtHBVgYcagatgttagcgaataaNBactBaaRaWcRcMctctBtWKaggcaataatSY +tccagtRtaSVtRgatctaBgDNDtBgtttgtaNtWtaatatDtataacgccDttcaMaM +atgRtgaaaMHatgBaatgcccDagNgttRDcWtaaaKtMSaBgctgcaatgtSVattRW +cBtDaaMKRcccWtVttaaatatttctgtcatNBgaaaatHtttWtYtttcaacaaagaa +NYBaatatctgatNtgaacaaMaaYcNgtgatttWtNaatWcYMScMctaaStttNgHtM +acgtMDtgagcattcacWtttKttBtKaKcHaBtttaBacgaaNYaaaatBaatNHgaaa +tMtagatDcaagMtaattctKtgNtScaatagcaHDagtagagSRcagcaagaccYHtaN +tBatKtStcRagtgttMaYgtgggtNatSaatStcYtaBaSBtaggtctMtatcatgaat +tactcYtNagaaaDtggaaatKBattaaatcWgKtStKtcaWMggaattYtggccgaWca +cagaNWaNgaacaYaHgaVtMctVHttaKDcctNccBKMDagtatgcHtttaaaDaggtg +HtattcatatttaagcBaaaRcSgttaaatgWacRatacaaatgBatYatatRBcacaVa +taRaKWMcDWtSaatatHattcVgMKYtgtaVBtgagattRgaatgaDgtcaStacgcta +ggRggtSagKcWYctacaagtttBtgaBttacgaStHgVaStgtaRtacaDccNDattSR +gttatMtNttttWHacDtttVtgacgYattccWctaagtgaaaMMatgNtctaataRctg +aacatttVcNtgtttgaggcaaagtatgVgtaVtgRDcttBDtataaMBatatNgataat +aHaaaNacaStgaNaHgYtgacagtcYDggagattNcaDtKgtagMaacSHRtcagNaga +tKcatataVatactgRVatgBtatcgttattHtHcKaDtagRagtgHtaDcVtatacatt +acggcaKttattgacatDaatgtctcattVcaRcttttgDtNHSggcttaYDcHaatcDY +acccWaMttgRtNggYtttttggDgctacVDtBMgBaDgtMaaBgctBVttVagaHBaaa +aatgNactaattattNagaagNVaBgVtRgggatacgctgMtgaccatMaaDYDaagctg +gtcaatggtatBtNtccWtWKcaNcBttactgtgBYDaMtMtcWaatctWYHatccgWta +taaaNNacNgctYagtaaaRtaaYggcagaMaagggttHaatatcaccVtagtggcgtMt +agtcaYaaRttWgBtctgaaBtKattaatYtacaatcKcacNcMDtgtactatcDcgRta +aYagattgccMtgtYKaRaWHgtaccttagcRaWaagDataccagcatcYtcaaSgVaca +tttaSttSVDSctactgaNctatVattttacgaggWgtaaaKtcNgatgttgcaaNVtta +gRtttttRttYYaYcaaagcVDMaaRaRtccVcSattttcaattagWattMMctataWat +ggtaagagRaaattYKKtgatagcMYgcVcgggStattacgBBctNtRgacaacYHctct +NtataattBttStaRaaaatctgtWatcRacaaMtattYttKtccaatcSttatgtaWtt +cgcaaWgtWNcBccRgtBagNgYtDctatccMaagtgcYMtYctYttgtcVaaHtatgcB +aaBcgaataattcttcDaacaaacBtagWYaagcaVacYcKYttgSaKVcttccgcctca +ttctcaatgVgaaacatWWctgcagtttctttttMagWttatRggcattattVaagaBBt +tatctattatMcNtaacagttgaaaBaRtaRRtNtataYNtttNtcctaVBtatNtNgBt +aHHYDttKctaDctcaNcatgDaYatgYagaDcaHgactHgWWaagWtSttctagKaagg +YtcataYgBtccRaggggaaaHagaacaDatgaaaatcaKtattgWacgtcMSaacYaYg +cWYNgagtaMgtSccgaaaaaatctggaMMRaaaataatctaaacgatatgDaggaVKct +tttaatgacBttNYttagtatDagYttWctttNgtHtcVtattHtcHacattatHgNStg +tSaNaactVMcaatcccBHNatcttDtcgaKccKttatttctVRaagttaMtaYtcttca +tMYRctttRtaMgSaaaactgWacHagtacccatttcgcatgagtaaagtHcaKgVBtaa +ttatBtttWatgMctccattgactattcttgtcatSttaaHaVtKtDcatcatatccaac +KatattatNggNaRatcMSDHRtcctYRaatccacYaatBattcttBVctatatttRNtg +aNtcaaaRgtaBcttaaDRcgctacWcttgatatctHttttgtNtYatatacgaVBgYHg +attgggtcgacacDtttKVcaattWRcaagBtgctDKDaYtttcKgNgggtcacVagatM +gtMVgVgatttcagtcgtgKgtKYgtYSaMtgataatNggattKNgaSggactaaBagat +aacactcataVgttataaSacaatcRRaagtaDaagDYtcactgtgaVttWtBaMttttg +aHtKaYtattccagccaaBaggataaRtBatNcatgtatatttcttacaaYVNatagaaa +gaSaaaagaaatSaBgtcgattacattgWccttHNattataacgVRDtYcWgaaYaVgMt +tcttgtDtKaYVttctgggSNtaYHWaaHactaaSSagttgSaaactYaMttaMaHVRtc +gattaccHtcgcgatgNcaYtatattacgcHaaaMNMtaYDgacaggRgaYVtVKcaSVc +WMBBaWaWcagtatHaWBNaMcBtatccatgaScHtYtgactcattgaYatRtacttYtc +tttgBgtattaaDtcaHgcNcaVatagtttggggRaaaccWcNNttRBgaaRKgaaNtMa +agcVacgtgttaaMYWtcBYtgagtaatcgttttaatcgaaaagttDcaatgtggtBaBc +NtgNatBtggactttagYttBcgttRttatSgacNaDttatRKacactgcSKaVaaaRgH +aattaaaRctgatKaWcctWggWWagccgaactaYccttgtgaBHggcYttttBccttag +gaKtaaaBacVDcBYYgaWagaKtaHaaactaNttatagtcttttacgaccctttKattW +cgHgcaDccctHttatVVaagKaatatgggMaNHagattgNStatBatcgaaYgcVcaga +atcctcYtBKDatatcNKgacaatKDatgaaacgaaatYYcgNBDtataatMcRWtaagt +ataHgMaVggcaaDtggttcVattattaaaatSVaMaNcDBttataYgttttStacattg +agagtccaNtgaatttttKtStatatttRaatttcgBDccctaaSWatttaaMBStcata +cctgctctatctatKatatgaacaactctWBaNagtcgYaaaaRtctMtDgtaBaacaNt +acagtcgataNgaVccgtttattatgatctagtDSgaHNcctKtcttatNtgatYKaaSt +ctWDVcaaccgaVttScaagaaaaVcccggagWatcVaNtVaRcNtcagatcMMatacta +aaWaagatYHRWcaSagcgMtttatSBtBtBgacRaVgtgattaagtBgtatcgtNgggg +DaWgagctgatctatttHaactttcgcttttccatttNaaYgtattttactttacttRat +aBttgatagggacattattaaSaaaYtgatggaDaMttacttatttttttaaWttttaat +aaWaNaattgtaBtBMcatcNtaaMtDaaaatcRgcatccaMtggWggHggagSttacaY +HatYtgtaatcatttgVtataaDVttcaYttctHtHtagttWHNYYtVRVccatacaatt +aaaYatcgcatBagcaatDaWacVaBWattagaaBataatgtKaaaNKcagaactNaaga +NatgKtBSctgattgWcNaaSataggtataaacVaatDttcRaRtVtVtgtataagMtSc +caSScagttgatYattcagcMaaWctaagtYcSattNccgtcgtaBtaattgttgacaaa +DttttattaatacSKtcgcatNttatWatacgRtgcataactYtcacHgVgHttYaataa +WacgSVKatactagDggcattKctggataagtVgKYtatgttagcgtaRtttaaagacHg +acacattcHKaMKtcgKtcacggtgatcaaBtMttcttattcttDaKKVgWagtaacatg +KatVgacattagWtaRtaccRaaVHtttttRtgBccagtcgctagtRtaBcMVWMtaBta +ggttaYcttagaSgYgttttcaaNNgtttVaagctgStttactaacWattcgtVgtgtKc +gtYaaaaaKtaSaattgBtYgaVcagKatgaMttWDRatgtaatctagacWaccgcaNgt +ctgtgagtMttgaaatNtttattaRKcgtaWatcaWccaKtttNactaatNcgVaaBcgR +gDttcDcatttgagWNattttNaYtttatgcHtttBBacgttgRgtcataNtatatcaWV +catgaacatRgtNaWaatcaggttaaSctttcaacatHttVKaHtNtMtcttcHattYat +cgatgtacSaaataVtcttYStaagattDagtKccgaccHBYatMtcggBacatVtaaag +McttBgtSagKgNttttcNtSaaMaStHgtattttKaRttaMtDtcKtcgagDKgaaaac +ttaaaWNaattgaWWaaggaaacKtttVggMBcatattDacctaMgaaKgcgcaaMRtaa +tcgataaatRDttataNtVgtaVDggttaNgatBgtggcaaYWtagctcWgtSaacgtat +tKcgcBtttDacaaaaaStKMtatNccagKatgtVtHtWaSBgDttgWgaattWagtttt +aagcctNcttaBtYttaRactaattggagagggtctagtatgggtttacttBtatcatat +gctaKggNcataaaSatgtaaaDcDRtBggDtctttataattcBgtcgtactDtDagcct +atttSVHtHttKtgtHMaSattgWaHKHttttagacatWatgtRgaaaNtactMcSMtYt +cMgRtacttctWBacgaaatatagScDtttgaagacacatagtVgYgtcattHWtMMWcS +tgttaggKtSgaYaaccWStcgBttgcgaMttBYatcWtgacaYcagagtaBDtRacttt +tcWatMttDBcatWtatcttactaBgaYtcttgttttttttYaaScYaHgtgttNtSatc +MtcVaaaStccRcctDaataataStcYtRDSaMtDttgttSagtRRcatttHatSttMtW +gtcgtatSSagactYaaattcaMtWatttaSgYttaRgKaRtccactttattRggaMcDa +WaWagttttgacatgttctacaaaRaatataataaMttcgDacgaSStacaStYRctVaN +MtMgtaggcKatcttttattaaaaagVWaHKYagtttttatttaaccttacgtVtcVaat +tVMBcttaMtttaStgacttagattWWacVtgWYagWVRctDattBYtgtttaagaagat +tattgacVatMaacattVctgtBSgaVtgWWggaKHaatKWcBScSWaaccRVacacaaa +ctaccScattRatatKVtactatatttHttaagtttSKtRtacaaagtRDttcaaaaWgc +acatWaDgtDKacgaacaattacaRNWaatHtttStgttattaaMtgttgDcgtMgcatB +tgcttcgcgaDWgagctgcgaggggVtaaScNatttacttaatgacagcccccacatYSc +aMgtaggtYaNgttctgaMaacNaMRaacaaacaKctacatagYWctgttWaaataaaat +aRattagHacacaagcgKatacBttRttaagtatttccgatctHSaatactcNttMaagt +attMtgRtgaMgcataatHcMtaBSaRattagttgatHtMttaaKaggYtaaBataSaVa +tactWtataVWgKgttaaaacagtgcgRatatacatVtHRtVYataSaKtWaStVcNKHK +ttactatccctcatgWHatWaRcttactaggatctataDtDHBttataaaaHgtacVtag +aYttYaKcctattcttcttaataNDaaggaaaDYgcggctaaWSctBaaNtgctggMBaK +ctaMVKagBaactaWaDaMaccYVtNtaHtVWtKgRtcaaNtYaNacggtttNattgVtt +tctgtBaWgtaattcaagtcaVWtactNggattctttaYtaaagccgctcttagHVggaY +tgtNcDaVagctctctKgacgtatagYcctRYHDtgBattDaaDgccKtcHaaStttMcc +tagtattgcRgWBaVatHaaaataYtgtttagMDMRtaataaggatMtttctWgtNtgtg +aaaaMaatatRtttMtDgHHtgtcattttcWattRSHcVagaagtacgggtaKVattKYa +gactNaatgtttgKMMgYNtcccgSKttctaStatatNVataYHgtNaBKRgNacaactg +atttcctttaNcgatttctctataScaHtataRagtcRVttacDSDttaRtSatacHgtS +KacYagttMHtWataggatgactNtatSaNctataVtttRNKtgRacctttYtatgttac +tttttcctttaaacatacaHactMacacggtWataMtBVacRaSaatccgtaBVttccag +ccBcttaRKtgtgcctttttRtgtcagcRttKtaaacKtaaatctcacaattgcaNtSBa +accgggttattaaBcKatDagttactcttcattVtttHaaggctKKgatacatcBggSca +gtVcacattttgaHaDSgHatRMaHWggtatatRgccDttcgtatcgaaacaHtaagtta +RatgaVacttagattVKtaaYttaaatcaNatccRttRRaMScNaaaDgttVHWgtcHaa +HgacVaWtgttScactaagSgttatcttagggDtaccagWattWtRtgttHWHacgattB +tgVcaYatcggttgagKcWtKKcaVtgaYgWctgYggVctgtHgaNcVtaBtWaaYatcD +RaaRtSctgaHaYRttagatMatgcatttNattaDttaattgttctaaccctcccctaga +WBtttHtBccttagaVaatMcBHagaVcWcagBVttcBtaYMccagatgaaaaHctctaa +cgttagNWRtcggattNatcRaNHttcagtKttttgWatWttcSaNgggaWtactKKMaa +catKatacNattgctWtatctaVgagctatgtRaHtYcWcttagccaatYttWttaWSSt +taHcaaaaagVacVgtaVaRMgattaVcDactttcHHggHRtgNcctttYatcatKgctc +ctctatVcaaaaKaaaagtatatctgMtWtaaaacaStttMtcgactttaSatcgDataa +actaaacaagtaaVctaggaSccaatMVtaaSKNVattttgHccatcacBVctgcaVatV +ttRtactgtVcaattHgtaaattaaattttYtatattaaRSgYtgBagaHSBDgtagcac +RHtYcBgtcacttacactaYcgctWtattgSHtSatcataaatataHtcgtYaaMNgBaa +tttaRgaMaatatttBtttaaaHHKaatctgatWatYaacttMctcttttVctagctDaa +agtaVaKaKRtaacBgtatccaaccactHHaagaagaaggaNaaatBWattccgStaMSa +MatBttgcatgRSacgttVVtaaDMtcSgVatWcaSatcttttVatagttactttacgat +caccNtaDVgSRcgVcgtgaacgaNtaNatatagtHtMgtHcMtagaaattBgtataRaa +aacaYKgtRccYtatgaagtaataKgtaaMttgaaRVatgcagaKStctHNaaatctBBt +cttaYaBWHgtVtgacagcaRcataWctcaBcYacYgatDgtDHcctaaagacYRcagga +ttHaYgtKtaatgcVcaataMYacccatatcacgWDBtgaatcBaatacKcttRaRtgat +gaBDacggtaattaaYtataStgVHDtDctgactcaaatKtacaatgcgYatBtRaDatH +aactgtttatatDttttaaaKVccYcaaccNcBcgHaaVcattHctcgattaaatBtatg +caaaaatYMctSactHatacgaWacattacMBgHttcgaatVaaaacaBatatVtctgaa +aaWtctRacgBMaatSgRgtgtcgactatcRtattaScctaStagKgaDcWgtYtDDWKR +gRtHatRtggtcgaHgggcgtattaMgtcagccaBggWVcWctVaaattcgNaatcKWag +cNaHtgaaaSaaagctcYctttRVtaaaatNtataaccKtaRgtttaMtgtKaBtRtNag +gaSattHatatWactcagtgtactaKctatttgRYYatKatgtccgtRtttttatttaat +atVgKtttgtatgtNtataRatWYNgtRtHggtaaKaYtKSDcatcKgtaaYatcSRcta +VtSMWtVtRWHatttagataDtVggacagVcgKWagBgatBtaaagNcaRtagcataBgg +actaacacRctKgttaatcctHgDgttKHHagttgttaatgHBtatHcDaagtVaBaRcc +ctVgtgDtacRHSctaagagcggWYaBtSaKtHBtaaactYacgNKBaVYgtaacttagt +VttcttaatgtBtatMtMtttaattaatBWccatRtttcatagVgMMtagctStKctaMa +ctacDNYgKYHgaWcgaHgagattacVgtttgtRaSttaWaVgataatgtgtYtaStatt +attMtNgWtgttKaccaatagNYttattcgtatHcWtctaaaNVYKKttWtggcDtcgaa +gtNcagatacgcattaagaccWctgcagcttggNSgaNcHggatgtVtcatNtRaaBNcH +VagagaaBtaaSggDaatWaatRccaVgggStctDaacataKttKatttggacYtattcS +atcttagcaatgaVBMcttDattctYaaRgatgcattttNgVHtKcYRaatRKctgtaaa +cRatVSagctgtWacBtKVatctgttttKcgtctaaDcaagtatcSataWVgcKKataWa +YttcccSaatgaaaacccWgcRctWatNcWtBRttYaattataaNgacacaatagtttVN +tataNaYtaatRaVWKtBatKagtaatataDaNaaaaataMtaagaaStccBcaatNgaa +taWtHaNactgtcDtRcYaaVaaaaaDgtttRatctatgHtgttKtgaaNSgatactttc +gagWaaatctKaaDaRttgtggKKagcDgataaattgSaacWaVtaNMacKtcaDaaatt +tctRaaVcagNacaScRBatatctRatcctaNatWgRtcDcSaWSgttRtKaRtMtKaat +gttBHcYaaBtgatSgaSWaScMgatNtctcctatttctYtatMatMtRRtSaattaMta +gaaaaStcgVgRttSVaScagtgDtttatcatcatacRcatatDcttatcatVRtttata +aHtattcYtcaaaatactttgVctagtaaYttagatagtSYacKaaacgaaKtaaataga +taatSatatgaaatSgKtaatVtttatcctgKHaatHattagaaccgtYaaHactRcggS +BNgtgctaaBagBttgtRttaaattYtVRaaaattgtaatVatttctcttcatgBcVgtg +KgaHaaatattYatagWacNctgaaMcgaattStagWaSgtaaKagttttaagaDgatKc +ctgtaHtcatggKttVDatcaaggtYcgccagNgtgcVttttagagatgctaccacgggg +tNttttaSHaNtatNcctcatSaaVgtactgBHtagcaYggYVKNgtaKBcRttgaWatg +aatVtagtcgattYgatgtaatttacDacSctgctaaaStttaWMagDaaatcaVYctcc +gggcgaVtaaWtStaKMgDtttcaaMtVgBaatccagNaaatcYRMBggttWtaaScKtt +MWtYataRaDBMaDataatHBcacDaaKDactaMgagttDattaHatHtaYatDtattDc +RNStgaatattSDttggtattaaNSYacttcDMgYgBatWtaMagactVWttctttgYMa +YaacRgHWaattgRtaagcattctMKVStatactacHVtatgatcBtVNataaBttYtSt +tacKgggWgYDtgaVtYgatDaacattYgatggtRDaVDttNactaSaMtgNttaacaaS +aBStcDctaccacagacgcaHatMataWKYtaYattMcaMtgSttDagcHacgatcaHtt +YaKHggagttccgatYcaatgatRaVRcaagatcagtatggScctatattaNtagcgacg +tgKaaWaactSgagtMYtcttccaKtStaacggMtaagNttattatcgtctaRcactctc +tDtaacWYtgaYaSaagaWtNtatttRacatgNaatgttattgWDDcNaHcctgaaHacS +gaataaRaataMHttatMtgaSDSKatatHHaNtacagtccaYatWtcactaactatKDa +cSaStcggataHgYatagKtaatKagStaNgtatactatggRHacttgtattatgtDVag +DVaRctacMYattDgtttYgtctatggtKaRSttRccRtaaccttagagRatagSaaMaa +cgcaNtatgaaatcaRaagataatagatactcHaaYKBctccaagaRaBaStNagatagg +cgaatgaMtagaatgtcaKttaaatgtaWcaBttaatRcggtgNcacaaKtttScRtWtg +catagtttWYaagBttDKgcctttatMggNttattBtctagVtacataaaYttacacaaR +ttcYtWttgHcaYYtaMgBaBatctNgcDtNttacgacDcgataaSatYaSttWtcctat +KaatgcagHaVaacgctgcatDtgttaSataaaaYSNttatagtaNYtaDaaaNtgggga +cttaBggcHgcgtNtaaMcctggtVtaKcgNacNtatVaSWctWtgaWcggNaBagctct +gaYataMgaagatBSttctatacttgtgtKtaattttRagtDtacatatatatgatNHVg +BMtKtaKaNttDHaagatactHaccHtcatttaaagttVaMcNgHatatKtaNtgYMcct +tatcaaNagctggacStttcNtggcaVtattactHaSttatgNMVattMMDtMactatta +ttgWMSgtHBttStStgatatRaDaagattttctatMtaaaaaggtactaaVttaSacNa +atactgMttgacHaHRttgMacaaaatagttaatatWKRgacDgaRtatatttattatcY +ttaWtgtBRtWatgHaaattHataagtVaDtWaVaWtgStcgtMSgaSRgMKtaaataVa +cataatgtaSaatttagtcgaaHtaKaatgcacatcggRaggSKctDcagtcSttcccSt +YtccRtctctYtcaaKcgagtaMttttcRaYDttgttatctaatcataNctctgctatca +MatactataggDaHaaSttMtaDtcNatataattctMcStaaBYtaNagatgtaatHaga +gSttgWHVcttatKaYgDctcttggtgttMcRaVgSgggtagacaataaDtaattSaDaN +aHaBctattgNtaccaaRgaVtKNtaaYggHtaKKgHcatctWtctDtttctttggSDtN +taStagttataaacaattgcaBaBWggHgcaaaBtYgctaatgaaatWcDcttHtcMtWW +attBHatcatcaaatctKMagtDNatttWaBtHaaaNgMttaaStagttctctaatDtcR +VaYttgttMtRtgtcaSaaYVgSWDRtaatagctcagDgcWWaaaBaaRaBctgVgggNg +DWStNaNBKcBctaaKtttDcttBaaggBttgaccatgaaaNgttttttttatctatgtt +ataccaaDRaaSagtaVtDtcaWatBtacattaWacttaSgtattggDgKaaatScaatt +acgWcagKHaaccaYcRcaRttaDttRtttHgaHVggcttBaRgtccctDatKaVtKtcR +gYtaKttacgtatBtStaagcaattaagaRgBagSaattccSWYtttattVaataNctgH +gttaaNBgcVYgtRtcccagWNaaaacaDNaBcaaaaRVtcWMgBagMtttattacgDac +ttBtactatcattggaaatVccggttRttcatagttVYcatYaSHaHcttaaagcNWaHa +taaaRWtctVtRYtagHtaaaYMataHYtNBctNtKaatattStgaMcBtRgctaKtgcS +cSttDgYatcVtggaaKtaagatWccHccgKYctaNNctacaWcttttgcRtgtVcgaKt +tcMRHgctaHtVaataaDtatgKDcttatBtDttggNtacttttMtgaacRattaaNaga +actcaaaBBVtcDtcgaStaDctgaaaSgttMaDtcgttcaccaaaaggWtcKcgSMtcD +tatgtttStaaBtatagDcatYatWtaaaBacaKgcaDatgRggaaYctaRtccagattD +aWtttggacBaVcHtHtaacDacYgtaatataMagaatgHMatcttatacgtatttttat +attacHactgttataMgStYaattYaccaattgagtcaaattaYtgtatcatgMcaDcgg +gtcttDtKgcatgWRtataatatRacacNRBttcHtBgcRttgtgcgtcatacMtttBct +atctBaatcattMttMYgattaaVYatgDaatVagtattDacaacDMatcMtHcccataa +gatgBggaccattVWtRtSacatgctcaaggggYtttDtaaNgNtaaBatggaatgtctR +taBgBtcNYatatNRtagaacMgagSaSDDSaDcctRagtVWSHtVSRggaacaBVaccg +tttaStagaacaMtactccagtttVctaaRaaHttNcttagcaatttattaatRtaaaat +ctaacDaBttggSagagctacHtaaRWgattcaaBtctRtSHaNtgtacattVcaHaNaa +gtataccacaWtaRtaaVKgMYaWgttaKggKMtKcgWatcaDatYtKSttgtacgaccN +ctSaattcDcatcttcaaaDKttacHtggttHggRRaRcaWacaMtBWVHSHgaaMcKat +tgtaRWttScNattBBatYtaNRgcggaagacHSaattRtttcYgaccBRccMacccKga +tgaacttcgDgHcaaaaaRtatatDtatYVtttttHgSHaSaatagctNYtaHYaVYtta +ttNtttgaaaYtaKttWtctaNtgagaaaNctNDctaaHgttagDcRttatagccBaacg +caRBtRctRtggtaMYYttWtgataatcgaataattattataVaaaaattacNRVYcaaM +acNatRttcKatMctgaagactaattataaYgcKcaSYaatMNctcaacgtgatttttBa +cNtgatDccaattattKWWcattttatatatgatBcDtaaaagttgaaVtaHtaHHtBta +taRBgtgDtaataMttRtDgDcttattNtggtctatctaaBcatctaRatgNacWtaatg +aagtcMNaacNgHttatactaWgcNtaStaRgttaaHacccgaYStacaaaatWggaYaW +gaattattcMaactcBKaaaRVNcaNRDcYcgaBctKaacaaaaaSgctccYBBHYaVag +aatagaaaacagYtctVccaMtcgtttVatcaatttDRtgWctagtacRttMctgtDctt +tcKtWttttataaatgVttgBKtgtKWDaWagMtaaagaaattDVtaggttacatcattt +atgtcgMHaVcttaBtVRtcgtaYgBRHatttHgaBcKaYWaatcNSctagtaaaaattt +acaatcactSWacgtaatgKttWattagttttNaggtctcaagtcactattcttctaagK +ggaataMgtttcataagataaaaatagattatDgcBVHWgaBKttDgcatRHaagcaYcR +aattattatgtMatatattgHDtcaDtcaaaHctStattaatHaccgacNattgatatat +tttgtgtDtRatagSacaMtcRtcattcccgacacSattgttKaWattNHcaacttccgt +ttSRtgtctgDcgctcaaMagVtBctBMcMcWtgtaacgactctcttRggRKSttgYtYa +tDccagttDgaKccacgVatWcataVaaagaataMgtgataaKYaaatcHDaacgataYc +tRtcYatcgcaMgtNttaBttttgatttaRtStgcaacaaaataccVgaaDgtVgDcStc +tatatttattaaaaRKDatagaaagaKaaYYcaYSgKStctccSttacagtcNactttDV +ttagaaagMHttRaNcSaRaMgBttattggtttaRMggatggcKDgWRtNaataataWKK +acttcKWaaagNaBttaBatMHtccattaacttccccYtcBcYRtagattaagctaaYBD +ttaNtgaaaccHcaRMtKtaaHMcNBttaNaNcVcgVttWNtDaBatgataaVtcWKctt +RggWatcattgaRagHgaattNtatttctctattaattaatgaDaaMatacgttgggcHa +YVaaNaDDttHtcaaHtcVVDgBVagcMacgtgttaaBRNtatRtcagtaagaggtttaa +gacaVaaggttaWatctccgtVtaDtcDatttccVatgtacNtttccgtHttatKgScBa +tgtVgHtYcWagcaKtaMYaaHgtaattaSaHcgcagtWNaatNccNNYcacgVaagaRa +cttctcattcccRtgtgtaattagcSttaaStWaMtctNNcSMacattataaactaDgta +tWgtagtttaagaaaattgtagtNagtcaataaatttgatMMYactaatatcggBWDtVc +YttcDHtVttatacYaRgaMaacaStaatcRttttVtagaDtcacWatttWtgaaaagaa +agNRacDtttStVatBaDNtaactatatcBSMcccaSttccggaMatgattaaWatKMaB +aBatttgataNctgttKtVaagtcagScgaaaDggaWgtgttttKtWtatttHaatgtag +ttcactaaKMagttSYBtKtaYgaactcagagRtatagtVtatcaaaWYagcgNtaDagt +acNSaaYDgatBgtcgataacYDtaaactacagWDcYKaagtttattagcatcgagttKc +atDaattgattatDtcagRtWSKtcgNtMaaaaacaMttKcaWcaaSVMaaaccagMVta +MaDtMaHaBgaacataBBVtaatVYaNSWcSgNtDNaaKacacBtttatKtgtttcaaHa +MctcagtaacgtcgYtactDcgcctaNgagagcYgatattttaaatttccattttacatt +tDaaRctattttWctttacgtDatYtttcagacgcaaVttagtaaKaaaRtgVtccataB +ggacttatttgtttaWNtgttVWtaWNVDaattgtatttBaagcBtaaBttaaVatcHca +VgacattccNggtcgacKttaaaRtagRtctWagaYggtgMtataatMtgaaRttatttt +gWcttNtDRRgMDKacagaaaaggaaaRStcccagtYccVattaNaaKStNWtgacaVta +gaagcttSaaDtcacaacgDYacWDYtgtttKatcVtgcMaDaSKStVcgtagaaWaKaa +gtttcHaHgMgMtctataagBtKaaaKKcactggagRRttaagaBaaNatVVcgRcKStt +DaactagtSttSattgttgaaRYatggttVttaataaHttccaagDtgatNWtaagHtgc +YtaactRgcaatgMgtgtRaatRaNaacHKtagactactggaatttcgccataacgMctR +gatgttaccctaHgtgWaYcactcacYaattcttaBtgacttaaacctgYgaWatgBttc +ttVttcgttWttMcNYgtaaaatctYgMgaaattacNgaHgaacDVVMtttggtHtctaa +RgtacagacgHtVtaBMNBgattagcttaRcttacaHcRctgttcaaDBggttKaacatg +KtttYataVaNattccgMcgcgtagtRaVVaattaKaatggttRgaMcagtatcWBttNt +HagctaatctagaaNaaacaYBctatcgcVctBtgcaaagDgttVtgaHtactSNYtaaN +ccatgtgDacgaVtDcgKaRtacDcttgctaagggcagMDagggtBWRtttSgccttttt +taacgtcHctaVtVDtagatcaNMaVtcVacatHctDWNaataRgcgtaVHaggtaaaaS +gtttMtattDgBtctgatSgtRagagYtctSaKWaataMgattRKtaacatttYcgtaac +acattRWtBtcggtaaatMtaaacBatttctKagtcDtttgcBtKYYBaKttctVttgtt +aDtgattttcttccacttgSaaacggaaaNDaattcYNNaWcgaaYattttMgcBtcatR +tgtaaagatgaWtgaccaYBHgaatagataVVtHtttVgYBtMctaMtcctgaDcYttgt +ccaaaRNtacagcMctKaaaggatttacatgtttaaWSaYaKttBtagDacactagctMt +ttNaKtctttcNcSattNacttggaacaatDagtattRtgSHaataatgccVgacccgat +actatccctgtRctttgagaSgatcatatcgDcagWaaHSgctYYWtatHttggttcttt +atVattatcgactaagtgtagcatVgtgHMtttgtttcgttaKattcMatttgtttWcaa +StNatgtHcaaaDtaagBaKBtRgaBgDtSagtatMtaacYaatYtVcKatgtgcaacVa +aaatactKcRgtaYtgtNgBBNcKtcttaccttKgaRaYcaNKtactttgagSBtgtRag +aNgcaaaNcacagtVtttHWatgttaNatBgtttaatNgVtctgaatatcaRtattcttt +tttttRaaKcRStctcggDgKagattaMaaaKtcaHacttaataataKtaRgDtKVBttt +tcgtKaggHHcatgttagHggttNctcgtatKKagVagRaaaggaaBtNatttVKcRtta +HctaHtcaaatgtaggHccaBataNaNaggttgcWaatctgatYcaaaHaatWtaVgaaB +ttagtaagaKKtaaaKtRHatMaDBtBctagcatWtatttgWttVaaaScMNattRactt +tgtYtttaaaagtaagtMtaMaSttMBtatgaBtttaKtgaatgagYgtNNacMtcNRac +MMHcttWtgtRtctttaacaacattattcYaMagBaacYttMatcttKcRMtgMNccatt +aRttNatHaHNaSaaHMacacaVaatacaKaSttHatattMtVatWgattttttaYcttt +KttHgScWaacgHtttcaVaaMgaacagNatcgttaacaaaaagtacaHBNaattgttKt +cttVttaaBtctgctacgBgcWtttcaggacacatMgacatcccagcggMgaVKaBattg +acttaatgacacacaaaaaatRKaaBctacgtRaDcgtagcVBaacDSBHaaaaSacata +tacagacRNatcttNaaVtaaaataHattagtaaaaSWccgtatWatggDttaactattg +cccatcttHaSgYataBttBaactattBtcHtgatcaataSttaBtatKSHYttWggtcY +tttBttaataccRgVatStaHaKagaatNtagRMNgtcttYaaSaactcagDSgagaaYt +MttDtMRVgWKWtgMaKtKaDttttgactatacataatcNtatNaHattVagacgYgata +tatttttgtStWaaatctWaMgagaRttRatacgStgattcttaagaDtaWccaaatRca +gcagaaNKagtaaDggcgccBtYtagSBMtactaaataMataBSacRMgDgattMMgtcH +tcaYDtRaDaacggttDaggcMtttatgttaNctaattaVacgaaMMtaatDccSgtatt +gaRtWWaccaccgagtactMcgVNgctDctaMScatagcgtcaactatacRacgHRttgc +tatttaatgaattataYKttgtaagWgtYttgcHgMtaMattWaWVtaRgcttgYgttBH +tYataSccStBtgtagMgtDtggcVaaSBaatagDttgBgtctttctcattttaNagtHK +taMWcYactVcgcgtatMVtttRacVagDaatcttgctBBcRDgcaacKttgatSKtYta +gBMagaRtcgBattHcBWcaactgatttaatttWDccatttatcgagSKaWttataHact +aHMttaatHtggaHtHagaatgtKtaaRactgtttMatacgatcaagDgatKaDctataM +ggtHDtggHacctttRtatcttYattttgacttgaaSaataaatYcgBaaaaccgNatVB +ttMacHaKaataagtatKgtcaagactcttaHttcggaattgttDtctaaccHttttWaa +atgaaatataaaWattccYDtKtaaaacggtgaggWVtctattagtgactattaagtMgt +ttaagcatttgSgaaatatccHaaggMaaaattttcWtatKctagDtYtMcctagagHca +ctttactatacaaacattaacttaHatcVMYattYgVgtMttaaRtgaaataaDatcaHg +tHHatKcDYaatcttMtNcgatYatgSaMaNtcttKcWataScKggtatcttacgcttWa +aagNatgMgHtctttNtaacVtgttcMaaRatccggggactcMtttaYMtcWRgNctgNc +cKatcttgYDcMgattNYaRagatHaaHgKctcataRDttacatBatccattgDWttatt +taWgtcggagaaaaatacaatacSNtgggtttccttacSMaagBattacaMaNcactMtt +atgaRBacYcYtcaaaWtagctSaacttWgDMHgaggatgBVgcHaDtggaactttggtc +NatNgtaKaBcccaNtaagttBaacagtatacDYttcctNgWgcgSMcacatStctHatg +RcNcgtacacaatRttMggaNKKggataaaSaYcMVcMgtaMaHtgattYMatYcggtct +tcctHtcDccgtgRatcattgcgccgatatMaaYaataaYSggatagcgcBtNtaaaSca +KgttBgagVagttaKagagtatVaactaSacWactSaKatWccaKaaaatBKgaaKtDMa +ttttgtaaatcRctMatcaaMagMttDgVatggMaaWgttcgaWatgaaatttgRtYtat +taWHKcRgctacatKttctaccaaHttRatctaYattaaWatVNccatNgagtcKttKat +aStRaatatattcctRWatDctVagttYDgSBaatYgttttgtVaatttaatagcagMat +RaacttBctattgtMagagattaaactaMatVtHtaaatctRgaaaaaaaatttWacaac +aYccYDSaattMatgaccKtaBKWBattgtcaagcHKaagttMMtaatttcKcMagNaaK +agattggMagaggtaatttYacatcWaaDgatMgKHacMacgcVaacaDtaDatatYggt +tBcgtatgWgaSatttgtagaHYRVacaRtctHaaRtatgaactaatatctSSBgggaaH +MWtcaagatKgagtDaSatagttgattVRatNtctMtcSaagaSHaataNataataRaaR +gattctttaataaagWaRHcYgcatgtWRcttgaaggaMcaataBRaaccagStaaacNt +ttcaatataYtaatatgHaDgcStcWttaacctaRgtYaRtataKtgMttttatgactaa +aatttacYatcccRWtttHRtattaaatgtttatatttgttYaatMcaRcSVaaDatcgt +aYMcatgtagacatgaaattgRtcaaYaaYtRBatKacttataccaNaaattVaBtctgg +acaagKaaYaaatatWtMtatcYaaVNtcgHaactBaagKcHgtctacaatWtaDtSgta +HcataHtactgataNctRgttMtDcDttatHtcgtacatcccaggSttaBgtcacacWtc +cNMcNatMVaVgtccDYStatMaccDatggYaRKaaagataRatttHKtSaaatDgataa +acttaHgttgVBtcttVttHgDacgaKatgtatatNYataactctSatatatattgcHRR +YttStggaactHgttttYtttaWtatMcttttctatctDtagVHYgMRBgtHttcctaat +YRttKtaagatggaVRataKDctaMtKBNtMtHNtWtttYcVtattMcgRaacMcctNSc +tcatttaaagDcaHtYccSgatgcaatYaaaaDcttcgtaWtaattctcgttttScttgg +taatctttYgtctaactKataHacctMctcttacHtKataacacagcNRatgKatttttS +aaatRYcgDttaMRcgaaattactMtgcgtaagcgttatBtttttaattaagtNacatHg +ttcRgacKcBBtVgatKttcgaBaatactDRgtRtgaNacWtcacYttaaKcgttctHaK +ttaNaMgWgWaggtctRgaKgWttSttBtDcNtgtttacaaatYcDRtgVtgcctattcN +tctaaaDMNttttNtggctgagaVctDaacVtWccaagtaacacaNctgaScattccDHc +VBatcgatgtMtaatBgHaatDctMYgagaatgYWKcctaatNaStHaaaKccgHgcgtY +aaYtattgtStgtgcaaRtattaKatattagaWVtcaMtBagttattagNaWHcVgcaat +tttDcMtgtaRHVYtHtctgtaaaaHVtMKacatcgNaatttMatatgttgttactagWY +taRacgataKagYNKcattataNaRtgaacKaYgcaaYYacaNccHatMatDcNgtHttR +aWttagaaDcaaaaaatagggtKDtStaDaRtaVtHWKNtgtattVctSVgRgataDaRa +WataBgaagaaKtaataaYgDcaStaNgtaDaaggtattHaRaWMYaYaWtggttHYgag +VtgtgcttttcaaDKcagVcgttagacNaaWtagtaataDttctggttVcatcataaagt +gKaaaNaMtaBBaattaatWaattgctHaVKaSgDaaVKaHtatatatHatcatSBagNg +HtatcHYMHgttDgtaHtBttWatcgtttaRaattgStKgSKNWKatcagDtctcagatt +tctRtYtBatBgHHtKaWtgYBgacVVWaKtacKcDttKMaKaVcggtgttataagaata +aHaatattagtataatMHgttYgaRttagtaRtcaaVatacggtcMcgagtaaRttacWg +actKRYataaaagSattYaWgagatYagKagatgSaagKgttaatMggtataatgttWYt +tatgagaaacctNVataatHcccKtDctcctaatactggctHggaSaggRtKHaWaattc +gSatMatttagaggcYtctaMcgctcataSatatgRagacNaaDaggaVBagaYttKtac +NaKgtSYtagttggaWcatcWttaatctatgaVtcgtgtMtatcaYcgtRccaaYgDctg +cMgtgtWgacWtgataacacgcgctBtgttaKtYDtatDcatcagKaVMctaatcttgVc +aaRgcRMtDcgattaHttcaNatgaatMtactacVgtRgatggaWtttactaaKatgagS +aaKggtaNtactVaYtaaKRagaacccacaMtaaMtKtatBcttgtaaWBtMctaataaV +cDaaYtcRHBtcgttNtaaHatttBNgRStVDattBatVtaagttaYatVattaagaBca +cggtSgtVtatttaRattgatgtaHDKgcaatattKtggcctatgaWDKRYcggattgRc +tatNgatacaatMNttctgtcRBYRaaaHctNYattcHtaWcaattctBtMKtVgYataa +tMgYtcagcttMDataVtggRtKtgaatgccNcRttcaMtRgattaacattRcagcctHt +WMtgtDRagaKaBtgDttYaaaaKatKgatctVaaYaacWcgcatagBVtaNtRtYRagg +BaaBtgKgttacataagagcatgtRattccacttaccatRaaatgWgDaMHaYVgVtaSc +tatcgKaatatattaDgacccYagtgtaYNaaatKcagtBRgagtccatgKgaaaccBga +agBtgSttWtacgatWHaYatcgatttRaaNRgcaNaKVacaNtDgattgHVaatcDaag +cgtatgcNttaDataatcSataaKcaataaHWataBtttatBtcaKtKtatagttaDgSa +YctacaRatNtaWctSaatatttYaKaKtaccWtatcRagacttaYttVcKgSDcgagaa +gatccHtaattctSttatggtKYgtMaHagVaBRatttctgtRgtctatgggtaHKgtHa +cHtSYacgtacacHatacKaaBaVaccaDtatcSaataaHaagagaatScagactataaR +ttagcaaVcaHataKgDacatWccccaagcaBgagWatctaYttgaaatctVNcYtttWa +gHcgcgcDcVaaatgttKcHtNtcaatagtgtNRaactttttcaatggWgBcgDtgVgtt +tctacMtaaataaaRggaaacWaHttaRtNtgctaaRRtVBctYtVtatDcattDtgacc +YatagatYRKatNYKttNgcctagtaWtgaactaMVaacctgaStttctgaKVtaaVaRK +DttVtVctaDNtataaaDtccccaagtWtcgatcactDgYaBcatcctMtVtacDaaBtY +tMaKNatNtcaNacgDatYcatcgcaRatWBgaacWttKttagYtaattcggttgSWttt +tDWctttacYtatatWtcatDtMgtBttgRtVDggttaacYtacgtacatgaattgaaWc +ttMStaDgtatattgaDtcRBcattSgaaVBRgagccaaKtttcDgcgaSMtatgWatta +KttWtgDBMaggBBttBaatWttRtgcNtHcgttttHtKtcWtagHStaacagttgatat +BtaWSaWggtaataaMttaKacDaatactcBttcaatatHttcBaaSaaatYggtaRtat +NtHcaatcaHtagVtgtattataNggaMtcttHtNagctaaaggtagaYctMattNaMVN +tcKtactBKcaHHcBttaSagaKacataYgctaKaYgttYcgacWVttWtSagcaacatc +ccHaccKtcttaacgaKttcacKtNtacHtatatRtaaatacactaBtttgaHaRttggt +tWtatYagcatYDatcggagagcWBataagRtacctataRKgtBgatgaDatataSttag +BaHtaatNtaDWcWtgtaattacagKttcNtMagtattaNgtctcgtcctcttBaHaKcK +ccgtRcaaYagSattaagtKataDatatatagtcDtaacaWHcaKttDgaaRcgtgYttg +tcatatNtatttttatggccHtgDtYHtWgttatYaacaattcaWtatNgctcaaaSttR +gctaatcaaatNatcgtttaBtNNVtgttataagcaaagattBacgtDatttNatttaaa +DcBgtaSKgacgtagataatttcHMVNttgttBtDtgtaWKaaRMcKMtHtaVtagataW +ctccNNaSWtVaHatctcMgggDgtNHtDaDttatatVWttgttatttaacctttcacaa +ggaSaDcggttttttatatVtctgVtaacaStDVaKactaMtttaSNagtgaaattaNac +ttSKctattcctctaSagKcaVttaagNaVcttaVaaRNaHaaHttatgtHttgtgatMc +caggtaDcgaccgtWgtWMtttaHcRtattgScctatttKtaaccaagtYagaHgtWcHa +atgccKNRtttagtMYSgaDatctgtgaWDtccMNcgHgcaaacNDaaaRaStDWtcaaa +aHKtaNBctagBtgtattaactaattttVctagaatggcWSatMacccttHttaSgSgtg +MRcatRVKtatctgaaaccDNatYgaaVHNgatMgHRtacttaaaRtatStRtDtatDtt +YatattHggaBcttHgcgattgaKcKtttcRataMtcgaVttWacatNcatacctRataD +DatVaWNcggttgaHtgtMacVtttaBHtgagVttMaataattatgttcttagtttgtgc +DtSatttgBtcaacHattaaBagVWcgcaSYttMgcttacYKtVtatcaYaKctgBatgc +gggcYcaaaaacgNtctagKBtattatctttKtaVttatagtaYtRagNtaYataaVtga +atatcHgcaaRataHtacacatgtaNtgtcgYatWMatttgaactacRctaWtWtataca +atctBatatgYtaagtatgtgtatSttactVatcttYtaBcKgRaSggRaaaaatgcagt +aaaWgtaRgcgataatcBaataccgtatttttccatcNHtatWYgatHSaaaDHttgctg +tccHtggggcctaataatttttctatattYWtcattBtgBRcVttaVMRSgctaatMagt +YtttaaaaatBRtcBttcaaVtaacagctccSaaSttKNtHtKYcagcagaaaccccRtt +tttaaDcDtaStatccaagcgctHtatcttaDRYgatDHtWcaaaBcWgKWHttHataag +HacgMNKttMKHccaYcatMVaacgttaKgYcaVaaBtacgcaactttMctaaHaatgtB +atgagaSatgtatgSRgHgWaVWgataaatatttccKagVgataattWaHNcYggaaatg +ctHtKtaDtctaaagtMaatVDVactWtSaaWaaMtaHtaSKtcBRaNcttStggtBtta +cNagcatagRgtKtgcgaacaacBcgKaatgataagatgaaaattgtactgcgggtccHH +WHaaNacaBttNKtKtcaaBatatgctaHNgtKcDWgtttatNgVDHgaccaacWctKaa +ggHttgaRgYaatHcaBacaatgagcaaattactgtaVaaYaDtagattgagNKggtggt +gKtWKaatacagDRtatRaMRtgattDggtcaaYRtatttNtagaDtcacaaSDctDtat +aatcgtactaHttatacaatYaacaaHttHatHtgcgatRRttNgcatSVtacWWgaagg +agtatVMaVaaattScDDKNcaYBYaDatHgtctatBagcaacaagaatgagaaRcataa +KNaRtBDatcaaacgcattttttaaBtcSgtacaRggatgtMNaattggatatWtgagta +ttaaaVctgcaYMtatgatttttYgaHtgtcttaagWBttHttgtcttattDtcgtatWt +ataataSgctaHagcDVcNtaatcaagtaBDaWaDgtttagYctaNccDtaKtaHcttaa +taacccaRKtacaVaatNgcWRaMgaattatgaBaaagattVYaHMDcaDHtcRcgYtct +taaaWaaaVKgatacRtttRRKYgaatacaWVacVcRtatMacaBtactggMataaattt +tHggNagSctacHgtBagcgtcgtgattNtttgatSaaggMttctttcttNtYNagBtaa +acaaatttMgaccttacataattgYtcgacBtVMctgStgMDtagtaRctHtatgttcat +atVRNWataDKatWcgaaaaagttaaaagcacgHNacgtaatctttMRtgacttttDacc +tataaacgaaatatgattagaactccSYtaBctttaataacWgaaaYatagatgWttcat +KtNgatttttcaagHtaYgaaRaDaagtaggagcttatVtagtctttcattaaaatcgKt +attaRttacagVaDatgcatVgattgggtctttHVtagKaaRBtaHtaaggccccaaaaK +atggtttaMWgtBtaaacttcactttKHtcgatctccctaYaBacMgtcttBaBaNgcga +aacaatctagtHccHtKttcRtRVttccVctttcatacYagMVtMcagaMaaacaataBc +tgYtaatRaaagattaaccatVRatHtaRagcgcaBcgDttStttttcVtttaDtKgcaa +WaaaaatSccMcVatgtKgtaKgcgatatgtagtSaaaDttatacaaacatYaRRcVRHc +tKtcgacKttaaVctaDaatgttMggRcWaacttttHaDaKaDaBctgtaggcgtttaHB +ccatccattcNHtDaYtaataMttacggctNVaacDattgatattttacVttSaattaca +aRtataNDgacVtgaacataVRttttaDtcaaacataYDBtttaatBaDtttYDaDaMcc +MttNBttatatgagaaMgaNtattHccNataattcaHagtgaaggDgatgtatatatgYa +tgaStcataaBStWacgtcccataRMaaDattggttaaattcMKtctMacaBSactcgga +atDDgatDgcWctaacaccgggaVcacWKVacggtaNatatacctMtatgatagtgcaKa +gggVaDtgtaacttggagtcKatatcgMcttRaMagcattaBRaStctYSggaHYtacaa +ctMBaagDcaBDRaaacMYacaHaattagcattaaaHgcgctaaggSccKtgaaKtNaBt +atDDcKBSaVtgatVYaagVtctSgMctacgttaacWaaattctSgtDactaaStaaatt +gcagBBRVctaatatacctNttMcRggctttMttagacRaHcaBaacVKgaataHttttM +gYgattcYaNRgttMgcVaaacaVVcDHaatttgKtMYgtatBtVVctWgVtatHtacaa +HttcacgatagcagtaaNattBatatatttcVgaDagcggttMaagtcScHagaaatgcY +NggcgtttttMtStggtRatctacttaaatVVtBacttHNttttaRcaaatcacagHgag +agtMgatcSWaNRacagDtatactaaDKaSRtgattctccatSaaRttaaYctacacNta +RtaactggatgaccYtacactttaattaattgattYgttcagDtNKttagDttaaaaaaa +BtttaaNaYWKMBaaaacVcBMtatWtgBatatgaacVtattMtYatMNYDKNcKgDttD +aVtaaaatgggatttctgtaaatWtctcWgtVVagtcgRgacttcccctaDcacagcRca +gagtgtWSatgtacatgttaaSttgtaaHcgatgggMagtgaacttatRtttaVcaccaW +aMgtactaatSSaHtcMgaaYtatcgaaggYgggcgtgaNDtgttMNgaNDMtaattcgV +ttttaacatgVatgtWVMatatcaKgaaattcaBcctccWcttgaaWHtWgHtcgNWgaR +gctcBgSgaattgcaaHtgattgtgNagtDttHHgBttaaWcaaWagcaSaHHtaaaVct +RaaMagtaDaatHtDMtcVaWMtagSagcttHSattaacaaagtRacMtRtctgttagcM +tcaBatVKtKtKacgagaSNatSactgtatatcBctgagVtYactgtaaattaaaggcYg +DHgtaacatSRDatMMccHatKgttaacgactKtgKagtcttcaaHRVtccttKgtSata +atttacaactggatDNgaacttcaRtVaagDcaWatcBctctHYatHaDaaatttagYat +SatccaWtttagaaatVaacBatHcatcgtacaatatcgcNYRcaataYaRaYtgattVt +tgaatgaVaactcRcaNStgtgtattMtgaggtNttBaDRcgaaaagctNgBcWaWgtSa +DcVtgVaatMKBtttcgtttctaaHctaaagYactgMtatBDtcStgaccgtSDattYaa +taHctgggaYYttcggttaWaatctggtRagWMaDagtaacBccactacgHWMKaatgat +WatcctgHcaBaSctVtcMtgtDttacctaVgatYcWaDRaaaaRtagatcgaMagtgga +RaWctctgMgcWttaagKBRtaaDaaWtctgtaagYMttactaHtaatcttcataacggc +acBtSgcgttNHtgtHccatgttttaaagtatcgaKtMttVcataYBBaKtaMVaVgtat +tNDSataHcagtWMtaggtaSaaKgttgBtVtttgttatcatKcgHacacRtctHatNVa +gSBgatgHtgaRaSgttRcctaacaaattDNttgacctaaYtBgaaaatagttattactc +ttttgatgtNNtVtgtatMgtcttRttcatttgatgacacttcHSaaaccaWWDtWagta +RDDVNacVaRatgttBccttaatHtgtaaacStcVNtcacaSRttcYagacagaMMtttt +gMcNttBcgWBtactgVtaRttctccaaYHBtaaagaBattaYacgatttacatctgtaa +MKaRYtttttactaaVatWgctBtttDVttctggcDaHaggDaagtcgaWcaagtagtWt +tHtgKtVataStccaMcWcaagataagatcactctHatgtcYgaKcatcagatactaagN +SStHcctRRNtattgtccttagttagMVgtatagactaactctVcaatMctgtttgtgtt +gccttatWgtaBVtttctggMcaaKgDWtcgtaaYStgSactatttHgatctgKagtagB +tVacRaagRtMctatgggcaaaKaaaatacttcHctaRtgtDcttDattaggaaatttcY +HaRaaBttaatggcacKtgctHVcaDcaaaVDaaaVcgMttgtNagcgtaDWgtcgttaa +tDgKgagcSatatcSHtagtagttggtgtHaWtaHKtatagctgtVgattaBVaatgaat +aagtaatVatSttaHctttKtttgtagttaccttaatcgtagtcctgBcgactatttVcM +acHaaaggaatgDatggKtaHtgStatattaaSagctWcctccRtataBaDYcgttgcNa +agaggatRaaaYtaWgNtSMcaatttactaacatttaaWttHtatBattgtcgacaatNg +attgcNgtMaaaKaBDattHacttggtRtttaYaacgVactBtaBaKtgBttatgVttgt +VttcaatcWcNctDBaaBgaDHacBttattNtgtDtatttVSaaacaggatgcRatSgta +SaNtgBatagttcHBgcBBaaattaHgtDattatDaKaatBaaYaaMaataaataKtttY +tagtBgMatNcatgtttgaNagtgttgtgKaNaSagtttgaSMaYBcaaaacDStagttV +acaaaaactaaWttBaagtctgtgcgtMgtaattctcctacctcaNtttaaccaaaaVtB +cacataacaccccBcWMtatVtggaatgaWtcaaWaaaaaaaaWtDtaatatRcctDWtc +ctaccMtVVatKttaWaaKaaatataaagScHBagaggBaSMtaWaVtatattactSaaa +KNaactatNatccttgaYctattcaaaVgatttYHcRagattttaSataggttattcVta +aagaKgtattattKtRttNcggcRgtgtgtWYtaacHgKatKgatYtacYagDtWcHBDc +tctgRaYKaYagcactKcacSaRtBttttBHKcMtNtcBatttatttttgSatVgaaaga +WtcDtagDatatgMacaacRgatatatgtttgtKtNRaatatNatgYcaHtgHataacKt +gagtagtaacYttaNccaaatHcacaacaVDtagtaYtccagcattNtacKtBtactaaa +gaBatVtKaaHBctgStgtBgtatgaSNtgDataaccctgtagcaBgtgatcttaDataS +tgaMaccaSBBgWagtacKcgattgaDgNNaaaacacagtSatBacKDgcgtataBKcat +acactaSaatYtYcDaactHttcatRtttaatcaattataRtttgtaagMcgNttcatcB +tYBagtNWNMtSHcattcRctttttRWgaKacKttgggagBcgttcgcMaWHtaatactg +tctctatttataVgtttaBScttttaBMaNaatMacactYtBMggtHacMagtaRtctgc +atttaHtcaaaatttgagKtgNtactBacaHtcgtatttctMaSRagcagttaatgtNta +aattgagagWcKtaNttagVtacgatttgaatttcgRtgtWcVatcgttaaDVctgtttB +WgaccagaaagtcSgtVtatagaBccttttcctaaattgHtatcggRattttcaaggcYS +KaagWaWtRactaaaacccBatMtttBaatYtaagaactSttcgaaScaatagtattgac +caagtgttttctaacatgtttNVaatcaaagagaaaNattaaRttttaVaaaccgcaggN +MtatattVctcaagaggaacgBgtttaacaagttcKcYaatatactaaccBaaaSggttc +NtattctagttRtBacgScVctcaatttaatYtaaaaaaatgSaatgatagaMBRatgRc +McgttgaWHtcaVYgaatYtaatctttYttatRaWtctgBtDcgatNatcKaBaDgatgt +aNatWKctccgatattaacattNaaacDatgBgttctgtDtaaaMggtgaBaSHataacg +ccSctaBtttaRBtcNHcDatcDcctagagtcRtaBgWttDRVHagattYatgtatcWta +HtttYcattWtaaagtctNgtStggRNcgcggagSSaaagaaaatYcHDtcgctttaatg +YcKBVSgtattRaYBaDaaatBgtatgaHtaaRaRgcaSWNtagatHaacttNctBtcac +catctMcatattccaSatttgcgaDagDgtatYtaaaVDtaagtttWVaagtagYatRtt +aagDcNgacKBcScagHtattatcDaDactaaaaaYgHttBcgaDttggataaaKSRcBM +aBcgaBSttcWtgNBatRaccgattcatttataacggHVtaattcacaagagVttaaRaa +tVVRKcgWtVgacctgDgYaaHaWtctttcacMagggatVgactagMaaataKaaNWagK +atagNaaWtaaaatttgaattttatttgctaaVgaHatBatcaaBWcBgttcMatcgBaa +NgttcgSNaggSaRtttgHtRtattaNttcDcatSaVttttcgaaaaattgHatctaRag +gSaNatMDaaatDcacgattttagaHgHaWtYgattaatHNSttatMSgggNtcKtYatR +ggtttgtMWVtttaYtagcagBagHaYagttatatggtBacYcattaRSataBatMttta +aatctHcaaaSaaaagttNSaaWcWRccRtKaagtBWtcaaattSttMtattggaaacct +taacgttBtWatttatatWcDaatagattcctScacctaagggRaaYtaNaatgVtBctt +aaBaacaMVaaattatStYgRcctgtactatcMcVKatttcgSgatRHMaaaHtagtaaH +tVgcaaataatatcgKKtgccaatBNgaaWcVttgagttaKatagttcaggKDatDtatt +gaKaVcaKtaataDataataHSaHcattagttaatRVYcNaHtaRcaaggtNHcgtcaac +caBaaagYtHWaaaRcKgaYaaDttgcWYtataRgaatatgtYtgcKtaNttWacatYHc +tRaDtYtattcBttttatcSataYaYgttWaRagcacHMgtttHtYttYaatcggtatSt +ttcgtRSattaaDaKMaatatactaNBaWgctacacYtgaYVgtgHtaaaRaaRgHtagt +WattataaaSDaaWtgMattatcgaaaagtaYRSaWtSgNtBgagcRYaMDtactaactt +aWgtatctagacaagNtattHggataatYttYatcataDcgHgttBttctttVttgccga +aWtaaaacgKgtatctaaaaaNtccDtaDatBMaMggaatNKtatBaaatVtccRaHtaS +acataHattgtttKVYattcataVaattWtcgtgMttcttKtgtctaacVtatctatatB +RataactcgKatStatattcatHHRttKtccaacgtgggtgRgtgaMtattattggctat +cgtgacMtRcBDtcttgtactaatRHttttaagatcgVMDStattatYBtttDttgtBtN +ttgRcMtYtgBacHaWaBaatDKctaagtgaaactaatgRaaKgatccaagNaaaatatt +aggWNtaagtatacttttKcgtcggSYtcttgRctataYcttatataaagtatattaatt +tataVaacacaDHatctatttttKYVatHRactttaBHccaWagtactBtcacgaVgcgt +tRtttttttSVgtSagtBaaattctgaHgactcttgMcattttagVtaagaattHctHtc +aDaaNtaacRggWatagttcgtSttgaDatcNgNagctagDgatcNttKgttgtaDtctt +tRaaYStRatDtgMggactSttaDtagSaVtBDttgtDgccatcacaMattaaaMtNaca +VcgSWcVaaDatcaHaatgaattaMtatccVtctBtaattgtWattatBRcWcaatgNNt +actWYtDaKttaaatcactcagtRaaRgatggtKgcgccaaHgaggatStattYcaNMtc +aBttacttatgagDaNtaMgaaWtgtttcttctaHtMNgttatctaWWatMtBtaaatag +DVatgtBYtatcggcttaagacMRtaHScgatatYgRDtcattatSDaHggaaataNgaW +SRRaaaBaatagBattaDctttgHWNttacaataaaaaaatacggtttgHgVtaHtWMtt +NtBtctagtMcgKMgHgYtataHaNagWtcaacYattaataYRgtaWKgaBctataaccg +atttaHaNBRaRaMtccggtNgacMtctcatttgcaattcWgMacttacaaDaaNtactW +atVtttagccttMaatcagVaagtctVaaDaBtattaattaYtNaYtggattaKtaKctY +aMtattYgatattataatKtVgDcttatatNBtcgttgtStttttMagaggttaHYSttc +KgtcKtDNtataagttataagSgttatDtRttattgttttSNggRtcaaKMNatgaatat +tgtBWtaMacctgggYgaSgaagYataagattacgagaatBtggtRcVHtgYggaDgaYa +KagWagctatagacgaaHgtWaNgacttHRatVaWacKYtgRVNgVcSgRWctacatcKS +actctgWYtBggtataagcttNRttVtgRcaWaaatDMatYattaactttcgaagRatSc +tgccttgcRKaccHtttSNVagtagHagBagttagaccaRtataBccataatSHatRtcH +agacBWatagcaMtacaRtgtgaaBatctKRtScttccaNaatcNgtaatatWtcaMgac +tctBtWtaaNactHaaaaRctcgcatggctMcaaNtcagaaaaacacagtggggWttRtt +agtaagaVctVMtcgaatcttcMaaaHcaHBttcgattatgtcaDagcYRtBtYcgacMg +tDcagcgaNgttaataatagcagKYYtcgtaBtYctMaRtaRtDagaaaacacatgYaBt +tgattattcgaaNttBctSataaMataWRgaHtttccgtDgaYtatggtDgHKgMtattt +VtMtVagttaRatMattRagataaccctKctMtSttgaHagtcStctatttccSagatgt +tccacgaggYNttHRacgattcDatatDcataaaatBBttatcgaHtNHaaatatDNagg +ctgaNcaaggagttBttMgRagVatBcRtaWgatgBtSgaKtcgHtttgaatcaaDaHtt +cSBgHcagtVaaSttDcagccgttNBtgttHagYtattctttRWaaVtSttcatatKaaR +aaaNacaVtVctMtSDtDtRHRcgtaatgctcttaaatSacacaatcgHattcaWcttaa +aatHaaatcNctWttaNMcMtaKctVtcctaagYgatgatcYaaaRactctaRDaYagta +acgtDgaggaaatctcaaacatcaScttcKttNtaccatNtaNatacatttHaaDHgcaD +atMWaaBttcRggctMaagctVYcacgatcaDttatYtaatcKatWatcaatVYtNagat +ttgattgaYttttYgacttVtcKaRagaaaHVgDtaMatKYagagttNatWttaccNtYt +cDWgSatgaRgtMatgKtcgacaagWtacttaagtcgKtgatccttNcttatagMatHVg +gtagcgHctatagccctYttggtaattKNaacgaaYatatVctaataMaaaYtgVtcKaY +taataacagaatHcacVagatYWHttagaaSMaatWtYtgtaaagNaaacaVgaWtcacN +WgataNttcaSagctMDaRttgNactaccgataMaaatgtttattDtcaagacgctDHYY +atggttcaagccNctccttcMctttagacBtaaWtaWVHggaaaaNatttaDtDtgctaa +HHtMtatNtMtagtcatttgcaaaRatacagRHtatDNtgtDgaatVgtVNtcaaatYBM +aaaagcaKgtgatgatMgWWMaHttttMgMagatDtataaattaaccaactMtacataaa +ttgRataatacgBtKtaataattRgtatDagDtcRDacctatRcagagcSHatNtcaScN +tttggacNtaaggaccgtgKNttgttNcttgaaRgYgRtNtcagttBcttttcHtKtgct +tYaaNgYagtaaatgaatggWaMattBHtatctatSgtcYtgcHtaattHgaaMtHcaga +aSatggtatgccaHBtYtcNattWtgtNgctttaggtttgtWatNtgHtgcDttactttt +tttgcNtactKtWRaVcttcatagtgSNKaNccgaataaBttataataYtSagctttaaa +tSttggctaaKSaatRccgWHgagDttaaatcatgagMtcgagtVtaDggaBtatttgDa +cataaacgtagYRagBWtgDStKDgatgaagttcattatttaKWcataaatWRgatataR +gttRacaaNKttNtKagaaYaStaactScattattaacgatttaaatgDtaattagatHg +aYataaactatggggatVHtgccgtNgatNYcaStRtagaccacWcaMtatRagHgVact +YtWHtcttcatgatWgagaKggagtatgaWtDtVtNaNtcgYYgtaaactttaDtBacta +gtaDctatagtaatatttatatataacgHaaaRagKattSagttYtStatatatagtctt +aaaaMtcatgttcaaDactgRttctaagagDtatttttagcgacttgtgRtgNctgSgRa +aaaatgcaMtYtDcatcaaYKttHcatSWgaaaatDataggttatgBDMtgttataacaa +YSgagttacgttatgtDStttaaatctcgWKtcSacgagagaSgttatBMDgtcggtgtg +cgaNtaSHBatBtttVMgVcagaNatcaDDaKMtMYtatagaBccctctDtgtatttata +tKNtgggtatgtRaacttgaWaaYgcaHatccctggtttStatMtcgcMtaaaWKttMVt +WctVtgttaKDWctgWaVttaDVatgKtagagtcatctaKWgtaaMttSacBaMattaKa +aHDataattgWtgttttgtcatBacacgtStacaaagtNctNtgtgatcHtWttcKaaga +gttttaaaaWacgRacatctNatVStgaatDHgttWcgtRKcatatatctcaNttaaBDc +ctgaaaaaDtaYaHaKttNtaYVaVtttaDtctacttctWttaactaattttMagWcaat +cccNKYtBaacatgttgaKgKcgcBHaatDMttatatcSWacatDatRcWaMtDgatBct +HgScttaaaHtSgKtDtttattgtRStWgttccatatttcacWttcatattgtaHVgaBt +acaMtgMaaagDaataactDatattagMaNBagcttcattcgtaaKtgtatttcacMtgB +aVtaattStcttagtYgtgtcgccttKatgggtgaWaataggaatacMMagaSKRttBga +tgacRtgMtagaSRataggtatcaccgaNaaaWSWacDgatacttgattagcttgtgVMt +tatYctaRgHVcDtVRRtSaMtcaVtVtatcaYaHatattaaVaatctaBtgtacRatNt +atttgaYatSaHctaNgNtYtYaYagattVgatcRtaacgYggtgtatKttaatMagatg +RtatatgHaKccHaaaaYtgaacgaWaNgtYHgacagaYtctaVtacccgatttttaaag +cDttatNRgattKaaattttcatctaatgccgcaataataattgttatYtagtRNtaagt +tggtHaKttWMtDKgatSagBYcgRggtWaVaattHtatgtaaaMgSaaagataaKaaKg +ttDttttRaagaacaWRcaacDgtgttaatattaKtatcaWacacatttVtctgatHRca +gtttNcaaatcNctNttttataactWacBBttgBttaaaRaWtBKaaacgtatcRcaMaa +tgYacaaaagtgBataStWYtggtatgacaKWtctSgcKHgtcNaMNcataSatattgac +tacMcataattNVtDaRccaaatcagttttYttagYaacgtaatMtMVatNgKaaMaaBg +attaKttatDaBcttKtccttttacDagaYtacHgttggacaaaVaatagtYatcataSg +atcaaWVttcgaatgaccctccttNtaSBWaatttDttttcaatatYggctatDcttatN +ctttagDcMttcaacWaaNattSYgctttcaHcRaattaataaaatcVccRaattactct +aMaVRattacagtgRcDtcgtgctcttNtWVtacagtHtatHaBDtcWggtgctcaaRHt +atgtDgacStgcaaaVKtagttataatactaatatgtagScaatRSacaattgtattgca +gatHHtgBcaatKKtaaMMcaRcgactatKBaMaYatgKatttDaaNtRatattgtatWt +tagcaaaaacaWgcacaaHcataYtDaHgttataaSacgcagggggtYatgcKctaaaHg +cVgctBDaVttccStagNgcSgtatgVYaMatcaWRBtVtgYttgtgRcYttcgctgaac +NttgtgtctattWttttcctagMtagaWtaKgatStScatMaBtaStaSactattYNatc +tgtacRatYDaatgatgatatgaatYaaaaSHttaaYMaWtDcaNHaBcaYtgVgcatVa +acattMRatBtaatttaDacRtagtaaaNYVSMtcagaaDtttDHtRcYatacSNKaaMc +HgatBaaVttactggBYgaYatttttgcDacHctWatcgtagagtactcattDggtcatK +aSgctttatttagtDtRBacttaWYaaaattttgaccttaaWtaatgcRgccacttMtag +gKtcBtgacgaHctttatcgtcStatMHDNagattatNagVaaaWcggaaaYcaVactDY +actaStattgBHtcYctgggtacatataaYcgaYagaggaggacaVatacHRtYtctgta +VgaYcNgaaaNatacVgcNgtaatttDcatttttcaacttSNcaaDatVYctSgcacctt +agMgacgcttgaSttaaaatagttaggRHttaaacMatagcaWgMgagtcgctagtgtKg +actaaHttattaWgcaaaaaaSatatgcgttaBNggttaYVatgaactttttgccatata +aataRatSaBctagttataBccgaaacaagatacttaattttgaHgHMgtaaKctttaYt +aaRacBMtBaYgaBaaacaYtVtagcRgWatHaWagattWSacStMHatttaDagacaat +cgtgtKtttggaMtgtWtgtgcaaNaaaaWtKaaBcMWtcttctatgacVgagcgaggHa +YYtttWgSaaYYaWtRYHHaMDtctttacaatggaaMctataagcttBcgHcNWaatttg +tatatYtStatctagcactgtVttccagaaattaDtttaRtVataBttWagcatDMVact +YtgcatWtttgaaMggKaatgaaaaHtataDtgYcMggVaaatSMHtttgVttaYaWaat +aRttgttaYttattttRtWtataaBgtDtttatatcVgaaBcaDtatgtcaDagaWtgaY +tWctcVagctcagctatatagcRVtcaKtaataatHgNaccgaaaatVHBaatattcgtt +aVYttatttctBYaatKaagaccVStttcattgaMagSaaaaccccWKcaaNtMYaccta +DStagaaatttatcatVgtcaatacccKattgtaaagtggWgtatatVtagBcttDaBac +aattWtDYKtatRKggStRtaaaWatBtaagtaattDaaaaBRacWtaagtacaSttaaa +tccgctaaccKaattgVWttDattatttattKaMtcYtMRWagMtcgKgBagacgggVaa +NaaatgctKcgtaataaKtaaagtccWcttHMatSYgataaatDttBaHccattgBttSg +aaHYtaataaaMtgaagatgtttBgRcattaRaDHcttBgaMaWaaVMMattaatttgtg +BRctattgKMagNcMtatttaaaWttgaaacatWgcScgYYDYgttYtVtattgcKcWta +gcggtgBaSctaKatacaaVtcaRDccccgtgttBgKgggtHagcgaattaaagMMttSc +ggtDttttaHcSaagaacactcacactBcVgaKNaDHacacttatSagaattSKHtcagt +ataaatKaaHtgaaRagaaVcBtaHtaaatcgatcWcaRtaaaatttaWttaagtcaggR +ctgaWcttDttgactttaVSaaaatggtaWDaRMtBtaaaaaKatBgatMtctatatcaV +aMgatttgNagtDRttDatcttttaMtYaaatcggagttctctaYatNtagaNcgMMact +acHcaagtaaaatStaSaacaHcacSgggtNKatggaaagcggaaKgggtaYtacSgccg +BaggcRacgtVgDtggaMcYaaaMatggacgYStKKatgaBcaaRtStccSagcRccgcc +gcSDtgcggBDgaDtBtSSggacMttttaWcatcMatgtNMBWgataatcaaVtgaataa +taaNatgcaaNttNctgacDMcaHccgatgKgWVttccaStggattctcDacttttttct +ttaaNcWaMWccWKWttgaaaMctDaaBactRtVattttBtcMaNttWcKacagttKStt +aYaWSactHSaBtHgatgttacatgcatatMtttgtaacScWHBatHactggatatatct +gagMgRSatctaaSttaVagcaRcttggaYaatKHtagBBactattcgtaaagaagttgt +VcgatgaVatHMtcaggtcgKSgWattgaaaVctccVgtDcaaatgaaHgMYactcaMat +atatattNVttWtWaatttacRagKataaaNtttacaaWgMVactattaSgaggVaaagV +taccDRHaaataRaHaRgcattMttcaatcaKaaataDcaDKtctcgaggBggacctDtt +tatHacWVaWgatDctaNaNcgKatcMtcMaatBtttggacgtgataatagaaacRactc +BtattttaKtgSaaggKtaggRaVtatagcccaNRttaccttSMaagatcggDacNBatW +cgaactacactaactNBtaStgVtNagcatctaVtaKatKgaBtcgtttWaagWMgagRa +NatHaaaaDtacagacaBagtgcaHaNatctcBccNttaagttDgaataaNtcgctaacR +BgtaatSttaatatgcataacccaSattKcccttDttggtcaatgggttWaacgatacat +tBtgMaYgaRttatgatKaKgtattDtKWgataacgNBtaccgaKWatcttcttKtgtct +tagcattcctWcaaHgagtatDMSgKtcagcttgVHaKcttDaataaaVaatttDgtgaa +ataaRgtcaVaatacttagtVatatgggcatgtDDtMtgtatBggattHtgcVtgtgatc +aaSattatKYVaacSNNttNWcgaHttKDaaMYHatcgttaattaSttgctWaacHtaKB +taaaaKHttcRWgaaWcRtBtttggBcDtgtacNttaagcKtaHgtagaaaaRttgaaac +atagtWRaacYggtaaatcgctYaBtWDRtgttgSctaaKatNcattgtgtMttatccat +atagctSacgccSNaaactacgNtgtgcttMatSKtcaaBaNaaacataacagaaatagt +agctcNcatcVgaagStaataVcDKKttcagDHDtattctaatgagggRgBMctatacaa +gYactctMaaagtcgctttctcgtgaattatNcgatMtttaggcBaaatctNtactaaRK +tgKactattgtcatatgtacgagttMaaHSSgHgBatatcgcaSaataaaWgaagtatag +aHgcttctttatgaccWaatttaRtaDaatttaatcgaaattgattMcatcaWaMtaWaK +actttctBacactatNgtccttaWgtctgaccKatStaKtgagtacgggcgcgtYNtatt +tagacctctKcatgatKWStcaataactaWgMSgHtgatctttttgtcgacgtSacttaY +gcctWctcctctacaagVtttMaBactWVaccaYtgtSgcgttattcKtatStgaaKacc +gNaataaHtatWtYtRacggcaDaScagcagHaYWRtRNcDtHtcVWtggaataaaYttg +VaNtgttagtYttgtagSaaatDgaggccDcgBRYStattatttaaggccgHgggYRaac +cMaagttatSttctttagcMtgcgMtgaSagaNaDagttSatgattWatttagtDgcttg +agtgMKaYWaYccagcaHatKctaKaDgctagacttattgattaaYttatcttattattS +taattWaRaYBWagYaatatgttRgScttgBagDaWgcgtgcVDaggcttgtctaDRKac +ttgcaKBWRtaaVaSctKtacttMaaSVaWWcgSaNtttSWgtcggtcacttggVVtgag +aataaataaDttgaaccaaaaMttaaaagaaaaaaaatcNBtatMgccWagcaNgaVaNa +aaaaaYaMgttaWtatHaagtNtacgacaBtMMattttWNaRtaaatagYaScKattaca +gctVKBtWNSKgYtYgtWatHaVatDaaatWgDatcctggSRagagtaaaaMgatttRta +HacatggtaKagVcctgatgaMtaaYgatgtattattttHggBaccaDctctggNNtYaa +tctVttgVtRtVcRacttNctttataggHSRtaRacaaattaacHaHgtgttgtttcBtB +tatWtgtattttgcKagMcaaagaMtattagtStagcBacYaaHcagVgWtgtttcgtgD +HaVtagDatcRaRtggtWtaactgcacgaggaaaRttSDaaVaSttaaaaacSMttacta +NtcaacaattDtacttttYatVSacYtWtMttaattatcKtcttctatcaKDtctStSaa +acggtYccatgtgagagtWtagWKgcaBaaaaKttgNactaatcgaggcWtcDDaaaaaa +cactHattaattcactatYttaagacactaKaagRtRataaattttcatHggtaataaat +gataHtggctaacBacDgtaatattRtYgtDNDBgKtcaggcHattttgHNgWtaatttc +cgactactgacatVNttYYgactcgctctatttagaMcgggatHcgtttatBaDSagBaa +aagRttBggttaaBactVHgatgaatttattcaaaattgcacttcDgacttYcVttactV +tttatBaKHagaWgtgaatggBtaaSggcagacNcttaDttVgMtWagattggVatttac +HtctNcMatacttSatMagcttgtNcYaaScaYactcKctKtagScStcagtttcatWaa +tggtgagaggHaggggcaacgcRKtaRcMaNtHaatRaRaaactVtBtgttaatRtWWca +aagKttccaaKaaatacgVttcacaaacgcggtgagaRaatggtgDMWatcWVScacaaa +DaggaaHtgttSMaaaaaccYccDBtatYgtMagcSagaccaVcctcggtVWaaagttat +cNaagataataSaataaaKccgtaDtYttatYcttHttaagKcMctaaatggaatRgaaa +VaaVtcKYaggatWcaBtDaggDatccttcYNtgcSMRgaRtNgaatcgttRttatDVMt +agctttacatDVtatatatcagctaDagMtataccYgaggYaaatgDaaaatSgctctga +tgtttVaaBcctgataKtagaaaccaKatatgttaDtgaDtatagataatacagtaDtat +cNtgtDMtYcattRVtctataNtWttggNaSgtMgaaYctctDggHtggHDccaccacKK +aaacaaaatRatttccctttaagcRattMHctattHaRtataVattggatcSttaaHaHg +aaHNDtacattSaaggDatttcaaaYgctBcatattaaaKagtgcccatSctcgatRtaa +aMtgWactttNMaWctYgRatDggaactcDcaattaKaactgagtatctataagYaaaSR +ctggtacWtttccWtaYRtKHattatagWtKttaNgcDtatHacccattaatttataacg +ctMgaagtaacaacagMgtaYHYVtKMHtacMgKcaaatctgRYataNtcgttcaatacg +gWtMcaatYcBWaagYtVaDNagtatagDaaNtaaaYtttcYWttttStgggataaMgat +attagaaYtNctcttcBagactaYDcgtacHDWccKaHgttcttHgVggVDttatcatKa +MttttacWaaSattctatagaHaggKaDagBtaaagtcYccattgtYcatctaNgRgVtg +aagtDKttatBKcggDtattRYgHccgtgcgBNMtttVRgacaYctSctaRacgtagagc +cgtacRaagtaHKagStSttttgYSatattaaaWHaaWagttDKaaNaNHaaHttaYctt +MtcaaatgKttBtSgtccaaVaattSaacgttgNattgatatNctaWtVcagtactKcWa +cgVagggHaaRgaDaatcMttattaataacaBMaaVtgYtKgRgHactgtactatcBaMt +VggtagKcYtHtBSaattagtaatgMcaVVagYYgWtactttccaaSttDgaaMaMttca +cttYtRgacttcagcttWtttagtgataMaattaagVtagaatatKataagtagttaagH +MRaDattaHaaVcctDtagtcVYcaataaYcNttNaaaHctcaRaatttcaNRgatSHgV +atagctRtcatgaBttMaaagRtcgHVtgRgStgatttgtagaKagaRWRctgNaHYgaa +atBctgtttRttNWagaccgagKgtgcggHKVttaatattaatataataDtaNcctacaa +RgcaNMctctgaaSHWWHcttagtNagtWgWaaKtYaNgcBattatccaaaSctRRHKaN +tKcBgtgagaDRWBttactaaattSMctatatagaaYacDgatttccVtaagRtgRataa +tatagtctttttatgtMgtcaacaaNtaaaaactctWtagaVaaaDtaattatagtBStc +gaatDtgattVaatMtcaDattVKWaagatagggttgtMRSgtcYgWMaatgNtagtcBt +tagtttctctWaaMtVgctWgSgtHagaSagactagKtagWggcatttHgttgacaaact +cggggHggcWBgVgtatgggagVgagtcVcBtDctttagtctaagVWtHtgtttaScata +cMBtKgattatRtgtttgtctttDggcHaBtRtgtaataNataatttataWctgaYWata +StcHaatcRtaaVagDWaSatagtaccNDgaagtatacgttttacgacgKRtattgDcta +tRRattVtStaaactagatgVatttagaMaSaaaattVtatYtgttgtRMagtHaatttS +ttaaYNaggWagtgcacgaMcactgHgtgtgggHMgtKacttaaYgtcgcatcSatattg +BaagtttacMtYagSatttatttaVtaaDtaWaHcgNatactgactHtggWtataDcDSc +atactcStcDtgtcgtgtatgaggtHaaNKgDattgcBccaagKgtatgacKSMtttttg +ttcaaatcaaYtagtaSatgDaaaMccKNaMaatagaataagcaattattataaMgagtg +aSgtctNYttattHaNaYYtcDDtaatNRgtatttaaYtaaatcactHVaHcStccttcc +caaVatcVggatKtatgRaaDBgaYtttacttYggactSDtaBcaaNggggtattatatt +BDcttagagYNMatBgttYaagactMatgttRgatacccgtaacacBHtatKacWgatRc +HttaattYtKtStccaaatVDcaNKHHaaataatagtagtatcttgctNDggVaVVtaVa +RaaagSaccgttctcMtVtgNBgtDtttctYgttactBctcRtStWtWDScMtcWSaRat +gaataRHctaNtcStctYtWacagatgtatYBtHaHWBtacggtDcaaBtatcaggtcaV +attaNctactgaaaatWaDgactNWtMtggagaattBaataYcMWYcgatMYatWtgatt +SatgaRtDaRgccagtSttatatRaBtattRcWtagtVgaagttMctattatatDttagg +tctKtgtgtBagacgttatRKtgatctatttBtataactgataacKcggagtgHgtVttc +ttgtKDgcDtaYatBDatcaatattgttNtaBacatcgcNcaKcaWcRataWcVgtacgS +caWgttcggHcMttcRccatgaRStYgNacagatacYacWWtggNaDcWagttHatMaNa +atNtcDMDcMaKgHNatScVgatKWatatgNRgtccgYgaagattDHgtMtcHaSNaaat +tBatRagtaaatttacaagHWtKatcaagtccHtYcctgttKDMSgtactactVctgaca +aaaHgatatacataatKtStHgctScSatNatacaYttaaWHtctgaatYtagtHtKagg +ccWBaStaDctaagagNtaatcaatcgttNgaYDaagtaaaaHatagaatcgcgBaYaBg +aacSaaWaaaaactccgcMttHttYgtaagaMctKBtacSagattcBaaWtaattttacR +ttatcgaRtacaRHgtgRagaaBcttaVgacVDgggaatVatagaactRRtacgYttNat +tVHgaHttacaaaaaaaYtcRWtgtgattatgccaSDtttatKWgaatatSNDgatttta +acgtcSRtatggttcttcBtWtttMtBtMScttaHatBattHacYtaYacattcgttKgt +cStSctcKtatatttcaKSgagcttccaacaccRDtttDaccattatatSgtcWtVaaag +ttgtagccattDtYaatattDaccatcVDaaRccagttttgtcHacMattcHgaNcatgt +tKcVttcctgtgcSataaatattgaKtctaWctMRaKggtaYcaagttDttcgttacRta +tgatggHNaWMtKttcatattaaDaSaBaaaMtMatBgKtttgHtHactaatcatcgtWa +atKaaWcaWtcctVttaaNaggaaaagtaaagaDctNttaDBaBgatagMgaataacRcY +ggatcRaaaHaagatRDtVRactaYagttcaccaaWtctcSSaaatcSKattctggDgaa +cagDtaDagacagtgtaattcaStYttNaStgtaHgccttaScatMRcaccWtcatttat +RtaagatWtNataaWtMNtDVgWttgcWgtgaRttttRgWcttMtctaHacaaYtKctga +BagtRagacttDatNttaaaDgRtatNcHatcSDgtBatcttacVcYacNgaattaacga +gttgYgacttDattatacBattMgctagcctagatVcaactNttcctaatgtDaacgYaN +atagMatSWtYBaaaRtgMtatSRgaataYaScaVgtaScMagatNNtttacaaHBaWtN +tRtctaaacDaaaaWMcaNtcVaDNcagaDtgcWKYgagttaHtgcDYataaacataBaW +WtcggtatgtgaaScaacctttRNatcgttaaagcaDctaatgcBatttacaattVaMgS +MMtccYaaaBYtggattttcataWttgBtatDtBgactaatgtccWaaHataaScHttWt +tDtcgtcaagMctMDtaaaatRtBaaaacaatgtcagcatBgNNBVttttttcBacWttt +WtSWWtgaaaaSacgBtaaataaagtcDStaagaactgttaatYatgDctattactgaHt +aaatStHaagacaKtagDtaaHaDgttccaaDtaaggacactctDggcgtDagtcWaHgR +cHgDgaSctttattgtcttttccttRYaDgNactaaatcaWggcNSBagttttatatStK +gtcRtgattaaggtcaSBttaacaaKatgggatcaaattgRgcBagtNtcgDcatttWcc +tttgtNagDgctgcatttactttgtgtcaBgSatttNHaMcggcagSctcKDtWBaagSa +gWatggYtVatSRgKagattgaVatKttcgatYatKYSgDaacNtcVgtttaWataWtgV +ctgcgSggMgatccatgagttgtWcatYWWcctVcNHagtNtgtKtttgatcaacttaSt +tattgatNcatWaVgNHcagStVHcggHacaaDttgDttWcaaRaKgaaatKaattagta +WacattgaaatgtgaatgacagtgaRVtaaYagYtcggcatMttgaaggDgagDRcaKgH +tacacaaaMcaBtagHactgKaatRtNttcttcatcatNgYgStggactatgSMttgKtD +aDgacRRgtWaVattgatttaagYctatatagactaagaggtatWtataaactaYaHRct +StgKWcgtRtKtYtYtagacgattRaaYBtaStcttaWataatcHttataRcactgagtg +ggagccaattctcDtgDaggHcDRVaVVggaaBtRttaataaRRttgtaagKNcaVWWgt +atacctgatcttBtcttRgaWcaVRKcagttSacttagcgtKtgtYWatatcgNttcKac +cacacVKctgattBtggacgtctgacaDtWKttattttgMBgKaacaDataattWtBtBR +tVtacataaatatttgtWtttatagtDtgcctagctHYaatgcaNaaRcaatVtacctgg +gggKtagBgagaBgRaaNttttMtMagMtgtgattNctcNaKggWtMatcttagWgtaat +atatNctaYBggKaataBattYtaattataVtggNtcgtgtctaattaaacctHtacaaa +ctDctDtctgatatgMtgataacWctgtgYSaaNScgDYaWtatDatMKgcaatttctgN +cgtHtaWtagatatcYBttaattactcaaaVattYRWtatttDtaNMYMttgattataat +gcgNggWaatYagttgBagNcaagaaaDtRgtaaaagctgcatctagcttaVgtBttata +gcKMSaattYtHcMaBttcagtcttgKatgVSVttKgttttttagtgtDHgNggtcaVta +tttaacNtgaatatgctatMcatgaaaBtgBSaWctaataaattatYttagtaDtaccgg +aatgagtaattggatttaacBtctSMgWYtgKgattacgRctctccaatgtaggcctgaN +aatScgYataaBBacaKtHtttcatgaaHtgBtagaKHVtacctVtcaaccaDaaWNHNa +atgataattgatgWcagggtcMBtgSgRataHctMctgMHHtKaBtaaMtMgataaRWta +gYtgaaMaSgctYtgcgaaHatDtatgtcWRatKatatYDcBgNtRaRacattMcagaHg +aaagRccgcgWttggSatBagagcHgYtatctVtcatYaaVRtcaSacaMYDcgRtcaaW +gaRgataMtaaaacaggtgtaaYcattgWgDHcWgttaVatttgcatctaatccacaaag +aagSatgcgtagRgagtHDgaVcgtgcttatggMttttcatKSctNacHcctMaKRattt +gatctaaatgHaaScataataatgtttgtgtHaVcaaaaNHaaaatcgctgSVtattVtt +agaaNWcacagtgKtatgattHcYcttgDaWVataBatBttttWtaactNaattttcttt +aaYHaMtttaaaccgStcHaVBaatcRacaaWactgtagVKtNRtcctagcWaatNgctK +ccttctcDaBDcatYHatatgcaataaBaagaatgDMttaHcaaYYtcactgttRtgacR +aacctaWtBtBMagBctaaBaWtgatgVtttattataggttaattgtaatYcaRtVctct +tgcacSaaMaatactRSgcataKcagcaVNKttcgSatcaaactaattDtaHtNaVtgtt +ttttaWVtatNccagWttcgtatBcgttVctcBttaaaaMSaDattKRcctttcataHaa +ttaatWaaataKcaHVaggaatataBYKHVtgVcVgtcHcttccgcctattDtMMgWaac +ttgWttYtttcMcgtcctaaVHtgWtggtgacKtcaWaYMttacttagVWtacgSatatc +gWcKaaatHKaaaYttgtagtcaacWtttggtcaagttgaaBBaSHacVcgYgttWBSRW +ggtattttaYDtHatattcgatNttacaaaaVacaMccaaYStaataRttVtcttagaVK +aacaWcgccgtRatcatctaaatccMcctttaMggccHgYcDgaKctatgMRYBagcaND +tgMtcRttgtgHaRttacatgaWcDtgctgtataggNggtgaatagBgagYNtatcagKt +HcatBatgVKgaHWagattRDatatcgYcHagRtaatgWtcStagcVatNaaaaKttgRa +RBYNgtaaDtStaVRgcMccatMWaaattBDatttaatttataaHtagtVVaDRMKBtaa +caatttttttDaRSgaaKDtVaBatcagtaaMttaagcctRgaNVgggttcataatagNa +tcctacactacgcatgtcggaYgtaKcatggattgactttHtaattWNRaaWYggttcaa +aggaaNtaatgcHcaaaattBtagcttattcaagVtatttWgcctaKtatBttDYcatta +gDacKVaYNccgYaYRaaMaattRaagaHtatgcttgcRagcgctSaatagaaRacaRac +SccagcacVMataatHgRtagcgaKgYRaDcVWSDVgRaMgcDgtaattttaYttggtaa +WcttKDaaYtatMRcgKccYcagtYcBgRccattcaKtgaSSRtactgacgHtgtaaaaB +atWgcaMcBcYcgccagactcttcSatYattgatgaNccaaaaWaKatVgcaggtWtBcg +ttaRMagcaaagtgttcacatataaagaHWtKatctacttatatcacYRaaVagataagt +aattttgatgtBctaataggtaRtaaHaattgtaRcStYSYaWRgMtacaHcNSttVNSc +attNKaaKgBtagtgatYcaaaStactggttggggaBggtNtgtcaaWBaYVSNgtaata +BNtagtatatcacMcScccVcgtVRRtttNcKaSRNaNtHRttatttattgacaatggSa +BagataaccgttcctaDNaattgctVtatNtHtatagSccaagctKttaaacaaattatt +gtSHgMWgStttNaccattBMYatRtccStNgttgaaBcctVagcaaaatgatattcRaB +ccMWaagKtttttcMtgaRYNaataDttgttWRttattggHtNtataatggttgtStYga +McYVtcattaggtaatVcaNggaRtNataMWcctcYgcgagagRgcHMgcWtgaYtVStt +gDaacgaaaatMttYWtWttcctgaKNttatttattRaattaagaccMKtttcWgtcaBa +gKSaWaaacaNtaYaDtBNaaagWtHgacaaagtgVtcatKcgcaatVaactatgcgaaa +ctccNctatatMgactatttatSaaVttNttRttagHtccKtHtaaaNatttYVctaatt +taaaatHWaNtSacgaaaHggaaatcacagVYcctaattcMNtgtYtgagttatttaBtc +RgBHNacBtactctagaacgcKaaDWYYgcattactVagaYtgaVVcgcaNctttBagKR +cSgaaatttgtatccattgtggHcaatRtaVtaSaBtcYYcatcgtgtcHaVttaHattc +tgtcaBSNYaKBBattaatggctgtHatattgtBacDcBgatttaaaNtggaaaaYtNca +KagRRtRgttRtMtWgggatcNtacacctgtWKagatataaYVMtaaDtaaacctctgtg +tgccttScacWaggaYacttttKacgtttgtgataKYagaYaVatcWcSattaMcatBYt +tYaaatgStKagWattKtttaWgtagaaSgtRattcSaDagVaMattattYaagccSgcN +aaDgaaSaggtaNgtWactaWcgHctgaNatttttcaatgtaMHSWaRtggtaNtaHBtt +tWWaaatattcVtBtctStWtaWMaBcatttcDagttDtttatatgttWBtNaYatcccS +gtgagcgaRYtBtagaDacBtaagaataWactaaaagKtaKaWaataacKcccgDtagcc +aaagcggaatcgctSRtacKgcactacccHaactMgtgccaBaRaaaBVtcgSacRKttt +StgatcaaHgKtaaKaccHaccacccKttgagcttcSttttKKcgacBgggtYMaatcBS +tcgDBtMcataWtaWaMtgaataagaaDatccSYDtgBatgactBaVtaagatctcNMgt +caWKtgcWggcgatacgtgtttatttWaDaNWBNaaNtNttcaaatagtaatScgHtMWt +tgttgaBaDtgNatSaagtttHttaNaNKaattKatttgatcgtVcatgaatatBtttct +aacKaNttVttSagccatRtatatcactcHHatctWSKttaMacaaDattccaRaYtttt +agttaatattcctYaacVactgctMcgagcaMYtttgaagctagtKgNWttgaaaMatca +McttcSVatcaatgtNactaaBagatagagtDMgtNtNWatttSaHactagaaaDggtaa +aaNctMaatagtaHgacgMaaacMtacatHtaSagaHatYDccagtBtgaWatcYtVaag +ataattgatcgacctgcaacgttttattacNMWNcattataDVDactatattatYatttt +gcgaagtgagYVtagYaWaHaatctgWttttatgcHaacgttaccDaKtatagaccaDDt +taacgtHBaacatccgtYaBtVtNccaaataaaatVactDttSKtcMtDSgaagctaMta +tattgattactgtNaagNBcagHaDattaaaWttacacaaatactcaatSDatagctcaD +ttWactttgaStaaDtagatSaaDtgtaatKtgVataggaagWSaaaaKatttaaagttt +gcgtaaagcccggNWaacatacatgttctaRcaHttVtcattatctagttttNcataaac +DttWaagVtNYtaggctttggtatgagaWgtactNaVatcactVttBKcttaaccttcMt +atcggtaataYaMaYggttgtcaaagSWHctaRMSatVcggactMatatccgaatctttt +ttcgagtccagtttgaMtcgcatcaaKagtattRMaaaKDBttDNccatttttaaBNtVt +ccgtaatgaKgtcagMVSattatttaWaattttaHNcaaMaHttgtggctattctacDtg +aagattatcgacaaVRHttcSaSaatactNHWaaNcgtWaWgaccgRSttNtHtcttcKa +tYatatBaagtcgctBtgagccatatScctKaagaaKDaWactWagBgctgattBagKtg +aaataBaaaaagSacScaaagagtagcgaDaYtaMcaYcKtaataMatttttaactttgY +gtcgaaggacgcHctBcgYgaaVacRYagagBaaYgtagattgcgagtcaagtStDagat +BgtgaccctaSWtctDgactaSHttctWatWttctaWtatctYacactgBWatKKctgta +tYgacaaHSatYSaNgSagtatagatgagtatttatgaccMaatgtaHtStaWttgYagc +caWattcagtBaYtaaNaBtaNatactggcttWcaagatDctacggaNctatcacatSgK +gattgacgacccccgagtNDtattgagaaatattaatcVttNKtaaWtYacgSNcBHgtt +gWtatgtttcgccaactKaattaRgacgNataatctacaacKgttBatYatNMSaaaNtc +tKgacttatgcttatKtcaVtVcagDaataattYgNtRtHaagcaataHcacaVgtaNNH +tHDatgttaMNtggWagSVaRttcMVDtcttWgtRttctacKaaVttcVcgcatcctHRK +tattSgttSacgaagtcccRDVaacBWagtgYtKtgattgSgaBtgccBtcaKacaData +cttHatcattNatttacgtcagtgaggcBtaRNaRcaSgcatattatStatgctYcacgt +attcattaaRtgStcttWgtattKtSYttNaHaRtNYcRaYtVtggtDcKcttctactaM +cacggcMtacgcttctatatHtaatggcattMDtaaMaKattgaagtBaaKMVMNacKaD +tttKNcgagctaaagtccMMtgagaagVaataatggcaWaaaaVaBgtaSaVgaaaSaaa +ataDttVtBccaNagcSBgaMaDaVaVYYRVBgttYMtagtaactDtaagWaattBtatt +ttMDYHtSaStScRaKatattacacctMttgNBKtcRtRggNagtYMattaaatMctYga +atgcKHagSggaaaaBcaggtHtatWcatcgtStagMcctcatgattaWRcStcgWtgRg +ttttcctaacatcgctcgDDtRaatatMgtcMtHtMaDYatgDatttatagctKDtYHaa +aaattaSatatctggtctttattttatMtgtYttgtcatactcaaVcYBgatgSctKtYc +ctWaRaataWcMgNgcgggagtcttRMgactataHaHtgctNtVaatcaaccacgSRaDt +gKtaaMSKgtaaaaWaKtttVagSDtaaaaaatgttYattttNagMHaaRtNgBttWatt +atatgcttatatcatttatKtKaaaagctRaaatcgcYgacgNtacNtccVtSaaatttc +DVctaatacWgcaMtcttSaaWaaaWagtagtaattaactagRttaVcSaaatataacHg +HatWaattggaagtgcgSSgaaVtgYgSttccatWVataatcgaatatgHtRcgtBttct +taaggatatgttgtBcNtaatgtcacVatactgaaatMBttRRcRatccatagagggaca +tcgccWttagttgWttatKagtaaaagHtttccttSatVatKtgagcaatttattaaYVa +ttcaaattctgSattRaMtgaatMgttattattacaNcggVagccttaaKgccYcaaDat +tWtggMcttMacWttccMVgtgaattctDaBYgacttKYtBacatgctDcRaaKaaRaat +atctttagKcKtaactttaatNaaggctgScacctYgcgcaaaccaHttVHcBaDgtaat +HaHVaaatMgttggtSatHtNNaaVagtgtacaataaagacgKttcaaaWVacagctcac +WHaatcctgtBNWtaNMKcVcVSWtSgcaattctgKtVVaaacaRaattgatRcgBacaK +acVccVMactagcgMNaaactgataDaSgagaatVHaatVSVtccggatgRgtagRattt +gtaactaBataVaggcaagHgaaSMSaKgctRagcStNcatttVgctatacttcNDtcaK +BDcaHtDcaatagttHttattMBgagctgtaaagtMgatStStcagatatYcBtataacR +caggRaaaggtaWSatKgatatgagcgtgMYatcagcatVttSgaaaaaatatatgttYt +tcattatacataatVcacgattataDggttBtRaagtHMtatagaDgNttggDaKctBca +aRcgattcgtgccttacaaaWattYWVcaaWagDattgaaagggaagaHattBtatVggt +aHtWtaMagtccagaKttSatatcaStDtgWaagtKWaggtatttaWaaRcattaatStg +aaVtacggaacatKctacatHtaaaBtcNWatttBBaNatRcDattcgaactataaatta +taactcagtSgatataagRaYaKHctggtaaNtttaaNgaRHtttattatacNttttaDc +cttYgtaaacaggaagtgataaacatBgaSgtaaaaaaVcBgtWNtRMttBttaaBgtaa +aatatcHNStaBtaggtaVatYaccNtBaWagRctNSacRtMatDactStVctaaDtaYS +RgttaRNttttKggccagaaBcatagtYcaYNtDatcgtatVcaatWRtaggaattMcat +RtgggatgtcMggMtttataagtaBgtggacNaaKYtgctWgagYtWcctWtVcttaaac +taRacatggtRcatctSDcHcMgcaactttttagttaccttattHRgtacggcactDBgg +tMHcVaaRatKctSHacctacaccactaaHaacgSttagKtKttttgNHVgagtaYaMtV +YNVcggttaSBaBtaatttSRcgtBgaWaatctttttKggacaWKaattKSaccttgDRg +tcatatDatVMtMaVcgaattaNaagMWccctaaHgataatatgtattWataaaatBaaM +tgRttcHctaagctaagatatattMcggactaRttttKaSttactWYtgBcaMMacRRgN +tactttaaaSKtttcaYBaBttaVagtRtHcWaggaVccttNgtgagtcatataWttYSc +MtWgVRgattWtaSggacggWWctBHatattataaKaagttactaMRaaataSRaDttDa +aatataVHaatggaaBDgWgHtcKStVcatHtaatcatggBWaagHtagtMtgHcHtcat +ggggWcatacaHNHagcDatRcaaattcgcttgDggDNVcaacgSgtggcaccttMttaa +tattVYtVgaagRttaBcagVaYaHcaRDBagatgaVHtNMtcttactDaggMgMaattR +WDcctVtgagaaaaSKatHHttVDgtctgtcacatHNttgaatSaagtKBatatagacaa +RVctcWtgtacKtaacHtgHataSgVtactaggtttatggBgtcaaaYaDgaaaaaatcg +MtagaKaYatgaattatYcttKtacaatttgWttMaatBgaatSttMtNaVgVtScgctt +ctBHKgtaRcNBaatcDtacgattgacgtgctatNaaBtMgagNgKcttWcWKacactYg +ttVgNcgaattttcttgaaaaactacccctcgcNtgMctatcccacMcactcMatttatt +tagtagaacMNtttcttgYKaWtaaBtttcWttagHtgtttctcttgtggctatgDgcta +atWDataatttagaNcgcRRNataKtctaataHgaaMYctNaKWtactaacDtgaVcgag +aactggtaccaactHgaggctagagHHagtMgKtaaactacaggMatgtYgSBaKaaaat +tMgatRtggggtHBVgttaattgKttaaRDacgMactcaaacStaaagctctgtgccttc +gtSagtSaRctacaataKatattctaVgtgtaattRacKagttattgaMtaatgaNatac +DataaggactttccNtStatatKaagaataKtatggtcctctatgaggttaaDtgtattg +ataaaactggatcactKBtttggcgtcaaagaaaNtagtWKatctaaWBactDaBaYtac +aWtaSgcaattattWgaaBgactgaKctatBRgtagttaBaRRgatttaagBHctStgtV +YRtaaataaagtMWtcHgcattcacaaMWtcMccWttgVgcHaWttcaNtgtVaggNgcV +atKttataaWDcccctatgatVttttattacagRBBWttcttRaWgaatBVgcgtHgWga +ccagtYacaattgSttaaMcVtDatttaVttRgttKtcaYWatKtaaDtttWaYtaatYc +tSctatagtcctBtccMaMMtaMYHaSSgKaaacttctcBtMtgDtgtttttagRcgtac +ttataHgKtNtMtKcBtaNKaHStgSagYHtataDtcKtagRtNWaacVgctVtRtttSt +NtgaaccttaVatgagaaggtcaKSttaDataagcYaSatNStcaatDNgttcgacaatt +taSgaRaBNNacattRatNtgSttHVtgWHgtSHccaactKttYtatHYttVtgHcNgac +tMcaacttBatatgSgattttacgtatttgtggtScaacggYtHtgcatctatttttWta +SatcagaYatcgcagtgtgtMgtattctttcattaRatttStcaatatgcttDtStaaag +accDcVtaWNcHYtWMaMcgaacKcaNcttacctaBtgcDacatcaHKtRcDaaacataa +RacNNtccDataNactttatBSDYatDtctBtaBatctDatKaMcattMatatcDHctaa +gRgYVcatgttcgtgataHDYaagttSgHYctaaatgtaaaactNgtagaaactaattRa +atcttttBKcgaatSctMaggVaVaaatgagataaataSgttKgtcatKaKatDYtaaaR +ttYaMtgctcSatRtagttttagcaaNtaKgatcgWYcacDgaatcaatactgBgaNtaa +ctaaWatatacaatacactaNatcaVaKaaMaaaaaatcaccBtgttgNctaacaBattt +taaKWcaggataWMtaattgtaaHtgVtcgaHtScaHtctcHacVatagtaMcaaKtccc +SagMYtWcaaatHHtaagRttDagtMtcYtttaaWWaaaVaRtcHNtctcSttagcacaK +ttgtagtNgWYtatKDtcatttgaacctcKHtatccttattcttNggtBgtgtKaggWtY +gtStgtVaRtaRaaagtagtgtcgcKtKagatgagYtttaatKcScctgaaaaaRaaHtt +tttaaaVgtatagKctaNtKaSVgttcgagacattttRSatagttSacataMtaYHccac +ttttctatactagtatgaBaagctttaMtgaatgtcaKYtaaatatggattataNcgBHa +tcctaRaaactgttgacttYaHtStcatcctDaMBttgtaWgagtaatWKataaaBgBat +tcttttctttaatWStaatacgNaagtWaMaaNgactMtgaaDaggaaaSctaSSgatat +DttattatcatagBcaataVcHcRgcStaHaaatWagatHttMHactaRacttaYaaaaN +tataHKVaataKtatgatcgtcVaaWgttYtVcaaYggctRWttaaKtRttDaKtgtatc +aattWKaatBHaaaaNgaatggStHgVVgatMgBYtaRNgBDttMcNtggaNgtcaHtgt +tDcNaggBtatYtacVaNttctcWtactHYcSctgtYtDtgWaatcHgatDatatcHtct +tatattaaKaRYaDgaatgSYcgactgcRgaagttagtStYatYtttccgacactacagK +caaagDttaatVatcttaaacRaDatRcBatKNtNtaaaHtcBgatKHcWStSRaKaSMg +taKaBacWgDDttgYaaYttaNtDgHtatSaSataaaaMBaaDtaMatDaagWtggaMtR +cacttatggctNataaaaatatWNMtacctatgtcaYKaRacagttHDagccgtaaYcaa +tataatcatagggaaSatgMYBcKBBtaaRVRatRtccVtgtgaagVNttcttagtgtcW +ataVggtaaNaatVgVaKctttNgtttagtaaagBatBtgaYSagHttSYaacaStcgca +gaSttcDBtKtttggtctacNttgNgKNNtcaaaaKWactgaaYgaYactatHtaWcaac +tgttSatNVtgtctSttYctgattVaatKgtaYcaaattSgttaStatggtccaatgSWc +caaactattgccgttacgcNatcHctctcaKatgtagtctattttaaggHRatcDaagSa +VgaVNccaBKtacgtttStagKgtctaHtcattaYcctaVKtttaYaaatYtccgataaa +VttcDgatWcgBtcctaatttNaattgctDYgtgatcaatttaagggctctcatcKattg +BtaBagcaYcKctctttNtaacHacNStggRtMatHHgtacatgcaMagtgtccatRWtt +RKctaaaDtcMctttaNVgaNtcMatcacHcctgWtaaStcacgtctNaagRNNaagMaD +tactDgctttttcatcYacttaKttatgcStDaStNaMgDtaacKtMtacctaaWattgg +tttNaaVHatgaaattaattacgVNaaWtggaWatctgVatcacYctcVHMtVaNacNtc +ccaWtttgcaacctcWctHaatcttWcaaaYaBaattSctYatctaagDgBttagtaSga +WtBcRcKtccYatatcKBgtctttatgaaHDcgNaMatggatgtWagRctStagagaaga +acagctWtNtataaaataRatHatKgctNactHgttRgRgVcRacatgHYaNttaHtatt +aNStaagatgtagaHcVctcYgggccYcaaaatgatcttctagctctHMaMMgcaVtgHg +taagaWHHtggtaactBcaMNNctagaacggWtctttgaggHcYNaaMHtaYcttKaagt +SccgttgggNMStatacDttataaaVaYcKtcgcattttcgacctctcacVttNtttatt +gtcttctaVcatagaattMttgtHtMgacataaatagttctMtgtWgWctttcaagYgcg +tNaagcaaDaVHaaStMtaaagccccgtgVgtcacatcHVaDtgttBtBacBtcggYttD +agaDYtccMttagcttacNcgaagatRtDataRtgctaatatatgRtWVttatWKtgcBg +actcgagaSgtaaaaagttaaWaaagtatttctcWtatcBtcataacNcgctcRKaaDKa +ctRaNtagtatBtgaaatttcgcDactttaNtYgagagaNttgaattaataaaSMattRH +NtYtgttgaDBRBttgWttagSatgacDggNVagRWcggctacDaYSgaaattHgtYaaa +gctccVtatacattaMctttgSgacatBKaattRgtaBRtttaactattctagcMKMttt +ctgtgtgVgtctttcDcgtaaMtaggtaaaDtcaYtatccgattcYtgaaRttctKaNct +aYgYaattYgRttWctWttaaaccaatcactVatgcgYttgaaatgatKBcNRgctcatg +accHagcgaaaatgtVgccatcaBSatKccRStSattaaatttggtaagcVattctgVca +ttMtacatMgaaaaaataYNDtDaatcatWattcaggNcaccctcBtgcKcHagYtatBa +tgBttgtVttaYBgBgataaHNtacRtcaaBaKcagNtcagaatYgttWgggaNDagtat +agRtctcDtDaHScagttcYcatcSYacHcagagNgtgcHagtacagctgRtatatMtaa +tRaWMHgaaKacaBRtagHtaaaNcVHcatWBgWaaacWccggtaaRcattgMgttaNgt +tVMVttgcaagagaatcaaaaaagYScKVtgccgacHgacgttcaMcctcattatgcBtt +ttaagtKatDactccgBatHYgttcatcgaaatctSaKaagaatWVtcgttgtcttaMaa +YaSDtaaaataccgcKMtatgKtgScaaDMaaaactgtgagcVtttaRcttgtaNMatat +atttggtMgYVatDaatttgctttaaRtaBgttaYaaagKtataMtWStcHaaaaNacgc +tacMttDDgactacaNaatBcagtcattatatSttaVgRtWgSggcaatSataVgSYgct +BttataaYRRgaactgtgHtgacHWSactYNgtttBactatWStaNtcStcMttgattSt +acctgaattctWatNaaHgMatattcaaaKWaBaataatHKgaWgataYcaWMBtgtacK +agaaaaagaattttWttDaMtggttgtgaNMtVtDcaacNttactattacggKctattta +aaaBKatagttHaatggaatatYWgtaVtNaaYgataatMaccWagagatRttMtgKaMc +gatattaacaagatgttBBcNaYattcNgtRttgaBcctaagaSMttcMtcctcYattca +NaRBttaatgVcMNgaacKagatcgNctaWVgttaaYRtgctSctaaaaNtttgctaaSc +ttcVattaHtaaMacNgttNtKHMcctattttaRtttVtSgtacatBgtVaaSSaMVaRB +caSaRHtaWtWHttMtattVcaMtWaaaNaccccgHYtcatagaaRtaaBaatttaBcca +atcRctcatagWgcBHRtacaaDttcBgaHggcgctaHtgacagcSNattcctcgagacc +BggtcaagWctgVcRDgVtaagtttaattatcMtgatNagYttHtYtagccRatagDtaa +tcNtaKtacaMSgDaaaatttgHaHtRDgtaattKtaMHgaBcaWtBNYaWgtttSttta +SttgataatgactMKatHBtttaVcYatgggttttaDKcSatttMatatcagtYaBtgVa +caatHcaDMcccgtaataatagDataatVaaagaagaVtctccgaRgtRtaatcgagtca +cttgttSatgNDHaSNRcggtaSaagcSaBgWSgcatcaaWatgttacatgattcWacMt +agtgNcacgatgatttttRcWttSgtaatMRRBaacNWRHaaBaattDaagStgatcctt +caDacccctKaagScSSHaaYHWcHcaWcaaaMBataattgDtagccWtcRHataMNKtM +gHaBcatcgaagtgtaRgtgggaVMatgttaWRtStBHactaaRaactNctcHaaaggca +tgcVHKHgaatcSccttggSaWatWtNcaaBctaRagaaacacgcttcKatRattcWtgY +DaaaaaaNatWtKgaacgtNttactgWHBaccaWacggttcaaVgagaaacVtMttatag +aagtatWtaaaNHYaMacagWagtaatttgcatcttcgaatacggaHtaatVattctaDa +HtRKRaNHcttacatcDKttMDKaWggDtaatcttYctcWtRaaaaKtaatcctgcccca +tgcgDtctaaVMtWRKKDctaatatDgactagWtaaaBcKcacMactMHHttgDataKHD +aDttHttatttagtcaaVatccKWtacWtSVcaggtaatatDSatgcctKtatDtttaga +cKaaaagcgtttaaSaaaYtgattgtKtgBMcKttgDaaaagttBRatHgcaKgDgtgcW +ataatMWgcVaVatcYgWttaDatcatNaVgtttgggcttgaHRDaWgatttctgMHgtV +tgccttBtWtaatcgttcgKgRcaBaRMtaattWgctaatMaVBccaHtDagaBNaataR +cacYcYcHcatBgaNtgaNgKHttctYaacaaaYgBttRNtNggaagcWtDggattgagt +HaWttVacaaaBtgttaNctaatactKaMaaaaaDtaRatttDaaagNttcYcaaactcM +gaYgtacaaatMaaatYtcacVaacgaaDagatWgBgaataggtWtKaaMtgDttHtgag +ttaatttgVaaDagttNMataatttaSVattNaDtKVccaaatcgaYVtaaaacKRaata +atgaBDtctRtgVcttatttYtgaHgttBWatgaatatacSaacctSatNNRccagtact +KagaRtgSKMcgaaDattttagtHcKcaaagtggtataaaggctcctaSatHtaMtRKat +taNRcWtccgctataKggatWttaggtaatHDRatttattRWgcgatcttagSgtcttac +tatgYgttYaVBtgcaYaaRtDaatacHHtDcttHgBgNcccataDtaaaaatctNtaca +tatWaRMBgaattaaaacgctctctcaagtKcacNacgVRVctttttaacttgctcStat +RScaRaMataNaKagtatcattRttNaVatcKgtacNatttttgaNcgacaaKctHWtga +KStacMaBatgWttNSacaaKcaDaatcWaKaccgYBggMScgaMcctagcaDatgtttc +VatgtRBtKNWHtcctWDtatttttNNSaatattcMttgatKgNgaNBatcSggtctRct +tttttatatggtNttDYNYgaaaKctcacacYHRgttacatacttYacaataNaagaaaa +gttataNaataSatacagttScacVaScaccSWtccagKHtaatcaaatVacatWacgBc +tccaataHaaYtMtacKacHttttKtcataWWtgtgaatWaataaaaacatttcacctta +HtttgttccaatcccgRBaWgatKgagtttBaVgaNtaNVBgcaataagaatagcaKRtt +gtatcaattaMtaacatataDBgtaaNttcaNcgagatYactggttatgtNVtaBNtDaa +DtDttaSaWtactaVtHactttNttcttcatWttcDatKaacgtttggVDaDtVagttat +gtcagactKaatcaYtSgttttataaataDttKttKagacWgHgatataaatcttagatN +KtttWtWaaatattacSHaRgtttScttaatWttacgRRaaMactcatBacaccatRttt +gaacctacttcDMggcVaSBagaatcttaKMagcaVtctDVataWtSgatagacttBctD +tBNWgtgKatWctYgaaStccgVaaaDattYatagtatcaacBaWYctgaaatttaKVgY +tStNtcaVggtggaNYgaRtMaacataSttcagacVactcaVaagtggtattaaDBNDaa +gtatatMtactatatgatRSgtttgccaacgcacRMtacRYNataagatcMgttgatcat +aaacttVcatatgWtacaaaWttggaaactttaScataactRattMtDacVYataaaagM +aattttKtgaBttKcaacatattVtagtcatgactcgDaacDtaWctatRttSSYNtgWa +ScaaataagaaatKtagacataatggNaatttcSKtVWtgacagKWattcgVatttcKWg +agcaWgNKaaaatatgtaaacgttcactaaWgacaccBNaacagaaStctgctaHcVttt +MtcYttStagYcgtttBcRtaYacttgNaacMtDRtagcatgtgcgagcScaMgtaatBa +KataactMttttattaRcattattatacgtaagSNatVRgcttcgaVaacHNtctaHBKY +gKaccYcttagagcccaVgatttgttagactaaacgtgcaBgccaWgaVataggattDBW +aattttgtBacWtttttaatDtMgaactaagcVtctcagBMKatgattgaNaVttggatD +aSaBatttcgccatatgctaattgYacatgatccacaaMHtttcKYKaWtYcgDtNaaDc +cgNaNcacacHKttDtttaggctagRVtYgtaactagctttcacaaatYtHaattYacaa +ttaMSagMactcctcatgtScttcaaYtataaaaScHYaKcaYacactVcacataNtaBc +aRatgYagVBatttgtaactttgRggacaagcVacctattacRcaaMacHRagagtaVNc +tacagtgagacgaaaggKttacattgggacaataKNtattcaagWKttgatNagNtgcta +NgagatNacSatctNatttatctatRgaaaatKatNKSBcKactatacStcagtaggtVt +caaaBYYgctattKtWNttcRacaaaNatgaacttaRtaaDSttVBYtaatccagtNaaa +cRttagaaccRBatataWaatKctcattcSacWaacaacactDttVttgacYaagagtaS +gcMttBttaVNgRVagKDcttcttcNtaggttgcgacYacttaaggVHcaagDagaagat +aaVaatctgtatRatDtKaaSDgattcaattYtcatgYgtgaVMtMaactaagaatgRgD +tHttaaccaatStaaaaMctVDDtgttatcttaBBgccNacKMaHggcBMttctgNctHg +gagaataYMgtaMccaataattHttYttKggtKaccaactcccHtMSaatNactcRtttc +atgcKcatgcacttcatSaatatactttVtaYttDattgWcctcactcYccattaDDaHa +aKcaatSttagKtWtcatRcaactattaattYaDggKtagtNcgSgtttKRgtDWtVHtD +NcHWNtKtccgtctagtatSctaBcacgcaBtaacatgagatVtttaaggcaVttBttaS +tWtattgYaggtSatBMBDactVtggttDagacataaactactBgcacaacMaagaStcc +aWNaaSYMYtgtaKaMcYSaHaaaatatttMgtcaaDScaKtcaBVtaMVMRRDMtcttR +BgWctaacttgaacNaatgttWgtggBtRttHVKgKcHVtatattSaaaatBttcBtttc +DgHccBagtRBRttaVagBctRcaagcattacKccaWVWtaVcggttatNaSgccgKtYc +BaagcWgcatgaNHaKtagNgcHcgtgtcataaaatagagacttgHYatattctaBgttt +atRatctatttagacattttNtWaaSagtaHatRtctcggatttatgtgatBtctRgggg +catWctaSVMaRtcatgKattgRcatMaHaataNcBcDcaggcactattHBgaatStata +ttcatBgMVataaSacVacKHatggttaaBKtgtaSaWMattttMacKtgaaWaaWgctg +RatgtgDacBtSaHtDgtgtMVttagatgattagagaSttgattgtSaaacagHaaatac +aRcaccBtaaDtcaMtKaaStttatKagaataaNcaaBtattKaVNaWaNactagtYatt +aaagWgHttaMcKaSagatSactctatMSagtggaYctcacKKgaSMgcRgKtgccagNM +ataatccaVgatcttHagttttcttaaccataggggcttaDtYatcgaaaMataagcaaa +tBttgHHcHagacagagaggcacWtacccMttacgtgNttattYctVaaactgttaagtK +atMagttcacaaagggatgaVNMatgcaSattatcKagtHaBtgaagBcggagtWttVaa +DaccMScactgVatccaRaSatattNtgcBatgBaaNgtcaBMgggaatgagtatRgaat +gtNttacaggcttaHaataaHSagatagtgVctattaaagggaagDWVccatcKaaaatR +ccccaSVaaatttMtatStgtWagtStMaaatBctgcctKWgttDDaSKactctaaVRta +SWcVactggaaaaNMaaaccgcacNtaVgaagcttDNgaDBtaMaMKNtKccaVtgctct +tMMYaaaaHaattcWgHcgtacatWaMaaKtaataccgBDaYRaggatatSKcScYagMt +aatKHMtaaccatgHgtagDaggtgtaaatatagaKVgccRYctcRaKBKWtgatHYcaH +gBaYtttMcatataatgaDttcatttaStgtcVSgacggtggVgtBtgacatgtaaSgtB +gatKtKtaYcatVtNattataaaHaSccHaaagctSMKattcatagcacagtgBRataac +aatMttKcWaaaaatagStcggRttaattatWaataatMaYagatgVtatccttttHaSc +gtBgagWcatgBtgcctatcgtaaWHacagtactgaattaaaaaNattRNMaSSNSctat +tcaaagccVVcatattttagMcgtattNtVBactacScattgKVtataaKtttgNaWctt +NacctagtgaNaaDcagtaWgKggaaKtacgcaaaYttatacSttgYaYttcDNagggtt +VDagHatSgtacYVatataVattataSataacgKgatVtVacHYRWttatcctaaDtgta +aDgRDttttattWtaaDttggatcattNgtVaaaVggaaggcYgSWaaattcWHcgaSaV +WaMatctMDtHBgttttaatctaWaagatatDKtVttaccgaMatRaaaBttaNagHatD +HWcDtBVttaatKtMataYttSRHHcgtaHDtggttccaaagRRtaWtVctRcaNDttat +acgatMcaatNHtacgaattBaatHtcccatctctccBtgtataYctatgtcgaaDYWtN +ggatNcacRtMaatNtKcttSYSctaDaaaggctDaStatKtataBgcVaatttggYctt +aaatgatgtHctaaccaactttgggttcMaaDattatKtVacgVcScaactSataSccHt +tYctttgtggcDtMcactaNSBtMRBMaggttWKtattaatgtKHacttcaMVatctgtt +gtccaaYNtaagttKaacttctHcgcWtYttatMBgBaMacaattaDaactNaaatSatc +VtSSgatctatgNatSYaattRatgcDgtctataagagaagRgatatttcccaataHgtt +ttWKtgaagNRtctaaBtWcHHcDgaattgaaaKtgttaaRtatgtaMaggDttcMacca +MaattDctgYctaWtStaNtgRKaBtNcMHcSttMtaKccYacgNNctttatStgVtaYt +aagttaagaBHaaStVKHatgttRVWtataMtSatgcaattcMcttatKgMcagtgaatc +YtcctNaYcttactttctcttcatggcgNcatScStBtagctWtHaaWattaccgtctcg +tBMcaaacKctcccaacttBgtWStVttMRgKcVagHttVtaagMaNatcaHttacatcY +KttDBtatgSattVcgBcBVYttHNtcatKgcYgaaSaKtatttttMtctatctaSaatt +DttcWagHSacgttagYgacWaSaDKatcNgctaatgVSctgctYgaKgKtaataggtgg +agcgtcgaaaaRYtgYWYSaatacBgacWtaNStcaattWtRcttttaaSYgttcNgtBW +WgtgaatHttttBaMcMtKccagtattttcgaHaDtSVgatgaacatgcacgtcagagDY +attBcagDctcttNcNtaaaatRctgMcDacaagtttagtcaaSSaagaaacatacaDtc +tctYgcaaacBcaagaBatgtattgacgagYacBDgttcgtgRtaMgaattttcNtgVct +tctgtctagtgtccatatctgatYatNtatVWgttacaDacaHDDagWtgataWtatcaa +BRatDRtMgVcgaaattcSMagYgWacgggtaacaaattcagcatagSgttactBctgSV +WatYcYgcBWgggRcHtataSaattBcagHgcgcctttKcttWaggctttaaDtRacBac +taaVaaKtaaacctcgcgccattactKactKSDcgacaVtatataggataKctcgSatgH +SatVcgtagtgaBtSYtgaBataatStaaccaagttcaDtHtatattaacYatattatcc +tacgagatcaccgtVSttctYgtcataaVactcgWtaVatttgttggactaaaVcaSaDt +YcgNtYtctVaMtaattatWRtWcaNtaKcaaYggatgNgaatcaatcRtcgagtHcgVg +ttataHDcatttaagttctHtcgMRHtaaagaVactBMtatgaagtaaaaaBNtataaNt +tcKcctaNttaaDtcgMacgDcaMatttgYtaaNtcaccgatgagMtgttaggWcacHtt +NgtcttHYMcaattKcagttcNcaaaacgNaaSattgKttaaBaKttatttaMggHcttt +taaRNVgttaYttttMVRtYVgRatKcgVtacgaatttccBatBgYBRtSKKctaaaatg +atatgBtcttcgtttgacHagtaattatatctgDtBttatgaDtatKtcKRcRttagatt +attagHgDNaaaKgcgMtHtttKtDtgaaaagtaMatcagaaccgaatKgtatatVaccR +aKYtDHtcSagtBgtgccWaaaggtYKcaHatDDaaattDStDtcKggtMgcMtgtHtca +aVcgtttNtagtNtgKgctaDcScgBcWSatgtatagcKgWgttgaacgagtgcgcgtKa +aaacgRtttccatatatttttMgaKagcVcVRataccWctctcgBcgaggcgttaatgaH +YtttHtaSWtagcagtttKtYaacaaataMtaNDatRgMBaBacSaataSDctgaactat +tgataaRtaVtttHatWaacWtVaHaaBDtactYtaDactttSgtKtRattgatttatat +attattataattBatagattctaacDcRMaaggttcgtcatattRVYcttKgtRcgWaat +cgaaWWatDctacaaaagaattHaatctgttttacYatKatBaccMaMaaVtcacStaaY +gYKgtttctcattatattNgSaaHtgRaBtcataKYtHtacttgtacaaaDtYtgatagN +RcYatgaStaaagactgtcWDtYaatVaNStagaaaWtaaaataDYtcaMatSVBVaaaY +agaaaattgtgcDagWSaStattttaatNcacgataNBtaattggaatgcMgacattHaa +ttctctaaMatactaBaaattacaHWgBNtNaaSattttaacHtgtagtBtcRtttSaNN +aYaMaDtatDtagaKggYgcaaSttgctactDcNRtWgtttaVtggcaaactattgSgaa +gtattatgDgcgtgtcttagcNtRctKggtMaHgaDaaagtactgtcgatttagatcagN +ggtaattaKaatgaaYaaHaattggttVaaMggatactctaBgtYHMcttccVcaaWtgt +tHHRgagttKaaagaBtaRtaaWaggttctatRatSgtatcYtaWcatgtaBtcaatcta +atRgaYYtWtccattataBacttWtcctaHaaaaggttgacgtRattKgaagcattSBtt +tctaNcSctSStNtYtWaWtgtagtcttgtctttaagNKgaagacgDaRgtNaBaVDgaa +ttggaYtaccSVYKctSKKcatagttgSttatcStactcaatSMataHcaKgatWVYtNa +cagtttBtRagYHaagtaNaaVVDgatattMaagattagcatcctaMaaMctgNtMcSaR +cgctHMttaattDtttYttcgataaagtMtaagttaWaaDcaatccKgtgMMcatBgtRt +aHBcttgtBaBggcaDcgaWttgggtaDaggtgatRtYaMWDttatcNtVcttRaKagct +RgtgcNaatctgattatagattagtatatgaataDNatcYaggKRacaatcaHcaagtta +gtKgRatRgttaagaaaatacVctaaaagtgtaagKVgcttSWaaHatagHctagtDgDt +SaVtgatcatttaNKgKHataKBctatatWaNgtttgcRaVNttaDgtcttagHYKatYa +VaBtaatgaBattaYcNtgcaBtHaacttVtccatDagVaaaYgWtNDBgacagVgctca +RtaHaaacttttacaaggaSRaaatagaagaatacccVaHatcBRtcttttaaDMHWtHg +acMtctcaagKDttctgYctctcNagaMgcgaaDWatMcMatatttDctttactaVScta +gttcaRKWgtttKRaVaaKtacaacaKttatttttggcctataaDgtcBctBDgcYYaat +NactcaaRgaRWcgattgVNcWaatctgKagDMgctatKttRatcattMaagtctaRaVa +attKctgaKtatccgaaRatcHMaaaaaagattccacgtacgaDStatatctcataggta +cgcgatgtgaaggtHYtatWagKVKgaMDcaatttWccttgKgagtctagatgaatgVRc +ctaMttgtaRaaYtRtaacWgaaaMttatcatNcgttactaaggtDaaggcagtRctcat +caatggYagccagcgaatatagtgttWtaccaRctagatttDtaaatRcDKtccHtBWgt +tctWaagccYBSgtggaaagHNttHtctaaattaBatggaDMgaBgatatcaatactcMt +aaKtcYccgatDaYgHDBaagBattWattgatttttaagaRaaggatggYggaKttaKtB +VBcttaWcttBtacctYaNYttgctgtBaaMtWtcWaagtaaggWcgMDaaNtccWMWta +tcMVgaSaRctaKtBgKWDacDgaaaaNgttcaaaaataMcttaWtatgNaVaaRataWt +gKctRatataagtgttgacgaKgaNgtaHattaaRagSgattctatgtYtcaattagBYB +atccYtgtNacHagHtacVcVacaacaccgNgBtataYaatWHSttattgctDacttgtg +HgHcMcHacagctRSDtgattaggaDHtYagatggagWtaMatcRcccacRaaaYagcag +atgatacatatttVBBcaaMtctctaWgaNtttcctaVcttaYBDBctRgSaagcNgatt +tcacgtcRDaVBttaRaggtaaggHcacttccgDBKgagaatttataaaMaRattagcVg +tttacaaagagaaaMtgDtttYttggcttataKaStacaVttBttcttgBcVaataaaga +gtgagBgcgNcNattgaaacRcactDaaccaatWMtaaHtBgaaacaaccctcMctcaaa +tctMWttggttttacttagcRtttacatRtccBttVcatgaaBacaYgagHttatWDtcc +tSatRtYggHtNMttRgNtgcatcacgacagaHgtYaSaactgaaNWVagtagttagaNg +atctgcatWYaDacataHtaWttaatHaDgactYgttcaSVtttacctaatttaDgRcag +acaDtgcYVttaagaSSKBYtgHtDtNtcgtcWttDtgtcNtgacKagcactccDMacDN +cccctWataRKcaaatttctRVaacagcaMtataaattWBctttgKgVcatttaVgtDgt +atHtgtaSctagtatagcBtBtgtatgtcgcMcgagttctacgaaBgWccgaWatgcaRt +WtaagYttaNtcWaHtgattYDatWRgRWagtRcHggNatNttWaaacaSgcaatMatga +cNgggaSatgatttcBHcctaaggWactacagaaaagctMcaaagaYtHVgtaaHKgKat +tVaWtttcctaWgaKattatgMaattBgaaagtgaSaaaWtSNBtttYataVgNatgaSg +cBaaccatattcctctagRtattatctttctMtgaRtctcYgaatDtRcHgcRVtWtaac +DtcacYatRcttNgcgaDtVctWtacHtatatgtatKaaggtaNcataKRaataacacDc +tcctWgtSaWcatcDgatatBtaatHSNBtcaataaStHtacttaYaDaMtaagMtgNaa +aaNccccgYWHaatgcBcttaBcgtMBKggccaVgacaWgaaaaaVYcRKctMgcaccWc +tcSacttcVtacgaagtYtcctttttaYgttattaataactSttRggtcVgagWRStatK +ataYcaatNMtacttcgcttVBaYRaKttaaYatacagctBgagcttcHcaatBaaaVcg +ctcacaMgttaHaggctaDtSgatattggggBgRMagtaattggattgYYHtVtcttSRY +aacttataBtNKgatVaWSDWacatVcttgttgaagScaDaSttcactaattagatKtta +McHtMgKccaYatKataMcKNgattgtYtaaRHHcaWagctgtgcYatMHaatRDgtgtt +YctatNKtSDtaKgcBttgagtKtacatgaaggcgMatDaWtcBatagtaaaatNYtSVg +VatttcaNgRtaRaaNBttggaatVgaaaaagaaggtgNtttVBgccttgtgaBtgMgta +aacBgtactWgtaacctatatggaSYattYtVgtttaagccaRtatRMcgWMgDVSNgat +aatBRccNagagStHttBgctaBagatattaacaagaggttttcDaRagtcDgtHttcat +aagaacaKBttaBgactaRatgaaDYHttgVagcMcBDgYactWgSgacBataMMcttSa +RHgcagKcgaaYaDgttcataYKcttcMWttattaaBacDcttDtttBcatVggttVHtg +tMgKcgaaVgtcgMaaHHYBMaHtaaKaDttaNgNtttttaggMcWttNaaaDaaaaact +RgaatagSVHtaataagttStccaatcHataatacMcattHtacaatttctgatggacat +atgcaaacaKBatgcagacagVcctccgcaacNatcMaHtcMtaSctgtaYgtStcBtca +tDacRggttRgagaaHatVcttYWgaDtatgYcaBKgtSWVYtttctWttHtctaYtttt +aBtcataaNgtBRaNcgttKgtgVKgggVtWatcWagttSttttttaMaRWtccgtttta +ttaHatttBVtataSctRWtgcMacaattaStBcacggaatRatactVgaagMaaagWac +aMgctaacaHctHtaatacacgaYagtcttKagcDttaKBHccgtaHaacaKVtcMKcaa +taaaNaggttSaatcatgaNaaBtacggBcaagatcRgttttHaNgtKctYatBHHtaaa +DNHtaVtVagttVacKtcYgcattcatacaaagtaacKaKKtaaNtNataaNaaSaBtag +aattctgacacNtaHtataBDttBctataatagYSctgtaHcgccgaMBaggttaMHtKg +ttactaaHaacgDatataaagcaWtgaMtttgVatcKaattcgHVNatNgDaaYtataHa +caaacaagagtatatDStgcNgcRtaaWVVaDStNgtcaaacgDttaaggNttWcaVNac +cctgaaaMcagVYVaMtBgtatacSacgSgNtaaaDtRaBSaWcNacgYaggtcaYtatt +agVStaccgatgSStMattctWtattHtHaDtatgYaatattgttttaNggttVatcttR +cgaNtHaVaStgaagactcacaaatcactgataaKBtNHtttctWWtattgactacNtaW +atataaaBaatBttgggtatYtttYtgttttVttgagtcVaMVgaatNtaaNgKMaacgt +aatattKWggcagtgRttgtgacactaaYacactggaaKaWYRgcatgcgttctBcttgg +tVaaWgtttHagtcaatctcggaNWtaatBNcaMVKStaNcMtgatataatDYMctttcg +catgcYtHtVNgStggagcBtggMgccctgtgNtVatactgcctcHcataDBtaStgNca +gaYttaMtcaYtgtagatDaagaHaaaRcRataattcaDtcaDgttgtatRaaaaYaRgt +ttDBgDcgaagcNttgcVttcacttaMgtMWaYaattcggaDcgaVtYattaBYaaaatt +aHVttttWaacDttaRaSWactcBgaRctacaVStBaaatRgaacMSaagaatagYtNct +caatagctNttaVtgctgtttgYcttaatgtgMaStactgDBagVSggtSKMYttDatgt +MaaSaVtccSRMgaaaactHaatWWtcatttctDgcMcggVtgtRtcatctttNatcaat +atYaKaaaatKWtDDDaaactaagtacRHtcKttacaataggttWcttataSaYctgctV +taaVggatcctaHVttgWtgHtWttaDHaNgaccctatatgcWtNttacctaYtttDWtt +taggHNgccatattacKggattVatatcRcggRWMtgcaVRaaHgtaataattttaggtc +tcDccaatatgSaaaagatDtaaVtYgNaHBtcaYttaaaaacagatataaagttaaaDW +ccMHMattggtaaagtccgaKtatDKaVHaBagaBatactataVttDttDaMagctctaa +DSggtttgaDacacVatcttNtgatKtVaBStatgNtgDKYcaatcataWtcNatYccgR +tcgBHacaBaatagaVtagcttgaKagcgHtttDNtgaagMttSttttgDDKRWtagtaB +gtgagtgBcaDtWtaHcctatHatttgttWgagcggDtgtRDRcaaatagcacacRtDgt +gVaWtaattRacVataBWacSYWVctgYtWDaVtaKataaacttKaaaMVHaaaaKNtaa +acttgVataaaatMaaatMaagtatcaaRtatSYRtBtaataattgtttgaWtaNNtctc +aatNaataaaaaaattgaaaattattgtgttaaYatccccHtaNcattcacttttaMgVD +taDMtcaWSgYWcSYtSgaatHtgctagaVattaBtaaaYgatattcgaaBtgaaDacac +atRaagcgggagggDMtatDttaatttggaKSNtactRMttactgtBggcgtcatNttct +attaVacgttccKtVttMacttWtctaYcacgtaVtaaRgKcttggatSYatattttgtt +acaaMgtgagagaSatattWcagDttggNtNaaYtaggaaKtYHcttgKattWagNgtaa +gHHVatYatcattaaaaaYtHgttcaaaataattatBgcaKWKtagaatagtatBagaaM +tattMagaMtHcWgYcacgttagtgtDNggctatNatRcYYHtaacMaSStattRagRcg +ataaaatWNNatgaaatttVtKcRtKtDtaaMcctccaDRcaHtBSWcYtaKttcacaaM +aataaMaactccgSgtYattDtaWctagatBtaatSgatgatHKgttgcaaaaagaScHt +gaaHRDatSagatcBcggcatcatYVaatgMaatStgNgWaaaaMttgcYaaagttSHaY +gaaatHattBgtaaMRagSaSacBaagtttttcatgttaaYcagYtgKtYctaStcaagc +gtaVattaNatWtHgtHKNDtcNaKaVaStSacaaStttagaaataatgcDSatgtaKtg +MMtcaaagtNattacMYgtgctNgVcaaNcDtaaaVtYggtaaaactgcaagaWNcaaac +ctDSaaSgVaKtctcatataMtggBtaRttKtagRcctgttaHgWRaattgDaaatttHt +accagctcagaccKaaBctaagtatWtaVagBgtttatgaHaaggattStaactWacKDV +tMHccgtacaMWYctDtagatttRctaccRagtWcWgaaaaMcagttctgacSctaaaac +tgaatcacaNcaMWtWccYgtttNaatttggttaaNtggttSattttcaacgYVccMtcg +aactBtatcYttcYDVMttcgattaKWtatttagcaatatcagWatgcRVaatgRtacWa +VVBttggatRtaNgRagttDYataacDVBcaaactttgtttgaccatagHMtRctaWcga +cagtgcVcaaVgRgtaagtRaaaattSBKacBaatcagaatgtHattcaVRtatVSSaKa +tNataWRVaaagMaacataDgataWHatcNYcMtatttggaSatttcHcgacaYcaKaaa +tattacHcSaBVatHacactaMDataaaggcacaacaSacctgtaaRgtcccaaaatWtD +tagtcaagNtttgatDacDgcagaDcWgatDaaKagctDWtttatatWgDcaaaWttStD +tKtatSagVgaaKtaacgaccgMgaSaatRRcagYtgttNDggcHScaaYDWtcaacgta +HgaStKtgMtRtaatccagtDaaacHgtacaaccHtagataNaattatcVtgaKaaNaaa +aaaaagttgMgtcRaNaacagtaKcaBgtttgaMDgDMacttattatgaDgagcgtcaca +aRaagtYaggMtaaactagaacagVaMWataggtatHagtttaaHtcagtaaatgRgcat +gRctgaMttBaaataagWVtcHctgtgtYaaaaVtKtaSaaBatMtttgttatattattc +aaBYctBWtggatBtgaggDagtgcacVataRBctaBaaaataatttttNggtccgtVaa +aaataaattBHaatBaagaHgttaagcctaatcaaatgaYtKaatYtaaggtMgaRggtW +gggNactaacgaRaaattSttWtaataaVtHgtacttNtaagHaSacgWggaYggNStcc +tgacgDcgHggtttHggtNtMtttDatNDgtgacgtatacgatKatataaacaattSaaa +gcagatKtttSagcaaMttttgaKtMtagtcRacctKSttBttaatMtgcgttacaaaga +VaataattcaSaaWcBVacYKtacaNBaaKRtRtcgWtWBaRKVtYWWWgattgBctaaa +tKaattaYtMtSBMBHDtBtaggDtcNctWYagtgSaaBaVtcttNgtcgttHtgtMtct +atKtatVggKaSaagtttattttatgtactactHtHttSMactatHcaagaattVataaa +MKNtaMccgtgatDaHcaacttRataacaNgaatcSBtatgacBcctcgggtaatWaaWt +acacaattctRVgattctatgtgtatHagatagggacVaattttDtNaWKagtatatHta +gacgaggtatgtcagtgagHccccaatNataKMBaHtcWgctagtgHaatBatSataDat +atcacccaagattttcSatKgatWtgaagtcBMataaHaaMaattatgcttWWtttcgVK +YNBattggtacttcaaMaVNcctcHatcgctVcttKatgtctctBMggacatcaggacSg +aKttgagtctKVYaaagtaaSgaaaHaWactgRattaaBttVaHtggattagRWtaaDaa +atgatttSMBWMaDactScgRYtgaVagNctgtSBataKacStHRatctVgBKaggccaR +ctaacttcYKtcaDcttgaaacBBataatacYMgWgctgtacttttatgaSaaatYcccg +attattRStccaaaBagaacaaaVtttgcttatagaaacacScccSaNtaaaaBgtaagg +cDgtSttRatMYSWatcgtaacgtStBagttaVaaaScccSggaMDBSgcaaKaggatat +acgtatgcWactccgVctNttMaYtaaatKaaatgKStaaaHaKatatgBtcctatgtVa +BggaatBcgcaatgagtatHcYagctDgtWaaccagtatWWtaRtKagatagtgKatatg +aaaggcaWgtNKaaagataWaatHaaaaaKMaaatttBtatHtctNactKtBVVagtatc +acgtMgtgttaKtaatcgaaMHtYKNcMaatgcaSaaDBaaaaagaWaDtWMgaacattt +DcatttaBaBtDttaaSMtcagcttttRWWaataattcNctactWaatNaBaattaagaa +acttYRHaccatatKtaKcNVgttYagttBtaaaaVtctcgVctagctcgSVatatagVt +McaaHRctaHStttNtcattRaatgtaRtgttaatYtaagcattgaatttaKtctaKKga +aggtcgMctttcWaagcgWaKcttcYttgtgaRaagMtDatgWgYaataKaatSWScatK +BtYgtaagagaVcacgctHStaacaSgBtgtaNRYaaWtWcKgaccDtgaWtgagMaYgV +VgBaRacYtcKgatcagttgtaKcgttgagNaStctggaatVtactaSNtaaagtaatca +attaaVaaDattHDBaHKDHctVggcaaacccKMaatVtgttacBcctStgBgMtScgaa +HcatgctMtStaVttttcDaNagtDVaatYcggaDaYtaactaNgtccaattSacaaaaR +gtagaaKgtcRSNtgatBacccttMtactatKgtaaRMagataMatgVtVKagaRagtca +gMgMaatRHNttagaagaatgggaatcHtttttSgtNgYatgtgcYtaatgDctMaaaMc +cVScgcRgKNaaagtaMtacaKaMNaBatagBttttcttttYatataNaWcagatttgMt +gaaacaBYtHaaatgtaDactatttNatttKttSattgBatSRtgKHttacgattgcggt +aaaaacHHtaNgMcgHaVDtgtagaagatBaaagDttaacSatttaatttaccagatata +attggVgaRctRtcgccVatRNtDgcagBcVaHtBaatDttatgKRKagataaRgcagta +KgagttatatcaMSagttccRcttaaatgatcttataaacaaatttcccttaBaWtagta +gttMaacMaKaaaagHatYKactttRatgtctcgattBcSagaDKtttHtBaccttNttV +ttVVtggttacgtaaBMRgatcgtctacaaNBtaVggttYaaggattccaNgRgtagBtg +taBacaagtataaatBaaatKRtaMtKHgatcgYggDSgKRaSttHStcatgtatatWac +acRacHcatYtttaacYatatgtgttNtgcSagDHgataYttNattatcVattcaaYttg +gtaRHtWtcgaBacgtttaBaccaBaatgtcgcNagaNtKtaDtgDtatgDaBtcKgtBg +atacNaccDDatttYtKggMtYNtaactgVacattaaHgMttatcgtHMNtataBtKSgc +caVttaBcttattcBaagtgaWtaRtcctDVRatgaattgatatgaWgccacDaatKaHt +ttacatNttaWNWgtacaggctacttBaYaaatatacaaaatttcgNHgMgttHctcKYc +ttgMtaacBaDVtaatttacagaRttttttagcKagtKactatMRtgtDtaattccRcaa +KSttagttttBtctatagaKaVttttgcNagtKVccttagRgWaNaKWttataDgcgaat +gMKatgatRcYtctgVagaccgcgVgactagaWaaHNtcRNRKaatactcYaNtSDKtcV +VggNgDagtttaaKRgttaDcgtNNgtcaYttggtttYtatgtaaaggattttagatatt +KMcatgYaaatcaVactcagagtRYtgtaactatagtBaDtVaWatDatctataaaSggg +tactaYaKKWagaaaaataaattatagRcaaaVataVagatatgtaggcWagacRWattc +tgacgcDtaBcYattgtaDggMatgagcgagaggctaaatVtctcagRagDtSgKNcgtV +cStacatttagNtgatSNgatcYVtHattHtBgMacRaattaHBacRcNaaccctVaaYa +attcVccatacKcttSagtctgKMNagRaNcatNgcgHattStSKYRggtcagtcaccat +tttagtMaccctggVattHaatVagaaMaattaVacatacacaaattaattacgtKtaga +aaMgatWgWccatYtagacKatctKatMcggYcgcatgHRtcStVtaatHgSaaaVagtg +aatgtgYtattaYcRagatgatcataacacSgaYaactMKttatRcgaataaMSatacNg +aMatttcggccacgaYYMcaKattRagDtRtatMVBtaattWtMHgNaWDgStaaSNggS +tcBcVYtaYagaHtacagttccMcgtYtYttcattgSWcttagttcgtHtgVRYgaMact +tBtatcaactaaaaVtDgataaDgtatcatYDttaStgccBacctaaBagttgRtaSBta +aaagWgcacBggttagcMaYatttBgtaggtRBaSagttcacgtaDaYaaaacDSaKatt +ctgtSatatgtatggVBcctctgtgaaHDKgttaRttttBMHgRMgHagtagMgacgaag +ttaatattgRtHtHttatYaaagcagatgtgattagtggcactactVattagatctctgt +ttatcattYttgatHcHttagStgatgactctDaaatcagtgttgtttttcYaaagtata +tcYcaSaacaVttcgWtatKaaaHWtRgtttaKacttctgaaNaYacctNtcStatttaa +agttKgtgatcctBcaBtctttaaaKagttgDtWctDtgtgctataKagtaNHatctagY +gatcMgtggYaagactgacacttaRaaccHgttcaYtagWtggtgBcStacaMcMHataa +aNagatactccaggagttaatcatRttttgaKNgSgcaggtgttRaYcaaataBtaDtat +HgBtatacKaataKtaggaaatatgcataaHgaKttttatMaaaNgMatYattgaatNta +tVaggtKctttHattcatttatYtattagtataYtttagYcattagaaataHtaacctta +ctcatYttHMRagttctDagNSVgcgVaNNattctVcaaVagaatttaagaggttttacR +agtagtaaaBaBaaMtaScKgVaRcNtctgtataagtatVgtDgHaYttcHYttaagatR +gtgaattctYaaaattRtcWtacDDaRatcaKtaSacaagctaNttRYagMSDKtWgWaY +NgaaaatatNtaatatHMtMWRaRacaaaatgctgctacNKaKtagttgVatDaVccatS +DtgaSggcgWatccBgaaVtgtaWttagatVaBWtacgWtaYattaaatMctDgDaaKat +ttgaaatgctWctttaHtggHaBBSRVBWtgattgagatccNcaaaHttccgVcttaDHt +NgtttaMggccVWaagattgKcaacgagtatgtccctctcttaccDtHcttcctBatcSt +VaactaatctacatgtacataacDgcgaVttataagcaaRWataattcggtMaaBccYgR +ctagatctNtBaggacMaaaNgctgttHgScgttaaVgattVDtaaNaccggatatHatK +cgataRtaMcagctattcaagagaatHcYRNgNgcaWtgagYtacttNtaagStaVVagc +tgcaaggHatgtcaWgaattKttgtcgaBcKatKKtDtRtNYNtctactatgcgatgtaa +cDtcaYgaactSHctDataKtcaagtccVRtWaaKMRtagKttaatagtggKttYtaKtV +ataWYgHBatataatcatNMRtDYaYcttgttHagRtYacgaDaaMMtcagattBVScat +tYcaataataBWaBatgDtBaKaHacagtBggaVtgtgttRtgacataaagtBtaVgtta +NaatcaSgcctgtcBBaVttctHgVttcttgttatccaatacaNtgcgctatacctcatH +tNaBMtgtagaDtKagtHatacctHgtgaDVWtatcWgtatScattactSgatcWatatD +ataRSgctHaaWataataYacgtacgtgDatHcgtaacSaaagYaMataYaactggaagt +KgattKMaatStRgtatVgttcttKSMtcataVtttaDtgttatattagWtatNaDcttg +ccHaMDttStgtctgagtRtatRSMWttaStcatattaNaDtcaatttaVatgMtcaatt +agMYWaRcNtDttcaaagMgagaVHtatYaacggttScaaccVKHaaatacWagaataac +cMatWgctDtatttgaatBtNttgaaBgagaaWcttggatcRctctaDagWBcacaatMS +tBcBWtatggtagtgaagaMKatacttaYHtNctgttHSMaWttacaSaatgtattttgg +ccatatSatcgctctttgaRRVVtDaatcSYHcSDNacattcMDaNVagatctSctBcat +agtggHagaVtgtSactctSHaMaWtgtatcattWtacgaaHatatBaaSaYacagtaaa +agtVacatKtatatataVtagcgWccacagctcaaccttRtatNactMtcattaaatttN +aaggctgYctctacatcaVgcMHaagaBttcgYDaSRtHgaaaNcaWYBggataatBact +gaataYgcgtaacccactHataagaaWgcgRacccagagaVtataggcttNtaaaaHata +catttttYYatHattgaatgtNcttatNaVcaaRtKctcgaaWctDttttataaatgata +gcgSttcVtgatataaataataBgaatgaRacgagtaRctttaactattNagtcagtgtg +aSgaHRacgVtggRccatttatgtMtattaNatgttaaatRaBRttcatcttaRBtNtaN +SWgtVSgcNacBtWaDgaaNBMgagaBMgaHaHagatttctNtWatcaaaaDgtgcaaWa +ataBattaNtatgDaMaWDataNtctatDagatSWctctggaccatcaBgtatattaaHa +cHgattcgatgtRtaYattactNtWgaaRgcgDaatactgWcKaMacRSaSaacDgtgSg +SRaagNtKttattcattaagtctgtctctataaVgctHKttgVtgacgattgRYcatccW +cMtaBagaHacaaaDaaaRVgcacatgatYaatatttMttaaWBtctcgaNcWDtttcag +YKattaRtttagHcKaacaBcaggtaacctaHtaMtttaHacctVacctaaagtcacttt +cWcaatggatSaataHattacaMggtgaaWaacagaaattgttggRggcgattatWtaKt +ScWKggtttcttgtcMaRgYYacacggagtgccDcDattcaaacHaacttSScaaStMtt +aYtgtcWaaaaaaaataBataWaatatBNttcgttgtVatgacaHtgtacatHtaatgtK +catgSatacVRcVctttagNttaatKYgHtRccttDBggHgDtgaatcaagacacWtcgR +WKaactgRaDNMactactgacaDgVgatcaagNRatacagattSMttaattYtgWctRgt +taaKMgggaaataagttatgHaScYaattccRMggSagaKKttRggtttgDtcgtcMttt +tggaDgcVctYcaaataattSctDaccatNataDtaaaWtttagHMSSaagaaBgatYaa +ggNtagtgctcMaatttWMggtctatttggaKagaggatWcatttgctatcgcccBacac +ttataagaYtcNcagaNatcaYHgNgaacRgtaDgaNYttcattRtagNDcHNVcgDctg +gDatDtgNaaaaaHgaYagtRtcaaDcgcaKatcagttattcataaccNaatacacaaYW +catBaaaacaRttMgtaattctWttMaMtttccgaNcatVtgatcBaRtttgSaactcaK +YaaNtKDttttRagaMcDYgcaKcataVaaagattcatatWcHtagtagatttctBtcWH +tctaRgaSttgHatgaHMtNtaactgaaaNWtDctgDcacattMctNgWattatatctSt +taScctaDaatatDYataaaaatataatNctKaNaatatcSgagttaagtKDttaaStaa +HtttaatgaRataBtaVcBtcDWWaaDaacacRNtaVggatattatagtBttggcaaKca +cRNgaaYaaMRaHtatBcaaacNataKacttaMtaacaacgRtaattgggaRcttagtWa +taactKttDccgaMcacNHKtattStaRcSStDttacggagagtMtaNHatttWRNVgaa +acattcScatgctaVSttaRaMagatcScaBggtatacgatVttKcVtagtgccgtcDta +gtRagggcagggRRttKtcgtKDRaaatgatVttDtcatMaNKtNacagMattgttcaac +KaatYKttaactaatgagattttaBattBctcaaRWgtYtYBatDcattggRtaaHttca +NagagctcaRatBtaagHtctcttRatagBttHtgatgattgcRcgtgSaagcYaccacB +WgtaNtctagacgaaSatBNtHMcKagttaaDcHtaDaaDtttccaatMcaSaaacWWgg +tgDtgtMtcacggcgcWttcBctaaVatggaagNgtaacctagatggYKRVttRtMcgtt +aagccaHgatHBcgNtctMKDcYtaVttHaaDWcYcKtttttgatatacataggaaaaac +WgctgttatWHaggatcgtggcataagaaaWtttgatcaagaDatgaWtRtttgMagcBa +ttcNaatNcKgaatatWBBcttKVHtgcagtagaYRatcggaagaRtattaBNttattaa +taatatgtttttaagMggggMttctBgtcgaaMctcctaVttRtBattaatattgVDcDt +ggtgaccBaNttDWaVtaaaaactHcaVtacKMtgaataacggHtaaaatatataYtacB +cattttSaaSttgatcatccacatatgcYaVcattatcaagacYcMaataagaWWcBata +BattcBtaKatgtaRgtKgattaSttYaHcgttHcacaatatKatgRMgatgatgRaatt +ctKNMRtggatNttttagYRtgtgYttaataaDcttHaDcctttgggMtcgcMgNYtcNa +cttKtttttgYBaHMgcccgggtWttatVttttMtVgaHagDNtccBVaaagtaKttaaa +cgaYgHagVatMgaacBaSacNaaaBcagaaaatatttaYgaaSccaRacgctgtYcctt +tStttaacgatVWaatKtaBtaaataVaBVcctgKaatcaggaDYatgVcgctaaacVtc +HctggttaDggtatRatttttaaatDttaMtMaggtMaattaRcaaggaatVaaaactSR +ctatttWaDtBataaBaaKattScSVgtatcWaaaBtattVtatttttatYtaatacRKc +gcgYtccaacVBtagcttYBtgtgttaataataWactatataaVccaNtcaBtttcMaga +taatgactMBatBctaaRtatataaaaaaRacagtatYgtHgcaDgaHtaaNMMStKtDg +taaaaactgtaaccBttMaaMDVaaaggaVatcScMRMaBttctSgacKaccKcDgaWat +tHVtKaNcDaagRSgcgcaRgagtacMKtWaacRtcKKtBYgtagNtatgtttVttatcR +aWtattcgtttaDccttMVtatgHagaBgtaMWKtcVagaagcaaaaStaaatgagaWtt +tDttttagNMgVttcWagacDgaMatataaataagtttgcctatRtttNtcttggMtggV +cgaMaBMgaatDtVaDgttaaacgaagVtttNccaagtgHgtgtcScaataaRYaactgc +VWtaNRDccSggagttattatgcctMaaNcgtttVgtcaatctaccaDMtaattBaatMt +KgaDcBggatVtaattRBattgcccatgaNtttMDcKtgcaccttccBccaatctgDgMS +gaagcactctaWtattgaHgcDaagVRgtaBtaaRtgtYcYttaagataaaHaHataatt +aattaStcttcgatHWaaRRSHctggttgtccaacaDttcaKggcVcgtSBctBNaRaat +tcgcatagaMtNattStRSaaattVtMtgttNYaatgtaHaKNSagatcaHctaaaKKgt +aYatDgaaaBKSacaatacRgDctaSagVcagDgtYMtcatcgttcRatgaatgtcBSKt +SagcttagKKccgHtBRgttStgtBaaKaMtaaKHBgaVaVattaatNNgcattgagtca +BaggMgctHtaatatttDatcWatagRatVaaattNttttaaVctYagtRaHttatttaa +aVtaccgtNattataKSRcgcagMgaaMccagaatatMgtgNtcttNtgattaBgaaaag +atWtccNtDggaaagaNttttNtttSggtDcaaagagtactccattMatataHcgcHMBt +gaaKHSYtctaVtaattgtacctctctaaaVtatgKaWaacagttYaMtNgDYtttcYRt +gYaWaaaacagataaacgtaVatNaaBtBattcctWaaggcacatgWtttaMtVtagata +tacgataMtttggtVBagatctRatKggttgcYtacSaMStattBgcatttKatKtVgcD +gcttNaaataatWNtaDStRaacHtacttacataatacaMtYgcggcatYcactttttDt +caacBtgHttggctttHNtRcgatctcactctcattMtatccgattaggtgggNgagacg +ttctDtHcaaatacaVaaaHttctcMaNtaattHWaMYgatNacKNNMatcRtNtYMgVt +ataaaatttaaaBMtaaaatBtaaacttgMataaaagBaaatBVactagaaaHtWtKRHt +tgaatVattctttgaNgaDDtatcVWtDaataaaVaaatgcaYaaggatgggcttaaRat +aaacttVDcattcaattgtaBcMtgYtBtcaMKcRNaKRtKcaatttgatWgaMagtWtg +YVaRcagattacaWttgaataaaaWgHaagacggYccctBtWttttYVtttggatKBtVa +gHBgtaatgttcgaggaWtDtgatattaMaagttcattMtttWcgtNgcgaRcaactaMg +aVHctctgcgagKRatWtggtcgtWaaaBctcScVcaHatattNcactttccBtDaaNtY +ggaattRtcggctaggNVgDcgaacttMatNagaagtaaRaaRttggtaVSaagaattat +tcaatNttWcaWtaggattScaStgattBagVBttaNcNaSagttagtcttDccctatBa +tHaRRttaacBYKKtattHVcHagStaSaatNDDatcSaVgtgMttaHttgttaataatc +aYtDcatttHNaRgWtgtaYcaaBaagaatYaagaccKggRattttaNcgacStttaatK +cVtcYtttcggcaaaSYacaKattgSatHtWtKVcagatccccStaatRMaatgtaatKt +cDgNaYaaBttccRaaacttHtaRcaaagtatgtctaaBDVcKSKVatSagtggttaatc +ttaVNaagRtctgRataKgcaagactSKattaBatNttggttDtgcDataKaKgKacaWH +gttScVaagaWtcatHagcgattcBBtcWaactBatgacBRctgatDcMaaVDattWaaK +tRcctYVYacggaaagVNBaaaaaattKYaKcMatgagcatStaBtcctgaHgtttacHa +cgcttatgNHWatgctWWattttgYaaacctaacYcataVtagVagtVtNgaMagtcgtt +atcYtaagcatgKgaaagNSattKtttaaggacaBNRatttacatttHctaaaHactNcN +caaaYBcacggctcaaHagaaSaagcaWtcaaaDaaBNtNacRgtttBSVtttccttaaD +gcctgKSttgtcaaacNMcaBtagaWatttVgcRtgaRtMttgccVttatNtatggacaa +agWgcacNatcaDMaWtcHgaaNaMMtttgcatHtYDcDactttRYtaaatMtaVaaatt +ggtgtcaacatVctBtHctYNacaaactcaMaaaMcHgtaactHaaWattKttactYata +agaYgcttattaWMDgStMKKatatDataNHMaSagBaaaVtYtgVtaNtataDRcBtag +ttcgVKagggatacaaSRaataaatagtaataKatMattVaSatSBtagVaYccaaaYac +aKSactctaaHctaaaSaaagNttgactaSacDtttcattVctccagYtcNcagtWatac +attNgttagagNctaYaYNttKgttttatKacMgRatgaaacVccgtcaKaatHHcacRt +gtgDtccatHaaaRtNgcaSagtStgWKtttgBtHtSagaaacgtaSaatctacWaaatt +agagaDaWgtataMtgataaDaaaaaaaagttcBggaHaDWWcYctYtcatctttcaBtc +tBaattattagcatgWcacgcaaaaDaactRVccBtaWaatYcVVcacMatNatacctSg +tWgtttaattcactaaagcHgaatcHatcaBtgtaWatSScMMgctatctctRaaaWMgt +taKaatagBtttcttagaggVttcaatRattNtccatttcagctactccacMatSHtaga +taaaWgaagtttgDcctaagtMaaaYagaaattttVattRacatctgaaccataYtcaaa +tcaRttaStRgSacctBcaHcgtMcccBaagaaagaDaaattKttNtaataaMgtctYct +tDgaactaKaacNgcaRccDKtcatgaagtactcgtgttcctBtBtgttatDtctgaact +ataacagtagStaaaaaatgHaaacaacYgtgtgHacaaattgttcSttBtVctaHaact +tKtttttWatBtcccttaaVaacaMaagaattcaKaSNatMScRtgaaaDtSStDtHtac +NtNtaHtMtNMNNcWtgctctaaWttaattaNtttKtBttttttagcttcDagMNagtcK +WatVMgcttBcgccttttgtBtatatttYtMgctaKaacttgattttatctaatRagttt +ggKBSatagtaVVcaattMataaSBtDtaBaactgSgtatcaactgHataacaDcaRtcK +ttatgaatcatacgcgaagNYaNgaaacaattatHMgYgtagatctctWttacatVgcgR +cMaagttgttDaNtScgStWgtgacaacacggVgcgaSctcactcaaaaYtDatatBtat +taNgatactctaagtWtKSgYtatataaaaaYagaggttaKagtcYtNtgaagtctBWga +WtaaBaattStcatgNNtttagMtRDtWttgctYattcVSBaMDcagatVgccatMattt +atctatcgtBgcScYtaaccaaHcattgcagtcttMNVaactWWKcaaataNaatgHatg +aatgtMStgccattacHNgVataaYtgaggtKttNBVtYagKacHRggYMacDatcgKta +tVtWaKgtHatatMgttScgaaVHagaaattaNttaatatgcaaacttWgRagaaRBcNc +atctaagtggatgVKaaVgNcaccagtatgHKgacaWatYcSacaRaMgttgcttatVca +aWcVaKaaaKaDtaaaatcgVaccatcgKgtDagBNKNatccgaacgtKgtYctgaKaaS +KcccKgcVtttKcaaYtagcagatVcctVtgaMYctaccMcgDtgBaRtaaattaaagct +KtaaatatatVgctgaatatctMatccaattacaSYgcactWttaRacattgtNaYcaac +tatNNtaHttYcStactctatatcWSaccaVNctBtaaagataNaagtaaaaStBaaVtg +gttatttagDScttttMMWctagcaactBctcttattSatacSatttRtBataatcaaKV +SttaaaaacaNattMBcaacagtttcVtttatatttgtaaKBgcacattttHNNaVtWag +gaDataatNaWtBataattVacWaaattRHtacaSgWtttataDMcttRScttttaaaaM +gatacMatYccgacKMagVtWcMtBaaatDatatHtttDtaattHaatctaHgcgtaagR +gWaccattgaStttattctattcVacctccBcgttaNaacagNWtagtaNgtctgaHaac +BgtatgMcRVatataatKNKaagtttRgtaYcYcaMaaagattKgaaaaKcttgtaBHNa +WNgMatcacctgcaMggScBaRgMMctaDaaRgctcYtaacgtgtatacttcacDaKtat +gcaatMtactaHDtaaVcgaagaaaggVaMaatYtttttattttatMggaVYVaaatBaa +tMgctgWctaagKtctgBtKacaataYtgctBgKgaMtgtgataBagttMaagRcccVtS +NtaWcgVDctcaSSttKaaaaVaDctacYatctcHHDtgattaaccttttYatattcgaa +HBagWgYtSgcMtMtagaHactaSgBgBSatHtDttagaacSatcccaYtatttgtgKcg +DcRatctccNtaagctagBVWaBaaMHacaHctDVaWgtaBtaaStVtDYtatacttgtt +cttggNYtatWBSNcagatttgBtcVaacVtRgtYaatctatSatagttDatgttgtKag +tctagKHtcttttaccattcccctaaaaSatttaDgBactaMttctVcaacVgtaSYctt +gYaaKaggtaWttgaaaYgagataatgccMgSHatHtacaaMatHDttcaagtaMatgta +agtgtaggtDtacStVaHcaactatgagttatataaBHagggccHagtaaagcRgcttag +YaaaaaagttaaattatYNtYctagtttaacBataaWactVtRtaatgtHatctagacat +ttaKagStttgttttaaagtDttMtgMKgcgttaactaVttHcatccgctaaaaDttSMc +cttNaaccattacaBcHctVcttctYtaaSSctVtRVattaaagtHtaBgttcatacRcc +tKctHVHgttKtcatctatagNSaacHVatcVgRtgtaaaRatYtcgggtBtgcKacttg +ataRttDattatcMaggcWWRttccgaHttNtacYtYactgtatWaaWtaaggtacaDac +aDgttStgcttatctattatgttgStaaDaaattagttRgtgcBgRDtaWaggMaaVttV +RtcBttatcgttBDgVgatttKgaaaMttatatgattataWctcWMgaHgaattMDatgV +agtgatatcaNcaaaataSttattttaaatDgtaNDNggaaacgataatttaRaaatata +aaVaagttacDtgtggttctatRatgcBtaVatVtMtaYtttaaYgaHttgttgagctac +ttaatatBHtctttaagtcaHaWYtKttacttgtttatagacataMgttgcaBVcttMac +ttYcHcNaDatNttagatcagaatcttatcatHaNtatcMagYaacacMcaatacaNRat +DtaHDHtSYgaatcRaBtKttgaMKgcDgtacgtgYatHcggatactDDctaVRgtgctt +tRtatgtaaaccagtttacVtatttBcatcRaaYgcaMaagaacSctHRtctaWatatac +gtattKaNagtagatataaWKcgggacgaRWttNacaaaaagaaatgatacDaaaaMata +KacatVgcgVcgcNacaaHNattaggaacattYtcRYtggtatccBatcaccgacaccag +aaagMgataacHRgttKctDaggMaKtaaatttScBtcagKBgYtaRKttagttttcBaa +HYatgattaaDaDVacaagKaaRYattaMaaagVatattKactatcttDacHaDaatBca +ctattKtKtRHggtaSctaaaaagtttaggBScaatcgMStttaatKacaVBSattaKaa +agacacaaagtaattWactttacWaaBgYtMcMccagRtacaatatcttatBacgNagaR +tctHgaKtMgaattcKYaaMacgcaatctcNgYgtYRaHagYtcVgaagaacacKgaRaa +cgBtttagDcgaWgaYtKataaDcaBatttccgaaaacaRRBaVtRtgHacttHgagtMt +tWattMtBtgDaNtgKtaaKDccKgctaMRtaNacattacWcttacBacgRtRttaYggc +KNattagtgactttcKHNcWBYagttgataaYagaWaSMttgataatctataatRtggaK +tcactWaataatYgtgcHgYKttaaaacNcaSatgcggacaBaRattttcgacctHtaKY +gttaaactataRaaSactKatSggatgtKYtatctYggcMtactatgtgaWtttctgYDt +tggtBtcHBctactacBcVacaagtgaatSttcHttttttatRYYaccagatctgatgac +gcccVataagMaggWgYtatctgtgtatcWttRttcattattgYcHtgatcVatcttVSa +taactgtgcgtgtgaRWaacgatSgaNaVKaaaaMttccNtWgtVaatNtHgttgatVct +tatcaaDaRScagDtaKtatttYaSctttctcatccttaattagttaaatactgctgNct +tgctcatatatactaDtagctagRcataBcgccRaacaagcacaagtaHYaaatgttaaR +gacNgccgctcKtacataBtWtaaaDagagactacaccacggaagcStHgggtcatDcKc +aacctctgDVRaYaatattWttattcttataatWatattaccYaagWtgaataatgattt +gtatBYSaDctatRattgaatDgWtMacggtattttRgtaagtgWtRtagtSctVtaRgt +tScRcattacYYatattaRaaggaataagRtttBHaggtattacBHMcacKaDDagtatM +aaSMacaSggtVVgacctgttaaHagtactaaatYtSSBgaKatcMVHcDtatgtagaVg +tWtMcttctYRtgctRtgaacatDctcRaggatRaaVWtgHtaMgaattaHataStgaKR +aVacataDtgDRagBHttgNcNaRDcaaSagStDgaStattBtBNHRHacaYaatcagca +tacDtattWctgcMattaMaaWgKttgRKgcacNYtcatcaaKtctaNtgacatMatMgY +agNtaRWtgaaatBattctaStYgttcSYatcctMagtgatgcgtattKHKtNtcattca +catccDaaWattgcacMattattgDcttgaBgccaMNaacattctcaacgaggagctaac +tagattWaatgtagtcagtYtcKtMVSagWagataaatgtaaVtaSatcccVMttataac +aVWHNataWtgccggBVYtacRgHatagVtctDttaccaataSaDgcggtttcKaggtaa +McatgMttaaDacaccagYgtattacWgaDtaBaacctatgaWagacaYttcRHDgDgaa +MtcagRtaattDtaagKtYMMacagcaYacgtWtctcaNcaagttttctacVtatagttg +ttDgDRDtatScgatgcgagggSacttcaNcVaatKtattRtWttaVagtaaMDtMaatt +HtagtttaSgWctcctggNgatgMataNRcttatataatcVtDBHgtNaRatgctttacH +tRacgYtYaBBtaScWtttMKcStgRcaSgaagatNVtagctgtatVtaaagttcgWMtg +tcgtHtcacSgaaWcgttaMcttWDWataVKcaatctattaKgtattcMttattcgtatc +aaatacaDtcacatatVaatcSgtgDatBtgtagatgtagttataaagtctcatMNgata +NgtagKcatgaagKcYgcNYtVttYtaHKcattaaMagaataRWacgSactctWgtcgta +aaKaWagRaBataRSVatccYacttcaggtBVatKtHctatMcttctgtHttcataMgtt +attcttRtYttagNtVtDatattgcatYBtggKtctatcYctDtagHKBNttYKtcWtRg +taDatgaaStgtaMagcBgaaagtSctRNaHcDgtttcYaacBcagaMttatRaVacgtt +KaaaacMttaWSgWcNRcaVgSaaaBatNcatttatttgYatttDgtcaatgagaYNatt +ggagcDagagatacNtaacaWtBHgtatNtaggctaggcaacYBtatWctgaRttDatcg +ttKtaNtgaaaHaYtcgattgtgccaagagKatcgatatttcaDHMMttVagaKRtaKtD +acYgtcBtaDMacagatHcttcagactcgtagaMggtKSctagKtaBYMggtagcStgNg +aacaatSgattaaKWNaaYggaaaacgMaaattgatagagaMtacacNacacSgagcYVa +attHgatDWatBtaattaaYttgDaacgctcRatatacVtcaMgcBtaagattgcgNtaH +DgtcaaaDcYMRtgcataVgtaatcaagaRccctYWccaacttagaagaaNgccHWaaaa +cacaMgatScgatgDtWaaVtatacatggtgRNattattcaatctBcttatDaMcaaHtt +atacaaNcttgtttagSSatgatacccKttaMtcatWgaVataatatgYYtcaHaacact +WHatttVYatatgDactaaggcgcaKcatHaccMtccHcaatgtWtctttatgWDatctg +WaagHVtDggaagagtYHttBgaDKMctMHccDaattMatcaaBtBcagatBcatataga +tttatDtNatcaaaatctgaaSNaagatagtVBtagctaBVNtStWBgctagtYgatHNa +tatgcWacWtaYtctatatgaatactcattagatcgHgaRattaatDtNcaaDgactSat +actgNataBYaHKaKaactctcHcKHRagDttgtYgtaattaactagctatatataaKca +ttttgcKtcaacSttgHRaagacNaBtatacataaaaataVWHMcaYcagcagRaagagt +tBttaaMtgatacSDaNtttgaagRtattaHtttagtatYaaatcaccgaYaatattWBt +ttataactMYactaaactaaatttcNcVatgcVgKVatatattaaatccggaaNaacaca +SatgcttgcHccacatgatNtatgKaNtgctggagtctataHcRRScSagcactcaatat +aggaaYaataaagtKKaaaKtBttYRtgtcNVVaaaaaatatagaNaSgattDtgacgtc +tMatcaaatggtSaYtttaatcttaagcKataaMDaMctgtYcDtgaattRctgHaatgt +tggtcttcaataWacaaYaNtacHNtVWagcHWtBBYagSagcaaatcKgataaSgDHat +aaacattKBttWagtRtcNagHcttaatBccgaaatVacggStctaKaRaVtgcaHBcgK +VcattttHgctttgtgacgaBttttccatccMatRcaVataattKattaaaagDatVtta +SRMggtacttKHaacaatgagRaWcgDtaggcataBaVgttNBcgtagSttgccYtacWc +gagNaatttgctagagacatacaaggataacWRtcDaacSDStcaRtcDcaaaHgtatca +DRtgcagtDtacBtatDMagtatcctagtgcDaSaaRtcaRactHgaaatccaRtWgaac +ttattaataScaDaatYaaaWaRNcagtaaaYcaHttBctaattctNggBYBtggaacaD +aatKgcagataHtgtcKaWctaVtNWYBgttttgtHScaBctRccataataMaaacatga +atatNatgagtWgatggattgaNttataHcSKttgtatcatBtDtaWatcaWaDNgtagc +taaaWttBatDgMatgagatctKttaHactataSgattRataYaYatagaatDagtaDaa +gatcKcYgtgWSgtttttaYKtSatttgYatgYHStattaKcttatNNSataaaacHBta +KgcataggYtacgtttccaaVtaVaHDcaWRYSBHattattcaaaaBatataaggaBtaa +caYcgHgaatgcggYHagtactNagaaatttttacgaBcaaBttgagtKtYHaKKgttga +acgacacgBtWDtSttgNHDMgaaaaattcKcatgataMKttVHVBacataKaatcggWt +accagMtttcKgScgcaactattVctHScccaacccHDtgttacgttHVaatcVgMtgtt +catBWBttDaaactattcttaaactaYtRtgtaWataWggacVgtggWtatgtataaaHN +ctRgRtattaagtcgHgWStttaWDacacatcaHatttVacttagcgtHagagttgttca +tcatgcaHcgtcKaagaRRacaatNgtYDtatVgYccaYKVttDttBctYcttaWtatgY +taVttttacVatBaYKSSVaNNccgctgctBtcaagcacaNttctataYMatccWacBcg +VaaatagWgccRtHMttHgBacttYScaaVtgSgttacBtctBttaRtSMgttaatNaRa +tgttgtcatVtaaYgVgcVaaYSaNcagcttatNtacgatagtcgaVtaacYVaMttgga +taaagatStcaNtDttgcBacatattaDWatDatcaatatNttagttMttcaactacaRH +YtcggaacVHtaggatDggStgSWtVatagctgtttaagBcccgBtgcgtctacYaBata +ctYMttHttVttaWtSttgKtcttcgtgacctaDtttMYMtaaaaaattcaMgWatBtgW +WtaScccttaaVVgatagaRtYataatttgKaVHtgcataYtaaaaagStcaRaMaattW +gcaacaaRaBaataacaMNatagatattatgWtagcgVHcgtcatgaHgtRatcctgtcS +aaatWgtatcHBcatcatcHaattattDBHggcatBtgttagNDggtcRttaataVtctt +tStaaggtcccBtccaBgBRgaDaatttgtttgcNtatBgaaaggcgNttatMtggtBgM +gatactDtcatMaaWctatttaaaacYNgtSgMatBcSactaKYaDVaVtcagaaaStag +ttYRcaaKacaHaacagctNcatttKtttaaacWtMNaatttattaaVgaMStMcagcta +WgaSccatNatgMacataWaaMtataggcgtatcctagHatttttVaattttSBttScgt +BSatgaHcaacgaVtMaaaactKHatatttNWtttataWtaatVttKaKMggatcMaaat +tattMgatttgtatRtaVgaaDtacacRtaaaaaMttScaggRttgtcttSatYWtVMac +tagatVaMaaaDtaattttaBWcataaggaatBtRgtctaWDtagWtaaWYSaHaaacga +tRcttgcatcattaSDBBKttttctaYSaactcgYacatttBaattKaaaccaMStaHat +HtatgtctKcWataactctcVNYtttMttaDatSacDKcacaaHgaggaaBtgNaaaHta +ttgtRcgacDtYtctttMttatcDaNgattagtttYtaattBMtaggtacatgtYBNttc +MacaagaaaaaKgaaatcacaNttgtttttagDBcMgtaNacSatcWBWtataVatYagt +ttccatatHtttDtcgtggBggcKacaBWtBcaattgMatcttaVaacVYgMgttDcaaa +ctctctcgcHaSatYVHRaaatccMMtaDHtaaKccactgattatccatBYVDacgttMc +taaVtatacaatBgaagttaattttgatatgcatKgaYttHtatggaaaatcaDtttBta +tgccacattactcaaagctctcBKcaagcaatataNtattcVtcataacMHgtattaaDt +ctNaNttYWcWtaVatatataWgtaWtgaHtattcgagtMVaHDHtatgcttctaaWYaa +tttaatccaMactKtcgtDaDVWttaccVtacYBgDattKtHKSVStgMtBgcgtDRSat +ggatatDKacataWtatWaVttctSRWgtcaWattKaaYWtYaHctataKacMaagtctR +ttaatcgtgaHaggYWtcgatKttKaccttacttccgtttHcgtKtcttaatSBgaattt +cVKaMattVSgDDcaattcagtcataccBccgtgaVtaggttYgaNagYcHatMYaattD +gtttaaMagRactHattgatttaaSKtSccggBattatatKDacaacBgVWBaaacaaga +ttgtcDtcttBgcattatcaaaacagNtaaDgtggVaacYDgtttDtggKccttaaaWca +cgSatacaggtagVgatacctBttcaattKRtctaMgSattgtacctatataaaMgVtct +YMYYcacttRaBgDctRtttaRHgcRSMVaaaaacagaYaagtaMatDaatttaggcctN +aacgaaaatgNtttaBtMtScVtVtSacStaBggtggtKtRcatagHattcctggaRtaa +KaBKtagttgaattgtatttMcatgcttDaWYtaVtNDgatKtHaaattaattaaStaag +WaaBtNcaccaatRcacttgttttcaaattctggcccttttBgHccatcgaWctataStt +BgataacagtacggcccDcScaactgattttaSWYtaaaMaVatttagctaBgSaggtNa +BRgStDaatDBtatcHgDtRtgMtStWaYaggtaYatBtaWaattgaaYattcBVtaVSa +ctWaWgtKaatagaaatgNttHtgtcaatMattcggtcaDcVttgataMNttYVgSSYMW +aVtgcaRaaccYtgccattaaHVgaaaattMtaSgtaYaggctataBtcRtttaaBtcHD +atDgtaaVttgcagNcatWggNtgRMaDcYgYttacWNtgcaWtaaVaNctVacaaccRc +acttgMttgtRMtgtccatttgKagttctVagcttccaccaNgtgcatRgtSBaacggaa +ttttttNagtDcagaHaaaatStcaMtctagcacactHWtNtgctcgtNaWatataKcMc +WtagaggDaVatttaatttYSDgRccWattHtaggctaccDMctacVaattBYtDacaYc +tWaHaaHttcggaMKaacSagtattaaatDttNaVNtacgVttKaaHtgagttWcKtgta +DcDaKacgtactctttacatSgtagtaHHtgaaatRtttagttMctacKgaKaatBttat +aKWMcggtttatgtgtgaStaagaaRttaVtgttBaHgNtggaRaWataacaWtRWacaa +ctcgHWttttaDagScKgtgSagtcMgaRgttacccaaaKRaaatattcKatttNgtMaV +cataccaKgaWgHBWagctaagttatcDaRVVtggaaHSVacggttaHaWWagtSgctct +VattKctKtMatHWcgccttaYtagtaKDaVcHtctgHagatcaSacaatKtatgatagD +gtcgttttgatVtatStctYaYNtgtgKaKaVcVNgaattWccgattcttgaMaRattRg +caatHctcattaBaaMtattNSSttHcagRKRaaccaYacMDtaYaaaatttRataBVtc +acaagKtatgcctcatcgtgWataagcgtatcDtNagcatNNatgttcRaaScagaaaRa +ataMtacMSctKtDgaBactaggtWgcRtaWcaYtgtgWaagDKattttttaaccaaatD +HattgacSttttatWaataatDaDaaaaRtaYaggagcYatacYaKaagaaNtaaaYtaV +tDtBaaDcgtttKMtggcagtVatgccggtHgtgtaVaacDBaattacaNatttMgaDgc +aDtttggaaMgtYtDtSgccaaaaYcNgaacDVgcattaNgatgaaDaBBttgccatttR +tctaatgtHNtaaatBtaMaVattcctggaaaaatMattgtagRDacaaacgaataWSBc +tctYVcgtSaMStgtttSatNagaacaRcagtatgaNBtcKgBttRtattVtaBtBaKac +taWaMgRtcMtaDtYtatHattScggacMtaggcataaWaKHaataaagYcgWatatStB +attKaKagKttacMaRacaSaRaaWtKaatagSatcgaaaKaaVcDttcVcgaKVattgg +aYgtMataaacRtaDaactNatYcagtDgttagacBataRYRDgttcttttattacBcHa +tgaRacMaactcatVVtttaaaHgctgttcaattaVaHtDcaYKacgKtcNtttgctttg +HWcaaSactWKSatcgYaNVaattacRcatVNgtagatgcatYatVaaYWaSactgatcc +atatNMaNagNtaatcgttaSttattWattaggagaatcNaaccaaaWatRaatHMaatt +aNWatRaMKaWctWtDataaagHctMctttRSttaacgaSWcatcaVgatataattgtWM +agKKaBBgatatctcgHSaaNBctgVtaStagtttgaggSgagcKttaaatHattDtaaa +ttgaacatactaaWaBYtKttacWtaaVNcWacgttctcctaactBaaSRagaaatgttK +VgtHacatctcaScaataNgaaVagaaHttaKgHgKaccgtcYtcctBccataagaSaca +taaaggtttDtVStaVBgtcgNatgtgaVctatWaaDccWHcctttaatcWactaatact +cttacttgttcttatttatcaaagatWacYctacKtaSaaaStgtWaVcaYaRctgggtS +aaaWtgctgcHtttgMcgatSaagttgttttNattgaacttaaKaYcSBSacWattaata +KDattKaHtgaaattKKttttgacDtDtattttDBDDcMgcatagaVNttaWtgaDttgt +tttttttgacattatagBDacgatNatMBcaggtacaatgtgctttatatttRgBcctVt +YVctgcatgtgatataatHagtttccttHatagtaMMaaWggBataaKtttgataaagcK +gtVtaaaatgtatWWaataaHgatttYtcWataataacagaacDRWDgWaWaaaggattB +cRctacYtagctNgtScagMcccHaBaYgtgctgtSDtHacKtNgtgacaaaacccMcac +aKctcactaaaaaNgtagWtttYtgaDcatWctataVctNttKgRtatataYaaaRacag +gttatagtcRgDgcaYctattNcaNtVatYattKgaaggBDtttacttHttNtgcatRat +gaMHtRBtaagatMcacatBatgtStctagacttccKaRgaWccRataVtggaScgattt +DMaaatNNtcYaYtaDaatctatgaVtctBKtgccYgtWatDcMYtaaRtcVgcttttDt +MtRagtactHccRBWatatccttatMtNatgttagagBcttKacaaMtagaaattaDtta +atatgaaaRattNcHSgaaHtaDcagctYacgccagcMtaaMgDaaaaaggatcttcaaV +NatRcKVaaHRBctgcattatMaWaNaKataaatatgWaaatcgMaaaatcctgttactD +tDagaccYWacttctRatgataaKtaaatcaMttttcaaRtScaWgatMactMtcaBNat +aaaBactggtWHtYaattaWacattgaaVtYtSgMcatgaatYgattatacaYttaaaKR +gaVagNgtaHWaattcgDaRaaacgVtBDtStttRaKgVagatatWtcMKaaaaMDattt +aaYcataDYagtaaaaKttVWMggctgVgtgagtKagtgtBBNctacaaacttagattSt +tHagacKVttgHttatSataaWtMHttSaSaaaaDatgBtaYaaaggttaMttgVtVttt +ctaattgaacaggtttDDVMtNSgcatataagDaNttatSVttMScNaaattDttYaaHc +NgttatatBatgDKctttgVVaaBgataaBatRaagactBYgMgNaBttaaattagattt +ttttaVgttaYtatVtccgtaagDcNVcaWtgcaKgggYtgagattaMaaagaatagtga +BaVcacBNtagtaDctctcVtaSctgtagcBcHMWtataattDtaactttHctaRcRaaB +aYacatttcVRaatctgctattDSNDgBatcaaatgcaBccKctaHcBtctVtaaHgatc +RgaacggctRtaagtaSatatgatcaaagBtaagatttVaMagaagaWWgcMWBRStRgg +tttWttttagtccaMRMaaattaSgBccggNataagtgctctttacYataRtcattgtgY +BtggcatRtacttBaacDacaKtHDtaNacMtataaKKtgtaaaRMVtctVcRatcgatt +tgcattSaaaggttRatagtagaattVcNgRtKccBgBtWcataataKctctKatttttg +VcaacKStcacSRtattgcggtcctcHatcgaaDgaVgctagtMNVtaattaaatattMY +NcgattaaKtMttRtYgacttgttagggcDNgagNtKBaScagttctgcMaaaMtHctRa +YtcgRtHatVctttatcttggtYctctYgttgattttaacSttaaactaaaWHattgWtc +tactatttcgMcVaaMctaKRcttcRaatSgctVNgtgaaaNcagataatcaatcKtagt +gacaaBVtttgtaaVctaBatgtaagtgtacctttacKtMWtaaaatWtcVctgagataa +ttacggaatacgSaWgaHcagtagNWaaaSacggaaatgatRBtRctVctgtVaatataV +NactMgDtaatggtatctacaaatgtatacKtttgttttaaacgttgBggBtgacttWac +gaMtttcagaacagaaRVtttKBacttDWaccagtaaatatcgMcttatRtaaKKcgMtH +KattWYYgttgatgttaRgacHcattcttKtcgtttaatagagWgDKaYatKataKcDgc +taaaHWgRtagccgttcatYattcagSHtttattataBVccaNMHttacgWttgDgaaRt +RaatcgatNaaNtWVcctacatacYtctgKtcattatctattatcgtcKtaataaattag +ggHctcatgHttSNacctYaKttMHtctttSgacgtttgMcStgttcaaSBggataggWt +tataNagaNBcatcaagtBtagcMagtcagagaaDcaaaataKgtatgtgSaagtgtYDt +DccVaaacagaagttaHSWatagaaaMYaggtacttctccttatatHatgctgVMatKtt +gaNtggSaRcattggttgWcatYagtaatatttgcttgaVctaataMRttttScggggtg +agVcacatYBggtccatMattBaatgNataDatWtDttVcataacSVtattagaagtaDt +atcBacNaacaaBaaagaaWBHSttgattttKRcVataHatttttgaBtcctctacctcR +YttagcatactttagaMHgtcatgtHtatctaaYacacggtaaMtatgttaagaHWaRca +aBaacaVaKattHgataNatatacgtatttaDWctagatataaNtaccgaacaDMttDSa +SYaaYgYaVtcatactaaWWtatataaVtMcagMccaDaaSatBattagcaaaatgRtaH +RgccgataatagcaaacacWacagaaVgBcagaYctHctgtcttaccBattVaYtttHat +gaVgttcRgaHtttagttttataatRWggattYatatMaaaactWaDRaggataaWgMat +aggtactatatttVctataattaaatatgtgttDtcctaKataaaaacggtacgtKaaat +ccBKtgtaattacaKtKYtgStRaagaaaaaaaggYagtNactttaaNaStcNtBcBaaa +cHtacaatSgattYttaacDacaHtcttcatttgSYgtctRaatVagcaWtctcDcRctN +HatScRtaMgaacWaaYatcaHaaagttggagtacaNcSRttagaatcatVgtgaccaaY +acWHHtaMtHtctaatttcactBtgNVggBgttctaDtcttaWttaatcatatHgaDaca +tgaaNagtaatacgDgHttaNggatDaggactcaatttcttDaNtRagttgVgaVRacWN +VHBttcVtYYtagataagHtccattcaatNaataYtNctgatcRttgaYaaaBcaKatca +cgSaataHatggtacacctttatRcgtaYacgataHWVKaattVtKcgatcgtRtatagR +gccBtaatagctcVNtttatgRtggggtttcttatactaatcMaaaWcgcaatKttattt +gtttatHRRacaVcSgatcagcaacccaMatYacBVccNcRgagatctgtSgaMttHgta +attatggRatgcWtcKatattMKWtaaatctccgtgtcaHNYaagStKcaDaMtaaaWBt +tacBgNctMaatDttcttgatMagtagaaatYHKaacttattSgttNaKagttctcataa +gtaatgactgaVStaatcctcDagtcataagWtataatattacagScHaatatagcaHYa +aSagaaaaactYtRYaatcggaaHcVcDcaccctattRaatattNgVaatacagaataaS +aaaagcWRgaKttccgtaWttctaaWacgatctMHaNWSgVtgNttVgtattStaatNat +VttacaRWagNgcaSgRVtcYtgtctYgtRKatctStHWttcYagtgNtBaacgtagtgt +HcgaSggcNgHgWggKatMtaHcgtKaHaWggacRRatattaHaaggaagaSgHggttta +cctagtaattBaaatSttYgtagBaSKBaaSKgctMMcacagcgtYatSctWctSaatRt +KKtgatatctMtattagcgagaMctNtBcgtatRDtcatHtgaVcYttctaHacgagDaa +MNtcttaBgWattatagaKtcWtHaMacagattgtHacttttgDaBWDtcSWKacKttca +HtSgttttDtHtSaVRYVgcagaatWattYtgNcgccBSttataaNctttcHtccaaDRg +aataSatgctVDggacagBYtBcRacDtYDNtgWaattattatYKtNcggaKRatcagBa +ctgatgcctSttttttDtcSgtcaaataataaMVttgaacBagtattctatggYtcaaat +DWacVtgataYYacSccVcataaagacagtNaatgtactaagtRtattBMKacNacagaa +WtctSaMgaKataaaMBgtYtaWaaKNtDStSNggaacgtMRtaaHctatacMtatttta +ccaataKVtcagctttatacgtSWBaStgttgWVtYaacaacRgtSgtacNgatgRtaYc +agStcaNScaaaRttaDttctcaaBgcScDtWaggtgaacttNBBYaaccaNaactNgct +aaDaaaggttgagaaMtatacttgtgtctHtgagKacagcacagcgKSattaSDaKaatt +tagtHtMttaMVctaaBtgBaattttactttaKcMagcatgcDcatcBagaBHattVgWt +aataMgtttgtDaHaggctgtVattDYacNtNStttaKaNggtBtaKtgHaaKcaacatD +MtagatgtatMtaaacttccNBgctacgtgcaaKgWSNacttSBaggMtNStaKtcaata +gattatctagtaBttaggactYtaaaStaaYtgaaaagYtMaagaKctgtVtttcgWcat +ctacgtatVaagtagaattBcagaDcgSgtaSggaactaRcaBRtMttRgattaattWaB +YcaataHMacgHactatNctacgaVataNVcHatatVHKKagaaRSattaacgttMattg +tatagBagtatctttgaagaBctgattattHgRttacDgMgtWtaggcaatNttgcttag +agaRatttSgtttBtgRtgaNtHcgStatgaaKtgtaBacctgaaWgtKatHDStatctt +taRaaataacaBttStHVMaccggtaVYaaBttYNKgNaBHaaKcKaaatStBcattgag +ggcRSttttctaaatcacaRBattccacatagacatSaDtaaaSNtttgtatDgWgcata +cgaSacRttagNaggaHtttagccttttWDtcYaVtaRtacWggctcaaaacVctWtaca +tagttaattBBttMacatDtatttaaRggattatBVcacattattaagWctactVcaBgc +ttKagagttatRBgctagaHtgDgaaaSVtKgattaWtMDWaRccaaWaagtaaVttgWg +VgacaBtSaacDaaaaKcacaRKaagttgagtNatttaSttaWRgtctaaccataDatag +YaMgaWBcattaacSttcacDtSttgtaWYataRBHtccagaMctaagaWagSDaactRN +aaaWagtacaScaSDcaatMaaaaaaaVBcatKacaggtgMaaMtatVaVgcctcDDYgt +attcaatattaggagtYBaaatttagaaVWDattcgttagHKSgcWtWcaatttaBtaat +NcaMYgYagatcRRtcataaaYctNtatttKRatRggtYcgaWcgcccataWttVaaBta +ataaatcgNtctttaggNtatatgNaagtMttccaagactRttgtgattBagBtaataat +tBStcaatttaWcattaatVtacatgtatttBataVYWStagcaYKDaagYtaggKtgag +atVtMDtKgNtcatagtNcagtBagagcaNaaNtaRtagatatcYWtSataWggacagag +tcaDSggYatttDaaatcactKatWatcDatatRattataaatatctattHSctttggNc +taagtSacgagatatatatRataagtttcatgcSaaKttctHaRgaaDatgStWcataaa +aatWMNttaaRaVgaYcHaagWggttttaaBtcagacKtaBtggcaacHtaggVttttac +tatRWaataVcccaRaagattNttggStYaatBRaataVacgaaatttaBaMYgcaMgtK +StStVtgVaatacccYaDVYaVaYKVtgatgcctacaaagcWgDtVtctaBtcctccacg +atatWtcDHHaHacaaataaatataccaYRSataVagtttaaStgttgRHtctaDMMaYY +aaagatacaBWKcagttgcaacgagBagcaaatccgKaRgtgaatcgtaWcatYtWaBta +BatcgRattcaagtHctctaatcttcctattaaYgaNaaaaRaDtactDtMNagatMttt +RacKaccWaYtatcagaaKcttVtVaaaatgttgtNYgtHtaDactaggaRttaccVaag +MacgcKtatataHaMtcaattcctMaRtttttcatgtctcaacatggtgacatcaBatHa +aMagaatttattaaaactYgMttaKHBccgacttttaVaaVtcScHaNccttacccatat +aMgggDtactagKgtcacRtacMacYgBaatttcagYcacaaataaaaggagYaaMHtat +aaaHtKgaaHtctcaVatcgStcatHtcaYctttWcttattBactataatWctcctRKaa +HtaaHYcttcaYataaaHtNcaSctgattaagaKaatWagRaVaNSHDaactaYVRaatg +ttatVYttatDcctRtgcgaacStaWttgaYcatYtggtatWNataMtDNRtgtttgggt +HcWtatHaaataatVtaaWaVgcaatagDatgScgNcagggagtcaDtgagataKtgtct +ataattgtgaNatcaNatDgtagctaaaNtgtagtcBatgWcagagtgtWtaagWtaKga +ttHagWRaNatacaagtactYtaWgatataRctcNKcttttgaRtgKWtgtgRagcNtKt +YtgatatgatBDKVtaaaaatttWtcaatacgRtaactttaaaaMtaMattaVNHRKtta +ttattaaVaatagatYaggattVaaaRactcaagccccRtagtScgDWgVSagtggtaac +ataVatttcagtttRtattcttcYaccaaaagttNttKtggBttBcSaWaattataatca +taBtgtMtMtaaagataYtacgMtWaaacBtttatcKacaaaatattMagtKccaaWcca +tttgtgacctttMSataMgBtcttaVgtNttttSaactatgaggaSWataRtHtcgaMag +SMccSaMctcgNtatgtataaVtBatHcHtattaacgactgNKtttaMtVaaaagaatVg +ttMWcttacacgtacScttcttcWtaatccatactctaacaHHaaaatDctNtgatMcRa +aWRtMgttgttatRagtaNtatgRtaMttggaaKWttaRtHKMaDDaacatgcgttaaac +caaaDttatagVRBatacMaatacMaaatWcNcaaHttBgttgtacggRKaaaMtcHgtt +aattattttaHgKtgttaatDaHatctggtaatMtYaRgMccKRaRKaDaagaggatBtS +acatactccaKgVaaRMaBttgcataaacYtKgaVDtttgcatSaatattatNattataW +atWgBttaggtBttaaYataaSHtRtaccaacMttaccattccKggKNtMatacctctgt +aYctaaccttgagtataaRatagaatRBtttttMtgWNtKtgcttatgactcSaatattg +tBRBtSWVWYagtaWBcNatttcNNgSKacctgaaMKgatWcYHgRataYggtctaMtgg +cagaRgaaYaYgKgaaHVtaattMgaaWaWaDataagaaaaBDatacatatgatcNtaga +gMtactcatgatgtHataaggtaHaWatMgtagcttaWtcStataSttagttttgcaagt +gctgacDtgctcDtgaSgVMtagttKtaacgtacattaaatctHgatYatttcgggcaDt +VttcaaacccgDgtatBggcttcBcWtacttgaatBaRNcgYtgtaaaaaRDctKctagt +aKSatRtRatMaMtaacVYaKtactgRDcaataaatSacagctDaatggttttaaacNtt +BaattgattaaMgVBKtBaacctYNcaKcaVtDYtcBaaataNSaBgatacccgtVtaat +actSgtttgMSYtttgKtgtKacgtKatgataaVccaMgtaVaWatttatattgBNtgtV +gVNtYStMtgtatBcgagaBaVatgatgBcStttgtagDgYMgaattacacHtaaaaaBt +tKaaggHttctaggKagRNtMBaatWcagMSBaaVtgaatgtgatNaatSagcaatttHc +tatWMtgVcNtSaNRHatVaVacVtHattcaataatgSKttttttgtataRKYaatccRY +aatggtaVtttaaaaaWBKtatatttatgtagtcNatSaatatcMDRtgtBttYtatKaa +ttaaaaYtcWccVattcDaaatgattgtHccactgNgctttBtgagatWDgVgtactgtR +taaggtBgacctaaatctRtDttaBRaYacaaaYYtcaaagaWaSDttctttggacttcB +cgaDacHataNtNgWtVMVtRactggaaagSgtgggtgaggcctccataaatNttaYYgt +cBatattWMaacMRctcgttaaaVatatagagataKatRMtHaVagaaBBtStttaatca +aatgagtatcaagtRMtaccgtBagaWKtagaaaYttcSScttaVttttcatatcaSgtc +WNgtttagccaaaVgaatgtgttatgaaYaatgaataaaagagatcttcYacaaatataD +gRttcMtcataYaBtctStgaatgagDaDgtRNaMtYMatatagWNggaNtcattatgac +YgtBKYttttagccttataaNRaatggaatccaBacgttacttatMNggaaaMtaaRtct +agtttttKKKgcBttgccgtHKatcgatVtttacataMtagNaMttctKHNctaaNattt +WaRNgRatctagatSctaactctDttaagacgcatagcRNgagatttgtacattSattaa +cttttcgttgattWatKtgaatttaMtSBattKKcttaaSggcactaataaatcactcaM +gacggtRcaDScNctYtBRYVgttgtttaVtacHWattattcatttVaKtgKaacctagg +StatttacaactcKNtaaacaagSttcgattatttcaRttVtaVaaacRgDtaatgtccM +aacNtcggttgcctaattaaaNaWcgKataaYcctSgMcataaatttgaaatttHtagSB +gKYggcgYaagagataaWBcMgatRBNRaYctgHatctatHttgaHtgcHKBKVaWaaca +cWNRactWBVttaatttVccaagBSWacaaaatcDgttattBtHaMtMtHacKgWtcctc +ctttHaatagtYttaagccaHtYatatttacgtcaSgtgtYttgBcatcatttaNRgaKg +BtgattttaaatgaattVaKtVYgNaatgDaacaaVtHaaatggtttgaYYatgctgcac +atttttctacVtacaNatataHtgtcVtaacVgtYccgaactaKaaaatcagtttaKNRt +aaataMatgtacatatcKScctDatDcKttSattttagatgttHtcBtKgNVRagctaRV +tttaNYWttcWYRatgatMgaMKRctNVMgttVagWcaVStcDgtttctcRatBVggacc +gaatcMttgagaBDgtNMgKKRBNSMgcaWHYWccNgcacaggVYtMcaaaatgBtaKcg +aRacccgStattcHttgaYttattattctaVMttgaacDaWtNccDtcHBataNcRggaa +NBtgaYNtaaMaDctMaaaaaaHaaattcBgtcgHtgcgaaStttctacttcgMagagta +aaacaDctgcagHctHtWaacgaatgtggtDacgtcacataSaatKtcWBtataccaaSc +ttNgDgcctacgBaNWtagataBaNtRcSggtaMattgaatgtRHtgHaaNWtgttacca +tacctBataaMWatttNttVaaRagMataVtgtaccattYVcKYcgagtaaYtttgDaKD +gVacMtttaVttcYcgtMattctatatataaggaagagttaaatHgtWctatttgaaatH +ttgScgtBataatgatRWgtttVgatMBcgctttatgtctgWKtaacaaHttaMtcttta +tcDtccaHaNYtSWcWNtHNacaaatactNggtgStacKatgtgKVctaBcaHcttacca +aWatHaaYtattatYtttDgtBaKcataaaatcaNgttNYcatVSgtgatatYDMMtgga +atKMaagcttVtaNNYctKcctagMWtttatttBattNagccggaRgagtattaKatgat +ctacatcaKVaaagttYgcStagtctacttttcatKtWtKtctRaRDtcggtataMcMDc +aattNcacattattgaBaHattHgcYattagaattataaBtattBKHtgtaacHtHaaca +aRYaBttaRVSaagttHVtatMtcacaWctgVtgaatcVtcctcNataacacgWtattDW +ccatDDYtcgtaHaaKaacaYaHaataBtaaBKagtttcStWataccgNcaDtWNaaRgc +tcNaacttatttgttaaacaaStttagtgVaKgggtatNaatVagtataVVaHtaRacca +caRatacNStaacaYDgaWaRtaKttgtaatacggtttgccaaggMWtcaaccttcgcta +MSaattaatgaaVDagttBcatccattttccaaBggRttgKgccaaaYNcDcaSatMcaa +ttYDcatcWatStttggaaWtttHtatVaggttDgVWatttaBWMagtcagcgaSaaSgt +attctacHtaaSaVacaataNKtatagRMagtKYBKggtttKatDacaWaYDaactagca +DttctctttHtagtMtWtttatYatWNaBgHtaBgSttRgattatgKcccaaBtWcccat +aaNattaYtRYWgRccNatatHttWgttatactttacBYHaaaKaHYaNttaatagKata +caaatWSMctttcKacatMattgcaRctBataaVaHtataSctDVtRaacttcggScYct +ataHRHtgttctgtgattYatatYtcYHaataaataYtMMgttaaatgatcttaaattaK +RtttaaRtaacttaBtgtcatgtctNcaaKactMtKatagRaDKaatgSaHcRtMDctag +atcaYtRatMSVRMYKYaggataaatYtDBaDacDtaVtacggaKttattNaggScgWca +YtaBaaacaWaNVtHVagtBaatgaBNagHaBtaNatNttSgaaactctBaggtHHtgaS +agYKNcataaMcatagaSttctNBYcttattcatagagagtHWWDtctgMtRHtactggg +agcKcacctggaYattatttgaaWgtcaVaataagaaNatRgtttacNtWYMBcNScggg +ataataaagtWYKDYcVWVggtttMcttYaatagaaKaaataDcaYMVcaVtgtStctct +WaagtaRtaagtaaatWacSKaaatYaScctggtgMKtYMtctacDatctcaMatVtNaa +taaNtaattgaagaNaataataagcttaagtgtgcgtVgttataYaagVgNaaRctSctg +WKVaYKgctNWMaaRaHatcgctHaaYMtccggattgtgBacatHaacttggtggDVgtc +aaaggSatWRaKtKacNVggaatYttatttattcaaSttttttttcaatgttatttgttt +taBgcatacWKDgtYNtcYtgtcttttttgtcaaatgatacttWagatDatttcacctaa +aaggtgagttatWgtgHctaatMtRKagccagcgcVgagYagtactgtactttagVctaB +BaYNggtYtaattttcRtaaagatctMtaVYatctYgNMaVtaWtcattgRtaNataaga +aaacVSctHNtcNaMaRYcgagttaHcgacNgagagBgtKaactaaatatYRcggatgtK +tttactgDctcVaYaaSaacBcacatagaaataaaaWDctVcNtttRtcataatNagatV +MctBgttcHtVgagaNaaaHaaSccggatSctaHgtgaYRagattDcSDtMStNYtgtga +agcttgggaatttttDgcaatHatgaBttHttaacatBcaaagtaggtKgagacaattaa +taHcaNaaHataMtccaKagagtttBYSagDDtaNaRtWtWagatSgcSKtcttttcaaR +gtMattatRtYSHgaMccttttttBtHactaattcaHtMatagaattVtBtDatcttVga +gtatttaaaattacYSattatttaYtagcaVSHattDctKcVattataagagRaccccWc +aBtYYtctaaaaYccSgattaaaMDRtHatMaYtHtcgcaaggWgBaNVDatataaatWt +cMYSVtacBYaaatactcgtacttttWgaacRNaattctHagcYtaSttaaataattttt +aaSDtKaaMcWgBaagBgaatDagaaatactcctNtgRaattaNWcattgYVMtRtHgBa +atcaagRcagtStaaWRgtaaatHcaMacDctatNaagtactVHaaVagMgttgKtgtHa +tcMacatagMgaBtSaaaBtagttaaNaYgStRRctYWYVtttMNBgcctgMctcactta +gtgtttDagacaYaattagaggKtttacaatMttctttatKagaaNtBtttKSHWSaVtV +tgttaRSaYccgtaBgggMtKtttctYWttcaVaagctttttMBgDKccatagVactWDg +tRtKMtgBKaDaVaggtttRaataBgttYtattatgttatgtcMMaatcagaatagHaac +aattRcBcDatttaYWttagattggttgaMcgtYRgagMtcactaRctcBMaaNgcaStg +cgNtgagVttaBaaagaatacgcatYMaaatDtacgatatataMtYKatctScatattNg +StYWgtttaYcttgtagaHaHaYtaRaaagttcMHaStatcatYtttKBtctataaaatc +aStcatatStattatMtSatcataHcaWaccagHtaaggaHatatgagaaYYgtgVacSt +tgKaBacSYcaNNccBNtHKtHcctttMttttagtaaaBHBaaattWKgtaaccDataac +tgatatgtaaRVtaHgaattctcRttcgcatHtaagttYYctaaattttgWDacBtataa +tttctVaYHtMtagMaHWtagatttcaVgtKaaacctgHagSgtacSWttMaBcHttaat +cttMaStYatatatattagtttggMaYaatHgaaaHHgatggccctactatSgacaatcV +McatactBBMtaattaaatattBNDacYtgYattBttHtNcaatgcggacccctDcYcDt +ttaKaSggtatcaBYaaBttctDSRgacHttagMcggtWgagtcctRatatRcttgattg +gaaaKggaaaagaaSNtattcNtataatVttgagBaMaaBctWtHatgcDaatHccgMDc +gcWaaDaacWgaagcaatattactcaaaatMgttgtaaMatatYtctRSctctWcatttV +atgBNtaaYagNtaMatcSgSgaVttSaccaataccKRNcataaggYcDMWaSKVcccaa +aggVtHtgHagMaggtKVatVtVMDVatBgttWagcctagagacaaaggtataatttgct +tgtSaaccttctccttcaatgNaacaBtttaVcaacagWaHMttgttaagttNWaaYcga +aVtatacBatgagHtSattacBgttYgtNRRcttgatcttaHcaataattattttccttg +aYgacVgNcttaRattatatctcagWWatNcDgacacgttaatRattaYcKtggtSggWg +atMcaaDBttgaacNttctcaaHtHaagcgVtDaaDtNMcagaaatWaNtatcttcattS +gatatgatactattWatSaattWccgtctaatcttgKDacatRatggBttatggKgaagt +ttcBaKtgttaaaKtcgatagcNgtatVDagaDtaVtcaactttYgaBYcgaYgWgaWta +aaWatVtctVtgggKaVctcgRtttacMaVaaagaaggtVtKNYtWcYaVtRVccgaatt +atacttatattagcatcKBattttgVDggcKaHaYttgcggcNaatRactWagWgttcag +tgWMctaataBHtttgHaggcctgacMcYaRtRtcggcaatBagttaagcDatatatNtt +gtMcVtaaaHMgattVgaYgtattatatSaDaaaaataWacaaNttKttcatttttHaMa +gatYtgtttcattaatatVacgcHRttacaYtaagttacaBtcgaagcgttWtatVWRaa +SacggWaBgSgcttaScatNaHcaatWacaMatagttcagYBagYgVactWtgtStNata +catYgSYDtaaacSaaatBtttKaKRSWRcRYMgcYgVataSNNtWgVtSaMgBcactaa +atYaKattVggacaWaaatgHtatHccacStaatagaYaaaVaMaaacYYMctcagaNat +tatctattaaatatgMaRgggtatgaMcttaHgattgtScgtgtatVatHNgcYttNata +tBWaaactNVtHScgataaNcBataggtaagagatttMatVtaagtaaatYgctgtttta +agatagaWaaYcgctaacttaaagaattggtSYgtVaStttRtcKtHaVcWaYaWVSccR +actDaattgWaBSKtaDgtataaRcttaaaatKcagtNgtaaataaatgattcatgtcKR +ctatHaYtMacaWNgagatcDcgDtatKaHgaBcaaaNWaRataYtYYacttgcactaaY +DcKDttWcYataStKcgcaaaaaRaaNtttatttgctYatgtcVctttcBKcgtcttatS +ttattYMttaatcatattcatSaYtgWaDacgaataactctggaDccattacgSagaaat +tgatttaDtHacgtcMgaMHaaNDKttgtaMgRNtacataWgttccStgaaatDaagYRt +DagcatcHttcVNWWataatataaccKaatWtYgcctacVaagttWtHactaRaagatat +MMtYattMttccatactHgStagHcaattaagacagaMDtttagcHtgccctttattatS +atWataBaaSMaccVVgtggatgtgttgYgtDHSaaMaKcagaagcWacaaaBagRactK +acDaDgagagagcgKcaBggtgtaYttatgcDatgaNgatagagtBtNtaWatagcacgc +gcatDRSacHttcataBtaWaNtgtaatcDctBaSttttaggcWtBacgacaVYtRttaa +cttatgKcggDStacgtagaYtaagtaatgacggVMKtWagcatatagtcataagMgatV +agVttSaacHataatatacaatRYaHacaWaaactRtHRaatagcaVtcMataaacatat +tHaStattDcMWVtYaacYagaaHaaWaccNHcatgtcccgaNttataaNaacatctBta +DNKgMtcDtgMgtatgKgSatDSgMtgVaaHNWcDcaaKgHMtaRtggcgRgtHtVtatH +gtMggaRVgtcDgtWaactactgttagaKcccDctcNcgtagtgStacgtataNcgVaHH +agYttStaaccWacaKctgctttaactagtVatttaaatKttRcgactaHttSaKtcagB +BaWaacccgRatKagNagKaWtHttttcWtatatttattacagacSBagDgtagtatHtg +cattgcaMaRgtagatYacactYSBDgctgatcMattStSgattcNttaBWaacatgctt +SattttctatNttaHNtSctgtcWttKgttgtttttKaMHNMcaacaagNattRtcBacc +atKgtVtaaDcttgattaaaatHgaataKYtgagMtgcWaWgtRttcDaatgRtDgcNWS +gtagtatRttDcggatHWgaagtacgcVtcaatHtttttttgaKggaSaStaataWBMtg +caaatacgWttctagccRtaaaattNWaMggataRRaaHaaMcagaaacacacgDaatct +actaactDgatgtttaaDacacVaNgagKaBcatataaattcgRtSNaatDttKgKDgca +aactBDtaatatagWaBgagtgtYaaVatatMtaacaggtataacgKMtaKgcttgNMtR +aaaaVcHctKctaaBcWtcHtaRaacKgcaDKaYaSHgtatttataaYtcaKatgNacgt +cWWatgDttRaacaaDWaatDgagaStaVScctgcacaaBtatacttctgtctttcacta +cWcaaaWcactKattaKtatWagttacttgBtgaBMagaattgtYYttttVatttWtcBa +gaatcctcWtatYcVttattMgNgYStaBgtttcttWtagcaggtMatgtRaaDtDKttg +ataDggtttatgctaataVYcSttBtYcatctVtBtYaVagtaaDtgagacctgaaatcN +KDactgKtacgBtDKgattaaatagattatagactatggacgacgRgaaYKgYaRtgaaa +agRgBaacatctctMttgacNaWtctVagtStMaactacaatttcVgatacKctaKgcSa +ctaDaatHgBgtHgYttaagtNYtRcaRgYtBaactaatatDctaacSKatSDMatWtag +KtttagaaHKattaVactttSgtgtagWctaggagctttgaScatcggSttaggtgHtgY +atgtctNtaggaaatDttcctgagagaHagttKcttttgcHtcaDgtcgKtatcaatgcg +StVcatcaWNcgtatttHtatctggaHWSataWaVttgKgtKBaaaggtaMNaatttRDt +cDattaStctaaatKgtaagtcVgccaHKgtgtcgaSVtaaaaHtatgaaVcatacacVt +KattaWaKDgttctattgNcaagaacaKYaHttWcDaccattttagacttttMttaRaMt +aHtacNgccgaaaaacKctNgaaagagggaVttttgtBVcatttatttVaHcgattWttM +aWcattagtaYcMagaatKaYtcatttagacttStDtcagacattctcYaaKMttcagtS +NtBtMaHacYWNaactVaMgtcNgMcVcVtgKaaataaVataacaDtaaggtcSgtDatt +taKtgSNHcgctVaaaatatagacRaBgaNtaattVWaKtgcaattHttctaNRWtaHtt +taaSgWBctVacaNVcKtaaagHDaaaNagtYcYKaVKtaaatBaaaSaVaMtcSgtaaa +cctcBYWttSgMaMccagcttRgtVggaaWgagtaggYctRtaaWtgtacaaMNtagtac +ggVcttKcaMgNaaatgtatgaSgDcSBRgRVcYtaDHgaVtWaaNagDtagggtHagHg +ctRagaNacacaStaNttMaatgaataaSgagBgagtgWccDtVgagcDWVctBttccaW +cacgHttgtcYtttacttaatVatgtKtaaatttaNaYttaStMtVaStggattgtVgaM +RNHtacaaNttRScRtVcgttcScatMtBtttcDtcatVctDaScttagacaaDaaBtaH +tacRgRgaRNtKataNgcaaScactcWtKggRagtgtaaYtaaattWgNagatatYtHat +tWtYWatagatatttKatgtcgDagaVcgKVagacagagatVgHWtaagttgcatgaKaa +tggattaHcaatatgKtMaWtWaYSVtNBDttaaHaMcaRctWScNcggtggYSttcaga +attattggaaaattVccMtgggWatatHMaYtaMaacaHaagVtgDtggcHtRaagtHaa +gVMWacaaagggataBRcaaBcttKtHtMgcKaVtaacaRatKRaMaRtMtcagcaataa +aaVccNcttMtctattaagacacgagatNtatttataaaSagaaatatSccaRHKatYMa +cgttaWKtgttgHtgagatBBaRRWSacatacWtNtcWgttcaaaccactVcaSaYtaac +taHgtcVWgactaNaatRgNattatagacHatgcYWcttatctaagcttaatatgaaRca +DVaSaHatgaatttBDacatBtttHactacaNaNtataVcaVtattKgMaSaSggttggD +NcgtgatactaccYHttaaaMaVcBSacctgatatataBgcaattaatBaHtttgtaagg +gataaacatgcgcaaataatattaaBVcaWgttagtVaaWctRgBtgYtttccgYatttt +YMaVMtaHatRDaatgVacaatatVBccgttaagactcgcaaHtVaBaaRctaVgggaac +RaaaaaatYaSaccVgRaaBtgataaatttcaVttataSMatacKtaWttgcaRcgtgNa +ttatttaatagaatNctcatHtSWttaVtRattcaRYtaaattDcaKagcWggaWcStaa +tNVgHaMaBKttaaatYRMHaRtcgtagMRgtattcctHtcacaaaKtaNttcaRcatRt +ccgatNDagaBttDHtcttggccttaNtattaaStaWgKtVWNaMccaVgVgtatcKacD +aYcccactcattcacYtattggatVgaWttctgSDagaWDattctacataaaDggtacta +tagcNcSgagtgtMtaacNtVtcStttSgNDaDYgaaWVgtactRtaNcYgataHagaDt +agttggaHtgtNtcgcHYgaDttgRtgStatcattttKtWVaYattgNtaaYgYccHgWa +ctgtaaaVBtaBattaMBtHtttYttVgtaYMWatWgWtNaccVtgMWaSDaatcYWcca +aaHtacgKagtNcMKactcgtaaaVtaMatttcRcttgHtattattcRaaaWaWactgDt +tttccttttaKVNaVggataagaagWttcgBtBtVaYcataRtaacBgNaaYctggtatc +tacaaaagatttagttaaaaNaaattgctcaactttBKagatctgctgaMgtBttgtKaS +atVgcacgaHNatVDgttacVBacKBaaKaBctccDtagctataWKttagtcttYgtaSc +caatcBttggaBtMaaaagaYtMgtgtNatgacacctWcKattctgaNtaSgaaataata +tVSaattaaWattagDtgagBaHaaNHtBgttcttatHaggaBtatcHtSttgccaatNg +taHtttBattaacatcactgaWaaaaaatggatagMHtSgaaBSatacBSaagMaDcaat +tttcgtctaacgHtaaaBtatcttaattagtttatcttcgtWVttatatcgccgaagBgR +aDcBaatHVDtataacaccVgttHaaSgaagaaatcMSaHBattgcaSgaSVaRttcaMt +gtgcaatKaatWggatBVgtataNWgNctttacctttgaaRatSaKttHgaaaYSaBttV +acWttcctgctDgBSgYcagcgggWRataaaatgcactagaaHStacaatHtggtgtBgc +NDttggattatgaagaKaatStgcttHtgKNMNRagtaNtaDattgaDDcKtaaatcVVB +tcSgNcRtcHataRcggctVBtccaWcaDgaaRaRctgaatMtaRtgBcaWNaNatatWS +cYYaWttatScYtSgcataDtWcacBtactaWgcYtcgtataagctataNSgBctagatt +aNgaKgatVKgtagttttcaaagtgcgcYattcagatggaKcMBtacgtttaacctaaat +taaatattcatRaggtcgcccattMttaaaaaaactggSgtcccgtctaNtWattcaatt +VHDagRtggVSSaaHtattatWctatKatHtHattYBtaVaMRatgYagcHtaSataaSt +KaaacattaagggttggVYaaDgttWSttcattaRBcMttttaacatRDaataaMttRga +taaagVDKatcatacaacgMtaatYctKcgggcBKNgtggttcttaagttYgcataVMaa +VBgtVMSNagttatSttgtDtgtMgMDtNKtBgctattacagataMWtcSggtcHgggcg +agtcRtcRattaaaatgaaYYattgtaaccttgatacgtWcHDgBtVagNcSgBKtaaMt +caStgggatDaVtKScaYagtttctagNBtcMcDgKaDHtVtMaMacMgtagtaaWtaYt +gHtttttgtctagYHtRaagacDRaatgctVMtttWaYaaNtttatatttStcgactaDa +tKaatatattHggttgtRtattaattaaaaRtaNacKattctVaatgattcttacWatgD +gagggtggScatNtcMggaagggHtaaccttcWcatWaStagHtttgatHaRVaaSVNNt +caRacaNaKttgctgggcVattatccatVatataDtDcNgMBMgHSagggaaagKctggg +tcacgaatcaataaVtDttaRRgtctStattNBaaaBHatcgttaaWMagatagacatat +VgDBttYMacaatttKtttaataaaagcacgVgaaactDBtaaccgtagaNtgagaaaRt +tcKKagtYKttttaStataaHgtcNDcgttYccaaaaMcaWtgggttatcaaRaaggaat +aaVWcacatattaRYaaVagagVtcHggaBtaataNattagKtcVRtgactatcgHDaBg +RBStVtSgNBccWDgaatgaggaaNctttNttttacaaggagaaDDaVtcgaataaataa +gttaattStBDccaaaBgVaDtctScgtgtttttgctgtcacgtttWgacStMtttVaVg +aBtacDWtttagttDctaSDVtttNaDDcHatatacYtKataaatagttgaacaagaata +caDDcacatttgtaaaggHattaaatgttacgtcagtNStttcVatttaBtHtVggttat +taaHcgaWagaYtVaataaatcaBgaccctHcatKaDatRttHRMcgtcgggSMtaatNa +gtYtgaYtggMYttgtaaactacgKgStttaaaYatatDtaaSaVVcHgtagatgaggtc +aHggMtaMWaWaHctgaatctaaBaWaDtcgggtccctaagtaVYDaNactataaNcctK +cBcataaatttcaWSttttgacHtctRggagRaagacagWVNtctcatHtDHaRagctSt +atattggcattcattttMaNaSaRaNDHaagNtMgtVWtgtMccaactKNaaaVaStatc +gtStgtgtaBgBgtaatcNtccgaagtttaWgactNgtaaccaatgNatWttgWagtaaK +gtctRgtctaataagttVDHgStgttcVttgtSWatcYaggMatgMRcBaStgtaaaaaM +ttaYagccggtgaRRatgatccaaaggtttctaaKgacaDagagatgctcMgaaaMcgRa +acaaatataaaagcagtgtatDHgRaVtWBVtggacatStctKccttVttatgtKatttt +YcatctgttatgtcDKHYcctSHMttgSDRNgtaMNHaggatBcSBtHatDMBcttMacN +aVMKtctgtttcgaHSgtMgcacagaStaBttcWcattctDtcttHtDKBcaaNtRNaaD +gaaaaccMRtBcWVVagcttatcgaDYccacKtatgatgtcaRttattYttctaMBggca +YctaNtBactgattStaDaHccYaDtgcaRDgSYtYtatBSaYaaataaagtctcgcgtt +cagaaKtttctVattagtWcacgaaVaaVtctcaVgtagttNaaacaatgtccttaacta +aaStaKWagttaNttatacaaaKattBctgaagaagtYDNtagatataDtHcKcctaBag +gcaatctHttctaaDNtgtgaaaagRaattataaBMaggtDgtMaWHacBStSMtcgaac +YttRMatNacScgaaRtttctattcMaaBggtaKttaRcgtBattcgatatYtVaccSac +acgtaaagtctNatYttgcSSattttcKccttataatcRtHNctttMcatBtacatgtYt +ctagcNttYacaatgtaBgcgttVtattaaWtaDRtKNaNDttDWaaaataatDgcgcKt +aatatcgctMctatcatcgtaaaaYNRttSaNtWggatRgtgtcttataVgaaaatcWDc +ttDRaatMKctcatatRttBtccaattBSacctgMtaDDRagtcagacBNtttattttag +tDacaagcaHcacgRttVtatcatatacStaatMaWagttRccKtRctcgaagttgaatt +tNtttatHaHttagctatSBaBtcaagtDaaaRtgattcatStagttcaRattacaVgta +tWRttWggttttctaactttSaaaVHRatttYHMKVVcgttMtatBtaSaaMctgMtcaa +gaMtactcDatSaaaacNgatttNcaagttRgacgataVtaacYNataStRtgaattact +gtaKtNagaaccDaatgNDaaHcataDSYattatgtctgYWaaRaHtttWggcKatgcgt +agDSVtMactataKMSttaHaaaacaHatVaDKtSaaaRtcaNWHtatttctWataagct +ttcccaacctNtaaacattcgagaBKVattaWtcVaKtWcggtaatcaatgttcaaatcc +DttctcaaSaWNDataaKatBcaYttRtcataMVtKttggcaaNgtgttatMaccgttgM +NagtgVtNBWggaacacaKaaKctagtctacttSaKYMacaWtWDttatagHBacttRtt +cctgttagtScVNaRtaacgScaStttatctttttSgtBgNtttStRatNDWtctgatcK +tgHcattatctaaaaattNaaaWgWaDWttWRtHRNcHacBVgWttgtNggtWtWcttgS +atRtaaYtYtNaDttYagactStacYaYtNHBatggatacVtBatgccaHcgtagaaMat +gataHagtKgHaWcgtaccKaNatagWtDttcgtagggcSgtRatatNgaRtYataaata +RtBtcttaSatcagatgaaSgtVtHtgtaaDtVactgattcgcatctctBaWWtaagBtt +VgacHattWWgcKataHtBtagScWtcaNtHStBKMHBRtRagcataaYtNtttatactt +aMgacccattgagtDYggKccNaaRgataWaaaNWDMttMacttaatgStDYgtattaBa +tBttKcSaactagtaccgttggaKacRtDaataSBaatacaKtgagDtNcttattaagYc +agacttNNttatcBtHtgRatgccacctaSaatccaRSgtWggtgaaMcgcaMaagSaga +aDatHcttgaaDgNRttaDKacgcataagYaagtMRttNaMMMgcggttcgtRaSgacaS +taaVgStcaRBKcaMtctKtctatNaactaHtaactaaatNWaKtWaStRSKcatggtgB +tgRBtagaatagataSBagMtDVataaDtaattgaYgaBaagWagaacaggaagtctgac +gMgtgagaRVacMcBaaDatKatcNtKaRtcatDNBaaHatatacattaWRBtcaccatt +ctctaaWttWacgtccgcgtMctcaaaccHYtNDatttSaDMccaStRttWgttattaSV +KtgttttgtcWatgtgStttgttttatcaagacMttgtRDgcRtctctgtgggggcSaag +catVattMacattSgttaacctaaaaccgcagtgagNgtctataatBtHtacaaSccccM +gagRVctYagcgaatttacMagVttaRDcctRgSSttttcHtVaacatagBgaMRagatR +cDBaMtaNtcatggHgaDYgaVgWaaaaMKattBtaDYBaHRccagttatacVaDcacac +tcgtaSctaaatatRDaccagctttttaatgtagaMaRaaKaaataaaatacaRagaaYa +NtatKcDttgHgcVtaYgDacagMBagtgttatgMcSgWDWYWtSaKaagcatKatatct +caRHacagttaKtgBKtDRggtcaYcattcgcYattttgtccaagtVgcattttttaVaa +gtaaaagtWccttgacYcaagtaatataYBaatataBtaaatacacttttRHagtttaDS +HgNtNVcatKgaKtgagttgaaaHcgBattatHgRKtcaBaagttgtttgtVatYattaa +ttBatYgaatgMgtttatagtKcVctagttaaYWttWaRKWggYttgaRgagaaMKtagg +tattaMVttataVcagHYacaaMaattRRtataWaaRacHcattaVaBtHgtatBaRttt +accaaggNgtaDMtatYtaYVtNtcBRKMgaatRaaagaatactRattttNcaaaDDaag +tagtacaNtSHttaaataattggtaaKtttaaBaNgtaagtcaYttacVaataataatDt +gHSSgtSDNaattcRMBgHttctaagaYVcHcactKgaaNHcgWaWttaaBactcgYtDa +acgactMtaYKacBgttcttgttataBacatScBcattKaaattacttSSDaRgKtHHag +RNRMtttBDtcaagcBcgcYattactcgtttacSaaNVagtacacgtggtSaWatBtgat +ttWttScaaDtttggtKtNKaMtMgcttaHKaRaccgatccctgtgggagRMttaaMaWc +cggtttBtgttaaVtagMWctNtctHgtBgcttatSMYccttgHaatatctgNgVttagc +ttagggaBBSStaYgYatYgtaaaaattHatctatgtWRNgtVcSgtgcgtcYBagtRHg +acttaaagSHatatBaaDgcaKtcccDgcacMttatRaacaataaccWtNBaYatttYac +YtagagattRtatagKcatattDgKtNNgtttWNagggtacStataRtVDYaacgtaBtV +KtagaagRttttttatataSaagaaKtaatatKtattagBtHataatatcWNaacagtgW +accatatStcYcaaNRctcKacKttgtStaaKRaWDDaatBtttgtcagggBgtggScta +aWtttYVWttNtctaacatagVYatcagatctVaHMgWtcaagtataHtgacaagttSac +gtNRataaatgttgNtaattagaattgctMaRttBtacBatNgacatttcaMcgtaaacc +tctagHctaaKNttBatatttaatattBaKtRagYtatattSgtgtccBaNSattgaaat +tgYggcaaataatatHcaaaatcMBaagYatttttaYttYaStatttDtacRtgRatttt +ttgDcRaggagcaccaattcRcttttataHcggatcatNSatgtagtHHcactgtWgtag +gtNgactactHagagHattcaggggSaatgcaaaacSSKDtaggcDtatVagMtggacta +BSatagMttaggatSYttaacBtagaNSVtaSaNcSScaaatattVctcYaWYtBcttcg +aYBagWtRgagHKagagMaatttMatgtDtaYNagDtaBagcKcKcaMttKaaaaatVaa +tHDaataacgRatBNVKtMaccYaaccMgttgtactagcttMatKgKBtMagtcttMWga +atRcacaaaaSgcgVtSatggcaggcgKaYaatgctcattaaaggDVacStgttaMaaaa +acNVtBtgcttaacgtDNaaRcgWaKtatactagcactgKVttaatcttRcgDHHattcS +tatgatcWataagtattttacgtcaRgaaMcDattYHattYgatatcacNNWtDatgaaa +actgaatHaggaNcttcctKggNgatBaaatttgcaaaDtgctcaatgtYagacMgtVVt +gDBaacVaatNaDtatctgaaggKcagSggVtacgatgNWtKWaggMacctagaatattc +ttYaatDatcgttgatggtcaacgttatatgcttaWVttccRgVcaDcgagMtacattaM +taVWcgttRcatRacaRcMcaNtaYWNYgMtatMgccctaKctagHtttaaBVMaaWcSa +ccgMttBRgNcRWMtHMaccaatgataaggagVttYgaatcttagtgtcMtgcctVtaRt +gcaccaDaagHactNYcNcttaaggcMBagaWtattgtgctaccacgcWataRaHtDtac +gaaVttagttVacctatatStDgtggtaMgaSattcatgMcaRctatgWgatKatYYaaa +taNYcSaDtttgtcYttttttaBScatRtctgtaWttaatagMaacatDttaaaNgaact +tacYttagaaccctgNgagMNHaaKacccNatgKccttaKcatDStaaStNaaVBatagt +tcacRtYcRcKaagMgctKtBagSaagNcKRttaaaaKaaRttttttatHHNHaHRtcaR +cMataKDDtNcKtKatctaaataaatRatYttMccaaaNaaWgctgattcaaaKgaatSc +aNaaaKaBaaaaRNtataVcYDattagctattaaatWtgBWHgggtatcatattatcVtt +cgHacgcgatMattDcaRggDYtYttNaaaatBKttKccStYVDatatYcctSacVcatt +ttatMtWRctaYagRgctcttttaacVtagaNaVRaccgRaattaaVcaattgcgKRctM +aKtttHgctttVMaNaRaNMKacHSagtWagtgNatKttatctataaHatgSaSattcag +tDctWaataaYtcagtaYtctatHcgattSRttaaaNDgagatatacttVttatcataSS +aBNaDataRtRRaattcaRataaRtattttNaRYtaKttaccaaaaaHVaBtttWtttga +tRagctaMattgcttactctgatKtgatgRBttaataagYttcStKaNgcNatacgWatY +aatctggVtaaattYccKagaVagggatttatttWacgaBcaBtaaDttttcgaBcHDga +aSgVNctgaaKtgaVagtVWgRHgtacaatattgcMDNNataatagaaaataatNtNgcc +gaaMaagtgNttacgVHaacSgStBBtRagtBgtaaWgacttcKgactaaatgaagVaac +aBtggtacattcaaagtgattagKagNatatVaKBacaMMctccatcgcgggRctttKaa +BatcacaScaNaaaaatVgHaattaatatcWcacacactcatgctcgaRggVgcatatca +DcatYgaggttDgWNagagaaagagaYttHKaatgtaVtYttSNaDtcgaatctattSKg +tgtaggaMgtaccWcaMRtHttaaatgWtgtccgtKtacggacaNgaacgaSgcYagcKB +ttNacaagatacgaagaVcBgStMacMtgKaactataSgWtaaaatDRataaaNaSaagH +ttHWYgaccWMtatataaaaagatgtaKtVtgtcBNMtRaSaRacVataaNaaaDtaatg +taaagaDgtataVDaacagatttWtDtcBgatggBcgagctcKWgtHcBgcMaatDNatc +aYtctBgaHtccagHctttMtattgtBccaHMctatctNaaatacgcgtacatacatcta +DactactcKtacctataDccMattRgRggHtaaaaNYcVtatccgttSaagYcgMattta +VattttHagVatVtttKattaagttaNaacaccHSttagDactSNgtgtttaNtVtattt +atgaaacSaKtactctacgagttgaagtcaSBaDgtagatNaaactRKttcatcWtaBag +gKtKcYttaDttatMaWcStgattKattgtatatDttatDtKatgtaNtgtcgtcttttt +taBtDBcaaaaSgDatgHtctacaattcgMtVYtatgcattaaaattcaVgatRtcagBt +caMaNctHgtatVatcHttcaDNKgtWcgagHtttaccattNgaactYacaKgaaagtgg +tttgtgatcgaKaHgaatYNtBgcaaVatWacNggataccaDtaaaWttBMaBccagaHD +aataaBaagYVacYaScctYVgagWagaYagtgatgtttWatSaaaMYDcactYtaStWg +aaattacHgKDaYtttttgttcaaaaatttgYatatVcMatcactggRaaMVtStBtaaa +agggatYaagtBtatcatgcDttDaaaaMatagtctaataNtcttWHaaatcaVttaRaK +tcgatttataWRtaatatcDWcctaNMatgtttDaYaaWtMaagtcagaKtaMKacgcca +aVatgWtSagtagctatttcactaaNcaaaNaaattaggattatMWgtgacgtcttcatt +acaYttctRRtttgMatggNtatacaataataNgatNcMttaggBcDgRHgatctttagt +NtacaaccgBatgtHaatgttttgatatccgttatcataStaKRaKgttgNaagagKttg +NYMaggaattcagaactcaRataDttaagcttaccttttgVttaWWgacYggStacYcga +tgcSccaacHcaYNtgRaHtcaYaacHctYacatagatBgtgacDaNgatMacgKgBaWa +gacaSgttaKcatactatatcaHaatataattctggtcNttaYggDRtDaSHgNttYaat +WagagtagaacKtWtHtBatNtScttttacaattagtaMaatttHgtctagMctaccaga +gttcaKcStaccKggaggtctgcNatctctDgYccaaVgttgaatgacVcatagtgtatt +ttccttcatctacttSgaaStcagHtMaataWNDagtatttttataggcatNKataNaMt +gctgtttVaacctVBDWattgHttatattaKtatSVSttgtaScgcMcccattgggtaga +KMgaSaSttYgcaaMaatVaVaKgtatgYNattcttagWgtcBaaagSaaatRatttNct +acaStggtYcaaggttBtgaDWBtRtgaaDccacaaaVSatatBcaaScWccgaKttttc +gtMaVttgatgtMatacatgNttBaNaagtaggaRaBagaagtaRtaagttacWatgHtt +taagSaatgataNWattgtaSggHDtttBataaNNBRaatKWBgtaDcBaMaKtctaYat +VaKataaaattWYcgtaHcttagtgYtgcKDtccatMSaaagatYcSaHatcaDtaatgM +MatgcaaatgtttagaDDNtatttgaaKcNtagKYcaBMattaaagttaaWDacgRaRta +KttaaattaVVKaMaBtaKctaaWcatctRMtgKcBaBaaagattHcgMcgaSNgactac +cRatHtaSNtctYcaaBDtaggaagcMatttcaBcDaaatggWtcaHctaKtHcHMcRga +ttgaMtNVaDagttaggcttYctcatDacWDaaaaaKtaBgtBaatcaataaKgactgac +tcNcattMcacatNMattgtaaaNaaacttgctaRtttacttaatKYgcttgaSStgtaD +aNgtaKgBgMaKgccagtgtMgatHDtgacaWDttHKaDgMacttaKaagBtttgtctta +agMagtaHcttWcacaatSatgYtgacHgHcaHDgtagaDccVaKcaataNttccHYctc +taSRtaYagtNgDagatWtRttSttNtRNagacatattttatggactacYMagtMacYaa +gYgVgKgtNtaVcgtgaatcataatcgattYtaaatYtctgBaMgNWNKMgDttttaWta +BaaHatNHaDacctccNKtgaVcWattYtgccaVRattMacBtcccNagYttBYNgaBaa +aStWacMgcttccatgHaacttYagMtNaaVSYgcgatatHcaatatttgtgBcatWMta +aaaDRttHaBaHttgaacaaataaWaMcaDctgBtatWttaacaaWacacWtDtatttat +WaaHacaVagVgKaaaDttWgRBVagttVNttctgcttgacatttSHHMKScSgSaMtDt +aMcgtcaWaacactMcaHWRgaactWtcgcMNcactVDaatHcDSttWtagactatgaRN +cttagataYgaggaagagcaSHcWtMaKStatgYatttttVaattgtttWataaaDaDga +taMcaMtatttctVKaKgcttcctDagtgatWatacaRtttaaaBSMctHaaatcagSta +tStgaaVttaattatttgctaagcgagaWaaWtccgcaaSgaatVgtaStMcSNcgtWgg +MVWNatHctggRtttaacNagtttRtaMBgatatHtaatcMaaaYgatMtaccttaagYa +tcgaaattMataaHatYMcccaaaDaYaVaWgRaHaaaMcHSattcatWSatttcaMtga +taKBYtactgaNttgaaDactgBatgYgttaagVgaagDagaatttKNtgaMtHagtaaH +RgaaatttaYtaccNcgWNcKtaYtBMctVBWttttaSagRHBtaHtcgtactHggagta +atttaaaVVattWDgtaaHaYgDtaacatDtacWttttttatgccacttaDtagtaaKgY +NcttMNDaBcaVMcMctWgatactaRcaaWagaatgcWcRtattccagKgaNgtctcKtW +gaNtSttagVaagaSYtcctWatatSgaDaKcactcgBtYacDgMtaKggtKcDtRtRgS +aNKctaatHtRDaRgatatacattagtgccSttctDgcgatNcatttcHgcKtagcYgtt +ttgNKWRattgBtaaNcRaatcNaagcgaaVKttYtWttaBttttttNggKcgaRBMVtN +cNtDVaaMtcBNaKtaataRMcaaaattYactactBattWcgccgWaaMtaBYtgtaHag +tcttVttaggaHVaaNaNaatcttgtgcattttatMDYKccataScaWgNttccttttMa +RcVtWHgaaatgBaaRatgcgatataaaWYacYggtacttaaaaDaaattgatcWaatgt +ttRcatatcaggaBcttttcttVKatKccaccYtDatMtcttacMtSattaatatagaat +gSgagYgWNtttagtatgRggYKacaatattgggVtttaSaYcaRtBcggtDaggYaaac +tNataggaggaDgaKcaaataagatMKaattaaNagtagttcWctataaDtttcgtcgta +ttaccStgYgatgKtgcccYatDctYtttttYttaaaagaactcaNVaaYaYtccagacB +ttKcaatKataatKVWcBataaatgttcctatYaacttaSVtgataggVatgagttgatc +ttacgMMgtWtYtagcacaSctcHYtataattMttataYaaccKgtgtaaKcYagaaVtc +BKattStgcaaKcaKKaHgtaaBtctgcaattaWgMcgYttMctWtaDNcDatggWaatt +ggaVDagKattttgaaaRHattgMaaMgtaatcattctKgNaacacccNHataaaatgaa +agagSatKtacVagttggtcgtgcBtgtgcatgagcaacataagKtcagtttgtDBBHWc +gaDtatYttgattcttaaagcMMttaKgDaHtatVgWHccgatKttcaaNcYtcaaDWDa +tcaWtBtWHgctaaMDaDWtWtNKcRRaNttVgHaRgKgcWgattNaaattaataNcaRt +agtRgaacagataDKgtatScattaDgatcatMtcgYcgtttaaaRctcagcRattaaca +tccStcBtgaccgtgWaaagaaatgaaWtattaVtHacctaccaaatgBgtaVVYaaaat +ccKgtcaactataDgNagtcaSgtKttacHtccMKKWattagtatNctattagtttWttR +tgaKaBHStgRagattaKRtWaKttaaWaagtaVccctgcgMRWatgttNKgtcSggSHt +aBttgtaYaatDtaVtaatgtHcatWaYcMttataVgaaaaagBgaagRattccggcttD +gggcttcttaacttRgaStaMBaaMtctMBHBacttVgKggcttgcgBcBtgDtttccta +ttaaRcatStNgcKgctatcccacSctcHtaHWtgWaYatgVaRRYtgctaaaatggaga +cctMcttgttMagBaKctttYWBtaYKgcccYttaMgtHaaNYgtgtagagDttcBatgt +StttMtBWtaaBctaggaaNgaRgcttttttgtagacRttHSagaatDaYgcctMBtgtN +SNaaBttgVtWtttKgacaatatVttVatagatttgcgtcgDtVgtSattaaaVHtaDaa +tYttatKSWtcattagtaaNatctcagcgtgcKcatDtaBccaaccctgaYcattaNaag +NaKgagttttcattaHMaVKMDDtaSHScaDattgcaggcccMattatacYtMatWgatt +tcBcBtBctKacccaaWctatccctcaacaataaataaMttgtaHHcgatKgaggBtRYa +ttatacgtaYNBacagacaaatVtMcttttRtVcaattgtttgaWtaaSacaRccMcaaa +cttttaaacgtacVBtcWcSaYHgtattacgRtgtgtaKgWgaatctaBtcgtgRaaaWW +VBcaNtcgctgYtaaaHaSccaagaVMNaacagattaHRaaMWcVgMtctgcatgaagRD +attactgcKHtcactYtccttatgHtKgMgKcDtacNtcaStgYccaaDagttDtttgYc +aagcacWWttaMgccaStaaWtVactgaagtKtttcaWaatgMattatKcctctttttca +tgtaaactttNcaaKgttttMaMcYtgWctMtttactttagaKtMgttDYttctatagWc +RttatYSagacttcaScaacaYtSaattcaaagtgctSaagctattaaagggtaactcac +gDKgttaMRgggattttMcgttattaVtccaNagaRgMaataaagaStcSaacgtaWtta +tatHgttHBcgtacggKBtSatDactRggaRgccBRttctaaaatSactcKtttVaWRat +atttWaHaKMatgtacatcagctaatggBgaBNSNatatcYStagaatSNattaccgtca +ataaggYMRtaDaatVgYaDaattataRgVaagtgcaNKtgttgacttatHccacHaacV +cWcNMDtatcatttttaHacatKtatagtgccWttaattttBSDaKaHaDttYacDtBgt +MNgggBaaaaattDaaVMaKgatcggKtgtctatctctVatcDtaagaagtgtaMcWatD +ggaaaaaYtcDVtNttcNacgaYtcgatHctctaWgaaggtMttcKtcttaMgtctKNag +cRWcgBVtcBDatYKtctaVaaaBgtaRagcacggcaHHagcagaaaaacgggtataatc +aaWtacYcWtcctaBgVVaBagHaaaaaatataRYagaacgggVtttcHaMtNtMgcgaa +atKtattaagtMttatcttWttttRaatatgttatgtatttRaagKtBgtgHtHDggaBD +tWccattcKtttagtttagtBYcDaMBtgatcttgacatKctBcaaaacaHtatggaNaV +ttcgttatttttttcaaDtDDaatcaaaYaaBHttaMKMVgctgWtacVtRaaactgYtc +atggcVHtgattRttataBtcgaaRataDttaatcattHtatatccNattcaaHtgKRtR +tagtKaRWaataYaggatccacttcacaatgtgatMaggactNaaccaaMaaKtagaaMc +tacttDSaaaWSgctcagtWaataWaHtStMacttaDtgagWaaaatatttatcaacaac +tRtDgYcYtatatgtataatWtagccaagcgtttataatDgctgVaaagHaattagaatB +WggttctBaNtactHtKBtcgaaaRttHBatDaaKccaSHgtgctWttcBaatcctYttg +aHacgtatgagStatRtMaacKacacggaaSctagDagNttgaKKSgtttctacgtagSa +taHttDctggBcYtttaaatcgRgagagaDtgRSaVStggVtgacgtMtatgaaNtWtHg +tDaDtgttNaSVagaattccgcttVatatacattatataYtaggYaaaRDHttHYDtNgc +atHggctattYtaMcWaaVtaNtatttHaagBtatcagatHtttgaaWWtttKaaaggBt +attHagtaacactDggtattttScttaaaacaStcaacHttMtatcagatSaHtaVtBaN +YcttHcatgHatagaaggggaWgtgBtttagtVttgacatYtKtattaYSggtaaaHgca +ggaStHtYcgtaaDWgtaaaMcgYtNHtgNgcttttataWatttKWaaKtHattgRtBtM +MccgtBtYttgaKaWBatcBgaaacaBgaagatYgKWaaacBgatgtDaaacttDcacga +tSKtaVaRDWtVKgHtcRattactctattBacaaactaatgDtaatcatatKRattSggt +cggRMaaHVtgttMcgatatcccgVctKMgBactVtWtBKtgWtaaaVaatRgKatttKS +aYHtcVBNtgStgtatNStaaccgttaaaaYactBgaaaaattacacVttKattVNgaMa +ttNccctaVtaaStctgaaVatactgtctaaaKYNDtataWtattaaNgtHtaWgaBMtt +ttccaaaDcgctgagBacacttctDSctcMtBtNccaacaaatSVtatWggagSattKat +RBaaaNtNtttagacttaagtHttaatcgtWctHaMBaHtaaagKaaKttgatattttgK +cgtcDtgtKtHagDtMtatgatcttgtcSgtWgctaaaaattDaaaNgNYtMttNHgtHB +ataatMgMttctDcgtNtNatggKatHtaaRtRtDStttRVcaatKgaaRSRtBttatcc +ataaMttagcaaWtagtVgaVBatcVtYtagttgtaMactaaataDatagNttttactag +cgcKctDatatDgaHtRatVWagaDtttcggSKataacaggaaKggMtttctaVttMaat +gattcgaagcgattaNNtYactttKgaatWttNNgctatatgttacKaMtaaDgtKgttB +ttHtDacaagaaRgDgttWtaatgVBcaaccatgcYggtRcctaaDaaHcatYNaaVDNt +BgtBaattYYgcHttRctattVtattgttcKaaatagtacccttgcVtaaHttaagaKta +agSaYtgcacttDattYttaVgRcacaattDDttagattttcHagccaYaataKaatccV +DKctNcctcaaBccaaBaYgKacWVtWttatgcSatcDHttattaacaagaacRSactBH +ttDaBBBcacgttactHaKgacaKtaWMcHtaVHttaattcgttatatBaaagatgaact +aaYgDNattNaHgHKtaatcctcttcHttagaatVcagaHtagBgtMataattaagtcSR +catSagMagaaaacgYacgagcacgBcggacaHKaaBatSatagtatcDttRHtcagtDt +aStYtagaaagtYNHtgaacaatgcgataaNgtNVagtacccctBcgaYWaactRtDtat +ttKatBccVKtHttNcttVtgaKMtgcttggcgaNatctcKggtcttttataaacWaBtt +cgHtcaHtcgatcgcggccaHaagcVgKattBaaWttKcttaVaagYaVacagaacgcSc +DcgatataagttttacaaKcaaaBcYcHKctRagcgaatgtScBagMttYHtaatHcKKt +gggatgKSaaatactgWBHVcagHcttVBgYDtaVtcctcatRcVKcNaaYaBtatttta +tRtVtDaaScgtatacMatcaaactagtaKataaatStHtacaagagttgtYatctagaB +aHSYtaaataaaStacaHagWSRSDtagtatggctgaKtaRctaaagBtactcttatgBc +HcNtNRNtHataaccRttagatataaHtacScgtattgttgtDcctaYRaattccaNatg +tgctaaaactMcaWttgttgVMaSgtaVaSctMcagtcacNaWacgaatWtaRtaatSga +tgaaWtaaWcgtttHtWcttgatKtgDtDMcagtcattcacttgaaatactWgtattcHt +tcataactgctgtgtKatRagtaatttYgNcaatcBctgtStaggtaMatacgtYaRNtg +NaHtNccRtgcSHgRcaatttVcctattaBKtgYtaMaactRaaaaBaattHHtatVNWY +HaatcagtaMVtttctattWHtttacaaVccDctYtttVtNtRRKtBgatHtBcaatHYa +SgaagaagHagtttDaVaattVactactYcaDtKttgVVVtaWtggctaSttgtaataDc +tWactcaRttWcMSYtWagaagttctKHcgKtDaYggaDttgtgtataacaRKctaactt +cYaDtccNaNttaYtaatagRttaSagaatBtVRtaatcttatgcgtWtataaWgHataa +tttYYSttYcggKKtaHcttttagHDDBtggtttaaacatagaRagtVagactttacKaW +DMacgYaacctgctKaNattggatggNgtKcYSttttcctttDtYttBcatgattSHaac +cVtccatctcccacDBtgaWBaMaaccgttttcttaaMgScBNatBtagtcttccttatK +BRcctggtVStatagcDgMgtacattacccattKKtaRcRatRctYVaSagttatatYtc +gNDDggKaHggcccgcRtacgDtcYctgaaacHtatattaVtcaattaaatgaWaBggYt +HYYaVagWacaNtDtaRattgRacRtacacatgHtagagtaatatttctgDDcttgNDag +cctaaHtatYHtKtRaScgtattMttacaacHggttttatSgaHVVgaattaatagttat +tactgtRtaWgataMDaaaactgNYacYtagKtaRcaYDHatatVatggctKtWatHaNt +taatttttgtaagcctggcgKataaNtttRMNggDtataaaatVcMRataacagctMatB +gMtaaVcgagattcaaaSgtgKacgtDHatWaatgttcDtWatgYcWRttcatBSHtttg +aatatBgaaWgggaaBcctSSVaagctSctagYatDggtatatgtaatatgtatgHYcRt +agagtHcgggcataDHattcaaattcRgcaaaataagattcaaYVtaBtaagRagtttgS +RtgRYKgWggtttaaHgcHStgtggtctaHaccaccSaaaattaHatgttVtataccaga +atDKVtctagtttcaatgtNctaccgDcacgaattacactatgaaggccKVatccaSWaa +KHtttSggatgagMagttgcaatatKYtacBttaccatHRttaacttacaDKKtaKaDcH +HcaYatatgMagaRaNNttcggagYRtacMtHgacttagacBaagggBatcttgaRDact +gatacatatcSBggtaaaVWgMaatttaYtaWacHattDMtttaaaRRScatcttctaat +acagtBVgtgtttBagtatgBNcaagHaaaSaSYKcacMtKatggcacgcctSRaagcat +aattaYacctMaaKtcggaBaVaaWaDMttgccttaaacttDaaHacNVtgagaatacca +ctctMttaatcttHcctttaggaKgaggWtaNataYgtaggtgaagtcWDcWaBatattR +tVgtRgVtataacDDNttatcYaaaagcaVgtYggaDattccgtccDcSttaaWtttcaa +aatggataSatctRYcaaBctMMtcttaacMaSgDatgagatcaYgctcacHccMgaaca +tcDNgtNRcgBaaatagaYgatgcttRaattStccttgagcctaVaagggatatcagtaN +MttaaHcMaatccScBtYaYttatgaMNagtgHaatHacaHaBaaDtaRNDNcBtagBga +catStagacttgtaatMtYaNaKSaccBtttHcDaHNBttBaacSaggagaacgWcMgtR +caagattSctgtaBtcaatMtaHgcaaccataVgtaagDRcDcggaaccaBtacVMgStt +gtcataaaaacaMataHatgttaacaaMgtacgtMVcatagYtKgtgtcctaBcYKattc +aggBaaHagStcNcattatRRaSYtYDRaHYttttggaRggggttatKcVtHgctggaNt +taagagBaacattggYaaDcSacggYaRttacaacactcDcacBDtYataaaaDWtctca +ggVtaYttKtaVKtDSaMtYtYcgtaacHtRcHctaacBgattttagHaScDctHttaaa +atVaHttggttatttDtatHtcaHcBagSttttDctttWtctaaataaWtHYtRgtBccS +aaDSaNgatcSttaaaatgaYgKaaDaVatatYaRaHDtataKaNtagtacataggSaat +MtctMtccctWgaYtaggataMttcgtacgccYgBSgttaaHgctRgRgtDVSRattttt +taaKtRMtatSgRaatKacMaYgggtagBgNHcgYRagHcatatgtgaacMtacSDRMHa +aacHaagtWSMcaattcagtDctBattgttcatttMBaDVHVDBtaatKactNacgcBYt +ttgatctatVVtatcKaKSgtaWcgtcgNYatSaRtcaggaRtctattagattKHttYaa +BtcacatataattMgtatcataKKatDVtWtaHtHHVaggaaHagWaHtattgtDaHRga +tgtaaaWaaSStMatttgNtgtcagDWgagaBagtcattaataggagttcagcHttgWag +aWcRttaKttaDgaDWtYacMWgRaatatccMtaaattRaatacaKYcgcatgtatgtNa +ccataSttSatttttcgatcttcaaKcMDatgaattcaMWctKNcHtctacaYgatgcaB +tDDWtaRtScaYaatYSgBtDcaacYataacgcDgtaacMtSaaKcKttttDVgttgtaa +NcaattctcaataaatcSVcKaacattgggacatgaaaacggaggagtacDYgatMYtta +aaBBctccYgcgagccHattttaWtataYcaKaaDYaaaStMctSattaatataNaWcac +aataVtcatacaHcgMgaatYgaataatRcWcgtttcNDYcacaaacacaNttttaatct +aKtRttHDSttccWatatagtKtgtcgaccaBgtVacNaYBHgtttSSagcNtctacctt +taacgacaDcWVacSHcaNacatttgBYaaagatWagaacYMatcKgBYcBggtaWatat +aKcNgaaaattHYtSaYDVHSactgttNRgaaaMBtatataaaaacVtctWtgKggtatD +BgHaKaHVcMWtYYBaaattaVtcgaaacatggagYKtaaaacagttNtttatcatgcta +gYcctctNgttctgctaYttBataaRtattgatgaaactagttBgagtcttccatBagat +ctBaaagSacagtaaStaaatatataataatcttaactatVtaaBattHcHgcttSSaaD +RaKtataagggKaacRagBaggtaMYttggtacMatMttttYttaacttaBaYaaaatKg +tactactKDctcttgaDtMgattgVgcRaaaKattaatataagWgttcaWgtcaKtatcg +acatDaaSatHtttcagcNtatSggtgtaRtgatttStBaNaHgcagttaggggatWttt +gattttatcgaBtctaggcgtgtgtWttttaaSaWKctWggtgataaaattacBtMRtat +ccattaaSWttaSMcYtHtaacttaaBaDattctatKatctttcatDtcgNcgacttgta +aaattDcaVatRacatgaaagtcctgtctcatacatatcSWgNDttgaaVKatNacDgga +gWaaatgaaVNtttBataaagVttVataataYcNMVaNaKaatRMcagNacVRactcWgc +tttNatHaRaBRtaaatRtaKtNgYWattaatcttaRttgttcttaaWaaagttcNVtag +MaBatcVcgccDaaBMgKttgaVaaccgYtRaactttYtcatgattgtWSaaBatagtag +SataDgatgNtaWatcaMttaHattagVtggagaNHtaatatctNaagaDBatcttttaR +aaNtBYagtaacVttYBtaagcaaaMatcNgKaggacagagtgaRatWaDaaSaDaaatt +VgcWttatBNctgSagtctgcSttacSRtgatHDgggcBagccDtatYaaagaataDgat +DaBttagctatcHtcWtagggagtDtSaaacagtagcttVatgttggcStataacttVta +atWKtatDatcttcDaagactgtgDNBaccaattaacaaagaaHWtatttaacattWaat +gttcMttaNNcYaRccHtacRagatccKaaYactcVRDtcHVtgaaNaSatctRSaWtag +agtcgcaataDcagBaagtctSNagaaaKgttataStaatagStaatSatataWttctcg +taDgtYRcgtHttaKtcDttRaatNacYgtagVaattNttttatDgKcttttSaaattYc +gYBaaggttctagYcBataacVcagggaWtaKtacatgcYcctatccDatatagtcRaaa +SMgtggaatcaaMaatWcgctagggtcattaVtctaatgHcaSHtcacttBaagaMDtac +tYgtttgWgacccStDtagaDaBtgctctttKaaaatMttNStggtttatWttYttatKM +KgtctaKcgaBaaaattcccgacYtBcaKaKttRccaaBaWgMaMatgtWtcRDWttcgg +acNctataaacKaaatHatggDatSaaKtgcgRaaacgtgttcatNtgHtcaataaacaa +WMKatattcWaKcNaccWtggttcctBaMttgRtggtWtaaVggDgttaDaScgWccWHa +tacaagtaHtaacttWaNatgtgttaacKaVtcataDMattgtaKccttttttStaaDDt +HYattNtcgatataBattctWRatMVtStaSaWttNRacgatagtRcgcRtcctttacag +BKaaVcYtRaKatVtaWttaVggBBatcaaWatgtggagattDgWtttcaataDtactRa +atBattWVacttWVNtVagHaHtatttaVagtRMMtaBattatataaNaagatHBtgtat +VtaaacatttagtccaKDcacgWaaHagttVKBgcgRaSYtttVcgaacaBatttaatct +aSYtccNtcatctatttatBaHcattcaBgDMYtactgScccttRctaagtaaNtaaaaa +ttatggtVataaagVStcaatcacgcDaatgtaacatDBagtcgaaRDaSactgcagaHg +ttYatgaVgtNccttcaKHgcgataDcgYtgtgBatcacScgctBcVttttcYaaNtttt +tatcBaatgataYgtgttgtatgaVcBagtatagtNaRaaatKVtcRtcWatctaattgt +VgataaMataWagaDttaatRcgctaKHgaRagtDctScatNgHgtKgtDtHBVgYcaga +tgttagcgaataaNBactBaaRaWcRcMctctBtWKaggcaataatSYtccagtRtaSVt +RgatctaBgDNDtBgtttgtaNtWtaatatDtataacgccDttcaMaMatgRtgaaaMHa +tgBaatgcccDagNgttRDcWtaaaKtMSaBgctgcaatgtSVattRWcBtDaaMKRccc +WtVttaaatatttctgtcatNBgaaaatHtttWtYtttcaacaaagaaNYBaatatctga +tNtgaacaaMaaYcNgtgatttWtNaatWcYMScMctaaStttNgHtMacgtMDtgagca +ttcacWtttKttBtKaKcHaBtttaBacgaaNYaaaatBaatNHgaaatMtagatDcaag +MtaattctKtgNtScaatagcaHDagtagagSRcagcaagaccYHtaNtBatKtStcRag +tgttMaYgtgggtNatSaatStcYtaBaSBtaggtctMtatcatgaattactcYtNagaa +aDtggaaatKBattaaatcWgKtStKtcaWMggaattYtggccgaWcacagaNWaNgaac +aYaHgaVtMctVHttaKDcctNccBKMDagtatgcHtttaaaDaggtgHtattcatattt +aagcBaaaRcSgttaaatgWacRatacaaatgBatYatatRBcacaVataRaKWMcDWtS +aatatHattcVgMKYtgtaVBtgagattRgaatgaDgtcaStacgctaggRggtSagKcW +YctacaagtttBtgaBttacgaStHgVaStgtaRtacaDccNDattSRgttatMtNtttt +WHacDtttVtgacgYattccWctaagtgaaaMMatgNtctaataRctgaacatttVcNtg +tttgaggcaaagtatgVgtaVtgRDcttBDtataaMBatatNgataataHaaaNacaStg +aNaHgYtgacagtcYDggagattNcaDtKgtagMaacSHRtcagNagatKcatataVata +ctgRVatgBtatcgttattHtHcKaDtagRagtgHtaDcVtatacattacggcaKttatt +gacatDaatgtctcattVcaRcttttgDtNHSggcttaYDcHaatcDYacccWaMttgRt +NggYtttttggDgctacVDtBMgBaDgtMaaBgctBVttVagaHBaaaaatgNactaatt +attNagaagNVaBgVtRgggatacgctgMtgaccatMaaDYDaagctggtcaatggtatB +tNtccWtWKcaNcBttactgtgBYDaMtMtcWaatctWYHatccgWtataaaNNacNgct +YagtaaaRtaaYggcagaMaagggttHaatatcaccVtagtggcgtMtagtcaYaaRttW +gBtctgaaBtKattaatYtacaatcKcacNcMDtgtactatcDcgRtaaYagattgccMt +gtYKaRaWHgtaccttagcRaWaagDataccagcatcYtcaaSgVacatttaSttSVDSc +tactgaNctatVattttacgaggWgtaaaKtcNgatgttgcaaNVttagRtttttRttYY +aYcaaagcVDMaaRaRtccVcSattttcaattagWattMMctataWatggtaagagRaaa +ttYKKtgatagcMYgcVcgggStattacgBBctNtRgacaacYHctctNtataattBttS +taRaaaatctgtWatcRacaaMtattYttKtccaatcSttatgtaWttcgcaaWgtWNcB +ccRgtBagNgYtDctatccMaagtgcYMtYctYttgtcVaaHtatgcBaaBcgaataatt +cttcDaacaaacBtagWYaagcaVacYcKYttgSaKVcttccgcctcattctcaatgVga +aacatWWctgcagtttctttttMagWttatRggcattattVaagaBBttatctattatMc +NtaacagttgaaaBaRtaRRtNtataYNtttNtcctaVBtatNtNgBtaHHYDttKctaD +ctcaNcatgDaYatgYagaDcaHgactHgWWaagWtSttctagKaaggYtcataYgBtcc +RaggggaaaHagaacaDatgaaaatcaKtattgWacgtcMSaacYaYgcWYNgagtaMgt +SccgaaaaaatctggaMMRaaaataatctaaacgatatgDaggaVKcttttaatgacBtt +NYttagtatDagYttWctttNgtHtcVtattHtcHacattatHgNStgtSaNaactVMca +atcccBHNatcttDtcgaKccKttatttctVRaagttaMtaYtcttcatMYRctttRtaM +gSaaaactgWacHagtacccatttcgcatgagtaaagtHcaKgVBtaattatBtttWatg +MctccattgactattcttgtcatSttaaHaVtKtDcatcatatccaacKatattatNggN +aRatcMSDHRtcctYRaatccacYaatBattcttBVctatatttRNtgaNtcaaaRgtaB +cttaaDRcgctacWcttgatatctHttttgtNtYatatacgaVBgYHgattgggtcgaca +cDtttKVcaattWRcaagBtgctDKDaYtttcKgNgggtcacVagatMgtMVgVgatttc +agtcgtgKgtKYgtYSaMtgataatNggattKNgaSggactaaBagataacactcataVg +ttataaSacaatcRRaagtaDaagDYtcactgtgaVttWtBaMttttgaHtKaYtattcc +agccaaBaggataaRtBatNcatgtatatttcttacaaYVNatagaaagaSaaaagaaat +SaBgtcgattacattgWccttHNattataacgVRDtYcWgaaYaVgMttcttgtDtKaYV +ttctgggSNtaYHWaaHactaaSSagttgSaaactYaMttaMaHVRtcgattaccHtcgc +gatgNcaYtatattacgcHaaaMNMtaYDgacaggRgaYVtVKcaSVcWMBBaWaWcagt +atHaWBNaMcBtatccatgaScHtYtgactcattgaYatRtacttYtctttgBgtattaa +DtcaHgcNcaVatagtttggggRaaaccWcNNttRBgaaRKgaaNtMaagcVacgtgtta +aMYWtcBYtgagtaatcgttttaatcgaaaagttDcaatgtggtBaBcNtgNatBtggac +tttagYttBcgttRttatSgacNaDttatRKacactgcSKaVaaaRgHaattaaaRctga +tKaWcctWggWWagccgaactaYccttgtgaBHggcYttttBccttaggaKtaaaBacVD +cBYYgaWagaKtaHaaactaNttatagtcttttacgaccctttKattWcgHgcaDccctH +ttatVVaagKaatatgggMaNHagattgNStatBatcgaaYgcVcagaatcctcYtBKDa +tatcNKgacaatKDatgaaacgaaatYYcgNBDtataatMcRWtaagtataHgMaVggca +aDtggttcVattattaaaatSVaMaNcDBttataYgttttStacattgagagtccaNtga +atttttKtStatatttRaatttcgBDccctaaSWatttaaMBStcatacctgctctatct +atKatatgaacaactctWBaNagtcgYaaaaRtctMtDgtaBaacaNtacagtcgataNg +aVccgtttattatgatctagtDSgaHNcctKtcttatNtgatYKaaStctWDVcaaccga +VttScaagaaaaVcccggagWatcVaNtVaRcNtcagatcMMatactaaaWaagatYHRW +caSagcgMtttatSBtBtBgacRaVgtgattaagtBgtatcgtNggggDaWgagctgatc +tatttHaactttcgcttttccatttNaaYgtattttactttacttRataBttgataggga +cattattaaSaaaYtgatggaDaMttacttatttttttaaWttttaataaWaNaattgta +BtBMcatcNtaaMtDaaaatcRgcatccaMtggWggHggagSttacaYHatYtgtaatca +tttgVtataaDVttcaYttctHtHtagttWHNYYtVRVccatacaattaaaYatcgcatB +agcaatDaWacVaBWattagaaBataatgtKaaaNKcagaactNaagaNatgKtBSctga +ttgWcNaaSataggtataaacVaatDttcRaRtVtVtgtataagMtSccaSScagttgat +YattcagcMaaWctaagtYcSattNccgtcgtaBtaattgttgacaaaDttttattaata +cSKtcgcatNttatWatacgRtgcataactYtcacHgVgHttYaataaWacgSVKatact +agDggcattKctggataagtVgKYtatgttagcgtaRtttaaagacHgacacattcHKaM +KtcgKtcacggtgatcaaBtMttcttattcttDaKKVgWagtaacatgKatVgacattag +WtaRtaccRaaVHtttttRtgBccagtcgctagtRtaBcMVWMtaBtaggttaYcttaga +SgYgttttcaaNNgtttVaagctgStttactaacWattcgtVgtgtKcgtYaaaaaKtaS +aattgBtYgaVcagKatgaMttWDRatgtaatctagacWaccgcaNgtctgtgagtMttg +aaatNtttattaRKcgtaWatcaWccaKtttNactaatNcgVaaBcgRgDttcDcatttg +agWNattttNaYtttatgcHtttBBacgttgRgtcataNtatatcaWVcatgaacatRgt +NaWaatcaggttaaSctttcaacatHttVKaHtNtMtcttcHattYatcgatgtacSaaa +taVtcttYStaagattDagtKccgaccHBYatMtcggBacatVtaaagMcttBgtSagKg +NttttcNtSaaMaStHgtattttKaRttaMtDtcKtcgagDKgaaaacttaaaWNaattg +aWWaaggaaacKtttVggMBcatattDacctaMgaaKgcgcaaMRtaatcgataaatRDt +tataNtVgtaVDggttaNgatBgtggcaaYWtagctcWgtSaacgtattKcgcBtttDac +aaaaaStKMtatNccagKatgtVtHtWaSBgDttgWgaattWagttttaagcctNcttaB +tYttaRactaattggagagggtctagtatgggtttacttBtatcatatgctaKggNcata +aaSatgtaaaDcDRtBggDtctttataattcBgtcgtactDtDagcctatttSVHtHttK +tgtHMaSattgWaHKHttttagacatWatgtRgaaaNtactMcSMtYtcMgRtacttctW +BacgaaatatagScDtttgaagacacatagtVgYgtcattHWtMMWcStgttaggKtSga +YaaccWStcgBttgcgaMttBYatcWtgacaYcagagtaBDtRacttttcWatMttDBca +tWtatcttactaBgaYtcttgttttttttYaaScYaHgtgttNtSatcMtcVaaaStccR +cctDaataataStcYtRDSaMtDttgttSagtRRcatttHatSttMtWgtcgtatSSaga +ctYaaattcaMtWatttaSgYttaRgKaRtccactttattRggaMcDaWaWagttttgac +atgttctacaaaRaatataataaMttcgDacgaSStacaStYRctVaNMtMgtaggcKat +cttttattaaaaagVWaHKYagtttttatttaaccttacgtVtcVaattVMBcttaMttt +aStgacttagattWWacVtgWYagWVRctDattBYtgtttaagaagattattgacVatMa +acattVctgtBSgaVtgWWggaKHaatKWcBScSWaaccRVacacaaactaccScattRa +tatKVtactatatttHttaagtttSKtRtacaaagtRDttcaaaaWgcacatWaDgtDKa +cgaacaattacaRNWaatHtttStgttattaaMtgttgDcgtMgcatBtgcttcgcgaDW +gagctgcgaggggVtaaScNatttacttaatgacagcccccacatYScaMgtaggtYaNg +ttctgaMaacNaMRaacaaacaKctacatagYWctgttWaaataaaataRattagHacac +aagcgKatacBttRttaagtatttccgatctHSaatactcNttMaagtattMtgRtgaMg +cataatHcMtaBSaRattagttgatHtMttaaKaggYtaaBataSaVatactWtataVWg +KgttaaaacagtgcgRatatacatVtHRtVYataSaKtWaStVcNKHKttactatccctc +atgWHatWaRcttactaggatctataDtDHBttataaaaHgtacVtagaYttYaKcctat +tcttcttaataNDaaggaaaDYgcggctaaWSctBaaNtgctggMBaKctaMVKagBaac +taWaDaMaccYVtNtaHtVWtKgRtcaaNtYaNacggtttNattgVtttctgtBaWgtaa +ttcaagtcaVWtactNggattctttaYtaaagccgctcttagHVggaYtgtNcDaVagct +ctctKgacgtatagYcctRYHDtgBattDaaDgccKtcHaaStttMcctagtattgcRgW +BaVatHaaaataYtgtttagMDMRtaataaggatMtttctWgtNtgtgaaaaMaatatRt +ttMtDgHHtgtcattttcWattRSHcVagaagtacgggtaKVattKYagactNaatgttt +gKMMgYNtcccgSKttctaStatatNVataYHgtNaBKRgNacaactgatttcctttaNc +gatttctctataScaHtataRagtcRVttacDSDttaRtSatacHgtSKacYagttMHtW +ataggatgactNtatSaNctataVtttRNKtgRacctttYtatgttactttttcctttaa +acatacaHactMacacggtWataMtBVacRaSaatccgtaBVttccagccBcttaRKtgt +gcctttttRtgtcagcRttKtaaacKtaaatctcacaattgcaNtSBaaccgggttatta +aBcKatDagttactcttcattVtttHaaggctKKgatacatcBggScagtVcacattttg +aHaDSgHatRMaHWggtatatRgccDttcgtatcgaaacaHtaagttaRatgaVacttag +attVKtaaYttaaatcaNatccRttRRaMScNaaaDgttVHWgtcHaaHgacVaWtgttS +cactaagSgttatcttagggDtaccagWattWtRtgttHWHacgattBtgVcaYatcggt +tgagKcWtKKcaVtgaYgWctgYggVctgtHgaNcVtaBtWaaYatcDRaaRtSctgaHa +YRttagatMatgcatttNattaDttaattgttctaaccctcccctagaWBtttHtBcctt +agaVaatMcBHagaVcWcagBVttcBtaYMccagatgaaaaHctctaacgttagNWRtcg +gattNatcRaNHttcagtKttttgWatWttcSaNgggaWtactKKMaacatKatacNatt +gctWtatctaVgagctatgtRaHtYcWcttagccaatYttWttaWSSttaHcaaaaagVa +cVgtaVaRMgattaVcDactttcHHggHRtgNcctttYatcatKgctcctctatVcaaaa +KaaaagtatatctgMtWtaaaacaStttMtcgactttaSatcgDataaactaaacaagta +aVctaggaSccaatMVtaaSKNVattttgHccatcacBVctgcaVatVttRtactgtVca +attHgtaaattaaattttYtatattaaRSgYtgBagaHSBDgtagcacRHtYcBgtcact +tacactaYcgctWtattgSHtSatcataaatataHtcgtYaaMNgBaatttaRgaMaata +tttBtttaaaHHKaatctgatWatYaacttMctcttttVctagctDaaagtaVaKaKRta +acBgtatccaaccactHHaagaagaaggaNaaatBWattccgStaMSaMatBttgcatgR +SacgttVVtaaDMtcSgVatWcaSatcttttVatagttactttacgatcaccNtaDVgSR +cgVcgtgaacgaNtaNatatagtHtMgtHcMtagaaattBgtataRaaaacaYKgtRccY +tatgaagtaataKgtaaMttgaaRVatgcagaKStctHNaaatctBBtcttaYaBWHgtV +tgacagcaRcataWctcaBcYacYgatDgtDHcctaaagacYRcaggattHaYgtKtaat +gcVcaataMYacccatatcacgWDBtgaatcBaatacKcttRaRtgatgaBDacggtaat +taaYtataStgVHDtDctgactcaaatKtacaatgcgYatBtRaDatHaactgtttatat +DttttaaaKVccYcaaccNcBcgHaaVcattHctcgattaaatBtatgcaaaaatYMctS +actHatacgaWacattacMBgHttcgaatVaaaacaBatatVtctgaaaaWtctRacgBM +aatSgRgtgtcgactatcRtattaScctaStagKgaDcWgtYtDDWKRgRtHatRtggtc +gaHgggcgtattaMgtcagccaBggWVcWctVaaattcgNaatcKWagcNaHtgaaaSaa +agctcYctttRVtaaaatNtataaccKtaRgtttaMtgtKaBtRtNaggaSattHatatW +actcagtgtactaKctatttgRYYatKatgtccgtRtttttatttaatatVgKtttgtat +gtNtataRatWYNgtRtHggtaaKaYtKSDcatcKgtaaYatcSRctaVtSMWtVtRWHa +tttagataDtVggacagVcgKWagBgatBtaaagNcaRtagcataBggactaacacRctK +gttaatcctHgDgttKHHagttgttaatgHBtatHcDaagtVaBaRccctVgtgDtacRH +SctaagagcggWYaBtSaKtHBtaaactYacgNKBaVYgtaacttagtVttcttaatgtB +tatMtMtttaattaatBWccatRtttcatagVgMMtagctStKctaMactacDNYgKYHg +aWcgaHgagattacVgtttgtRaSttaWaVgataatgtgtYtaStattattMtNgWtgtt +KaccaatagNYttattcgtatHcWtctaaaNVYKKttWtggcDtcgaagtNcagatacgc +attaagaccWctgcagcttggNSgaNcHggatgtVtcatNtRaaBNcHVagagaaBtaaS +ggDaatWaatRccaVgggStctDaacataKttKatttggacYtattcSatcttagcaatg +aVBMcttDattctYaaRgatgcattttNgVHtKcYRaatRKctgtaaacRatVSagctgt +WacBtKVatctgttttKcgtctaaDcaagtatcSataWVgcKKataWaYttcccSaatga +aaacccWgcRctWatNcWtBRttYaattataaNgacacaatagtttVNtataNaYtaatR +aVWKtBatKagtaatataDaNaaaaataMtaagaaStccBcaatNgaataWtHaNactgt +cDtRcYaaVaaaaaDgtttRatctatgHtgttKtgaaNSgatactttcgagWaaatctKa +aDaRttgtggKKagcDgataaattgSaacWaVtaNMacKtcaDaaatttctRaaVcagNa +caScRBatatctRatcctaNatWgRtcDcSaWSgttRtKaRtMtKaatgttBHcYaaBtg +atSgaSWaScMgatNtctcctatttctYtatMatMtRRtSaattaMtagaaaaStcgVgR +ttSVaScagtgDtttatcatcatacRcatatDcttatcatVRtttataaHtattcYtcaa +aatactttgVctagtaaYttagatagtSYacKaaacgaaKtaaatagataatSatatgaa +atSgKtaatVtttatcctgKHaatHattagaaccgtYaaHactRcggSBNgtgctaaBag +BttgtRttaaattYtVRaaaattgtaatVatttctcttcatgBcVgtgKgaHaaatattY +atagWacNctgaaMcgaattStagWaSgtaaKagttttaagaDgatKcctgtaHtcatgg +KttVDatcaaggtYcgccagNgtgcVttttagagatgctaccacggggtNttttaSHaNt +atNcctcatSaaVgtactgBHtagcaYggYVKNgtaKBcRttgaWatgaatVtagtcgat +tYgatgtaatttacDacSctgctaaaStttaWMagDaaatcaVYctccgggcgaVtaaWt +StaKMgDtttcaaMtVgBaatccagNaaatcYRMBggttWtaaScKttMWtYataRaDBM +aDataatHBcacDaaKDactaMgagttDattaHatHtaYatDtattDcRNStgaatattS +DttggtattaaNSYacttcDMgYgBatWtaMagactVWttctttgYMaYaacRgHWaatt +gRtaagcattctMKVStatactacHVtatgatcBtVNataaBttYtSttacKgggWgYDt +gaVtYgatDaacattYgatggtRDaVDttNactaSaMtgNttaacaaSaBStcDctacca +cagacgcaHatMataWKYtaYattMcaMtgSttDagcHacgatcaHttYaKHggagttcc +gatYcaatgatRaVRcaagatcagtatggScctatattaNtagcgacgtgKaaWaactSg +agtMYtcttccaKtStaacggMtaagNttattatcgtctaRcactctctDtaacWYtgaY +aSaagaWtNtatttRacatgNaatgttattgWDDcNaHcctgaaHacSgaataaRaataM +HttatMtgaSDSKatatHHaNtacagtccaYatWtcactaactatKDacSaStcggataH +gYatagKtaatKagStaNgtatactatggRHacttgtattatgtDVagDVaRctacMYat +tDgtttYgtctatggtKaRSttRccRtaaccttagagRatagSaaMaacgcaNtatgaaa +tcaRaagataatagatactcHaaYKBctccaagaRaBaStNagataggcgaatgaMtaga +atgtcaKttaaatgtaWcaBttaatRcggtgNcacaaKtttScRtWtgcatagtttWYaa +gBttDKgcctttatMggNttattBtctagVtacataaaYttacacaaRttcYtWttgHca +YYtaMgBaBatctNgcDtNttacgacDcgataaSatYaSttWtcctatKaatgcagHaVa +acgctgcatDtgttaSataaaaYSNttatagtaNYtaDaaaNtggggacttaBggcHgcg +tNtaaMcctggtVtaKcgNacNtatVaSWctWtgaWcggNaBagctctgaYataMgaaga +tBSttctatacttgtgtKtaattttRagtDtacatatatatgatNHVgBMtKtaKaNttD +HaagatactHaccHtcatttaaagttVaMcNgHatatKtaNtgYMccttatcaaNagctg +gacStttcNtggcaVtattactHaSttatgNMVattMMDtMactattattgWMSgtHBtt +StStgatatRaDaagattttctatMtaaaaaggtactaaVttaSacNaatactgMttgac +HaHRttgMacaaaatagttaatatWKRgacDgaRtatatttattatcYttaWtgtBRtWa +tgHaaattHataagtVaDtWaVaWtgStcgtMSgaSRgMKtaaataVacataatgtaSaa +tttagtcgaaHtaKaatgcacatcggRaggSKctDcagtcSttcccStYtccRtctctYt +caaKcgagtaMttttcRaYDttgttatctaatcataNctctgctatcaMatactataggD +aHaaSttMtaDtcNatataattctMcStaaBYtaNagatgtaatHagagSttgWHVctta +tKaYgDctcttggtgttMcRaVgSgggtagacaataaDtaattSaDaNaHaBctattgNt +accaaRgaVtKNtaaYggHtaKKgHcatctWtctDtttctttggSDtNtaStagttataa +acaattgcaBaBWggHgcaaaBtYgctaatgaaatWcDcttHtcMtWWattBHatcatca +aatctKMagtDNatttWaBtHaaaNgMttaaStagttctctaatDtcRVaYttgttMtRt +gtcaSaaYVgSWDRtaatagctcagDgcWWaaaBaaRaBctgVgggNgDWStNaNBKcBc +taaKtttDcttBaaggBttgaccatgaaaNgttttttttatctatgttataccaaDRaaS +agtaVtDtcaWatBtacattaWacttaSgtattggDgKaaatScaattacgWcagKHaac +caYcRcaRttaDttRtttHgaHVggcttBaRgtccctDatKaVtKtcRgYtaKttacgta +tBtStaagcaattaagaRgBagSaattccSWYtttattVaataNctgHgttaaNBgcVYg +tRtcccagWNaaaacaDNaBcaaaaRVtcWMgBagMtttattacgDacttBtactatcat +tggaaatVccggttRttcatagttVYcatYaSHaHcttaaagcNWaHataaaRWtctVtR +YtagHtaaaYMataHYtNBctNtKaatattStgaMcBtRgctaKtgcScSttDgYatcVt +ggaaKtaagatWccHccgKYctaNNctacaWcttttgcRtgtVcgaKttcMRHgctaHtV +aataaDtatgKDcttatBtDttggNtacttttMtgaacRattaaNagaactcaaaBBVtc +DtcgaStaDctgaaaSgttMaDtcgttcaccaaaaggWtcKcgSMtcDtatgtttStaaB +tatagDcatYatWtaaaBacaKgcaDatgRggaaYctaRtccagattDaWtttggacBaV +cHtHtaacDacYgtaatataMagaatgHMatcttatacgtatttttatattacHactgtt +ataMgStYaattYaccaattgagtcaaattaYtgtatcatgMcaDcgggtcttDtKgcat +gWRtataatatRacacNRBttcHtBgcRttgtgcgtcatacMtttBctatctBaatcatt +MttMYgattaaVYatgDaatVagtattDacaacDMatcMtHcccataagatgBggaccat +tVWtRtSacatgctcaaggggYtttDtaaNgNtaaBatggaatgtctRtaBgBtcNYata +tNRtagaacMgagSaSDDSaDcctRagtVWSHtVSRggaacaBVaccgtttaStagaaca +MtactccagtttVctaaRaaHttNcttagcaatttattaatRtaaaatctaacDaBttgg +SagagctacHtaaRWgattcaaBtctRtSHaNtgtacattVcaHaNaagtataccacaWt +aRtaaVKgMYaWgttaKggKMtKcgWatcaDatYtKSttgtacgaccNctSaattcDcat +cttcaaaDKttacHtggttHggRRaRcaWacaMtBWVHSHgaaMcKattgtaRWttScNa +ttBBatYtaNRgcggaagacHSaattRtttcYgaccBRccMacccKgatgaacttcgDgH +caaaaaRtatatDtatYVtttttHgSHaSaatagctNYtaHYaVYttattNtttgaaaYt +aKttWtctaNtgagaaaNctNDctaaHgttagDcRttatagccBaacgcaRBtRctRtgg +taMYYttWtgataatcgaataattattataVaaaaattacNRVYcaaMacNatRttcKat +MctgaagactaattataaYgcKcaSYaatMNctcaacgtgatttttBacNtgatDccaat +tattKWWcattttatatatgatBcDtaaaagttgaaVtaHtaHHtBtataRBgtgDtaat +aMttRtDgDcttattNtggtctatctaaBcatctaRatgNacWtaatgaagtcMNaacNg +HttatactaWgcNtaStaRgttaaHacccgaYStacaaaatWggaYaWgaattattcMaa +ctcBKaaaRVNcaNRDcYcgaBctKaacaaaaaSgctccYBBHYaVagaatagaaaacag +YtctVccaMtcgtttVatcaatttDRtgWctagtacRttMctgtDctttcKtWttttata +aatgVttgBKtgtKWDaWagMtaaagaaattDVtaggttacatcatttatgtcgMHaVct +taBtVRtcgtaYgBRHatttHgaBcKaYWaatcNSctagtaaaaatttacaatcactSWa +cgtaatgKttWattagttttNaggtctcaagtcactattcttctaagKggaataMgtttc +ataagataaaaatagattatDgcBVHWgaBKttDgcatRHaagcaYcRaattattatgtM +atatattgHDtcaDtcaaaHctStattaatHaccgacNattgatatattttgtgtDtRat +agSacaMtcRtcattcccgacacSattgttKaWattNHcaacttccgtttSRtgtctgDc +gctcaaMagVtBctBMcMcWtgtaacgactctcttRggRKSttgYtYatDccagttDgaK +ccacgVatWcataVaaagaataMgtgataaKYaaatcHDaacgataYctRtcYatcgcaM +gtNttaBttttgatttaRtStgcaacaaaataccVgaaDgtVgDcStctatatttattaa +aaRKDatagaaagaKaaYYcaYSgKStctccSttacagtcNactttDVttagaaagMHtt +RaNcSaRaMgBttattggtttaRMggatggcKDgWRtNaataataWKKacttcKWaaagN +aBttaBatMHtccattaacttccccYtcBcYRtagattaagctaaYBDttaNtgaaaccH +caRMtKtaaHMcNBttaNaNcVcgVttWNtDaBatgataaVtcWKcttRggWatcattga +RagHgaattNtatttctctattaattaatgaDaaMatacgttgggcHaYVaaNaDDttHt +caaHtcVVDgBVagcMacgtgttaaBRNtatRtcagtaagaggtttaagacaVaaggtta +WatctccgtVtaDtcDatttccVatgtacNtttccgtHttatKgScBatgtVgHtYcWag +caKtaMYaaHgtaattaSaHcgcagtWNaatNccNNYcacgVaagaRacttctcattccc +RtgtgtaattagcSttaaStWaMtctNNcSMacattataaactaDgtatWgtagtttaag +aaaattgtagtNagtcaataaatttgatMMYactaatatcggBWDtVcYttcDHtVttat +acYaRgaMaacaStaatcRttttVtagaDtcacWatttWtgaaaagaaagNRacDtttSt +VatBaDNtaactatatcBSMcccaSttccggaMatgattaaWatKMaBaBatttgataNc +tgttKtVaagtcagScgaaaDggaWgtgttttKtWtatttHaatgtagttcactaaKMag +ttSYBtKtaYgaactcagagRtatagtVtatcaaaWYagcgNtaDagtacNSaaYDgatB +gtcgataacYDtaaactacagWDcYKaagtttattagcatcgagttKcatDaattgatta +tDtcagRtWSKtcgNtMaaaaacaMttKcaWcaaSVMaaaccagMVtaMaDtMaHaBgaa +cataBBVtaatVYaNSWcSgNtDNaaKacacBtttatKtgtttcaaHaMctcagtaacgt +cgYtactDcgcctaNgagagcYgatattttaaatttccattttacatttDaaRctatttt +WctttacgtDatYtttcagacgcaaVttagtaaKaaaRtgVtccataBggacttatttgt +ttaWNtgttVWtaWNVDaattgtatttBaagcBtaaBttaaVatcHcaVgacattccNgg +tcgacKttaaaRtagRtctWagaYggtgMtataatMtgaaRttattttgWcttNtDRRgM +DKacagaaaaggaaaRStcccagtYccVattaNaaKStNWtgacaVtagaagcttSaaDt +cacaacgDYacWDYtgtttKatcVtgcMaDaSKStVcgtagaaWaKaagtttcHaHgMgM +tctataagBtKaaaKKcactggagRRttaagaBaaNatVVcgRcKSttDaactagtSttS +attgttgaaRYatggttVttaataaHttccaagDtgatNWtaagHtgcYtaactRgcaat +gMgtgtRaatRaNaacHKtagactactggaatttcgccataacgMctRgatgttacccta +HgtgWaYcactcacYaattcttaBtgacttaaacctgYgaWatgBttcttVttcgttWtt +McNYgtaaaatctYgMgaaattacNgaHgaacDVVMtttggtHtctaaRgtacagacgHt +VtaBMNBgattagcttaRcttacaHcRctgttcaaDBggttKaacatgKtttYataVaNa +ttccgMcgcgtagtRaVVaattaKaatggttRgaMcagtatcWBttNtHagctaatctag +aaNaaacaYBctatcgcVctBtgcaaagDgttVtgaHtactSNYtaaNccatgtgDacga +VtDcgKaRtacDcttgctaagggcagMDagggtBWRtttSgccttttttaacgtcHctaV +tVDtagatcaNMaVtcVacatHctDWNaataRgcgtaVHaggtaaaaSgtttMtattDgB +tctgatSgtRagagYtctSaKWaataMgattRKtaacatttYcgtaacacattRWtBtcg +gtaaatMtaaacBatttctKagtcDtttgcBtKYYBaKttctVttgttaDtgattttctt +ccacttgSaaacggaaaNDaattcYNNaWcgaaYattttMgcBtcatRtgtaaagatgaW +tgaccaYBHgaatagataVVtHtttVgYBtMctaMtcctgaDcYttgtccaaaRNtacag +cMctKaaaggatttacatgtttaaWSaYaKttBtagDacactagctMtttNaKtctttcN +cSattNacttggaacaatDagtattRtgSHaataatgccVgacccgatactatccctgtR +ctttgagaSgatcatatcgDcagWaaHSgctYYWtatHttggttctttatVattatcgac +taagtgtagcatVgtgHMtttgtttcgttaKattcMatttgtttWcaaStNatgtHcaaa +DtaagBaKBtRgaBgDtSagtatMtaacYaatYtVcKatgtgcaacVaaaatactKcRgt +aYtgtNgBBNcKtcttaccttKgaRaYcaNKtactttgagSBtgtRagaNgcaaaNcaca +gtVtttHWatgttaNatBgtttaatNgVtctgaatatcaRtattcttttttttRaaKcRS +tctcggDgKagattaMaaaKtcaHacttaataataKtaRgDtKVBttttcgtKaggHHca +tgttagHggttNctcgtatKKagVagRaaaggaaBtNatttVKcRttaHctaHtcaaatg +taggHccaBataNaNaggttgcWaatctgatYcaaaHaatWtaVgaaBttagtaagaKKt +aaaKtRHatMaDBtBctagcatWtatttgWttVaaaScMNattRactttgtYtttaaaag +taagtMtaMaSttMBtatgaBtttaKtgaatgagYgtNNacMtcNRacMMHcttWtgtRt +ctttaacaacattattcYaMagBaacYttMatcttKcRMtgMNccattaRttNatHaHNa +SaaHMacacaVaatacaKaSttHatattMtVatWgattttttaYctttKttHgScWaacg +HtttcaVaaMgaacagNatcgttaacaaaaagtacaHBNaattgttKtcttVttaaBtct +gctacgBgcWtttcaggacacatMgacatcccagcggMgaVKaBattgacttaatgacac +acaaaaaatRKaaBctacgtRaDcgtagcVBaacDSBHaaaaSacatatacagacRNatc +ttNaaVtaaaataHattagtaaaaSWccgtatWatggDttaactattgcccatcttHaSg +YataBttBaactattBtcHtgatcaataSttaBtatKSHYttWggtcYtttBttaatacc +RgVatStaHaKagaatNtagRMNgtcttYaaSaactcagDSgagaaYtMttDtMRVgWKW +tgMaKtKaDttttgactatacataatcNtatNaHattVagacgYgatatatttttgtStW +aaatctWaMgagaRttRatacgStgattcttaagaDtaWccaaatRcagcagaaNKagta +aDggcgccBtYtagSBMtactaaataMataBSacRMgDgattMMgtcHtcaYDtRaDaac +ggttDaggcMtttatgttaNctaattaVacgaaMMtaatDccSgtattgaRtWWaccacc +gagtactMcgVNgctDctaMScatagcgtcaactatacRacgHRttgctatttaatgaat +tataYKttgtaagWgtYttgcHgMtaMattWaWVtaRgcttgYgttBHtYataSccStBt +gtagMgtDtggcVaaSBaatagDttgBgtctttctcattttaNagtHKtaMWcYactVcg +cgtatMVtttRacVagDaatcttgctBBcRDgcaacKttgatSKtYtagBMagaRtcgBa +ttHcBWcaactgatttaatttWDccatttatcgagSKaWttataHactaHMttaatHtgg +aHtHagaatgtKtaaRactgtttMatacgatcaagDgatKaDctataMggtHDtggHacc +tttRtatcttYattttgacttgaaSaataaatYcgBaaaaccgNatVBttMacHaKaata +agtatKgtcaagactcttaHttcggaattgttDtctaaccHttttWaaatgaaatataaa +WattccYDtKtaaaacggtgaggWVtctattagtgactattaagtMgtttaagcatttgS +gaaatatccHaaggMaaaattttcWtatKctagDtYtMcctagagHcactttactataca +aacattaacttaHatcVMYattYgVgtMttaaRtgaaataaDatcaHgtHHatKcDYaat +cttMtNcgatYatgSaMaNtcttKcWataScKggtatcttacgcttWaaagNatgMgHtc +tttNtaacVtgttcMaaRatccggggactcMtttaYMtcWRgNctgNccKatcttgYDcM +gattNYaRagatHaaHgKctcataRDttacatBatccattgDWttatttaWgtcggagaa +aaatacaatacSNtgggtttccttacSMaagBattacaMaNcactMttatgaRBacYcYt +caaaWtagctSaacttWgDMHgaggatgBVgcHaDtggaactttggtcNatNgtaKaBcc +caNtaagttBaacagtatacDYttcctNgWgcgSMcacatStctHatgRcNcgtacacaa +tRttMggaNKKggataaaSaYcMVcMgtaMaHtgattYMatYcggtcttcctHtcDccgt +gRatcattgcgccgatatMaaYaataaYSggatagcgcBtNtaaaScaKgttBgagVagt +taKagagtatVaactaSacWactSaKatWccaKaaaatBKgaaKtDMattttgtaaatcR +ctMatcaaMagMttDgVatggMaaWgttcgaWatgaaatttgRtYtattaWHKcRgctac +atKttctaccaaHttRatctaYattaaWatVNccatNgagtcKttKataStRaatatatt +cctRWatDctVagttYDgSBaatYgttttgtVaatttaatagcagMatRaacttBctatt +gtMagagattaaactaMatVtHtaaatctRgaaaaaaaatttWacaacaYccYDSaattM +atgaccKtaBKWBattgtcaagcHKaagttMMtaatttcKcMagNaaKagattggMagag +gtaatttYacatcWaaDgatMgKHacMacgcVaacaDtaDatatYggttBcgtatgWgaS +atttgtagaHYRVacaRtctHaaRtatgaactaatatctSSBgggaaHMWtcaagatKga +gtDaSatagttgattVRatNtctMtcSaagaSHaataNataataRaaRgattctttaata +aagWaRHcYgcatgtWRcttgaaggaMcaataBRaaccagStaaacNtttcaatataYta +atatgHaDgcStcWttaacctaRgtYaRtataKtgMttttatgactaaaatttacYatcc +cRWtttHRtattaaatgtttatatttgttYaatMcaRcSVaaDatcgtaYMcatgtagac +atgaaattgRtcaaYaaYtRBatKacttataccaNaaattVaBtctggacaagKaaYaaa +tatWtMtatcYaaVNtcgHaactBaagKcHgtctacaatWtaDtSgtaHcataHtactga +taNctRgttMtDcDttatHtcgtacatcccaggSttaBgtcacacWtccNMcNatMVaVg +tccDYStatMaccDatggYaRKaaagataRatttHKtSaaatDgataaacttaHgttgVB +tcttVttHgDacgaKatgtatatNYataactctSatatatattgcHRRYttStggaactH +gttttYtttaWtatMcttttctatctDtagVHYgMRBgtHttcctaatYRttKtaagatg +gaVRataKDctaMtKBNtMtHNtWtttYcVtattMcgRaacMcctNSctcatttaaagDc +aHtYccSgatgcaatYaaaaDcttcgtaWtaattctcgttttScttggtaatctttYgtc +taactKataHacctMctcttacHtKataacacagcNRatgKatttttSaaatRYcgDtta +MRcgaaattactMtgcgtaagcgttatBtttttaattaagtNacatHgttcRgacKcBBt +VgatKttcgaBaatactDRgtRtgaNacWtcacYttaaKcgttctHaKttaNaMgWgWag +gtctRgaKgWttSttBtDcNtgtttacaaatYcDRtgVtgcctattcNtctaaaDMNttt +tNtggctgagaVctDaacVtWccaagtaacacaNctgaScattccDHcVBatcgatgtMt +aatBgHaatDctMYgagaatgYWKcctaatNaStHaaaKccgHgcgtYaaYtattgtStg +tgcaaRtattaKatattagaWVtcaMtBagttattagNaWHcVgcaattttDcMtgtaRH +VYtHtctgtaaaaHVtMKacatcgNaatttMatatgttgttactagWYtaRacgataKag +YNKcattataNaRtgaacKaYgcaaYYacaNccHatMatDcNgtHttRaWttagaaDcaa +aaaatagggtKDtStaDaRtaVtHWKNtgtattVctSVgRgataDaRaWataBgaagaaK +taataaYgDcaStaNgtaDaaggtattHaRaWMYaYaWtggttHYgagVtgtgcttttca +aDKcagVcgttagacNaaWtagtaataDttctggttVcatcataaagtgKaaaNaMtaBB +aattaatWaattgctHaVKaSgDaaVKaHtatatatHatcatSBagNgHtatcHYMHgtt +DgtaHtBttWatcgtttaRaattgStKgSKNWKatcagDtctcagatttctRtYtBatBg +HHtKaWtgYBgacVVWaKtacKcDttKMaKaVcggtgttataagaataaHaatattagta +taatMHgttYgaRttagtaRtcaaVatacggtcMcgagtaaRttacWgactKRYataaaa +gSattYaWgagatYagKagatgSaagKgttaatMggtataatgttWYttatgagaaacct +NVataatHcccKtDctcctaatactggctHggaSaggRtKHaWaattcgSatMatttaga +ggcYtctaMcgctcataSatatgRagacNaaDaggaVBagaYttKtacNaKgtSYtagtt +ggaWcatcWttaatctatgaVtcgtgtMtatcaYcgtRccaaYgDctgcMgtgtWgacWt +gataacacgcgctBtgttaKtYDtatDcatcagKaVMctaatcttgVcaaRgcRMtDcga +ttaHttcaNatgaatMtactacVgtRgatggaWtttactaaKatgagSaaKggtaNtact +VaYtaaKRagaacccacaMtaaMtKtatBcttgtaaWBtMctaataaVcDaaYtcRHBtc +gttNtaaHatttBNgRStVDattBatVtaagttaYatVattaagaBcacggtSgtVtatt +taRattgatgtaHDKgcaatattKtggcctatgaWDKRYcggattgRctatNgatacaat +MNttctgtcRBYRaaaHctNYattcHtaWcaattctBtMKtVgYataatMgYtcagcttM +DataVtggRtKtgaatgccNcRttcaMtRgattaacattRcagcctHtWMtgtDRagaKa +BtgDttYaaaaKatKgatctVaaYaacWcgcatagBVtaNtRtYRaggBaaBtgKgttac +ataagagcatgtRattccacttaccatRaaatgWgDaMHaYVgVtaSctatcgKaatata +ttaDgacccYagtgtaYNaaatKcagtBRgagtccatgKgaaaccBgaagBtgSttWtac +gatWHaYatcgatttRaaNRgcaNaKVacaNtDgattgHVaatcDaagcgtatgcNttaD +ataatcSataaKcaataaHWataBtttatBtcaKtKtatagttaDgSaYctacaRatNta +WctSaatatttYaKaKtaccWtatcRagacttaYttVcKgSDcgagaagatccHtaattc +tSttatggtKYgtMaHagVaBRatttctgtRgtctatgggtaHKgtHacHtSYacgtaca +cHatacKaaBaVaccaDtatcSaataaHaagagaatScagactataaRttagcaaVcaHa +taKgDacatWccccaagcaBgagWatctaYttgaaatctVNcYtttWagHcgcgcDcVaa +atgttKcHtNtcaatagtgtNRaactttttcaatggWgBcgDtgVgtttctacMtaaata +aaRggaaacWaHttaRtNtgctaaRRtVBctYtVtatDcattDtgaccYatagatYRKat +NYKttNgcctagtaWtgaactaMVaacctgaStttctgaKVtaaVaRKDttVtVctaDNt +ataaaDtccccaagtWtcgatcactDgYaBcatcctMtVtacDaaBtYtMaKNatNtcaN +acgDatYcatcgcaRatWBgaacWttKttagYtaattcggttgSWttttDWctttacYta +tatWtcatDtMgtBttgRtVDggttaacYtacgtacatgaattgaaWcttMStaDgtata +ttgaDtcRBcattSgaaVBRgagccaaKtttcDgcgaSMtatgWattaKttWtgDBMagg +BBttBaatWttRtgcNtHcgttttHtKtcWtagHStaacagttgatatBtaWSaWggtaa +taaMttaKacDaatactcBttcaatatHttcBaaSaaatYggtaRtatNtHcaatcaHta +gVtgtattataNggaMtcttHtNagctaaaggtagaYctMattNaMVNtcKtactBKcaH +HcBttaSagaKacataYgctaKaYgttYcgacWVttWtSagcaacatcccHaccKtctta +acgaKttcacKtNtacHtatatRtaaatacactaBtttgaHaRttggttWtatYagcatY +DatcggagagcWBataagRtacctataRKgtBgatgaDatataSttagBaHtaatNtaDW +cWtgtaattacagKttcNtMagtattaNgtctcgtcctcttBaHaKcKccgtRcaaYagS +attaagtKataDatatatagtcDtaacaWHcaKttDgaaRcgtgYttgtcatatNtattt +ttatggccHtgDtYHtWgttatYaacaattcaWtatNgctcaaaSttRgctaatcaaatN +atcgtttaBtNNVtgttataagcaaagattBacgtDatttNatttaaaDcBgtaSKgacg +tagataatttcHMVNttgttBtDtgtaWKaaRMcKMtHtaVtagataWctccNNaSWtVa +HatctcMgggDgtNHtDaDttatatVWttgttatttaacctttcacaaggaSaDcggttt +tttatatVtctgVtaacaStDVaKactaMtttaSNagtgaaattaNacttSKctattcct +ctaSagKcaVttaagNaVcttaVaaRNaHaaHttatgtHttgtgatMccaggtaDcgacc +gtWgtWMtttaHcRtattgScctatttKtaaccaagtYagaHgtWcHaatgccKNRttta +gtMYSgaDatctgtgaWDtccMNcgHgcaaacNDaaaRaStDWtcaaaaHKtaNBctagB +tgtattaactaattttVctagaatggcWSatMacccttHttaSgSgtgMRcatRVKtatc +tgaaaccDNatYgaaVHNgatMgHRtacttaaaRtatStRtDtatDttYatattHggaBc +ttHgcgattgaKcKtttcRataMtcgaVttWacatNcatacctRataDDatVaWNcggtt +gaHtgtMacVtttaBHtgagVttMaataattatgttcttagtttgtgcDtSatttgBtca +acHattaaBagVWcgcaSYttMgcttacYKtVtatcaYaKctgBatgcgggcYcaaaaac +gNtctagKBtattatctttKtaVttatagtaYtRagNtaYataaVtgaatatcHgcaaRa +taHtacacatgtaNtgtcgYatWMatttgaactacRctaWtWtatacaatctBatatgYt +aagtatgtgtatSttactVatcttYtaBcKgRaSggRaaaaatgcagtaaaWgtaRgcga +taatcBaataccgtatttttccatcNHtatWYgatHSaaaDHttgctgtccHtggggcct +aataatttttctatattYWtcattBtgBRcVttaVMRSgctaatMagtYtttaaaaatBR +tcBttcaaVtaacagctccSaaSttKNtHtKYcagcagaaaccccRtttttaaDcDtaSt +atccaagcgctHtatcttaDRYgatDHtWcaaaBcWgKWHttHataagHacgMNKttMKH +ccaYcatMVaacgttaKgYcaVaaBtacgcaactttMctaaHaatgtBatgagaSatgta +tgSRgHgWaVWgataaatatttccKagVgataattWaHNcYggaaatgctHtKtaDtcta +aagtMaatVDVactWtSaaWaaMtaHtaSKtcBRaNcttStggtBttacNagcatagRgt +KtgcgaacaacBcgKaatgataagatgaaaattgtactgcgggtccHHWHaaNacaBttN +KtKtcaaBatatgctaHNgtKcDWgtttatNgVDHgaccaacWctKaaggHttgaRgYaa +tHcaBacaatgagcaaattactgtaVaaYaDtagattgagNKggtggtgKtWKaatacag +DRtatRaMRtgattDggtcaaYRtatttNtagaDtcacaaSDctDtataatcgtactaHt +tatacaatYaacaaHttHatHtgcgatRRttNgcatSVtacWWgaaggagtatVMaVaaa +ttScDDKNcaYBYaDatHgtctatBagcaacaagaatgagaaRcataaKNaRtBDatcaa +acgcattttttaaBtcSgtacaRggatgtMNaattggatatWtgagtattaaaVctgcaY +MtatgatttttYgaHtgtcttaagWBttHttgtcttattDtcgtatWtataataSgctaH +agcDVcNtaatcaagtaBDaWaDgtttagYctaNccDtaKtaHcttaataacccaRKtac +aVaatNgcWRaMgaattatgaBaaagattVYaHMDcaDHtcRcgYtcttaaaWaaaVKga +tacRtttRRKYgaatacaWVacVcRtatMacaBtactggMataaattttHggNagSctac +HgtBagcgtcgtgattNtttgatSaaggMttctttcttNtYNagBtaaacaaatttMgac +cttacataattgYtcgacBtVMctgStgMDtagtaRctHtatgttcatatVRNWataDKa +tWcgaaaaagttaaaagcacgHNacgtaatctttMRtgacttttDacctataaacgaaat +atgattagaactccSYtaBctttaataacWgaaaYatagatgWttcatKtNgatttttca +agHtaYgaaRaDaagtaggagcttatVtagtctttcattaaaatcgKtattaRttacagV +aDatgcatVgattgggtctttHVtagKaaRBtaHtaaggccccaaaaKatggtttaMWgt +BtaaacttcactttKHtcgatctccctaYaBacMgtcttBaBaNgcgaaacaatctagtH +ccHtKttcRtRVttccVctttcatacYagMVtMcagaMaaacaataBctgYtaatRaaag +attaaccatVRatHtaRagcgcaBcgDttStttttcVtttaDtKgcaaWaaaaatSccMc +VatgtKgtaKgcgatatgtagtSaaaDttatacaaacatYaRRcVRHctKtcgacKttaa +VctaDaatgttMggRcWaacttttHaDaKaDaBctgtaggcgtttaHBccatccattcNH +tDaYtaataMttacggctNVaacDattgatattttacVttSaattacaaRtataNDgacV +tgaacataVRttttaDtcaaacataYDBtttaatBaDtttYDaDaMccMttNBttatatg +agaaMgaNtattHccNataattcaHagtgaaggDgatgtatatatgYatgaStcataaBS +tWacgtcccataRMaaDattggttaaattcMKtctMacaBSactcggaatDDgatDgcWc +taacaccgggaVcacWKVacggtaNatatacctMtatgatagtgcaKagggVaDtgtaac +ttggagtcKatatcgMcttRaMagcattaBRaStctYSggaHYtacaactMBaagDcaBD +RaaacMYacaHaattagcattaaaHgcgctaaggSccKtgaaKtNaBtatDDcKBSaVtg +atVYaagVtctSgMctacgttaacWaaattctSgtDactaaStaaattgcagBBRVctaa +tatacctNttMcRggctttMttagacRaHcaBaacVKgaataHttttMgYgattcYaNRg +ttMgcVaaacaVVcDHaatttgKtMYgtatBtVVctWgVtatHtacaaHttcacgatagc +agtaaNattBatatatttcVgaDagcggttMaagtcScHagaaatgcYNggcgtttttMt +StggtRatctacttaaatVVtBacttHNttttaRcaaatcacagHgagagtMgatcSWaN +RacagDtatactaaDKaSRtgattctccatSaaRttaaYctacacNtaRtaactggatga +ccYtacactttaattaattgattYgttcagDtNKttagDttaaaaaaaBtttaaNaYWKM +BaaaacVcBMtatWtgBatatgaacVtattMtYatMNYDKNcKgDttDaVtaaaatggga +tttctgtaaatWtctcWgtVVagtcgRgacttcccctaDcacagcRcagagtgtWSatgt +acatgttaaSttgtaaHcgatgggMagtgaacttatRtttaVcaccaWaMgtactaatSS +aHtcMgaaYtatcgaaggYgggcgtgaNDtgttMNgaNDMtaattcgVttttaacatgVa +tgtWVMatatcaKgaaattcaBcctccWcttgaaWHtWgHtcgNWgaRgctcBgSgaatt +gcaaHtgattgtgNagtDttHHgBttaaWcaaWagcaSaHHtaaaVctRaaMagtaDaat +HtDMtcVaWMtagSagcttHSattaacaaagtRacMtRtctgttagcMtcaBatVKtKtK +acgagaSNatSactgtatatcBctgagVtYactgtaaattaaaggcYgDHgtaacatSRD +atMMccHatKgttaacgactKtgKagtcttcaaHRVtccttKgtSataatttacaactgg +atDNgaacttcaRtVaagDcaWatcBctctHYatHaDaaatttagYatSatccaWtttag +aaatVaacBatHcatcgtacaatatcgcNYRcaataYaRaYtgattVttgaatgaVaact +cRcaNStgtgtattMtgaggtNttBaDRcgaaaagctNgBcWaWgtSaDcVtgVaatMKB +tttcgtttctaaHctaaagYactgMtatBDtcStgaccgtSDattYaataHctgggaYYt +tcggttaWaatctggtRagWMaDagtaacBccactacgHWMKaatgatWatcctgHcaBa +SctVtcMtgtDttacctaVgatYcWaDRaaaaRtagatcgaMagtggaRaWctctgMgcW +ttaagKBRtaaDaaWtctgtaagYMttactaHtaatcttcataacggcacBtSgcgttNH +tgtHccatgttttaaagtatcgaKtMttVcataYBBaKtaMVaVgtattNDSataHcagt +WMtaggtaSaaKgttgBtVtttgttatcatKcgHacacRtctHatNVagSBgatgHtgaR +aSgttRcctaacaaattDNttgacctaaYtBgaaaatagttattactcttttgatgtNNt +VtgtatMgtcttRttcatttgatgacacttcHSaaaccaWWDtWagtaRDDVNacVaRat +gttBccttaatHtgtaaacStcVNtcacaSRttcYagacagaMMttttgMcNttBcgWBt +actgVtaRttctccaaYHBtaaagaBattaYacgatttacatctgtaaMKaRYtttttac +taaVatWgctBtttDVttctggcDaHaggDaagtcgaWcaagtagtWttHtgKtVataSt +ccaMcWcaagataagatcactctHatgtcYgaKcatcagatactaagNSStHcctRRNta +ttgtccttagttagMVgtatagactaactctVcaatMctgtttgtgttgccttatWgtaB +VtttctggMcaaKgDWtcgtaaYStgSactatttHgatctgKagtagBtVacRaagRtMc +tatgggcaaaKaaaatacttcHctaRtgtDcttDattaggaaatttcYHaRaaBttaatg +gcacKtgctHVcaDcaaaVDaaaVcgMttgtNagcgtaDWgtcgttaatDgKgagcSata +tcSHtagtagttggtgtHaWtaHKtatagctgtVgattaBVaatgaataagtaatVatSt +taHctttKtttgtagttaccttaatcgtagtcctgBcgactatttVcMacHaaaggaatg +DatggKtaHtgStatattaaSagctWcctccRtataBaDYcgttgcNaagaggatRaaaY +taWgNtSMcaatttactaacatttaaWttHtatBattgtcgacaatNgattgcNgtMaaa +KaBDattHacttggtRtttaYaacgVactBtaBaKtgBttatgVttgtVttcaatcWcNc +tDBaaBgaDHacBttattNtgtDtatttVSaaacaggatgcRatSgtaSaNtgBatagtt +cHBgcBBaaattaHgtDattatDaKaatBaaYaaMaataaataKtttYtagtBgMatNca +tgtttgaNagtgttgtgKaNaSagtttgaSMaYBcaaaacDStagttVacaaaaactaaW +ttBaagtctgtgcgtMgtaattctcctacctcaNtttaaccaaaaVtBcacataacaccc +cBcWMtatVtggaatgaWtcaaWaaaaaaaaWtDtaatatRcctDWtcctaccMtVVatK +ttaWaaKaaatataaagScHBagaggBaSMtaWaVtatattactSaaaKNaactatNatc +cttgaYctattcaaaVgatttYHcRagattttaSataggttattcVtaaagaKgtattat +tKtRttNcggcRgtgtgtWYtaacHgKatKgatYtacYagDtWcHBDctctgRaYKaYag +cactKcacSaRtBttttBHKcMtNtcBatttatttttgSatVgaaagaWtcDtagDatat +gMacaacRgatatatgtttgtKtNRaatatNatgYcaHtgHataacKtgagtagtaacYt +taNccaaatHcacaacaVDtagtaYtccagcattNtacKtBtactaaagaBatVtKaaHB +ctgStgtBgtatgaSNtgDataaccctgtagcaBgtgatcttaDataStgaMaccaSBBg +WagtacKcgattgaDgNNaaaacacagtSatBacKDgcgtataBKcatacactaSaatYt +YcDaactHttcatRtttaatcaattataRtttgtaagMcgNttcatcBtYBagtNWNMtS +HcattcRctttttRWgaKacKttgggagBcgttcgcMaWHtaatactgtctctatttata +VgtttaBScttttaBMaNaatMacactYtBMggtHacMagtaRtctgcatttaHtcaaaa +tttgagKtgNtactBacaHtcgtatttctMaSRagcagttaatgtNtaaattgagagWcK +taNttagVtacgatttgaatttcgRtgtWcVatcgttaaDVctgtttBWgaccagaaagt +cSgtVtatagaBccttttcctaaattgHtatcggRattttcaaggcYSKaagWaWtRact +aaaacccBatMtttBaatYtaagaactSttcgaaScaatagtattgaccaagtgttttct +aacatgtttNVaatcaaagagaaaNattaaRttttaVaaaccgcaggNMtatattVctca +agaggaacgBgtttaacaagttcKcYaatatactaaccBaaaSggttcNtattctagttR +tBacgScVctcaatttaatYtaaaaaaatgSaatgatagaMBRatgRcMcgttgaWHtca +VYgaatYtaatctttYttatRaWtctgBtDcgatNatcKaBaDgatgtaNatWKctccga +tattaacattNaaacDatgBgttctgtDtaaaMggtgaBaSHataacgccSctaBtttaR +BtcNHcDatcDcctagagtcRtaBgWttDRVHagattYatgtatcWtaHtttYcattWta +aagtctNgtStggRNcgcggagSSaaagaaaatYcHDtcgctttaatgYcKBVSgtattR +aYBaDaaatBgtatgaHtaaRaRgcaSWNtagatHaacttNctBtcaccatctMcatatt +ccaSatttgcgaDagDgtatYtaaaVDtaagtttWVaagtagYatRttaagDcNgacKBc +ScagHtattatcDaDactaaaaaYgHttBcgaDttggataaaKSRcBMaBcgaBSttcWt +gNBatRaccgattcatttataacggHVtaattcacaagagVttaaRaatVVRKcgWtVga +cctgDgYaaHaWtctttcacMagggatVgactagMaaataKaaNWagKatagNaaWtaaa +atttgaattttatttgctaaVgaHatBatcaaBWcBgttcMatcgBaaNgttcgSNaggS +aRtttgHtRtattaNttcDcatSaVttttcgaaaaattgHatctaRaggSaNatMDaaat +DcacgattttagaHgHaWtYgattaatHNSttatMSgggNtcKtYatRggtttgtMWVtt +taYtagcagBagHaYagttatatggtBacYcattaRSataBatMtttaaatctHcaaaSa +aaagttNSaaWcWRccRtKaagtBWtcaaattSttMtattggaaaccttaacgttBtWat +ttatatWcDaatagattcctScacctaagggRaaYtaNaatgVtBcttaaBaacaMVaaa +ttatStYgRcctgtactatcMcVKatttcgSgatRHMaaaHtagtaaHtVgcaaataata +tcgKKtgccaatBNgaaWcVttgagttaKatagttcaggKDatDtattgaKaVcaKtaat +aDataataHSaHcattagttaatRVYcNaHtaRcaaggtNHcgtcaaccaBaaagYtHWa +aaRcKgaYaaDttgcWYtataRgaatatgtYtgcKtaNttWacatYHctRaDtYtattcB +ttttatcSataYaYgttWaRagcacHMgtttHtYttYaatcggtatStttcgtRSattaa +DaKMaatatactaNBaWgctacacYtgaYVgtgHtaaaRaaRgHtagtWattataaaSDa +aWtgMattatcgaaaagtaYRSaWtSgNtBgagcRYaMDtactaacttaWgtatctagac +aagNtattHggataatYttYatcataDcgHgttBttctttVttgccgaaWtaaaacgKgt +atctaaaaaNtccDtaDatBMaMggaatNKtatBaaatVtccRaHtaSacataHattgtt +tKVYattcataVaattWtcgtgMttcttKtgtctaacVtatctatatBRataactcgKat +StatattcatHHRttKtccaacgtgggtgRgtgaMtattattggctatcgtgacMtRcBD +tcttgtactaatRHttttaagatcgVMDStattatYBtttDttgtBtNttgRcMtYtgBa +cHaWaBaatDKctaagtgaaactaatgRaaKgatccaagNaaaatattaggWNtaagtat +acttttKcgtcggSYtcttgRctataYcttatataaagtatattaatttataVaacacaD +HatctatttttKYVatHRactttaBHccaWagtactBtcacgaVgcgttRtttttttSVg +tSagtBaaattctgaHgactcttgMcattttagVtaagaattHctHtcaDaaNtaacRgg +WatagttcgtSttgaDatcNgNagctagDgatcNttKgttgtaDtctttRaaYStRatDt +gMggactSttaDtagSaVtBDttgtDgccatcacaMattaaaMtNacaVcgSWcVaaDat +caHaatgaattaMtatccVtctBtaattgtWattatBRcWcaatgNNtactWYtDaKtta +aatcactcagtRaaRgatggtKgcgccaaHgaggatStattYcaNMtcaBttacttatga +gDaNtaMgaaWtgtttcttctaHtMNgttatctaWWatMtBtaaatagDVatgtBYtatc +ggcttaagacMRtaHScgatatYgRDtcattatSDaHggaaataNgaWSRRaaaBaatag +BattaDctttgHWNttacaataaaaaaatacggtttgHgVtaHtWMttNtBtctagtMcg +KMgHgYtataHaNagWtcaacYattaataYRgtaWKgaBctataaccgatttaHaNBRaR +aMtccggtNgacMtctcatttgcaattcWgMacttacaaDaaNtactWatVtttagcctt +MaatcagVaagtctVaaDaBtattaattaYtNaYtggattaKtaKctYaMtattYgatat +tataatKtVgDcttatatNBtcgttgtStttttMagaggttaHYSttcKgtcKtDNtata +agttataagSgttatDtRttattgttttSNggRtcaaKMNatgaatattgtBWtaMacct +gggYgaSgaagYataagattacgagaatBtggtRcVHtgYggaDgaYaKagWagctatag +acgaaHgtWaNgacttHRatVaWacKYtgRVNgVcSgRWctacatcKSactctgWYtBgg +tataagcttNRttVtgRcaWaaatDMatYattaactttcgaagRatSctgccttgcRKac +cHtttSNVagtagHagBagttagaccaRtataBccataatSHatRtcHagacBWatagca +MtacaRtgtgaaBatctKRtScttccaNaatcNgtaatatWtcaMgactctBtWtaaNac +tHaaaaRctcgcatggctMcaaNtcagaaaaacacagtggggWttRttagtaagaVctVM +tcgaatcttcMaaaHcaHBttcgattatgtcaDagcYRtBtYcgacMgtDcagcgaNgtt +aataatagcagKYYtcgtaBtYctMaRtaRtDagaaaacacatgYaBttgattattcgaa +NttBctSataaMataWRgaHtttccgtDgaYtatggtDgHKgMtatttVtMtVagttaRa +tMattRagataaccctKctMtSttgaHagtcStctatttccSagatgttccacgaggYNt +tHRacgattcDatatDcataaaatBBttatcgaHtNHaaatatDNaggctgaNcaaggag +ttBttMgRagVatBcRtaWgatgBtSgaKtcgHtttgaatcaaDaHttcSBgHcagtVaa +SttDcagccgttNBtgttHagYtattctttRWaaVtSttcatatKaaRaaaNacaVtVct +MtSDtDtRHRcgtaatgctcttaaatSacacaatcgHattcaWcttaaaatHaaatcNct +WttaNMcMtaKctVtcctaagYgatgatcYaaaRactctaRDaYagtaacgtDgaggaaa +tctcaaacatcaScttcKttNtaccatNtaNatacatttHaaDHgcaDatMWaaBttcRg +gctMaagctVYcacgatcaDttatYtaatcKatWatcaatVYtNagatttgattgaYttt +tYgacttVtcKaRagaaaHVgDtaMatKYagagttNatWttaccNtYtcDWgSatgaRgt +MatgKtcgacaagWtacttaagtcgKtgatccttNcttatagMatHVggtagcgHctata +gccctYttggtaattKNaacgaaYatatVctaataMaaaYtgVtcKaYtaataacagaat +HcacVagatYWHttagaaSMaatWtYtgtaaagNaaacaVgaWtcacNWgataNttcaSa +gctMDaRttgNactaccgataMaaatgtttattDtcaagacgctDHYYatggttcaagcc +NctccttcMctttagacBtaaWtaWVHggaaaaNatttaDtDtgctaaHHtMtatNtMta +gtcatttgcaaaRatacagRHtatDNtgtDgaatVgtVNtcaaatYBMaaaagcaKgtga +tgatMgWWMaHttttMgMagatDtataaattaaccaactMtacataaattgRataatacg +BtKtaataattRgtatDagDtcRDacctatRcagagcSHatNtcaScNtttggacNtaag +gaccgtgKNttgttNcttgaaRgYgRtNtcagttBcttttcHtKtgcttYaaNgYagtaa +atgaatggWaMattBHtatctatSgtcYtgcHtaattHgaaMtHcagaaSatggtatgcc +aHBtYtcNattWtgtNgctttaggtttgtWatNtgHtgcDttactttttttgcNtactKt +WRaVcttcatagtgSNKaNccgaataaBttataataYtSagctttaaatSttggctaaKS +aatRccgWHgagDttaaatcatgagMtcgagtVtaDggaBtatttgDacataaacgtagY +RagBWtgDStKDgatgaagttcattatttaKWcataaatWRgatataRgttRacaaNKtt +NtKagaaYaStaactScattattaacgatttaaatgDtaattagatHgaYataaactatg +gggatVHtgccgtNgatNYcaStRtagaccacWcaMtatRagHgVactYtWHtcttcatg +atWgagaKggagtatgaWtDtVtNaNtcgYYgtaaactttaDtBactagtaDctatagta +atatttatatataacgHaaaRagKattSagttYtStatatatagtcttaaaaMtcatgtt +caaDactgRttctaagagDtatttttagcgacttgtgRtgNctgSgRaaaaatgcaMtYt +DcatcaaYKttHcatSWgaaaatDataggttatgBDMtgttataacaaYSgagttacgtt +atgtDStttaaatctcgWKtcSacgagagaSgttatBMDgtcggtgtgcgaNtaSHBatB +tttVMgVcagaNatcaDDaKMtMYtatagaBccctctDtgtatttatatKNtgggtatgt +RaacttgaWaaYgcaHatccctggtttStatMtcgcMtaaaWKttMVtWctVtgttaKDW +ctgWaVttaDVatgKtagagtcatctaKWgtaaMttSacBaMattaKaaHDataattgWt +gttttgtcatBacacgtStacaaagtNctNtgtgatcHtWttcKaagagttttaaaaWac +gRacatctNatVStgaatDHgttWcgtRKcatatatctcaNttaaBDcctgaaaaaDtaY +aHaKttNtaYVaVtttaDtctacttctWttaactaattttMagWcaatcccNKYtBaaca +tgttgaKgKcgcBHaatDMttatatcSWacatDatRcWaMtDgatBctHgScttaaaHtS +gKtDtttattgtRStWgttccatatttcacWttcatattgtaHVgaBtacaMtgMaaagD +aataactDatattagMaNBagcttcattcgtaaKtgtatttcacMtgBaVtaattStctt +agtYgtgtcgccttKatgggtgaWaataggaatacMMagaSKRttBgatgacRtgMtaga +SRataggtatcaccgaNaaaWSWacDgatacttgattagcttgtgVMttatYctaRgHVc +DtVRRtSaMtcaVtVtatcaYaHatattaaVaatctaBtgtacRatNtatttgaYatSaH +ctaNgNtYtYaYagattVgatcRtaacgYggtgtatKttaatMagatgRtatatgHaKcc +HaaaaYtgaacgaWaNgtYHgacagaYtctaVtacccgatttttaaagcDttatNRgatt +KaaattttcatctaatgccgcaataataattgttatYtagtRNtaagttggtHaKttWMt +DKgatSagBYcgRggtWaVaattHtatgtaaaMgSaaagataaKaaKgttDttttRaaga +acaWRcaacDgtgttaatattaKtatcaWacacatttVtctgatHRcagtttNcaaatcN +ctNttttataactWacBBttgBttaaaRaWtBKaaacgtatcRcaMaatgYacaaaagtg +BataStWYtggtatgacaKWtctSgcKHgtcNaMNcataSatattgactacMcataattN +VtDaRccaaatcagttttYttagYaacgtaatMtMVatNgKaaMaaBgattaKttatDaB +cttKtccttttacDagaYtacHgttggacaaaVaatagtYatcataSgatcaaWVttcga +atgaccctccttNtaSBWaatttDttttcaatatYggctatDcttatNctttagDcMttc +aacWaaNattSYgctttcaHcRaattaataaaatcVccRaattactctaMaVRattacag +tgRcDtcgtgctcttNtWVtacagtHtatHaBDtcWggtgctcaaRHtatgtDgacStgc +aaaVKtagttataatactaatatgtagScaatRSacaattgtattgcagatHHtgBcaat +KKtaaMMcaRcgactatKBaMaYatgKatttDaaNtRatattgtatWttagcaaaaacaW +gcacaaHcataYtDaHgttataaSacgcagggggtYatgcKctaaaHgcVgctBDaVttc +cStagNgcSgtatgVYaMatcaWRBtVtgYttgtgRcYttcgctgaacNttgtgtctatt +WttttcctagMtagaWtaKgatStScatMaBtaStaSactattYNatctgtacRatYDaa +tgatgatatgaatYaaaaSHttaaYMaWtDcaNHaBcaYtgVgcatVaacattMRatBta +atttaDacRtagtaaaNYVSMtcagaaDtttDHtRcYatacSNKaaMcHgatBaaVttac +tggBYgaYatttttgcDacHctWatcgtagagtactcattDggtcatKaSgctttattta +gtDtRBacttaWYaaaattttgaccttaaWtaatgcRgccacttMtaggKtcBtgacgaH +ctttatcgtcStatMHDNagattatNagVaaaWcggaaaYcaVactDYactaStattgBH +tcYctgggtacatataaYcgaYagaggaggacaVatacHRtYtctgtaVgaYcNgaaaNa +tacVgcNgtaatttDcatttttcaacttSNcaaDatVYctSgcaccttagMgacgcttga +SttaaaatagttaggRHttaaacMatagcaWgMgagtcgctagtgtKgactaaHttatta +WgcaaaaaaSatatgcgttaBNggttaYVatgaactttttgccatataaataRatSaBct +agttataBccgaaacaagatacttaattttgaHgHMgtaaKctttaYtaaRacBMtBaYg +aBaaacaYtVtagcRgWatHaWagattWSacStMHatttaDagacaatcgtgtKtttgga +MtgtWtgtgcaaNaaaaWtKaaBcMWtcttctatgacVgagcgaggHaYYtttWgSaaYY +aWtRYHHaMDtctttacaatggaaMctataagcttBcgHcNWaatttgtatatYtStatc +tagcactgtVttccagaaattaDtttaRtVataBttWagcatDMVactYtgcatWtttga +aMggKaatgaaaaHtataDtgYcMggVaaatSMHtttgVttaYaWaataRttgttaYtta +ttttRtWtataaBgtDtttatatcVgaaBcaDtatgtcaDagaWtgaYtWctcVagctca +gctatatagcRVtcaKtaataatHgNaccgaaaatVHBaatattcgttaVYttatttctB +YaatKaagaccVStttcattgaMagSaaaaccccWKcaaNtMYacctaDStagaaattta +tcatVgtcaatacccKattgtaaagtggWgtatatVtagBcttDaBacaattWtDYKtat +RKggStRtaaaWatBtaagtaattDaaaaBRacWtaagtacaSttaaatccgctaaccKa +attgVWttDattatttattKaMtcYtMRWagMtcgKgBagacgggVaaNaaatgctKcgt +aataaKtaaagtccWcttHMatSYgataaatDttBaHccattgBttSgaaHYtaataaaM +tgaagatgtttBgRcattaRaDHcttBgaMaWaaVMMattaatttgtgBRctattgKMag +NcMtatttaaaWttgaaacatWgcScgYYDYgttYtVtattgcKcWtagcggtgBaScta +KatacaaVtcaRDccccgtgttBgKgggtHagcgaattaaagMMttScggtDttttaHcS +aagaacactcacactBcVgaKNaDHacacttatSagaattSKHtcagtataaatKaaHtg +aaRagaaVcBtaHtaaatcgatcWcaRtaaaatttaWttaagtcaggRctgaWcttDttg +actttaVSaaaatggtaWDaRMtBtaaaaaKatBgatMtctatatcaVaMgatttgNagt +DRttDatcttttaMtYaaatcggagttctctaYatNtagaNcgMMactacHcaagtaaaa +tStaSaacaHcacSgggtNKatggaaagcggaaKgggtaYtacSgccgBaggcRacgtVg +DtggaMcYaaaMatggacgYStKKatgaBcaaRtStccSagcRccgccgcSDtgcggBDg +aDtBtSSggacMttttaWcatcMatgtNMBWgataatcaaVtgaataataaNatgcaaNt +tNctgacDMcaHccgatgKgWVttccaStggattctcDacttttttctttaaNcWaMWcc +WKWttgaaaMctDaaBactRtVattttBtcMaNttWcKacagttKSttaYaWSactHSaB +tHgatgttacatgcatatMtttgtaacScWHBatHactggatatatctgagMgRSatcta +aSttaVagcaRcttggaYaatKHtagBBactattcgtaaagaagttgtVcgatgaVatHM +tcaggtcgKSgWattgaaaVctccVgtDcaaatgaaHgMYactcaMatatatattNVttW +tWaatttacRagKataaaNtttacaaWgMVactattaSgaggVaaagVtaccDRHaaata +RaHaRgcattMttcaatcaKaaataDcaDKtctcgaggBggacctDtttatHacWVaWga +tDctaNaNcgKatcMtcMaatBtttggacgtgataatagaaacRactcBtattttaKtgS +aaggKtaggRaVtatagcccaNRttaccttSMaagatcggDacNBatWcgaactacacta +actNBtaStgVtNagcatctaVtaKatKgaBtcgtttWaagWMgagRaNatHaaaaDtac +agacaBagtgcaHaNatctcBccNttaagttDgaataaNtcgctaacRBgtaatSttaat +atgcataacccaSattKcccttDttggtcaatgggttWaacgatacattBtgMaYgaRtt +atgatKaKgtattDtKWgataacgNBtaccgaKWatcttcttKtgtcttagcattcctWc +aaHgagtatDMSgKtcagcttgVHaKcttDaataaaVaatttDgtgaaataaRgtcaVaa +tacttagtVatatgggcatgtDDtMtgtatBggattHtgcVtgtgatcaaSattatKYVa +acSNNttNWcgaHttKDaaMYHatcgttaattaSttgctWaacHtaKBtaaaaKHttcRW +gaaWcRtBtttggBcDtgtacNttaagcKtaHgtagaaaaRttgaaacatagtWRaacYg +gtaaatcgctYaBtWDRtgttgSctaaKatNcattgtgtMttatccatatagctSacgcc +SNaaactacgNtgtgcttMatSKtcaaBaNaaacataacagaaatagtagctcNcatcVg +aagStaataVcDKKttcagDHDtattctaatgagggRgBMctatacaagYactctMaaag +tcgctttctcgtgaattatNcgatMtttaggcBaaatctNtactaaRKtgKactattgtc +atatgtacgagttMaaHSSgHgBatatcgcaSaataaaWgaagtatagaHgcttctttat +gaccWaatttaRtaDaatttaatcgaaattgattMcatcaWaMtaWaKactttctBacac +tatNgtccttaWgtctgaccKatStaKtgagtacgggcgcgtYNtatttagacctctKca +tgatKWStcaataactaWgMSgHtgatctttttgtcgacgtSacttaYgcctWctcctct +acaagVtttMaBactWVaccaYtgtSgcgttattcKtatStgaaKaccgNaataaHtatW +tYtRacggcaDaScagcagHaYWRtRNcDtHtcVWtggaataaaYttgVaNtgttagtYt +tgtagSaaatDgaggccDcgBRYStattatttaaggccgHgggYRaaccMaagttatStt +ctttagcMtgcgMtgaSagaNaDagttSatgattWatttagtDgcttgagtgMKaYWaYc +cagcaHatKctaKaDgctagacttattgattaaYttatcttattattStaattWaRaYBW +agYaatatgttRgScttgBagDaWgcgtgcVDaggcttgtctaDRKacttgcaKBWRtaa +VaSctKtacttMaaSVaWWcgSaNtttSWgtcggtcacttggVVtgagaataaataaDtt +gaaccaaaaMttaaaagaaaaaaaatcNBtatMgccWagcaNgaVaNaaaaaaYaMgtta +WtatHaagtNtacgacaBtMMattttWNaRtaaatagYaScKattacagctVKBtWNSKg +YtYgtWatHaVatDaaatWgDatcctggSRagagtaaaaMgatttRtaHacatggtaKag +VcctgatgaMtaaYgatgtattattttHggBaccaDctctggNNtYaatctVttgVtRtV +cRacttNctttataggHSRtaRacaaattaacHaHgtgttgtttcBtBtatWtgtatttt +gcKagMcaaagaMtattagtStagcBacYaaHcagVgWtgtttcgtgDHaVtagDatcRa +RtggtWtaactgcacgaggaaaRttSDaaVaSttaaaaacSMttactaNtcaacaattDt +acttttYatVSacYtWtMttaattatcKtcttctatcaKDtctStSaaacggtYccatgt +gagagtWtagWKgcaBaaaaKttgNactaatcgaggcWtcDDaaaaaacactHattaatt +cactatYttaagacactaKaagRtRataaattttcatHggtaataaatgataHtggctaa +cBacDgtaatattRtYgtDNDBgKtcaggcHattttgHNgWtaatttccgactactgaca +tVNttYYgactcgctctatttagaMcgggatHcgtttatBaDSagBaaaagRttBggtta +aBactVHgatgaatttattcaaaattgcacttcDgacttYcVttactVtttatBaKHaga +WgtgaatggBtaaSggcagacNcttaDttVgMtWagattggVatttacHtctNcMatact +tSatMagcttgtNcYaaScaYactcKctKtagScStcagtttcatWaatggtgagaggHa +ggggcaacgcRKtaRcMaNtHaatRaRaaactVtBtgttaatRtWWcaaagKttccaaKa +aatacgVttcacaaacgcggtgagaRaatggtgDMWatcWVScacaaaDaggaaHtgttS +MaaaaaccYccDBtatYgtMagcSagaccaVcctcggtVWaaagttatcNaagataataS +aataaaKccgtaDtYttatYcttHttaagKcMctaaatggaatRgaaaVaaVtcKYagga +tWcaBtDaggDatccttcYNtgcSMRgaRtNgaatcgttRttatDVMtagctttacatDV +tatatatcagctaDagMtataccYgaggYaaatgDaaaatSgctctgatgtttVaaBcct +gataKtagaaaccaKatatgttaDtgaDtatagataatacagtaDtatcNtgtDMtYcat +tRVtctataNtWttggNaSgtMgaaYctctDggHtggHDccaccacKKaaacaaaatRat +ttccctttaagcRattMHctattHaRtataVattggatcSttaaHaHgaaHNDtacattS +aaggDatttcaaaYgctBcatattaaaKagtgcccatSctcgatRtaaaMtgWactttNM +aWctYgRatDggaactcDcaattaKaactgagtatctataagYaaaSRctggtacWtttc +cWtaYRtKHattatagWtKttaNgcDtatHacccattaatttataacgctMgaagtaaca +acagMgtaYHYVtKMHtacMgKcaaatctgRYataNtcgttcaatacggWtMcaatYcBW +aagYtVaDNagtatagDaaNtaaaYtttcYWttttStgggataaMgatattagaaYtNct +cttcBagactaYDcgtacHDWccKaHgttcttHgVggVDttatcatKaMttttacWaaSa +ttctatagaHaggKaDagBtaaagtcYccattgtYcatctaNgRgVtgaagtDKttatBK +cggDtattRYgHccgtgcgBNMtttVRgacaYctSctaRacgtagagccgtacRaagtaH +KagStSttttgYSatattaaaWHaaWagttDKaaNaNHaaHttaYcttMtcaaatgKttB +tSgtccaaVaattSaacgttgNattgatatNctaWtVcagtactKcWacgVagggHaaRg +aDaatcMttattaataacaBMaaVtgYtKgRgHactgtactatcBaMtVggtagKcYtHt +BSaattagtaatgMcaVVagYYgWtactttccaaSttDgaaMaMttcacttYtRgacttc +agcttWtttagtgataMaattaagVtagaatatKataagtagttaagHMRaDattaHaaV +cctDtagtcVYcaataaYcNttNaaaHctcaRaatttcaNRgatSHgVatagctRtcatg +aBttMaaagRtcgHVtgRgStgatttgtagaKagaRWRctgNaHYgaaatBctgtttRtt +NWagaccgagKgtgcggHKVttaatattaatataataDtaNcctacaaRgcaNMctctga +aSHWWHcttagtNagtWgWaaKtYaNgcBattatccaaaSctRRHKaNtKcBgtgagaDR +WBttactaaattSMctatatagaaYacDgatttccVtaagRtgRataatatagtcttttt +atgtMgtcaacaaNtaaaaactctWtagaVaaaDtaattatagtBStcgaatDtgattVa +atMtcaDattVKWaagatagggttgtMRSgtcYgWMaatgNtagtcBttagtttctctWa +aMtVgctWgSgtHagaSagactagKtagWggcatttHgttgacaaactcggggHggcWBg +VgtatgggagVgagtcVcBtDctttagtctaagVWtHtgtttaScatacMBtKgattatR +tgtttgtctttDggcHaBtRtgtaataNataatttataWctgaYWataStcHaatcRtaa +VagDWaSatagtaccNDgaagtatacgttttacgacgKRtattgDctatRRattVtStaa +actagatgVatttagaMaSaaaattVtatYtgttgtRMagtHaatttSttaaYNaggWag +tgcacgaMcactgHgtgtgggHMgtKacttaaYgtcgcatcSatattgBaagtttacMtY +agSatttatttaVtaaDtaWaHcgNatactgactHtggWtataDcDScatactcStcDtg +tcgtgtatgaggtHaaNKgDattgcBccaagKgtatgacKSMtttttgttcaaatcaaYt +agtaSatgDaaaMccKNaMaatagaataagcaattattataaMgagtgaSgtctNYttat +tHaNaYYtcDDtaatNRgtatttaaYtaaatcactHVaHcStccttcccaaVatcVggat +KtatgRaaDBgaYtttacttYggactSDtaBcaaNggggtattatattBDcttagagYNM +atBgttYaagactMatgttRgatacccgtaacacBHtatKacWgatRcHttaattYtKtS +tccaaatVDcaNKHHaaataatagtagtatcttgctNDggVaVVtaVaRaaagSaccgtt +ctcMtVtgNBgtDtttctYgttactBctcRtStWtWDScMtcWSaRatgaataRHctaNt +cStctYtWacagatgtatYBtHaHWBtacggtDcaaBtatcaggtcaVattaNctactga +aaatWaDgactNWtMtggagaattBaataYcMWYcgatMYatWtgattSatgaRtDaRgc +cagtSttatatRaBtattRcWtagtVgaagttMctattatatDttaggtctKtgtgtBag +acgttatRKtgatctatttBtataactgataacKcggagtgHgtVttcttgtKDgcDtaY +atBDatcaatattgttNtaBacatcgcNcaKcaWcRataWcVgtacgScaWgttcggHcM +ttcRccatgaRStYgNacagatacYacWWtggNaDcWagttHatMaNaatNtcDMDcMaK +gHNatScVgatKWatatgNRgtccgYgaagattDHgtMtcHaSNaaattBatRagtaaat +ttacaagHWtKatcaagtccHtYcctgttKDMSgtactactVctgacaaaaHgatataca +taatKtStHgctScSatNatacaYttaaWHtctgaatYtagtHtKaggccWBaStaDcta +agagNtaatcaatcgttNgaYDaagtaaaaHatagaatcgcgBaYaBgaacSaaWaaaaa +ctccgcMttHttYgtaagaMctKBtacSagattcBaaWtaattttacRttatcgaRtaca +RHgtgRagaaBcttaVgacVDgggaatVatagaactRRtacgYttNattVHgaHttacaa +aaaaaYtcRWtgtgattatgccaSDtttatKWgaatatSNDgattttaacgtcSRtatgg +ttcttcBtWtttMtBtMScttaHatBattHacYtaYacattcgttKgtcStSctcKtata +tttcaKSgagcttccaacaccRDtttDaccattatatSgtcWtVaaagttgtagccattD +tYaatattDaccatcVDaaRccagttttgtcHacMattcHgaNcatgttKcVttcctgtg +cSataaatattgaKtctaWctMRaKggtaYcaagttDttcgttacRtatgatggHNaWMt +KttcatattaaDaSaBaaaMtMatBgKtttgHtHactaatcatcgtWaatKaaWcaWtcc +tVttaaNaggaaaagtaaagaDctNttaDBaBgatagMgaataacRcYggatcRaaaHaa +gatRDtVRactaYagttcaccaaWtctcSSaaatcSKattctggDgaacagDtaDagaca +gtgtaattcaStYttNaStgtaHgccttaScatMRcaccWtcatttatRtaagatWtNat +aaWtMNtDVgWttgcWgtgaRttttRgWcttMtctaHacaaYtKctgaBagtRagacttD +atNttaaaDgRtatNcHatcSDgtBatcttacVcYacNgaattaacgagttgYgacttDa +ttatacBattMgctagcctagatVcaactNttcctaatgtDaacgYaNatagMatSWtYB +aaaRtgMtatSRgaataYaScaVgtaScMagatNNtttacaaHBaWtNtRtctaaacDaa +aaWMcaNtcVaDNcagaDtgcWKYgagttaHtgcDYataaacataBaWWtcggtatgtga +aScaacctttRNatcgttaaagcaDctaatgcBatttacaattVaMgSMMtccYaaaBYt +ggattttcataWttgBtatDtBgactaatgtccWaaHataaScHttWttDtcgtcaagMc +tMDtaaaatRtBaaaacaatgtcagcatBgNNBVttttttcBacWtttWtSWWtgaaaaS +acgBtaaataaagtcDStaagaactgttaatYatgDctattactgaHtaaatStHaagac +aKtagDtaaHaDgttccaaDtaaggacactctDggcgtDagtcWaHgRcHgDgaScttta +ttgtcttttccttRYaDgNactaaatcaWggcNSBagttttatatStKgtcRtgattaag +gtcaSBttaacaaKatgggatcaaattgRgcBagtNtcgDcatttWcctttgtNagDgct +gcatttactttgtgtcaBgSatttNHaMcggcagSctcKDtWBaagSagWatggYtVatS +RgKagattgaVatKttcgatYatKYSgDaacNtcVgtttaWataWtgVctgcgSggMgat +ccatgagttgtWcatYWWcctVcNHagtNtgtKtttgatcaacttaSttattgatNcatW +aVgNHcagStVHcggHacaaDttgDttWcaaRaKgaaatKaattagtaWacattgaaatg +tgaatgacagtgaRVtaaYagYtcggcatMttgaaggDgagDRcaKgHtacacaaaMcaB +tagHactgKaatRtNttcttcatcatNgYgStggactatgSMttgKtDaDgacRRgtWaV +attgatttaagYctatatagactaagaggtatWtataaactaYaHRctStgKWcgtRtKt +YtYtagacgattRaaYBtaStcttaWataatcHttataRcactgagtgggagccaattct +cDtgDaggHcDRVaVVggaaBtRttaataaRRttgtaagKNcaVWWgtatacctgatctt +BtcttRgaWcaVRKcagttSacttagcgtKtgtYWatatcgNttcKaccacacVKctgat +tBtggacgtctgacaDtWKttattttgMBgKaacaDataattWtBtBRtVtacataaata +tttgtWtttatagtDtgcctagctHYaatgcaNaaRcaatVtacctgggggKtagBgaga +BgRaaNttttMtMagMtgtgattNctcNaKggWtMatcttagWgtaatatatNctaYBgg +KaataBattYtaattataVtggNtcgtgtctaattaaacctHtacaaactDctDtctgat +atgMtgataacWctgtgYSaaNScgDYaWtatDatMKgcaatttctgNcgtHtaWtagat +atcYBttaattactcaaaVattYRWtatttDtaNMYMttgattataatgcgNggWaatYa +gttgBagNcaagaaaDtRgtaaaagctgcatctagcttaVgtBttatagcKMSaattYtH +cMaBttcagtcttgKatgVSVttKgttttttagtgtDHgNggtcaVtatttaacNtgaat +atgctatMcatgaaaBtgBSaWctaataaattatYttagtaDtaccggaatgagtaattg +gatttaacBtctSMgWYtgKgattacgRctctccaatgtaggcctgaNaatScgYataaB +BacaKtHtttcatgaaHtgBtagaKHVtacctVtcaaccaDaaWNHNaatgataattgat +gWcagggtcMBtgSgRataHctMctgMHHtKaBtaaMtMgataaRWtagYtgaaMaSgct +YtgcgaaHatDtatgtcWRatKatatYDcBgNtRaRacattMcagaHgaaagRccgcgWt +tggSatBagagcHgYtatctVtcatYaaVRtcaSacaMYDcgRtcaaWgaRgataMtaaa +acaggtgtaaYcattgWgDHcWgttaVatttgcatctaatccacaaagaagSatgcgtag +RgagtHDgaVcgtgcttatggMttttcatKSctNacHcctMaKRatttgatctaaatgHa +aScataataatgtttgtgtHaVcaaaaNHaaaatcgctgSVtattVttagaaNWcacagt +gKtatgattHcYcttgDaWVataBatBttttWtaactNaattttctttaaYHaMtttaaa +ccgStcHaVBaatcRacaaWactgtagVKtNRtcctagcWaatNgctKccttctcDaBDc +atYHatatgcaataaBaagaatgDMttaHcaaYYtcactgttRtgacRaacctaWtBtBM +agBctaaBaWtgatgVtttattataggttaattgtaatYcaRtVctcttgcacSaaMaat +actRSgcataKcagcaVNKttcgSatcaaactaattDtaHtNaVtgttttttaWVtatNc +cagWttcgtatBcgttVctcBttaaaaMSaDattKRcctttcataHaattaatWaaataK +caHVaggaatataBYKHVtgVcVgtcHcttccgcctattDtMMgWaacttgWttYtttcM +cgtcctaaVHtgWtggtgacKtcaWaYMttacttagVWtacgSatatcgWcKaaatHKaa +aYttgtagtcaacWtttggtcaagttgaaBBaSHacVcgYgttWBSRWggtattttaYDt +HatattcgatNttacaaaaVacaMccaaYStaataRttVtcttagaVKaacaWcgccgtR +atcatctaaatccMcctttaMggccHgYcDgaKctatgMRYBagcaNDtgMtcRttgtgH +aRttacatgaWcDtgctgtataggNggtgaatagBgagYNtatcagKtHcatBatgVKga +HWagattRDatatcgYcHagRtaatgWtcStagcVatNaaaaKttgRaRBYNgtaaDtSt +aVRgcMccatMWaaattBDatttaatttataaHtagtVVaDRMKBtaacaatttttttDa +RSgaaKDtVaBatcagtaaMttaagcctRgaNVgggttcataatagNatcctacactacg +catgtcggaYgtaKcatggattgactttHtaattWNRaaWYggttcaaaggaaNtaatgc +HcaaaattBtagcttattcaagVtatttWgcctaKtatBttDYcattagDacKVaYNccg +YaYRaaMaattRaagaHtatgcttgcRagcgctSaatagaaRacaRacSccagcacVMat +aatHgRtagcgaKgYRaDcVWSDVgRaMgcDgtaattttaYttggtaaWcttKDaaYtat +MRcgKccYcagtYcBgRccattcaKtgaSSRtactgacgHtgtaaaaBatWgcaMcBcYc +gccagactcttcSatYattgatgaNccaaaaWaKatVgcaggtWtBcgttaRMagcaaag +tgttcacatataaagaHWtKatctacttatatcacYRaaVagataagtaattttgatgtB +ctaataggtaRtaaHaattgtaRcStYSYaWRgMtacaHcNSttVNScattNKaaKgBta +gtgatYcaaaStactggttggggaBggtNtgtcaaWBaYVSNgtaataBNtagtatatca +cMcScccVcgtVRRtttNcKaSRNaNtHRttatttattgacaatggSaBagataaccgtt +cctaDNaattgctVtatNtHtatagSccaagctKttaaacaaattattgtSHgMWgSttt +NaccattBMYatRtccStNgttgaaBcctVagcaaaatgatattcRaBccMWaagKtttt +tcMtgaRYNaataDttgttWRttattggHtNtataatggttgtStYgaMcYVtcattagg +taatVcaNggaRtNataMWcctcYgcgagagRgcHMgcWtgaYtVSttgDaacgaaaatM +ttYWtWttcctgaKNttatttattRaattaagaccMKtttcWgtcaBagKSaWaaacaNt +aYaDtBNaaagWtHgacaaagtgVtcatKcgcaatVaactatgcgaaactccNctatatM +gactatttatSaaVttNttRttagHtccKtHtaaaNatttYVctaatttaaaatHWaNtS +acgaaaHggaaatcacagVYcctaattcMNtgtYtgagttatttaBtcRgBHNacBtact +ctagaacgcKaaDWYYgcattactVagaYtgaVVcgcaNctttBagKRcSgaaatttgta +tccattgtggHcaatRtaVtaSaBtcYYcatcgtgtcHaVttaHattctgtcaBSNYaKB +BattaatggctgtHatattgtBacDcBgatttaaaNtggaaaaYtNcaKagRRtRgttRt +MtWgggatcNtacacctgtWKagatataaYVMtaaDtaaacctctgtgtgccttScacWa +ggaYacttttKacgtttgtgataKYagaYaVatcWcSattaMcatBYttYaaatgStKag +WattKtttaWgtagaaSgtRattcSaDagVaMattattYaagccSgcNaaDgaaSaggta +NgtWactaWcgHctgaNatttttcaatgtaMHSWaRtggtaNtaHBtttWWaaatattcV +tBtctStWtaWMaBcatttcDagttDtttatatgttWBtNaYatcccSgtgagcgaRYtB +tagaDacBtaagaataWactaaaagKtaKaWaataacKcccgDtagccaaagcggaatcg +ctSRtacKgcactacccHaactMgtgccaBaRaaaBVtcgSacRKtttStgatcaaHgKt +aaKaccHaccacccKttgagcttcSttttKKcgacBgggtYMaatcBStcgDBtMcataW +taWaMtgaataagaaDatccSYDtgBatgactBaVtaagatctcNMgtcaWKtgcWggcg +atacgtgtttatttWaDaNWBNaaNtNttcaaatagtaatScgHtMWttgttgaBaDtgN +atSaagtttHttaNaNKaattKatttgatcgtVcatgaatatBtttctaacKaNttVttS +agccatRtatatcactcHHatctWSKttaMacaaDattccaRaYttttagttaatattcc +tYaacVactgctMcgagcaMYtttgaagctagtKgNWttgaaaMatcaMcttcSVatcaa +tgtNactaaBagatagagtDMgtNtNWatttSaHactagaaaDggtaaaaNctMaatagt +aHgacgMaaacMtacatHtaSagaHatYDccagtBtgaWatcYtVaagataattgatcga +cctgcaacgttttattacNMWNcattataDVDactatattatYattttgcgaagtgagYV +tagYaWaHaatctgWttttatgcHaacgttaccDaKtatagaccaDDttaacgtHBaaca +tccgtYaBtVtNccaaataaaatVactDttSKtcMtDSgaagctaMtatattgattactg +tNaagNBcagHaDattaaaWttacacaaatactcaatSDatagctcaDttWactttgaSt +aaDtagatSaaDtgtaatKtgVataggaagWSaaaaKatttaaagtttgcgtaaagcccg +gNWaacatacatgttctaRcaHttVtcattatctagttttNcataaacDttWaagVtNYt +aggctttggtatgagaWgtactNaVatcactVttBKcttaaccttcMtatcggtaataYa +MaYggttgtcaaagSWHctaRMSatVcggactMatatccgaatcttttttcgagtccagt +ttgaMtcgcatcaaKagtattRMaaaKDBttDNccatttttaaBNtVtccgtaatgaKgt +cagMVSattatttaWaattttaHNcaaMaHttgtggctattctacDtgaagattatcgac +aaVRHttcSaSaatactNHWaaNcgtWaWgaccgRSttNtHtcttcKatYatatBaagtc +gctBtgagccatatScctKaagaaKDaWactWagBgctgattBagKtgaaataBaaaaag +SacScaaagagtagcgaDaYtaMcaYcKtaataMatttttaactttgYgtcgaaggacgc +HctBcgYgaaVacRYagagBaaYgtagattgcgagtcaagtStDagatBgtgaccctaSW +tctDgactaSHttctWatWttctaWtatctYacactgBWatKKctgtatYgacaaHSatY +SaNgSagtatagatgagtatttatgaccMaatgtaHtStaWttgYagccaWattcagtBa +YtaaNaBtaNatactggcttWcaagatDctacggaNctatcacatSgKgattgacgaccc +ccgagtNDtattgagaaatattaatcVttNKtaaWtYacgSNcBHgttgWtatgtttcgc +caactKaattaRgacgNataatctacaacKgttBatYatNMSaaaNtctKgacttatgct +tatKtcaVtVcagDaataattYgNtRtHaagcaataHcacaVgtaNNHtHDatgttaMNt +ggWagSVaRttcMVDtcttWgtRttctacKaaVttcVcgcatcctHRKtattSgttSacg +aagtcccRDVaacBWagtgYtKtgattgSgaBtgccBtcaKacaDatacttHatcattNa +tttacgtcagtgaggcBtaRNaRcaSgcatattatStatgctYcacgtattcattaaRtg +StcttWgtattKtSYttNaHaRtNYcRaYtVtggtDcKcttctactaMcacggcMtacgc +ttctatatHtaatggcattMDtaaMaKattgaagtBaaKMVMNacKaDtttKNcgagcta +aagtccMMtgagaagVaataatggcaWaaaaVaBgtaSaVgaaaSaaaataDttVtBcca +NagcSBgaMaDaVaVYYRVBgttYMtagtaactDtaagWaattBtattttMDYHtSaStS +cRaKatattacacctMttgNBKtcRtRggNagtYMattaaatMctYgaatgcKHagSgga +aaaBcaggtHtatWcatcgtStagMcctcatgattaWRcStcgWtgRgttttcctaacat +cgctcgDDtRaatatMgtcMtHtMaDYatgDatttatagctKDtYHaaaaattaSatatc +tggtctttattttatMtgtYttgtcatactcaaVcYBgatgSctKtYcctWaRaataWcM +gNgcgggagtcttRMgactataHaHtgctNtVaatcaaccacgSRaDtgKtaaMSKgtaa +aaWaKtttVagSDtaaaaaatgttYattttNagMHaaRtNgBttWattatatgcttatat +catttatKtKaaaagctRaaatcgcYgacgNtacNtccVtSaaatttcDVctaatacWgc +aMtcttSaaWaaaWagtagtaattaactagRttaVcSaaatataacHgHatWaattggaa +gtgcgSSgaaVtgYgSttccatWVataatcgaatatgHtRcgtBttcttaaggatatgtt +gtBcNtaatgtcacVatactgaaatMBttRRcRatccatagagggacatcgccWttagtt +gWttatKagtaaaagHtttccttSatVatKtgagcaatttattaaYVattcaaattctgS +attRaMtgaatMgttattattacaNcggVagccttaaKgccYcaaDattWtggMcttMac +WttccMVgtgaattctDaBYgacttKYtBacatgctDcRaaKaaRaatatctttagKcKt +aactttaatNaaggctgScacctYgcgcaaaccaHttVHcBaDgtaatHaHVaaatMgtt +ggtSatHtNNaaVagtgtacaataaagacgKttcaaaWVacagctcacWHaatcctgtBN +WtaNMKcVcVSWtSgcaattctgKtVVaaacaRaattgatRcgBacaKacVccVMactag +cgMNaaactgataDaSgagaatVHaatVSVtccggatgRgtagRatttgtaactaBataV +aggcaagHgaaSMSaKgctRagcStNcatttVgctatacttcNDtcaKBDcaHtDcaata +gttHttattMBgagctgtaaagtMgatStStcagatatYcBtataacRcaggRaaaggta +WSatKgatatgagcgtgMYatcagcatVttSgaaaaaatatatgttYttcattatacata +atVcacgattataDggttBtRaagtHMtatagaDgNttggDaKctBcaaRcgattcgtgc +cttacaaaWattYWVcaaWagDattgaaagggaagaHattBtatVggtaHtWtaMagtcc +agaKttSatatcaStDtgWaagtKWaggtatttaWaaRcattaatStgaaVtacggaaca +tKctacatHtaaaBtcNWatttBBaNatRcDattcgaactataaattataactcagtSga +tataagRaYaKHctggtaaNtttaaNgaRHtttattatacNttttaDccttYgtaaacag +gaagtgataaacatBgaSgtaaaaaaVcBgtWNtRMttBttaaBgtaaaatatcHNStaB +taggtaVatYaccNtBaWagRctNSacRtMatDactStVctaaDtaYSRgttaRNttttK +ggccagaaBcatagtYcaYNtDatcgtatVcaatWRtaggaattMcatRtgggatgtcMg +gMtttataagtaBgtggacNaaKYtgctWgagYtWcctWtVcttaaactaRacatggtRc +atctSDcHcMgcaactttttagttaccttattHRgtacggcactDBggtMHcVaaRatKc +tSHacctacaccactaaHaacgSttagKtKttttgNHVgagtaYaMtVYNVcggttaSBa +BtaatttSRcgtBgaWaatctttttKggacaWKaattKSaccttgDRgtcatatDatVMt +MaVcgaattaNaagMWccctaaHgataatatgtattWataaaatBaaMtgRttcHctaag +ctaagatatattMcggactaRttttKaSttactWYtgBcaMMacRRgNtactttaaaSKt +ttcaYBaBttaVagtRtHcWaggaVccttNgtgagtcatataWttYScMtWgVRgattWt +aSggacggWWctBHatattataaKaagttactaMRaaataSRaDttDaaatataVHaatg +gaaBDgWgHtcKStVcatHtaatcatggBWaagHtagtMtgHcHtcatggggWcatacaH +NHagcDatRcaaattcgcttgDggDNVcaacgSgtggcaccttMttaatattVYtVgaag +RttaBcagVaYaHcaRDBagatgaVHtNMtcttactDaggMgMaattRWDcctVtgagaa +aaSKatHHttVDgtctgtcacatHNttgaatSaagtKBatatagacaaRVctcWtgtacK +taacHtgHataSgVtactaggtttatggBgtcaaaYaDgaaaaaatcgMtagaKaYatga +attatYcttKtacaatttgWttMaatBgaatSttMtNaVgVtScgcttctBHKgtaRcNB +aatcDtacgattgacgtgctatNaaBtMgagNgKcttWcWKacactYgttVgNcgaattt +tcttgaaaaactacccctcgcNtgMctatcccacMcactcMatttatttagtagaacMNt +ttcttgYKaWtaaBtttcWttagHtgtttctcttgtggctatgDgctaatWDataattta +gaNcgcRRNataKtctaataHgaaMYctNaKWtactaacDtgaVcgagaactggtaccaa +ctHgaggctagagHHagtMgKtaaactacaggMatgtYgSBaKaaaattMgatRtggggt +HBVgttaattgKttaaRDacgMactcaaacStaaagctctgtgccttcgtSagtSaRcta +caataKatattctaVgtgtaattRacKagttattgaMtaatgaNatacDataaggacttt +ccNtStatatKaagaataKtatggtcctctatgaggttaaDtgtattgataaaactggat +cactKBtttggcgtcaaagaaaNtagtWKatctaaWBactDaBaYtacaWtaSgcaatta +ttWgaaBgactgaKctatBRgtagttaBaRRgatttaagBHctStgtVYRtaaataaagt +MWtcHgcattcacaaMWtcMccWttgVgcHaWttcaNtgtVaggNgcVatKttataaWDc +ccctatgatVttttattacagRBBWttcttRaWgaatBVgcgtHgWgaccagtYacaatt +gSttaaMcVtDatttaVttRgttKtcaYWatKtaaDtttWaYtaatYctSctatagtcct +BtccMaMMtaMYHaSSgKaaacttctcBtMtgDtgtttttagRcgtacttataHgKtNtM +tKcBtaNKaHStgSagYHtataDtcKtagRtNWaacVgctVtRtttStNtgaaccttaVa +tgagaaggtcaKSttaDataagcYaSatNStcaatDNgttcgacaatttaSgaRaBNNac +attRatNtgSttHVtgWHgtSHccaactKttYtatHYttVtgHcNgactMcaacttBata +tgSgattttacgtatttgtggtScaacggYtHtgcatctatttttWtaSatcagaYatcg +cagtgtgtMgtattctttcattaRatttStcaatatgcttDtStaaagaccDcVtaWNcH +YtWMaMcgaacKcaNcttacctaBtgcDacatcaHKtRcDaaacataaRacNNtccData +NactttatBSDYatDtctBtaBatctDatKaMcattMatatcDHctaagRgYVcatgttc +gtgataHDYaagttSgHYctaaatgtaaaactNgtagaaactaattRaatcttttBKcga +atSctMaggVaVaaatgagataaataSgttKgtcatKaKatDYtaaaRttYaMtgctcSa +tRtagttttagcaaNtaKgatcgWYcacDgaatcaatactgBgaNtaactaaWatataca +atacactaNatcaVaKaaMaaaaaatcaccBtgttgNctaacaBattttaaKWcaggata +WMtaattgtaaHtgVtcgaHtScaHtctcHacVatagtaMcaaKtcccSagMYtWcaaat +HHtaagRttDagtMtcYtttaaWWaaaVaRtcHNtctcSttagcacaKttgtagtNgWYt +atKDtcatttgaacctcKHtatccttattcttNggtBgtgtKaggWtYgtStgtVaRtaR +aaagtagtgtcgcKtKagatgagYtttaatKcScctgaaaaaRaaHtttttaaaVgtata +gKctaNtKaSVgttcgagacattttRSatagttSacataMtaYHccacttttctatacta +gtatgaBaagctttaMtgaatgtcaKYtaaatatggattataNcgBHatcctaRaaactg +ttgacttYaHtStcatcctDaMBttgtaWgagtaatWKataaaBgBattcttttctttaa +tWStaatacgNaagtWaMaaNgactMtgaaDaggaaaSctaSSgatatDttattatcata +gBcaataVcHcRgcStaHaaatWagatHttMHactaRacttaYaaaaNtataHKVaataK +tatgatcgtcVaaWgttYtVcaaYggctRWttaaKtRttDaKtgtatcaattWKaatBHa +aaaNgaatggStHgVVgatMgBYtaRNgBDttMcNtggaNgtcaHtgttDcNaggBtatY +tacVaNttctcWtactHYcSctgtYtDtgWaatcHgatDatatcHtcttatattaaKaRY +aDgaatgSYcgactgcRgaagttagtStYatYtttccgacactacagKcaaagDttaatV +atcttaaacRaDatRcBatKNtNtaaaHtcBgatKHcWStSRaKaSMgtaKaBacWgDDt +tgYaaYttaNtDgHtatSaSataaaaMBaaDtaMatDaagWtggaMtRcacttatggctN +ataaaaatatWNMtacctatgtcaYKaRacagttHDagccgtaaYcaatataatcatagg +gaaSatgMYBcKBBtaaRVRatRtccVtgtgaagVNttcttagtgtcWataVggtaaNaa +tVgVaKctttNgtttagtaaagBatBtgaYSagHttSYaacaStcgcagaSttcDBtKtt +tggtctacNttgNgKNNtcaaaaKWactgaaYgaYactatHtaWcaactgttSatNVtgt +ctSttYctgattVaatKgtaYcaaattSgttaStatggtccaatgSWccaaactattgcc +gttacgcNatcHctctcaKatgtagtctattttaaggHRatcDaagSaVgaVNccaBKta +cgtttStagKgtctaHtcattaYcctaVKtttaYaaatYtccgataaaVttcDgatWcgB +tcctaatttNaattgctDYgtgatcaatttaagggctctcatcKattgBtaBagcaYcKc +tctttNtaacHacNStggRtMatHHgtacatgcaMagtgtccatRWttRKctaaaDtcMc +tttaNVgaNtcMatcacHcctgWtaaStcacgtctNaagRNNaagMaDtactDgcttttt +catcYacttaKttatgcStDaStNaMgDtaacKtMtacctaaWattggtttNaaVHatga +aattaattacgVNaaWtggaWatctgVatcacYctcVHMtVaNacNtcccaWtttgcaac +ctcWctHaatcttWcaaaYaBaattSctYatctaagDgBttagtaSgaWtBcRcKtccYa +tatcKBgtctttatgaaHDcgNaMatggatgtWagRctStagagaagaacagctWtNtat +aaaataRatHatKgctNactHgttRgRgVcRacatgHYaNttaHtattaNStaagatgta +gaHcVctcYgggccYcaaaatgatcttctagctctHMaMMgcaVtgHgtaagaWHHtggt +aactBcaMNNctagaacggWtctttgaggHcYNaaMHtaYcttKaagtSccgttgggNMS +tatacDttataaaVaYcKtcgcattttcgacctctcacVttNtttattgtcttctaVcat +agaattMttgtHtMgacataaatagttctMtgtWgWctttcaagYgcgtNaagcaaDaVH +aaStMtaaagccccgtgVgtcacatcHVaDtgttBtBacBtcggYttDagaDYtccMtta +gcttacNcgaagatRtDataRtgctaatatatgRtWVttatWKtgcBgactcgagaSgta +aaaagttaaWaaagtatttctcWtatcBtcataacNcgctcRKaaDKactRaNtagtatB +tgaaatttcgcDactttaNtYgagagaNttgaattaataaaSMattRHNtYtgttgaDBR +BttgWttagSatgacDggNVagRWcggctacDaYSgaaattHgtYaaagctccVtataca +ttaMctttgSgacatBKaattRgtaBRtttaactattctagcMKMtttctgtgtgVgtct +ttcDcgtaaMtaggtaaaDtcaYtatccgattcYtgaaRttctKaNctaYgYaattYgRt +tWctWttaaaccaatcactVatgcgYttgaaatgatKBcNRgctcatgaccHagcgaaaa +tgtVgccatcaBSatKccRStSattaaatttggtaagcVattctgVcattMtacatMgaa +aaaataYNDtDaatcatWattcaggNcaccctcBtgcKcHagYtatBatgBttgtVttaY +BgBgataaHNtacRtcaaBaKcagNtcagaatYgttWgggaNDagtatagRtctcDtDaH +ScagttcYcatcSYacHcagagNgtgcHagtacagctgRtatatMtaatRaWMHgaaKac +aBRtagHtaaaNcVHcatWBgWaaacWccggtaaRcattgMgttaNgttVMVttgcaaga +gaatcaaaaaagYScKVtgccgacHgacgttcaMcctcattatgcBttttaagtKatDac +tccgBatHYgttcatcgaaatctSaKaagaatWVtcgttgtcttaMaaYaSDtaaaatac +cgcKMtatgKtgScaaDMaaaactgtgagcVtttaRcttgtaNMatatatttggtMgYVa +tDaatttgctttaaRtaBgttaYaaagKtataMtWStcHaaaaNacgctacMttDDgact +acaNaatBcagtcattatatSttaVgRtWgSggcaatSataVgSYgctBttataaYRRga +actgtgHtgacHWSactYNgtttBactatWStaNtcStcMttgattStacctgaattctW +atNaaHgMatattcaaaKWaBaataatHKgaWgataYcaWMBtgtacKagaaaaagaatt +ttWttDaMtggttgtgaNMtVtDcaacNttactattacggKctatttaaaaBKatagttH +aatggaatatYWgtaVtNaaYgataatMaccWagagatRttMtgKaMcgatattaacaag +atgttBBcNaYattcNgtRttgaBcctaagaSMttcMtcctcYattcaNaRBttaatgVc +MNgaacKagatcgNctaWVgttaaYRtgctSctaaaaNtttgctaaScttcVattaHtaa +MacNgttNtKHMcctattttaRtttVtSgtacatBgtVaaSSaMVaRBcaSaRHtaWtWH +ttMtattVcaMtWaaaNaccccgHYtcatagaaRtaaBaatttaBccaatcRctcatagW +gcBHRtacaaDttcBgaHggcgctaHtgacagcSNattcctcgagaccBggtcaagWctg +VcRDgVtaagtttaattatcMtgatNagYttHtYtagccRatagDtaatcNtaKtacaMS +gDaaaatttgHaHtRDgtaattKtaMHgaBcaWtBNYaWgtttStttaSttgataatgac +tMKatHBtttaVcYatgggttttaDKcSatttMatatcagtYaBtgVacaatHcaDMccc +gtaataatagDataatVaaagaagaVtctccgaRgtRtaatcgagtcacttgttSatgND +HaSNRcggtaSaagcSaBgWSgcatcaaWatgttacatgattcWacMtagtgNcacgatg +atttttRcWttSgtaatMRRBaacNWRHaaBaattDaagStgatccttcaDacccctKaa +gScSSHaaYHWcHcaWcaaaMBataattgDtagccWtcRHataMNKtMgHaBcatcgaag +tgtaRgtgggaVMatgttaWRtStBHactaaRaactNctcHaaaggcatgcVHKHgaatc +SccttggSaWatWtNcaaBctaRagaaacacgcttcKatRattcWtgYDaaaaaaNatWt +KgaacgtNttactgWHBaccaWacggttcaaVgagaaacVtMttatagaagtatWtaaaN +HYaMacagWagtaatttgcatcttcgaatacggaHtaatVattctaDaHtRKRaNHctta +catcDKttMDKaWggDtaatcttYctcWtRaaaaKtaatcctgccccatgcgDtctaaVM +tWRKKDctaatatDgactagWtaaaBcKcacMactMHHttgDataKHDaDttHttattta +gtcaaVatccKWtacWtSVcaggtaatatDSatgcctKtatDtttagacKaaaagcgttt +aaSaaaYtgattgtKtgBMcKttgDaaaagttBRatHgcaKgDgtgcWataatMWgcVaV +atcYgWttaDatcatNaVgtttgggcttgaHRDaWgatttctgMHgtVtgccttBtWtaa +tcgttcgKgRcaBaRMtaattWgctaatMaVBccaHtDagaBNaataRcacYcYcHcatB +gaNtgaNgKHttctYaacaaaYgBttRNtNggaagcWtDggattgagtHaWttVacaaaB +tgttaNctaatactKaMaaaaaDtaRatttDaaagNttcYcaaactcMgaYgtacaaatM +aaatYtcacVaacgaaDagatWgBgaataggtWtKaaMtgDttHtgagttaatttgVaaD +agttNMataatttaSVattNaDtKVccaaatcgaYVtaaaacKRaataatgaBDtctRtg +VcttatttYtgaHgttBWatgaatatacSaacctSatNNRccagtactKagaRtgSKMcg +aaDattttagtHcKcaaagtggtataaaggctcctaSatHtaMtRKattaNRcWtccgct +ataKggatWttaggtaatHDRatttattRWgcgatcttagSgtcttactatgYgttYaVB +tgcaYaaRtDaatacHHtDcttHgBgNcccataDtaaaaatctNtacatatWaRMBgaat +taaaacgctctctcaagtKcacNacgVRVctttttaacttgctcStatRScaRaMataNa +KagtatcattRttNaVatcKgtacNatttttgaNcgacaaKctHWtgaKStacMaBatgW +ttNSacaaKcaDaatcWaKaccgYBggMScgaMcctagcaDatgtttcVatgtRBtKNWH +tcctWDtatttttNNSaatattcMttgatKgNgaNBatcSggtctRcttttttatatggt +NttDYNYgaaaKctcacacYHRgttacatacttYacaataNaagaaaagttataNaataS +atacagttScacVaScaccSWtccagKHtaatcaaatVacatWacgBctccaataHaaYt +MtacKacHttttKtcataWWtgtgaatWaataaaaacatttcaccttaHtttgttccaat +cccgRBaWgatKgagtttBaVgaNtaNVBgcaataagaatagcaKRttgtatcaattaMt +aacatataDBgtaaNttcaNcgagatYactggttatgtNVtaBNtDaaDtDttaSaWtac +taVtHactttNttcttcatWttcDatKaacgtttggVDaDtVagttatgtcagactKaat +caYtSgttttataaataDttKttKagacWgHgatataaatcttagatNKtttWtWaaata +ttacSHaRgtttScttaatWttacgRRaaMactcatBacaccatRtttgaacctacttcD +MggcVaSBagaatcttaKMagcaVtctDVataWtSgatagacttBctDtBNWgtgKatWc +tYgaaStccgVaaaDattYatagtatcaacBaWYctgaaatttaKVgYtStNtcaVggtg +gaNYgaRtMaacataSttcagacVactcaVaagtggtattaaDBNDaagtatatMtacta +tatgatRSgtttgccaacgcacRMtacRYNataagatcMgttgatcataaacttVcatat +gWtacaaaWttggaaactttaScataactRattMtDacVYataaaagMaattttKtgaBt +tKcaacatattVtagtcatgactcgDaacDtaWctatRttSSYNtgWaScaaataagaaa +tKtagacataatggNaatttcSKtVWtgacagKWattcgVatttcKWgagcaWgNKaaaa +tatgtaaacgttcactaaWgacaccBNaacagaaStctgctaHcVtttMtcYttStagYc +gtttBcRtaYacttgNaacMtDRtagcatgtgcgagcScaMgtaatBaKataactMtttt +attaRcattattatacgtaagSNatVRgcttcgaVaacHNtctaHBKYgKaccYcttaga +gcccaVgatttgttagactaaacgtgcaBgccaWgaVataggattDBWaattttgtBacW +tttttaatDtMgaactaagcVtctcagBMKatgattgaNaVttggatDaSaBatttcgcc +atatgctaattgYacatgatccacaaMHtttcKYKaWtYcgDtNaaDccgNaNcacacHK +ttDtttaggctagRVtYgtaactagctttcacaaatYtHaattYacaattaMSagMactc +ctcatgtScttcaaYtataaaaScHYaKcaYacactVcacataNtaBcaRatgYagVBat +ttgtaactttgRggacaagcVacctattacRcaaMacHRagagtaVNctacagtgagacg +aaaggKttacattgggacaataKNtattcaagWKttgatNagNtgctaNgagatNacSat +ctNatttatctatRgaaaatKatNKSBcKactatacStcagtaggtVtcaaaBYYgctat +tKtWNttcRacaaaNatgaacttaRtaaDSttVBYtaatccagtNaaacRttagaaccRB +atataWaatKctcattcSacWaacaacactDttVttgacYaagagtaSgcMttBttaVNg +RVagKDcttcttcNtaggttgcgacYacttaaggVHcaagDagaagataaVaatctgtat +RatDtKaaSDgattcaattYtcatgYgtgaVMtMaactaagaatgRgDtHttaaccaatS +taaaaMctVDDtgttatcttaBBgccNacKMaHggcBMttctgNctHggagaataYMgta +MccaataattHttYttKggtKaccaactcccHtMSaatNactcRtttcatgcKcatgcac +ttcatSaatatactttVtaYttDattgWcctcactcYccattaDDaHaaKcaatSttagK +tWtcatRcaactattaattYaDggKtagtNcgSgtttKRgtDWtVHtDNcHWNtKtccgt +ctagtatSctaBcacgcaBtaacatgagatVtttaaggcaVttBttaStWtattgYaggt +SatBMBDactVtggttDagacataaactactBgcacaacMaagaStccaWNaaSYMYtgt +aKaMcYSaHaaaatatttMgtcaaDScaKtcaBVtaMVMRRDMtcttRBgWctaacttga +acNaatgttWgtggBtRttHVKgKcHVtatattSaaaatBttcBtttcDgHccBagtRBR +ttaVagBctRcaagcattacKccaWVWtaVcggttatNaSgccgKtYcBaagcWgcatga +NHaKtagNgcHcgtgtcataaaatagagacttgHYatattctaBgtttatRatctattta +gacattttNtWaaSagtaHatRtctcggatttatgtgatBtctRggggcatWctaSVMaR +tcatgKattgRcatMaHaataNcBcDcaggcactattHBgaatStatattcatBgMVata +aSacVacKHatggttaaBKtgtaSaWMattttMacKtgaaWaaWgctgRatgtgDacBtS +aHtDgtgtMVttagatgattagagaSttgattgtSaaacagHaaatacaRcaccBtaaDt +caMtKaaStttatKagaataaNcaaBtattKaVNaWaNactagtYattaaagWgHttaMc +KaSagatSactctatMSagtggaYctcacKKgaSMgcRgKtgccagNMataatccaVgat +cttHagttttcttaaccataggggcttaDtYatcgaaaMataagcaaatBttgHHcHaga +cagagaggcacWtacccMttacgtgNttattYctVaaactgttaagtKatMagttcacaa +agggatgaVNMatgcaSattatcKagtHaBtgaagBcggagtWttVaaDaccMScactgV +atccaRaSatattNtgcBatgBaaNgtcaBMgggaatgagtatRgaatgtNttacaggct +taHaataaHSagatagtgVctattaaagggaagDWVccatcKaaaatRccccaSVaaatt +tMtatStgtWagtStMaaatBctgcctKWgttDDaSKactctaaVRtaSWcVactggaaa +aNMaaaccgcacNtaVgaagcttDNgaDBtaMaMKNtKccaVtgctcttMMYaaaaHaat +tcWgHcgtacatWaMaaKtaataccgBDaYRaggatatSKcScYagMtaatKHMtaacca +tgHgtagDaggtgtaaatatagaKVgccRYctcRaKBKWtgatHYcaHgBaYtttMcata +taatgaDttcatttaStgtcVSgacggtggVgtBtgacatgtaaSgtBgatKtKtaYcat +VtNattataaaHaSccHaaagctSMKattcatagcacagtgBRataacaatMttKcWaaa +aatagStcggRttaattatWaataatMaYagatgVtatccttttHaScgtBgagWcatgB +tgcctatcgtaaWHacagtactgaattaaaaaNattRNMaSSNSctattcaaagccVVca +tattttagMcgtattNtVBactacScattgKVtataaKtttgNaWcttNacctagtgaNa +aDcagtaWgKggaaKtacgcaaaYttatacSttgYaYttcDNagggttVDagHatSgtac +YVatataVattataSataacgKgatVtVacHYRWttatcctaaDtgtaaDgRDttttatt +WtaaDttggatcattNgtVaaaVggaaggcYgSWaaattcWHcgaSaVWaMatctMDtHB +gttttaatctaWaagatatDKtVttaccgaMatRaaaBttaNagHatDHWcDtBVttaat +KtMataYttSRHHcgtaHDtggttccaaagRRtaWtVctRcaNDttatacgatMcaatNH +tacgaattBaatHtcccatctctccBtgtataYctatgtcgaaDYWtNggatNcacRtMa +atNtKcttSYSctaDaaaggctDaStatKtataBgcVaatttggYcttaaatgatgtHct +aaccaactttgggttcMaaDattatKtVacgVcScaactSataSccHttYctttgtggcD +tMcactaNSBtMRBMaggttWKtattaatgtKHacttcaMVatctgttgtccaaYNtaag +ttKaacttctHcgcWtYttatMBgBaMacaattaDaactNaaatSatcVtSSgatctatg +NatSYaattRatgcDgtctataagagaagRgatatttcccaataHgttttWKtgaagNRt +ctaaBtWcHHcDgaattgaaaKtgttaaRtatgtaMaggDttcMaccaMaattDctgYct +aWtStaNtgRKaBtNcMHcSttMtaKccYacgNNctttatStgVtaYtaagttaagaBHa +aStVKHatgttRVWtataMtSatgcaattcMcttatKgMcagtgaatcYtcctNaYctta +ctttctcttcatggcgNcatScStBtagctWtHaaWattaccgtctcgtBMcaaacKctc +ccaacttBgtWStVttMRgKcVagHttVtaagMaNatcaHttacatcYKttDBtatgSat +tVcgBcBVYttHNtcatKgcYgaaSaKtatttttMtctatctaSaattDttcWagHSacg +ttagYgacWaSaDKatcNgctaatgVSctgctYgaKgKtaataggtggagcgtcgaaaaR +YtgYWYSaatacBgacWtaNStcaattWtRcttttaaSYgttcNgtBWWgtgaatHtttt +BaMcMtKccagtattttcgaHaDtSVgatgaacatgcacgtcagagDYattBcagDctct +tNcNtaaaatRctgMcDacaagtttagtcaaSSaagaaacatacaDtctctYgcaaacBc +aagaBatgtattgacgagYacBDgttcgtgRtaMgaattttcNtgVcttctgtctagtgt +ccatatctgatYatNtatVWgttacaDacaHDDagWtgataWtatcaaBRatDRtMgVcg +aaattcSMagYgWacgggtaacaaattcagcatagSgttactBctgSVWatYcYgcBWgg +gRcHtataSaattBcagHgcgcctttKcttWaggctttaaDtRacBactaaVaaKtaaac +ctcgcgccattactKactKSDcgacaVtatataggataKctcgSatgHSatVcgtagtga +BtSYtgaBataatStaaccaagttcaDtHtatattaacYatattatcctacgagatcacc +gtVSttctYgtcataaVactcgWtaVatttgttggactaaaVcaSaDtYcgNtYtctVaM +taattatWRtWcaNtaKcaaYggatgNgaatcaatcRtcgagtHcgVgttataHDcattt +aagttctHtcgMRHtaaagaVactBMtatgaagtaaaaaBNtataaNttcKcctaNttaa +DtcgMacgDcaMatttgYtaaNtcaccgatgagMtgttaggWcacHttNgtcttHYMcaa +ttKcagttcNcaaaacgNaaSattgKttaaBaKttatttaMggHcttttaaRNVgttaYt +tttMVRtYVgRatKcgVtacgaatttccBatBgYBRtSKKctaaaatgatatgBtcttcg +tttgacHagtaattatatctgDtBttatgaDtatKtcKRcRttagattattagHgDNaaa +KgcgMtHtttKtDtgaaaagtaMatcagaaccgaatKgtatatVaccRaKYtDHtcSagt +BgtgccWaaaggtYKcaHatDDaaattDStDtcKggtMgcMtgtHtcaaVcgtttNtagt +NtgKgctaDcScgBcWSatgtatagcKgWgttgaacgagtgcgcgtKaaaacgRtttcca +tatatttttMgaKagcVcVRataccWctctcgBcgaggcgttaatgaHYtttHtaSWtag +cagtttKtYaacaaataMtaNDatRgMBaBacSaataSDctgaactattgataaRtaVtt +tHatWaacWtVaHaaBDtactYtaDactttSgtKtRattgatttatatattattataatt +BatagattctaacDcRMaaggttcgtcatattRVYcttKgtRcgWaatcgaaWWatDcta +caaaagaattHaatctgttttacYatKatBaccMaMaaVtcacStaaYgYKgtttctcat +tatattNgSaaHtgRaBtcataKYtHtacttgtacaaaDtYtgatagNRcYatgaStaaa +gactgtcWDtYaatVaNStagaaaWtaaaataDYtcaMatSVBVaaaYagaaaattgtgc +DagWSaStattttaatNcacgataNBtaattggaatgcMgacattHaattctctaaMata +ctaBaaattacaHWgBNtNaaSattttaacHtgtagtBtcRtttSaNNaYaMaDtatDta +gaKggYgcaaSttgctactDcNRtWgtttaVtggcaaactattgSgaagtattatgDgcg +tgtcttagcNtRctKggtMaHgaDaaagtactgtcgatttagatcagNggtaattaKaat +gaaYaaHaattggttVaaMggatactctaBgtYHMcttccVcaaWtgttHHRgagttKaa +agaBtaRtaaWaggttctatRatSgtatcYtaWcatgtaBtcaatctaatRgaYYtWtcc +attataBacttWtcctaHaaaaggttgacgtRattKgaagcattSBtttctaNcSctSSt +NtYtWaWtgtagtcttgtctttaagNKgaagacgDaRgtNaBaVDgaattggaYtaccSV +YKctSKKcatagttgSttatcStactcaatSMataHcaKgatWVYtNacagtttBtRagY +HaagtaNaaVVDgatattMaagattagcatcctaMaaMctgNtMcSaRcgctHMttaatt +DtttYttcgataaagtMtaagttaWaaDcaatccKgtgMMcatBgtRtaHBcttgtBaBg +gcaDcgaWttgggtaDaggtgatRtYaMWDttatcNtVcttRaKagctRgtgcNaatctg +attatagattagtatatgaataDNatcYaggKRacaatcaHcaagttagtKgRatRgtta +agaaaatacVctaaaagtgtaagKVgcttSWaaHatagHctagtDgDtSaVtgatcattt +aNKgKHataKBctatatWaNgtttgcRaVNttaDgtcttagHYKatYaVaBtaatgaBat +taYcNtgcaBtHaacttVtccatDagVaaaYgWtNDBgacagVgctcaRtaHaaactttt +acaaggaSRaaatagaagaatacccVaHatcBRtcttttaaDMHWtHgacMtctcaagKD +ttctgYctctcNagaMgcgaaDWatMcMatatttDctttactaVSctagttcaRKWgttt +KRaVaaKtacaacaKttatttttggcctataaDgtcBctBDgcYYaatNactcaaRgaRW +cgattgVNcWaatctgKagDMgctatKttRatcattMaagtctaRaVaattKctgaKtat +ccgaaRatcHMaaaaaagattccacgtacgaDStatatctcataggtacgcgatgtgaag +gtHYtatWagKVKgaMDcaatttWccttgKgagtctagatgaatgVRcctaMttgtaRaa +YtRtaacWgaaaMttatcatNcgttactaaggtDaaggcagtRctcatcaatggYagcca +gcgaatatagtgttWtaccaRctagatttDtaaatRcDKtccHtBWgttctWaagccYBS +gtggaaagHNttHtctaaattaBatggaDMgaBgatatcaatactcMtaaKtcYccgatD +aYgHDBaagBattWattgatttttaagaRaaggatggYggaKttaKtBVBcttaWcttBt +acctYaNYttgctgtBaaMtWtcWaagtaaggWcgMDaaNtccWMWtatcMVgaSaRcta +KtBgKWDacDgaaaaNgttcaaaaataMcttaWtatgNaVaaRataWtgKctRatataag +tgttgacgaKgaNgtaHattaaRagSgattctatgtYtcaattagBYBatccYtgtNacH +agHtacVcVacaacaccgNgBtataYaatWHSttattgctDacttgtgHgHcMcHacagc +tRSDtgattaggaDHtYagatggagWtaMatcRcccacRaaaYagcagatgatacatatt +tVBBcaaMtctctaWgaNtttcctaVcttaYBDBctRgSaagcNgatttcacgtcRDaVB +ttaRaggtaaggHcacttccgDBKgagaatttataaaMaRattagcVgtttacaaagaga +aaMtgDtttYttggcttataKaStacaVttBttcttgBcVaataaagagtgagBgcgNcN +attgaaacRcactDaaccaatWMtaaHtBgaaacaaccctcMctcaaatctMWttggttt +tacttagcRtttacatRtccBttVcatgaaBacaYgagHttatWDtcctSatRtYggHtN +MttRgNtgcatcacgacagaHgtYaSaactgaaNWVagtagttagaNgatctgcatWYaD +acataHtaWttaatHaDgactYgttcaSVtttacctaatttaDgRcagacaDtgcYVtta +agaSSKBYtgHtDtNtcgtcWttDtgtcNtgacKagcactccDMacDNcccctWataRKc +aaatttctRVaacagcaMtataaattWBctttgKgVcatttaVgtDgtatHtgtaSctag +tatagcBtBtgtatgtcgcMcgagttctacgaaBgWccgaWatgcaRtWtaagYttaNtc +WaHtgattYDatWRgRWagtRcHggNatNttWaaacaSgcaatMatgacNgggaSatgat +ttcBHcctaaggWactacagaaaagctMcaaagaYtHVgtaaHKgKattVaWtttcctaW +gaKattatgMaattBgaaagtgaSaaaWtSNBtttYataVgNatgaSgcBaaccatattc +ctctagRtattatctttctMtgaRtctcYgaatDtRcHgcRVtWtaacDtcacYatRctt +NgcgaDtVctWtacHtatatgtatKaaggtaNcataKRaataacacDctcctWgtSaWca +tcDgatatBtaatHSNBtcaataaStHtacttaYaDaMtaagMtgNaaaaNccccgYWHa +atgcBcttaBcgtMBKggccaVgacaWgaaaaaVYcRKctMgcaccWctcSacttcVtac +gaagtYtcctttttaYgttattaataactSttRggtcVgagWRStatKataYcaatNMta +cttcgcttVBaYRaKttaaYatacagctBgagcttcHcaatBaaaVcgctcacaMgttaH +aggctaDtSgatattggggBgRMagtaattggattgYYHtVtcttSRYaacttataBtNK +gatVaWSDWacatVcttgttgaagScaDaSttcactaattagatKttaMcHtMgKccaYa +tKataMcKNgattgtYtaaRHHcaWagctgtgcYatMHaatRDgtgttYctatNKtSDta +KgcBttgagtKtacatgaaggcgMatDaWtcBatagtaaaatNYtSVgVatttcaNgRta +RaaNBttggaatVgaaaaagaaggtgNtttVBgccttgtgaBtgMgtaaacBgtactWgt +aacctatatggaSYattYtVgtttaagccaRtatRMcgWMgDVSNgataatBRccNagag +StHttBgctaBagatattaacaagaggttttcDaRagtcDgtHttcataagaacaKBtta +BgactaRatgaaDYHttgVagcMcBDgYactWgSgacBataMMcttSaRHgcagKcgaaY +aDgttcataYKcttcMWttattaaBacDcttDtttBcatVggttVHtgtMgKcgaaVgtc +gMaaHHYBMaHtaaKaDttaNgNtttttaggMcWttNaaaDaaaaactRgaatagSVHta +ataagttStccaatcHataatacMcattHtacaatttctgatggacatatgcaaacaKBa +tgcagacagVcctccgcaacNatcMaHtcMtaSctgtaYgtStcBtcatDacRggttRga +gaaHatVcttYWgaDtatgYcaBKgtSWVYtttctWttHtctaYttttaBtcataaNgtB +RaNcgttKgtgVKgggVtWatcWagttSttttttaMaRWtccgttttattaHatttBVta +taSctRWtgcMacaattaStBcacggaatRatactVgaagMaaagWacaMgctaacaHct +HtaatacacgaYagtcttKagcDttaKBHccgtaHaacaKVtcMKcaataaaNaggttSa +atcatgaNaaBtacggBcaagatcRgttttHaNgtKctYatBHHtaaaDNHtaVtVagtt +VacKtcYgcattcatacaaagtaacKaKKtaaNtNataaNaaSaBtagaattctgacacN +taHtataBDttBctataatagYSctgtaHcgccgaMBaggttaMHtKgttactaaHaacg +DatataaagcaWtgaMtttgVatcKaattcgHVNatNgDaaYtataHacaaacaagagta +tatDStgcNgcRtaaWVVaDStNgtcaaacgDttaaggNttWcaVNaccctgaaaMcagV +YVaMtBgtatacSacgSgNtaaaDtRaBSaWcNacgYaggtcaYtattagVStaccgatg +SStMattctWtattHtHaDtatgYaatattgttttaNggttVatcttRcgaNtHaVaStg +aagactcacaaatcactgataaKBtNHtttctWWtattgactacNtaWatataaaBaatB +ttgggtatYtttYtgttttVttgagtcVaMVgaatNtaaNgKMaacgtaatattKWggca +gtgRttgtgacactaaYacactggaaKaWYRgcatgcgttctBcttggtVaaWgtttHag +tcaatctcggaNWtaatBNcaMVKStaNcMtgatataatDYMctttcgcatgcYtHtVNg +StggagcBtggMgccctgtgNtVatactgcctcHcataDBtaStgNcagaYttaMtcaYt +gtagatDaagaHaaaRcRataattcaDtcaDgttgtatRaaaaYaRgtttDBgDcgaagc +NttgcVttcacttaMgtMWaYaattcggaDcgaVtYattaBYaaaattaHVttttWaacD +ttaRaSWactcBgaRctacaVStBaaatRgaacMSaagaatagYtNctcaatagctNtta +VtgctgtttgYcttaatgtgMaStactgDBagVSggtSKMYttDatgtMaaSaVtccSRM +gaaaactHaatWWtcatttctDgcMcggVtgtRtcatctttNatcaatatYaKaaaatKW +tDDDaaactaagtacRHtcKttacaataggttWcttataSaYctgctVtaaVggatccta +HVttgWtgHtWttaDHaNgaccctatatgcWtNttacctaYtttDWtttaggHNgccata +ttacKggattVatatcRcggRWMtgcaVRaaHgtaataattttaggtctcDccaatatgS +aaaagatDtaaVtYgNaHBtcaYttaaaaacagatataaagttaaaDWccMHMattggta +aagtccgaKtatDKaVHaBagaBatactataVttDttDaMagctctaaDSggtttgaDac +acVatcttNtgatKtVaBStatgNtgDKYcaatcataWtcNatYccgRtcgBHacaBaat +agaVtagcttgaKagcgHtttDNtgaagMttSttttgDDKRWtagtaBgtgagtgBcaDt +WtaHcctatHatttgttWgagcggDtgtRDRcaaatagcacacRtDgtgVaWtaattRac +VataBWacSYWVctgYtWDaVtaKataaacttKaaaMVHaaaaKNtaaacttgVataaaa +tMaaatMaagtatcaaRtatSYRtBtaataattgtttgaWtaNNtctcaatNaataaaaa +aattgaaaattattgtgttaaYatccccHtaNcattcacttttaMgVDtaDMtcaWSgYW +cSYtSgaatHtgctagaVattaBtaaaYgatattcgaaBtgaaDacacatRaagcgggag +ggDMtatDttaatttggaKSNtactRMttactgtBggcgtcatNttctattaVacgttcc +KtVttMacttWtctaYcacgtaVtaaRgKcttggatSYatattttgttacaaMgtgagag +aSatattWcagDttggNtNaaYtaggaaKtYHcttgKattWagNgtaagHHVatYatcat +taaaaaYtHgttcaaaataattatBgcaKWKtagaatagtatBagaaMtattMagaMtHc +WgYcacgttagtgtDNggctatNatRcYYHtaacMaSStattRagRcgataaaatWNNat +gaaatttVtKcRtKtDtaaMcctccaDRcaHtBSWcYtaKttcacaaMaataaMaactcc +gSgtYattDtaWctagatBtaatSgatgatHKgttgcaaaaagaScHtgaaHRDatSaga +tcBcggcatcatYVaatgMaatStgNgWaaaaMttgcYaaagttSHaYgaaatHattBgt +aaMRagSaSacBaagtttttcatgttaaYcagYtgKtYctaStcaagcgtaVattaNatW +tHgtHKNDtcNaKaVaStSacaaStttagaaataatgcDSatgtaKtgMMtcaaagtNat +tacMYgtgctNgVcaaNcDtaaaVtYggtaaaactgcaagaWNcaaacctDSaaSgVaKt +ctcatataMtggBtaRttKtagRcctgttaHgWRaattgDaaatttHtaccagctcagac +cKaaBctaagtatWtaVagBgtttatgaHaaggattStaactWacKDVtMHccgtacaMW +YctDtagatttRctaccRagtWcWgaaaaMcagttctgacSctaaaactgaatcacaNca +MWtWccYgtttNaatttggttaaNtggttSattttcaacgYVccMtcgaactBtatcYtt +cYDVMttcgattaKWtatttagcaatatcagWatgcRVaatgRtacWaVVBttggatRta +NgRagttDYataacDVBcaaactttgtttgaccatagHMtRctaWcgacagtgcVcaaVg +RgtaagtRaaaattSBKacBaatcagaatgtHattcaVRtatVSSaKatNataWRVaaag +MaacataDgataWHatcNYcMtatttggaSatttcHcgacaYcaKaaatattacHcSaBV +atHacactaMDataaaggcacaacaSacctgtaaRgtcccaaaatWtDtagtcaagNttt +gatDacDgcagaDcWgatDaaKagctDWtttatatWgDcaaaWttStDtKtatSagVgaa +KtaacgaccgMgaSaatRRcagYtgttNDggcHScaaYDWtcaacgtaHgaStKtgMtRt +aatccagtDaaacHgtacaaccHtagataNaattatcVtgaKaaNaaaaaaaagttgMgt +cRaNaacagtaKcaBgtttgaMDgDMacttattatgaDgagcgtcacaaRaagtYaggMt +aaactagaacagVaMWataggtatHagtttaaHtcagtaaatgRgcatgRctgaMttBaa +ataagWVtcHctgtgtYaaaaVtKtaSaaBatMtttgttatattattcaaBYctBWtgga +tBtgaggDagtgcacVataRBctaBaaaataatttttNggtccgtVaaaaataaattBHa +atBaagaHgttaagcctaatcaaatgaYtKaatYtaaggtMgaRggtWgggNactaacga +RaaattSttWtaataaVtHgtacttNtaagHaSacgWggaYggNStcctgacgDcgHggt +ttHggtNtMtttDatNDgtgacgtatacgatKatataaacaattSaaagcagatKtttSa +gcaaMttttgaKtMtagtcRacctKSttBttaatMtgcgttacaaagaVaataattcaSa +aWcBVacYKtacaNBaaKRtRtcgWtWBaRKVtYWWWgattgBctaaatKaattaYtMtS +BMBHDtBtaggDtcNctWYagtgSaaBaVtcttNgtcgttHtgtMtctatKtatVggKaS +aagtttattttatgtactactHtHttSMactatHcaagaattVataaaMKNtaMccgtga +tDaHcaacttRataacaNgaatcSBtatgacBcctcgggtaatWaaWtacacaattctRV +gattctatgtgtatHagatagggacVaattttDtNaWKagtatatHtagacgaggtatgt +cagtgagHccccaatNataKMBaHtcWgctagtgHaatBatSataDatatcacccaagat +tttcSatKgatWtgaagtcBMataaHaaMaattatgcttWWtttcgVKYNBattggtact +tcaaMaVNcctcHatcgctVcttKatgtctctBMggacatcaggacSgaKttgagtctKV +YaaagtaaSgaaaHaWactgRattaaBttVaHtggattagRWtaaDaaatgatttSMBWM +aDactScgRYtgaVagNctgtSBataKacStHRatctVgBKaggccaRctaacttcYKtc +aDcttgaaacBBataatacYMgWgctgtacttttatgaSaaatYcccgattattRStcca +aaBagaacaaaVtttgcttatagaaacacScccSaNtaaaaBgtaaggcDgtSttRatMY +SWatcgtaacgtStBagttaVaaaScccSggaMDBSgcaaKaggatatacgtatgcWact +ccgVctNttMaYtaaatKaaatgKStaaaHaKatatgBtcctatgtVaBggaatBcgcaa +tgagtatHcYagctDgtWaaccagtatWWtaRtKagatagtgKatatgaaaggcaWgtNK +aaagataWaatHaaaaaKMaaatttBtatHtctNactKtBVVagtatcacgtMgtgttaK +taatcgaaMHtYKNcMaatgcaSaaDBaaaaagaWaDtWMgaacatttDcatttaBaBtD +ttaaSMtcagcttttRWWaataattcNctactWaatNaBaattaagaaacttYRHaccat +atKtaKcNVgttYagttBtaaaaVtctcgVctagctcgSVatatagVtMcaaHRctaHSt +ttNtcattRaatgtaRtgttaatYtaagcattgaatttaKtctaKKgaaggtcgMctttc +WaagcgWaKcttcYttgtgaRaagMtDatgWgYaataKaatSWScatKBtYgtaagagaV +cacgctHStaacaSgBtgtaNRYaaWtWcKgaccDtgaWtgagMaYgVVgBaRacYtcKg +atcagttgtaKcgttgagNaStctggaatVtactaSNtaaagtaatcaattaaVaaDatt +HDBaHKDHctVggcaaacccKMaatVtgttacBcctStgBgMtScgaaHcatgctMtSta +VttttcDaNagtDVaatYcggaDaYtaactaNgtccaattSacaaaaRgtagaaKgtcRS +NtgatBacccttMtactatKgtaaRMagataMatgVtVKagaRagtcagMgMaatRHNtt +agaagaatgggaatcHtttttSgtNgYatgtgcYtaatgDctMaaaMccVScgcRgKNaa +agtaMtacaKaMNaBatagBttttcttttYatataNaWcagatttgMtgaaacaBYtHaa +atgtaDactatttNatttKttSattgBatSRtgKHttacgattgcggtaaaaacHHtaNg +McgHaVDtgtagaagatBaaagDttaacSatttaatttaccagatataattggVgaRctR +tcgccVatRNtDgcagBcVaHtBaatDttatgKRKagataaRgcagtaKgagttatatca +MSagttccRcttaaatgatcttataaacaaatttcccttaBaWtagtagttMaacMaKaa +aagHatYKactttRatgtctcgattBcSagaDKtttHtBaccttNttVttVVtggttacg +taaBMRgatcgtctacaaNBtaVggttYaaggattccaNgRgtagBtgtaBacaagtata +aatBaaatKRtaMtKHgatcgYggDSgKRaSttHStcatgtatatWacacRacHcatYtt +taacYatatgtgttNtgcSagDHgataYttNattatcVattcaaYttggtaRHtWtcgaB +acgtttaBaccaBaatgtcgcNagaNtKtaDtgDtatgDaBtcKgtBgatacNaccDDat +ttYtKggMtYNtaactgVacattaaHgMttatcgtHMNtataBtKSgccaVttaBcttat +tcBaagtgaWtaRtcctDVRatgaattgatatgaWgccacDaatKaHtttacatNttaWN +WgtacaggctacttBaYaaatatacaaaatttcgNHgMgttHctcKYcttgMtaacBaDV +taatttacagaRttttttagcKagtKactatMRtgtDtaattccRcaaKSttagttttBt +ctatagaKaVttttgcNagtKVccttagRgWaNaKWttataDgcgaatgMKatgatRcYt +ctgVagaccgcgVgactagaWaaHNtcRNRKaatactcYaNtSDKtcVVggNgDagttta +aKRgttaDcgtNNgtcaYttggtttYtatgtaaaggattttagatattKMcatgYaaatc +aVactcagagtRYtgtaactatagtBaDtVaWatDatctataaaSgggtactaYaKKWag +aaaaataaattatagRcaaaVataVagatatgtaggcWagacRWattctgacgcDtaBcY +attgtaDggMatgagcgagaggctaaatVtctcagRagDtSgKNcgtVcStacatttagN +tgatSNgatcYVtHattHtBgMacRaattaHBacRcNaaccctVaaYaattcVccatacK +cttSagtctgKMNagRaNcatNgcgHattStSKYRggtcagtcaccattttagtMaccct +ggVattHaatVagaaMaattaVacatacacaaattaattacgtKtagaaaMgatWgWcca +tYtagacKatctKatMcggYcgcatgHRtcStVtaatHgSaaaVagtgaatgtgYtatta +YcRagatgatcataacacSgaYaactMKttatRcgaataaMSatacNgaMatttcggcca +cgaYYMcaKattRagDtRtatMVBtaattWtMHgNaWDgStaaSNggStcBcVYtaYaga +HtacagttccMcgtYtYttcattgSWcttagttcgtHtgVRYgaMacttBtatcaactaa +aaVtDgataaDgtatcatYDttaStgccBacctaaBagttgRtaSBtaaaagWgcacBgg +ttagcMaYatttBgtaggtRBaSagttcacgtaDaYaaaacDSaKattctgtSatatgta +tggVBcctctgtgaaHDKgttaRttttBMHgRMgHagtagMgacgaagttaatattgRtH +tHttatYaaagcagatgtgattagtggcactactVattagatctctgtttatcattYttg +atHcHttagStgatgactctDaaatcagtgttgtttttcYaaagtatatcYcaSaacaVt +tcgWtatKaaaHWtRgtttaKacttctgaaNaYacctNtcStatttaaagttKgtgatcc +tBcaBtctttaaaKagttgDtWctDtgtgctataKagtaNHatctagYgatcMgtggYaa +gactgacacttaRaaccHgttcaYtagWtggtgBcStacaMcMHataaaNagatactcca +ggagttaatcatRttttgaKNgSgcaggtgttRaYcaaataBtaDtatHgBtatacKaat +aKtaggaaatatgcataaHgaKttttatMaaaNgMatYattgaatNtatVaggtKctttH +attcatttatYtattagtataYtttagYcattagaaataHtaaccttactcatYttHMRa +gttctDagNSVgcgVaNNattctVcaaVagaatttaagaggttttacRagtagtaaaBaB +aaMtaScKgVaRcNtctgtataagtatVgtDgHaYttcHYttaagatRgtgaattctYaa +aattRtcWtacDDaRatcaKtaSacaagctaNttRYagMSDKtWgWaYNgaaaatatNta +atatHMtMWRaRacaaaatgctgctacNKaKtagttgVatDaVccatSDtgaSggcgWat +ccBgaaVtgtaWttagatVaBWtacgWtaYattaaatMctDgDaaKatttgaaatgctWc +tttaHtggHaBBSRVBWtgattgagatccNcaaaHttccgVcttaDHtNgtttaMggccV +WaagattgKcaacgagtatgtccctctcttaccDtHcttcctBatcStVaactaatctac +atgtacataacDgcgaVttataagcaaRWataattcggtMaaBccYgRctagatctNtBa +ggacMaaaNgctgttHgScgttaaVgattVDtaaNaccggatatHatKcgataRtaMcag +ctattcaagagaatHcYRNgNgcaWtgagYtacttNtaagStaVVagctgcaaggHatgt +caWgaattKttgtcgaBcKatKKtDtRtNYNtctactatgcgatgtaacDtcaYgaactS +HctDataKtcaagtccVRtWaaKMRtagKttaatagtggKttYtaKtVataWYgHBatat +aatcatNMRtDYaYcttgttHagRtYacgaDaaMMtcagattBVScattYcaataataBW +aBatgDtBaKaHacagtBggaVtgtgttRtgacataaagtBtaVgttaNaatcaSgcctg +tcBBaVttctHgVttcttgttatccaatacaNtgcgctatacctcatHtNaBMtgtagaD +tKagtHatacctHgtgaDVWtatcWgtatScattactSgatcWatatDataRSgctHaaW +ataataYacgtacgtgDatHcgtaacSaaagYaMataYaactggaagtKgattKMaatSt +RgtatVgttcttKSMtcataVtttaDtgttatattagWtatNaDcttgccHaMDttStgt +ctgagtRtatRSMWttaStcatattaNaDtcaatttaVatgMtcaattagMYWaRcNtDt +tcaaagMgagaVHtatYaacggttScaaccVKHaaatacWagaataaccMatWgctDtat +ttgaatBtNttgaaBgagaaWcttggatcRctctaDagWBcacaatMStBcBWtatggta +gtgaagaMKatacttaYHtNctgttHSMaWttacaSaatgtattttggccatatSatcgc +tctttgaRRVVtDaatcSYHcSDNacattcMDaNVagatctSctBcatagtggHagaVtg +tSactctSHaMaWtgtatcattWtacgaaHatatBaaSaYacagtaaaagtVacatKtat +atataVtagcgWccacagctcaaccttRtatNactMtcattaaatttNaaggctgYctct +acatcaVgcMHaagaBttcgYDaSRtHgaaaNcaWYBggataatBactgaataYgcgtaa +cccactHataagaaWgcgRacccagagaVtataggcttNtaaaaHatacatttttYYatH +attgaatgtNcttatNaVcaaRtKctcgaaWctDttttataaatgatagcgSttcVtgat +ataaataataBgaatgaRacgagtaRctttaactattNagtcagtgtgaSgaHRacgVtg +gRccatttatgtMtattaNatgttaaatRaBRttcatcttaRBtNtaNSWgtVSgcNacB +tWaDgaaNBMgagaBMgaHaHagatttctNtWatcaaaaDgtgcaaWaataBattaNtat +gDaMaWDataNtctatDagatSWctctggaccatcaBgtatattaaHacHgattcgatgt +RtaYattactNtWgaaRgcgDaatactgWcKaMacRSaSaacDgtgSgSRaagNtKttat +tcattaagtctgtctctataaVgctHKttgVtgacgattgRYcatccWcMtaBagaHaca +aaDaaaRVgcacatgatYaatatttMttaaWBtctcgaNcWDtttcagYKattaRtttag +HcKaacaBcaggtaacctaHtaMtttaHacctVacctaaagtcactttcWcaatggatSa +ataHattacaMggtgaaWaacagaaattgttggRggcgattatWtaKtScWKggtttctt +gtcMaRgYYacacggagtgccDcDattcaaacHaacttSScaaStMttaYtgtcWaaaaa +aaataBataWaatatBNttcgttgtVatgacaHtgtacatHtaatgtKcatgSatacVRc +VctttagNttaatKYgHtRccttDBggHgDtgaatcaagacacWtcgRWKaactgRaDNM +actactgacaDgVgatcaagNRatacagattSMttaattYtgWctRgttaaKMgggaaat +aagttatgHaScYaattccRMggSagaKKttRggtttgDtcgtcMttttggaDgcVctYc +aaataattSctDaccatNataDtaaaWtttagHMSSaagaaBgatYaaggNtagtgctcM +aatttWMggtctatttggaKagaggatWcatttgctatcgcccBacacttataagaYtcN +cagaNatcaYHgNgaacRgtaDgaNYttcattRtagNDcHNVcgDctggDatDtgNaaaa +aHgaYagtRtcaaDcgcaKatcagttattcataaccNaatacacaaYWcatBaaaacaRt +tMgtaattctWttMaMtttccgaNcatVtgatcBaRtttgSaactcaKYaaNtKDttttR +agaMcDYgcaKcataVaaagattcatatWcHtagtagatttctBtcWHtctaRgaSttgH +atgaHMtNtaactgaaaNWtDctgDcacattMctNgWattatatctSttaScctaDaata +tDYataaaaatataatNctKaNaatatcSgagttaagtKDttaaStaaHtttaatgaRat +aBtaVcBtcDWWaaDaacacRNtaVggatattatagtBttggcaaKcacRNgaaYaaMRa +HtatBcaaacNataKacttaMtaacaacgRtaattgggaRcttagtWataactKttDccg +aMcacNHKtattStaRcSStDttacggagagtMtaNHatttWRNVgaaacattcScatgc +taVSttaRaMagatcScaBggtatacgatVttKcVtagtgccgtcDtagtRagggcaggg +RRttKtcgtKDRaaatgatVttDtcatMaNKtNacagMattgttcaacKaatYKttaact +aatgagattttaBattBctcaaRWgtYtYBatDcattggRtaaHttcaNagagctcaRat +BtaagHtctcttRatagBttHtgatgattgcRcgtgSaagcYaccacBWgtaNtctagac +gaaSatBNtHMcKagttaaDcHtaDaaDtttccaatMcaSaaacWWggtgDtgtMtcacg +gcgcWttcBctaaVatggaagNgtaacctagatggYKRVttRtMcgttaagccaHgatHB +cgNtctMKDcYtaVttHaaDWcYcKtttttgatatacataggaaaaacWgctgttatWHa +ggatcgtggcataagaaaWtttgatcaagaDatgaWtRtttgMagcBattcNaatNcKga +atatWBBcttKVHtgcagtagaYRatcggaagaRtattaBNttattaataatatgttttt +aagMggggMttctBgtcgaaMctcctaVttRtBattaatattgVDcDtggtgaccBaNtt +DWaVtaaaaactHcaVtacKMtgaataacggHtaaaatatataYtacBcattttSaaStt +gatcatccacatatgcYaVcattatcaagacYcMaataagaWWcBataBattcBtaKatg +taRgtKgattaSttYaHcgttHcacaatatKatgRMgatgatgRaattctKNMRtggatN +ttttagYRtgtgYttaataaDcttHaDcctttgggMtcgcMgNYtcNacttKtttttgYB +aHMgcccgggtWttatVttttMtVgaHagDNtccBVaaagtaKttaaacgaYgHagVatM +gaacBaSacNaaaBcagaaaatatttaYgaaSccaRacgctgtYcctttStttaacgatV +WaatKtaBtaaataVaBVcctgKaatcaggaDYatgVcgctaaacVtcHctggttaDggt +atRatttttaaatDttaMtMaggtMaattaRcaaggaatVaaaactSRctatttWaDtBa +taaBaaKattScSVgtatcWaaaBtattVtatttttatYtaatacRKcgcgYtccaacVB +tagcttYBtgtgttaataataWactatataaVccaNtcaBtttcMagataatgactMBat +BctaaRtatataaaaaaRacagtatYgtHgcaDgaHtaaNMMStKtDgtaaaaactgtaa +ccBttMaaMDVaaaggaVatcScMRMaBttctSgacKaccKcDgaWattHVtKaNcDaag +RSgcgcaRgagtacMKtWaacRtcKKtBYgtagNtatgtttVttatcRaWtattcgttta +DccttMVtatgHagaBgtaMWKtcVagaagcaaaaStaaatgagaWtttDttttagNMgV +ttcWagacDgaMatataaataagtttgcctatRtttNtcttggMtggVcgaMaBMgaatD +tVaDgttaaacgaagVtttNccaagtgHgtgtcScaataaRYaactgcVWtaNRDccSgg +agttattatgcctMaaNcgtttVgtcaatctaccaDMtaattBaatMtKgaDcBggatVt +aattRBattgcccatgaNtttMDcKtgcaccttccBccaatctgDgMSgaagcactctaW +tattgaHgcDaagVRgtaBtaaRtgtYcYttaagataaaHaHataattaattaStcttcg +atHWaaRRSHctggttgtccaacaDttcaKggcVcgtSBctBNaRaattcgcatagaMtN +attStRSaaattVtMtgttNYaatgtaHaKNSagatcaHctaaaKKgtaYatDgaaaBKS +acaatacRgDctaSagVcagDgtYMtcatcgttcRatgaatgtcBSKtSagcttagKKcc +gHtBRgttStgtBaaKaMtaaKHBgaVaVattaatNNgcattgagtcaBaggMgctHtaa +tatttDatcWatagRatVaaattNttttaaVctYagtRaHttatttaaaVtaccgtNatt +ataKSRcgcagMgaaMccagaatatMgtgNtcttNtgattaBgaaaagatWtccNtDgga +aagaNttttNtttSggtDcaaagagtactccattMatataHcgcHMBtgaaKHSYtctaV +taattgtacctctctaaaVtatgKaWaacagttYaMtNgDYtttcYRtgYaWaaaacaga +taaacgtaVatNaaBtBattcctWaaggcacatgWtttaMtVtagatatacgataMtttg +gtVBagatctRatKggttgcYtacSaMStattBgcatttKatKtVgcDgcttNaaataat +WNtaDStRaacHtacttacataatacaMtYgcggcatYcactttttDtcaacBtgHttgg +ctttHNtRcgatctcactctcattMtatccgattaggtgggNgagacgttctDtHcaaat +acaVaaaHttctcMaNtaattHWaMYgatNacKNNMatcRtNtYMgVtataaaatttaaa +BMtaaaatBtaaacttgMataaaagBaaatBVactagaaaHtWtKRHttgaatVattctt +tgaNgaDDtatcVWtDaataaaVaaatgcaYaaggatgggcttaaRataaacttVDcatt +caattgtaBcMtgYtBtcaMKcRNaKRtKcaatttgatWgaMagtWtgYVaRcagattac +aWttgaataaaaWgHaagacggYccctBtWttttYVtttggatKBtVagHBgtaatgttc +gaggaWtDtgatattaMaagttcattMtttWcgtNgcgaRcaactaMgaVHctctgcgag +KRatWtggtcgtWaaaBctcScVcaHatattNcactttccBtDaaNtYggaattRtcggc +taggNVgDcgaacttMatNagaagtaaRaaRttggtaVSaagaattattcaatNttWcaW +taggattScaStgattBagVBttaNcNaSagttagtcttDccctatBatHaRRttaacBY +KKtattHVcHagStaSaatNDDatcSaVgtgMttaHttgttaataatcaYtDcatttHNa +RgWtgtaYcaaBaagaatYaagaccKggRattttaNcgacStttaatKcVtcYtttcggc +aaaSYacaKattgSatHtWtKVcagatccccStaatRMaatgtaatKtcDgNaYaaBttc +cRaaacttHtaRcaaagtatgtctaaBDVcKSKVatSagtggttaatcttaVNaagRtct +gRataKgcaagactSKattaBatNttggttDtgcDataKaKgKacaWHgttScVaagaWt +catHagcgattcBBtcWaactBatgacBRctgatDcMaaVDattWaaKtRcctYVYacgg +aaagVNBaaaaaattKYaKcMatgagcatStaBtcctgaHgtttacHacgcttatgNHWa +tgctWWattttgYaaacctaacYcataVtagVagtVtNgaMagtcgttatcYtaagcatg +KgaaagNSattKtttaaggacaBNRatttacatttHctaaaHactNcNcaaaYBcacggc +tcaaHagaaSaagcaWtcaaaDaaBNtNacRgtttBSVtttccttaaDgcctgKSttgtc +aaacNMcaBtagaWatttVgcRtgaRtMttgccVttatNtatggacaaagWgcacNatca +DMaWtcHgaaNaMMtttgcatHtYDcDactttRYtaaatMtaVaaattggtgtcaacatV +ctBtHctYNacaaactcaMaaaMcHgtaactHaaWattKttactYataagaYgcttatta +WMDgStMKKatatDataNHMaSagBaaaVtYtgVtaNtataDRcBtagttcgVKagggat +acaaSRaataaatagtaataKatMattVaSatSBtagVaYccaaaYacaKSactctaaHc +taaaSaaagNttgactaSacDtttcattVctccagYtcNcagtWatacattNgttagagN +ctaYaYNttKgttttatKacMgRatgaaacVccgtcaKaatHHcacRtgtgDtccatHaa +aRtNgcaSagtStgWKtttgBtHtSagaaacgtaSaatctacWaaattagagaDaWgtat +aMtgataaDaaaaaaaagttcBggaHaDWWcYctYtcatctttcaBtctBaattattagc +atgWcacgcaaaaDaactRVccBtaWaatYcVVcacMatNatacctSgtWgtttaattca +ctaaagcHgaatcHatcaBtgtaWatSScMMgctatctctRaaaWMgttaKaatagBttt +cttagaggVttcaatRattNtccatttcagctactccacMatSHtagataaaWgaagttt +gDcctaagtMaaaYagaaattttVattRacatctgaaccataYtcaaatcaRttaStRgS +acctBcaHcgtMcccBaagaaagaDaaattKttNtaataaMgtctYcttDgaactaKaac +NgcaRccDKtcatgaagtactcgtgttcctBtBtgttatDtctgaactataacagtagSt +aaaaaatgHaaacaacYgtgtgHacaaattgttcSttBtVctaHaacttKtttttWatBt +cccttaaVaacaMaagaattcaKaSNatMScRtgaaaDtSStDtHtacNtNtaHtMtNMN +NcWtgctctaaWttaattaNtttKtBttttttagcttcDagMNagtcKWatVMgcttBcg +ccttttgtBtatatttYtMgctaKaacttgattttatctaatRagtttggKBSatagtaV +VcaattMataaSBtDtaBaactgSgtatcaactgHataacaDcaRtcKttatgaatcata +cgcgaagNYaNgaaacaattatHMgYgtagatctctWttacatVgcgRcMaagttgttDa +NtScgStWgtgacaacacggVgcgaSctcactcaaaaYtDatatBtattaNgatactcta +agtWtKSgYtatataaaaaYagaggttaKagtcYtNtgaagtctBWgaWtaaBaattStc +atgNNtttagMtRDtWttgctYattcVSBaMDcagatVgccatMatttatctatcgtBgc +ScYtaaccaaHcattgcagtcttMNVaactWWKcaaataNaatgHatgaatgtMStgcca +ttacHNgVataaYtgaggtKttNBVtYagKacHRggYMacDatcgKtatVtWaKgtHata +tMgttScgaaVHagaaattaNttaatatgcaaacttWgRagaaRBcNcatctaagtggat +gVKaaVgNcaccagtatgHKgacaWatYcSacaRaMgttgcttatVcaaWcVaKaaaKaD +taaaatcgVaccatcgKgtDagBNKNatccgaacgtKgtYctgaKaaSKcccKgcVtttK +caaYtagcagatVcctVtgaMYctaccMcgDtgBaRtaaattaaagctKtaaatatatVg +ctgaatatctMatccaattacaSYgcactWttaRacattgtNaYcaactatNNtaHttYc +StactctatatcWSaccaVNctBtaaagataNaagtaaaaStBaaVtggttatttagDSc +ttttMMWctagcaactBctcttattSatacSatttRtBataatcaaKVSttaaaaacaNa +ttMBcaacagtttcVtttatatttgtaaKBgcacattttHNNaVtWaggaDataatNaWt +BataattVacWaaattRHtacaSgWtttataDMcttRScttttaaaaMgatacMatYccg +acKMagVtWcMtBaaatDatatHtttDtaattHaatctaHgcgtaagRgWaccattgaSt +ttattctattcVacctccBcgttaNaacagNWtagtaNgtctgaHaacBgtatgMcRVat +ataatKNKaagtttRgtaYcYcaMaaagattKgaaaaKcttgtaBHNaWNgMatcacctg +caMggScBaRgMMctaDaaRgctcYtaacgtgtatacttcacDaKtatgcaatMtactaH +DtaaVcgaagaaaggVaMaatYtttttattttatMggaVYVaaatBaatMgctgWctaag +KtctgBtKacaataYtgctBgKgaMtgtgataBagttMaagRcccVtSNtaWcgVDctca +SSttKaaaaVaDctacYatctcHHDtgattaaccttttYatattcgaaHBagWgYtSgcM +tMtagaHactaSgBgBSatHtDttagaacSatcccaYtatttgtgKcgDcRatctccNta +agctagBVWaBaaMHacaHctDVaWgtaBtaaStVtDYtatacttgttcttggNYtatWB +SNcagatttgBtcVaacVtRgtYaatctatSatagttDatgttgtKagtctagKHtcttt +taccattcccctaaaaSatttaDgBactaMttctVcaacVgtaSYcttgYaaKaggtaWt +tgaaaYgagataatgccMgSHatHtacaaMatHDttcaagtaMatgtaagtgtaggtDta +cStVaHcaactatgagttatataaBHagggccHagtaaagcRgcttagYaaaaaagttaa +attatYNtYctagtttaacBataaWactVtRtaatgtHatctagacatttaKagStttgt +tttaaagtDttMtgMKgcgttaactaVttHcatccgctaaaaDttSMccttNaaccatta +caBcHctVcttctYtaaSSctVtRVattaaagtHtaBgttcatacRcctKctHVHgttKt +catctatagNSaacHVatcVgRtgtaaaRatYtcgggtBtgcKacttgataRttDattat +cMaggcWWRttccgaHttNtacYtYactgtatWaaWtaaggtacaDacaDgttStgctta +tctattatgttgStaaDaaattagttRgtgcBgRDtaWaggMaaVttVRtcBttatcgtt +BDgVgatttKgaaaMttatatgattataWctcWMgaHgaattMDatgVagtgatatcaNc +aaaataSttattttaaatDgtaNDNggaaacgataatttaRaaatataaaVaagttacDt +gtggttctatRatgcBtaVatVtMtaYtttaaYgaHttgttgagctacttaatatBHtct +ttaagtcaHaWYtKttacttgtttatagacataMgttgcaBVcttMacttYcHcNaDatN +ttagatcagaatcttatcatHaNtatcMagYaacacMcaatacaNRatDtaHDHtSYgaa +tcRaBtKttgaMKgcDgtacgtgYatHcggatactDDctaVRgtgctttRtatgtaaacc +agtttacVtatttBcatcRaaYgcaMaagaacSctHRtctaWatatacgtattKaNagta +gatataaWKcgggacgaRWttNacaaaaagaaatgatacDaaaaMataKacatVgcgVcg +cNacaaHNattaggaacattYtcRYtggtatccBatcaccgacaccagaaagMgataacH +RgttKctDaggMaKtaaatttScBtcagKBgYtaRKttagttttcBaaHYatgattaaDa +DVacaagKaaRYattaMaaagVatattKactatcttDacHaDaatBcactattKtKtRHg +gtaSctaaaaagtttaggBScaatcgMStttaatKacaVBSattaKaaagacacaaagta +attWactttacWaaBgYtMcMccagRtacaatatcttatBacgNagaRtctHgaKtMgaa +ttcKYaaMacgcaatctcNgYgtYRaHagYtcVgaagaacacKgaRaacgBtttagDcga +WgaYtKataaDcaBatttccgaaaacaRRBaVtRtgHacttHgagtMttWattMtBtgDa +NtgKtaaKDccKgctaMRtaNacattacWcttacBacgRtRttaYggcKNattagtgact +ttcKHNcWBYagttgataaYagaWaSMttgataatctataatRtggaKtcactWaataat +YgtgcHgYKttaaaacNcaSatgcggacaBaRattttcgacctHtaKYgttaaactataR +aaSactKatSggatgtKYtatctYggcMtactatgtgaWtttctgYDttggtBtcHBcta +ctacBcVacaagtgaatSttcHttttttatRYYaccagatctgatgacgcccVataagMa +ggWgYtatctgtgtatcWttRttcattattgYcHtgatcVatcttVSataactgtgcgtg +tgaRWaacgatSgaNaVKaaaaMttccNtWgtVaatNtHgttgatVcttatcaaDaRSca +gDtaKtatttYaSctttctcatccttaattagttaaatactgctgNcttgctcatatata +ctaDtagctagRcataBcgccRaacaagcacaagtaHYaaatgttaaRgacNgccgctcK +tacataBtWtaaaDagagactacaccacggaagcStHgggtcatDcKcaacctctgDVRa +YaatattWttattcttataatWatattaccYaagWtgaataatgatttgtatBYSaDcta +tRattgaatDgWtMacggtattttRgtaagtgWtRtagtSctVtaRgttScRcattacYY +atattaRaaggaataagRtttBHaggtattacBHMcacKaDDagtatMaaSMacaSggtV +VgacctgttaaHagtactaaatYtSSBgaKatcMVHcDtatgtagaVgtWtMcttctYRt +gctRtgaacatDctcRaggatRaaVWtgHtaMgaattaHataStgaKRaVacataDtgDR +agBHttgNcNaRDcaaSagStDgaStattBtBNHRHacaYaatcagcatacDtattWctg +cMattaMaaWgKttgRKgcacNYtcatcaaKtctaNtgacatMatMgYagNtaRWtgaaa +tBattctaStYgttcSYatcctMagtgatgcgtattKHKtNtcattcacatccDaaWatt +gcacMattattgDcttgaBgccaMNaacattctcaacgaggagctaactagattWaatgt +agtcagtYtcKtMVSagWagataaatgtaaVtaSatcccVMttataacaVWHNataWtgc +cggBVYtacRgHatagVtctDttaccaataSaDgcggtttcKaggtaaMcatgMttaaDa +caccagYgtattacWgaDtaBaacctatgaWagacaYttcRHDgDgaaMtcagRtaattD +taagKtYMMacagcaYacgtWtctcaNcaagttttctacVtatagttgttDgDRDtatSc +gatgcgagggSacttcaNcVaatKtattRtWttaVagtaaMDtMaattHtagtttaSgWc +tcctggNgatgMataNRcttatataatcVtDBHgtNaRatgctttacHtRacgYtYaBBt +aScWtttMKcStgRcaSgaagatNVtagctgtatVtaaagttcgWMtgtcgtHtcacSga +aWcgttaMcttWDWataVKcaatctattaKgtattcMttattcgtatcaaatacaDtcac +atatVaatcSgtgDatBtgtagatgtagttataaagtctcatMNgataNgtagKcatgaa +gKcYgcNYtVttYtaHKcattaaMagaataRWacgSactctWgtcgtaaaKaWagRaBat +aRSVatccYacttcaggtBVatKtHctatMcttctgtHttcataMgttattcttRtYtta +gNtVtDatattgcatYBtggKtctatcYctDtagHKBNttYKtcWtRgtaDatgaaStgt +aMagcBgaaagtSctRNaHcDgtttcYaacBcagaMttatRaVacgttKaaaacMttaWS +gWcNRcaVgSaaaBatNcatttatttgYatttDgtcaatgagaYNattggagcDagagat +acNtaacaWtBHgtatNtaggctaggcaacYBtatWctgaRttDatcgttKtaNtgaaaH +aYtcgattgtgccaagagKatcgatatttcaDHMMttVagaKRtaKtDacYgtcBtaDMa +cagatHcttcagactcgtagaMggtKSctagKtaBYMggtagcStgNgaacaatSgatta +aKWNaaYggaaaacgMaaattgatagagaMtacacNacacSgagcYVaattHgatDWatB +taattaaYttgDaacgctcRatatacVtcaMgcBtaagattgcgNtaHDgtcaaaDcYMR +tgcataVgtaatcaagaRccctYWccaacttagaagaaNgccHWaaaacacaMgatScga +tgDtWaaVtatacatggtgRNattattcaatctBcttatDaMcaaHttatacaaNcttgt +ttagSSatgatacccKttaMtcatWgaVataatatgYYtcaHaacactWHatttVYatat +gDactaaggcgcaKcatHaccMtccHcaatgtWtctttatgWDatctgWaagHVtDggaa +gagtYHttBgaDKMctMHccDaattMatcaaBtBcagatBcatatagatttatDtNatca +aaatctgaaSNaagatagtVBtagctaBVNtStWBgctagtYgatHNatatgcWacWtaY +tctatatgaatactcattagatcgHgaRattaatDtNcaaDgactSatactgNataBYaH +KaKaactctcHcKHRagDttgtYgtaattaactagctatatataaKcattttgcKtcaac +SttgHRaagacNaBtatacataaaaataVWHMcaYcagcagRaagagttBttaaMtgata +cSDaNtttgaagRtattaHtttagtatYaaatcaccgaYaatattWBtttataactMYac +taaactaaatttcNcVatgcVgKVatatattaaatccggaaNaacacaSatgcttgcHcc +acatgatNtatgKaNtgctggagtctataHcRRScSagcactcaatataggaaYaataaa +gtKKaaaKtBttYRtgtcNVVaaaaaatatagaNaSgattDtgacgtctMatcaaatggt +SaYtttaatcttaagcKataaMDaMctgtYcDtgaattRctgHaatgttggtcttcaata +WacaaYaNtacHNtVWagcHWtBBYagSagcaaatcKgataaSgDHataaacattKBttW +agtRtcNagHcttaatBccgaaatVacggStctaKaRaVtgcaHBcgKVcattttHgctt +tgtgacgaBttttccatccMatRcaVataattKattaaaagDatVttaSRMggtacttKH +aacaatgagRaWcgDtaggcataBaVgttNBcgtagSttgccYtacWcgagNaatttgct +agagacatacaaggataacWRtcDaacSDStcaRtcDcaaaHgtatcaDRtgcagtDtac +BtatDMagtatcctagtgcDaSaaRtcaRactHgaaatccaRtWgaacttattaataSca +DaatYaaaWaRNcagtaaaYcaHttBctaattctNggBYBtggaacaDaatKgcagataH +tgtcKaWctaVtNWYBgttttgtHScaBctRccataataMaaacatgaatatNatgagtW +gatggattgaNttataHcSKttgtatcatBtDtaWatcaWaDNgtagctaaaWttBatDg +MatgagatctKttaHactataSgattRataYaYatagaatDagtaDaagatcKcYgtgWS +gtttttaYKtSatttgYatgYHStattaKcttatNNSataaaacHBtaKgcataggYtac +gtttccaaVtaVaHDcaWRYSBHattattcaaaaBatataaggaBtaacaYcgHgaatgc +ggYHagtactNagaaatttttacgaBcaaBttgagtKtYHaKKgttgaacgacacgBtWD +tSttgNHDMgaaaaattcKcatgataMKttVHVBacataKaatcggWtaccagMtttcKg +ScgcaactattVctHScccaacccHDtgttacgttHVaatcVgMtgttcatBWBttDaaa +ctattcttaaactaYtRtgtaWataWggacVgtggWtatgtataaaHNctRgRtattaag +tcgHgWStttaWDacacatcaHatttVacttagcgtHagagttgttcatcatgcaHcgtc +KaagaRRacaatNgtYDtatVgYccaYKVttDttBctYcttaWtatgYtaVttttacVat +BaYKSSVaNNccgctgctBtcaagcacaNttctataYMatccWacBcgVaaatagWgccR +tHMttHgBacttYScaaVtgSgttacBtctBttaRtSMgttaatNaRatgttgtcatVta +aYgVgcVaaYSaNcagcttatNtacgatagtcgaVtaacYVaMttggataaagatStcaN +tDttgcBacatattaDWatDatcaatatNttagttMttcaactacaRHYtcggaacVHta +ggatDggStgSWtVatagctgtttaagBcccgBtgcgtctacYaBatactYMttHttVtt +aWtSttgKtcttcgtgacctaDtttMYMtaaaaaattcaMgWatBtgWWtaScccttaaV +VgatagaRtYataatttgKaVHtgcataYtaaaaagStcaRaMaattWgcaacaaRaBaa +taacaMNatagatattatgWtagcgVHcgtcatgaHgtRatcctgtcSaaatWgtatcHB +catcatcHaattattDBHggcatBtgttagNDggtcRttaataVtctttStaaggtcccB +tccaBgBRgaDaatttgtttgcNtatBgaaaggcgNttatMtggtBgMgatactDtcatM +aaWctatttaaaacYNgtSgMatBcSactaKYaDVaVtcagaaaStagttYRcaaKacaH +aacagctNcatttKtttaaacWtMNaatttattaaVgaMStMcagctaWgaSccatNatg +MacataWaaMtataggcgtatcctagHatttttVaattttSBttScgtBSatgaHcaacg +aVtMaaaactKHatatttNWtttataWtaatVttKaKMggatcMaaattattMgatttgt +atRtaVgaaDtacacRtaaaaaMttScaggRttgtcttSatYWtVMactagatVaMaaaD +taattttaBWcataaggaatBtRgtctaWDtagWtaaWYSaHaaacgatRcttgcatcat +taSDBBKttttctaYSaactcgYacatttBaattKaaaccaMStaHatHtatgtctKcWa +taactctcVNYtttMttaDatSacDKcacaaHgaggaaBtgNaaaHtattgtRcgacDtY +tctttMttatcDaNgattagtttYtaattBMtaggtacatgtYBNttcMacaagaaaaaK +gaaatcacaNttgtttttagDBcMgtaNacSatcWBWtataVatYagtttccatatHttt +DtcgtggBggcKacaBWtBcaattgMatcttaVaacVYgMgttDcaaactctctcgcHaS +atYVHRaaatccMMtaDHtaaKccactgattatccatBYVDacgttMctaaVtatacaat +BgaagttaattttgatatgcatKgaYttHtatggaaaatcaDtttBtatgccacattact +caaagctctcBKcaagcaatataNtattcVtcataacMHgtattaaDtctNaNttYWcWt +aVatatataWgtaWtgaHtattcgagtMVaHDHtatgcttctaaWYaatttaatccaMac +tKtcgtDaDVWttaccVtacYBgDattKtHKSVStgMtBgcgtDRSatggatatDKacat +aWtatWaVttctSRWgtcaWattKaaYWtYaHctataKacMaagtctRttaatcgtgaHa +ggYWtcgatKttKaccttacttccgtttHcgtKtcttaatSBgaatttcVKaMattVSgD +DcaattcagtcataccBccgtgaVtaggttYgaNagYcHatMYaattDgtttaaMagRac +tHattgatttaaSKtSccggBattatatKDacaacBgVWBaaacaagattgtcDtcttBg +cattatcaaaacagNtaaDgtggVaacYDgtttDtggKccttaaaWcacgSatacaggta +gVgatacctBttcaattKRtctaMgSattgtacctatataaaMgVtctYMYYcacttRaB +gDctRtttaRHgcRSMVaaaaacagaYaagtaMatDaatttaggcctNaacgaaaatgNt +ttaBtMtScVtVtSacStaBggtggtKtRcatagHattcctggaRtaaKaBKtagttgaa +ttgtatttMcatgcttDaWYtaVtNDgatKtHaaattaattaaStaagWaaBtNcaccaa +tRcacttgttttcaaattctggcccttttBgHccatcgaWctataSttBgataacagtac +ggcccDcScaactgattttaSWYtaaaMaVatttagctaBgSaggtNaBRgStDaatDBt +atcHgDtRtgMtStWaYaggtaYatBtaWaattgaaYattcBVtaVSactWaWgtKaata +gaaatgNttHtgtcaatMattcggtcaDcVttgataMNttYVgSSYMWaVtgcaRaaccY +tgccattaaHVgaaaattMtaSgtaYaggctataBtcRtttaaBtcHDatDgtaaVttgc +agNcatWggNtgRMaDcYgYttacWNtgcaWtaaVaNctVacaaccRcacttgMttgtRM +tgtccatttgKagttctVagcttccaccaNgtgcatRgtSBaacggaattttttNagtDc +agaHaaaatStcaMtctagcacactHWtNtgctcgtNaWatataKcMcWtagaggDaVat +ttaatttYSDgRccWattHtaggctaccDMctacVaattBYtDacaYctWaHaaHttcgg +aMKaacSagtattaaatDttNaVNtacgVttKaaHtgagttWcKtgtaDcDaKacgtact +ctttacatSgtagtaHHtgaaatRtttagttMctacKgaKaatBttataKWMcggtttat +gtgtgaStaagaaRttaVtgttBaHgNtggaRaWataacaWtRWacaactcgHWttttaD +agScKgtgSagtcMgaRgttacccaaaKRaaatattcKatttNgtMaVcataccaKgaWg +HBWagctaagttatcDaRVVtggaaHSVacggttaHaWWagtSgctctVattKctKtMat +HWcgccttaYtagtaKDaVcHtctgHagatcaSacaatKtatgatagDgtcgttttgatV +tatStctYaYNtgtgKaKaVcVNgaattWccgattcttgaMaRattRgcaatHctcatta +BaaMtattNSSttHcagRKRaaccaYacMDtaYaaaatttRataBVtcacaagKtatgcc +tcatcgtgWataagcgtatcDtNagcatNNatgttcRaaScagaaaRaataMtacMSctK +tDgaBactaggtWgcRtaWcaYtgtgWaagDKattttttaaccaaatDHattgacStttt +atWaataatDaDaaaaRtaYaggagcYatacYaKaagaaNtaaaYtaVtDtBaaDcgttt +KMtggcagtVatgccggtHgtgtaVaacDBaattacaNatttMgaDgcaDtttggaaMgt +YtDtSgccaaaaYcNgaacDVgcattaNgatgaaDaBBttgccatttRtctaatgtHNta +aatBtaMaVattcctggaaaaatMattgtagRDacaaacgaataWSBctctYVcgtSaMS +tgtttSatNagaacaRcagtatgaNBtcKgBttRtattVtaBtBaKactaWaMgRtcMta +DtYtatHattScggacMtaggcataaWaKHaataaagYcgWatatStBattKaKagKtta +cMaRacaSaRaaWtKaatagSatcgaaaKaaVcDttcVcgaKVattggaYgtMataaacR +taDaactNatYcagtDgttagacBataRYRDgttcttttattacBcHatgaRacMaactc +atVVtttaaaHgctgttcaattaVaHtDcaYKacgKtcNtttgctttgHWcaaSactWKS +atcgYaNVaattacRcatVNgtagatgcatYatVaaYWaSactgatccatatNMaNagNt +aatcgttaSttattWattaggagaatcNaaccaaaWatRaatHMaattaNWatRaMKaWc +tWtDataaagHctMctttRSttaacgaSWcatcaVgatataattgtWMagKKaBBgatat +ctcgHSaaNBctgVtaStagtttgaggSgagcKttaaatHattDtaaattgaacatacta +aWaBYtKttacWtaaVNcWacgttctcctaactBaaSRagaaatgttKVgtHacatctca +ScaataNgaaVagaaHttaKgHgKaccgtcYtcctBccataagaSacataaaggtttDtV +StaVBgtcgNatgtgaVctatWaaDccWHcctttaatcWactaatactcttacttgttct +tatttatcaaagatWacYctacKtaSaaaStgtWaVcaYaRctgggtSaaaWtgctgcHt +ttgMcgatSaagttgttttNattgaacttaaKaYcSBSacWattaataKDattKaHtgaa +attKKttttgacDtDtattttDBDDcMgcatagaVNttaWtgaDttgttttttttgacat +tatagBDacgatNatMBcaggtacaatgtgctttatatttRgBcctVtYVctgcatgtga +tataatHagtttccttHatagtaMMaaWggBataaKtttgataaagcKgtVtaaaatgta +tWWaataaHgatttYtcWataataacagaacDRWDgWaWaaaggattBcRctacYtagct +NgtScagMcccHaBaYgtgctgtSDtHacKtNgtgacaaaacccMcacaKctcactaaaa +aNgtagWtttYtgaDcatWctataVctNttKgRtatataYaaaRacaggttatagtcRgD +gcaYctattNcaNtVatYattKgaaggBDtttacttHttNtgcatRatgaMHtRBtaaga +tMcacatBatgtStctagacttccKaRgaWccRataVtggaScgatttDMaaatNNtcYa +YtaDaatctatgaVtctBKtgccYgtWatDcMYtaaRtcVgcttttDtMtRagtactHcc +RBWatatccttatMtNatgttagagBcttKacaaMtagaaattaDttaatatgaaaRatt +NcHSgaaHtaDcagctYacgccagcMtaaMgDaaaaaggatcttcaaVNatRcKVaaHRB +ctgcattatMaWaNaKataaatatgWaaatcgMaaaatcctgttactDtDagaccYWact +tctRatgataaKtaaatcaMttttcaaRtScaWgatMactMtcaBNataaaBactggtWH +tYaattaWacattgaaVtYtSgMcatgaatYgattatacaYttaaaKRgaVagNgtaHWa +attcgDaRaaacgVtBDtStttRaKgVagatatWtcMKaaaaMDatttaaYcataDYagt +aaaaKttVWMggctgVgtgagtKagtgtBBNctacaaacttagattSttHagacKVttgH +ttatSataaWtMHttSaSaaaaDatgBtaYaaaggttaMttgVtVtttctaattgaacag +gtttDDVMtNSgcatataagDaNttatSVttMScNaaattDttYaaHcNgttatatBatg +DKctttgVVaaBgataaBatRaagactBYgMgNaBttaaattagatttttttaVgttaYt +atVtccgtaagDcNVcaWtgcaKgggYtgagattaMaaagaatagtgaBaVcacBNtagt +aDctctcVtaSctgtagcBcHMWtataattDtaactttHctaRcRaaBaYacatttcVRa +atctgctattDSNDgBatcaaatgcaBccKctaHcBtctVtaaHgatcRgaacggctRta +agtaSatatgatcaaagBtaagatttVaMagaagaWWgcMWBRStRggtttWttttagtc +caMRMaaattaSgBccggNataagtgctctttacYataRtcattgtgYBtggcatRtact +tBaacDacaKtHDtaNacMtataaKKtgtaaaRMVtctVcRatcgatttgcattSaaagg +ttRatagtagaattVcNgRtKccBgBtWcataataKctctKatttttgVcaacKStcacS +RtattgcggtcctcHatcgaaDgaVgctagtMNVtaattaaatattMYNcgattaaKtMt +tRtYgacttgttagggcDNgagNtKBaScagttctgcMaaaMtHctRaYtcgRtHatVct +ttatcttggtYctctYgttgattttaacSttaaactaaaWHattgWtctactatttcgMc +VaaMctaKRcttcRaatSgctVNgtgaaaNcagataatcaatcKtagtgacaaBVtttgt +aaVctaBatgtaagtgtacctttacKtMWtaaaatWtcVctgagataattacggaatacg +SaWgaHcagtagNWaaaSacggaaatgatRBtRctVctgtVaatataVNactMgDtaatg +gtatctacaaatgtatacKtttgttttaaacgttgBggBtgacttWacgaMtttcagaac +agaaRVtttKBacttDWaccagtaaatatcgMcttatRtaaKKcgMtHKattWYYgttga +tgttaRgacHcattcttKtcgtttaatagagWgDKaYatKataKcDgctaaaHWgRtagc +cgttcatYattcagSHtttattataBVccaNMHttacgWttgDgaaRtRaatcgatNaaN +tWVcctacatacYtctgKtcattatctattatcgtcKtaataaattagggHctcatgHtt +SNacctYaKttMHtctttSgacgtttgMcStgttcaaSBggataggWttataNagaNBca +tcaagtBtagcMagtcagagaaDcaaaataKgtatgtgSaagtgtYDtDccVaaacagaa +gttaHSWatagaaaMYaggtacttctccttatatHatgctgVMatKttgaNtggSaRcat +tggttgWcatYagtaatatttgcttgaVctaataMRttttScggggtgagVcacatYBgg +tccatMattBaatgNataDatWtDttVcataacSVtattagaagtaDtatcBacNaacaa +BaaagaaWBHSttgattttKRcVataHatttttgaBtcctctacctcRYttagcatactt +tagaMHgtcatgtHtatctaaYacacggtaaMtatgttaagaHWaRcaaBaacaVaKatt +HgataNatatacgtatttaDWctagatataaNtaccgaacaDMttDSaSYaaYgYaVtca +tactaaWWtatataaVtMcagMccaDaaSatBattagcaaaatgRtaHRgccgataatag +caaacacWacagaaVgBcagaYctHctgtcttaccBattVaYtttHatgaVgttcRgaHt +ttagttttataatRWggattYatatMaaaactWaDRaggataaWgMataggtactatatt +tVctataattaaatatgtgttDtcctaKataaaaacggtacgtKaaatccBKtgtaatta +caKtKYtgStRaagaaaaaaaggYagtNactttaaNaStcNtBcBaaacHtacaatSgat +tYttaacDacaHtcttcatttgSYgtctRaatVagcaWtctcDcRctNHatScRtaMgaa +cWaaYatcaHaaagttggagtacaNcSRttagaatcatVgtgaccaaYacWHHtaMtHtc +taatttcactBtgNVggBgttctaDtcttaWttaatcatatHgaDacatgaaNagtaata +cgDgHttaNggatDaggactcaatttcttDaNtRagttgVgaVRacWNVHBttcVtYYta +gataagHtccattcaatNaataYtNctgatcRttgaYaaaBcaKatcacgSaataHatgg +tacacctttatRcgtaYacgataHWVKaattVtKcgatcgtRtatagRgccBtaatagct +cVNtttatgRtggggtttcttatactaatcMaaaWcgcaatKttatttgtttatHRRaca +VcSgatcagcaacccaMatYacBVccNcRgagatctgtSgaMttHgtaattatggRatgc +WtcKatattMKWtaaatctccgtgtcaHNYaagStKcaDaMtaaaWBttacBgNctMaat +DttcttgatMagtagaaatYHKaacttattSgttNaKagttctcataagtaatgactgaV +StaatcctcDagtcataagWtataatattacagScHaatatagcaHYaaSagaaaaactY +tRYaatcggaaHcVcDcaccctattRaatattNgVaatacagaataaSaaaagcWRgaKt +tccgtaWttctaaWacgatctMHaNWSgVtgNttVgtattStaatNatVttacaRWagNg +caSgRVtcYtgtctYgtRKatctStHWttcYagtgNtBaacgtagtgtHcgaSggcNgHg +WggKatMtaHcgtKaHaWggacRRatattaHaaggaagaSgHggtttacctagtaattBa +aatSttYgtagBaSKBaaSKgctMMcacagcgtYatSctWctSaatRtKKtgatatctMt +attagcgagaMctNtBcgtatRDtcatHtgaVcYttctaHacgagDaaMNtcttaBgWat +tatagaKtcWtHaMacagattgtHacttttgDaBWDtcSWKacKttcaHtSgttttDtHt +SaVRYVgcagaatWattYtgNcgccBSttataaNctttcHtccaaDRgaataSatgctVD +ggacagBYtBcRacDtYDNtgWaattattatYKtNcggaKRatcagBactgatgcctStt +ttttDtcSgtcaaataataaMVttgaacBagtattctatggYtcaaatDWacVtgataYY +acSccVcataaagacagtNaatgtactaagtRtattBMKacNacagaaWtctSaMgaKat +aaaMBgtYtaWaaKNtDStSNggaacgtMRtaaHctatacMtattttaccaataKVtcag +ctttatacgtSWBaStgttgWVtYaacaacRgtSgtacNgatgRtaYcagStcaNScaaa +RttaDttctcaaBgcScDtWaggtgaacttNBBYaaccaNaactNgctaaDaaaggttga +gaaMtatacttgtgtctHtgagKacagcacagcgKSattaSDaKaatttagtHtMttaMV +ctaaBtgBaattttactttaKcMagcatgcDcatcBagaBHattVgWtaataMgtttgtD +aHaggctgtVattDYacNtNStttaKaNggtBtaKtgHaaKcaacatDMtagatgtatMt +aaacttccNBgctacgtgcaaKgWSNacttSBaggMtNStaKtcaatagattatctagta +BttaggactYtaaaStaaYtgaaaagYtMaagaKctgtVtttcgWcatctacgtatVaag +tagaattBcagaDcgSgtaSggaactaRcaBRtMttRgattaattWaBYcaataHMacgH +actatNctacgaVataNVcHatatVHKKagaaRSattaacgttMattgtatagBagtatc +tttgaagaBctgattattHgRttacDgMgtWtaggcaatNttgcttagagaRatttSgtt +tBtgRtgaNtHcgStatgaaKtgtaBacctgaaWgtKatHDStatctttaRaaataacaB +ttStHVMaccggtaVYaaBttYNKgNaBHaaKcKaaatStBcattgagggcRSttttcta +aatcacaRBattccacatagacatSaDtaaaSNtttgtatDgWgcatacgaSacRttagN +aggaHtttagccttttWDtcYaVtaRtacWggctcaaaacVctWtacatagttaattBBt +tMacatDtatttaaRggattatBVcacattattaagWctactVcaBgcttKagagttatR +BgctagaHtgDgaaaSVtKgattaWtMDWaRccaaWaagtaaVttgWgVgacaBtSaacD +aaaaKcacaRKaagttgagtNatttaSttaWRgtctaaccataDatagYaMgaWBcatta +acSttcacDtSttgtaWYataRBHtccagaMctaagaWagSDaactRNaaaWagtacaSc +aSDcaatMaaaaaaaVBcatKacaggtgMaaMtatVaVgcctcDDYgtattcaatattag +gagtYBaaatttagaaVWDattcgttagHKSgcWtWcaatttaBtaatNcaMYgYagatc +RRtcataaaYctNtatttKRatRggtYcgaWcgcccataWttVaaBtaataaatcgNtct +ttaggNtatatgNaagtMttccaagactRttgtgattBagBtaataattBStcaatttaW +cattaatVtacatgtatttBataVYWStagcaYKDaagYtaggKtgagatVtMDtKgNtc +atagtNcagtBagagcaNaaNtaRtagatatcYWtSataWggacagagtcaDSggYattt +DaaatcactKatWatcDatatRattataaatatctattHSctttggNctaagtSacgaga +tatatatRataagtttcatgcSaaKttctHaRgaaDatgStWcataaaaatWMNttaaRa +VgaYcHaagWggttttaaBtcagacKtaBtggcaacHtaggVttttactatRWaataVcc +caRaagattNttggStYaatBRaataVacgaaatttaBaMYgcaMgtKStStVtgVaata +cccYaDVYaVaYKVtgatgcctacaaagcWgDtVtctaBtcctccacgatatWtcDHHaH +acaaataaatataccaYRSataVagtttaaStgttgRHtctaDMMaYYaaagatacaBWK +cagttgcaacgagBagcaaatccgKaRgtgaatcgtaWcatYtWaBtaBatcgRattcaa +gtHctctaatcttcctattaaYgaNaaaaRaDtactDtMNagatMtttRacKaccWaYta +tcagaaKcttVtVaaaatgttgtNYgtHtaDactaggaRttaccVaagMacgcKtatata +HaMtcaattcctMaRtttttcatgtctcaacatggtgacatcaBatHaaMagaatttatt +aaaactYgMttaKHBccgacttttaVaaVtcScHaNccttacccatataMgggDtactag +KgtcacRtacMacYgBaatttcagYcacaaataaaaggagYaaMHtataaaHtKgaaHtc +tcaVatcgStcatHtcaYctttWcttattBactataatWctcctRKaaHtaaHYcttcaY +ataaaHtNcaSctgattaagaKaatWagRaVaNSHDaactaYVRaatgttatVYttatDc +ctRtgcgaacStaWttgaYcatYtggtatWNataMtDNRtgtttgggtHcWtatHaaata +atVtaaWaVgcaatagDatgScgNcagggagtcaDtgagataKtgtctataattgtgaNa +tcaNatDgtagctaaaNtgtagtcBatgWcagagtgtWtaagWtaKgattHagWRaNata +caagtactYtaWgatataRctcNKcttttgaRtgKWtgtgRagcNtKtYtgatatgatBD +KVtaaaaatttWtcaatacgRtaactttaaaaMtaMattaVNHRKttattattaaVaata +gatYaggattVaaaRactcaagccccRtagtScgDWgVSagtggtaacataVatttcagt +ttRtattcttcYaccaaaagttNttKtggBttBcSaWaattataatcataBtgtMtMtaa +agataYtacgMtWaaacBtttatcKacaaaatattMagtKccaaWccatttgtgaccttt +MSataMgBtcttaVgtNttttSaactatgaggaSWataRtHtcgaMagSMccSaMctcgN +tatgtataaVtBatHcHtattaacgactgNKtttaMtVaaaagaatVgttMWcttacacg +tacScttcttcWtaatccatactctaacaHHaaaatDctNtgatMcRaaWRtMgttgtta +tRagtaNtatgRtaMttggaaKWttaRtHKMaDDaacatgcgttaaaccaaaDttatagV +RBatacMaatacMaaatWcNcaaHttBgttgtacggRKaaaMtcHgttaattattttaHg +KtgttaatDaHatctggtaatMtYaRgMccKRaRKaDaagaggatBtSacatactccaKg +VaaRMaBttgcataaacYtKgaVDtttgcatSaatattatNattataWatWgBttaggtB +ttaaYataaSHtRtaccaacMttaccattccKggKNtMatacctctgtaYctaaccttga +gtataaRatagaatRBtttttMtgWNtKtgcttatgactcSaatattgtBRBtSWVWYag +taWBcNatttcNNgSKacctgaaMKgatWcYHgRataYggtctaMtggcagaRgaaYaYg +KgaaHVtaattMgaaWaWaDataagaaaaBDatacatatgatcNtagagMtactcatgat +gtHataaggtaHaWatMgtagcttaWtcStataSttagttttgcaagtgctgacDtgctc +DtgaSgVMtagttKtaacgtacattaaatctHgatYatttcgggcaDtVttcaaacccgD +gtatBggcttcBcWtacttgaatBaRNcgYtgtaaaaaRDctKctagtaKSatRtRatMa +MtaacVYaKtactgRDcaataaatSacagctDaatggttttaaacNttBaattgattaaM +gVBKtBaacctYNcaKcaVtDYtcBaaataNSaBgatacccgtVtaatactSgtttgMSY +tttgKtgtKacgtKatgataaVccaMgtaVaWatttatattgBNtgtVgVNtYStMtgta +tBcgagaBaVatgatgBcStttgtagDgYMgaattacacHtaaaaaBttKaaggHttcta +ggKagRNtMBaatWcagMSBaaVtgaatgtgatNaatSagcaatttHctatWMtgVcNtS +aNRHatVaVacVtHattcaataatgSKttttttgtataRKYaatccRYaatggtaVttta +aaaaWBKtatatttatgtagtcNatSaatatcMDRtgtBttYtatKaattaaaaYtcWcc +VattcDaaatgattgtHccactgNgctttBtgagatWDgVgtactgtRtaaggtBgacct +aaatctRtDttaBRaYacaaaYYtcaaagaWaSDttctttggacttcBcgaDacHataNt +NgWtVMVtRactggaaagSgtgggtgaggcctccataaatNttaYYgtcBatattWMaac +MRctcgttaaaVatatagagataKatRMtHaVagaaBBtStttaatcaaatgagtatcaa +gtRMtaccgtBagaWKtagaaaYttcSScttaVttttcatatcaSgtcWNgtttagccaa +aVgaatgtgttatgaaYaatgaataaaagagatcttcYacaaatataDgRttcMtcataY +aBtctStgaatgagDaDgtRNaMtYMatatagWNggaNtcattatgacYgtBKYttttag +ccttataaNRaatggaatccaBacgttacttatMNggaaaMtaaRtctagtttttKKKgc +BttgccgtHKatcgatVtttacataMtagNaMttctKHNctaaNatttWaRNgRatctag +atSctaactctDttaagacgcatagcRNgagatttgtacattSattaacttttcgttgat +tWatKtgaatttaMtSBattKKcttaaSggcactaataaatcactcaMgacggtRcaDSc +NctYtBRYVgttgtttaVtacHWattattcatttVaKtgKaacctaggStatttacaact +cKNtaaacaagSttcgattatttcaRttVtaVaaacRgDtaatgtccMaacNtcggttgc +ctaattaaaNaWcgKataaYcctSgMcataaatttgaaatttHtagSBgKYggcgYaaga +gataaWBcMgatRBNRaYctgHatctatHttgaHtgcHKBKVaWaacacWNRactWBVtt +aatttVccaagBSWacaaaatcDgttattBtHaMtMtHacKgWtcctcctttHaatagtY +ttaagccaHtYatatttacgtcaSgtgtYttgBcatcatttaNRgaKgBtgattttaaat +gaattVaKtVYgNaatgDaacaaVtHaaatggtttgaYYatgctgcacatttttctacVt +acaNatataHtgtcVtaacVgtYccgaactaKaaaatcagtttaKNRtaaataMatgtac +atatcKScctDatDcKttSattttagatgttHtcBtKgNVRagctaRVtttaNYWttcWY +RatgatMgaMKRctNVMgttVagWcaVStcDgtttctcRatBVggaccgaatcMttgaga +BDgtNMgKKRBNSMgcaWHYWccNgcacaggVYtMcaaaatgBtaKcgaRacccgStatt +cHttgaYttattattctaVMttgaacDaWtNccDtcHBataNcRggaaNBtgaYNtaaMa +DctMaaaaaaHaaattcBgtcgHtgcgaaStttctacttcgMagagtaaaacaDctgcag +HctHtWaacgaatgtggtDacgtcacataSaatKtcWBtataccaaScttNgDgcctacg +BaNWtagataBaNtRcSggtaMattgaatgtRHtgHaaNWtgttaccatacctBataaMW +atttNttVaaRagMataVtgtaccattYVcKYcgagtaaYtttgDaKDgVacMtttaVtt +cYcgtMattctatatataaggaagagttaaatHgtWctatttgaaatHttgScgtBataa +tgatRWgtttVgatMBcgctttatgtctgWKtaacaaHttaMtctttatcDtccaHaNYt +SWcWNtHNacaaatactNggtgStacKatgtgKVctaBcaHcttaccaaWatHaaYtatt +atYtttDgtBaKcataaaatcaNgttNYcatVSgtgatatYDMMtggaatKMaagcttVt +aNNYctKcctagMWtttatttBattNagccggaRgagtattaKatgatctacatcaKVaa +agttYgcStagtctacttttcatKtWtKtctRaRDtcggtataMcMDcaattNcacatta +ttgaBaHattHgcYattagaattataaBtattBKHtgtaacHtHaacaaRYaBttaRVSa +agttHVtatMtcacaWctgVtgaatcVtcctcNataacacgWtattDWccatDDYtcgta +HaaKaacaYaHaataBtaaBKagtttcStWataccgNcaDtWNaaRgctcNaacttattt +gttaaacaaStttagtgVaKgggtatNaatVagtataVVaHtaRaccacaRatacNStaa +caYDgaWaRtaKttgtaatacggtttgccaaggMWtcaaccttcgctaMSaattaatgaa +VDagttBcatccattttccaaBggRttgKgccaaaYNcDcaSatMcaattYDcatcWatS +tttggaaWtttHtatVaggttDgVWatttaBWMagtcagcgaSaaSgtattctacHtaaS +aVacaataNKtatagRMagtKYBKggtttKatDacaWaYDaactagcaDttctctttHta +gtMtWtttatYatWNaBgHtaBgSttRgattatgKcccaaBtWcccataaNattaYtRYW +gRccNatatHttWgttatactttacBYHaaaKaHYaNttaatagKatacaaatWSMcttt +cKacatMattgcaRctBataaVaHtataSctDVtRaacttcggScYctataHRHtgttct +gtgattYatatYtcYHaataaataYtMMgttaaatgatcttaaattaKRtttaaRtaact +taBtgtcatgtctNcaaKactMtKatagRaDKaatgSaHcRtMDctagatcaYtRatMSV +RMYKYaggataaatYtDBaDacDtaVtacggaKttattNaggScgWcaYtaBaaacaWaN +VtHVagtBaatgaBNagHaBtaNatNttSgaaactctBaggtHHtgaSagYKNcataaMc +atagaSttctNBYcttattcatagagagtHWWDtctgMtRHtactgggagcKcacctgga +YattatttgaaWgtcaVaataagaaNatRgtttacNtWYMBcNScgggataataaagtWY +KDYcVWVggtttMcttYaatagaaKaaataDcaYMVcaVtgtStctctWaagtaRtaagt +aaatWacSKaaatYaScctggtgMKtYMtctacDatctcaMatVtNaataaNtaattgaa +gaNaataataagcttaagtgtgcgtVgttataYaagVgNaaRctSctgWKVaYKgctNWM +aaRaHatcgctHaaYMtccggattgtgBacatHaacttggtggDVgtcaaaggSatWRaK +tKacNVggaatYttatttattcaaSttttttttcaatgttatttgttttaBgcatacWKD +gtYNtcYtgtcttttttgtcaaatgatacttWagatDatttcacctaaaaggtgagttat +WgtgHctaatMtRKagccagcgcVgagYagtactgtactttagVctaBBaYNggtYtaat +tttcRtaaagatctMtaVYatctYgNMaVtaWtcattgRtaNataagaaaacVSctHNtc +NaMaRYcgagttaHcgacNgagagBgtKaactaaatatYRcggatgtKtttactgDctcV +aYaaSaacBcacatagaaataaaaWDctVcNtttRtcataatNagatVMctBgttcHtVg +agaNaaaHaaSccggatSctaHgtgaYRagattDcSDtMStNYtgtgaagcttgggaatt +tttDgcaatHatgaBttHttaacatBcaaagtaggtKgagacaattaataHcaNaaHata +MtccaKagagtttBYSagDDtaNaRtWtWagatSgcSKtcttttcaaRgtMattatRtYS +HgaMccttttttBtHactaattcaHtMatagaattVtBtDatcttVgagtatttaaaatt +acYSattatttaYtagcaVSHattDctKcVattataagagRaccccWcaBtYYtctaaaa +YccSgattaaaMDRtHatMaYtHtcgcaaggWgBaNVDatataaatWtcMYSVtacBYaa +atactcgtacttttWgaacRNaattctHagcYtaSttaaataatttttaaSDtKaaMcWg +BaagBgaatDagaaatactcctNtgRaattaNWcattgYVMtRtHgBaatcaagRcagtS +taaWRgtaaatHcaMacDctatNaagtactVHaaVagMgttgKtgtHatcMacatagMga +BtSaaaBtagttaaNaYgStRRctYWYVtttMNBgcctgMctcacttagtgtttDagaca +YaattagaggKtttacaatMttctttatKagaaNtBtttKSHWSaVtVtgttaRSaYccg +taBgggMtKtttctYWttcaVaagctttttMBgDKccatagVactWDgtRtKMtgBKaDa +VaggtttRaataBgttYtattatgttatgtcMMaatcagaatagHaacaattRcBcDatt +taYWttagattggttgaMcgtYRgagMtcactaRctcBMaaNgcaStgcgNtgagVttaB +aaagaatacgcatYMaaatDtacgatatataMtYKatctScatattNgStYWgtttaYct +tgtagaHaHaYtaRaaagttcMHaStatcatYtttKBtctataaaatcaStcatatStat +tatMtSatcataHcaWaccagHtaaggaHatatgagaaYYgtgVacSttgKaBacSYcaN +NccBNtHKtHcctttMttttagtaaaBHBaaattWKgtaaccDataactgatatgtaaRV +taHgaattctcRttcgcatHtaagttYYctaaattttgWDacBtataatttctVaYHtMt +agMaHWtagatttcaVgtKaaacctgHagSgtacSWttMaBcHttaatcttMaStYatat +atattagtttggMaYaatHgaaaHHgatggccctactatSgacaatcVMcatactBBMta +attaaatattBNDacYtgYattBttHtNcaatgcggacccctDcYcDtttaKaSggtatc +aBYaaBttctDSRgacHttagMcggtWgagtcctRatatRcttgattggaaaKggaaaag +aaSNtattcNtataatVttgagBaMaaBctWtHatgcDaatHccgMDcgcWaaDaacWga +agcaatattactcaaaatMgttgtaaMatatYtctRSctctWcatttVatgBNtaaYagN +taMatcSgSgaVttSaccaataccKRNcataaggYcDMWaSKVcccaaaggVtHtgHagM +aggtKVatVtVMDVatBgttWagcctagagacaaaggtataatttgcttgtSaaccttct +ccttcaatgNaacaBtttaVcaacagWaHMttgttaagttNWaaYcgaaVtatacBatga +gHtSattacBgttYgtNRRcttgatcttaHcaataattattttccttgaYgacVgNctta +RattatatctcagWWatNcDgacacgttaatRattaYcKtggtSggWgatMcaaDBttga +acNttctcaaHtHaagcgVtDaaDtNMcagaaatWaNtatcttcattSgatatgatacta +ttWatSaattWccgtctaatcttgKDacatRatggBttatggKgaagtttcBaKtgttaa +aKtcgatagcNgtatVDagaDtaVtcaactttYgaBYcgaYgWgaWtaaaWatVtctVtg +ggKaVctcgRtttacMaVaaagaaggtVtKNYtWcYaVtRVccgaattatacttatatta +gcatcKBattttgVDggcKaHaYttgcggcNaatRactWagWgttcagtgWMctaataBH +tttgHaggcctgacMcYaRtRtcggcaatBagttaagcDatatatNttgtMcVtaaaHMg +attVgaYgtattatatSaDaaaaataWacaaNttKttcatttttHaMagatYtgtttcat +taatatVacgcHRttacaYtaagttacaBtcgaagcgttWtatVWRaaSacggWaBgSgc +ttaScatNaHcaatWacaMatagttcagYBagYgVactWtgtStNatacatYgSYDtaaa +cSaaatBtttKaKRSWRcRYMgcYgVataSNNtWgVtSaMgBcactaaatYaKattVgga +caWaaatgHtatHccacStaatagaYaaaVaMaaacYYMctcagaNattatctattaaat +atgMaRgggtatgaMcttaHgattgtScgtgtatVatHNgcYttNatatBWaaactNVtH +ScgataaNcBataggtaagagatttMatVtaagtaaatYgctgttttaagatagaWaaYc +gctaacttaaagaattggtSYgtVaStttRtcKtHaVcWaYaWVSccRactDaattgWaB +SKtaDgtataaRcttaaaatKcagtNgtaaataaatgattcatgtcKRctatHaYtMaca +WNgagatcDcgDtatKaHgaBcaaaNWaRataYtYYacttgcactaaYDcKDttWcYata +StKcgcaaaaaRaaNtttatttgctYatgtcVctttcBKcgtcttatSttattYMttaat +catattcatSaYtgWaDacgaataactctggaDccattacgSagaaattgatttaDtHac +gtcMgaMHaaNDKttgtaMgRNtacataWgttccStgaaatDaagYRtDagcatcHttcV +NWWataatataaccKaatWtYgcctacVaagttWtHactaRaagatatMMtYattMttcc +atactHgStagHcaattaagacagaMDtttagcHtgccctttattatSatWataBaaSMa +ccVVgtggatgtgttgYgtDHSaaMaKcagaagcWacaaaBagRactKacDaDgagagag +cgKcaBggtgtaYttatgcDatgaNgatagagtBtNtaWatagcacgcgcatDRSacHtt +cataBtaWaNtgtaatcDctBaSttttaggcWtBacgacaVYtRttaacttatgKcggDS +tacgtagaYtaagtaatgacggVMKtWagcatatagtcataagMgatVagVttSaacHat +aatatacaatRYaHacaWaaactRtHRaatagcaVtcMataaacatattHaStattDcMW +VtYaacYagaaHaaWaccNHcatgtcccgaNttataaNaacatctBtaDNKgMtcDtgMg +tatgKgSatDSgMtgVaaHNWcDcaaKgHMtaRtggcgRgtHtVtatHgtMggaRVgtcD +gtWaactactgttagaKcccDctcNcgtagtgStacgtataNcgVaHHagYttStaaccW +acaKctgctttaactagtVatttaaatKttRcgactaHttSaKtcagBBaWaacccgRat +KagNagKaWtHttttcWtatatttattacagacSBagDgtagtatHtgcattgcaMaRgt +agatYacactYSBDgctgatcMattStSgattcNttaBWaacatgcttSattttctatNt +taHNtSctgtcWttKgttgtttttKaMHNMcaacaagNattRtcBaccatKgtVtaaDct +tgattaaaatHgaataKYtgagMtgcWaWgtRttcDaatgRtDgcNWSgtagtatRttDc +ggatHWgaagtacgcVtcaatHtttttttgaKggaSaStaataWBMtgcaaatacgWttc +tagccRtaaaattNWaMggataRRaaHaaMcagaaacacacgDaatctactaactDgatg +tttaaDacacVaNgagKaBcatataaattcgRtSNaatDttKgKDgcaaactBDtaatat +agWaBgagtgtYaaVatatMtaacaggtataacgKMtaKgcttgNMtRaaaaVcHctKct +aaBcWtcHtaRaacKgcaDKaYaSHgtatttataaYtcaKatgNacgtcWWatgDttRaa +caaDWaatDgagaStaVScctgcacaaBtatacttctgtctttcactacWcaaaWcactK +attaKtatWagttacttgBtgaBMagaattgtYYttttVatttWtcBagaatcctcWtat +YcVttattMgNgYStaBgtttcttWtagcaggtMatgtRaaDtDKttgataDggtttatg +ctaataVYcSttBtYcatctVtBtYaVagtaaDtgagacctgaaatcNKDactgKtacgB +tDKgattaaatagattatagactatggacgacgRgaaYKgYaRtgaaaagRgBaacatct +ctMttgacNaWtctVagtStMaactacaatttcVgatacKctaKgcSactaDaatHgBgt +HgYttaagtNYtRcaRgYtBaactaatatDctaacSKatSDMatWtagKtttagaaHKat +taVactttSgtgtagWctaggagctttgaScatcggSttaggtgHtgYatgtctNtagga +aatDttcctgagagaHagttKcttttgcHtcaDgtcgKtatcaatgcgStVcatcaWNcg +tatttHtatctggaHWSataWaVttgKgtKBaaaggtaMNaatttRDtcDattaStctaa +atKgtaagtcVgccaHKgtgtcgaSVtaaaaHtatgaaVcatacacVtKattaWaKDgtt +ctattgNcaagaacaKYaHttWcDaccattttagacttttMttaRaMtaHtacNgccgaa +aaacKctNgaaagagggaVttttgtBVcatttatttVaHcgattWttMaWcattagtaYc +MagaatKaYtcatttagacttStDtcagacattctcYaaKMttcagtSNtBtMaHacYWN +aactVaMgtcNgMcVcVtgKaaataaVataacaDtaaggtcSgtDatttaKtgSNHcgct +VaaaatatagacRaBgaNtaattVWaKtgcaattHttctaNRWtaHtttaaSgWBctVac +aNVcKtaaagHDaaaNagtYcYKaVKtaaatBaaaSaVaMtcSgtaaacctcBYWttSgM +aMccagcttRgtVggaaWgagtaggYctRtaaWtgtacaaMNtagtacggVcttKcaMgN +aaatgtatgaSgDcSBRgRVcYtaDHgaVtWaaNagDtagggtHagHgctRagaNacaca +StaNttMaatgaataaSgagBgagtgWccDtVgagcDWVctBttccaWcacgHttgtcYt +ttacttaatVatgtKtaaatttaNaYttaStMtVaStggattgtVgaMRNHtacaaNttR +ScRtVcgttcScatMtBtttcDtcatVctDaScttagacaaDaaBtaHtacRgRgaRNtK +ataNgcaaScactcWtKggRagtgtaaYtaaattWgNagatatYtHattWtYWatagata +tttKatgtcgDagaVcgKVagacagagatVgHWtaagttgcatgaKaatggattaHcaat +atgKtMaWtWaYSVtNBDttaaHaMcaRctWScNcggtggYSttcagaattattggaaaa +ttVccMtgggWatatHMaYtaMaacaHaagVtgDtggcHtRaagtHaagVMWacaaaggg +ataBRcaaBcttKtHtMgcKaVtaacaRatKRaMaRtMtcagcaataaaaVccNcttMtc +tattaagacacgagatNtatttataaaSagaaatatSccaRHKatYMacgttaWKtgttg +HtgagatBBaRRWSacatacWtNtcWgttcaaaccactVcaSaYtaactaHgtcVWgact +aNaatRgNattatagacHatgcYWcttatctaagcttaatatgaaRcaDVaSaHatgaat +ttBDacatBtttHactacaNaNtataVcaVtattKgMaSaSggttggDNcgtgatactac +cYHttaaaMaVcBSacctgatatataBgcaattaatBaHtttgtaagggataaacatgcg +caaataatattaaBVcaWgttagtVaaWctRgBtgYtttccgYattttYMaVMtaHatRD +aatgVacaatatVBccgttaagactcgcaaHtVaBaaRctaVgggaacRaaaaaatYaSa +ccVgRaaBtgataaatttcaVttataSMatacKtaWttgcaRcgtgNattatttaataga +atNctcatHtSWttaVtRattcaRYtaaattDcaKagcWggaWcStaatNVgHaMaBKtt +aaatYRMHaRtcgtagMRgtattcctHtcacaaaKtaNttcaRcatRtccgatNDagaBt +tDHtcttggccttaNtattaaStaWgKtVWNaMccaVgVgtatcKacDaYcccactcatt +cacYtattggatVgaWttctgSDagaWDattctacataaaDggtactatagcNcSgagtg +tMtaacNtVtcStttSgNDaDYgaaWVgtactRtaNcYgataHagaDtagttggaHtgtN +tcgcHYgaDttgRtgStatcattttKtWVaYattgNtaaYgYccHgWactgtaaaVBtaB +attaMBtHtttYttVgtaYMWatWgWtNaccVtgMWaSDaatcYWccaaaHtacgKagtN +cMKactcgtaaaVtaMatttcRcttgHtattattcRaaaWaWactgDttttccttttaKV +NaVggataagaagWttcgBtBtVaYcataRtaacBgNaaYctggtatctacaaaagattt +agttaaaaNaaattgctcaactttBKagatctgctgaMgtBttgtKaSatVgcacgaHNa +tVDgttacVBacKBaaKaBctccDtagctataWKttagtcttYgtaSccaatcBttggaB +tMaaaagaYtMgtgtNatgacacctWcKattctgaNtaSgaaataatatVSaattaaWat +tagDtgagBaHaaNHtBgttcttatHaggaBtatcHtSttgccaatNgtaHtttBattaa +catcactgaWaaaaaatggatagMHtSgaaBSatacBSaagMaDcaattttcgtctaacg +HtaaaBtatcttaattagtttatcttcgtWVttatatcgccgaagBgRaDcBaatHVDta +taacaccVgttHaaSgaagaaatcMSaHBattgcaSgaSVaRttcaMtgtgcaatKaatW +ggatBVgtataNWgNctttacctttgaaRatSaKttHgaaaYSaBttVacWttcctgctD +gBSgYcagcgggWRataaaatgcactagaaHStacaatHtggtgtBgcNDttggattatg +aagaKaatStgcttHtgKNMNRagtaNtaDattgaDDcKtaaatcVVBtcSgNcRtcHat +aRcggctVBtccaWcaDgaaRaRctgaatMtaRtgBcaWNaNatatWScYYaWttatScY +tSgcataDtWcacBtactaWgcYtcgtataagctataNSgBctagattaNgaKgatVKgt +agttttcaaagtgcgcYattcagatggaKcMBtacgtttaacctaaattaaatattcatR +aggtcgcccattMttaaaaaaactggSgtcccgtctaNtWattcaattVHDagRtggVSS +aaHtattatWctatKatHtHattYBtaVaMRatgYagcHtaSataaStKaaacattaagg +gttggVYaaDgttWSttcattaRBcMttttaacatRDaataaMttRgataaagVDKatca +tacaacgMtaatYctKcgggcBKNgtggttcttaagttYgcataVMaaVBgtVMSNagtt +atSttgtDtgtMgMDtNKtBgctattacagataMWtcSggtcHgggcgagtcRtcRatta +aaatgaaYYattgtaaccttgatacgtWcHDgBtVagNcSgBKtaaMtcaStgggatDaV +tKScaYagtttctagNBtcMcDgKaDHtVtMaMacMgtagtaaWtaYtgHtttttgtcta +gYHtRaagacDRaatgctVMtttWaYaaNtttatatttStcgactaDatKaatatattHg +gttgtRtattaattaaaaRtaNacKattctVaatgattcttacWatgDgagggtggScat +NtcMggaagggHtaaccttcWcatWaStagHtttgatHaRVaaSVNNtcaRacaNaKttg +ctgggcVattatccatVatataDtDcNgMBMgHSagggaaagKctgggtcacgaatcaat +aaVtDttaRRgtctStattNBaaaBHatcgttaaWMagatagacatatVgDBttYMacaa +tttKtttaataaaagcacgVgaaactDBtaaccgtagaNtgagaaaRttcKKagtYKttt +taStataaHgtcNDcgttYccaaaaMcaWtgggttatcaaRaaggaataaVWcacatatt +aRYaaVagagVtcHggaBtaataNattagKtcVRtgactatcgHDaBgRBStVtSgNBcc +WDgaatgaggaaNctttNttttacaaggagaaDDaVtcgaataaataagttaattStBDc +caaaBgVaDtctScgtgtttttgctgtcacgtttWgacStMtttVaVgaBtacDWtttag +ttDctaSDVtttNaDDcHatatacYtKataaatagttgaacaagaatacaDDcacatttg +taaaggHattaaatgttacgtcagtNStttcVatttaBtHtVggttattaaHcgaWagaY +tVaataaatcaBgaccctHcatKaDatRttHRMcgtcgggSMtaatNagtYtgaYtggMY +ttgtaaactacgKgStttaaaYatatDtaaSaVVcHgtagatgaggtcaHggMtaMWaWa +HctgaatctaaBaWaDtcgggtccctaagtaVYDaNactataaNcctKcBcataaatttc +aWSttttgacHtctRggagRaagacagWVNtctcatHtDHaRagctStatattggcattc +attttMaNaSaRaNDHaagNtMgtVWtgtMccaactKNaaaVaStatcgtStgtgtaBgB +gtaatcNtccgaagtttaWgactNgtaaccaatgNatWttgWagtaaKgtctRgtctaat +aagttVDHgStgttcVttgtSWatcYaggMatgMRcBaStgtaaaaaMttaYagccggtg +aRRatgatccaaaggtttctaaKgacaDagagatgctcMgaaaMcgRaacaaatataaaa +gcagtgtatDHgRaVtWBVtggacatStctKccttVttatgtKattttYcatctgttatg +tcDKHYcctSHMttgSDRNgtaMNHaggatBcSBtHatDMBcttMacNaVMKtctgtttc +gaHSgtMgcacagaStaBttcWcattctDtcttHtDKBcaaNtRNaaDgaaaaccMRtBc +WVVagcttatcgaDYccacKtatgatgtcaRttattYttctaMBggcaYctaNtBactga +ttStaDaHccYaDtgcaRDgSYtYtatBSaYaaataaagtctcgcgttcagaaKtttctV +attagtWcacgaaVaaVtctcaVgtagttNaaacaatgtccttaactaaaStaKWagtta +NttatacaaaKattBctgaagaagtYDNtagatataDtHcKcctaBaggcaatctHttct +aaDNtgtgaaaagRaattataaBMaggtDgtMaWHacBStSMtcgaacYttRMatNacSc +gaaRtttctattcMaaBggtaKttaRcgtBattcgatatYtVaccSacacgtaaagtctN +atYttgcSSattttcKccttataatcRtHNctttMcatBtacatgtYtctagcNttYaca +atgtaBgcgttVtattaaWtaDRtKNaNDttDWaaaataatDgcgcKtaatatcgctMct +atcatcgtaaaaYNRttSaNtWggatRgtgtcttataVgaaaatcWDcttDRaatMKctc +atatRttBtccaattBSacctgMtaDDRagtcagacBNtttattttagtDacaagcaHca +cgRttVtatcatatacStaatMaWagttRccKtRctcgaagttgaatttNtttatHaHtt +agctatSBaBtcaagtDaaaRtgattcatStagttcaRattacaVgtatWRttWggtttt +ctaactttSaaaVHRatttYHMKVVcgttMtatBtaSaaMctgMtcaagaMtactcDatS +aaaacNgatttNcaagttRgacgataVtaacYNataStRtgaattactgtaKtNagaacc +DaatgNDaaHcataDSYattatgtctgYWaaRaHtttWggcKatgcgtagDSVtMactat +aKMSttaHaaaacaHatVaDKtSaaaRtcaNWHtatttctWataagctttcccaacctNt +aaacattcgagaBKVattaWtcVaKtWcggtaatcaatgttcaaatccDttctcaaSaWN +DataaKatBcaYttRtcataMVtKttggcaaNgtgttatMaccgttgMNagtgVtNBWgg +aacacaKaaKctagtctacttSaKYMacaWtWDttatagHBacttRttcctgttagtScV +NaRtaacgScaStttatctttttSgtBgNtttStRatNDWtctgatcKtgHcattatcta +aaaattNaaaWgWaDWttWRtHRNcHacBVgWttgtNggtWtWcttgSatRtaaYtYtNa +DttYagactStacYaYtNHBatggatacVtBatgccaHcgtagaaMatgataHagtKgHa +WcgtaccKaNatagWtDttcgtagggcSgtRatatNgaRtYataaataRtBtcttaSatc +agatgaaSgtVtHtgtaaDtVactgattcgcatctctBaWWtaagBttVgacHattWWgc +KataHtBtagScWtcaNtHStBKMHBRtRagcataaYtNtttatacttaMgacccattga +gtDYggKccNaaRgataWaaaNWDMttMacttaatgStDYgtattaBatBttKcSaacta +gtaccgttggaKacRtDaataSBaatacaKtgagDtNcttattaagYcagacttNNttat +cBtHtgRatgccacctaSaatccaRSgtWggtgaaMcgcaMaagSagaaDatHcttgaaD +gNRttaDKacgcataagYaagtMRttNaMMMgcggttcgtRaSgacaStaaVgStcaRBK +caMtctKtctatNaactaHtaactaaatNWaKtWaStRSKcatggtgBtgRBtagaatag +ataSBagMtDVataaDtaattgaYgaBaagWagaacaggaagtctgacgMgtgagaRVac +McBaaDatKatcNtKaRtcatDNBaaHatatacattaWRBtcaccattctctaaWttWac +gtccgcgtMctcaaaccHYtNDatttSaDMccaStRttWgttattaSVKtgttttgtcWa +tgtgStttgttttatcaagacMttgtRDgcRtctctgtgggggcSaagcatVattMacat +tSgttaacctaaaaccgcagtgagNgtctataatBtHtacaaSccccMgagRVctYagcg +aatttacMagVttaRDcctRgSSttttcHtVaacatagBgaMRagatRcDBaMtaNtcat +ggHgaDYgaVgWaaaaMKattBtaDYBaHRccagttatacVaDcacactcgtaSctaaat +atRDaccagctttttaatgtagaMaRaaKaaataaaatacaRagaaYaNtatKcDttgHg +cVtaYgDacagMBagtgttatgMcSgWDWYWtSaKaagcatKatatctcaRHacagttaK +tgBKtDRggtcaYcattcgcYattttgtccaagtVgcattttttaVaagtaaaagtWcct +tgacYcaagtaatataYBaatataBtaaatacacttttRHagtttaDSHgNtNVcatKga +KtgagttgaaaHcgBattatHgRKtcaBaagttgtttgtVatYattaattBatYgaatgM +gtttatagtKcVctagttaaYWttWaRKWggYttgaRgagaaMKtaggtattaMVttata +VcagHYacaaMaattRRtataWaaRacHcattaVaBtHgtatBaRtttaccaaggNgtaD +MtatYtaYVtNtcBRKMgaatRaaagaatactRattttNcaaaDDaagtagtacaNtSHt +taaataattggtaaKtttaaBaNgtaagtcaYttacVaataataatDtgHSSgtSDNaat +tcRMBgHttctaagaYVcHcactKgaaNHcgWaWttaaBactcgYtDaacgactMtaYKa +cBgttcttgttataBacatScBcattKaaattacttSSDaRgKtHHagRNRMtttBDtca +agcBcgcYattactcgtttacSaaNVagtacacgtggtSaWatBtgatttWttScaaDtt +tggtKtNKaMtMgcttaHKaRaccgatccctgtgggagRMttaaMaWccggtttBtgtta +aVtagMWctNtctHgtBgcttatSMYccttgHaatatctgNgVttagcttagggaBBSSt +aYgYatYgtaaaaattHatctatgtWRNgtVcSgtgcgtcYBagtRHgacttaaagSHat +atBaaDgcaKtcccDgcacMttatRaacaataaccWtNBaYatttYacYtagagattRta +tagKcatattDgKtNNgtttWNagggtacStataRtVDYaacgtaBtVKtagaagRtttt +ttatataSaagaaKtaatatKtattagBtHataatatcWNaacagtgWaccatatStcYc +aaNRctcKacKttgtStaaKRaWDDaatBtttgtcagggBgtggSctaaWtttYVWttNt +ctaacatagVYatcagatctVaHMgWtcaagtataHtgacaagttSacgtNRataaatgt +tgNtaattagaattgctMaRttBtacBatNgacatttcaMcgtaaacctctagHctaaKN +ttBatatttaatattBaKtRagYtatattSgtgtccBaNSattgaaattgYggcaaataa +tatHcaaaatcMBaagYatttttaYttYaStatttDtacRtgRattttttgDcRaggagc +accaattcRcttttataHcggatcatNSatgtagtHHcactgtWgtaggtNgactactHa +gagHattcaggggSaatgcaaaacSSKDtaggcDtatVagMtggactaBSatagMttagg +atSYttaacBtagaNSVtaSaNcSScaaatattVctcYaWYtBcttcgaYBagWtRgagH +KagagMaatttMatgtDtaYNagDtaBagcKcKcaMttKaaaaatVaatHDaataacgRa +tBNVKtMaccYaaccMgttgtactagcttMatKgKBtMagtcttMWgaatRcacaaaaSg +cgVtSatggcaggcgKaYaatgctcattaaaggDVacStgttaMaaaaacNVtBtgctta +acgtDNaaRcgWaKtatactagcactgKVttaatcttRcgDHHattcStatgatcWataa +gtattttacgtcaRgaaMcDattYHattYgatatcacNNWtDatgaaaactgaatHagga +NcttcctKggNgatBaaatttgcaaaDtgctcaatgtYagacMgtVVtgDBaacVaatNa +DtatctgaaggKcagSggVtacgatgNWtKWaggMacctagaatattcttYaatDatcgt +tgatggtcaacgttatatgcttaWVttccRgVcaDcgagMtacattaMtaVWcgttRcat +RacaRcMcaNtaYWNYgMtatMgccctaKctagHtttaaBVMaaWcSaccgMttBRgNcR +WMtHMaccaatgataaggagVttYgaatcttagtgtcMtgcctVtaRtgcaccaDaagHa +ctNYcNcttaaggcMBagaWtattgtgctaccacgcWataRaHtDtacgaaVttagttVa +cctatatStDgtggtaMgaSattcatgMcaRctatgWgatKatYYaaataNYcSaDtttg +tcYttttttaBScatRtctgtaWttaatagMaacatDttaaaNgaacttacYttagaacc +ctgNgagMNHaaKacccNatgKccttaKcatDStaaStNaaVBatagttcacRtYcRcKa +agMgctKtBagSaagNcKRttaaaaKaaRttttttatHHNHaHRtcaRcMataKDDtNcK +tKatctaaataaatRatYttMccaaaNaaWgctgattcaaaKgaatScaNaaaKaBaaaa +RNtataVcYDattagctattaaatWtgBWHgggtatcatattatcVttcgHacgcgatMa +ttDcaRggDYtYttNaaaatBKttKccStYVDatatYcctSacVcattttatMtWRctaY +agRgctcttttaacVtagaNaVRaccgRaattaaVcaattgcgKRctMaKtttHgctttV +MaNaRaNMKacHSagtWagtgNatKttatctataaHatgSaSattcagtDctWaataaYt +cagtaYtctatHcgattSRttaaaNDgagatatacttVttatcataSSaBNaDataRtRR +aattcaRataaRtattttNaRYtaKttaccaaaaaHVaBtttWtttgatRagctaMattg +cttactctgatKtgatgRBttaataagYttcStKaNgcNatacgWatYaatctggVtaaa +ttYccKagaVagggatttatttWacgaBcaBtaaDttttcgaBcHDgaaSgVNctgaaKt +gaVagtVWgRHgtacaatattgcMDNNataatagaaaataatNtNgccgaaMaagtgNtt +acgVHaacSgStBBtRagtBgtaaWgacttcKgactaaatgaagVaacaBtggtacattc +aaagtgattagKagNatatVaKBacaMMctccatcgcgggRctttKaaBatcacaScaNa +aaaatVgHaattaatatcWcacacactcatgctcgaRggVgcatatcaDcatYgaggttD +gWNagagaaagagaYttHKaatgtaVtYttSNaDtcgaatctattSKgtgtaggaMgtac +cWcaMRtHttaaatgWtgtccgtKtacggacaNgaacgaSgcYagcKBttNacaagatac +gaagaVcBgStMacMtgKaactataSgWtaaaatDRataaaNaSaagHttHWYgaccWMt +atataaaaagatgtaKtVtgtcBNMtRaSaRacVataaNaaaDtaatgtaaagaDgtata +VDaacagatttWtDtcBgatggBcgagctcKWgtHcBgcMaatDNatcaYtctBgaHtcc +agHctttMtattgtBccaHMctatctNaaatacgcgtacatacatctaDactactcKtac +ctataDccMattRgRggHtaaaaNYcVtatccgttSaagYcgMatttaVattttHagVat +VtttKattaagttaNaacaccHSttagDactSNgtgtttaNtVtatttatgaaacSaKta +ctctacgagttgaagtcaSBaDgtagatNaaactRKttcatcWtaBaggKtKcYttaDtt +atMaWcStgattKattgtatatDttatDtKatgtaNtgtcgtcttttttaBtDBcaaaaS +gDatgHtctacaattcgMtVYtatgcattaaaattcaVgatRtcagBtcaMaNctHgtat +VatcHttcaDNKgtWcgagHtttaccattNgaactYacaKgaaagtggtttgtgatcgaK +aHgaatYNtBgcaaVatWacNggataccaDtaaaWttBMaBccagaHDaataaBaagYVa +cYaScctYVgagWagaYagtgatgtttWatSaaaMYDcactYtaStWgaaattacHgKDa +YtttttgttcaaaaatttgYatatVcMatcactggRaaMVtStBtaaaagggatYaagtB +tatcatgcDttDaaaaMatagtctaataNtcttWHaaatcaVttaRaKtcgatttataWR +taatatcDWcctaNMatgtttDaYaaWtMaagtcagaKtaMKacgccaaVatgWtSagta +gctatttcactaaNcaaaNaaattaggattatMWgtgacgtcttcattacaYttctRRtt +tgMatggNtatacaataataNgatNcMttaggBcDgRHgatctttagtNtacaaccgBat +gtHaatgttttgatatccgttatcataStaKRaKgttgNaagagKttgNYMaggaattca +gaactcaRataDttaagcttaccttttgVttaWWgacYggStacYcgatgcSccaacHca +YNtgRaHtcaYaacHctYacatagatBgtgacDaNgatMacgKgBaWagacaSgttaKca +tactatatcaHaatataattctggtcNttaYggDRtDaSHgNttYaatWagagtagaacK +tWtHtBatNtScttttacaattagtaMaatttHgtctagMctaccagagttcaKcStacc +KggaggtctgcNatctctDgYccaaVgttgaatgacVcatagtgtattttccttcatcta +cttSgaaStcagHtMaataWNDagtatttttataggcatNKataNaMtgctgtttVaacc +tVBDWattgHttatattaKtatSVSttgtaScgcMcccattgggtagaKMgaSaSttYgc +aaMaatVaVaKgtatgYNattcttagWgtcBaaagSaaatRatttNctacaStggtYcaa +ggttBtgaDWBtRtgaaDccacaaaVSatatBcaaScWccgaKttttcgtMaVttgatgt +MatacatgNttBaNaagtaggaRaBagaagtaRtaagttacWatgHtttaagSaatgata +NWattgtaSggHDtttBataaNNBRaatKWBgtaDcBaMaKtctaYatVaKataaaattW +YcgtaHcttagtgYtgcKDtccatMSaaagatYcSaHatcaDtaatgMMatgcaaatgtt +tagaDDNtatttgaaKcNtagKYcaBMattaaagttaaWDacgRaRtaKttaaattaVVK +aMaBtaKctaaWcatctRMtgKcBaBaaagattHcgMcgaSNgactaccRatHtaSNtct +YcaaBDtaggaagcMatttcaBcDaaatggWtcaHctaKtHcHMcRgattgaMtNVaDag +ttaggcttYctcatDacWDaaaaaKtaBgtBaatcaataaKgactgactcNcattMcaca +tNMattgtaaaNaaacttgctaRtttacttaatKYgcttgaSStgtaDaNgtaKgBgMaK +gccagtgtMgatHDtgacaWDttHKaDgMacttaKaagBtttgtcttaagMagtaHcttW +cacaatSatgYtgacHgHcaHDgtagaDccVaKcaataNttccHYctctaSRtaYagtNg +DagatWtRttSttNtRNagacatattttatggactacYMagtMacYaagYgVgKgtNtaV +cgtgaatcataatcgattYtaaatYtctgBaMgNWNKMgDttttaWtaBaaHatNHaDac +ctccNKtgaVcWattYtgccaVRattMacBtcccNagYttBYNgaBaaaStWacMgcttc +catgHaacttYagMtNaaVSYgcgatatHcaatatttgtgBcatWMtaaaaDRttHaBaH +ttgaacaaataaWaMcaDctgBtatWttaacaaWacacWtDtatttatWaaHacaVagVg +KaaaDttWgRBVagttVNttctgcttgacatttSHHMKScSgSaMtDtaMcgtcaWaaca +ctMcaHWRgaactWtcgcMNcactVDaatHcDSttWtagactatgaRNcttagataYgag +gaagagcaSHcWtMaKStatgYatttttVaattgtttWataaaDaDgataMcaMtatttc +tVKaKgcttcctDagtgatWatacaRtttaaaBSMctHaaatcagStatStgaaVttaat +tatttgctaagcgagaWaaWtccgcaaSgaatVgtaStMcSNcgtWggMVWNatHctggR +tttaacNagtttRtaMBgatatHtaatcMaaaYgatMtaccttaagYatcgaaattMata +aHatYMcccaaaDaYaVaWgRaHaaaMcHSattcatWSatttcaMtgataKBYtactgaN +ttgaaDactgBatgYgttaagVgaagDagaatttKNtgaMtHagtaaHRgaaatttaYta +ccNcgWNcKtaYtBMctVBWttttaSagRHBtaHtcgtactHggagtaatttaaaVVatt +WDgtaaHaYgDtaacatDtacWttttttatgccacttaDtagtaaKgYNcttMNDaBcaV +McMctWgatactaRcaaWagaatgcWcRtattccagKgaNgtctcKtWgaNtSttagVaa +gaSYtcctWatatSgaDaKcactcgBtYacDgMtaKggtKcDtRtRgSaNKctaatHtRD +aRgatatacattagtgccSttctDgcgatNcatttcHgcKtagcYgttttgNKWRattgB +taaNcRaatcNaagcgaaVKttYtWttaBttttttNggKcgaRBMVtNcNtDVaaMtcBN +aKtaataRMcaaaattYactactBattWcgccgWaaMtaBYtgtaHagtcttVttaggaH +VaaNaNaatcttgtgcattttatMDYKccataScaWgNttccttttMaRcVtWHgaaatg +BaaRatgcgatataaaWYacYggtacttaaaaDaaattgatcWaatgtttRcatatcagg +aBcttttcttVKatKccaccYtDatMtcttacMtSattaatatagaatgSgagYgWNttt +agtatgRggYKacaatattgggVtttaSaYcaRtBcggtDaggYaaactNataggaggaD +gaKcaaataagatMKaattaaNagtagttcWctataaDtttcgtcgtattaccStgYgat +gKtgcccYatDctYtttttYttaaaagaactcaNVaaYaYtccagacBttKcaatKataa +tKVWcBataaatgttcctatYaacttaSVtgataggVatgagttgatcttacgMMgtWtY +tagcacaSctcHYtataattMttataYaaccKgtgtaaKcYagaaVtcBKattStgcaaK +caKKaHgtaaBtctgcaattaWgMcgYttMctWtaDNcDatggWaattggaVDagKattt +tgaaaRHattgMaaMgtaatcattctKgNaacacccNHataaaatgaaagagSatKtacV +agttggtcgtgcBtgtgcatgagcaacataagKtcagtttgtDBBHWcgaDtatYttgat +tcttaaagcMMttaKgDaHtatVgWHccgatKttcaaNcYtcaaDWDatcaWtBtWHgct +aaMDaDWtWtNKcRRaNttVgHaRgKgcWgattNaaattaataNcaRtagtRgaacagat +aDKgtatScattaDgatcatMtcgYcgtttaaaRctcagcRattaacatccStcBtgacc +gtgWaaagaaatgaaWtattaVtHacctaccaaatgBgtaVVYaaaatccKgtcaactat +aDgNagtcaSgtKttacHtccMKKWattagtatNctattagtttWttRtgaKaBHStgRa +gattaKRtWaKttaaWaagtaVccctgcgMRWatgttNKgtcSggSHtaBttgtaYaatD +taVtaatgtHcatWaYcMttataVgaaaaagBgaagRattccggcttDgggcttcttaac +ttRgaStaMBaaMtctMBHBacttVgKggcttgcgBcBtgDtttcctattaaRcatStNg +cKgctatcccacSctcHtaHWtgWaYatgVaRRYtgctaaaatggagacctMcttgttMa +gBaKctttYWBtaYKgcccYttaMgtHaaNYgtgtagagDttcBatgtStttMtBWtaaB +ctaggaaNgaRgcttttttgtagacRttHSagaatDaYgcctMBtgtNSNaaBttgVtWt +ttKgacaatatVttVatagatttgcgtcgDtVgtSattaaaVHtaDaatYttatKSWtca +ttagtaaNatctcagcgtgcKcatDtaBccaaccctgaYcattaNaagNaKgagttttca +ttaHMaVKMDDtaSHScaDattgcaggcccMattatacYtMatWgatttcBcBtBctKac +ccaaWctatccctcaacaataaataaMttgtaHHcgatKgaggBtRYattatacgtaYNB +acagacaaatVtMcttttRtVcaattgtttgaWtaaSacaRccMcaaacttttaaacgta +cVBtcWcSaYHgtattacgRtgtgtaKgWgaatctaBtcgtgRaaaWWVBcaNtcgctgY +taaaHaSccaagaVMNaacagattaHRaaMWcVgMtctgcatgaagRDattactgcKHtc +actYtccttatgHtKgMgKcDtacNtcaStgYccaaDagttDtttgYcaagcacWWttaM +gccaStaaWtVactgaagtKtttcaWaatgMattatKcctctttttcatgtaaactttNc +aaKgttttMaMcYtgWctMtttactttagaKtMgttDYttctatagWcRttatYSagact +tcaScaacaYtSaattcaaagtgctSaagctattaaagggtaactcacgDKgttaMRggg +attttMcgttattaVtccaNagaRgMaataaagaStcSaacgtaWttatatHgttHBcgt +acggKBtSatDactRggaRgccBRttctaaaatSactcKtttVaWRatatttWaHaKMat +gtacatcagctaatggBgaBNSNatatcYStagaatSNattaccgtcaataaggYMRtaD +aatVgYaDaattataRgVaagtgcaNKtgttgacttatHccacHaacVcWcNMDtatcat +ttttaHacatKtatagtgccWttaattttBSDaKaHaDttYacDtBgtMNgggBaaaaat +tDaaVMaKgatcggKtgtctatctctVatcDtaagaagtgtaMcWatDggaaaaaYtcDV +tNttcNacgaYtcgatHctctaWgaaggtMttcKtcttaMgtctKNagcRWcgBVtcBDa +tYKtctaVaaaBgtaRagcacggcaHHagcagaaaaacgggtataatcaaWtacYcWtcc +taBgVVaBagHaaaaaatataRYagaacgggVtttcHaMtNtMgcgaaatKtattaagtM +ttatcttWttttRaatatgttatgtatttRaagKtBgtgHtHDggaBDtWccattcKttt +agtttagtBYcDaMBtgatcttgacatKctBcaaaacaHtatggaNaVttcgttattttt +ttcaaDtDDaatcaaaYaaBHttaMKMVgctgWtacVtRaaactgYtcatggcVHtgatt +RttataBtcgaaRataDttaatcattHtatatccNattcaaHtgKRtRtagtKaRWaata +YaggatccacttcacaatgtgatMaggactNaaccaaMaaKtagaaMctacttDSaaaWS +gctcagtWaataWaHtStMacttaDtgagWaaaatatttatcaacaactRtDgYcYtata +tgtataatWtagccaagcgtttataatDgctgVaaagHaattagaatBWggttctBaNta +ctHtKBtcgaaaRttHBatDaaKccaSHgtgctWttcBaatcctYttgaHacgtatgagS +tatRtMaacKacacggaaSctagDagNttgaKKSgtttctacgtagSataHttDctggBc +YtttaaatcgRgagagaDtgRSaVStggVtgacgtMtatgaaNtWtHgtDaDtgttNaSV +agaattccgcttVatatacattatataYtaggYaaaRDHttHYDtNgcatHggctattYt +aMcWaaVtaNtatttHaagBtatcagatHtttgaaWWtttKaaaggBtattHagtaacac +tDggtattttScttaaaacaStcaacHttMtatcagatSaHtaVtBaNYcttHcatgHat +agaaggggaWgtgBtttagtVttgacatYtKtattaYSggtaaaHgcaggaStHtYcgta +aDWgtaaaMcgYtNHtgNgcttttataWatttKWaaKtHattgRtBtMMccgtBtYttga +KaWBatcBgaaacaBgaagatYgKWaaacBgatgtDaaacttDcacgatSKtaVaRDWtV +KgHtcRattactctattBacaaactaatgDtaatcatatKRattSggtcggRMaaHVtgt +tMcgatatcccgVctKMgBactVtWtBKtgWtaaaVaatRgKatttKSaYHtcVBNtgSt +gtatNStaaccgttaaaaYactBgaaaaattacacVttKattVNgaMattNccctaVtaa +StctgaaVatactgtctaaaKYNDtataWtattaaNgtHtaWgaBMttttccaaaDcgct +gagBacacttctDSctcMtBtNccaacaaatSVtatWggagSattKatRBaaaNtNttta +gacttaagtHttaatcgtWctHaMBaHtaaagKaaKttgatattttgKcgtcDtgtKtHa +gDtMtatgatcttgtcSgtWgctaaaaattDaaaNgNYtMttNHgtHBataatMgMttct +DcgtNtNatggKatHtaaRtRtDStttRVcaatKgaaRSRtBttatccataaMttagcaa +WtagtVgaVBatcVtYtagttgtaMactaaataDatagNttttactagcgcKctDatatD +gaHtRatVWagaDtttcggSKataacaggaaKggMtttctaVttMaatgattcgaagcga +ttaNNtYactttKgaatWttNNgctatatgttacKaMtaaDgtKgttBttHtDacaagaa +RgDgttWtaatgVBcaaccatgcYggtRcctaaDaaHcatYNaaVDNtBgtBaattYYgc +HttRctattVtattgttcKaaatagtacccttgcVtaaHttaagaKtaagSaYtgcactt +DattYttaVgRcacaattDDttagattttcHagccaYaataKaatccVDKctNcctcaaB +ccaaBaYgKacWVtWttatgcSatcDHttattaacaagaacRSactBHttDaBBBcacgt +tactHaKgacaKtaWMcHtaVHttaattcgttatatBaaagatgaactaaYgDNattNaH +gHKtaatcctcttcHttagaatVcagaHtagBgtMataattaagtcSRcatSagMagaaa +acgYacgagcacgBcggacaHKaaBatSatagtatcDttRHtcagtDtaStYtagaaagt +YNHtgaacaatgcgataaNgtNVagtacccctBcgaYWaactRtDtatttKatBccVKtH +ttNcttVtgaKMtgcttggcgaNatctcKggtcttttataaacWaBttcgHtcaHtcgat +cgcggccaHaagcVgKattBaaWttKcttaVaagYaVacagaacgcScDcgatataagtt +ttacaaKcaaaBcYcHKctRagcgaatgtScBagMttYHtaatHcKKtgggatgKSaaat +actgWBHVcagHcttVBgYDtaVtcctcatRcVKcNaaYaBtattttatRtVtDaaScgt +atacMatcaaactagtaKataaatStHtacaagagttgtYatctagaBaHSYtaaataaa +StacaHagWSRSDtagtatggctgaKtaRctaaagBtactcttatgBcHcNtNRNtHata +accRttagatataaHtacScgtattgttgtDcctaYRaattccaNatgtgctaaaactMc +aWttgttgVMaSgtaVaSctMcagtcacNaWacgaatWtaRtaatSgatgaaWtaaWcgt +ttHtWcttgatKtgDtDMcagtcattcacttgaaatactWgtattcHttcataactgctg +tgtKatRagtaatttYgNcaatcBctgtStaggtaMatacgtYaRNtgNaHtNccRtgcS +HgRcaatttVcctattaBKtgYtaMaactRaaaaBaattHHtatVNWYHaatcagtaMVt +ttctattWHtttacaaVccDctYtttVtNtRRKtBgatHtBcaatHYaSgaagaagHagt +ttDaVaattVactactYcaDtKttgVVVtaWtggctaSttgtaataDctWactcaRttWc +MSYtWagaagttctKHcgKtDaYggaDttgtgtataacaRKctaacttcYaDtccNaNtt +aYtaatagRttaSagaatBtVRtaatcttatgcgtWtataaWgHataatttYYSttYcgg +KKtaHcttttagHDDBtggtttaaacatagaRagtVagactttacKaWDMacgYaacctg +ctKaNattggatggNgtKcYSttttcctttDtYttBcatgattSHaaccVtccatctccc +acDBtgaWBaMaaccgttttcttaaMgScBNatBtagtcttccttatKBRcctggtVSta +tagcDgMgtacattacccattKKtaRcRatRctYVaSagttatatYtcgNDDggKaHggc +ccgcRtacgDtcYctgaaacHtatattaVtcaattaaatgaWaBggYtHYYaVagWacaN +tDtaRattgRacRtacacatgHtagagtaatatttctgDDcttgNDagcctaaHtatYHt +KtRaScgtattMttacaacHggttttatSgaHVVgaattaatagttattactgtRtaWga +taMDaaaactgNYacYtagKtaRcaYDHatatVatggctKtWatHaNttaatttttgtaa +gcctggcgKataaNtttRMNggDtataaaatVcMRataacagctMatBgMtaaVcgagat +tcaaaSgtgKacgtDHatWaatgttcDtWatgYcWRttcatBSHtttgaatatBgaaWgg +gaaBcctSSVaagctSctagYatDggtatatgtaatatgtatgHYcRtagagtHcgggca +taDHattcaaattcRgcaaaataagattcaaYVtaBtaagRagtttgSRtgRYKgWggtt +taaHgcHStgtggtctaHaccaccSaaaattaHatgttVtataccagaatDKVtctagtt +tcaatgtNctaccgDcacgaattacactatgaaggccKVatccaSWaaKHtttSggatga +gMagttgcaatatKYtacBttaccatHRttaacttacaDKKtaKaDcHHcaYatatgMag +aRaNNttcggagYRtacMtHgacttagacBaagggBatcttgaRDactgatacatatcSB +ggtaaaVWgMaatttaYtaWacHattDMtttaaaRRScatcttctaatacagtBVgtgtt +tBagtatgBNcaagHaaaSaSYKcacMtKatggcacgcctSRaagcataattaYacctMa +aKtcggaBaVaaWaDMttgccttaaacttDaaHacNVtgagaataccactctMttaatct +tHcctttaggaKgaggWtaNataYgtaggtgaagtcWDcWaBatattRtVgtRgVtataa +cDDNttatcYaaaagcaVgtYggaDattccgtccDcSttaaWtttcaaaatggataSatc +tRYcaaBctMMtcttaacMaSgDatgagatcaYgctcacHccMgaacatcDNgtNRcgBa +aatagaYgatgcttRaattStccttgagcctaVaagggatatcagtaNMttaaHcMaatc +cScBtYaYttatgaMNagtgHaatHacaHaBaaDtaRNDNcBtagBgacatStagacttg +taatMtYaNaKSaccBtttHcDaHNBttBaacSaggagaacgWcMgtRcaagattSctgt +aBtcaatMtaHgcaaccataVgtaagDRcDcggaaccaBtacVMgSttgtcataaaaaca +MataHatgttaacaaMgtacgtMVcatagYtKgtgtcctaBcYKattcaggBaaHagStc +NcattatRRaSYtYDRaHYttttggaRggggttatKcVtHgctggaNttaagagBaacat +tggYaaDcSacggYaRttacaacactcDcacBDtYataaaaDWtctcaggVtaYttKtaV +KtDSaMtYtYcgtaacHtRcHctaacBgattttagHaScDctHttaaaatVaHttggtta +tttDtatHtcaHcBagSttttDctttWtctaaataaWtHYtRgtBccSaaDSaNgatcSt +taaaatgaYgKaaDaVatatYaRaHDtataKaNtagtacataggSaatMtctMtccctWg +aYtaggataMttcgtacgccYgBSgttaaHgctRgRgtDVSRattttttaaKtRMtatSg +RaatKacMaYgggtagBgNHcgYRagHcatatgtgaacMtacSDRMHaaacHaagtWSMc +aattcagtDctBattgttcatttMBaDVHVDBtaatKactNacgcBYtttgatctatVVt +atcKaKSgtaWcgtcgNYatSaRtcaggaRtctattagattKHttYaaBtcacatataat +tMgtatcataKKatDVtWtaHtHHVaggaaHagWaHtattgtDaHRgatgtaaaWaaSSt +MatttgNtgtcagDWgagaBagtcattaataggagttcagcHttgWagaWcRttaKttaD +gaDWtYacMWgRaatatccMtaaattRaatacaKYcgcatgtatgtNaccataSttSatt +tttcgatcttcaaKcMDatgaattcaMWctKNcHtctacaYgatgcaBtDDWtaRtScaY +aatYSgBtDcaacYataacgcDgtaacMtSaaKcKttttDVgttgtaaNcaattctcaat +aaatcSVcKaacattgggacatgaaaacggaggagtacDYgatMYttaaaBBctccYgcg +agccHattttaWtataYcaKaaDYaaaStMctSattaatataNaWcacaataVtcataca +HcgMgaatYgaataatRcWcgtttcNDYcacaaacacaNttttaatctaKtRttHDSttc +cWatatagtKtgtcgaccaBgtVacNaYBHgtttSSagcNtctacctttaacgacaDcWV +acSHcaNacatttgBYaaagatWagaacYMatcKgBYcBggtaWatataKcNgaaaattH +YtSaYDVHSactgttNRgaaaMBtatataaaaacVtctWtgKggtatDBgHaKaHVcMWt +YYBaaattaVtcgaaacatggagYKtaaaacagttNtttatcatgctagYcctctNgttc +tgctaYttBataaRtattgatgaaactagttBgagtcttccatBagatctBaaagSacag +taaStaaatatataataatcttaactatVtaaBattHcHgcttSSaaDRaKtataagggK +aacRagBaggtaMYttggtacMatMttttYttaacttaBaYaaaatKgtactactKDctc +ttgaDtMgattgVgcRaaaKattaatataagWgttcaWgtcaKtatcgacatDaaSatHt +ttcagcNtatSggtgtaRtgatttStBaNaHgcagttaggggatWtttgattttatcgaB +tctaggcgtgtgtWttttaaSaWKctWggtgataaaattacBtMRtatccattaaSWtta +SMcYtHtaacttaaBaDattctatKatctttcatDtcgNcgacttgtaaaattDcaVatR +acatgaaagtcctgtctcatacatatcSWgNDttgaaVKatNacDggagWaaatgaaVNt +ttBataaagVttVataataYcNMVaNaKaatRMcagNacVRactcWgctttNatHaRaBR +taaatRtaKtNgYWattaatcttaRttgttcttaaWaaagttcNVtagMaBatcVcgccD +aaBMgKttgaVaaccgYtRaactttYtcatgattgtWSaaBatagtagSataDgatgNta +WatcaMttaHattagVtggagaNHtaatatctNaagaDBatcttttaRaaNtBYagtaac +VttYBtaagcaaaMatcNgKaggacagagtgaRatWaDaaSaDaaattVgcWttatBNct +gSagtctgcSttacSRtgatHDgggcBagccDtatYaaagaataDgatDaBttagctatc +HtcWtagggagtDtSaaacagtagcttVatgttggcStataacttVtaatWKtatDatct +tcDaagactgtgDNBaccaattaacaaagaaHWtatttaacattWaatgttcMttaNNcY +aRccHtacRagatccKaaYactcVRDtcHVtgaaNaSatctRSaWtagagtcgcaataDc +agBaagtctSNagaaaKgttataStaatagStaatSatataWttctcgtaDgtYRcgtHt +taKtcDttRaatNacYgtagVaattNttttatDgKcttttSaaattYcgYBaaggttcta +gYcBataacVcagggaWtaKtacatgcYcctatccDatatagtcRaaaSMgtggaatcaa +MaatWcgctagggtcattaVtctaatgHcaSHtcacttBaagaMDtactYgtttgWgacc +cStDtagaDaBtgctctttKaaaatMttNStggtttatWttYttatKMKgtctaKcgaBa +aaattcccgacYtBcaKaKttRccaaBaWgMaMatgtWtcRDWttcggacNctataaacK +aaatHatggDatSaaKtgcgRaaacgtgttcatNtgHtcaataaacaaWMKatattcWaK +cNaccWtggttcctBaMttgRtggtWtaaVggDgttaDaScgWccWHatacaagtaHtaa +cttWaNatgtgttaacKaVtcataDMattgtaKccttttttStaaDDtHYattNtcgata +taBattctWRatMVtStaSaWttNRacgatagtRcgcRtcctttacagBKaaVcYtRaKa +tVtaWttaVggBBatcaaWatgtggagattDgWtttcaataDtactRaatBattWVactt +WVNtVagHaHtatttaVagtRMMtaBattatataaNaagatHBtgtatVtaaacatttag +tccaKDcacgWaaHagttVKBgcgRaSYtttVcgaacaBatttaatctaSYtccNtcatc +tatttatBaHcattcaBgDMYtactgScccttRctaagtaaNtaaaaattatggtVataa +agVStcaatcacgcDaatgtaacatDBagtcgaaRDaSactgcagaHgttYatgaVgtNc +cttcaKHgcgataDcgYtgtgBatcacScgctBcVttttcYaaNtttttatcBaatgata +YgtgttgtatgaVcBagtatagtNaRaaatKVtcRtcWatctaattgtVgataaMataWa +gaDttaatRcgctaKHgaRagtDctScatNgHgtKgtDtHBVgYcagatgttagcgaata +aNBactBaaRaWcRcMctctBtWKaggcaataatSYtccagtRtaSVtRgatctaBgDND +tBgtttgtaNtWtaatatDtataacgccDttcaMaMatgRtgaaaMHatgBaatgcccDa +gNgttRDcWtaaaKtMSaBgctgcaatgtSVattRWcBtDaaMKRcccWtVttaaatatt +tctgtcatNBgaaaatHtttWtYtttcaacaaagaaNYBaatatctgatNtgaacaaMaa +YcNgtgatttWtNaatWcYMScMctaaStttNgHtMacgtMDtgagcattcacWtttKtt +BtKaKcHaBtttaBacgaaNYaaaatBaatNHgaaatMtagatDcaagMtaattctKtgN +tScaatagcaHDagtagagSRcagcaagaccYHtaNtBatKtStcRagtgttMaYgtggg +tNatSaatStcYtaBaSBtaggtctMtatcatgaattactcYtNagaaaDtggaaatKBa +ttaaatcWgKtStKtcaWMggaattYtggccgaWcacagaNWaNgaacaYaHgaVtMctV +HttaKDcctNccBKMDagtatgcHtttaaaDaggtgHtattcatatttaagcBaaaRcSg +ttaaatgWacRatacaaatgBatYatatRBcacaVataRaKWMcDWtSaatatHattcVg +MKYtgtaVBtgagattRgaatgaDgtcaStacgctaggRggtSagKcWYctacaagtttB +tgaBttacgaStHgVaStgtaRtacaDccNDattSRgttatMtNttttWHacDtttVtga +cgYattccWctaagtgaaaMMatgNtctaataRctgaacatttVcNtgtttgaggcaaag +tatgVgtaVtgRDcttBDtataaMBatatNgataataHaaaNacaStgaNaHgYtgacag +tcYDggagattNcaDtKgtagMaacSHRtcagNagatKcatataVatactgRVatgBtat +cgttattHtHcKaDtagRagtgHtaDcVtatacattacggcaKttattgacatDaatgtc +tcattVcaRcttttgDtNHSggcttaYDcHaatcDYacccWaMttgRtNggYtttttggD +gctacVDtBMgBaDgtMaaBgctBVttVagaHBaaaaatgNactaattattNagaagNVa +BgVtRgggatacgctgMtgaccatMaaDYDaagctggtcaatggtatBtNtccWtWKcaN +cBttactgtgBYDaMtMtcWaatctWYHatccgWtataaaNNacNgctYagtaaaRtaaY +ggcagaMaagggttHaatatcaccVtagtggcgtMtagtcaYaaRttWgBtctgaaBtKa +ttaatYtacaatcKcacNcMDtgtactatcDcgRtaaYagattgccMtgtYKaRaWHgta +ccttagcRaWaagDataccagcatcYtcaaSgVacatttaSttSVDSctactgaNctatV +attttacgaggWgtaaaKtcNgatgttgcaaNVttagRtttttRttYYaYcaaagcVDMa +aRaRtccVcSattttcaattagWattMMctataWatggtaagagRaaattYKKtgatagc +MYgcVcgggStattacgBBctNtRgacaacYHctctNtataattBttStaRaaaatctgt +WatcRacaaMtattYttKtccaatcSttatgtaWttcgcaaWgtWNcBccRgtBagNgYt +DctatccMaagtgcYMtYctYttgtcVaaHtatgcBaaBcgaataattcttcDaacaaac +BtagWYaagcaVacYcKYttgSaKVcttccgcctcattctcaatgVgaaacatWWctgca +gtttctttttMagWttatRggcattattVaagaBBttatctattatMcNtaacagttgaa +aBaRtaRRtNtataYNtttNtcctaVBtatNtNgBtaHHYDttKctaDctcaNcatgDaY +atgYagaDcaHgactHgWWaagWtSttctagKaaggYtcataYgBtccRaggggaaaHag +aacaDatgaaaatcaKtattgWacgtcMSaacYaYgcWYNgagtaMgtSccgaaaaaatc +tggaMMRaaaataatctaaacgatatgDaggaVKcttttaatgacBttNYttagtatDag +YttWctttNgtHtcVtattHtcHacattatHgNStgtSaNaactVMcaatcccBHNatct +tDtcgaKccKttatttctVRaagttaMtaYtcttcatMYRctttRtaMgSaaaactgWac +HagtacccatttcgcatgagtaaagtHcaKgVBtaattatBtttWatgMctccattgact +attcttgtcatSttaaHaVtKtDcatcatatccaacKatattatNggNaRatcMSDHRtc +ctYRaatccacYaatBattcttBVctatatttRNtgaNtcaaaRgtaBcttaaDRcgcta +cWcttgatatctHttttgtNtYatatacgaVBgYHgattgggtcgacacDtttKVcaatt +WRcaagBtgctDKDaYtttcKgNgggtcacVagatMgtMVgVgatttcagtcgtgKgtKY +gtYSaMtgataatNggattKNgaSggactaaBagataacactcataVgttataaSacaat +cRRaagtaDaagDYtcactgtgaVttWtBaMttttgaHtKaYtattccagccaaBaggat +aaRtBatNcatgtatatttcttacaaYVNatagaaagaSaaaagaaatSaBgtcgattac +attgWccttHNattataacgVRDtYcWgaaYaVgMttcttgtDtKaYVttctgggSNtaY +HWaaHactaaSSagttgSaaactYaMttaMaHVRtcgattaccHtcgcgatgNcaYtata +ttacgcHaaaMNMtaYDgacaggRgaYVtVKcaSVcWMBBaWaWcagtatHaWBNaMcBt +atccatgaScHtYtgactcattgaYatRtacttYtctttgBgtattaaDtcaHgcNcaVa +tagtttggggRaaaccWcNNttRBgaaRKgaaNtMaagcVacgtgttaaMYWtcBYtgag +taatcgttttaatcgaaaagttDcaatgtggtBaBcNtgNatBtggactttagYttBcgt +tRttatSgacNaDttatRKacactgcSKaVaaaRgHaattaaaRctgatKaWcctWggWW +agccgaactaYccttgtgaBHggcYttttBccttaggaKtaaaBacVDcBYYgaWagaKt +aHaaactaNttatagtcttttacgaccctttKattWcgHgcaDccctHttatVVaagKaa +tatgggMaNHagattgNStatBatcgaaYgcVcagaatcctcYtBKDatatcNKgacaat +KDatgaaacgaaatYYcgNBDtataatMcRWtaagtataHgMaVggcaaDtggttcVatt +attaaaatSVaMaNcDBttataYgttttStacattgagagtccaNtgaatttttKtStat +atttRaatttcgBDccctaaSWatttaaMBStcatacctgctctatctatKatatgaaca +actctWBaNagtcgYaaaaRtctMtDgtaBaacaNtacagtcgataNgaVccgtttatta +tgatctagtDSgaHNcctKtcttatNtgatYKaaStctWDVcaaccgaVttScaagaaaa +VcccggagWatcVaNtVaRcNtcagatcMMatactaaaWaagatYHRWcaSagcgMttta +tSBtBtBgacRaVgtgattaagtBgtatcgtNggggDaWgagctgatctatttHaacttt +cgcttttccatttNaaYgtattttactttacttRataBttgatagggacattattaaSaa +aYtgatggaDaMttacttatttttttaaWttttaataaWaNaattgtaBtBMcatcNtaa +MtDaaaatcRgcatccaMtggWggHggagSttacaYHatYtgtaatcatttgVtataaDV +ttcaYttctHtHtagttWHNYYtVRVccatacaattaaaYatcgcatBagcaatDaWacV +aBWattagaaBataatgtKaaaNKcagaactNaagaNatgKtBSctgattgWcNaaSata +ggtataaacVaatDttcRaRtVtVtgtataagMtSccaSScagttgatYattcagcMaaW +ctaagtYcSattNccgtcgtaBtaattgttgacaaaDttttattaatacSKtcgcatNtt +atWatacgRtgcataactYtcacHgVgHttYaataaWacgSVKatactagDggcattKct +ggataagtVgKYtatgttagcgtaRtttaaagacHgacacattcHKaMKtcgKtcacggt +gatcaaBtMttcttattcttDaKKVgWagtaacatgKatVgacattagWtaRtaccRaaV +HtttttRtgBccagtcgctagtRtaBcMVWMtaBtaggttaYcttagaSgYgttttcaaN +NgtttVaagctgStttactaacWattcgtVgtgtKcgtYaaaaaKtaSaattgBtYgaVc +agKatgaMttWDRatgtaatctagacWaccgcaNgtctgtgagtMttgaaatNtttatta +RKcgtaWatcaWccaKtttNactaatNcgVaaBcgRgDttcDcatttgagWNattttNaY +tttatgcHtttBBacgttgRgtcataNtatatcaWVcatgaacatRgtNaWaatcaggtt +aaSctttcaacatHttVKaHtNtMtcttcHattYatcgatgtacSaaataVtcttYStaa +gattDagtKccgaccHBYatMtcggBacatVtaaagMcttBgtSagKgNttttcNtSaaM +aStHgtattttKaRttaMtDtcKtcgagDKgaaaacttaaaWNaattgaWWaaggaaacK +tttVggMBcatattDacctaMgaaKgcgcaaMRtaatcgataaatRDttataNtVgtaVD +ggttaNgatBgtggcaaYWtagctcWgtSaacgtattKcgcBtttDacaaaaaStKMtat +NccagKatgtVtHtWaSBgDttgWgaattWagttttaagcctNcttaBtYttaRactaat +tggagagggtctagtatgggtttacttBtatcatatgctaKggNcataaaSatgtaaaDc +DRtBggDtctttataattcBgtcgtactDtDagcctatttSVHtHttKtgtHMaSattgW +aHKHttttagacatWatgtRgaaaNtactMcSMtYtcMgRtacttctWBacgaaatatag +ScDtttgaagacacatagtVgYgtcattHWtMMWcStgttaggKtSgaYaaccWStcgBt +tgcgaMttBYatcWtgacaYcagagtaBDtRacttttcWatMttDBcatWtatcttacta +BgaYtcttgttttttttYaaScYaHgtgttNtSatcMtcVaaaStccRcctDaataataS +tcYtRDSaMtDttgttSagtRRcatttHatSttMtWgtcgtatSSagactYaaattcaMt +WatttaSgYttaRgKaRtccactttattRggaMcDaWaWagttttgacatgttctacaaa +RaatataataaMttcgDacgaSStacaStYRctVaNMtMgtaggcKatcttttattaaaa +agVWaHKYagtttttatttaaccttacgtVtcVaattVMBcttaMtttaStgacttagat +tWWacVtgWYagWVRctDattBYtgtttaagaagattattgacVatMaacattVctgtBS +gaVtgWWggaKHaatKWcBScSWaaccRVacacaaactaccScattRatatKVtactata +tttHttaagtttSKtRtacaaagtRDttcaaaaWgcacatWaDgtDKacgaacaattaca +RNWaatHtttStgttattaaMtgttgDcgtMgcatBtgcttcgcgaDWgagctgcgaggg +gVtaaScNatttacttaatgacagcccccacatYScaMgtaggtYaNgttctgaMaacNa +MRaacaaacaKctacatagYWctgttWaaataaaataRattagHacacaagcgKatacBt +tRttaagtatttccgatctHSaatactcNttMaagtattMtgRtgaMgcataatHcMtaB +SaRattagttgatHtMttaaKaggYtaaBataSaVatactWtataVWgKgttaaaacagt +gcgRatatacatVtHRtVYataSaKtWaStVcNKHKttactatccctcatgWHatWaRct +tactaggatctataDtDHBttataaaaHgtacVtagaYttYaKcctattcttcttaataN +DaaggaaaDYgcggctaaWSctBaaNtgctggMBaKctaMVKagBaactaWaDaMaccYV +tNtaHtVWtKgRtcaaNtYaNacggtttNattgVtttctgtBaWgtaattcaagtcaVWt +actNggattctttaYtaaagccgctcttagHVggaYtgtNcDaVagctctctKgacgtat +agYcctRYHDtgBattDaaDgccKtcHaaStttMcctagtattgcRgWBaVatHaaaata +YtgtttagMDMRtaataaggatMtttctWgtNtgtgaaaaMaatatRtttMtDgHHtgtc +attttcWattRSHcVagaagtacgggtaKVattKYagactNaatgtttgKMMgYNtcccg +SKttctaStatatNVataYHgtNaBKRgNacaactgatttcctttaNcgatttctctata +ScaHtataRagtcRVttacDSDttaRtSatacHgtSKacYagttMHtWataggatgactN +tatSaNctataVtttRNKtgRacctttYtatgttactttttcctttaaacatacaHactM +acacggtWataMtBVacRaSaatccgtaBVttccagccBcttaRKtgtgcctttttRtgt +cagcRttKtaaacKtaaatctcacaattgcaNtSBaaccgggttattaaBcKatDagtta +ctcttcattVtttHaaggctKKgatacatcBggScagtVcacattttgaHaDSgHatRMa +HWggtatatRgccDttcgtatcgaaacaHtaagttaRatgaVacttagattVKtaaYtta +aatcaNatccRttRRaMScNaaaDgttVHWgtcHaaHgacVaWtgttScactaagSgtta +tcttagggDtaccagWattWtRtgttHWHacgattBtgVcaYatcggttgagKcWtKKca +VtgaYgWctgYggVctgtHgaNcVtaBtWaaYatcDRaaRtSctgaHaYRttagatMatg +catttNattaDttaattgttctaaccctcccctagaWBtttHtBccttagaVaatMcBHa +gaVcWcagBVttcBtaYMccagatgaaaaHctctaacgttagNWRtcggattNatcRaNH +ttcagtKttttgWatWttcSaNgggaWtactKKMaacatKatacNattgctWtatctaVg +agctatgtRaHtYcWcttagccaatYttWttaWSSttaHcaaaaagVacVgtaVaRMgat +taVcDactttcHHggHRtgNcctttYatcatKgctcctctatVcaaaaKaaaagtatatc +tgMtWtaaaacaStttMtcgactttaSatcgDataaactaaacaagtaaVctaggaScca +atMVtaaSKNVattttgHccatcacBVctgcaVatVttRtactgtVcaattHgtaaatta +aattttYtatattaaRSgYtgBagaHSBDgtagcacRHtYcBgtcacttacactaYcgct +WtattgSHtSatcataaatataHtcgtYaaMNgBaatttaRgaMaatatttBtttaaaHH +KaatctgatWatYaacttMctcttttVctagctDaaagtaVaKaKRtaacBgtatccaac +cactHHaagaagaaggaNaaatBWattccgStaMSaMatBttgcatgRSacgttVVtaaD +MtcSgVatWcaSatcttttVatagttactttacgatcaccNtaDVgSRcgVcgtgaacga +NtaNatatagtHtMgtHcMtagaaattBgtataRaaaacaYKgtRccYtatgaagtaata +KgtaaMttgaaRVatgcagaKStctHNaaatctBBtcttaYaBWHgtVtgacagcaRcat +aWctcaBcYacYgatDgtDHcctaaagacYRcaggattHaYgtKtaatgcVcaataMYac +ccatatcacgWDBtgaatcBaatacKcttRaRtgatgaBDacggtaattaaYtataStgV +HDtDctgactcaaatKtacaatgcgYatBtRaDatHaactgtttatatDttttaaaKVcc +YcaaccNcBcgHaaVcattHctcgattaaatBtatgcaaaaatYMctSactHatacgaWa +cattacMBgHttcgaatVaaaacaBatatVtctgaaaaWtctRacgBMaatSgRgtgtcg +actatcRtattaScctaStagKgaDcWgtYtDDWKRgRtHatRtggtcgaHgggcgtatt +aMgtcagccaBggWVcWctVaaattcgNaatcKWagcNaHtgaaaSaaagctcYctttRV +taaaatNtataaccKtaRgtttaMtgtKaBtRtNaggaSattHatatWactcagtgtact +aKctatttgRYYatKatgtccgtRtttttatttaatatVgKtttgtatgtNtataRatWY +NgtRtHggtaaKaYtKSDcatcKgtaaYatcSRctaVtSMWtVtRWHatttagataDtVg +gacagVcgKWagBgatBtaaagNcaRtagcataBggactaacacRctKgttaatcctHgD +gttKHHagttgttaatgHBtatHcDaagtVaBaRccctVgtgDtacRHSctaagagcggW +YaBtSaKtHBtaaactYacgNKBaVYgtaacttagtVttcttaatgtBtatMtMtttaat +taatBWccatRtttcatagVgMMtagctStKctaMactacDNYgKYHgaWcgaHgagatt +acVgtttgtRaSttaWaVgataatgtgtYtaStattattMtNgWtgttKaccaatagNYt +tattcgtatHcWtctaaaNVYKKttWtggcDtcgaagtNcagatacgcattaagaccWct +gcagcttggNSgaNcHggatgtVtcatNtRaaBNcHVagagaaBtaaSggDaatWaatRc +caVgggStctDaacataKttKatttggacYtattcSatcttagcaatgaVBMcttDattc +tYaaRgatgcattttNgVHtKcYRaatRKctgtaaacRatVSagctgtWacBtKVatctg +ttttKcgtctaaDcaagtatcSataWVgcKKataWaYttcccSaatgaaaacccWgcRct +WatNcWtBRttYaattataaNgacacaatagtttVNtataNaYtaatRaVWKtBatKagt +aatataDaNaaaaataMtaagaaStccBcaatNgaataWtHaNactgtcDtRcYaaVaaa +aaDgtttRatctatgHtgttKtgaaNSgatactttcgagWaaatctKaaDaRttgtggKK +agcDgataaattgSaacWaVtaNMacKtcaDaaatttctRaaVcagNacaScRBatatct +RatcctaNatWgRtcDcSaWSgttRtKaRtMtKaatgttBHcYaaBtgatSgaSWaScMg +atNtctcctatttctYtatMatMtRRtSaattaMtagaaaaStcgVgRttSVaScagtgD +tttatcatcatacRcatatDcttatcatVRtttataaHtattcYtcaaaatactttgVct +agtaaYttagatagtSYacKaaacgaaKtaaatagataatSatatgaaatSgKtaatVtt +tatcctgKHaatHattagaaccgtYaaHactRcggSBNgtgctaaBagBttgtRttaaat +tYtVRaaaattgtaatVatttctcttcatgBcVgtgKgaHaaatattYatagWacNctga +aMcgaattStagWaSgtaaKagttttaagaDgatKcctgtaHtcatggKttVDatcaagg +tYcgccagNgtgcVttttagagatgctaccacggggtNttttaSHaNtatNcctcatSaa +VgtactgBHtagcaYggYVKNgtaKBcRttgaWatgaatVtagtcgattYgatgtaattt +acDacSctgctaaaStttaWMagDaaatcaVYctccgggcgaVtaaWtStaKMgDtttca +aMtVgBaatccagNaaatcYRMBggttWtaaScKttMWtYataRaDBMaDataatHBcac +DaaKDactaMgagttDattaHatHtaYatDtattDcRNStgaatattSDttggtattaaN +SYacttcDMgYgBatWtaMagactVWttctttgYMaYaacRgHWaattgRtaagcattct +MKVStatactacHVtatgatcBtVNataaBttYtSttacKgggWgYDtgaVtYgatDaac +attYgatggtRDaVDttNactaSaMtgNttaacaaSaBStcDctaccacagacgcaHatM +ataWKYtaYattMcaMtgSttDagcHacgatcaHttYaKHggagttccgatYcaatgatR +aVRcaagatcagtatggScctatattaNtagcgacgtgKaaWaactSgagtMYtcttcca +KtStaacggMtaagNttattatcgtctaRcactctctDtaacWYtgaYaSaagaWtNtat +ttRacatgNaatgttattgWDDcNaHcctgaaHacSgaataaRaataMHttatMtgaSDS +KatatHHaNtacagtccaYatWtcactaactatKDacSaStcggataHgYatagKtaatK +agStaNgtatactatggRHacttgtattatgtDVagDVaRctacMYattDgtttYgtcta +tggtKaRSttRccRtaaccttagagRatagSaaMaacgcaNtatgaaatcaRaagataat +agatactcHaaYKBctccaagaRaBaStNagataggcgaatgaMtagaatgtcaKttaaa +tgtaWcaBttaatRcggtgNcacaaKtttScRtWtgcatagtttWYaagBttDKgccttt +atMggNttattBtctagVtacataaaYttacacaaRttcYtWttgHcaYYtaMgBaBatc +tNgcDtNttacgacDcgataaSatYaSttWtcctatKaatgcagHaVaacgctgcatDtg +ttaSataaaaYSNttatagtaNYtaDaaaNtggggacttaBggcHgcgtNtaaMcctggt +VtaKcgNacNtatVaSWctWtgaWcggNaBagctctgaYataMgaagatBSttctatact +tgtgtKtaattttRagtDtacatatatatgatNHVgBMtKtaKaNttDHaagatactHac +cHtcatttaaagttVaMcNgHatatKtaNtgYMccttatcaaNagctggacStttcNtgg +caVtattactHaSttatgNMVattMMDtMactattattgWMSgtHBttStStgatatRaD +aagattttctatMtaaaaaggtactaaVttaSacNaatactgMttgacHaHRttgMacaa +aatagttaatatWKRgacDgaRtatatttattatcYttaWtgtBRtWatgHaaattHata +agtVaDtWaVaWtgStcgtMSgaSRgMKtaaataVacataatgtaSaatttagtcgaaHt +aKaatgcacatcggRaggSKctDcagtcSttcccStYtccRtctctYtcaaKcgagtaMt +tttcRaYDttgttatctaatcataNctctgctatcaMatactataggDaHaaSttMtaDt +cNatataattctMcStaaBYtaNagatgtaatHagagSttgWHVcttatKaYgDctcttg +gtgttMcRaVgSgggtagacaataaDtaattSaDaNaHaBctattgNtaccaaRgaVtKN +taaYggHtaKKgHcatctWtctDtttctttggSDtNtaStagttataaacaattgcaBaB +WggHgcaaaBtYgctaatgaaatWcDcttHtcMtWWattBHatcatcaaatctKMagtDN +atttWaBtHaaaNgMttaaStagttctctaatDtcRVaYttgttMtRtgtcaSaaYVgSW +DRtaatagctcagDgcWWaaaBaaRaBctgVgggNgDWStNaNBKcBctaaKtttDcttB +aaggBttgaccatgaaaNgttttttttatctatgttataccaaDRaaSagtaVtDtcaWa +tBtacattaWacttaSgtattggDgKaaatScaattacgWcagKHaaccaYcRcaRttaD +ttRtttHgaHVggcttBaRgtccctDatKaVtKtcRgYtaKttacgtatBtStaagcaat +taagaRgBagSaattccSWYtttattVaataNctgHgttaaNBgcVYgtRtcccagWNaa +aacaDNaBcaaaaRVtcWMgBagMtttattacgDacttBtactatcattggaaatVccgg +ttRttcatagttVYcatYaSHaHcttaaagcNWaHataaaRWtctVtRYtagHtaaaYMa +taHYtNBctNtKaatattStgaMcBtRgctaKtgcScSttDgYatcVtggaaKtaagatW +ccHccgKYctaNNctacaWcttttgcRtgtVcgaKttcMRHgctaHtVaataaDtatgKD +cttatBtDttggNtacttttMtgaacRattaaNagaactcaaaBBVtcDtcgaStaDctg +aaaSgttMaDtcgttcaccaaaaggWtcKcgSMtcDtatgtttStaaBtatagDcatYat +WtaaaBacaKgcaDatgRggaaYctaRtccagattDaWtttggacBaVcHtHtaacDacY +gtaatataMagaatgHMatcttatacgtatttttatattacHactgttataMgStYaatt +YaccaattgagtcaaattaYtgtatcatgMcaDcgggtcttDtKgcatgWRtataatatR +acacNRBttcHtBgcRttgtgcgtcatacMtttBctatctBaatcattMttMYgattaaV +YatgDaatVagtattDacaacDMatcMtHcccataagatgBggaccattVWtRtSacatg +ctcaaggggYtttDtaaNgNtaaBatggaatgtctRtaBgBtcNYatatNRtagaacMga +gSaSDDSaDcctRagtVWSHtVSRggaacaBVaccgtttaStagaacaMtactccagttt +VctaaRaaHttNcttagcaatttattaatRtaaaatctaacDaBttggSagagctacHta +aRWgattcaaBtctRtSHaNtgtacattVcaHaNaagtataccacaWtaRtaaVKgMYaW +gttaKggKMtKcgWatcaDatYtKSttgtacgaccNctSaattcDcatcttcaaaDKtta +cHtggttHggRRaRcaWacaMtBWVHSHgaaMcKattgtaRWttScNattBBatYtaNRg +cggaagacHSaattRtttcYgaccBRccMacccKgatgaacttcgDgHcaaaaaRtatat +DtatYVtttttHgSHaSaatagctNYtaHYaVYttattNtttgaaaYtaKttWtctaNtg +agaaaNctNDctaaHgttagDcRttatagccBaacgcaRBtRctRtggtaMYYttWtgat +aatcgaataattattataVaaaaattacNRVYcaaMacNatRttcKatMctgaagactaa +ttataaYgcKcaSYaatMNctcaacgtgatttttBacNtgatDccaattattKWWcattt +tatatatgatBcDtaaaagttgaaVtaHtaHHtBtataRBgtgDtaataMttRtDgDctt +attNtggtctatctaaBcatctaRatgNacWtaatgaagtcMNaacNgHttatactaWgc +NtaStaRgttaaHacccgaYStacaaaatWggaYaWgaattattcMaactcBKaaaRVNc +aNRDcYcgaBctKaacaaaaaSgctccYBBHYaVagaatagaaaacagYtctVccaMtcg +tttVatcaatttDRtgWctagtacRttMctgtDctttcKtWttttataaatgVttgBKtg +tKWDaWagMtaaagaaattDVtaggttacatcatttatgtcgMHaVcttaBtVRtcgtaY +gBRHatttHgaBcKaYWaatcNSctagtaaaaatttacaatcactSWacgtaatgKttWa +ttagttttNaggtctcaagtcactattcttctaagKggaataMgtttcataagataaaaa +tagattatDgcBVHWgaBKttDgcatRHaagcaYcRaattattatgtMatatattgHDtc +aDtcaaaHctStattaatHaccgacNattgatatattttgtgtDtRatagSacaMtcRtc +attcccgacacSattgttKaWattNHcaacttccgtttSRtgtctgDcgctcaaMagVtB +ctBMcMcWtgtaacgactctcttRggRKSttgYtYatDccagttDgaKccacgVatWcat +aVaaagaataMgtgataaKYaaatcHDaacgataYctRtcYatcgcaMgtNttaBttttg +atttaRtStgcaacaaaataccVgaaDgtVgDcStctatatttattaaaaRKDatagaaa +gaKaaYYcaYSgKStctccSttacagtcNactttDVttagaaagMHttRaNcSaRaMgBt +tattggtttaRMggatggcKDgWRtNaataataWKKacttcKWaaagNaBttaBatMHtc +cattaacttccccYtcBcYRtagattaagctaaYBDttaNtgaaaccHcaRMtKtaaHMc +NBttaNaNcVcgVttWNtDaBatgataaVtcWKcttRggWatcattgaRagHgaattNta +tttctctattaattaatgaDaaMatacgttgggcHaYVaaNaDDttHtcaaHtcVVDgBV +agcMacgtgttaaBRNtatRtcagtaagaggtttaagacaVaaggttaWatctccgtVta +DtcDatttccVatgtacNtttccgtHttatKgScBatgtVgHtYcWagcaKtaMYaaHgt +aattaSaHcgcagtWNaatNccNNYcacgVaagaRacttctcattcccRtgtgtaattag +cSttaaStWaMtctNNcSMacattataaactaDgtatWgtagtttaagaaaattgtagtN +agtcaataaatttgatMMYactaatatcggBWDtVcYttcDHtVttatacYaRgaMaaca +StaatcRttttVtagaDtcacWatttWtgaaaagaaagNRacDtttStVatBaDNtaact +atatcBSMcccaSttccggaMatgattaaWatKMaBaBatttgataNctgttKtVaagtc +agScgaaaDggaWgtgttttKtWtatttHaatgtagttcactaaKMagttSYBtKtaYga +actcagagRtatagtVtatcaaaWYagcgNtaDagtacNSaaYDgatBgtcgataacYDt +aaactacagWDcYKaagtttattagcatcgagttKcatDaattgattatDtcagRtWSKt +cgNtMaaaaacaMttKcaWcaaSVMaaaccagMVtaMaDtMaHaBgaacataBBVtaatV +YaNSWcSgNtDNaaKacacBtttatKtgtttcaaHaMctcagtaacgtcgYtactDcgcc +taNgagagcYgatattttaaatttccattttacatttDaaRctattttWctttacgtDat +YtttcagacgcaaVttagtaaKaaaRtgVtccataBggacttatttgtttaWNtgttVWt +aWNVDaattgtatttBaagcBtaaBttaaVatcHcaVgacattccNggtcgacKttaaaR +tagRtctWagaYggtgMtataatMtgaaRttattttgWcttNtDRRgMDKacagaaaagg +aaaRStcccagtYccVattaNaaKStNWtgacaVtagaagcttSaaDtcacaacgDYacW +DYtgtttKatcVtgcMaDaSKStVcgtagaaWaKaagtttcHaHgMgMtctataagBtKa +aaKKcactggagRRttaagaBaaNatVVcgRcKSttDaactagtSttSattgttgaaRYa +tggttVttaataaHttccaagDtgatNWtaagHtgcYtaactRgcaatgMgtgtRaatRa +NaacHKtagactactggaatttcgccataacgMctRgatgttaccctaHgtgWaYcactc +acYaattcttaBtgacttaaacctgYgaWatgBttcttVttcgttWttMcNYgtaaaatc +tYgMgaaattacNgaHgaacDVVMtttggtHtctaaRgtacagacgHtVtaBMNBgatta +gcttaRcttacaHcRctgttcaaDBggttKaacatgKtttYataVaNattccgMcgcgta +gtRaVVaattaKaatggttRgaMcagtatcWBttNtHagctaatctagaaNaaacaYBct +atcgcVctBtgcaaagDgttVtgaHtactSNYtaaNccatgtgDacgaVtDcgKaRtacD +cttgctaagggcagMDagggtBWRtttSgccttttttaacgtcHctaVtVDtagatcaNM +aVtcVacatHctDWNaataRgcgtaVHaggtaaaaSgtttMtattDgBtctgatSgtRag +agYtctSaKWaataMgattRKtaacatttYcgtaacacattRWtBtcggtaaatMtaaac +BatttctKagtcDtttgcBtKYYBaKttctVttgttaDtgattttcttccacttgSaaac +ggaaaNDaattcYNNaWcgaaYattttMgcBtcatRtgtaaagatgaWtgaccaYBHgaa +tagataVVtHtttVgYBtMctaMtcctgaDcYttgtccaaaRNtacagcMctKaaaggat +ttacatgtttaaWSaYaKttBtagDacactagctMtttNaKtctttcNcSattNacttgg +aacaatDagtattRtgSHaataatgccVgacccgatactatccctgtRctttgagaSgat +catatcgDcagWaaHSgctYYWtatHttggttctttatVattatcgactaagtgtagcat +VgtgHMtttgtttcgttaKattcMatttgtttWcaaStNatgtHcaaaDtaagBaKBtRg +aBgDtSagtatMtaacYaatYtVcKatgtgcaacVaaaatactKcRgtaYtgtNgBBNcK +tcttaccttKgaRaYcaNKtactttgagSBtgtRagaNgcaaaNcacagtVtttHWatgt +taNatBgtttaatNgVtctgaatatcaRtattcttttttttRaaKcRStctcggDgKaga +ttaMaaaKtcaHacttaataataKtaRgDtKVBttttcgtKaggHHcatgttagHggttN +ctcgtatKKagVagRaaaggaaBtNatttVKcRttaHctaHtcaaatgtaggHccaBata +NaNaggttgcWaatctgatYcaaaHaatWtaVgaaBttagtaagaKKtaaaKtRHatMaD +BtBctagcatWtatttgWttVaaaScMNattRactttgtYtttaaaagtaagtMtaMaSt +tMBtatgaBtttaKtgaatgagYgtNNacMtcNRacMMHcttWtgtRtctttaacaacat +tattcYaMagBaacYttMatcttKcRMtgMNccattaRttNatHaHNaSaaHMacacaVa +atacaKaSttHatattMtVatWgattttttaYctttKttHgScWaacgHtttcaVaaMga +acagNatcgttaacaaaaagtacaHBNaattgttKtcttVttaaBtctgctacgBgcWtt +tcaggacacatMgacatcccagcggMgaVKaBattgacttaatgacacacaaaaaatRKa +aBctacgtRaDcgtagcVBaacDSBHaaaaSacatatacagacRNatcttNaaVtaaaat +aHattagtaaaaSWccgtatWatggDttaactattgcccatcttHaSgYataBttBaact +attBtcHtgatcaataSttaBtatKSHYttWggtcYtttBttaataccRgVatStaHaKa +gaatNtagRMNgtcttYaaSaactcagDSgagaaYtMttDtMRVgWKWtgMaKtKaDttt +tgactatacataatcNtatNaHattVagacgYgatatatttttgtStWaaatctWaMgag +aRttRatacgStgattcttaagaDtaWccaaatRcagcagaaNKagtaaDggcgccBtYt +agSBMtactaaataMataBSacRMgDgattMMgtcHtcaYDtRaDaacggttDaggcMtt +tatgttaNctaattaVacgaaMMtaatDccSgtattgaRtWWaccaccgagtactMcgVN +gctDctaMScatagcgtcaactatacRacgHRttgctatttaatgaattataYKttgtaa +gWgtYttgcHgMtaMattWaWVtaRgcttgYgttBHtYataSccStBtgtagMgtDtggc +VaaSBaatagDttgBgtctttctcattttaNagtHKtaMWcYactVcgcgtatMVtttRa +cVagDaatcttgctBBcRDgcaacKttgatSKtYtagBMagaRtcgBattHcBWcaactg +atttaatttWDccatttatcgagSKaWttataHactaHMttaatHtggaHtHagaatgtK +taaRactgtttMatacgatcaagDgatKaDctataMggtHDtggHacctttRtatcttYa +ttttgacttgaaSaataaatYcgBaaaaccgNatVBttMacHaKaataagtatKgtcaag +actcttaHttcggaattgttDtctaaccHttttWaaatgaaatataaaWattccYDtKta +aaacggtgaggWVtctattagtgactattaagtMgtttaagcatttgSgaaatatccHaa +ggMaaaattttcWtatKctagDtYtMcctagagHcactttactatacaaacattaactta +HatcVMYattYgVgtMttaaRtgaaataaDatcaHgtHHatKcDYaatcttMtNcgatYa +tgSaMaNtcttKcWataScKggtatcttacgcttWaaagNatgMgHtctttNtaacVtgt +tcMaaRatccggggactcMtttaYMtcWRgNctgNccKatcttgYDcMgattNYaRagat +HaaHgKctcataRDttacatBatccattgDWttatttaWgtcggagaaaaatacaatacS +NtgggtttccttacSMaagBattacaMaNcactMttatgaRBacYcYtcaaaWtagctSa +acttWgDMHgaggatgBVgcHaDtggaactttggtcNatNgtaKaBcccaNtaagttBaa +cagtatacDYttcctNgWgcgSMcacatStctHatgRcNcgtacacaatRttMggaNKKg +gataaaSaYcMVcMgtaMaHtgattYMatYcggtcttcctHtcDccgtgRatcattgcgc +cgatatMaaYaataaYSggatagcgcBtNtaaaScaKgttBgagVagttaKagagtatVa +actaSacWactSaKatWccaKaaaatBKgaaKtDMattttgtaaatcRctMatcaaMagM +ttDgVatggMaaWgttcgaWatgaaatttgRtYtattaWHKcRgctacatKttctaccaa +HttRatctaYattaaWatVNccatNgagtcKttKataStRaatatattcctRWatDctVa +gttYDgSBaatYgttttgtVaatttaatagcagMatRaacttBctattgtMagagattaa +actaMatVtHtaaatctRgaaaaaaaatttWacaacaYccYDSaattMatgaccKtaBKW +BattgtcaagcHKaagttMMtaatttcKcMagNaaKagattggMagaggtaatttYacat +cWaaDgatMgKHacMacgcVaacaDtaDatatYggttBcgtatgWgaSatttgtagaHYR +VacaRtctHaaRtatgaactaatatctSSBgggaaHMWtcaagatKgagtDaSatagttg +attVRatNtctMtcSaagaSHaataNataataRaaRgattctttaataaagWaRHcYgca +tgtWRcttgaaggaMcaataBRaaccagStaaacNtttcaatataYtaatatgHaDgcSt +cWttaacctaRgtYaRtataKtgMttttatgactaaaatttacYatcccRWtttHRtatt +aaatgtttatatttgttYaatMcaRcSVaaDatcgtaYMcatgtagacatgaaattgRtc +aaYaaYtRBatKacttataccaNaaattVaBtctggacaagKaaYaaatatWtMtatcYa +aVNtcgHaactBaagKcHgtctacaatWtaDtSgtaHcataHtactgataNctRgttMtD +cDttatHtcgtacatcccaggSttaBgtcacacWtccNMcNatMVaVgtccDYStatMac +cDatggYaRKaaagataRatttHKtSaaatDgataaacttaHgttgVBtcttVttHgDac +gaKatgtatatNYataactctSatatatattgcHRRYttStggaactHgttttYtttaWt +atMcttttctatctDtagVHYgMRBgtHttcctaatYRttKtaagatggaVRataKDcta +MtKBNtMtHNtWtttYcVtattMcgRaacMcctNSctcatttaaagDcaHtYccSgatgc +aatYaaaaDcttcgtaWtaattctcgttttScttggtaatctttYgtctaactKataHac +ctMctcttacHtKataacacagcNRatgKatttttSaaatRYcgDttaMRcgaaattact +MtgcgtaagcgttatBtttttaattaagtNacatHgttcRgacKcBBtVgatKttcgaBa +atactDRgtRtgaNacWtcacYttaaKcgttctHaKttaNaMgWgWaggtctRgaKgWtt +SttBtDcNtgtttacaaatYcDRtgVtgcctattcNtctaaaDMNttttNtggctgagaV +ctDaacVtWccaagtaacacaNctgaScattccDHcVBatcgatgtMtaatBgHaatDct +MYgagaatgYWKcctaatNaStHaaaKccgHgcgtYaaYtattgtStgtgcaaRtattaK +atattagaWVtcaMtBagttattagNaWHcVgcaattttDcMtgtaRHVYtHtctgtaaa +aHVtMKacatcgNaatttMatatgttgttactagWYtaRacgataKagYNKcattataNa +RtgaacKaYgcaaYYacaNccHatMatDcNgtHttRaWttagaaDcaaaaaatagggtKD +tStaDaRtaVtHWKNtgtattVctSVgRgataDaRaWataBgaagaaKtaataaYgDcaS +taNgtaDaaggtattHaRaWMYaYaWtggttHYgagVtgtgcttttcaaDKcagVcgtta +gacNaaWtagtaataDttctggttVcatcataaagtgKaaaNaMtaBBaattaatWaatt +gctHaVKaSgDaaVKaHtatatatHatcatSBagNgHtatcHYMHgttDgtaHtBttWat +cgtttaRaattgStKgSKNWKatcagDtctcagatttctRtYtBatBgHHtKaWtgYBga +cVVWaKtacKcDttKMaKaVcggtgttataagaataaHaatattagtataatMHgttYga +RttagtaRtcaaVatacggtcMcgagtaaRttacWgactKRYataaaagSattYaWgaga +tYagKagatgSaagKgttaatMggtataatgttWYttatgagaaacctNVataatHcccK +tDctcctaatactggctHggaSaggRtKHaWaattcgSatMatttagaggcYtctaMcgc +tcataSatatgRagacNaaDaggaVBagaYttKtacNaKgtSYtagttggaWcatcWtta +atctatgaVtcgtgtMtatcaYcgtRccaaYgDctgcMgtgtWgacWtgataacacgcgc +tBtgttaKtYDtatDcatcagKaVMctaatcttgVcaaRgcRMtDcgattaHttcaNatg +aatMtactacVgtRgatggaWtttactaaKatgagSaaKggtaNtactVaYtaaKRagaa +cccacaMtaaMtKtatBcttgtaaWBtMctaataaVcDaaYtcRHBtcgttNtaaHattt +BNgRStVDattBatVtaagttaYatVattaagaBcacggtSgtVtatttaRattgatgta +HDKgcaatattKtggcctatgaWDKRYcggattgRctatNgatacaatMNttctgtcRBY +RaaaHctNYattcHtaWcaattctBtMKtVgYataatMgYtcagcttMDataVtggRtKt +gaatgccNcRttcaMtRgattaacattRcagcctHtWMtgtDRagaKaBtgDttYaaaaK +atKgatctVaaYaacWcgcatagBVtaNtRtYRaggBaaBtgKgttacataagagcatgt +RattccacttaccatRaaatgWgDaMHaYVgVtaSctatcgKaatatattaDgacccYag +tgtaYNaaatKcagtBRgagtccatgKgaaaccBgaagBtgSttWtacgatWHaYatcga +tttRaaNRgcaNaKVacaNtDgattgHVaatcDaagcgtatgcNttaDataatcSataaK +caataaHWataBtttatBtcaKtKtatagttaDgSaYctacaRatNtaWctSaatatttY +aKaKtaccWtatcRagacttaYttVcKgSDcgagaagatccHtaattctSttatggtKYg +tMaHagVaBRatttctgtRgtctatgggtaHKgtHacHtSYacgtacacHatacKaaBaV +accaDtatcSaataaHaagagaatScagactataaRttagcaaVcaHataKgDacatWcc +ccaagcaBgagWatctaYttgaaatctVNcYtttWagHcgcgcDcVaaatgttKcHtNtc +aatagtgtNRaactttttcaatggWgBcgDtgVgtttctacMtaaataaaRggaaacWaH +ttaRtNtgctaaRRtVBctYtVtatDcattDtgaccYatagatYRKatNYKttNgcctag +taWtgaactaMVaacctgaStttctgaKVtaaVaRKDttVtVctaDNtataaaDtcccca +agtWtcgatcactDgYaBcatcctMtVtacDaaBtYtMaKNatNtcaNacgDatYcatcg +caRatWBgaacWttKttagYtaattcggttgSWttttDWctttacYtatatWtcatDtMg +tBttgRtVDggttaacYtacgtacatgaattgaaWcttMStaDgtatattgaDtcRBcat +tSgaaVBRgagccaaKtttcDgcgaSMtatgWattaKttWtgDBMaggBBttBaatWttR +tgcNtHcgttttHtKtcWtagHStaacagttgatatBtaWSaWggtaataaMttaKacDa +atactcBttcaatatHttcBaaSaaatYggtaRtatNtHcaatcaHtagVtgtattataN +ggaMtcttHtNagctaaaggtagaYctMattNaMVNtcKtactBKcaHHcBttaSagaKa +cataYgctaKaYgttYcgacWVttWtSagcaacatcccHaccKtcttaacgaKttcacKt +NtacHtatatRtaaatacactaBtttgaHaRttggttWtatYagcatYDatcggagagcW +BataagRtacctataRKgtBgatgaDatataSttagBaHtaatNtaDWcWtgtaattaca +gKttcNtMagtattaNgtctcgtcctcttBaHaKcKccgtRcaaYagSattaagtKataD +atatatagtcDtaacaWHcaKttDgaaRcgtgYttgtcatatNtatttttatggccHtgD +tYHtWgttatYaacaattcaWtatNgctcaaaSttRgctaatcaaatNatcgtttaBtNN +VtgttataagcaaagattBacgtDatttNatttaaaDcBgtaSKgacgtagataatttcH +MVNttgttBtDtgtaWKaaRMcKMtHtaVtagataWctccNNaSWtVaHatctcMgggDg +tNHtDaDttatatVWttgttatttaacctttcacaaggaSaDcggttttttatatVtctg +VtaacaStDVaKactaMtttaSNagtgaaattaNacttSKctattcctctaSagKcaVtt +aagNaVcttaVaaRNaHaaHttatgtHttgtgatMccaggtaDcgaccgtWgtWMtttaH +cRtattgScctatttKtaaccaagtYagaHgtWcHaatgccKNRtttagtMYSgaDatct +gtgaWDtccMNcgHgcaaacNDaaaRaStDWtcaaaaHKtaNBctagBtgtattaactaa +ttttVctagaatggcWSatMacccttHttaSgSgtgMRcatRVKtatctgaaaccDNatY +gaaVHNgatMgHRtacttaaaRtatStRtDtatDttYatattHggaBcttHgcgattgaK +cKtttcRataMtcgaVttWacatNcatacctRataDDatVaWNcggttgaHtgtMacVtt +taBHtgagVttMaataattatgttcttagtttgtgcDtSatttgBtcaacHattaaBagV +WcgcaSYttMgcttacYKtVtatcaYaKctgBatgcgggcYcaaaaacgNtctagKBtat +tatctttKtaVttatagtaYtRagNtaYataaVtgaatatcHgcaaRataHtacacatgt +aNtgtcgYatWMatttgaactacRctaWtWtatacaatctBatatgYtaagtatgtgtat +SttactVatcttYtaBcKgRaSggRaaaaatgcagtaaaWgtaRgcgataatcBaatacc +gtatttttccatcNHtatWYgatHSaaaDHttgctgtccHtggggcctaataatttttct +atattYWtcattBtgBRcVttaVMRSgctaatMagtYtttaaaaatBRtcBttcaaVtaa +cagctccSaaSttKNtHtKYcagcagaaaccccRtttttaaDcDtaStatccaagcgctH +tatcttaDRYgatDHtWcaaaBcWgKWHttHataagHacgMNKttMKHccaYcatMVaac +gttaKgYcaVaaBtacgcaactttMctaaHaatgtBatgagaSatgtatgSRgHgWaVWg +ataaatatttccKagVgataattWaHNcYggaaatgctHtKtaDtctaaagtMaatVDVa +ctWtSaaWaaMtaHtaSKtcBRaNcttStggtBttacNagcatagRgtKtgcgaacaacB +cgKaatgataagatgaaaattgtactgcgggtccHHWHaaNacaBttNKtKtcaaBatat +gctaHNgtKcDWgtttatNgVDHgaccaacWctKaaggHttgaRgYaatHcaBacaatga +gcaaattactgtaVaaYaDtagattgagNKggtggtgKtWKaatacagDRtatRaMRtga +ttDggtcaaYRtatttNtagaDtcacaaSDctDtataatcgtactaHttatacaatYaac +aaHttHatHtgcgatRRttNgcatSVtacWWgaaggagtatVMaVaaattScDDKNcaYB +YaDatHgtctatBagcaacaagaatgagaaRcataaKNaRtBDatcaaacgcatttttta +aBtcSgtacaRggatgtMNaattggatatWtgagtattaaaVctgcaYMtatgatttttY +gaHtgtcttaagWBttHttgtcttattDtcgtatWtataataSgctaHagcDVcNtaatc +aagtaBDaWaDgtttagYctaNccDtaKtaHcttaataacccaRKtacaVaatNgcWRaM +gaattatgaBaaagattVYaHMDcaDHtcRcgYtcttaaaWaaaVKgatacRtttRRKYg +aatacaWVacVcRtatMacaBtactggMataaattttHggNagSctacHgtBagcgtcgt +gattNtttgatSaaggMttctttcttNtYNagBtaaacaaatttMgaccttacataattg +YtcgacBtVMctgStgMDtagtaRctHtatgttcatatVRNWataDKatWcgaaaaagtt +aaaagcacgHNacgtaatctttMRtgacttttDacctataaacgaaatatgattagaact +ccSYtaBctttaataacWgaaaYatagatgWttcatKtNgatttttcaagHtaYgaaRaD +aagtaggagcttatVtagtctttcattaaaatcgKtattaRttacagVaDatgcatVgat +tgggtctttHVtagKaaRBtaHtaaggccccaaaaKatggtttaMWgtBtaaacttcact +ttKHtcgatctccctaYaBacMgtcttBaBaNgcgaaacaatctagtHccHtKttcRtRV +ttccVctttcatacYagMVtMcagaMaaacaataBctgYtaatRaaagattaaccatVRa +tHtaRagcgcaBcgDttStttttcVtttaDtKgcaaWaaaaatSccMcVatgtKgtaKgc +gatatgtagtSaaaDttatacaaacatYaRRcVRHctKtcgacKttaaVctaDaatgttM +ggRcWaacttttHaDaKaDaBctgtaggcgtttaHBccatccattcNHtDaYtaataMtt +acggctNVaacDattgatattttacVttSaattacaaRtataNDgacVtgaacataVRtt +ttaDtcaaacataYDBtttaatBaDtttYDaDaMccMttNBttatatgagaaMgaNtatt +HccNataattcaHagtgaaggDgatgtatatatgYatgaStcataaBStWacgtcccata +RMaaDattggttaaattcMKtctMacaBSactcggaatDDgatDgcWctaacaccgggaV +cacWKVacggtaNatatacctMtatgatagtgcaKagggVaDtgtaacttggagtcKata +tcgMcttRaMagcattaBRaStctYSggaHYtacaactMBaagDcaBDRaaacMYacaHa +attagcattaaaHgcgctaaggSccKtgaaKtNaBtatDDcKBSaVtgatVYaagVtctS +gMctacgttaacWaaattctSgtDactaaStaaattgcagBBRVctaatatacctNttMc +RggctttMttagacRaHcaBaacVKgaataHttttMgYgattcYaNRgttMgcVaaacaV +VcDHaatttgKtMYgtatBtVVctWgVtatHtacaaHttcacgatagcagtaaNattBat +atatttcVgaDagcggttMaagtcScHagaaatgcYNggcgtttttMtStggtRatctac +ttaaatVVtBacttHNttttaRcaaatcacagHgagagtMgatcSWaNRacagDtatact +aaDKaSRtgattctccatSaaRttaaYctacacNtaRtaactggatgaccYtacacttta +attaattgattYgttcagDtNKttagDttaaaaaaaBtttaaNaYWKMBaaaacVcBMta +tWtgBatatgaacVtattMtYatMNYDKNcKgDttDaVtaaaatgggatttctgtaaatW +tctcWgtVVagtcgRgacttcccctaDcacagcRcagagtgtWSatgtacatgttaaStt +gtaaHcgatgggMagtgaacttatRtttaVcaccaWaMgtactaatSSaHtcMgaaYtat +cgaaggYgggcgtgaNDtgttMNgaNDMtaattcgVttttaacatgVatgtWVMatatca +KgaaattcaBcctccWcttgaaWHtWgHtcgNWgaRgctcBgSgaattgcaaHtgattgt +gNagtDttHHgBttaaWcaaWagcaSaHHtaaaVctRaaMagtaDaatHtDMtcVaWMta +gSagcttHSattaacaaagtRacMtRtctgttagcMtcaBatVKtKtKacgagaSNatSa +ctgtatatcBctgagVtYactgtaaattaaaggcYgDHgtaacatSRDatMMccHatKgt +taacgactKtgKagtcttcaaHRVtccttKgtSataatttacaactggatDNgaacttca +RtVaagDcaWatcBctctHYatHaDaaatttagYatSatccaWtttagaaatVaacBatH +catcgtacaatatcgcNYRcaataYaRaYtgattVttgaatgaVaactcRcaNStgtgta +ttMtgaggtNttBaDRcgaaaagctNgBcWaWgtSaDcVtgVaatMKBtttcgtttctaa +HctaaagYactgMtatBDtcStgaccgtSDattYaataHctgggaYYttcggttaWaatc +tggtRagWMaDagtaacBccactacgHWMKaatgatWatcctgHcaBaSctVtcMtgtDt +tacctaVgatYcWaDRaaaaRtagatcgaMagtggaRaWctctgMgcWttaagKBRtaaD +aaWtctgtaagYMttactaHtaatcttcataacggcacBtSgcgttNHtgtHccatgttt +taaagtatcgaKtMttVcataYBBaKtaMVaVgtattNDSataHcagtWMtaggtaSaaK +gttgBtVtttgttatcatKcgHacacRtctHatNVagSBgatgHtgaRaSgttRcctaac +aaattDNttgacctaaYtBgaaaatagttattactcttttgatgtNNtVtgtatMgtctt +RttcatttgatgacacttcHSaaaccaWWDtWagtaRDDVNacVaRatgttBccttaatH +tgtaaacStcVNtcacaSRttcYagacagaMMttttgMcNttBcgWBtactgVtaRttct +ccaaYHBtaaagaBattaYacgatttacatctgtaaMKaRYtttttactaaVatWgctBt +ttDVttctggcDaHaggDaagtcgaWcaagtagtWttHtgKtVataStccaMcWcaagat +aagatcactctHatgtcYgaKcatcagatactaagNSStHcctRRNtattgtccttagtt +agMVgtatagactaactctVcaatMctgtttgtgttgccttatWgtaBVtttctggMcaa +KgDWtcgtaaYStgSactatttHgatctgKagtagBtVacRaagRtMctatgggcaaaKa +aaatacttcHctaRtgtDcttDattaggaaatttcYHaRaaBttaatggcacKtgctHVc +aDcaaaVDaaaVcgMttgtNagcgtaDWgtcgttaatDgKgagcSatatcSHtagtagtt +ggtgtHaWtaHKtatagctgtVgattaBVaatgaataagtaatVatSttaHctttKtttg +tagttaccttaatcgtagtcctgBcgactatttVcMacHaaaggaatgDatggKtaHtgS +tatattaaSagctWcctccRtataBaDYcgttgcNaagaggatRaaaYtaWgNtSMcaat +ttactaacatttaaWttHtatBattgtcgacaatNgattgcNgtMaaaKaBDattHactt +ggtRtttaYaacgVactBtaBaKtgBttatgVttgtVttcaatcWcNctDBaaBgaDHac +BttattNtgtDtatttVSaaacaggatgcRatSgtaSaNtgBatagttcHBgcBBaaatt +aHgtDattatDaKaatBaaYaaMaataaataKtttYtagtBgMatNcatgtttgaNagtg +ttgtgKaNaSagtttgaSMaYBcaaaacDStagttVacaaaaactaaWttBaagtctgtg +cgtMgtaattctcctacctcaNtttaaccaaaaVtBcacataacaccccBcWMtatVtgg +aatgaWtcaaWaaaaaaaaWtDtaatatRcctDWtcctaccMtVVatKttaWaaKaaata +taaagScHBagaggBaSMtaWaVtatattactSaaaKNaactatNatccttgaYctattc +aaaVgatttYHcRagattttaSataggttattcVtaaagaKgtattattKtRttNcggcR +gtgtgtWYtaacHgKatKgatYtacYagDtWcHBDctctgRaYKaYagcactKcacSaRt +BttttBHKcMtNtcBatttatttttgSatVgaaagaWtcDtagDatatgMacaacRgata +tatgtttgtKtNRaatatNatgYcaHtgHataacKtgagtagtaacYttaNccaaatHca +caacaVDtagtaYtccagcattNtacKtBtactaaagaBatVtKaaHBctgStgtBgtat +gaSNtgDataaccctgtagcaBgtgatcttaDataStgaMaccaSBBgWagtacKcgatt +gaDgNNaaaacacagtSatBacKDgcgtataBKcatacactaSaatYtYcDaactHttca +tRtttaatcaattataRtttgtaagMcgNttcatcBtYBagtNWNMtSHcattcRctttt +tRWgaKacKttgggagBcgttcgcMaWHtaatactgtctctatttataVgtttaBScttt +taBMaNaatMacactYtBMggtHacMagtaRtctgcatttaHtcaaaatttgagKtgNta +ctBacaHtcgtatttctMaSRagcagttaatgtNtaaattgagagWcKtaNttagVtacg +atttgaatttcgRtgtWcVatcgttaaDVctgtttBWgaccagaaagtcSgtVtatagaB +ccttttcctaaattgHtatcggRattttcaaggcYSKaagWaWtRactaaaacccBatMt +ttBaatYtaagaactSttcgaaScaatagtattgaccaagtgttttctaacatgtttNVa +atcaaagagaaaNattaaRttttaVaaaccgcaggNMtatattVctcaagaggaacgBgt +ttaacaagttcKcYaatatactaaccBaaaSggttcNtattctagttRtBacgScVctca +atttaatYtaaaaaaatgSaatgatagaMBRatgRcMcgttgaWHtcaVYgaatYtaatc +tttYttatRaWtctgBtDcgatNatcKaBaDgatgtaNatWKctccgatattaacattNa +aacDatgBgttctgtDtaaaMggtgaBaSHataacgccSctaBtttaRBtcNHcDatcDc +ctagagtcRtaBgWttDRVHagattYatgtatcWtaHtttYcattWtaaagtctNgtStg +gRNcgcggagSSaaagaaaatYcHDtcgctttaatgYcKBVSgtattRaYBaDaaatBgt +atgaHtaaRaRgcaSWNtagatHaacttNctBtcaccatctMcatattccaSatttgcga +DagDgtatYtaaaVDtaagtttWVaagtagYatRttaagDcNgacKBcScagHtattatc +DaDactaaaaaYgHttBcgaDttggataaaKSRcBMaBcgaBSttcWtgNBatRaccgat +tcatttataacggHVtaattcacaagagVttaaRaatVVRKcgWtVgacctgDgYaaHaW +tctttcacMagggatVgactagMaaataKaaNWagKatagNaaWtaaaatttgaatttta +tttgctaaVgaHatBatcaaBWcBgttcMatcgBaaNgttcgSNaggSaRtttgHtRtat +taNttcDcatSaVttttcgaaaaattgHatctaRaggSaNatMDaaatDcacgattttag +aHgHaWtYgattaatHNSttatMSgggNtcKtYatRggtttgtMWVtttaYtagcagBag +HaYagttatatggtBacYcattaRSataBatMtttaaatctHcaaaSaaaagttNSaaWc +WRccRtKaagtBWtcaaattSttMtattggaaaccttaacgttBtWatttatatWcDaat +agattcctScacctaagggRaaYtaNaatgVtBcttaaBaacaMVaaattatStYgRcct +gtactatcMcVKatttcgSgatRHMaaaHtagtaaHtVgcaaataatatcgKKtgccaat +BNgaaWcVttgagttaKatagttcaggKDatDtattgaKaVcaKtaataDataataHSaH +cattagttaatRVYcNaHtaRcaaggtNHcgtcaaccaBaaagYtHWaaaRcKgaYaaDt +tgcWYtataRgaatatgtYtgcKtaNttWacatYHctRaDtYtattcBttttatcSataY +aYgttWaRagcacHMgtttHtYttYaatcggtatStttcgtRSattaaDaKMaatatact +aNBaWgctacacYtgaYVgtgHtaaaRaaRgHtagtWattataaaSDaaWtgMattatcg +aaaagtaYRSaWtSgNtBgagcRYaMDtactaacttaWgtatctagacaagNtattHgga +taatYttYatcataDcgHgttBttctttVttgccgaaWtaaaacgKgtatctaaaaaNtc +cDtaDatBMaMggaatNKtatBaaatVtccRaHtaSacataHattgtttKVYattcataV +aattWtcgtgMttcttKtgtctaacVtatctatatBRataactcgKatStatattcatHH +RttKtccaacgtgggtgRgtgaMtattattggctatcgtgacMtRcBDtcttgtactaat +RHttttaagatcgVMDStattatYBtttDttgtBtNttgRcMtYtgBacHaWaBaatDKc +taagtgaaactaatgRaaKgatccaagNaaaatattaggWNtaagtatacttttKcgtcg +gSYtcttgRctataYcttatataaagtatattaatttataVaacacaDHatctatttttK +YVatHRactttaBHccaWagtactBtcacgaVgcgttRtttttttSVgtSagtBaaattc +tgaHgactcttgMcattttagVtaagaattHctHtcaDaaNtaacRggWatagttcgtSt +tgaDatcNgNagctagDgatcNttKgttgtaDtctttRaaYStRatDtgMggactSttaD +tagSaVtBDttgtDgccatcacaMattaaaMtNacaVcgSWcVaaDatcaHaatgaatta +MtatccVtctBtaattgtWattatBRcWcaatgNNtactWYtDaKttaaatcactcagtR +aaRgatggtKgcgccaaHgaggatStattYcaNMtcaBttacttatgagDaNtaMgaaWt +gtttcttctaHtMNgttatctaWWatMtBtaaatagDVatgtBYtatcggcttaagacMR +taHScgatatYgRDtcattatSDaHggaaataNgaWSRRaaaBaatagBattaDctttgH +WNttacaataaaaaaatacggtttgHgVtaHtWMttNtBtctagtMcgKMgHgYtataHa +NagWtcaacYattaataYRgtaWKgaBctataaccgatttaHaNBRaRaMtccggtNgac +MtctcatttgcaattcWgMacttacaaDaaNtactWatVtttagccttMaatcagVaagt +ctVaaDaBtattaattaYtNaYtggattaKtaKctYaMtattYgatattataatKtVgDc +ttatatNBtcgttgtStttttMagaggttaHYSttcKgtcKtDNtataagttataagSgt +tatDtRttattgttttSNggRtcaaKMNatgaatattgtBWtaMacctgggYgaSgaagY +ataagattacgagaatBtggtRcVHtgYggaDgaYaKagWagctatagacgaaHgtWaNg +acttHRatVaWacKYtgRVNgVcSgRWctacatcKSactctgWYtBggtataagcttNRt +tVtgRcaWaaatDMatYattaactttcgaagRatSctgccttgcRKaccHtttSNVagta +gHagBagttagaccaRtataBccataatSHatRtcHagacBWatagcaMtacaRtgtgaa +BatctKRtScttccaNaatcNgtaatatWtcaMgactctBtWtaaNactHaaaaRctcgc +atggctMcaaNtcagaaaaacacagtggggWttRttagtaagaVctVMtcgaatcttcMa +aaHcaHBttcgattatgtcaDagcYRtBtYcgacMgtDcagcgaNgttaataatagcagK +YYtcgtaBtYctMaRtaRtDagaaaacacatgYaBttgattattcgaaNttBctSataaM +ataWRgaHtttccgtDgaYtatggtDgHKgMtatttVtMtVagttaRatMattRagataa +ccctKctMtSttgaHagtcStctatttccSagatgttccacgaggYNttHRacgattcDa +tatDcataaaatBBttatcgaHtNHaaatatDNaggctgaNcaaggagttBttMgRagVa +tBcRtaWgatgBtSgaKtcgHtttgaatcaaDaHttcSBgHcagtVaaSttDcagccgtt +NBtgttHagYtattctttRWaaVtSttcatatKaaRaaaNacaVtVctMtSDtDtRHRcg +taatgctcttaaatSacacaatcgHattcaWcttaaaatHaaatcNctWttaNMcMtaKc +tVtcctaagYgatgatcYaaaRactctaRDaYagtaacgtDgaggaaatctcaaacatca +ScttcKttNtaccatNtaNatacatttHaaDHgcaDatMWaaBttcRggctMaagctVYc +acgatcaDttatYtaatcKatWatcaatVYtNagatttgattgaYttttYgacttVtcKa +RagaaaHVgDtaMatKYagagttNatWttaccNtYtcDWgSatgaRgtMatgKtcgacaa +gWtacttaagtcgKtgatccttNcttatagMatHVggtagcgHctatagccctYttggta +attKNaacgaaYatatVctaataMaaaYtgVtcKaYtaataacagaatHcacVagatYWH +ttagaaSMaatWtYtgtaaagNaaacaVgaWtcacNWgataNttcaSagctMDaRttgNa +ctaccgataMaaatgtttattDtcaagacgctDHYYatggttcaagccNctccttcMctt +tagacBtaaWtaWVHggaaaaNatttaDtDtgctaaHHtMtatNtMtagtcatttgcaaa +RatacagRHtatDNtgtDgaatVgtVNtcaaatYBMaaaagcaKgtgatgatMgWWMaHt +tttMgMagatDtataaattaaccaactMtacataaattgRataatacgBtKtaataattR +gtatDagDtcRDacctatRcagagcSHatNtcaScNtttggacNtaaggaccgtgKNttg +ttNcttgaaRgYgRtNtcagttBcttttcHtKtgcttYaaNgYagtaaatgaatggWaMa +ttBHtatctatSgtcYtgcHtaattHgaaMtHcagaaSatggtatgccaHBtYtcNattW +tgtNgctttaggtttgtWatNtgHtgcDttactttttttgcNtactKtWRaVcttcatag +tgSNKaNccgaataaBttataataYtSagctttaaatSttggctaaKSaatRccgWHgag +DttaaatcatgagMtcgagtVtaDggaBtatttgDacataaacgtagYRagBWtgDStKD +gatgaagttcattatttaKWcataaatWRgatataRgttRacaaNKttNtKagaaYaSta +actScattattaacgatttaaatgDtaattagatHgaYataaactatggggatVHtgccg +tNgatNYcaStRtagaccacWcaMtatRagHgVactYtWHtcttcatgatWgagaKggag +tatgaWtDtVtNaNtcgYYgtaaactttaDtBactagtaDctatagtaatatttatatat +aacgHaaaRagKattSagttYtStatatatagtcttaaaaMtcatgttcaaDactgRttc +taagagDtatttttagcgacttgtgRtgNctgSgRaaaaatgcaMtYtDcatcaaYKttH +catSWgaaaatDataggttatgBDMtgttataacaaYSgagttacgttatgtDStttaaa +tctcgWKtcSacgagagaSgttatBMDgtcggtgtgcgaNtaSHBatBtttVMgVcagaN +atcaDDaKMtMYtatagaBccctctDtgtatttatatKNtgggtatgtRaacttgaWaaY +gcaHatccctggtttStatMtcgcMtaaaWKttMVtWctVtgttaKDWctgWaVttaDVa +tgKtagagtcatctaKWgtaaMttSacBaMattaKaaHDataattgWtgttttgtcatBa +cacgtStacaaagtNctNtgtgatcHtWttcKaagagttttaaaaWacgRacatctNatV +StgaatDHgttWcgtRKcatatatctcaNttaaBDcctgaaaaaDtaYaHaKttNtaYVa +VtttaDtctacttctWttaactaattttMagWcaatcccNKYtBaacatgttgaKgKcgc +BHaatDMttatatcSWacatDatRcWaMtDgatBctHgScttaaaHtSgKtDtttattgt +RStWgttccatatttcacWttcatattgtaHVgaBtacaMtgMaaagDaataactDatat +tagMaNBagcttcattcgtaaKtgtatttcacMtgBaVtaattStcttagtYgtgtcgcc +ttKatgggtgaWaataggaatacMMagaSKRttBgatgacRtgMtagaSRataggtatca +ccgaNaaaWSWacDgatacttgattagcttgtgVMttatYctaRgHVcDtVRRtSaMtca +VtVtatcaYaHatattaaVaatctaBtgtacRatNtatttgaYatSaHctaNgNtYtYaY +agattVgatcRtaacgYggtgtatKttaatMagatgRtatatgHaKccHaaaaYtgaacg +aWaNgtYHgacagaYtctaVtacccgatttttaaagcDttatNRgattKaaattttcatc +taatgccgcaataataattgttatYtagtRNtaagttggtHaKttWMtDKgatSagBYcg +RggtWaVaattHtatgtaaaMgSaaagataaKaaKgttDttttRaagaacaWRcaacDgt +gttaatattaKtatcaWacacatttVtctgatHRcagtttNcaaatcNctNttttataac +tWacBBttgBttaaaRaWtBKaaacgtatcRcaMaatgYacaaaagtgBataStWYtggt +atgacaKWtctSgcKHgtcNaMNcataSatattgactacMcataattNVtDaRccaaatc +agttttYttagYaacgtaatMtMVatNgKaaMaaBgattaKttatDaBcttKtcctttta +cDagaYtacHgttggacaaaVaatagtYatcataSgatcaaWVttcgaatgaccctcctt +NtaSBWaatttDttttcaatatYggctatDcttatNctttagDcMttcaacWaaNattSY +gctttcaHcRaattaataaaatcVccRaattactctaMaVRattacagtgRcDtcgtgct +cttNtWVtacagtHtatHaBDtcWggtgctcaaRHtatgtDgacStgcaaaVKtagttat +aatactaatatgtagScaatRSacaattgtattgcagatHHtgBcaatKKtaaMMcaRcg +actatKBaMaYatgKatttDaaNtRatattgtatWttagcaaaaacaWgcacaaHcataY +tDaHgttataaSacgcagggggtYatgcKctaaaHgcVgctBDaVttccStagNgcSgta +tgVYaMatcaWRBtVtgYttgtgRcYttcgctgaacNttgtgtctattWttttcctagMt +agaWtaKgatStScatMaBtaStaSactattYNatctgtacRatYDaatgatgatatgaa +tYaaaaSHttaaYMaWtDcaNHaBcaYtgVgcatVaacattMRatBtaatttaDacRtag +taaaNYVSMtcagaaDtttDHtRcYatacSNKaaMcHgatBaaVttactggBYgaYattt +ttgcDacHctWatcgtagagtactcattDggtcatKaSgctttatttagtDtRBacttaW +YaaaattttgaccttaaWtaatgcRgccacttMtaggKtcBtgacgaHctttatcgtcSt +atMHDNagattatNagVaaaWcggaaaYcaVactDYactaStattgBHtcYctgggtaca +tataaYcgaYagaggaggacaVatacHRtYtctgtaVgaYcNgaaaNatacVgcNgtaat +ttDcatttttcaacttSNcaaDatVYctSgcaccttagMgacgcttgaSttaaaatagtt +aggRHttaaacMatagcaWgMgagtcgctagtgtKgactaaHttattaWgcaaaaaaSat +atgcgttaBNggttaYVatgaactttttgccatataaataRatSaBctagttataBccga +aacaagatacttaattttgaHgHMgtaaKctttaYtaaRacBMtBaYgaBaaacaYtVta +gcRgWatHaWagattWSacStMHatttaDagacaatcgtgtKtttggaMtgtWtgtgcaa +NaaaaWtKaaBcMWtcttctatgacVgagcgaggHaYYtttWgSaaYYaWtRYHHaMDtc +tttacaatggaaMctataagcttBcgHcNWaatttgtatatYtStatctagcactgtVtt +ccagaaattaDtttaRtVataBttWagcatDMVactYtgcatWtttgaaMggKaatgaaa +aHtataDtgYcMggVaaatSMHtttgVttaYaWaataRttgttaYttattttRtWtataa +BgtDtttatatcVgaaBcaDtatgtcaDagaWtgaYtWctcVagctcagctatatagcRV +tcaKtaataatHgNaccgaaaatVHBaatattcgttaVYttatttctBYaatKaagaccV +StttcattgaMagSaaaaccccWKcaaNtMYacctaDStagaaatttatcatVgtcaata +cccKattgtaaagtggWgtatatVtagBcttDaBacaattWtDYKtatRKggStRtaaaW +atBtaagtaattDaaaaBRacWtaagtacaSttaaatccgctaaccKaattgVWttDatt +atttattKaMtcYtMRWagMtcgKgBagacgggVaaNaaatgctKcgtaataaKtaaagt +ccWcttHMatSYgataaatDttBaHccattgBttSgaaHYtaataaaMtgaagatgtttB +gRcattaRaDHcttBgaMaWaaVMMattaatttgtgBRctattgKMagNcMtatttaaaW +ttgaaacatWgcScgYYDYgttYtVtattgcKcWtagcggtgBaSctaKatacaaVtcaR +DccccgtgttBgKgggtHagcgaattaaagMMttScggtDttttaHcSaagaacactcac +actBcVgaKNaDHacacttatSagaattSKHtcagtataaatKaaHtgaaRagaaVcBta +HtaaatcgatcWcaRtaaaatttaWttaagtcaggRctgaWcttDttgactttaVSaaaa +tggtaWDaRMtBtaaaaaKatBgatMtctatatcaVaMgatttgNagtDRttDatctttt +aMtYaaatcggagttctctaYatNtagaNcgMMactacHcaagtaaaatStaSaacaHca +cSgggtNKatggaaagcggaaKgggtaYtacSgccgBaggcRacgtVgDtggaMcYaaaM +atggacgYStKKatgaBcaaRtStccSagcRccgccgcSDtgcggBDgaDtBtSSggacM +ttttaWcatcMatgtNMBWgataatcaaVtgaataataaNatgcaaNttNctgacDMcaH +ccgatgKgWVttccaStggattctcDacttttttctttaaNcWaMWccWKWttgaaaMct +DaaBactRtVattttBtcMaNttWcKacagttKSttaYaWSactHSaBtHgatgttacat +gcatatMtttgtaacScWHBatHactggatatatctgagMgRSatctaaSttaVagcaRc +ttggaYaatKHtagBBactattcgtaaagaagttgtVcgatgaVatHMtcaggtcgKSgW +attgaaaVctccVgtDcaaatgaaHgMYactcaMatatatattNVttWtWaatttacRag +KataaaNtttacaaWgMVactattaSgaggVaaagVtaccDRHaaataRaHaRgcattMt +tcaatcaKaaataDcaDKtctcgaggBggacctDtttatHacWVaWgatDctaNaNcgKa +tcMtcMaatBtttggacgtgataatagaaacRactcBtattttaKtgSaaggKtaggRaV +tatagcccaNRttaccttSMaagatcggDacNBatWcgaactacactaactNBtaStgVt +NagcatctaVtaKatKgaBtcgtttWaagWMgagRaNatHaaaaDtacagacaBagtgca +HaNatctcBccNttaagttDgaataaNtcgctaacRBgtaatSttaatatgcataaccca +SattKcccttDttggtcaatgggttWaacgatacattBtgMaYgaRttatgatKaKgtat +tDtKWgataacgNBtaccgaKWatcttcttKtgtcttagcattcctWcaaHgagtatDMS +gKtcagcttgVHaKcttDaataaaVaatttDgtgaaataaRgtcaVaatacttagtVata +tgggcatgtDDtMtgtatBggattHtgcVtgtgatcaaSattatKYVaacSNNttNWcga +HttKDaaMYHatcgttaattaSttgctWaacHtaKBtaaaaKHttcRWgaaWcRtBtttg +gBcDtgtacNttaagcKtaHgtagaaaaRttgaaacatagtWRaacYggtaaatcgctYa +BtWDRtgttgSctaaKatNcattgtgtMttatccatatagctSacgccSNaaactacgNt +gtgcttMatSKtcaaBaNaaacataacagaaatagtagctcNcatcVgaagStaataVcD +KKttcagDHDtattctaatgagggRgBMctatacaagYactctMaaagtcgctttctcgt +gaattatNcgatMtttaggcBaaatctNtactaaRKtgKactattgtcatatgtacgagt +tMaaHSSgHgBatatcgcaSaataaaWgaagtatagaHgcttctttatgaccWaatttaR +taDaatttaatcgaaattgattMcatcaWaMtaWaKactttctBacactatNgtccttaW +gtctgaccKatStaKtgagtacgggcgcgtYNtatttagacctctKcatgatKWStcaat +aactaWgMSgHtgatctttttgtcgacgtSacttaYgcctWctcctctacaagVtttMaB +actWVaccaYtgtSgcgttattcKtatStgaaKaccgNaataaHtatWtYtRacggcaDa +ScagcagHaYWRtRNcDtHtcVWtggaataaaYttgVaNtgttagtYttgtagSaaatDg +aggccDcgBRYStattatttaaggccgHgggYRaaccMaagttatSttctttagcMtgcg +MtgaSagaNaDagttSatgattWatttagtDgcttgagtgMKaYWaYccagcaHatKcta +KaDgctagacttattgattaaYttatcttattattStaattWaRaYBWagYaatatgttR +gScttgBagDaWgcgtgcVDaggcttgtctaDRKacttgcaKBWRtaaVaSctKtacttM +aaSVaWWcgSaNtttSWgtcggtcacttggVVtgagaataaataaDttgaaccaaaaMtt +aaaagaaaaaaaatcNBtatMgccWagcaNgaVaNaaaaaaYaMgttaWtatHaagtNta +cgacaBtMMattttWNaRtaaatagYaScKattacagctVKBtWNSKgYtYgtWatHaVa +tDaaatWgDatcctggSRagagtaaaaMgatttRtaHacatggtaKagVcctgatgaMta +aYgatgtattattttHggBaccaDctctggNNtYaatctVttgVtRtVcRacttNcttta +taggHSRtaRacaaattaacHaHgtgttgtttcBtBtatWtgtattttgcKagMcaaaga +MtattagtStagcBacYaaHcagVgWtgtttcgtgDHaVtagDatcRaRtggtWtaactg +cacgaggaaaRttSDaaVaSttaaaaacSMttactaNtcaacaattDtacttttYatVSa +cYtWtMttaattatcKtcttctatcaKDtctStSaaacggtYccatgtgagagtWtagWK +gcaBaaaaKttgNactaatcgaggcWtcDDaaaaaacactHattaattcactatYttaag +acactaKaagRtRataaattttcatHggtaataaatgataHtggctaacBacDgtaatat +tRtYgtDNDBgKtcaggcHattttgHNgWtaatttccgactactgacatVNttYYgactc +gctctatttagaMcgggatHcgtttatBaDSagBaaaagRttBggttaaBactVHgatga +atttattcaaaattgcacttcDgacttYcVttactVtttatBaKHagaWgtgaatggBta +aSggcagacNcttaDttVgMtWagattggVatttacHtctNcMatacttSatMagcttgt +NcYaaScaYactcKctKtagScStcagtttcatWaatggtgagaggHaggggcaacgcRK +taRcMaNtHaatRaRaaactVtBtgttaatRtWWcaaagKttccaaKaaatacgVttcac +aaacgcggtgagaRaatggtgDMWatcWVScacaaaDaggaaHtgttSMaaaaaccYccD +BtatYgtMagcSagaccaVcctcggtVWaaagttatcNaagataataSaataaaKccgta +DtYttatYcttHttaagKcMctaaatggaatRgaaaVaaVtcKYaggatWcaBtDaggDa +tccttcYNtgcSMRgaRtNgaatcgttRttatDVMtagctttacatDVtatatatcagct +aDagMtataccYgaggYaaatgDaaaatSgctctgatgtttVaaBcctgataKtagaaac +caKatatgttaDtgaDtatagataatacagtaDtatcNtgtDMtYcattRVtctataNtW +ttggNaSgtMgaaYctctDggHtggHDccaccacKKaaacaaaatRatttccctttaagc +RattMHctattHaRtataVattggatcSttaaHaHgaaHNDtacattSaaggDatttcaa +aYgctBcatattaaaKagtgcccatSctcgatRtaaaMtgWactttNMaWctYgRatDgg +aactcDcaattaKaactgagtatctataagYaaaSRctggtacWtttccWtaYRtKHatt +atagWtKttaNgcDtatHacccattaatttataacgctMgaagtaacaacagMgtaYHYV +tKMHtacMgKcaaatctgRYataNtcgttcaatacggWtMcaatYcBWaagYtVaDNagt +atagDaaNtaaaYtttcYWttttStgggataaMgatattagaaYtNctcttcBagactaY +DcgtacHDWccKaHgttcttHgVggVDttatcatKaMttttacWaaSattctatagaHag +gKaDagBtaaagtcYccattgtYcatctaNgRgVtgaagtDKttatBKcggDtattRYgH +ccgtgcgBNMtttVRgacaYctSctaRacgtagagccgtacRaagtaHKagStSttttgY +SatattaaaWHaaWagttDKaaNaNHaaHttaYcttMtcaaatgKttBtSgtccaaVaat +tSaacgttgNattgatatNctaWtVcagtactKcWacgVagggHaaRgaDaatcMttatt +aataacaBMaaVtgYtKgRgHactgtactatcBaMtVggtagKcYtHtBSaattagtaat +gMcaVVagYYgWtactttccaaSttDgaaMaMttcacttYtRgacttcagcttWtttagt +gataMaattaagVtagaatatKataagtagttaagHMRaDattaHaaVcctDtagtcVYc +aataaYcNttNaaaHctcaRaatttcaNRgatSHgVatagctRtcatgaBttMaaagRtc +gHVtgRgStgatttgtagaKagaRWRctgNaHYgaaatBctgtttRttNWagaccgagKg +tgcggHKVttaatattaatataataDtaNcctacaaRgcaNMctctgaaSHWWHcttagt +NagtWgWaaKtYaNgcBattatccaaaSctRRHKaNtKcBgtgagaDRWBttactaaatt +SMctatatagaaYacDgatttccVtaagRtgRataatatagtctttttatgtMgtcaaca +aNtaaaaactctWtagaVaaaDtaattatagtBStcgaatDtgattVaatMtcaDattVK +WaagatagggttgtMRSgtcYgWMaatgNtagtcBttagtttctctWaaMtVgctWgSgt +HagaSagactagKtagWggcatttHgttgacaaactcggggHggcWBgVgtatgggagVg +agtcVcBtDctttagtctaagVWtHtgtttaScatacMBtKgattatRtgtttgtctttD +ggcHaBtRtgtaataNataatttataWctgaYWataStcHaatcRtaaVagDWaSatagt +accNDgaagtatacgttttacgacgKRtattgDctatRRattVtStaaactagatgVatt +tagaMaSaaaattVtatYtgttgtRMagtHaatttSttaaYNaggWagtgcacgaMcact +gHgtgtgggHMgtKacttaaYgtcgcatcSatattgBaagtttacMtYagSatttattta +VtaaDtaWaHcgNatactgactHtggWtataDcDScatactcStcDtgtcgtgtatgagg +tHaaNKgDattgcBccaagKgtatgacKSMtttttgttcaaatcaaYtagtaSatgDaaa +MccKNaMaatagaataagcaattattataaMgagtgaSgtctNYttattHaNaYYtcDDt +aatNRgtatttaaYtaaatcactHVaHcStccttcccaaVatcVggatKtatgRaaDBga +YtttacttYggactSDtaBcaaNggggtattatattBDcttagagYNMatBgttYaagac +tMatgttRgatacccgtaacacBHtatKacWgatRcHttaattYtKtStccaaatVDcaN +KHHaaataatagtagtatcttgctNDggVaVVtaVaRaaagSaccgttctcMtVtgNBgt +DtttctYgttactBctcRtStWtWDScMtcWSaRatgaataRHctaNtcStctYtWacag +atgtatYBtHaHWBtacggtDcaaBtatcaggtcaVattaNctactgaaaatWaDgactN +WtMtggagaattBaataYcMWYcgatMYatWtgattSatgaRtDaRgccagtSttatatR +aBtattRcWtagtVgaagttMctattatatDttaggtctKtgtgtBagacgttatRKtga +tctatttBtataactgataacKcggagtgHgtVttcttgtKDgcDtaYatBDatcaatat +tgttNtaBacatcgcNcaKcaWcRataWcVgtacgScaWgttcggHcMttcRccatgaRS +tYgNacagatacYacWWtggNaDcWagttHatMaNaatNtcDMDcMaKgHNatScVgatK +WatatgNRgtccgYgaagattDHgtMtcHaSNaaattBatRagtaaatttacaagHWtKa +tcaagtccHtYcctgttKDMSgtactactVctgacaaaaHgatatacataatKtStHgct +ScSatNatacaYttaaWHtctgaatYtagtHtKaggccWBaStaDctaagagNtaatcaa +tcgttNgaYDaagtaaaaHatagaatcgcgBaYaBgaacSaaWaaaaactccgcMttHtt +YgtaagaMctKBtacSagattcBaaWtaattttacRttatcgaRtacaRHgtgRagaaBc +ttaVgacVDgggaatVatagaactRRtacgYttNattVHgaHttacaaaaaaaYtcRWtg +tgattatgccaSDtttatKWgaatatSNDgattttaacgtcSRtatggttcttcBtWttt +MtBtMScttaHatBattHacYtaYacattcgttKgtcStSctcKtatatttcaKSgagct +tccaacaccRDtttDaccattatatSgtcWtVaaagttgtagccattDtYaatattDacc +atcVDaaRccagttttgtcHacMattcHgaNcatgttKcVttcctgtgcSataaatattg +aKtctaWctMRaKggtaYcaagttDttcgttacRtatgatggHNaWMtKttcatattaaD +aSaBaaaMtMatBgKtttgHtHactaatcatcgtWaatKaaWcaWtcctVttaaNaggaa +aagtaaagaDctNttaDBaBgatagMgaataacRcYggatcRaaaHaagatRDtVRacta +YagttcaccaaWtctcSSaaatcSKattctggDgaacagDtaDagacagtgtaattcaSt +YttNaStgtaHgccttaScatMRcaccWtcatttatRtaagatWtNataaWtMNtDVgWt +tgcWgtgaRttttRgWcttMtctaHacaaYtKctgaBagtRagacttDatNttaaaDgRt +atNcHatcSDgtBatcttacVcYacNgaattaacgagttgYgacttDattatacBattMg +ctagcctagatVcaactNttcctaatgtDaacgYaNatagMatSWtYBaaaRtgMtatSR +gaataYaScaVgtaScMagatNNtttacaaHBaWtNtRtctaaacDaaaaWMcaNtcVaD +NcagaDtgcWKYgagttaHtgcDYataaacataBaWWtcggtatgtgaaScaacctttRN +atcgttaaagcaDctaatgcBatttacaattVaMgSMMtccYaaaBYtggattttcataW +ttgBtatDtBgactaatgtccWaaHataaScHttWttDtcgtcaagMctMDtaaaatRtB +aaaacaatgtcagcatBgNNBVttttttcBacWtttWtSWWtgaaaaSacgBtaaataaa +gtcDStaagaactgttaatYatgDctattactgaHtaaatStHaagacaKtagDtaaHaD +gttccaaDtaaggacactctDggcgtDagtcWaHgRcHgDgaSctttattgtcttttcct +tRYaDgNactaaatcaWggcNSBagttttatatStKgtcRtgattaaggtcaSBttaaca +aKatgggatcaaattgRgcBagtNtcgDcatttWcctttgtNagDgctgcatttactttg +tgtcaBgSatttNHaMcggcagSctcKDtWBaagSagWatggYtVatSRgKagattgaVa +tKttcgatYatKYSgDaacNtcVgtttaWataWtgVctgcgSggMgatccatgagttgtW +catYWWcctVcNHagtNtgtKtttgatcaacttaSttattgatNcatWaVgNHcagStVH +cggHacaaDttgDttWcaaRaKgaaatKaattagtaWacattgaaatgtgaatgacagtg +aRVtaaYagYtcggcatMttgaaggDgagDRcaKgHtacacaaaMcaBtagHactgKaat +RtNttcttcatcatNgYgStggactatgSMttgKtDaDgacRRgtWaVattgatttaagY +ctatatagactaagaggtatWtataaactaYaHRctStgKWcgtRtKtYtYtagacgatt +RaaYBtaStcttaWataatcHttataRcactgagtgggagccaattctcDtgDaggHcDR +VaVVggaaBtRttaataaRRttgtaagKNcaVWWgtatacctgatcttBtcttRgaWcaV +RKcagttSacttagcgtKtgtYWatatcgNttcKaccacacVKctgattBtggacgtctg +acaDtWKttattttgMBgKaacaDataattWtBtBRtVtacataaatatttgtWtttata +gtDtgcctagctHYaatgcaNaaRcaatVtacctgggggKtagBgagaBgRaaNttttMt +MagMtgtgattNctcNaKggWtMatcttagWgtaatatatNctaYBggKaataBattYta +attataVtggNtcgtgtctaattaaacctHtacaaactDctDtctgatatgMtgataacW +ctgtgYSaaNScgDYaWtatDatMKgcaatttctgNcgtHtaWtagatatcYBttaatta +ctcaaaVattYRWtatttDtaNMYMttgattataatgcgNggWaatYagttgBagNcaag +aaaDtRgtaaaagctgcatctagcttaVgtBttatagcKMSaattYtHcMaBttcagtct +tgKatgVSVttKgttttttagtgtDHgNggtcaVtatttaacNtgaatatgctatMcatg +aaaBtgBSaWctaataaattatYttagtaDtaccggaatgagtaattggatttaacBtct +SMgWYtgKgattacgRctctccaatgtaggcctgaNaatScgYataaBBacaKtHtttca +tgaaHtgBtagaKHVtacctVtcaaccaDaaWNHNaatgataattgatgWcagggtcMBt +gSgRataHctMctgMHHtKaBtaaMtMgataaRWtagYtgaaMaSgctYtgcgaaHatDt +atgtcWRatKatatYDcBgNtRaRacattMcagaHgaaagRccgcgWttggSatBagagc +HgYtatctVtcatYaaVRtcaSacaMYDcgRtcaaWgaRgataMtaaaacaggtgtaaYc +attgWgDHcWgttaVatttgcatctaatccacaaagaagSatgcgtagRgagtHDgaVcg +tgcttatggMttttcatKSctNacHcctMaKRatttgatctaaatgHaaScataataatg +tttgtgtHaVcaaaaNHaaaatcgctgSVtattVttagaaNWcacagtgKtatgattHcY +cttgDaWVataBatBttttWtaactNaattttctttaaYHaMtttaaaccgStcHaVBaa +tcRacaaWactgtagVKtNRtcctagcWaatNgctKccttctcDaBDcatYHatatgcaa +taaBaagaatgDMttaHcaaYYtcactgttRtgacRaacctaWtBtBMagBctaaBaWtg +atgVtttattataggttaattgtaatYcaRtVctcttgcacSaaMaatactRSgcataKc +agcaVNKttcgSatcaaactaattDtaHtNaVtgttttttaWVtatNccagWttcgtatB +cgttVctcBttaaaaMSaDattKRcctttcataHaattaatWaaataKcaHVaggaatat +aBYKHVtgVcVgtcHcttccgcctattDtMMgWaacttgWttYtttcMcgtcctaaVHtg +WtggtgacKtcaWaYMttacttagVWtacgSatatcgWcKaaatHKaaaYttgtagtcaa +cWtttggtcaagttgaaBBaSHacVcgYgttWBSRWggtattttaYDtHatattcgatNt +tacaaaaVacaMccaaYStaataRttVtcttagaVKaacaWcgccgtRatcatctaaatc +cMcctttaMggccHgYcDgaKctatgMRYBagcaNDtgMtcRttgtgHaRttacatgaWc +DtgctgtataggNggtgaatagBgagYNtatcagKtHcatBatgVKgaHWagattRData +tcgYcHagRtaatgWtcStagcVatNaaaaKttgRaRBYNgtaaDtStaVRgcMccatMW +aaattBDatttaatttataaHtagtVVaDRMKBtaacaatttttttDaRSgaaKDtVaBa +tcagtaaMttaagcctRgaNVgggttcataatagNatcctacactacgcatgtcggaYgt +aKcatggattgactttHtaattWNRaaWYggttcaaaggaaNtaatgcHcaaaattBtag +cttattcaagVtatttWgcctaKtatBttDYcattagDacKVaYNccgYaYRaaMaattR +aagaHtatgcttgcRagcgctSaatagaaRacaRacSccagcacVMataatHgRtagcga +KgYRaDcVWSDVgRaMgcDgtaattttaYttggtaaWcttKDaaYtatMRcgKccYcagt +YcBgRccattcaKtgaSSRtactgacgHtgtaaaaBatWgcaMcBcYcgccagactcttc +SatYattgatgaNccaaaaWaKatVgcaggtWtBcgttaRMagcaaagtgttcacatata +aagaHWtKatctacttatatcacYRaaVagataagtaattttgatgtBctaataggtaRt +aaHaattgtaRcStYSYaWRgMtacaHcNSttVNScattNKaaKgBtagtgatYcaaaSt +actggttggggaBggtNtgtcaaWBaYVSNgtaataBNtagtatatcacMcScccVcgtV +RRtttNcKaSRNaNtHRttatttattgacaatggSaBagataaccgttcctaDNaattgc +tVtatNtHtatagSccaagctKttaaacaaattattgtSHgMWgStttNaccattBMYat +RtccStNgttgaaBcctVagcaaaatgatattcRaBccMWaagKtttttcMtgaRYNaat +aDttgttWRttattggHtNtataatggttgtStYgaMcYVtcattaggtaatVcaNggaR +tNataMWcctcYgcgagagRgcHMgcWtgaYtVSttgDaacgaaaatMttYWtWttcctg +aKNttatttattRaattaagaccMKtttcWgtcaBagKSaWaaacaNtaYaDtBNaaagW +tHgacaaagtgVtcatKcgcaatVaactatgcgaaactccNctatatMgactatttatSa +aVttNttRttagHtccKtHtaaaNatttYVctaatttaaaatHWaNtSacgaaaHggaaa +tcacagVYcctaattcMNtgtYtgagttatttaBtcRgBHNacBtactctagaacgcKaa +DWYYgcattactVagaYtgaVVcgcaNctttBagKRcSgaaatttgtatccattgtggHc +aatRtaVtaSaBtcYYcatcgtgtcHaVttaHattctgtcaBSNYaKBBattaatggctg +tHatattgtBacDcBgatttaaaNtggaaaaYtNcaKagRRtRgttRtMtWgggatcNta +cacctgtWKagatataaYVMtaaDtaaacctctgtgtgccttScacWaggaYacttttKa +cgtttgtgataKYagaYaVatcWcSattaMcatBYttYaaatgStKagWattKtttaWgt +agaaSgtRattcSaDagVaMattattYaagccSgcNaaDgaaSaggtaNgtWactaWcgH +ctgaNatttttcaatgtaMHSWaRtggtaNtaHBtttWWaaatattcVtBtctStWtaWM +aBcatttcDagttDtttatatgttWBtNaYatcccSgtgagcgaRYtBtagaDacBtaag +aataWactaaaagKtaKaWaataacKcccgDtagccaaagcggaatcgctSRtacKgcac +tacccHaactMgtgccaBaRaaaBVtcgSacRKtttStgatcaaHgKtaaKaccHaccac +ccKttgagcttcSttttKKcgacBgggtYMaatcBStcgDBtMcataWtaWaMtgaataa +gaaDatccSYDtgBatgactBaVtaagatctcNMgtcaWKtgcWggcgatacgtgtttat +ttWaDaNWBNaaNtNttcaaatagtaatScgHtMWttgttgaBaDtgNatSaagtttHtt +aNaNKaattKatttgatcgtVcatgaatatBtttctaacKaNttVttSagccatRtatat +cactcHHatctWSKttaMacaaDattccaRaYttttagttaatattcctYaacVactgct +McgagcaMYtttgaagctagtKgNWttgaaaMatcaMcttcSVatcaatgtNactaaBag +atagagtDMgtNtNWatttSaHactagaaaDggtaaaaNctMaatagtaHgacgMaaacM +tacatHtaSagaHatYDccagtBtgaWatcYtVaagataattgatcgacctgcaacgttt +tattacNMWNcattataDVDactatattatYattttgcgaagtgagYVtagYaWaHaatc +tgWttttatgcHaacgttaccDaKtatagaccaDDttaacgtHBaacatccgtYaBtVtN +ccaaataaaatVactDttSKtcMtDSgaagctaMtatattgattactgtNaagNBcagHa +DattaaaWttacacaaatactcaatSDatagctcaDttWactttgaStaaDtagatSaaD +tgtaatKtgVataggaagWSaaaaKatttaaagtttgcgtaaagcccggNWaacatacat +gttctaRcaHttVtcattatctagttttNcataaacDttWaagVtNYtaggctttggtat +gagaWgtactNaVatcactVttBKcttaaccttcMtatcggtaataYaMaYggttgtcaa +agSWHctaRMSatVcggactMatatccgaatcttttttcgagtccagtttgaMtcgcatc +aaKagtattRMaaaKDBttDNccatttttaaBNtVtccgtaatgaKgtcagMVSattatt +taWaattttaHNcaaMaHttgtggctattctacDtgaagattatcgacaaVRHttcSaSa +atactNHWaaNcgtWaWgaccgRSttNtHtcttcKatYatatBaagtcgctBtgagccat +atScctKaagaaKDaWactWagBgctgattBagKtgaaataBaaaaagSacScaaagagt +agcgaDaYtaMcaYcKtaataMatttttaactttgYgtcgaaggacgcHctBcgYgaaVa +cRYagagBaaYgtagattgcgagtcaagtStDagatBgtgaccctaSWtctDgactaSHt +tctWatWttctaWtatctYacactgBWatKKctgtatYgacaaHSatYSaNgSagtatag +atgagtatttatgaccMaatgtaHtStaWttgYagccaWattcagtBaYtaaNaBtaNat +actggcttWcaagatDctacggaNctatcacatSgKgattgacgacccccgagtNDtatt +gagaaatattaatcVttNKtaaWtYacgSNcBHgttgWtatgtttcgccaactKaattaR +gacgNataatctacaacKgttBatYatNMSaaaNtctKgacttatgcttatKtcaVtVca +gDaataattYgNtRtHaagcaataHcacaVgtaNNHtHDatgttaMNtggWagSVaRttc +MVDtcttWgtRttctacKaaVttcVcgcatcctHRKtattSgttSacgaagtcccRDVaa +cBWagtgYtKtgattgSgaBtgccBtcaKacaDatacttHatcattNatttacgtcagtg +aggcBtaRNaRcaSgcatattatStatgctYcacgtattcattaaRtgStcttWgtattK +tSYttNaHaRtNYcRaYtVtggtDcKcttctactaMcacggcMtacgcttctatatHtaa +tggcattMDtaaMaKattgaagtBaaKMVMNacKaDtttKNcgagctaaagtccMMtgag +aagVaataatggcaWaaaaVaBgtaSaVgaaaSaaaataDttVtBccaNagcSBgaMaDa +VaVYYRVBgttYMtagtaactDtaagWaattBtattttMDYHtSaStScRaKatattaca +cctMttgNBKtcRtRggNagtYMattaaatMctYgaatgcKHagSggaaaaBcaggtHta +tWcatcgtStagMcctcatgattaWRcStcgWtgRgttttcctaacatcgctcgDDtRaa +tatMgtcMtHtMaDYatgDatttatagctKDtYHaaaaattaSatatctggtctttattt +tatMtgtYttgtcatactcaaVcYBgatgSctKtYcctWaRaataWcMgNgcgggagtct +tRMgactataHaHtgctNtVaatcaaccacgSRaDtgKtaaMSKgtaaaaWaKtttVagS +DtaaaaaatgttYattttNagMHaaRtNgBttWattatatgcttatatcatttatKtKaa +aagctRaaatcgcYgacgNtacNtccVtSaaatttcDVctaatacWgcaMtcttSaaWaa +aWagtagtaattaactagRttaVcSaaatataacHgHatWaattggaagtgcgSSgaaVt +gYgSttccatWVataatcgaatatgHtRcgtBttcttaaggatatgttgtBcNtaatgtc +acVatactgaaatMBttRRcRatccatagagggacatcgccWttagttgWttatKagtaa +aagHtttccttSatVatKtgagcaatttattaaYVattcaaattctgSattRaMtgaatM +gttattattacaNcggVagccttaaKgccYcaaDattWtggMcttMacWttccMVgtgaa +ttctDaBYgacttKYtBacatgctDcRaaKaaRaatatctttagKcKtaactttaatNaa +ggctgScacctYgcgcaaaccaHttVHcBaDgtaatHaHVaaatMgttggtSatHtNNaa +VagtgtacaataaagacgKttcaaaWVacagctcacWHaatcctgtBNWtaNMKcVcVSW +tSgcaattctgKtVVaaacaRaattgatRcgBacaKacVccVMactagcgMNaaactgat +aDaSgagaatVHaatVSVtccggatgRgtagRatttgtaactaBataVaggcaagHgaaS +MSaKgctRagcStNcatttVgctatacttcNDtcaKBDcaHtDcaatagttHttattMBg +agctgtaaagtMgatStStcagatatYcBtataacRcaggRaaaggtaWSatKgatatga +gcgtgMYatcagcatVttSgaaaaaatatatgttYttcattatacataatVcacgattat +aDggttBtRaagtHMtatagaDgNttggDaKctBcaaRcgattcgtgccttacaaaWatt +YWVcaaWagDattgaaagggaagaHattBtatVggtaHtWtaMagtccagaKttSatatc +aStDtgWaagtKWaggtatttaWaaRcattaatStgaaVtacggaacatKctacatHtaa +aBtcNWatttBBaNatRcDattcgaactataaattataactcagtSgatataagRaYaKH +ctggtaaNtttaaNgaRHtttattatacNttttaDccttYgtaaacaggaagtgataaac +atBgaSgtaaaaaaVcBgtWNtRMttBttaaBgtaaaatatcHNStaBtaggtaVatYac +cNtBaWagRctNSacRtMatDactStVctaaDtaYSRgttaRNttttKggccagaaBcat +agtYcaYNtDatcgtatVcaatWRtaggaattMcatRtgggatgtcMggMtttataagta +BgtggacNaaKYtgctWgagYtWcctWtVcttaaactaRacatggtRcatctSDcHcMgc +aactttttagttaccttattHRgtacggcactDBggtMHcVaaRatKctSHacctacacc +actaaHaacgSttagKtKttttgNHVgagtaYaMtVYNVcggttaSBaBtaatttSRcgt +BgaWaatctttttKggacaWKaattKSaccttgDRgtcatatDatVMtMaVcgaattaNa +agMWccctaaHgataatatgtattWataaaatBaaMtgRttcHctaagctaagatatatt +McggactaRttttKaSttactWYtgBcaMMacRRgNtactttaaaSKtttcaYBaBttaV +agtRtHcWaggaVccttNgtgagtcatataWttYScMtWgVRgattWtaSggacggWWct +BHatattataaKaagttactaMRaaataSRaDttDaaatataVHaatggaaBDgWgHtcK +StVcatHtaatcatggBWaagHtagtMtgHcHtcatggggWcatacaHNHagcDatRcaa +attcgcttgDggDNVcaacgSgtggcaccttMttaatattVYtVgaagRttaBcagVaYa +HcaRDBagatgaVHtNMtcttactDaggMgMaattRWDcctVtgagaaaaSKatHHttVD +gtctgtcacatHNttgaatSaagtKBatatagacaaRVctcWtgtacKtaacHtgHataS +gVtactaggtttatggBgtcaaaYaDgaaaaaatcgMtagaKaYatgaattatYcttKta +caatttgWttMaatBgaatSttMtNaVgVtScgcttctBHKgtaRcNBaatcDtacgatt +gacgtgctatNaaBtMgagNgKcttWcWKacactYgttVgNcgaattttcttgaaaaact +acccctcgcNtgMctatcccacMcactcMatttatttagtagaacMNtttcttgYKaWta +aBtttcWttagHtgtttctcttgtggctatgDgctaatWDataatttagaNcgcRRNata +KtctaataHgaaMYctNaKWtactaacDtgaVcgagaactggtaccaactHgaggctaga +gHHagtMgKtaaactacaggMatgtYgSBaKaaaattMgatRtggggtHBVgttaattgK +ttaaRDacgMactcaaacStaaagctctgtgccttcgtSagtSaRctacaataKatattc +taVgtgtaattRacKagttattgaMtaatgaNatacDataaggactttccNtStatatKa +agaataKtatggtcctctatgaggttaaDtgtattgataaaactggatcactKBtttggc +gtcaaagaaaNtagtWKatctaaWBactDaBaYtacaWtaSgcaattattWgaaBgactg +aKctatBRgtagttaBaRRgatttaagBHctStgtVYRtaaataaagtMWtcHgcattca +caaMWtcMccWttgVgcHaWttcaNtgtVaggNgcVatKttataaWDcccctatgatVtt +ttattacagRBBWttcttRaWgaatBVgcgtHgWgaccagtYacaattgSttaaMcVtDa +tttaVttRgttKtcaYWatKtaaDtttWaYtaatYctSctatagtcctBtccMaMMtaMY +HaSSgKaaacttctcBtMtgDtgtttttagRcgtacttataHgKtNtMtKcBtaNKaHSt +gSagYHtataDtcKtagRtNWaacVgctVtRtttStNtgaaccttaVatgagaaggtcaK +SttaDataagcYaSatNStcaatDNgttcgacaatttaSgaRaBNNacattRatNtgStt +HVtgWHgtSHccaactKttYtatHYttVtgHcNgactMcaacttBatatgSgattttacg +tatttgtggtScaacggYtHtgcatctatttttWtaSatcagaYatcgcagtgtgtMgta +ttctttcattaRatttStcaatatgcttDtStaaagaccDcVtaWNcHYtWMaMcgaacK +caNcttacctaBtgcDacatcaHKtRcDaaacataaRacNNtccDataNactttatBSDY +atDtctBtaBatctDatKaMcattMatatcDHctaagRgYVcatgttcgtgataHDYaag +ttSgHYctaaatgtaaaactNgtagaaactaattRaatcttttBKcgaatSctMaggVaV +aaatgagataaataSgttKgtcatKaKatDYtaaaRttYaMtgctcSatRtagttttagc +aaNtaKgatcgWYcacDgaatcaatactgBgaNtaactaaWatatacaatacactaNatc +aVaKaaMaaaaaatcaccBtgttgNctaacaBattttaaKWcaggataWMtaattgtaaH +tgVtcgaHtScaHtctcHacVatagtaMcaaKtcccSagMYtWcaaatHHtaagRttDag +tMtcYtttaaWWaaaVaRtcHNtctcSttagcacaKttgtagtNgWYtatKDtcatttga +acctcKHtatccttattcttNggtBgtgtKaggWtYgtStgtVaRtaRaaagtagtgtcg +cKtKagatgagYtttaatKcScctgaaaaaRaaHtttttaaaVgtatagKctaNtKaSVg +ttcgagacattttRSatagttSacataMtaYHccacttttctatactagtatgaBaagct +ttaMtgaatgtcaKYtaaatatggattataNcgBHatcctaRaaactgttgacttYaHtS +tcatcctDaMBttgtaWgagtaatWKataaaBgBattcttttctttaatWStaatacgNa +agtWaMaaNgactMtgaaDaggaaaSctaSSgatatDttattatcatagBcaataVcHcR +gcStaHaaatWagatHttMHactaRacttaYaaaaNtataHKVaataKtatgatcgtcVa +aWgttYtVcaaYggctRWttaaKtRttDaKtgtatcaattWKaatBHaaaaNgaatggSt +HgVVgatMgBYtaRNgBDttMcNtggaNgtcaHtgttDcNaggBtatYtacVaNttctcW +tactHYcSctgtYtDtgWaatcHgatDatatcHtcttatattaaKaRYaDgaatgSYcga +ctgcRgaagttagtStYatYtttccgacactacagKcaaagDttaatVatcttaaacRaD +atRcBatKNtNtaaaHtcBgatKHcWStSRaKaSMgtaKaBacWgDDttgYaaYttaNtD +gHtatSaSataaaaMBaaDtaMatDaagWtggaMtRcacttatggctNataaaaatatWN +MtacctatgtcaYKaRacagttHDagccgtaaYcaatataatcatagggaaSatgMYBcK +BBtaaRVRatRtccVtgtgaagVNttcttagtgtcWataVggtaaNaatVgVaKctttNg +tttagtaaagBatBtgaYSagHttSYaacaStcgcagaSttcDBtKtttggtctacNttg +NgKNNtcaaaaKWactgaaYgaYactatHtaWcaactgttSatNVtgtctSttYctgatt +VaatKgtaYcaaattSgttaStatggtccaatgSWccaaactattgccgttacgcNatcH +ctctcaKatgtagtctattttaaggHRatcDaagSaVgaVNccaBKtacgtttStagKgt +ctaHtcattaYcctaVKtttaYaaatYtccgataaaVttcDgatWcgBtcctaatttNaa +ttgctDYgtgatcaatttaagggctctcatcKattgBtaBagcaYcKctctttNtaacHa +cNStggRtMatHHgtacatgcaMagtgtccatRWttRKctaaaDtcMctttaNVgaNtcM +atcacHcctgWtaaStcacgtctNaagRNNaagMaDtactDgctttttcatcYacttaKt +tatgcStDaStNaMgDtaacKtMtacctaaWattggtttNaaVHatgaaattaattacgV +NaaWtggaWatctgVatcacYctcVHMtVaNacNtcccaWtttgcaacctcWctHaatct +tWcaaaYaBaattSctYatctaagDgBttagtaSgaWtBcRcKtccYatatcKBgtcttt +atgaaHDcgNaMatggatgtWagRctStagagaagaacagctWtNtataaaataRatHat +KgctNactHgttRgRgVcRacatgHYaNttaHtattaNStaagatgtagaHcVctcYggg +ccYcaaaatgatcttctagctctHMaMMgcaVtgHgtaagaWHHtggtaactBcaMNNct +agaacggWtctttgaggHcYNaaMHtaYcttKaagtSccgttgggNMStatacDttataa +aVaYcKtcgcattttcgacctctcacVttNtttattgtcttctaVcatagaattMttgtH +tMgacataaatagttctMtgtWgWctttcaagYgcgtNaagcaaDaVHaaStMtaaagcc +ccgtgVgtcacatcHVaDtgttBtBacBtcggYttDagaDYtccMttagcttacNcgaag +atRtDataRtgctaatatatgRtWVttatWKtgcBgactcgagaSgtaaaaagttaaWaa +agtatttctcWtatcBtcataacNcgctcRKaaDKactRaNtagtatBtgaaatttcgcD +actttaNtYgagagaNttgaattaataaaSMattRHNtYtgttgaDBRBttgWttagSat +gacDggNVagRWcggctacDaYSgaaattHgtYaaagctccVtatacattaMctttgSga +catBKaattRgtaBRtttaactattctagcMKMtttctgtgtgVgtctttcDcgtaaMta +ggtaaaDtcaYtatccgattcYtgaaRttctKaNctaYgYaattYgRttWctWttaaacc +aatcactVatgcgYttgaaatgatKBcNRgctcatgaccHagcgaaaatgtVgccatcaB +SatKccRStSattaaatttggtaagcVattctgVcattMtacatMgaaaaaataYNDtDa +atcatWattcaggNcaccctcBtgcKcHagYtatBatgBttgtVttaYBgBgataaHNta +cRtcaaBaKcagNtcagaatYgttWgggaNDagtatagRtctcDtDaHScagttcYcatc +SYacHcagagNgtgcHagtacagctgRtatatMtaatRaWMHgaaKacaBRtagHtaaaN +cVHcatWBgWaaacWccggtaaRcattgMgttaNgttVMVttgcaagagaatcaaaaaag +YScKVtgccgacHgacgttcaMcctcattatgcBttttaagtKatDactccgBatHYgtt +catcgaaatctSaKaagaatWVtcgttgtcttaMaaYaSDtaaaataccgcKMtatgKtg +ScaaDMaaaactgtgagcVtttaRcttgtaNMatatatttggtMgYVatDaatttgcttt +aaRtaBgttaYaaagKtataMtWStcHaaaaNacgctacMttDDgactacaNaatBcagt +cattatatSttaVgRtWgSggcaatSataVgSYgctBttataaYRRgaactgtgHtgacH +WSactYNgtttBactatWStaNtcStcMttgattStacctgaattctWatNaaHgMatat +tcaaaKWaBaataatHKgaWgataYcaWMBtgtacKagaaaaagaattttWttDaMtggt +tgtgaNMtVtDcaacNttactattacggKctatttaaaaBKatagttHaatggaatatYW +gtaVtNaaYgataatMaccWagagatRttMtgKaMcgatattaacaagatgttBBcNaYa +ttcNgtRttgaBcctaagaSMttcMtcctcYattcaNaRBttaatgVcMNgaacKagatc +gNctaWVgttaaYRtgctSctaaaaNtttgctaaScttcVattaHtaaMacNgttNtKHM +cctattttaRtttVtSgtacatBgtVaaSSaMVaRBcaSaRHtaWtWHttMtattVcaMt +WaaaNaccccgHYtcatagaaRtaaBaatttaBccaatcRctcatagWgcBHRtacaaDt +tcBgaHggcgctaHtgacagcSNattcctcgagaccBggtcaagWctgVcRDgVtaagtt +taattatcMtgatNagYttHtYtagccRatagDtaatcNtaKtacaMSgDaaaatttgHa +HtRDgtaattKtaMHgaBcaWtBNYaWgtttStttaSttgataatgactMKatHBtttaV +cYatgggttttaDKcSatttMatatcagtYaBtgVacaatHcaDMcccgtaataatagDa +taatVaaagaagaVtctccgaRgtRtaatcgagtcacttgttSatgNDHaSNRcggtaSa +agcSaBgWSgcatcaaWatgttacatgattcWacMtagtgNcacgatgatttttRcWttS +gtaatMRRBaacNWRHaaBaattDaagStgatccttcaDacccctKaagScSSHaaYHWc +HcaWcaaaMBataattgDtagccWtcRHataMNKtMgHaBcatcgaagtgtaRgtgggaV +MatgttaWRtStBHactaaRaactNctcHaaaggcatgcVHKHgaatcSccttggSaWat +WtNcaaBctaRagaaacacgcttcKatRattcWtgYDaaaaaaNatWtKgaacgtNttac +tgWHBaccaWacggttcaaVgagaaacVtMttatagaagtatWtaaaNHYaMacagWagt +aatttgcatcttcgaatacggaHtaatVattctaDaHtRKRaNHcttacatcDKttMDKa +WggDtaatcttYctcWtRaaaaKtaatcctgccccatgcgDtctaaVMtWRKKDctaata +tDgactagWtaaaBcKcacMactMHHttgDataKHDaDttHttatttagtcaaVatccKW +tacWtSVcaggtaatatDSatgcctKtatDtttagacKaaaagcgtttaaSaaaYtgatt +gtKtgBMcKttgDaaaagttBRatHgcaKgDgtgcWataatMWgcVaVatcYgWttaDat +catNaVgtttgggcttgaHRDaWgatttctgMHgtVtgccttBtWtaatcgttcgKgRca +BaRMtaattWgctaatMaVBccaHtDagaBNaataRcacYcYcHcatBgaNtgaNgKHtt +ctYaacaaaYgBttRNtNggaagcWtDggattgagtHaWttVacaaaBtgttaNctaata +ctKaMaaaaaDtaRatttDaaagNttcYcaaactcMgaYgtacaaatMaaatYtcacVaa +cgaaDagatWgBgaataggtWtKaaMtgDttHtgagttaatttgVaaDagttNMataatt +taSVattNaDtKVccaaatcgaYVtaaaacKRaataatgaBDtctRtgVcttatttYtga +HgttBWatgaatatacSaacctSatNNRccagtactKagaRtgSKMcgaaDattttagtH +cKcaaagtggtataaaggctcctaSatHtaMtRKattaNRcWtccgctataKggatWtta +ggtaatHDRatttattRWgcgatcttagSgtcttactatgYgttYaVBtgcaYaaRtDaa +tacHHtDcttHgBgNcccataDtaaaaatctNtacatatWaRMBgaattaaaacgctctc +tcaagtKcacNacgVRVctttttaacttgctcStatRScaRaMataNaKagtatcattRt +tNaVatcKgtacNatttttgaNcgacaaKctHWtgaKStacMaBatgWttNSacaaKcaD +aatcWaKaccgYBggMScgaMcctagcaDatgtttcVatgtRBtKNWHtcctWDtatttt +tNNSaatattcMttgatKgNgaNBatcSggtctRcttttttatatggtNttDYNYgaaaK +ctcacacYHRgttacatacttYacaataNaagaaaagttataNaataSatacagttScac +VaScaccSWtccagKHtaatcaaatVacatWacgBctccaataHaaYtMtacKacHtttt +KtcataWWtgtgaatWaataaaaacatttcaccttaHtttgttccaatcccgRBaWgatK +gagtttBaVgaNtaNVBgcaataagaatagcaKRttgtatcaattaMtaacatataDBgt +aaNttcaNcgagatYactggttatgtNVtaBNtDaaDtDttaSaWtactaVtHactttNt +tcttcatWttcDatKaacgtttggVDaDtVagttatgtcagactKaatcaYtSgttttat +aaataDttKttKagacWgHgatataaatcttagatNKtttWtWaaatattacSHaRgttt +ScttaatWttacgRRaaMactcatBacaccatRtttgaacctacttcDMggcVaSBagaa +tcttaKMagcaVtctDVataWtSgatagacttBctDtBNWgtgKatWctYgaaStccgVa +aaDattYatagtatcaacBaWYctgaaatttaKVgYtStNtcaVggtggaNYgaRtMaac +ataSttcagacVactcaVaagtggtattaaDBNDaagtatatMtactatatgatRSgttt +gccaacgcacRMtacRYNataagatcMgttgatcataaacttVcatatgWtacaaaWttg +gaaactttaScataactRattMtDacVYataaaagMaattttKtgaBttKcaacatattV +tagtcatgactcgDaacDtaWctatRttSSYNtgWaScaaataagaaatKtagacataat +ggNaatttcSKtVWtgacagKWattcgVatttcKWgagcaWgNKaaaatatgtaaacgtt +cactaaWgacaccBNaacagaaStctgctaHcVtttMtcYttStagYcgtttBcRtaYac +ttgNaacMtDRtagcatgtgcgagcScaMgtaatBaKataactMttttattaRcattatt +atacgtaagSNatVRgcttcgaVaacHNtctaHBKYgKaccYcttagagcccaVgatttg +ttagactaaacgtgcaBgccaWgaVataggattDBWaattttgtBacWtttttaatDtMg +aactaagcVtctcagBMKatgattgaNaVttggatDaSaBatttcgccatatgctaattg +YacatgatccacaaMHtttcKYKaWtYcgDtNaaDccgNaNcacacHKttDtttaggcta +gRVtYgtaactagctttcacaaatYtHaattYacaattaMSagMactcctcatgtScttc +aaYtataaaaScHYaKcaYacactVcacataNtaBcaRatgYagVBatttgtaactttgR +ggacaagcVacctattacRcaaMacHRagagtaVNctacagtgagacgaaaggKttacat +tgggacaataKNtattcaagWKttgatNagNtgctaNgagatNacSatctNatttatcta +tRgaaaatKatNKSBcKactatacStcagtaggtVtcaaaBYYgctattKtWNttcRaca +aaNatgaacttaRtaaDSttVBYtaatccagtNaaacRttagaaccRBatataWaatKct +cattcSacWaacaacactDttVttgacYaagagtaSgcMttBttaVNgRVagKDcttctt +cNtaggttgcgacYacttaaggVHcaagDagaagataaVaatctgtatRatDtKaaSDga +ttcaattYtcatgYgtgaVMtMaactaagaatgRgDtHttaaccaatStaaaaMctVDDt +gttatcttaBBgccNacKMaHggcBMttctgNctHggagaataYMgtaMccaataattHt +tYttKggtKaccaactcccHtMSaatNactcRtttcatgcKcatgcacttcatSaatata +ctttVtaYttDattgWcctcactcYccattaDDaHaaKcaatSttagKtWtcatRcaact +attaattYaDggKtagtNcgSgtttKRgtDWtVHtDNcHWNtKtccgtctagtatSctaB +cacgcaBtaacatgagatVtttaaggcaVttBttaStWtattgYaggtSatBMBDactVt +ggttDagacataaactactBgcacaacMaagaStccaWNaaSYMYtgtaKaMcYSaHaaa +atatttMgtcaaDScaKtcaBVtaMVMRRDMtcttRBgWctaacttgaacNaatgttWgt +ggBtRttHVKgKcHVtatattSaaaatBttcBtttcDgHccBagtRBRttaVagBctRca +agcattacKccaWVWtaVcggttatNaSgccgKtYcBaagcWgcatgaNHaKtagNgcHc +gtgtcataaaatagagacttgHYatattctaBgtttatRatctatttagacattttNtWa +aSagtaHatRtctcggatttatgtgatBtctRggggcatWctaSVMaRtcatgKattgRc +atMaHaataNcBcDcaggcactattHBgaatStatattcatBgMVataaSacVacKHatg +gttaaBKtgtaSaWMattttMacKtgaaWaaWgctgRatgtgDacBtSaHtDgtgtMVtt +agatgattagagaSttgattgtSaaacagHaaatacaRcaccBtaaDtcaMtKaaSttta +tKagaataaNcaaBtattKaVNaWaNactagtYattaaagWgHttaMcKaSagatSactc +tatMSagtggaYctcacKKgaSMgcRgKtgccagNMataatccaVgatcttHagttttct +taaccataggggcttaDtYatcgaaaMataagcaaatBttgHHcHagacagagaggcacW +tacccMttacgtgNttattYctVaaactgttaagtKatMagttcacaaagggatgaVNMa +tgcaSattatcKagtHaBtgaagBcggagtWttVaaDaccMScactgVatccaRaSatat +tNtgcBatgBaaNgtcaBMgggaatgagtatRgaatgtNttacaggcttaHaataaHSag +atagtgVctattaaagggaagDWVccatcKaaaatRccccaSVaaatttMtatStgtWag +tStMaaatBctgcctKWgttDDaSKactctaaVRtaSWcVactggaaaaNMaaaccgcac +NtaVgaagcttDNgaDBtaMaMKNtKccaVtgctcttMMYaaaaHaattcWgHcgtacat +WaMaaKtaataccgBDaYRaggatatSKcScYagMtaatKHMtaaccatgHgtagDaggt +gtaaatatagaKVgccRYctcRaKBKWtgatHYcaHgBaYtttMcatataatgaDttcat +ttaStgtcVSgacggtggVgtBtgacatgtaaSgtBgatKtKtaYcatVtNattataaaH +aSccHaaagctSMKattcatagcacagtgBRataacaatMttKcWaaaaatagStcggRt +taattatWaataatMaYagatgVtatccttttHaScgtBgagWcatgBtgcctatcgtaa +WHacagtactgaattaaaaaNattRNMaSSNSctattcaaagccVVcatattttagMcgt +attNtVBactacScattgKVtataaKtttgNaWcttNacctagtgaNaaDcagtaWgKgg +aaKtacgcaaaYttatacSttgYaYttcDNagggttVDagHatSgtacYVatataVatta +taSataacgKgatVtVacHYRWttatcctaaDtgtaaDgRDttttattWtaaDttggatc +attNgtVaaaVggaaggcYgSWaaattcWHcgaSaVWaMatctMDtHBgttttaatctaW +aagatatDKtVttaccgaMatRaaaBttaNagHatDHWcDtBVttaatKtMataYttSRH +HcgtaHDtggttccaaagRRtaWtVctRcaNDttatacgatMcaatNHtacgaattBaat +HtcccatctctccBtgtataYctatgtcgaaDYWtNggatNcacRtMaatNtKcttSYSc +taDaaaggctDaStatKtataBgcVaatttggYcttaaatgatgtHctaaccaactttgg +gttcMaaDattatKtVacgVcScaactSataSccHttYctttgtggcDtMcactaNSBtM +RBMaggttWKtattaatgtKHacttcaMVatctgttgtccaaYNtaagttKaacttctHc +gcWtYttatMBgBaMacaattaDaactNaaatSatcVtSSgatctatgNatSYaattRat +gcDgtctataagagaagRgatatttcccaataHgttttWKtgaagNRtctaaBtWcHHcD +gaattgaaaKtgttaaRtatgtaMaggDttcMaccaMaattDctgYctaWtStaNtgRKa +BtNcMHcSttMtaKccYacgNNctttatStgVtaYtaagttaagaBHaaStVKHatgttR +VWtataMtSatgcaattcMcttatKgMcagtgaatcYtcctNaYcttactttctcttcat +ggcgNcatScStBtagctWtHaaWattaccgtctcgtBMcaaacKctcccaacttBgtWS +tVttMRgKcVagHttVtaagMaNatcaHttacatcYKttDBtatgSattVcgBcBVYttH +NtcatKgcYgaaSaKtatttttMtctatctaSaattDttcWagHSacgttagYgacWaSa +DKatcNgctaatgVSctgctYgaKgKtaataggtggagcgtcgaaaaRYtgYWYSaatac +BgacWtaNStcaattWtRcttttaaSYgttcNgtBWWgtgaatHttttBaMcMtKccagt +attttcgaHaDtSVgatgaacatgcacgtcagagDYattBcagDctcttNcNtaaaatRc +tgMcDacaagtttagtcaaSSaagaaacatacaDtctctYgcaaacBcaagaBatgtatt +gacgagYacBDgttcgtgRtaMgaattttcNtgVcttctgtctagtgtccatatctgatY +atNtatVWgttacaDacaHDDagWtgataWtatcaaBRatDRtMgVcgaaattcSMagYg +WacgggtaacaaattcagcatagSgttactBctgSVWatYcYgcBWgggRcHtataSaat +tBcagHgcgcctttKcttWaggctttaaDtRacBactaaVaaKtaaacctcgcgccatta +ctKactKSDcgacaVtatataggataKctcgSatgHSatVcgtagtgaBtSYtgaBataa +tStaaccaagttcaDtHtatattaacYatattatcctacgagatcaccgtVSttctYgtc +ataaVactcgWtaVatttgttggactaaaVcaSaDtYcgNtYtctVaMtaattatWRtWc +aNtaKcaaYggatgNgaatcaatcRtcgagtHcgVgttataHDcatttaagttctHtcgM +RHtaaagaVactBMtatgaagtaaaaaBNtataaNttcKcctaNttaaDtcgMacgDcaM +atttgYtaaNtcaccgatgagMtgttaggWcacHttNgtcttHYMcaattKcagttcNca +aaacgNaaSattgKttaaBaKttatttaMggHcttttaaRNVgttaYttttMVRtYVgRa +tKcgVtacgaatttccBatBgYBRtSKKctaaaatgatatgBtcttcgtttgacHagtaa +ttatatctgDtBttatgaDtatKtcKRcRttagattattagHgDNaaaKgcgMtHtttKt +DtgaaaagtaMatcagaaccgaatKgtatatVaccRaKYtDHtcSagtBgtgccWaaagg +tYKcaHatDDaaattDStDtcKggtMgcMtgtHtcaaVcgtttNtagtNtgKgctaDcSc +gBcWSatgtatagcKgWgttgaacgagtgcgcgtKaaaacgRtttccatatatttttMga +KagcVcVRataccWctctcgBcgaggcgttaatgaHYtttHtaSWtagcagtttKtYaac +aaataMtaNDatRgMBaBacSaataSDctgaactattgataaRtaVtttHatWaacWtVa +HaaBDtactYtaDactttSgtKtRattgatttatatattattataattBatagattctaa +cDcRMaaggttcgtcatattRVYcttKgtRcgWaatcgaaWWatDctacaaaagaattHa +atctgttttacYatKatBaccMaMaaVtcacStaaYgYKgtttctcattatattNgSaaH +tgRaBtcataKYtHtacttgtacaaaDtYtgatagNRcYatgaStaaagactgtcWDtYa +atVaNStagaaaWtaaaataDYtcaMatSVBVaaaYagaaaattgtgcDagWSaStattt +taatNcacgataNBtaattggaatgcMgacattHaattctctaaMatactaBaaattaca +HWgBNtNaaSattttaacHtgtagtBtcRtttSaNNaYaMaDtatDtagaKggYgcaaSt +tgctactDcNRtWgtttaVtggcaaactattgSgaagtattatgDgcgtgtcttagcNtR +ctKggtMaHgaDaaagtactgtcgatttagatcagNggtaattaKaatgaaYaaHaattg +gttVaaMggatactctaBgtYHMcttccVcaaWtgttHHRgagttKaaagaBtaRtaaWa +ggttctatRatSgtatcYtaWcatgtaBtcaatctaatRgaYYtWtccattataBacttW +tcctaHaaaaggttgacgtRattKgaagcattSBtttctaNcSctSStNtYtWaWtgtag +tcttgtctttaagNKgaagacgDaRgtNaBaVDgaattggaYtaccSVYKctSKKcatag +ttgSttatcStactcaatSMataHcaKgatWVYtNacagtttBtRagYHaagtaNaaVVD +gatattMaagattagcatcctaMaaMctgNtMcSaRcgctHMttaattDtttYttcgata +aagtMtaagttaWaaDcaatccKgtgMMcatBgtRtaHBcttgtBaBggcaDcgaWttgg +gtaDaggtgatRtYaMWDttatcNtVcttRaKagctRgtgcNaatctgattatagattag +tatatgaataDNatcYaggKRacaatcaHcaagttagtKgRatRgttaagaaaatacVct +aaaagtgtaagKVgcttSWaaHatagHctagtDgDtSaVtgatcatttaNKgKHataKBc +tatatWaNgtttgcRaVNttaDgtcttagHYKatYaVaBtaatgaBattaYcNtgcaBtH +aacttVtccatDagVaaaYgWtNDBgacagVgctcaRtaHaaacttttacaaggaSRaaa +tagaagaatacccVaHatcBRtcttttaaDMHWtHgacMtctcaagKDttctgYctctcN +agaMgcgaaDWatMcMatatttDctttactaVSctagttcaRKWgtttKRaVaaKtacaa +caKttatttttggcctataaDgtcBctBDgcYYaatNactcaaRgaRWcgattgVNcWaa +tctgKagDMgctatKttRatcattMaagtctaRaVaattKctgaKtatccgaaRatcHMa +aaaaagattccacgtacgaDStatatctcataggtacgcgatgtgaaggtHYtatWagKV +KgaMDcaatttWccttgKgagtctagatgaatgVRcctaMttgtaRaaYtRtaacWgaaa +MttatcatNcgttactaaggtDaaggcagtRctcatcaatggYagccagcgaatatagtg +ttWtaccaRctagatttDtaaatRcDKtccHtBWgttctWaagccYBSgtggaaagHNtt +HtctaaattaBatggaDMgaBgatatcaatactcMtaaKtcYccgatDaYgHDBaagBat +tWattgatttttaagaRaaggatggYggaKttaKtBVBcttaWcttBtacctYaNYttgc +tgtBaaMtWtcWaagtaaggWcgMDaaNtccWMWtatcMVgaSaRctaKtBgKWDacDga +aaaNgttcaaaaataMcttaWtatgNaVaaRataWtgKctRatataagtgttgacgaKga +NgtaHattaaRagSgattctatgtYtcaattagBYBatccYtgtNacHagHtacVcVaca +acaccgNgBtataYaatWHSttattgctDacttgtgHgHcMcHacagctRSDtgattagg +aDHtYagatggagWtaMatcRcccacRaaaYagcagatgatacatatttVBBcaaMtctc +taWgaNtttcctaVcttaYBDBctRgSaagcNgatttcacgtcRDaVBttaRaggtaagg +HcacttccgDBKgagaatttataaaMaRattagcVgtttacaaagagaaaMtgDtttYtt +ggcttataKaStacaVttBttcttgBcVaataaagagtgagBgcgNcNattgaaacRcac +tDaaccaatWMtaaHtBgaaacaaccctcMctcaaatctMWttggttttacttagcRttt +acatRtccBttVcatgaaBacaYgagHttatWDtcctSatRtYggHtNMttRgNtgcatc +acgacagaHgtYaSaactgaaNWVagtagttagaNgatctgcatWYaDacataHtaWtta +atHaDgactYgttcaSVtttacctaatttaDgRcagacaDtgcYVttaagaSSKBYtgHt +DtNtcgtcWttDtgtcNtgacKagcactccDMacDNcccctWataRKcaaatttctRVaa +cagcaMtataaattWBctttgKgVcatttaVgtDgtatHtgtaSctagtatagcBtBtgt +atgtcgcMcgagttctacgaaBgWccgaWatgcaRtWtaagYttaNtcWaHtgattYDat +WRgRWagtRcHggNatNttWaaacaSgcaatMatgacNgggaSatgatttcBHcctaagg +WactacagaaaagctMcaaagaYtHVgtaaHKgKattVaWtttcctaWgaKattatgMaa +ttBgaaagtgaSaaaWtSNBtttYataVgNatgaSgcBaaccatattcctctagRtatta +tctttctMtgaRtctcYgaatDtRcHgcRVtWtaacDtcacYatRcttNgcgaDtVctWt +acHtatatgtatKaaggtaNcataKRaataacacDctcctWgtSaWcatcDgatatBtaa +tHSNBtcaataaStHtacttaYaDaMtaagMtgNaaaaNccccgYWHaatgcBcttaBcg +tMBKggccaVgacaWgaaaaaVYcRKctMgcaccWctcSacttcVtacgaagtYtccttt +ttaYgttattaataactSttRggtcVgagWRStatKataYcaatNMtacttcgcttVBaY +RaKttaaYatacagctBgagcttcHcaatBaaaVcgctcacaMgttaHaggctaDtSgat +attggggBgRMagtaattggattgYYHtVtcttSRYaacttataBtNKgatVaWSDWaca +tVcttgttgaagScaDaSttcactaattagatKttaMcHtMgKccaYatKataMcKNgat +tgtYtaaRHHcaWagctgtgcYatMHaatRDgtgttYctatNKtSDtaKgcBttgagtKt +acatgaaggcgMatDaWtcBatagtaaaatNYtSVgVatttcaNgRtaRaaNBttggaat +VgaaaaagaaggtgNtttVBgccttgtgaBtgMgtaaacBgtactWgtaacctatatgga +SYattYtVgtttaagccaRtatRMcgWMgDVSNgataatBRccNagagStHttBgctaBa +gatattaacaagaggttttcDaRagtcDgtHttcataagaacaKBttaBgactaRatgaa +DYHttgVagcMcBDgYactWgSgacBataMMcttSaRHgcagKcgaaYaDgttcataYKc +ttcMWttattaaBacDcttDtttBcatVggttVHtgtMgKcgaaVgtcgMaaHHYBMaHt +aaKaDttaNgNtttttaggMcWttNaaaDaaaaactRgaatagSVHtaataagttStcca +atcHataatacMcattHtacaatttctgatggacatatgcaaacaKBatgcagacagVcc +tccgcaacNatcMaHtcMtaSctgtaYgtStcBtcatDacRggttRgagaaHatVcttYW +gaDtatgYcaBKgtSWVYtttctWttHtctaYttttaBtcataaNgtBRaNcgttKgtgV +KgggVtWatcWagttSttttttaMaRWtccgttttattaHatttBVtataSctRWtgcMa +caattaStBcacggaatRatactVgaagMaaagWacaMgctaacaHctHtaatacacgaY +agtcttKagcDttaKBHccgtaHaacaKVtcMKcaataaaNaggttSaatcatgaNaaBt +acggBcaagatcRgttttHaNgtKctYatBHHtaaaDNHtaVtVagttVacKtcYgcatt +catacaaagtaacKaKKtaaNtNataaNaaSaBtagaattctgacacNtaHtataBDttB +ctataatagYSctgtaHcgccgaMBaggttaMHtKgttactaaHaacgDatataaagcaW +tgaMtttgVatcKaattcgHVNatNgDaaYtataHacaaacaagagtatatDStgcNgcR +taaWVVaDStNgtcaaacgDttaaggNttWcaVNaccctgaaaMcagVYVaMtBgtatac +SacgSgNtaaaDtRaBSaWcNacgYaggtcaYtattagVStaccgatgSStMattctWta +ttHtHaDtatgYaatattgttttaNggttVatcttRcgaNtHaVaStgaagactcacaaa +tcactgataaKBtNHtttctWWtattgactacNtaWatataaaBaatBttgggtatYttt +YtgttttVttgagtcVaMVgaatNtaaNgKMaacgtaatattKWggcagtgRttgtgaca +ctaaYacactggaaKaWYRgcatgcgttctBcttggtVaaWgtttHagtcaatctcggaN +WtaatBNcaMVKStaNcMtgatataatDYMctttcgcatgcYtHtVNgStggagcBtggM +gccctgtgNtVatactgcctcHcataDBtaStgNcagaYttaMtcaYtgtagatDaagaH +aaaRcRataattcaDtcaDgttgtatRaaaaYaRgtttDBgDcgaagcNttgcVttcact +taMgtMWaYaattcggaDcgaVtYattaBYaaaattaHVttttWaacDttaRaSWactcB +gaRctacaVStBaaatRgaacMSaagaatagYtNctcaatagctNttaVtgctgtttgYc +ttaatgtgMaStactgDBagVSggtSKMYttDatgtMaaSaVtccSRMgaaaactHaatW +WtcatttctDgcMcggVtgtRtcatctttNatcaatatYaKaaaatKWtDDDaaactaag +tacRHtcKttacaataggttWcttataSaYctgctVtaaVggatcctaHVttgWtgHtWt +taDHaNgaccctatatgcWtNttacctaYtttDWtttaggHNgccatattacKggattVa +tatcRcggRWMtgcaVRaaHgtaataattttaggtctcDccaatatgSaaaagatDtaaV +tYgNaHBtcaYttaaaaacagatataaagttaaaDWccMHMattggtaaagtccgaKtat +DKaVHaBagaBatactataVttDttDaMagctctaaDSggtttgaDacacVatcttNtga +tKtVaBStatgNtgDKYcaatcataWtcNatYccgRtcgBHacaBaatagaVtagcttga +KagcgHtttDNtgaagMttSttttgDDKRWtagtaBgtgagtgBcaDtWtaHcctatHat +ttgttWgagcggDtgtRDRcaaatagcacacRtDgtgVaWtaattRacVataBWacSYWV +ctgYtWDaVtaKataaacttKaaaMVHaaaaKNtaaacttgVataaaatMaaatMaagta +tcaaRtatSYRtBtaataattgtttgaWtaNNtctcaatNaataaaaaaattgaaaatta +ttgtgttaaYatccccHtaNcattcacttttaMgVDtaDMtcaWSgYWcSYtSgaatHtg +ctagaVattaBtaaaYgatattcgaaBtgaaDacacatRaagcgggagggDMtatDttaa +tttggaKSNtactRMttactgtBggcgtcatNttctattaVacgttccKtVttMacttWt +ctaYcacgtaVtaaRgKcttggatSYatattttgttacaaMgtgagagaSatattWcagD +ttggNtNaaYtaggaaKtYHcttgKattWagNgtaagHHVatYatcattaaaaaYtHgtt +caaaataattatBgcaKWKtagaatagtatBagaaMtattMagaMtHcWgYcacgttagt +gtDNggctatNatRcYYHtaacMaSStattRagRcgataaaatWNNatgaaatttVtKcR +tKtDtaaMcctccaDRcaHtBSWcYtaKttcacaaMaataaMaactccgSgtYattDtaW +ctagatBtaatSgatgatHKgttgcaaaaagaScHtgaaHRDatSagatcBcggcatcat +YVaatgMaatStgNgWaaaaMttgcYaaagttSHaYgaaatHattBgtaaMRagSaSacB +aagtttttcatgttaaYcagYtgKtYctaStcaagcgtaVattaNatWtHgtHKNDtcNa +KaVaStSacaaStttagaaataatgcDSatgtaKtgMMtcaaagtNattacMYgtgctNg +VcaaNcDtaaaVtYggtaaaactgcaagaWNcaaacctDSaaSgVaKtctcatataMtgg +BtaRttKtagRcctgttaHgWRaattgDaaatttHtaccagctcagaccKaaBctaagta +tWtaVagBgtttatgaHaaggattStaactWacKDVtMHccgtacaMWYctDtagatttR +ctaccRagtWcWgaaaaMcagttctgacSctaaaactgaatcacaNcaMWtWccYgtttN +aatttggttaaNtggttSattttcaacgYVccMtcgaactBtatcYttcYDVMttcgatt +aKWtatttagcaatatcagWatgcRVaatgRtacWaVVBttggatRtaNgRagttDYata +acDVBcaaactttgtttgaccatagHMtRctaWcgacagtgcVcaaVgRgtaagtRaaaa +ttSBKacBaatcagaatgtHattcaVRtatVSSaKatNataWRVaaagMaacataDgata +WHatcNYcMtatttggaSatttcHcgacaYcaKaaatattacHcSaBVatHacactaMDa +taaaggcacaacaSacctgtaaRgtcccaaaatWtDtagtcaagNtttgatDacDgcaga +DcWgatDaaKagctDWtttatatWgDcaaaWttStDtKtatSagVgaaKtaacgaccgMg +aSaatRRcagYtgttNDggcHScaaYDWtcaacgtaHgaStKtgMtRtaatccagtDaaa +cHgtacaaccHtagataNaattatcVtgaKaaNaaaaaaaagttgMgtcRaNaacagtaK +caBgtttgaMDgDMacttattatgaDgagcgtcacaaRaagtYaggMtaaactagaacag +VaMWataggtatHagtttaaHtcagtaaatgRgcatgRctgaMttBaaataagWVtcHct +gtgtYaaaaVtKtaSaaBatMtttgttatattattcaaBYctBWtggatBtgaggDagtg +cacVataRBctaBaaaataatttttNggtccgtVaaaaataaattBHaatBaagaHgtta +agcctaatcaaatgaYtKaatYtaaggtMgaRggtWgggNactaacgaRaaattSttWta +ataaVtHgtacttNtaagHaSacgWggaYggNStcctgacgDcgHggtttHggtNtMttt +DatNDgtgacgtatacgatKatataaacaattSaaagcagatKtttSagcaaMttttgaK +tMtagtcRacctKSttBttaatMtgcgttacaaagaVaataattcaSaaWcBVacYKtac +aNBaaKRtRtcgWtWBaRKVtYWWWgattgBctaaatKaattaYtMtSBMBHDtBtaggD +tcNctWYagtgSaaBaVtcttNgtcgttHtgtMtctatKtatVggKaSaagtttatttta +tgtactactHtHttSMactatHcaagaattVataaaMKNtaMccgtgatDaHcaacttRa +taacaNgaatcSBtatgacBcctcgggtaatWaaWtacacaattctRVgattctatgtgt +atHagatagggacVaattttDtNaWKagtatatHtagacgaggtatgtcagtgagHcccc +aatNataKMBaHtcWgctagtgHaatBatSataDatatcacccaagattttcSatKgatW +tgaagtcBMataaHaaMaattatgcttWWtttcgVKYNBattggtacttcaaMaVNcctc +HatcgctVcttKatgtctctBMggacatcaggacSgaKttgagtctKVYaaagtaaSgaa +aHaWactgRattaaBttVaHtggattagRWtaaDaaatgatttSMBWMaDactScgRYtg +aVagNctgtSBataKacStHRatctVgBKaggccaRctaacttcYKtcaDcttgaaacBB +ataatacYMgWgctgtacttttatgaSaaatYcccgattattRStccaaaBagaacaaaV +tttgcttatagaaacacScccSaNtaaaaBgtaaggcDgtSttRatMYSWatcgtaacgt +StBagttaVaaaScccSggaMDBSgcaaKaggatatacgtatgcWactccgVctNttMaY +taaatKaaatgKStaaaHaKatatgBtcctatgtVaBggaatBcgcaatgagtatHcYag +ctDgtWaaccagtatWWtaRtKagatagtgKatatgaaaggcaWgtNKaaagataWaatH +aaaaaKMaaatttBtatHtctNactKtBVVagtatcacgtMgtgttaKtaatcgaaMHtY +KNcMaatgcaSaaDBaaaaagaWaDtWMgaacatttDcatttaBaBtDttaaSMtcagct +tttRWWaataattcNctactWaatNaBaattaagaaacttYRHaccatatKtaKcNVgtt +YagttBtaaaaVtctcgVctagctcgSVatatagVtMcaaHRctaHStttNtcattRaat +gtaRtgttaatYtaagcattgaatttaKtctaKKgaaggtcgMctttcWaagcgWaKctt +cYttgtgaRaagMtDatgWgYaataKaatSWScatKBtYgtaagagaVcacgctHStaac +aSgBtgtaNRYaaWtWcKgaccDtgaWtgagMaYgVVgBaRacYtcKgatcagttgtaKc +gttgagNaStctggaatVtactaSNtaaagtaatcaattaaVaaDattHDBaHKDHctVg +gcaaacccKMaatVtgttacBcctStgBgMtScgaaHcatgctMtStaVttttcDaNagt +DVaatYcggaDaYtaactaNgtccaattSacaaaaRgtagaaKgtcRSNtgatBaccctt +MtactatKgtaaRMagataMatgVtVKagaRagtcagMgMaatRHNttagaagaatggga +atcHtttttSgtNgYatgtgcYtaatgDctMaaaMccVScgcRgKNaaagtaMtacaKaM +NaBatagBttttcttttYatataNaWcagatttgMtgaaacaBYtHaaatgtaDactatt +tNatttKttSattgBatSRtgKHttacgattgcggtaaaaacHHtaNgMcgHaVDtgtag +aagatBaaagDttaacSatttaatttaccagatataattggVgaRctRtcgccVatRNtD +gcagBcVaHtBaatDttatgKRKagataaRgcagtaKgagttatatcaMSagttccRctt +aaatgatcttataaacaaatttcccttaBaWtagtagttMaacMaKaaaagHatYKactt +tRatgtctcgattBcSagaDKtttHtBaccttNttVttVVtggttacgtaaBMRgatcgt +ctacaaNBtaVggttYaaggattccaNgRgtagBtgtaBacaagtataaatBaaatKRta +MtKHgatcgYggDSgKRaSttHStcatgtatatWacacRacHcatYtttaacYatatgtg +ttNtgcSagDHgataYttNattatcVattcaaYttggtaRHtWtcgaBacgtttaBacca +BaatgtcgcNagaNtKtaDtgDtatgDaBtcKgtBgatacNaccDDatttYtKggMtYNt +aactgVacattaaHgMttatcgtHMNtataBtKSgccaVttaBcttattcBaagtgaWta +RtcctDVRatgaattgatatgaWgccacDaatKaHtttacatNttaWNWgtacaggctac +ttBaYaaatatacaaaatttcgNHgMgttHctcKYcttgMtaacBaDVtaatttacagaR +ttttttagcKagtKactatMRtgtDtaattccRcaaKSttagttttBtctatagaKaVtt +ttgcNagtKVccttagRgWaNaKWttataDgcgaatgMKatgatRcYtctgVagaccgcg +VgactagaWaaHNtcRNRKaatactcYaNtSDKtcVVggNgDagtttaaKRgttaDcgtN +NgtcaYttggtttYtatgtaaaggattttagatattKMcatgYaaatcaVactcagagtR +YtgtaactatagtBaDtVaWatDatctataaaSgggtactaYaKKWagaaaaataaatta +tagRcaaaVataVagatatgtaggcWagacRWattctgacgcDtaBcYattgtaDggMat +gagcgagaggctaaatVtctcagRagDtSgKNcgtVcStacatttagNtgatSNgatcYV +tHattHtBgMacRaattaHBacRcNaaccctVaaYaattcVccatacKcttSagtctgKM +NagRaNcatNgcgHattStSKYRggtcagtcaccattttagtMaccctggVattHaatVa +gaaMaattaVacatacacaaattaattacgtKtagaaaMgatWgWccatYtagacKatct +KatMcggYcgcatgHRtcStVtaatHgSaaaVagtgaatgtgYtattaYcRagatgatca +taacacSgaYaactMKttatRcgaataaMSatacNgaMatttcggccacgaYYMcaKatt +RagDtRtatMVBtaattWtMHgNaWDgStaaSNggStcBcVYtaYagaHtacagttccMc +gtYtYttcattgSWcttagttcgtHtgVRYgaMacttBtatcaactaaaaVtDgataaDg +tatcatYDttaStgccBacctaaBagttgRtaSBtaaaagWgcacBggttagcMaYattt +BgtaggtRBaSagttcacgtaDaYaaaacDSaKattctgtSatatgtatggVBcctctgt +gaaHDKgttaRttttBMHgRMgHagtagMgacgaagttaatattgRtHtHttatYaaagc +agatgtgattagtggcactactVattagatctctgtttatcattYttgatHcHttagStg +atgactctDaaatcagtgttgtttttcYaaagtatatcYcaSaacaVttcgWtatKaaaH +WtRgtttaKacttctgaaNaYacctNtcStatttaaagttKgtgatcctBcaBtctttaa +aKagttgDtWctDtgtgctataKagtaNHatctagYgatcMgtggYaagactgacactta +RaaccHgttcaYtagWtggtgBcStacaMcMHataaaNagatactccaggagttaatcat +RttttgaKNgSgcaggtgttRaYcaaataBtaDtatHgBtatacKaataKtaggaaatat +gcataaHgaKttttatMaaaNgMatYattgaatNtatVaggtKctttHattcatttatYt +attagtataYtttagYcattagaaataHtaaccttactcatYttHMRagttctDagNSVg +cgVaNNattctVcaaVagaatttaagaggttttacRagtagtaaaBaBaaMtaScKgVaR +cNtctgtataagtatVgtDgHaYttcHYttaagatRgtgaattctYaaaattRtcWtacD +DaRatcaKtaSacaagctaNttRYagMSDKtWgWaYNgaaaatatNtaatatHMtMWRaR +acaaaatgctgctacNKaKtagttgVatDaVccatSDtgaSggcgWatccBgaaVtgtaW +ttagatVaBWtacgWtaYattaaatMctDgDaaKatttgaaatgctWctttaHtggHaBB +SRVBWtgattgagatccNcaaaHttccgVcttaDHtNgtttaMggccVWaagattgKcaa +cgagtatgtccctctcttaccDtHcttcctBatcStVaactaatctacatgtacataacD +gcgaVttataagcaaRWataattcggtMaaBccYgRctagatctNtBaggacMaaaNgct +gttHgScgttaaVgattVDtaaNaccggatatHatKcgataRtaMcagctattcaagaga +atHcYRNgNgcaWtgagYtacttNtaagStaVVagctgcaaggHatgtcaWgaattKttg +tcgaBcKatKKtDtRtNYNtctactatgcgatgtaacDtcaYgaactSHctDataKtcaa +gtccVRtWaaKMRtagKttaatagtggKttYtaKtVataWYgHBatataatcatNMRtDY +aYcttgttHagRtYacgaDaaMMtcagattBVScattYcaataataBWaBatgDtBaKaH +acagtBggaVtgtgttRtgacataaagtBtaVgttaNaatcaSgcctgtcBBaVttctHg +VttcttgttatccaatacaNtgcgctatacctcatHtNaBMtgtagaDtKagtHatacct +HgtgaDVWtatcWgtatScattactSgatcWatatDataRSgctHaaWataataYacgta +cgtgDatHcgtaacSaaagYaMataYaactggaagtKgattKMaatStRgtatVgttctt +KSMtcataVtttaDtgttatattagWtatNaDcttgccHaMDttStgtctgagtRtatRS +MWttaStcatattaNaDtcaatttaVatgMtcaattagMYWaRcNtDttcaaagMgagaV +HtatYaacggttScaaccVKHaaatacWagaataaccMatWgctDtatttgaatBtNttg +aaBgagaaWcttggatcRctctaDagWBcacaatMStBcBWtatggtagtgaagaMKata +cttaYHtNctgttHSMaWttacaSaatgtattttggccatatSatcgctctttgaRRVVt +DaatcSYHcSDNacattcMDaNVagatctSctBcatagtggHagaVtgtSactctSHaMa +WtgtatcattWtacgaaHatatBaaSaYacagtaaaagtVacatKtatatataVtagcgW +ccacagctcaaccttRtatNactMtcattaaatttNaaggctgYctctacatcaVgcMHa +agaBttcgYDaSRtHgaaaNcaWYBggataatBactgaataYgcgtaacccactHataag +aaWgcgRacccagagaVtataggcttNtaaaaHatacatttttYYatHattgaatgtNct +tatNaVcaaRtKctcgaaWctDttttataaatgatagcgSttcVtgatataaataataBg +aatgaRacgagtaRctttaactattNagtcagtgtgaSgaHRacgVtggRccatttatgt +MtattaNatgttaaatRaBRttcatcttaRBtNtaNSWgtVSgcNacBtWaDgaaNBMga +gaBMgaHaHagatttctNtWatcaaaaDgtgcaaWaataBattaNtatgDaMaWDataNt +ctatDagatSWctctggaccatcaBgtatattaaHacHgattcgatgtRtaYattactNt +WgaaRgcgDaatactgWcKaMacRSaSaacDgtgSgSRaagNtKttattcattaagtctg +tctctataaVgctHKttgVtgacgattgRYcatccWcMtaBagaHacaaaDaaaRVgcac +atgatYaatatttMttaaWBtctcgaNcWDtttcagYKattaRtttagHcKaacaBcagg +taacctaHtaMtttaHacctVacctaaagtcactttcWcaatggatSaataHattacaMg +gtgaaWaacagaaattgttggRggcgattatWtaKtScWKggtttcttgtcMaRgYYaca +cggagtgccDcDattcaaacHaacttSScaaStMttaYtgtcWaaaaaaaataBataWaa +tatBNttcgttgtVatgacaHtgtacatHtaatgtKcatgSatacVRcVctttagNttaa +tKYgHtRccttDBggHgDtgaatcaagacacWtcgRWKaactgRaDNMactactgacaDg +VgatcaagNRatacagattSMttaattYtgWctRgttaaKMgggaaataagttatgHaSc +YaattccRMggSagaKKttRggtttgDtcgtcMttttggaDgcVctYcaaataattSctD +accatNataDtaaaWtttagHMSSaagaaBgatYaaggNtagtgctcMaatttWMggtct +atttggaKagaggatWcatttgctatcgcccBacacttataagaYtcNcagaNatcaYHg +NgaacRgtaDgaNYttcattRtagNDcHNVcgDctggDatDtgNaaaaaHgaYagtRtca +aDcgcaKatcagttattcataaccNaatacacaaYWcatBaaaacaRttMgtaattctWt +tMaMtttccgaNcatVtgatcBaRtttgSaactcaKYaaNtKDttttRagaMcDYgcaKc +ataVaaagattcatatWcHtagtagatttctBtcWHtctaRgaSttgHatgaHMtNtaac +tgaaaNWtDctgDcacattMctNgWattatatctSttaScctaDaatatDYataaaaata +taatNctKaNaatatcSgagttaagtKDttaaStaaHtttaatgaRataBtaVcBtcDWW +aaDaacacRNtaVggatattatagtBttggcaaKcacRNgaaYaaMRaHtatBcaaacNa +taKacttaMtaacaacgRtaattgggaRcttagtWataactKttDccgaMcacNHKtatt +StaRcSStDttacggagagtMtaNHatttWRNVgaaacattcScatgctaVSttaRaMag +atcScaBggtatacgatVttKcVtagtgccgtcDtagtRagggcagggRRttKtcgtKDR +aaatgatVttDtcatMaNKtNacagMattgttcaacKaatYKttaactaatgagatttta +BattBctcaaRWgtYtYBatDcattggRtaaHttcaNagagctcaRatBtaagHtctctt +RatagBttHtgatgattgcRcgtgSaagcYaccacBWgtaNtctagacgaaSatBNtHMc +KagttaaDcHtaDaaDtttccaatMcaSaaacWWggtgDtgtMtcacggcgcWttcBcta +aVatggaagNgtaacctagatggYKRVttRtMcgttaagccaHgatHBcgNtctMKDcYt +aVttHaaDWcYcKtttttgatatacataggaaaaacWgctgttatWHaggatcgtggcat +aagaaaWtttgatcaagaDatgaWtRtttgMagcBattcNaatNcKgaatatWBBcttKV +HtgcagtagaYRatcggaagaRtattaBNttattaataatatgtttttaagMggggMttc +tBgtcgaaMctcctaVttRtBattaatattgVDcDtggtgaccBaNttDWaVtaaaaact +HcaVtacKMtgaataacggHtaaaatatataYtacBcattttSaaSttgatcatccacat +atgcYaVcattatcaagacYcMaataagaWWcBataBattcBtaKatgtaRgtKgattaS +ttYaHcgttHcacaatatKatgRMgatgatgRaattctKNMRtggatNttttagYRtgtg +YttaataaDcttHaDcctttgggMtcgcMgNYtcNacttKtttttgYBaHMgcccgggtW +ttatVttttMtVgaHagDNtccBVaaagtaKttaaacgaYgHagVatMgaacBaSacNaa +aBcagaaaatatttaYgaaSccaRacgctgtYcctttStttaacgatVWaatKtaBtaaa +taVaBVcctgKaatcaggaDYatgVcgctaaacVtcHctggttaDggtatRatttttaaa +tDttaMtMaggtMaattaRcaaggaatVaaaactSRctatttWaDtBataaBaaKattSc +SVgtatcWaaaBtattVtatttttatYtaatacRKcgcgYtccaacVBtagcttYBtgtg +ttaataataWactatataaVccaNtcaBtttcMagataatgactMBatBctaaRtatata +aaaaaRacagtatYgtHgcaDgaHtaaNMMStKtDgtaaaaactgtaaccBttMaaMDVa +aaggaVatcScMRMaBttctSgacKaccKcDgaWattHVtKaNcDaagRSgcgcaRgagt +acMKtWaacRtcKKtBYgtagNtatgtttVttatcRaWtattcgtttaDccttMVtatgH +agaBgtaMWKtcVagaagcaaaaStaaatgagaWtttDttttagNMgVttcWagacDgaM +atataaataagtttgcctatRtttNtcttggMtggVcgaMaBMgaatDtVaDgttaaacg +aagVtttNccaagtgHgtgtcScaataaRYaactgcVWtaNRDccSggagttattatgcc +tMaaNcgtttVgtcaatctaccaDMtaattBaatMtKgaDcBggatVtaattRBattgcc +catgaNtttMDcKtgcaccttccBccaatctgDgMSgaagcactctaWtattgaHgcDaa +gVRgtaBtaaRtgtYcYttaagataaaHaHataattaattaStcttcgatHWaaRRSHct +ggttgtccaacaDttcaKggcVcgtSBctBNaRaattcgcatagaMtNattStRSaaatt +VtMtgttNYaatgtaHaKNSagatcaHctaaaKKgtaYatDgaaaBKSacaatacRgDct +aSagVcagDgtYMtcatcgttcRatgaatgtcBSKtSagcttagKKccgHtBRgttStgt +BaaKaMtaaKHBgaVaVattaatNNgcattgagtcaBaggMgctHtaatatttDatcWat +agRatVaaattNttttaaVctYagtRaHttatttaaaVtaccgtNattataKSRcgcagM +gaaMccagaatatMgtgNtcttNtgattaBgaaaagatWtccNtDggaaagaNttttNtt +tSggtDcaaagagtactccattMatataHcgcHMBtgaaKHSYtctaVtaattgtacctc +tctaaaVtatgKaWaacagttYaMtNgDYtttcYRtgYaWaaaacagataaacgtaVatN +aaBtBattcctWaaggcacatgWtttaMtVtagatatacgataMtttggtVBagatctRa +tKggttgcYtacSaMStattBgcatttKatKtVgcDgcttNaaataatWNtaDStRaacH +tacttacataatacaMtYgcggcatYcactttttDtcaacBtgHttggctttHNtRcgat +ctcactctcattMtatccgattaggtgggNgagacgttctDtHcaaatacaVaaaHttct +cMaNtaattHWaMYgatNacKNNMatcRtNtYMgVtataaaatttaaaBMtaaaatBtaa +acttgMataaaagBaaatBVactagaaaHtWtKRHttgaatVattctttgaNgaDDtatc +VWtDaataaaVaaatgcaYaaggatgggcttaaRataaacttVDcattcaattgtaBcMt +gYtBtcaMKcRNaKRtKcaatttgatWgaMagtWtgYVaRcagattacaWttgaataaaa +WgHaagacggYccctBtWttttYVtttggatKBtVagHBgtaatgttcgaggaWtDtgat +attaMaagttcattMtttWcgtNgcgaRcaactaMgaVHctctgcgagKRatWtggtcgt +WaaaBctcScVcaHatattNcactttccBtDaaNtYggaattRtcggctaggNVgDcgaa +cttMatNagaagtaaRaaRttggtaVSaagaattattcaatNttWcaWtaggattScaSt +gattBagVBttaNcNaSagttagtcttDccctatBatHaRRttaacBYKKtattHVcHag +StaSaatNDDatcSaVgtgMttaHttgttaataatcaYtDcatttHNaRgWtgtaYcaaB +aagaatYaagaccKggRattttaNcgacStttaatKcVtcYtttcggcaaaSYacaKatt +gSatHtWtKVcagatccccStaatRMaatgtaatKtcDgNaYaaBttccRaaacttHtaR +caaagtatgtctaaBDVcKSKVatSagtggttaatcttaVNaagRtctgRataKgcaaga +ctSKattaBatNttggttDtgcDataKaKgKacaWHgttScVaagaWtcatHagcgattc +BBtcWaactBatgacBRctgatDcMaaVDattWaaKtRcctYVYacggaaagVNBaaaaa +attKYaKcMatgagcatStaBtcctgaHgtttacHacgcttatgNHWatgctWWattttg +YaaacctaacYcataVtagVagtVtNgaMagtcgttatcYtaagcatgKgaaagNSattK +tttaaggacaBNRatttacatttHctaaaHactNcNcaaaYBcacggctcaaHagaaSaa +gcaWtcaaaDaaBNtNacRgtttBSVtttccttaaDgcctgKSttgtcaaacNMcaBtag +aWatttVgcRtgaRtMttgccVttatNtatggacaaagWgcacNatcaDMaWtcHgaaNa +MMtttgcatHtYDcDactttRYtaaatMtaVaaattggtgtcaacatVctBtHctYNaca +aactcaMaaaMcHgtaactHaaWattKttactYataagaYgcttattaWMDgStMKKata +tDataNHMaSagBaaaVtYtgVtaNtataDRcBtagttcgVKagggatacaaSRaataaa +tagtaataKatMattVaSatSBtagVaYccaaaYacaKSactctaaHctaaaSaaagNtt +gactaSacDtttcattVctccagYtcNcagtWatacattNgttagagNctaYaYNttKgt +tttatKacMgRatgaaacVccgtcaKaatHHcacRtgtgDtccatHaaaRtNgcaSagtS +tgWKtttgBtHtSagaaacgtaSaatctacWaaattagagaDaWgtataMtgataaDaaa +aaaaagttcBggaHaDWWcYctYtcatctttcaBtctBaattattagcatgWcacgcaaa +aDaactRVccBtaWaatYcVVcacMatNatacctSgtWgtttaattcactaaagcHgaat +cHatcaBtgtaWatSScMMgctatctctRaaaWMgttaKaatagBtttcttagaggVttc +aatRattNtccatttcagctactccacMatSHtagataaaWgaagtttgDcctaagtMaa +aYagaaattttVattRacatctgaaccataYtcaaatcaRttaStRgSacctBcaHcgtM +cccBaagaaagaDaaattKttNtaataaMgtctYcttDgaactaKaacNgcaRccDKtca +tgaagtactcgtgttcctBtBtgttatDtctgaactataacagtagStaaaaaatgHaaa +caacYgtgtgHacaaattgttcSttBtVctaHaacttKtttttWatBtcccttaaVaaca +MaagaattcaKaSNatMScRtgaaaDtSStDtHtacNtNtaHtMtNMNNcWtgctctaaW +ttaattaNtttKtBttttttagcttcDagMNagtcKWatVMgcttBcgccttttgtBtat +atttYtMgctaKaacttgattttatctaatRagtttggKBSatagtaVVcaattMataaS +BtDtaBaactgSgtatcaactgHataacaDcaRtcKttatgaatcatacgcgaagNYaNg +aaacaattatHMgYgtagatctctWttacatVgcgRcMaagttgttDaNtScgStWgtga +caacacggVgcgaSctcactcaaaaYtDatatBtattaNgatactctaagtWtKSgYtat +ataaaaaYagaggttaKagtcYtNtgaagtctBWgaWtaaBaattStcatgNNtttagMt +RDtWttgctYattcVSBaMDcagatVgccatMatttatctatcgtBgcScYtaaccaaHc +attgcagtcttMNVaactWWKcaaataNaatgHatgaatgtMStgccattacHNgVataa +YtgaggtKttNBVtYagKacHRggYMacDatcgKtatVtWaKgtHatatMgttScgaaVH +agaaattaNttaatatgcaaacttWgRagaaRBcNcatctaagtggatgVKaaVgNcacc +agtatgHKgacaWatYcSacaRaMgttgcttatVcaaWcVaKaaaKaDtaaaatcgVacc +atcgKgtDagBNKNatccgaacgtKgtYctgaKaaSKcccKgcVtttKcaaYtagcagat +VcctVtgaMYctaccMcgDtgBaRtaaattaaagctKtaaatatatVgctgaatatctMa +tccaattacaSYgcactWttaRacattgtNaYcaactatNNtaHttYcStactctatatc +WSaccaVNctBtaaagataNaagtaaaaStBaaVtggttatttagDScttttMMWctagc +aactBctcttattSatacSatttRtBataatcaaKVSttaaaaacaNattMBcaacagtt +tcVtttatatttgtaaKBgcacattttHNNaVtWaggaDataatNaWtBataattVacWa +aattRHtacaSgWtttataDMcttRScttttaaaaMgatacMatYccgacKMagVtWcMt +BaaatDatatHtttDtaattHaatctaHgcgtaagRgWaccattgaStttattctattcV +acctccBcgttaNaacagNWtagtaNgtctgaHaacBgtatgMcRVatataatKNKaagt +ttRgtaYcYcaMaaagattKgaaaaKcttgtaBHNaWNgMatcacctgcaMggScBaRgM +MctaDaaRgctcYtaacgtgtatacttcacDaKtatgcaatMtactaHDtaaVcgaagaa +aggVaMaatYtttttattttatMggaVYVaaatBaatMgctgWctaagKtctgBtKacaa +taYtgctBgKgaMtgtgataBagttMaagRcccVtSNtaWcgVDctcaSSttKaaaaVaD +ctacYatctcHHDtgattaaccttttYatattcgaaHBagWgYtSgcMtMtagaHactaS +gBgBSatHtDttagaacSatcccaYtatttgtgKcgDcRatctccNtaagctagBVWaBa +aMHacaHctDVaWgtaBtaaStVtDYtatacttgttcttggNYtatWBSNcagatttgBt +cVaacVtRgtYaatctatSatagttDatgttgtKagtctagKHtcttttaccattcccct +aaaaSatttaDgBactaMttctVcaacVgtaSYcttgYaaKaggtaWttgaaaYgagata +atgccMgSHatHtacaaMatHDttcaagtaMatgtaagtgtaggtDtacStVaHcaacta +tgagttatataaBHagggccHagtaaagcRgcttagYaaaaaagttaaattatYNtYcta +gtttaacBataaWactVtRtaatgtHatctagacatttaKagStttgttttaaagtDttM +tgMKgcgttaactaVttHcatccgctaaaaDttSMccttNaaccattacaBcHctVcttc +tYtaaSSctVtRVattaaagtHtaBgttcatacRcctKctHVHgttKtcatctatagNSa +acHVatcVgRtgtaaaRatYtcgggtBtgcKacttgataRttDattatcMaggcWWRttc +cgaHttNtacYtYactgtatWaaWtaaggtacaDacaDgttStgcttatctattatgttg +StaaDaaattagttRgtgcBgRDtaWaggMaaVttVRtcBttatcgttBDgVgatttKga +aaMttatatgattataWctcWMgaHgaattMDatgVagtgatatcaNcaaaataSttatt +ttaaatDgtaNDNggaaacgataatttaRaaatataaaVaagttacDtgtggttctatRa +tgcBtaVatVtMtaYtttaaYgaHttgttgagctacttaatatBHtctttaagtcaHaWY +tKttacttgtttatagacataMgttgcaBVcttMacttYcHcNaDatNttagatcagaat +cttatcatHaNtatcMagYaacacMcaatacaNRatDtaHDHtSYgaatcRaBtKttgaM +KgcDgtacgtgYatHcggatactDDctaVRgtgctttRtatgtaaaccagtttacVtatt +tBcatcRaaYgcaMaagaacSctHRtctaWatatacgtattKaNagtagatataaWKcgg +gacgaRWttNacaaaaagaaatgatacDaaaaMataKacatVgcgVcgcNacaaHNatta +ggaacattYtcRYtggtatccBatcaccgacaccagaaagMgataacHRgttKctDaggM +aKtaaatttScBtcagKBgYtaRKttagttttcBaaHYatgattaaDaDVacaagKaaRY +attaMaaagVatattKactatcttDacHaDaatBcactattKtKtRHggtaSctaaaaag +tttaggBScaatcgMStttaatKacaVBSattaKaaagacacaaagtaattWactttacW +aaBgYtMcMccagRtacaatatcttatBacgNagaRtctHgaKtMgaattcKYaaMacgc +aatctcNgYgtYRaHagYtcVgaagaacacKgaRaacgBtttagDcgaWgaYtKataaDc +aBatttccgaaaacaRRBaVtRtgHacttHgagtMttWattMtBtgDaNtgKtaaKDccK +gctaMRtaNacattacWcttacBacgRtRttaYggcKNattagtgactttcKHNcWBYag +ttgataaYagaWaSMttgataatctataatRtggaKtcactWaataatYgtgcHgYKtta +aaacNcaSatgcggacaBaRattttcgacctHtaKYgttaaactataRaaSactKatSgg +atgtKYtatctYggcMtactatgtgaWtttctgYDttggtBtcHBctactacBcVacaag +tgaatSttcHttttttatRYYaccagatctgatgacgcccVataagMaggWgYtatctgt +gtatcWttRttcattattgYcHtgatcVatcttVSataactgtgcgtgtgaRWaacgatS +gaNaVKaaaaMttccNtWgtVaatNtHgttgatVcttatcaaDaRScagDtaKtatttYa +SctttctcatccttaattagttaaatactgctgNcttgctcatatatactaDtagctagR +cataBcgccRaacaagcacaagtaHYaaatgttaaRgacNgccgctcKtacataBtWtaa +aDagagactacaccacggaagcStHgggtcatDcKcaacctctgDVRaYaatattWttat +tcttataatWatattaccYaagWtgaataatgatttgtatBYSaDctatRattgaatDgW +tMacggtattttRgtaagtgWtRtagtSctVtaRgttScRcattacYYatattaRaagga +ataagRtttBHaggtattacBHMcacKaDDagtatMaaSMacaSggtVVgacctgttaaH +agtactaaatYtSSBgaKatcMVHcDtatgtagaVgtWtMcttctYRtgctRtgaacatD +ctcRaggatRaaVWtgHtaMgaattaHataStgaKRaVacataDtgDRagBHttgNcNaR +DcaaSagStDgaStattBtBNHRHacaYaatcagcatacDtattWctgcMattaMaaWgK +ttgRKgcacNYtcatcaaKtctaNtgacatMatMgYagNtaRWtgaaatBattctaStYg +ttcSYatcctMagtgatgcgtattKHKtNtcattcacatccDaaWattgcacMattattg +DcttgaBgccaMNaacattctcaacgaggagctaactagattWaatgtagtcagtYtcKt +MVSagWagataaatgtaaVtaSatcccVMttataacaVWHNataWtgccggBVYtacRgH +atagVtctDttaccaataSaDgcggtttcKaggtaaMcatgMttaaDacaccagYgtatt +acWgaDtaBaacctatgaWagacaYttcRHDgDgaaMtcagRtaattDtaagKtYMMaca +gcaYacgtWtctcaNcaagttttctacVtatagttgttDgDRDtatScgatgcgagggSa +cttcaNcVaatKtattRtWttaVagtaaMDtMaattHtagtttaSgWctcctggNgatgM +ataNRcttatataatcVtDBHgtNaRatgctttacHtRacgYtYaBBtaScWtttMKcSt +gRcaSgaagatNVtagctgtatVtaaagttcgWMtgtcgtHtcacSgaaWcgttaMcttW +DWataVKcaatctattaKgtattcMttattcgtatcaaatacaDtcacatatVaatcSgt +gDatBtgtagatgtagttataaagtctcatMNgataNgtagKcatgaagKcYgcNYtVtt +YtaHKcattaaMagaataRWacgSactctWgtcgtaaaKaWagRaBataRSVatccYact +tcaggtBVatKtHctatMcttctgtHttcataMgttattcttRtYttagNtVtDatattg +catYBtggKtctatcYctDtagHKBNttYKtcWtRgtaDatgaaStgtaMagcBgaaagt +SctRNaHcDgtttcYaacBcagaMttatRaVacgttKaaaacMttaWSgWcNRcaVgSaa +aBatNcatttatttgYatttDgtcaatgagaYNattggagcDagagatacNtaacaWtBH +gtatNtaggctaggcaacYBtatWctgaRttDatcgttKtaNtgaaaHaYtcgattgtgc +caagagKatcgatatttcaDHMMttVagaKRtaKtDacYgtcBtaDMacagatHcttcag +actcgtagaMggtKSctagKtaBYMggtagcStgNgaacaatSgattaaKWNaaYggaaa +acgMaaattgatagagaMtacacNacacSgagcYVaattHgatDWatBtaattaaYttgD +aacgctcRatatacVtcaMgcBtaagattgcgNtaHDgtcaaaDcYMRtgcataVgtaat +caagaRccctYWccaacttagaagaaNgccHWaaaacacaMgatScgatgDtWaaVtata +catggtgRNattattcaatctBcttatDaMcaaHttatacaaNcttgtttagSSatgata +cccKttaMtcatWgaVataatatgYYtcaHaacactWHatttVYatatgDactaaggcgc +aKcatHaccMtccHcaatgtWtctttatgWDatctgWaagHVtDggaagagtYHttBgaD +KMctMHccDaattMatcaaBtBcagatBcatatagatttatDtNatcaaaatctgaaSNa +agatagtVBtagctaBVNtStWBgctagtYgatHNatatgcWacWtaYtctatatgaata +ctcattagatcgHgaRattaatDtNcaaDgactSatactgNataBYaHKaKaactctcHc +KHRagDttgtYgtaattaactagctatatataaKcattttgcKtcaacSttgHRaagacN +aBtatacataaaaataVWHMcaYcagcagRaagagttBttaaMtgatacSDaNtttgaag +RtattaHtttagtatYaaatcaccgaYaatattWBtttataactMYactaaactaaattt +cNcVatgcVgKVatatattaaatccggaaNaacacaSatgcttgcHccacatgatNtatg +KaNtgctggagtctataHcRRScSagcactcaatataggaaYaataaagtKKaaaKtBtt +YRtgtcNVVaaaaaatatagaNaSgattDtgacgtctMatcaaatggtSaYtttaatctt +aagcKataaMDaMctgtYcDtgaattRctgHaatgttggtcttcaataWacaaYaNtacH +NtVWagcHWtBBYagSagcaaatcKgataaSgDHataaacattKBttWagtRtcNagHct +taatBccgaaatVacggStctaKaRaVtgcaHBcgKVcattttHgctttgtgacgaBttt +tccatccMatRcaVataattKattaaaagDatVttaSRMggtacttKHaacaatgagRaW +cgDtaggcataBaVgttNBcgtagSttgccYtacWcgagNaatttgctagagacatacaa +ggataacWRtcDaacSDStcaRtcDcaaaHgtatcaDRtgcagtDtacBtatDMagtatc +ctagtgcDaSaaRtcaRactHgaaatccaRtWgaacttattaataScaDaatYaaaWaRN +cagtaaaYcaHttBctaattctNggBYBtggaacaDaatKgcagataHtgtcKaWctaVt +NWYBgttttgtHScaBctRccataataMaaacatgaatatNatgagtWgatggattgaNt +tataHcSKttgtatcatBtDtaWatcaWaDNgtagctaaaWttBatDgMatgagatctKt +taHactataSgattRataYaYatagaatDagtaDaagatcKcYgtgWSgtttttaYKtSa +tttgYatgYHStattaKcttatNNSataaaacHBtaKgcataggYtacgtttccaaVtaV +aHDcaWRYSBHattattcaaaaBatataaggaBtaacaYcgHgaatgcggYHagtactNa +gaaatttttacgaBcaaBttgagtKtYHaKKgttgaacgacacgBtWDtSttgNHDMgaa +aaattcKcatgataMKttVHVBacataKaatcggWtaccagMtttcKgScgcaactattV +ctHScccaacccHDtgttacgttHVaatcVgMtgttcatBWBttDaaactattcttaaac +taYtRtgtaWataWggacVgtggWtatgtataaaHNctRgRtattaagtcgHgWStttaW +DacacatcaHatttVacttagcgtHagagttgttcatcatgcaHcgtcKaagaRRacaat +NgtYDtatVgYccaYKVttDttBctYcttaWtatgYtaVttttacVatBaYKSSVaNNcc +gctgctBtcaagcacaNttctataYMatccWacBcgVaaatagWgccRtHMttHgBactt +YScaaVtgSgttacBtctBttaRtSMgttaatNaRatgttgtcatVtaaYgVgcVaaYSa +NcagcttatNtacgatagtcgaVtaacYVaMttggataaagatStcaNtDttgcBacata +ttaDWatDatcaatatNttagttMttcaactacaRHYtcggaacVHtaggatDggStgSW +tVatagctgtttaagBcccgBtgcgtctacYaBatactYMttHttVttaWtSttgKtctt +cgtgacctaDtttMYMtaaaaaattcaMgWatBtgWWtaScccttaaVVgatagaRtYat +aatttgKaVHtgcataYtaaaaagStcaRaMaattWgcaacaaRaBaataacaMNataga +tattatgWtagcgVHcgtcatgaHgtRatcctgtcSaaatWgtatcHBcatcatcHaatt +attDBHggcatBtgttagNDggtcRttaataVtctttStaaggtcccBtccaBgBRgaDa +atttgtttgcNtatBgaaaggcgNttatMtggtBgMgatactDtcatMaaWctatttaaa +acYNgtSgMatBcSactaKYaDVaVtcagaaaStagttYRcaaKacaHaacagctNcatt +tKtttaaacWtMNaatttattaaVgaMStMcagctaWgaSccatNatgMacataWaaMta +taggcgtatcctagHatttttVaattttSBttScgtBSatgaHcaacgaVtMaaaactKH +atatttNWtttataWtaatVttKaKMggatcMaaattattMgatttgtatRtaVgaaDta +cacRtaaaaaMttScaggRttgtcttSatYWtVMactagatVaMaaaDtaattttaBWca +taaggaatBtRgtctaWDtagWtaaWYSaHaaacgatRcttgcatcattaSDBBKttttc +taYSaactcgYacatttBaattKaaaccaMStaHatHtatgtctKcWataactctcVNYt +ttMttaDatSacDKcacaaHgaggaaBtgNaaaHtattgtRcgacDtYtctttMttatcD +aNgattagtttYtaattBMtaggtacatgtYBNttcMacaagaaaaaKgaaatcacaNtt +gtttttagDBcMgtaNacSatcWBWtataVatYagtttccatatHtttDtcgtggBggcK +acaBWtBcaattgMatcttaVaacVYgMgttDcaaactctctcgcHaSatYVHRaaatcc +MMtaDHtaaKccactgattatccatBYVDacgttMctaaVtatacaatBgaagttaattt +tgatatgcatKgaYttHtatggaaaatcaDtttBtatgccacattactcaaagctctcBK +caagcaatataNtattcVtcataacMHgtattaaDtctNaNttYWcWtaVatatataWgt +aWtgaHtattcgagtMVaHDHtatgcttctaaWYaatttaatccaMactKtcgtDaDVWt +taccVtacYBgDattKtHKSVStgMtBgcgtDRSatggatatDKacataWtatWaVttct +SRWgtcaWattKaaYWtYaHctataKacMaagtctRttaatcgtgaHaggYWtcgatKtt +KaccttacttccgtttHcgtKtcttaatSBgaatttcVKaMattVSgDDcaattcagtca +taccBccgtgaVtaggttYgaNagYcHatMYaattDgtttaaMagRactHattgatttaa +SKtSccggBattatatKDacaacBgVWBaaacaagattgtcDtcttBgcattatcaaaac +agNtaaDgtggVaacYDgtttDtggKccttaaaWcacgSatacaggtagVgatacctBtt +caattKRtctaMgSattgtacctatataaaMgVtctYMYYcacttRaBgDctRtttaRHg +cRSMVaaaaacagaYaagtaMatDaatttaggcctNaacgaaaatgNtttaBtMtScVtV +tSacStaBggtggtKtRcatagHattcctggaRtaaKaBKtagttgaattgtatttMcat +gcttDaWYtaVtNDgatKtHaaattaattaaStaagWaaBtNcaccaatRcacttgtttt +caaattctggcccttttBgHccatcgaWctataSttBgataacagtacggcccDcScaac +tgattttaSWYtaaaMaVatttagctaBgSaggtNaBRgStDaatDBtatcHgDtRtgMt +StWaYaggtaYatBtaWaattgaaYattcBVtaVSactWaWgtKaatagaaatgNttHtg +tcaatMattcggtcaDcVttgataMNttYVgSSYMWaVtgcaRaaccYtgccattaaHVg +aaaattMtaSgtaYaggctataBtcRtttaaBtcHDatDgtaaVttgcagNcatWggNtg +RMaDcYgYttacWNtgcaWtaaVaNctVacaaccRcacttgMttgtRMtgtccatttgKa +gttctVagcttccaccaNgtgcatRgtSBaacggaattttttNagtDcagaHaaaatStc +aMtctagcacactHWtNtgctcgtNaWatataKcMcWtagaggDaVatttaatttYSDgR +ccWattHtaggctaccDMctacVaattBYtDacaYctWaHaaHttcggaMKaacSagtat +taaatDttNaVNtacgVttKaaHtgagttWcKtgtaDcDaKacgtactctttacatSgta +gtaHHtgaaatRtttagttMctacKgaKaatBttataKWMcggtttatgtgtgaStaaga +aRttaVtgttBaHgNtggaRaWataacaWtRWacaactcgHWttttaDagScKgtgSagt +cMgaRgttacccaaaKRaaatattcKatttNgtMaVcataccaKgaWgHBWagctaagtt +atcDaRVVtggaaHSVacggttaHaWWagtSgctctVattKctKtMatHWcgccttaYta +gtaKDaVcHtctgHagatcaSacaatKtatgatagDgtcgttttgatVtatStctYaYNt +gtgKaKaVcVNgaattWccgattcttgaMaRattRgcaatHctcattaBaaMtattNSSt +tHcagRKRaaccaYacMDtaYaaaatttRataBVtcacaagKtatgcctcatcgtgWata +agcgtatcDtNagcatNNatgttcRaaScagaaaRaataMtacMSctKtDgaBactaggt +WgcRtaWcaYtgtgWaagDKattttttaaccaaatDHattgacSttttatWaataatDaD +aaaaRtaYaggagcYatacYaKaagaaNtaaaYtaVtDtBaaDcgtttKMtggcagtVat +gccggtHgtgtaVaacDBaattacaNatttMgaDgcaDtttggaaMgtYtDtSgccaaaa +YcNgaacDVgcattaNgatgaaDaBBttgccatttRtctaatgtHNtaaatBtaMaVatt +cctggaaaaatMattgtagRDacaaacgaataWSBctctYVcgtSaMStgtttSatNaga +acaRcagtatgaNBtcKgBttRtattVtaBtBaKactaWaMgRtcMtaDtYtatHattSc +ggacMtaggcataaWaKHaataaagYcgWatatStBattKaKagKttacMaRacaSaRaa +WtKaatagSatcgaaaKaaVcDttcVcgaKVattggaYgtMataaacRtaDaactNatYc +agtDgttagacBataRYRDgttcttttattacBcHatgaRacMaactcatVVtttaaaHg +ctgttcaattaVaHtDcaYKacgKtcNtttgctttgHWcaaSactWKSatcgYaNVaatt +acRcatVNgtagatgcatYatVaaYWaSactgatccatatNMaNagNtaatcgttaStta +ttWattaggagaatcNaaccaaaWatRaatHMaattaNWatRaMKaWctWtDataaagHc +tMctttRSttaacgaSWcatcaVgatataattgtWMagKKaBBgatatctcgHSaaNBct +gVtaStagtttgaggSgagcKttaaatHattDtaaattgaacatactaaWaBYtKttacW +taaVNcWacgttctcctaactBaaSRagaaatgttKVgtHacatctcaScaataNgaaVa +gaaHttaKgHgKaccgtcYtcctBccataagaSacataaaggtttDtVStaVBgtcgNat +gtgaVctatWaaDccWHcctttaatcWactaatactcttacttgttcttatttatcaaag +atWacYctacKtaSaaaStgtWaVcaYaRctgggtSaaaWtgctgcHtttgMcgatSaag +ttgttttNattgaacttaaKaYcSBSacWattaataKDattKaHtgaaattKKttttgac +DtDtattttDBDDcMgcatagaVNttaWtgaDttgttttttttgacattatagBDacgat +NatMBcaggtacaatgtgctttatatttRgBcctVtYVctgcatgtgatataatHagttt +ccttHatagtaMMaaWggBataaKtttgataaagcKgtVtaaaatgtatWWaataaHgat +ttYtcWataataacagaacDRWDgWaWaaaggattBcRctacYtagctNgtScagMcccH +aBaYgtgctgtSDtHacKtNgtgacaaaacccMcacaKctcactaaaaaNgtagWtttYt +gaDcatWctataVctNttKgRtatataYaaaRacaggttatagtcRgDgcaYctattNca +NtVatYattKgaaggBDtttacttHttNtgcatRatgaMHtRBtaagatMcacatBatgt +StctagacttccKaRgaWccRataVtggaScgatttDMaaatNNtcYaYtaDaatctatg +aVtctBKtgccYgtWatDcMYtaaRtcVgcttttDtMtRagtactHccRBWatatcctta +tMtNatgttagagBcttKacaaMtagaaattaDttaatatgaaaRattNcHSgaaHtaDc +agctYacgccagcMtaaMgDaaaaaggatcttcaaVNatRcKVaaHRBctgcattatMaW +aNaKataaatatgWaaatcgMaaaatcctgttactDtDagaccYWacttctRatgataaK +taaatcaMttttcaaRtScaWgatMactMtcaBNataaaBactggtWHtYaattaWacat +tgaaVtYtSgMcatgaatYgattatacaYttaaaKRgaVagNgtaHWaattcgDaRaaac +gVtBDtStttRaKgVagatatWtcMKaaaaMDatttaaYcataDYagtaaaaKttVWMgg +ctgVgtgagtKagtgtBBNctacaaacttagattSttHagacKVttgHttatSataaWtM +HttSaSaaaaDatgBtaYaaaggttaMttgVtVtttctaattgaacaggtttDDVMtNSg +catataagDaNttatSVttMScNaaattDttYaaHcNgttatatBatgDKctttgVVaaB +gataaBatRaagactBYgMgNaBttaaattagatttttttaVgttaYtatVtccgtaagD +cNVcaWtgcaKgggYtgagattaMaaagaatagtgaBaVcacBNtagtaDctctcVtaSc +tgtagcBcHMWtataattDtaactttHctaRcRaaBaYacatttcVRaatctgctattDS +NDgBatcaaatgcaBccKctaHcBtctVtaaHgatcRgaacggctRtaagtaSatatgat +caaagBtaagatttVaMagaagaWWgcMWBRStRggtttWttttagtccaMRMaaattaS +gBccggNataagtgctctttacYataRtcattgtgYBtggcatRtacttBaacDacaKtH +DtaNacMtataaKKtgtaaaRMVtctVcRatcgatttgcattSaaaggttRatagtagaa +ttVcNgRtKccBgBtWcataataKctctKatttttgVcaacKStcacSRtattgcggtcc +tcHatcgaaDgaVgctagtMNVtaattaaatattMYNcgattaaKtMttRtYgacttgtt +agggcDNgagNtKBaScagttctgcMaaaMtHctRaYtcgRtHatVctttatcttggtYc +tctYgttgattttaacSttaaactaaaWHattgWtctactatttcgMcVaaMctaKRctt +cRaatSgctVNgtgaaaNcagataatcaatcKtagtgacaaBVtttgtaaVctaBatgta +agtgtacctttacKtMWtaaaatWtcVctgagataattacggaatacgSaWgaHcagtag +NWaaaSacggaaatgatRBtRctVctgtVaatataVNactMgDtaatggtatctacaaat +gtatacKtttgttttaaacgttgBggBtgacttWacgaMtttcagaacagaaRVtttKBa +cttDWaccagtaaatatcgMcttatRtaaKKcgMtHKattWYYgttgatgttaRgacHca +ttcttKtcgtttaatagagWgDKaYatKataKcDgctaaaHWgRtagccgttcatYattc +agSHtttattataBVccaNMHttacgWttgDgaaRtRaatcgatNaaNtWVcctacatac +YtctgKtcattatctattatcgtcKtaataaattagggHctcatgHttSNacctYaKttM +HtctttSgacgtttgMcStgttcaaSBggataggWttataNagaNBcatcaagtBtagcM +agtcagagaaDcaaaataKgtatgtgSaagtgtYDtDccVaaacagaagttaHSWataga +aaMYaggtacttctccttatatHatgctgVMatKttgaNtggSaRcattggttgWcatYa +gtaatatttgcttgaVctaataMRttttScggggtgagVcacatYBggtccatMattBaa +tgNataDatWtDttVcataacSVtattagaagtaDtatcBacNaacaaBaaagaaWBHSt +tgattttKRcVataHatttttgaBtcctctacctcRYttagcatactttagaMHgtcatg +tHtatctaaYacacggtaaMtatgttaagaHWaRcaaBaacaVaKattHgataNatatac +gtatttaDWctagatataaNtaccgaacaDMttDSaSYaaYgYaVtcatactaaWWtata +taaVtMcagMccaDaaSatBattagcaaaatgRtaHRgccgataatagcaaacacWacag +aaVgBcagaYctHctgtcttaccBattVaYtttHatgaVgttcRgaHtttagttttataa +tRWggattYatatMaaaactWaDRaggataaWgMataggtactatatttVctataattaa +atatgtgttDtcctaKataaaaacggtacgtKaaatccBKtgtaattacaKtKYtgStRa +agaaaaaaaggYagtNactttaaNaStcNtBcBaaacHtacaatSgattYttaacDacaH +tcttcatttgSYgtctRaatVagcaWtctcDcRctNHatScRtaMgaacWaaYatcaHaa +agttggagtacaNcSRttagaatcatVgtgaccaaYacWHHtaMtHtctaatttcactBt +gNVggBgttctaDtcttaWttaatcatatHgaDacatgaaNagtaatacgDgHttaNgga +tDaggactcaatttcttDaNtRagttgVgaVRacWNVHBttcVtYYtagataagHtccat +tcaatNaataYtNctgatcRttgaYaaaBcaKatcacgSaataHatggtacacctttatR +cgtaYacgataHWVKaattVtKcgatcgtRtatagRgccBtaatagctcVNtttatgRtg +gggtttcttatactaatcMaaaWcgcaatKttatttgtttatHRRacaVcSgatcagcaa +cccaMatYacBVccNcRgagatctgtSgaMttHgtaattatggRatgcWtcKatattMKW +taaatctccgtgtcaHNYaagStKcaDaMtaaaWBttacBgNctMaatDttcttgatMag +tagaaatYHKaacttattSgttNaKagttctcataagtaatgactgaVStaatcctcDag +tcataagWtataatattacagScHaatatagcaHYaaSagaaaaactYtRYaatcggaaH +cVcDcaccctattRaatattNgVaatacagaataaSaaaagcWRgaKttccgtaWttcta +aWacgatctMHaNWSgVtgNttVgtattStaatNatVttacaRWagNgcaSgRVtcYtgt +ctYgtRKatctStHWttcYagtgNtBaacgtagtgtHcgaSggcNgHgWggKatMtaHcg +tKaHaWggacRRatattaHaaggaagaSgHggtttacctagtaattBaaatSttYgtagB +aSKBaaSKgctMMcacagcgtYatSctWctSaatRtKKtgatatctMtattagcgagaMc +tNtBcgtatRDtcatHtgaVcYttctaHacgagDaaMNtcttaBgWattatagaKtcWtH +aMacagattgtHacttttgDaBWDtcSWKacKttcaHtSgttttDtHtSaVRYVgcagaa +tWattYtgNcgccBSttataaNctttcHtccaaDRgaataSatgctVDggacagBYtBcR +acDtYDNtgWaattattatYKtNcggaKRatcagBactgatgcctSttttttDtcSgtca +aataataaMVttgaacBagtattctatggYtcaaatDWacVtgataYYacSccVcataaa +gacagtNaatgtactaagtRtattBMKacNacagaaWtctSaMgaKataaaMBgtYtaWa +aKNtDStSNggaacgtMRtaaHctatacMtattttaccaataKVtcagctttatacgtSW +BaStgttgWVtYaacaacRgtSgtacNgatgRtaYcagStcaNScaaaRttaDttctcaa +BgcScDtWaggtgaacttNBBYaaccaNaactNgctaaDaaaggttgagaaMtatacttg +tgtctHtgagKacagcacagcgKSattaSDaKaatttagtHtMttaMVctaaBtgBaatt +ttactttaKcMagcatgcDcatcBagaBHattVgWtaataMgtttgtDaHaggctgtVat +tDYacNtNStttaKaNggtBtaKtgHaaKcaacatDMtagatgtatMtaaacttccNBgc +tacgtgcaaKgWSNacttSBaggMtNStaKtcaatagattatctagtaBttaggactYta +aaStaaYtgaaaagYtMaagaKctgtVtttcgWcatctacgtatVaagtagaattBcaga +DcgSgtaSggaactaRcaBRtMttRgattaattWaBYcaataHMacgHactatNctacga +VataNVcHatatVHKKagaaRSattaacgttMattgtatagBagtatctttgaagaBctg +attattHgRttacDgMgtWtaggcaatNttgcttagagaRatttSgtttBtgRtgaNtHc +gStatgaaKtgtaBacctgaaWgtKatHDStatctttaRaaataacaBttStHVMaccgg +taVYaaBttYNKgNaBHaaKcKaaatStBcattgagggcRSttttctaaatcacaRBatt +ccacatagacatSaDtaaaSNtttgtatDgWgcatacgaSacRttagNaggaHtttagcc +ttttWDtcYaVtaRtacWggctcaaaacVctWtacatagttaattBBttMacatDtattt +aaRggattatBVcacattattaagWctactVcaBgcttKagagttatRBgctagaHtgDg +aaaSVtKgattaWtMDWaRccaaWaagtaaVttgWgVgacaBtSaacDaaaaKcacaRKa +agttgagtNatttaSttaWRgtctaaccataDatagYaMgaWBcattaacSttcacDtSt +tgtaWYataRBHtccagaMctaagaWagSDaactRNaaaWagtacaScaSDcaatMaaaa +aaaVBcatKacaggtgMaaMtatVaVgcctcDDYgtattcaatattaggagtYBaaattt +agaaVWDattcgttagHKSgcWtWcaatttaBtaatNcaMYgYagatcRRtcataaaYct +NtatttKRatRggtYcgaWcgcccataWttVaaBtaataaatcgNtctttaggNtatatg +NaagtMttccaagactRttgtgattBagBtaataattBStcaatttaWcattaatVtaca +tgtatttBataVYWStagcaYKDaagYtaggKtgagatVtMDtKgNtcatagtNcagtBa +gagcaNaaNtaRtagatatcYWtSataWggacagagtcaDSggYatttDaaatcactKat +WatcDatatRattataaatatctattHSctttggNctaagtSacgagatatatatRataa +gtttcatgcSaaKttctHaRgaaDatgStWcataaaaatWMNttaaRaVgaYcHaagWgg +ttttaaBtcagacKtaBtggcaacHtaggVttttactatRWaataVcccaRaagattNtt +ggStYaatBRaataVacgaaatttaBaMYgcaMgtKStStVtgVaatacccYaDVYaVaY +KVtgatgcctacaaagcWgDtVtctaBtcctccacgatatWtcDHHaHacaaataaatat +accaYRSataVagtttaaStgttgRHtctaDMMaYYaaagatacaBWKcagttgcaacga +gBagcaaatccgKaRgtgaatcgtaWcatYtWaBtaBatcgRattcaagtHctctaatct +tcctattaaYgaNaaaaRaDtactDtMNagatMtttRacKaccWaYtatcagaaKcttVt +VaaaatgttgtNYgtHtaDactaggaRttaccVaagMacgcKtatataHaMtcaattcct +MaRtttttcatgtctcaacatggtgacatcaBatHaaMagaatttattaaaactYgMtta +KHBccgacttttaVaaVtcScHaNccttacccatataMgggDtactagKgtcacRtacMa +cYgBaatttcagYcacaaataaaaggagYaaMHtataaaHtKgaaHtctcaVatcgStca +tHtcaYctttWcttattBactataatWctcctRKaaHtaaHYcttcaYataaaHtNcaSc +tgattaagaKaatWagRaVaNSHDaactaYVRaatgttatVYttatDcctRtgcgaacSt +aWttgaYcatYtggtatWNataMtDNRtgtttgggtHcWtatHaaataatVtaaWaVgca +atagDatgScgNcagggagtcaDtgagataKtgtctataattgtgaNatcaNatDgtagc +taaaNtgtagtcBatgWcagagtgtWtaagWtaKgattHagWRaNatacaagtactYtaW +gatataRctcNKcttttgaRtgKWtgtgRagcNtKtYtgatatgatBDKVtaaaaatttW +tcaatacgRtaactttaaaaMtaMattaVNHRKttattattaaVaatagatYaggattVa +aaRactcaagccccRtagtScgDWgVSagtggtaacataVatttcagtttRtattcttcY +accaaaagttNttKtggBttBcSaWaattataatcataBtgtMtMtaaagataYtacgMt +WaaacBtttatcKacaaaatattMagtKccaaWccatttgtgacctttMSataMgBtctt +aVgtNttttSaactatgaggaSWataRtHtcgaMagSMccSaMctcgNtatgtataaVtB +atHcHtattaacgactgNKtttaMtVaaaagaatVgttMWcttacacgtacScttcttcW +taatccatactctaacaHHaaaatDctNtgatMcRaaWRtMgttgttatRagtaNtatgR +taMttggaaKWttaRtHKMaDDaacatgcgttaaaccaaaDttatagVRBatacMaatac +MaaatWcNcaaHttBgttgtacggRKaaaMtcHgttaattattttaHgKtgttaatDaHa +tctggtaatMtYaRgMccKRaRKaDaagaggatBtSacatactccaKgVaaRMaBttgca +taaacYtKgaVDtttgcatSaatattatNattataWatWgBttaggtBttaaYataaSHt +RtaccaacMttaccattccKggKNtMatacctctgtaYctaaccttgagtataaRataga +atRBtttttMtgWNtKtgcttatgactcSaatattgtBRBtSWVWYagtaWBcNatttcN +NgSKacctgaaMKgatWcYHgRataYggtctaMtggcagaRgaaYaYgKgaaHVtaattM +gaaWaWaDataagaaaaBDatacatatgatcNtagagMtactcatgatgtHataaggtaH +aWatMgtagcttaWtcStataSttagttttgcaagtgctgacDtgctcDtgaSgVMtagt +tKtaacgtacattaaatctHgatYatttcgggcaDtVttcaaacccgDgtatBggcttcB +cWtacttgaatBaRNcgYtgtaaaaaRDctKctagtaKSatRtRatMaMtaacVYaKtac +tgRDcaataaatSacagctDaatggttttaaacNttBaattgattaaMgVBKtBaacctY +NcaKcaVtDYtcBaaataNSaBgatacccgtVtaatactSgtttgMSYtttgKtgtKacg +tKatgataaVccaMgtaVaWatttatattgBNtgtVgVNtYStMtgtatBcgagaBaVat +gatgBcStttgtagDgYMgaattacacHtaaaaaBttKaaggHttctaggKagRNtMBaa +tWcagMSBaaVtgaatgtgatNaatSagcaatttHctatWMtgVcNtSaNRHatVaVacV +tHattcaataatgSKttttttgtataRKYaatccRYaatggtaVtttaaaaaWBKtatat +ttatgtagtcNatSaatatcMDRtgtBttYtatKaattaaaaYtcWccVattcDaaatga +ttgtHccactgNgctttBtgagatWDgVgtactgtRtaaggtBgacctaaatctRtDtta +BRaYacaaaYYtcaaagaWaSDttctttggacttcBcgaDacHataNtNgWtVMVtRact +ggaaagSgtgggtgaggcctccataaatNttaYYgtcBatattWMaacMRctcgttaaaV +atatagagataKatRMtHaVagaaBBtStttaatcaaatgagtatcaagtRMtaccgtBa +gaWKtagaaaYttcSScttaVttttcatatcaSgtcWNgtttagccaaaVgaatgtgtta +tgaaYaatgaataaaagagatcttcYacaaatataDgRttcMtcataYaBtctStgaatg +agDaDgtRNaMtYMatatagWNggaNtcattatgacYgtBKYttttagccttataaNRaa +tggaatccaBacgttacttatMNggaaaMtaaRtctagtttttKKKgcBttgccgtHKat +cgatVtttacataMtagNaMttctKHNctaaNatttWaRNgRatctagatSctaactctD +ttaagacgcatagcRNgagatttgtacattSattaacttttcgttgattWatKtgaattt +aMtSBattKKcttaaSggcactaataaatcactcaMgacggtRcaDScNctYtBRYVgtt +gtttaVtacHWattattcatttVaKtgKaacctaggStatttacaactcKNtaaacaagS +ttcgattatttcaRttVtaVaaacRgDtaatgtccMaacNtcggttgcctaattaaaNaW +cgKataaYcctSgMcataaatttgaaatttHtagSBgKYggcgYaagagataaWBcMgat +RBNRaYctgHatctatHttgaHtgcHKBKVaWaacacWNRactWBVttaatttVccaagB +SWacaaaatcDgttattBtHaMtMtHacKgWtcctcctttHaatagtYttaagccaHtYa +tatttacgtcaSgtgtYttgBcatcatttaNRgaKgBtgattttaaatgaattVaKtVYg +NaatgDaacaaVtHaaatggtttgaYYatgctgcacatttttctacVtacaNatataHtg +tcVtaacVgtYccgaactaKaaaatcagtttaKNRtaaataMatgtacatatcKScctDa +tDcKttSattttagatgttHtcBtKgNVRagctaRVtttaNYWttcWYRatgatMgaMKR +ctNVMgttVagWcaVStcDgtttctcRatBVggaccgaatcMttgagaBDgtNMgKKRBN +SMgcaWHYWccNgcacaggVYtMcaaaatgBtaKcgaRacccgStattcHttgaYttatt +attctaVMttgaacDaWtNccDtcHBataNcRggaaNBtgaYNtaaMaDctMaaaaaaHa +aattcBgtcgHtgcgaaStttctacttcgMagagtaaaacaDctgcagHctHtWaacgaa +tgtggtDacgtcacataSaatKtcWBtataccaaScttNgDgcctacgBaNWtagataBa +NtRcSggtaMattgaatgtRHtgHaaNWtgttaccatacctBataaMWatttNttVaaRa +gMataVtgtaccattYVcKYcgagtaaYtttgDaKDgVacMtttaVttcYcgtMattcta +tatataaggaagagttaaatHgtWctatttgaaatHttgScgtBataatgatRWgtttVg +atMBcgctttatgtctgWKtaacaaHttaMtctttatcDtccaHaNYtSWcWNtHNacaa +atactNggtgStacKatgtgKVctaBcaHcttaccaaWatHaaYtattatYtttDgtBaK +cataaaatcaNgttNYcatVSgtgatatYDMMtggaatKMaagcttVtaNNYctKcctag +MWtttatttBattNagccggaRgagtattaKatgatctacatcaKVaaagttYgcStagt +ctacttttcatKtWtKtctRaRDtcggtataMcMDcaattNcacattattgaBaHattHg +cYattagaattataaBtattBKHtgtaacHtHaacaaRYaBttaRVSaagttHVtatMtc +acaWctgVtgaatcVtcctcNataacacgWtattDWccatDDYtcgtaHaaKaacaYaHa +ataBtaaBKagtttcStWataccgNcaDtWNaaRgctcNaacttatttgttaaacaaStt +tagtgVaKgggtatNaatVagtataVVaHtaRaccacaRatacNStaacaYDgaWaRtaK +ttgtaatacggtttgccaaggMWtcaaccttcgctaMSaattaatgaaVDagttBcatcc +attttccaaBggRttgKgccaaaYNcDcaSatMcaattYDcatcWatStttggaaWtttH +tatVaggttDgVWatttaBWMagtcagcgaSaaSgtattctacHtaaSaVacaataNKta +tagRMagtKYBKggtttKatDacaWaYDaactagcaDttctctttHtagtMtWtttatYa +tWNaBgHtaBgSttRgattatgKcccaaBtWcccataaNattaYtRYWgRccNatatHtt +WgttatactttacBYHaaaKaHYaNttaatagKatacaaatWSMctttcKacatMattgc +aRctBataaVaHtataSctDVtRaacttcggScYctataHRHtgttctgtgattYatatY +tcYHaataaataYtMMgttaaatgatcttaaattaKRtttaaRtaacttaBtgtcatgtc +tNcaaKactMtKatagRaDKaatgSaHcRtMDctagatcaYtRatMSVRMYKYaggataa +atYtDBaDacDtaVtacggaKttattNaggScgWcaYtaBaaacaWaNVtHVagtBaatg +aBNagHaBtaNatNttSgaaactctBaggtHHtgaSagYKNcataaMcatagaSttctNB +YcttattcatagagagtHWWDtctgMtRHtactgggagcKcacctggaYattatttgaaW +gtcaVaataagaaNatRgtttacNtWYMBcNScgggataataaagtWYKDYcVWVggttt +McttYaatagaaKaaataDcaYMVcaVtgtStctctWaagtaRtaagtaaatWacSKaaa +tYaScctggtgMKtYMtctacDatctcaMatVtNaataaNtaattgaagaNaataataag +cttaagtgtgcgtVgttataYaagVgNaaRctSctgWKVaYKgctNWMaaRaHatcgctH +aaYMtccggattgtgBacatHaacttggtggDVgtcaaaggSatWRaKtKacNVggaatY +ttatttattcaaSttttttttcaatgttatttgttttaBgcatacWKDgtYNtcYtgtct +tttttgtcaaatgatacttWagatDatttcacctaaaaggtgagttatWgtgHctaatMt +RKagccagcgcVgagYagtactgtactttagVctaBBaYNggtYtaattttcRtaaagat +ctMtaVYatctYgNMaVtaWtcattgRtaNataagaaaacVSctHNtcNaMaRYcgagtt +aHcgacNgagagBgtKaactaaatatYRcggatgtKtttactgDctcVaYaaSaacBcac +atagaaataaaaWDctVcNtttRtcataatNagatVMctBgttcHtVgagaNaaaHaaSc +cggatSctaHgtgaYRagattDcSDtMStNYtgtgaagcttgggaatttttDgcaatHat +gaBttHttaacatBcaaagtaggtKgagacaattaataHcaNaaHataMtccaKagagtt +tBYSagDDtaNaRtWtWagatSgcSKtcttttcaaRgtMattatRtYSHgaMcctttttt +BtHactaattcaHtMatagaattVtBtDatcttVgagtatttaaaattacYSattattta +YtagcaVSHattDctKcVattataagagRaccccWcaBtYYtctaaaaYccSgattaaaM +DRtHatMaYtHtcgcaaggWgBaNVDatataaatWtcMYSVtacBYaaatactcgtactt +ttWgaacRNaattctHagcYtaSttaaataatttttaaSDtKaaMcWgBaagBgaatDag +aaatactcctNtgRaattaNWcattgYVMtRtHgBaatcaagRcagtStaaWRgtaaatH +caMacDctatNaagtactVHaaVagMgttgKtgtHatcMacatagMgaBtSaaaBtagtt +aaNaYgStRRctYWYVtttMNBgcctgMctcacttagtgtttDagacaYaattagaggKt +ttacaatMttctttatKagaaNtBtttKSHWSaVtVtgttaRSaYccgtaBgggMtKttt +ctYWttcaVaagctttttMBgDKccatagVactWDgtRtKMtgBKaDaVaggtttRaata +BgttYtattatgttatgtcMMaatcagaatagHaacaattRcBcDatttaYWttagattg +gttgaMcgtYRgagMtcactaRctcBMaaNgcaStgcgNtgagVttaBaaagaatacgca +tYMaaatDtacgatatataMtYKatctScatattNgStYWgtttaYcttgtagaHaHaYt +aRaaagttcMHaStatcatYtttKBtctataaaatcaStcatatStattatMtSatcata +HcaWaccagHtaaggaHatatgagaaYYgtgVacSttgKaBacSYcaNNccBNtHKtHcc +tttMttttagtaaaBHBaaattWKgtaaccDataactgatatgtaaRVtaHgaattctcR +ttcgcatHtaagttYYctaaattttgWDacBtataatttctVaYHtMtagMaHWtagatt +tcaVgtKaaacctgHagSgtacSWttMaBcHttaatcttMaStYatatatattagtttgg +MaYaatHgaaaHHgatggccctactatSgacaatcVMcatactBBMtaattaaatattBN +DacYtgYattBttHtNcaatgcggacccctDcYcDtttaKaSggtatcaBYaaBttctDS +RgacHttagMcggtWgagtcctRatatRcttgattggaaaKggaaaagaaSNtattcNta +taatVttgagBaMaaBctWtHatgcDaatHccgMDcgcWaaDaacWgaagcaatattact +caaaatMgttgtaaMatatYtctRSctctWcatttVatgBNtaaYagNtaMatcSgSgaV +ttSaccaataccKRNcataaggYcDMWaSKVcccaaaggVtHtgHagMaggtKVatVtVM +DVatBgttWagcctagagacaaaggtataatttgcttgtSaaccttctccttcaatgNaa +caBtttaVcaacagWaHMttgttaagttNWaaYcgaaVtatacBatgagHtSattacBgt +tYgtNRRcttgatcttaHcaataattattttccttgaYgacVgNcttaRattatatctca +gWWatNcDgacacgttaatRattaYcKtggtSggWgatMcaaDBttgaacNttctcaaHt +HaagcgVtDaaDtNMcagaaatWaNtatcttcattSgatatgatactattWatSaattWc +cgtctaatcttgKDacatRatggBttatggKgaagtttcBaKtgttaaaKtcgatagcNg +tatVDagaDtaVtcaactttYgaBYcgaYgWgaWtaaaWatVtctVtgggKaVctcgRtt +tacMaVaaagaaggtVtKNYtWcYaVtRVccgaattatacttatattagcatcKBatttt +gVDggcKaHaYttgcggcNaatRactWagWgttcagtgWMctaataBHtttgHaggcctg +acMcYaRtRtcggcaatBagttaagcDatatatNttgtMcVtaaaHMgattVgaYgtatt +atatSaDaaaaataWacaaNttKttcatttttHaMagatYtgtttcattaatatVacgcH +RttacaYtaagttacaBtcgaagcgttWtatVWRaaSacggWaBgSgcttaScatNaHca +atWacaMatagttcagYBagYgVactWtgtStNatacatYgSYDtaaacSaaatBtttKa +KRSWRcRYMgcYgVataSNNtWgVtSaMgBcactaaatYaKattVggacaWaaatgHtat +HccacStaatagaYaaaVaMaaacYYMctcagaNattatctattaaatatgMaRgggtat +gaMcttaHgattgtScgtgtatVatHNgcYttNatatBWaaactNVtHScgataaNcBat +aggtaagagatttMatVtaagtaaatYgctgttttaagatagaWaaYcgctaacttaaag +aattggtSYgtVaStttRtcKtHaVcWaYaWVSccRactDaattgWaBSKtaDgtataaR +cttaaaatKcagtNgtaaataaatgattcatgtcKRctatHaYtMacaWNgagatcDcgD +tatKaHgaBcaaaNWaRataYtYYacttgcactaaYDcKDttWcYataStKcgcaaaaaR +aaNtttatttgctYatgtcVctttcBKcgtcttatSttattYMttaatcatattcatSaY +tgWaDacgaataactctggaDccattacgSagaaattgatttaDtHacgtcMgaMHaaND +KttgtaMgRNtacataWgttccStgaaatDaagYRtDagcatcHttcVNWWataatataa +ccKaatWtYgcctacVaagttWtHactaRaagatatMMtYattMttccatactHgStagH +caattaagacagaMDtttagcHtgccctttattatSatWataBaaSMaccVVgtggatgt +gttgYgtDHSaaMaKcagaagcWacaaaBagRactKacDaDgagagagcgKcaBggtgta +YttatgcDatgaNgatagagtBtNtaWatagcacgcgcatDRSacHttcataBtaWaNtg +taatcDctBaSttttaggcWtBacgacaVYtRttaacttatgKcggDStacgtagaYtaa +gtaatgacggVMKtWagcatatagtcataagMgatVagVttSaacHataatatacaatRY +aHacaWaaactRtHRaatagcaVtcMataaacatattHaStattDcMWVtYaacYagaaH +aaWaccNHcatgtcccgaNttataaNaacatctBtaDNKgMtcDtgMgtatgKgSatDSg +MtgVaaHNWcDcaaKgHMtaRtggcgRgtHtVtatHgtMggaRVgtcDgtWaactactgt +tagaKcccDctcNcgtagtgStacgtataNcgVaHHagYttStaaccWacaKctgcttta +actagtVatttaaatKttRcgactaHttSaKtcagBBaWaacccgRatKagNagKaWtHt +tttcWtatatttattacagacSBagDgtagtatHtgcattgcaMaRgtagatYacactYS +BDgctgatcMattStSgattcNttaBWaacatgcttSattttctatNttaHNtSctgtcW +ttKgttgtttttKaMHNMcaacaagNattRtcBaccatKgtVtaaDcttgattaaaatHg +aataKYtgagMtgcWaWgtRttcDaatgRtDgcNWSgtagtatRttDcggatHWgaagta +cgcVtcaatHtttttttgaKggaSaStaataWBMtgcaaatacgWttctagccRtaaaat +tNWaMggataRRaaHaaMcagaaacacacgDaatctactaactDgatgtttaaDacacVa +NgagKaBcatataaattcgRtSNaatDttKgKDgcaaactBDtaatatagWaBgagtgtY +aaVatatMtaacaggtataacgKMtaKgcttgNMtRaaaaVcHctKctaaBcWtcHtaRa +acKgcaDKaYaSHgtatttataaYtcaKatgNacgtcWWatgDttRaacaaDWaatDgag +aStaVScctgcacaaBtatacttctgtctttcactacWcaaaWcactKattaKtatWagt +tacttgBtgaBMagaattgtYYttttVatttWtcBagaatcctcWtatYcVttattMgNg +YStaBgtttcttWtagcaggtMatgtRaaDtDKttgataDggtttatgctaataVYcStt +BtYcatctVtBtYaVagtaaDtgagacctgaaatcNKDactgKtacgBtDKgattaaata +gattatagactatggacgacgRgaaYKgYaRtgaaaagRgBaacatctctMttgacNaWt +ctVagtStMaactacaatttcVgatacKctaKgcSactaDaatHgBgtHgYttaagtNYt +RcaRgYtBaactaatatDctaacSKatSDMatWtagKtttagaaHKattaVactttSgtg +tagWctaggagctttgaScatcggSttaggtgHtgYatgtctNtaggaaatDttcctgag +agaHagttKcttttgcHtcaDgtcgKtatcaatgcgStVcatcaWNcgtatttHtatctg +gaHWSataWaVttgKgtKBaaaggtaMNaatttRDtcDattaStctaaatKgtaagtcVg +ccaHKgtgtcgaSVtaaaaHtatgaaVcatacacVtKattaWaKDgttctattgNcaaga +acaKYaHttWcDaccattttagacttttMttaRaMtaHtacNgccgaaaaacKctNgaaa +gagggaVttttgtBVcatttatttVaHcgattWttMaWcattagtaYcMagaatKaYtca +tttagacttStDtcagacattctcYaaKMttcagtSNtBtMaHacYWNaactVaMgtcNg +McVcVtgKaaataaVataacaDtaaggtcSgtDatttaKtgSNHcgctVaaaatatagac +RaBgaNtaattVWaKtgcaattHttctaNRWtaHtttaaSgWBctVacaNVcKtaaagHD +aaaNagtYcYKaVKtaaatBaaaSaVaMtcSgtaaacctcBYWttSgMaMccagcttRgt +VggaaWgagtaggYctRtaaWtgtacaaMNtagtacggVcttKcaMgNaaatgtatgaSg +DcSBRgRVcYtaDHgaVtWaaNagDtagggtHagHgctRagaNacacaStaNttMaatga +ataaSgagBgagtgWccDtVgagcDWVctBttccaWcacgHttgtcYtttacttaatVat +gtKtaaatttaNaYttaStMtVaStggattgtVgaMRNHtacaaNttRScRtVcgttcSc +atMtBtttcDtcatVctDaScttagacaaDaaBtaHtacRgRgaRNtKataNgcaaScac +tcWtKggRagtgtaaYtaaattWgNagatatYtHattWtYWatagatatttKatgtcgDa +gaVcgKVagacagagatVgHWtaagttgcatgaKaatggattaHcaatatgKtMaWtWaY +SVtNBDttaaHaMcaRctWScNcggtggYSttcagaattattggaaaattVccMtgggWa +tatHMaYtaMaacaHaagVtgDtggcHtRaagtHaagVMWacaaagggataBRcaaBctt +KtHtMgcKaVtaacaRatKRaMaRtMtcagcaataaaaVccNcttMtctattaagacacg +agatNtatttataaaSagaaatatSccaRHKatYMacgttaWKtgttgHtgagatBBaRR +WSacatacWtNtcWgttcaaaccactVcaSaYtaactaHgtcVWgactaNaatRgNatta +tagacHatgcYWcttatctaagcttaatatgaaRcaDVaSaHatgaatttBDacatBttt +HactacaNaNtataVcaVtattKgMaSaSggttggDNcgtgatactaccYHttaaaMaVc +BSacctgatatataBgcaattaatBaHtttgtaagggataaacatgcgcaaataatatta +aBVcaWgttagtVaaWctRgBtgYtttccgYattttYMaVMtaHatRDaatgVacaatat +VBccgttaagactcgcaaHtVaBaaRctaVgggaacRaaaaaatYaSaccVgRaaBtgat +aaatttcaVttataSMatacKtaWttgcaRcgtgNattatttaatagaatNctcatHtSW +ttaVtRattcaRYtaaattDcaKagcWggaWcStaatNVgHaMaBKttaaatYRMHaRtc +gtagMRgtattcctHtcacaaaKtaNttcaRcatRtccgatNDagaBttDHtcttggcct +taNtattaaStaWgKtVWNaMccaVgVgtatcKacDaYcccactcattcacYtattggat +VgaWttctgSDagaWDattctacataaaDggtactatagcNcSgagtgtMtaacNtVtcS +tttSgNDaDYgaaWVgtactRtaNcYgataHagaDtagttggaHtgtNtcgcHYgaDttg +RtgStatcattttKtWVaYattgNtaaYgYccHgWactgtaaaVBtaBattaMBtHtttY +ttVgtaYMWatWgWtNaccVtgMWaSDaatcYWccaaaHtacgKagtNcMKactcgtaaa +VtaMatttcRcttgHtattattcRaaaWaWactgDttttccttttaKVNaVggataagaa +gWttcgBtBtVaYcataRtaacBgNaaYctggtatctacaaaagatttagttaaaaNaaa +ttgctcaactttBKagatctgctgaMgtBttgtKaSatVgcacgaHNatVDgttacVBac +KBaaKaBctccDtagctataWKttagtcttYgtaSccaatcBttggaBtMaaaagaYtMg +tgtNatgacacctWcKattctgaNtaSgaaataatatVSaattaaWattagDtgagBaHa +aNHtBgttcttatHaggaBtatcHtSttgccaatNgtaHtttBattaacatcactgaWaa +aaaatggatagMHtSgaaBSatacBSaagMaDcaattttcgtctaacgHtaaaBtatctt +aattagtttatcttcgtWVttatatcgccgaagBgRaDcBaatHVDtataacaccVgttH +aaSgaagaaatcMSaHBattgcaSgaSVaRttcaMtgtgcaatKaatWggatBVgtataN +WgNctttacctttgaaRatSaKttHgaaaYSaBttVacWttcctgctDgBSgYcagcggg +WRataaaatgcactagaaHStacaatHtggtgtBgcNDttggattatgaagaKaatStgc +ttHtgKNMNRagtaNtaDattgaDDcKtaaatcVVBtcSgNcRtcHataRcggctVBtcc +aWcaDgaaRaRctgaatMtaRtgBcaWNaNatatWScYYaWttatScYtSgcataDtWca +cBtactaWgcYtcgtataagctataNSgBctagattaNgaKgatVKgtagttttcaaagt +gcgcYattcagatggaKcMBtacgtttaacctaaattaaatattcatRaggtcgcccatt +MttaaaaaaactggSgtcccgtctaNtWattcaattVHDagRtggVSSaaHtattatWct +atKatHtHattYBtaVaMRatgYagcHtaSataaStKaaacattaagggttggVYaaDgt +tWSttcattaRBcMttttaacatRDaataaMttRgataaagVDKatcatacaacgMtaat +YctKcgggcBKNgtggttcttaagttYgcataVMaaVBgtVMSNagttatSttgtDtgtM +gMDtNKtBgctattacagataMWtcSggtcHgggcgagtcRtcRattaaaatgaaYYatt +gtaaccttgatacgtWcHDgBtVagNcSgBKtaaMtcaStgggatDaVtKScaYagtttc +tagNBtcMcDgKaDHtVtMaMacMgtagtaaWtaYtgHtttttgtctagYHtRaagacDR +aatgctVMtttWaYaaNtttatatttStcgactaDatKaatatattHggttgtRtattaa +ttaaaaRtaNacKattctVaatgattcttacWatgDgagggtggScatNtcMggaagggH +taaccttcWcatWaStagHtttgatHaRVaaSVNNtcaRacaNaKttgctgggcVattat +ccatVatataDtDcNgMBMgHSagggaaagKctgggtcacgaatcaataaVtDttaRRgt +ctStattNBaaaBHatcgttaaWMagatagacatatVgDBttYMacaatttKtttaataa +aagcacgVgaaactDBtaaccgtagaNtgagaaaRttcKKagtYKttttaStataaHgtc +NDcgttYccaaaaMcaWtgggttatcaaRaaggaataaVWcacatattaRYaaVagagVt +cHggaBtaataNattagKtcVRtgactatcgHDaBgRBStVtSgNBccWDgaatgaggaa +NctttNttttacaaggagaaDDaVtcgaataaataagttaattStBDccaaaBgVaDtct +ScgtgtttttgctgtcacgtttWgacStMtttVaVgaBtacDWtttagttDctaSDVttt +NaDDcHatatacYtKataaatagttgaacaagaatacaDDcacatttgtaaaggHattaa +atgttacgtcagtNStttcVatttaBtHtVggttattaaHcgaWagaYtVaataaatcaB +gaccctHcatKaDatRttHRMcgtcgggSMtaatNagtYtgaYtggMYttgtaaactacg +KgStttaaaYatatDtaaSaVVcHgtagatgaggtcaHggMtaMWaWaHctgaatctaaB +aWaDtcgggtccctaagtaVYDaNactataaNcctKcBcataaatttcaWSttttgacHt +ctRggagRaagacagWVNtctcatHtDHaRagctStatattggcattcattttMaNaSaR +aNDHaagNtMgtVWtgtMccaactKNaaaVaStatcgtStgtgtaBgBgtaatcNtccga +agtttaWgactNgtaaccaatgNatWttgWagtaaKgtctRgtctaataagttVDHgStg +ttcVttgtSWatcYaggMatgMRcBaStgtaaaaaMttaYagccggtgaRRatgatccaa +aggtttctaaKgacaDagagatgctcMgaaaMcgRaacaaatataaaagcagtgtatDHg +RaVtWBVtggacatStctKccttVttatgtKattttYcatctgttatgtcDKHYcctSHM +ttgSDRNgtaMNHaggatBcSBtHatDMBcttMacNaVMKtctgtttcgaHSgtMgcaca +gaStaBttcWcattctDtcttHtDKBcaaNtRNaaDgaaaaccMRtBcWVVagcttatcg +aDYccacKtatgatgtcaRttattYttctaMBggcaYctaNtBactgattStaDaHccYa +DtgcaRDgSYtYtatBSaYaaataaagtctcgcgttcagaaKtttctVattagtWcacga +aVaaVtctcaVgtagttNaaacaatgtccttaactaaaStaKWagttaNttatacaaaKa +ttBctgaagaagtYDNtagatataDtHcKcctaBaggcaatctHttctaaDNtgtgaaaa +gRaattataaBMaggtDgtMaWHacBStSMtcgaacYttRMatNacScgaaRtttctatt +cMaaBggtaKttaRcgtBattcgatatYtVaccSacacgtaaagtctNatYttgcSSatt +ttcKccttataatcRtHNctttMcatBtacatgtYtctagcNttYacaatgtaBgcgttV +tattaaWtaDRtKNaNDttDWaaaataatDgcgcKtaatatcgctMctatcatcgtaaaa +YNRttSaNtWggatRgtgtcttataVgaaaatcWDcttDRaatMKctcatatRttBtcca +attBSacctgMtaDDRagtcagacBNtttattttagtDacaagcaHcacgRttVtatcat +atacStaatMaWagttRccKtRctcgaagttgaatttNtttatHaHttagctatSBaBtc +aagtDaaaRtgattcatStagttcaRattacaVgtatWRttWggttttctaactttSaaa +VHRatttYHMKVVcgttMtatBtaSaaMctgMtcaagaMtactcDatSaaaacNgatttN +caagttRgacgataVtaacYNataStRtgaattactgtaKtNagaaccDaatgNDaaHca +taDSYattatgtctgYWaaRaHtttWggcKatgcgtagDSVtMactataKMSttaHaaaa +caHatVaDKtSaaaRtcaNWHtatttctWataagctttcccaacctNtaaacattcgaga +BKVattaWtcVaKtWcggtaatcaatgttcaaatccDttctcaaSaWNDataaKatBcaY +ttRtcataMVtKttggcaaNgtgttatMaccgttgMNagtgVtNBWggaacacaKaaKct +agtctacttSaKYMacaWtWDttatagHBacttRttcctgttagtScVNaRtaacgScaS +tttatctttttSgtBgNtttStRatNDWtctgatcKtgHcattatctaaaaattNaaaWg +WaDWttWRtHRNcHacBVgWttgtNggtWtWcttgSatRtaaYtYtNaDttYagactSta +cYaYtNHBatggatacVtBatgccaHcgtagaaMatgataHagtKgHaWcgtaccKaNat +agWtDttcgtagggcSgtRatatNgaRtYataaataRtBtcttaSatcagatgaaSgtVt +HtgtaaDtVactgattcgcatctctBaWWtaagBttVgacHattWWgcKataHtBtagSc +WtcaNtHStBKMHBRtRagcataaYtNtttatacttaMgacccattgagtDYggKccNaa +RgataWaaaNWDMttMacttaatgStDYgtattaBatBttKcSaactagtaccgttggaK +acRtDaataSBaatacaKtgagDtNcttattaagYcagacttNNttatcBtHtgRatgcc +acctaSaatccaRSgtWggtgaaMcgcaMaagSagaaDatHcttgaaDgNRttaDKacgc +ataagYaagtMRttNaMMMgcggttcgtRaSgacaStaaVgStcaRBKcaMtctKtctat +NaactaHtaactaaatNWaKtWaStRSKcatggtgBtgRBtagaatagataSBagMtDVa +taaDtaattgaYgaBaagWagaacaggaagtctgacgMgtgagaRVacMcBaaDatKatc +NtKaRtcatDNBaaHatatacattaWRBtcaccattctctaaWttWacgtccgcgtMctc +aaaccHYtNDatttSaDMccaStRttWgttattaSVKtgttttgtcWatgtgStttgttt +tatcaagacMttgtRDgcRtctctgtgggggcSaagcatVattMacattSgttaacctaa +aaccgcagtgagNgtctataatBtHtacaaSccccMgagRVctYagcgaatttacMagVt +taRDcctRgSSttttcHtVaacatagBgaMRagatRcDBaMtaNtcatggHgaDYgaVgW +aaaaMKattBtaDYBaHRccagttatacVaDcacactcgtaSctaaatatRDaccagctt +tttaatgtagaMaRaaKaaataaaatacaRagaaYaNtatKcDttgHgcVtaYgDacagM +BagtgttatgMcSgWDWYWtSaKaagcatKatatctcaRHacagttaKtgBKtDRggtca +YcattcgcYattttgtccaagtVgcattttttaVaagtaaaagtWccttgacYcaagtaa +tataYBaatataBtaaatacacttttRHagtttaDSHgNtNVcatKgaKtgagttgaaaH +cgBattatHgRKtcaBaagttgtttgtVatYattaattBatYgaatgMgtttatagtKcV +ctagttaaYWttWaRKWggYttgaRgagaaMKtaggtattaMVttataVcagHYacaaMa +attRRtataWaaRacHcattaVaBtHgtatBaRtttaccaaggNgtaDMtatYtaYVtNt +cBRKMgaatRaaagaatactRattttNcaaaDDaagtagtacaNtSHttaaataattggt +aaKtttaaBaNgtaagtcaYttacVaataataatDtgHSSgtSDNaattcRMBgHttcta +agaYVcHcactKgaaNHcgWaWttaaBactcgYtDaacgactMtaYKacBgttcttgtta +taBacatScBcattKaaattacttSSDaRgKtHHagRNRMtttBDtcaagcBcgcYatta +ctcgtttacSaaNVagtacacgtggtSaWatBtgatttWttScaaDtttggtKtNKaMtM +gcttaHKaRaccgatccctgtgggagRMttaaMaWccggtttBtgttaaVtagMWctNtc +tHgtBgcttatSMYccttgHaatatctgNgVttagcttagggaBBSStaYgYatYgtaaa +aattHatctatgtWRNgtVcSgtgcgtcYBagtRHgacttaaagSHatatBaaDgcaKtc +ccDgcacMttatRaacaataaccWtNBaYatttYacYtagagattRtatagKcatattDg +KtNNgtttWNagggtacStataRtVDYaacgtaBtVKtagaagRttttttatataSaaga +aKtaatatKtattagBtHataatatcWNaacagtgWaccatatStcYcaaNRctcKacKt +tgtStaaKRaWDDaatBtttgtcagggBgtggSctaaWtttYVWttNtctaacatagVYa +tcagatctVaHMgWtcaagtataHtgacaagttSacgtNRataaatgttgNtaattagaa +ttgctMaRttBtacBatNgacatttcaMcgtaaacctctagHctaaKNttBatatttaat +attBaKtRagYtatattSgtgtccBaNSattgaaattgYggcaaataatatHcaaaatcM +BaagYatttttaYttYaStatttDtacRtgRattttttgDcRaggagcaccaattcRctt +ttataHcggatcatNSatgtagtHHcactgtWgtaggtNgactactHagagHattcaggg +gSaatgcaaaacSSKDtaggcDtatVagMtggactaBSatagMttaggatSYttaacBta +gaNSVtaSaNcSScaaatattVctcYaWYtBcttcgaYBagWtRgagHKagagMaatttM +atgtDtaYNagDtaBagcKcKcaMttKaaaaatVaatHDaataacgRatBNVKtMaccYa +accMgttgtactagcttMatKgKBtMagtcttMWgaatRcacaaaaSgcgVtSatggcag +gcgKaYaatgctcattaaaggDVacStgttaMaaaaacNVtBtgcttaacgtDNaaRcgW +aKtatactagcactgKVttaatcttRcgDHHattcStatgatcWataagtattttacgtc +aRgaaMcDattYHattYgatatcacNNWtDatgaaaactgaatHaggaNcttcctKggNg +atBaaatttgcaaaDtgctcaatgtYagacMgtVVtgDBaacVaatNaDtatctgaaggK +cagSggVtacgatgNWtKWaggMacctagaatattcttYaatDatcgttgatggtcaacg +ttatatgcttaWVttccRgVcaDcgagMtacattaMtaVWcgttRcatRacaRcMcaNta +YWNYgMtatMgccctaKctagHtttaaBVMaaWcSaccgMttBRgNcRWMtHMaccaatg +ataaggagVttYgaatcttagtgtcMtgcctVtaRtgcaccaDaagHactNYcNcttaag +gcMBagaWtattgtgctaccacgcWataRaHtDtacgaaVttagttVacctatatStDgt +ggtaMgaSattcatgMcaRctatgWgatKatYYaaataNYcSaDtttgtcYttttttaBS +catRtctgtaWttaatagMaacatDttaaaNgaacttacYttagaaccctgNgagMNHaa +KacccNatgKccttaKcatDStaaStNaaVBatagttcacRtYcRcKaagMgctKtBagS +aagNcKRttaaaaKaaRttttttatHHNHaHRtcaRcMataKDDtNcKtKatctaaataa +atRatYttMccaaaNaaWgctgattcaaaKgaatScaNaaaKaBaaaaRNtataVcYDat +tagctattaaatWtgBWHgggtatcatattatcVttcgHacgcgatMattDcaRggDYtY +ttNaaaatBKttKccStYVDatatYcctSacVcattttatMtWRctaYagRgctctttta +acVtagaNaVRaccgRaattaaVcaattgcgKRctMaKtttHgctttVMaNaRaNMKacH +SagtWagtgNatKttatctataaHatgSaSattcagtDctWaataaYtcagtaYtctatH +cgattSRttaaaNDgagatatacttVttatcataSSaBNaDataRtRRaattcaRataaR +tattttNaRYtaKttaccaaaaaHVaBtttWtttgatRagctaMattgcttactctgatK +tgatgRBttaataagYttcStKaNgcNatacgWatYaatctggVtaaattYccKagaVag +ggatttatttWacgaBcaBtaaDttttcgaBcHDgaaSgVNctgaaKtgaVagtVWgRHg +tacaatattgcMDNNataatagaaaataatNtNgccgaaMaagtgNttacgVHaacSgSt +BBtRagtBgtaaWgacttcKgactaaatgaagVaacaBtggtacattcaaagtgattagK +agNatatVaKBacaMMctccatcgcgggRctttKaaBatcacaScaNaaaaatVgHaatt +aatatcWcacacactcatgctcgaRggVgcatatcaDcatYgaggttDgWNagagaaaga +gaYttHKaatgtaVtYttSNaDtcgaatctattSKgtgtaggaMgtaccWcaMRtHttaa +atgWtgtccgtKtacggacaNgaacgaSgcYagcKBttNacaagatacgaagaVcBgStM +acMtgKaactataSgWtaaaatDRataaaNaSaagHttHWYgaccWMtatataaaaagat +gtaKtVtgtcBNMtRaSaRacVataaNaaaDtaatgtaaagaDgtataVDaacagatttW +tDtcBgatggBcgagctcKWgtHcBgcMaatDNatcaYtctBgaHtccagHctttMtatt +gtBccaHMctatctNaaatacgcgtacatacatctaDactactcKtacctataDccMatt +RgRggHtaaaaNYcVtatccgttSaagYcgMatttaVattttHagVatVtttKattaagt +taNaacaccHSttagDactSNgtgtttaNtVtatttatgaaacSaKtactctacgagttg +aagtcaSBaDgtagatNaaactRKttcatcWtaBaggKtKcYttaDttatMaWcStgatt +KattgtatatDttatDtKatgtaNtgtcgtcttttttaBtDBcaaaaSgDatgHtctaca +attcgMtVYtatgcattaaaattcaVgatRtcagBtcaMaNctHgtatVatcHttcaDNK +gtWcgagHtttaccattNgaactYacaKgaaagtggtttgtgatcgaKaHgaatYNtBgc +aaVatWacNggataccaDtaaaWttBMaBccagaHDaataaBaagYVacYaScctYVgag +WagaYagtgatgtttWatSaaaMYDcactYtaStWgaaattacHgKDaYtttttgttcaa +aaatttgYatatVcMatcactggRaaMVtStBtaaaagggatYaagtBtatcatgcDttD +aaaaMatagtctaataNtcttWHaaatcaVttaRaKtcgatttataWRtaatatcDWcct +aNMatgtttDaYaaWtMaagtcagaKtaMKacgccaaVatgWtSagtagctatttcacta +aNcaaaNaaattaggattatMWgtgacgtcttcattacaYttctRRtttgMatggNtata +caataataNgatNcMttaggBcDgRHgatctttagtNtacaaccgBatgtHaatgttttg +atatccgttatcataStaKRaKgttgNaagagKttgNYMaggaattcagaactcaRataD +ttaagcttaccttttgVttaWWgacYggStacYcgatgcSccaacHcaYNtgRaHtcaYa +acHctYacatagatBgtgacDaNgatMacgKgBaWagacaSgttaKcatactatatcaHa +atataattctggtcNttaYggDRtDaSHgNttYaatWagagtagaacKtWtHtBatNtSc +ttttacaattagtaMaatttHgtctagMctaccagagttcaKcStaccKggaggtctgcN +atctctDgYccaaVgttgaatgacVcatagtgtattttccttcatctacttSgaaStcag +HtMaataWNDagtatttttataggcatNKataNaMtgctgtttVaacctVBDWattgHtt +atattaKtatSVSttgtaScgcMcccattgggtagaKMgaSaSttYgcaaMaatVaVaKg +tatgYNattcttagWgtcBaaagSaaatRatttNctacaStggtYcaaggttBtgaDWBt +RtgaaDccacaaaVSatatBcaaScWccgaKttttcgtMaVttgatgtMatacatgNttB +aNaagtaggaRaBagaagtaRtaagttacWatgHtttaagSaatgataNWattgtaSggH +DtttBataaNNBRaatKWBgtaDcBaMaKtctaYatVaKataaaattWYcgtaHcttagt +gYtgcKDtccatMSaaagatYcSaHatcaDtaatgMMatgcaaatgtttagaDDNtattt +gaaKcNtagKYcaBMattaaagttaaWDacgRaRtaKttaaattaVVKaMaBtaKctaaW +catctRMtgKcBaBaaagattHcgMcgaSNgactaccRatHtaSNtctYcaaBDtaggaa +gcMatttcaBcDaaatggWtcaHctaKtHcHMcRgattgaMtNVaDagttaggcttYctc +atDacWDaaaaaKtaBgtBaatcaataaKgactgactcNcattMcacatNMattgtaaaN +aaacttgctaRtttacttaatKYgcttgaSStgtaDaNgtaKgBgMaKgccagtgtMgat +HDtgacaWDttHKaDgMacttaKaagBtttgtcttaagMagtaHcttWcacaatSatgYt +gacHgHcaHDgtagaDccVaKcaataNttccHYctctaSRtaYagtNgDagatWtRttSt +tNtRNagacatattttatggactacYMagtMacYaagYgVgKgtNtaVcgtgaatcataa +tcgattYtaaatYtctgBaMgNWNKMgDttttaWtaBaaHatNHaDacctccNKtgaVcW +attYtgccaVRattMacBtcccNagYttBYNgaBaaaStWacMgcttccatgHaacttYa +gMtNaaVSYgcgatatHcaatatttgtgBcatWMtaaaaDRttHaBaHttgaacaaataa +WaMcaDctgBtatWttaacaaWacacWtDtatttatWaaHacaVagVgKaaaDttWgRBV +agttVNttctgcttgacatttSHHMKScSgSaMtDtaMcgtcaWaacactMcaHWRgaac +tWtcgcMNcactVDaatHcDSttWtagactatgaRNcttagataYgaggaagagcaSHcW +tMaKStatgYatttttVaattgtttWataaaDaDgataMcaMtatttctVKaKgcttcct +DagtgatWatacaRtttaaaBSMctHaaatcagStatStgaaVttaattatttgctaagc +gagaWaaWtccgcaaSgaatVgtaStMcSNcgtWggMVWNatHctggRtttaacNagttt +RtaMBgatatHtaatcMaaaYgatMtaccttaagYatcgaaattMataaHatYMcccaaa +DaYaVaWgRaHaaaMcHSattcatWSatttcaMtgataKBYtactgaNttgaaDactgBa +tgYgttaagVgaagDagaatttKNtgaMtHagtaaHRgaaatttaYtaccNcgWNcKtaY +tBMctVBWttttaSagRHBtaHtcgtactHggagtaatttaaaVVattWDgtaaHaYgDt +aacatDtacWttttttatgccacttaDtagtaaKgYNcttMNDaBcaVMcMctWgatact +aRcaaWagaatgcWcRtattccagKgaNgtctcKtWgaNtSttagVaagaSYtcctWata +tSgaDaKcactcgBtYacDgMtaKggtKcDtRtRgSaNKctaatHtRDaRgatatacatt +agtgccSttctDgcgatNcatttcHgcKtagcYgttttgNKWRattgBtaaNcRaatcNa +agcgaaVKttYtWttaBttttttNggKcgaRBMVtNcNtDVaaMtcBNaKtaataRMcaa +aattYactactBattWcgccgWaaMtaBYtgtaHagtcttVttaggaHVaaNaNaatctt +gtgcattttatMDYKccataScaWgNttccttttMaRcVtWHgaaatgBaaRatgcgata +taaaWYacYggtacttaaaaDaaattgatcWaatgtttRcatatcaggaBcttttcttVK +atKccaccYtDatMtcttacMtSattaatatagaatgSgagYgWNtttagtatgRggYKa +caatattgggVtttaSaYcaRtBcggtDaggYaaactNataggaggaDgaKcaaataaga +tMKaattaaNagtagttcWctataaDtttcgtcgtattaccStgYgatgKtgcccYatDc +tYtttttYttaaaagaactcaNVaaYaYtccagacBttKcaatKataatKVWcBataaat +gttcctatYaacttaSVtgataggVatgagttgatcttacgMMgtWtYtagcacaSctcH +YtataattMttataYaaccKgtgtaaKcYagaaVtcBKattStgcaaKcaKKaHgtaaBt +ctgcaattaWgMcgYttMctWtaDNcDatggWaattggaVDagKattttgaaaRHattgM +aaMgtaatcattctKgNaacacccNHataaaatgaaagagSatKtacVagttggtcgtgc +BtgtgcatgagcaacataagKtcagtttgtDBBHWcgaDtatYttgattcttaaagcMMt +taKgDaHtatVgWHccgatKttcaaNcYtcaaDWDatcaWtBtWHgctaaMDaDWtWtNK +cRRaNttVgHaRgKgcWgattNaaattaataNcaRtagtRgaacagataDKgtatScatt +aDgatcatMtcgYcgtttaaaRctcagcRattaacatccStcBtgaccgtgWaaagaaat +gaaWtattaVtHacctaccaaatgBgtaVVYaaaatccKgtcaactataDgNagtcaSgt +KttacHtccMKKWattagtatNctattagtttWttRtgaKaBHStgRagattaKRtWaKt +taaWaagtaVccctgcgMRWatgttNKgtcSggSHtaBttgtaYaatDtaVtaatgtHca +tWaYcMttataVgaaaaagBgaagRattccggcttDgggcttcttaacttRgaStaMBaa +MtctMBHBacttVgKggcttgcgBcBtgDtttcctattaaRcatStNgcKgctatcccac +SctcHtaHWtgWaYatgVaRRYtgctaaaatggagacctMcttgttMagBaKctttYWBt +aYKgcccYttaMgtHaaNYgtgtagagDttcBatgtStttMtBWtaaBctaggaaNgaRg +cttttttgtagacRttHSagaatDaYgcctMBtgtNSNaaBttgVtWtttKgacaatatV +ttVatagatttgcgtcgDtVgtSattaaaVHtaDaatYttatKSWtcattagtaaNatct +cagcgtgcKcatDtaBccaaccctgaYcattaNaagNaKgagttttcattaHMaVKMDDt +aSHScaDattgcaggcccMattatacYtMatWgatttcBcBtBctKacccaaWctatccc +tcaacaataaataaMttgtaHHcgatKgaggBtRYattatacgtaYNBacagacaaatVt +McttttRtVcaattgtttgaWtaaSacaRccMcaaacttttaaacgtacVBtcWcSaYHg +tattacgRtgtgtaKgWgaatctaBtcgtgRaaaWWVBcaNtcgctgYtaaaHaSccaag +aVMNaacagattaHRaaMWcVgMtctgcatgaagRDattactgcKHtcactYtccttatg +HtKgMgKcDtacNtcaStgYccaaDagttDtttgYcaagcacWWttaMgccaStaaWtVa +ctgaagtKtttcaWaatgMattatKcctctttttcatgtaaactttNcaaKgttttMaMc +YtgWctMtttactttagaKtMgttDYttctatagWcRttatYSagacttcaScaacaYtS +aattcaaagtgctSaagctattaaagggtaactcacgDKgttaMRgggattttMcgttat +taVtccaNagaRgMaataaagaStcSaacgtaWttatatHgttHBcgtacggKBtSatDa +ctRggaRgccBRttctaaaatSactcKtttVaWRatatttWaHaKMatgtacatcagcta +atggBgaBNSNatatcYStagaatSNattaccgtcaataaggYMRtaDaatVgYaDaatt +ataRgVaagtgcaNKtgttgacttatHccacHaacVcWcNMDtatcatttttaHacatKt +atagtgccWttaattttBSDaKaHaDttYacDtBgtMNgggBaaaaattDaaVMaKgatc +ggKtgtctatctctVatcDtaagaagtgtaMcWatDggaaaaaYtcDVtNttcNacgaYt +cgatHctctaWgaaggtMttcKtcttaMgtctKNagcRWcgBVtcBDatYKtctaVaaaB +gtaRagcacggcaHHagcagaaaaacgggtataatcaaWtacYcWtcctaBgVVaBagHa +aaaaatataRYagaacgggVtttcHaMtNtMgcgaaatKtattaagtMttatcttWtttt +RaatatgttatgtatttRaagKtBgtgHtHDggaBDtWccattcKtttagtttagtBYcD +aMBtgatcttgacatKctBcaaaacaHtatggaNaVttcgttatttttttcaaDtDDaat +caaaYaaBHttaMKMVgctgWtacVtRaaactgYtcatggcVHtgattRttataBtcgaa +RataDttaatcattHtatatccNattcaaHtgKRtRtagtKaRWaataYaggatccactt +cacaatgtgatMaggactNaaccaaMaaKtagaaMctacttDSaaaWSgctcagtWaata +WaHtStMacttaDtgagWaaaatatttatcaacaactRtDgYcYtatatgtataatWtag +ccaagcgtttataatDgctgVaaagHaattagaatBWggttctBaNtactHtKBtcgaaa +RttHBatDaaKccaSHgtgctWttcBaatcctYttgaHacgtatgagStatRtMaacKac +acggaaSctagDagNttgaKKSgtttctacgtagSataHttDctggBcYtttaaatcgRg +agagaDtgRSaVStggVtgacgtMtatgaaNtWtHgtDaDtgttNaSVagaattccgctt +VatatacattatataYtaggYaaaRDHttHYDtNgcatHggctattYtaMcWaaVtaNta +tttHaagBtatcagatHtttgaaWWtttKaaaggBtattHagtaacactDggtattttSc +ttaaaacaStcaacHttMtatcagatSaHtaVtBaNYcttHcatgHatagaaggggaWgt +gBtttagtVttgacatYtKtattaYSggtaaaHgcaggaStHtYcgtaaDWgtaaaMcgY +tNHtgNgcttttataWatttKWaaKtHattgRtBtMMccgtBtYttgaKaWBatcBgaaa +caBgaagatYgKWaaacBgatgtDaaacttDcacgatSKtaVaRDWtVKgHtcRattact +ctattBacaaactaatgDtaatcatatKRattSggtcggRMaaHVtgttMcgatatcccg +VctKMgBactVtWtBKtgWtaaaVaatRgKatttKSaYHtcVBNtgStgtatNStaaccg +ttaaaaYactBgaaaaattacacVttKattVNgaMattNccctaVtaaStctgaaVatac +tgtctaaaKYNDtataWtattaaNgtHtaWgaBMttttccaaaDcgctgagBacacttct +DSctcMtBtNccaacaaatSVtatWggagSattKatRBaaaNtNtttagacttaagtHtt +aatcgtWctHaMBaHtaaagKaaKttgatattttgKcgtcDtgtKtHagDtMtatgatct +tgtcSgtWgctaaaaattDaaaNgNYtMttNHgtHBataatMgMttctDcgtNtNatggK +atHtaaRtRtDStttRVcaatKgaaRSRtBttatccataaMttagcaaWtagtVgaVBat +cVtYtagttgtaMactaaataDatagNttttactagcgcKctDatatDgaHtRatVWaga +DtttcggSKataacaggaaKggMtttctaVttMaatgattcgaagcgattaNNtYacttt +KgaatWttNNgctatatgttacKaMtaaDgtKgttBttHtDacaagaaRgDgttWtaatg +VBcaaccatgcYggtRcctaaDaaHcatYNaaVDNtBgtBaattYYgcHttRctattVta +ttgttcKaaatagtacccttgcVtaaHttaagaKtaagSaYtgcacttDattYttaVgRc +acaattDDttagattttcHagccaYaataKaatccVDKctNcctcaaBccaaBaYgKacW +VtWttatgcSatcDHttattaacaagaacRSactBHttDaBBBcacgttactHaKgacaK +taWMcHtaVHttaattcgttatatBaaagatgaactaaYgDNattNaHgHKtaatcctct +tcHttagaatVcagaHtagBgtMataattaagtcSRcatSagMagaaaacgYacgagcac +gBcggacaHKaaBatSatagtatcDttRHtcagtDtaStYtagaaagtYNHtgaacaatg +cgataaNgtNVagtacccctBcgaYWaactRtDtatttKatBccVKtHttNcttVtgaKM +tgcttggcgaNatctcKggtcttttataaacWaBttcgHtcaHtcgatcgcggccaHaag +cVgKattBaaWttKcttaVaagYaVacagaacgcScDcgatataagttttacaaKcaaaB +cYcHKctRagcgaatgtScBagMttYHtaatHcKKtgggatgKSaaatactgWBHVcagH +cttVBgYDtaVtcctcatRcVKcNaaYaBtattttatRtVtDaaScgtatacMatcaaac +tagtaKataaatStHtacaagagttgtYatctagaBaHSYtaaataaaStacaHagWSRS +DtagtatggctgaKtaRctaaagBtactcttatgBcHcNtNRNtHataaccRttagatat +aaHtacScgtattgttgtDcctaYRaattccaNatgtgctaaaactMcaWttgttgVMaS +gtaVaSctMcagtcacNaWacgaatWtaRtaatSgatgaaWtaaWcgtttHtWcttgatK +tgDtDMcagtcattcacttgaaatactWgtattcHttcataactgctgtgtKatRagtaa +tttYgNcaatcBctgtStaggtaMatacgtYaRNtgNaHtNccRtgcSHgRcaatttVcc +tattaBKtgYtaMaactRaaaaBaattHHtatVNWYHaatcagtaMVtttctattWHttt +acaaVccDctYtttVtNtRRKtBgatHtBcaatHYaSgaagaagHagtttDaVaattVac +tactYcaDtKttgVVVtaWtggctaSttgtaataDctWactcaRttWcMSYtWagaagtt +ctKHcgKtDaYggaDttgtgtataacaRKctaacttcYaDtccNaNttaYtaatagRtta +SagaatBtVRtaatcttatgcgtWtataaWgHataatttYYSttYcggKKtaHcttttag +HDDBtggtttaaacatagaRagtVagactttacKaWDMacgYaacctgctKaNattggat +ggNgtKcYSttttcctttDtYttBcatgattSHaaccVtccatctcccacDBtgaWBaMa +accgttttcttaaMgScBNatBtagtcttccttatKBRcctggtVStatagcDgMgtaca +ttacccattKKtaRcRatRctYVaSagttatatYtcgNDDggKaHggcccgcRtacgDtc +YctgaaacHtatattaVtcaattaaatgaWaBggYtHYYaVagWacaNtDtaRattgRac +RtacacatgHtagagtaatatttctgDDcttgNDagcctaaHtatYHtKtRaScgtattM +ttacaacHggttttatSgaHVVgaattaatagttattactgtRtaWgataMDaaaactgN +YacYtagKtaRcaYDHatatVatggctKtWatHaNttaatttttgtaagcctggcgKata +aNtttRMNggDtataaaatVcMRataacagctMatBgMtaaVcgagattcaaaSgtgKac +gtDHatWaatgttcDtWatgYcWRttcatBSHtttgaatatBgaaWgggaaBcctSSVaa +gctSctagYatDggtatatgtaatatgtatgHYcRtagagtHcgggcataDHattcaaat +tcRgcaaaataagattcaaYVtaBtaagRagtttgSRtgRYKgWggtttaaHgcHStgtg +gtctaHaccaccSaaaattaHatgttVtataccagaatDKVtctagtttcaatgtNctac +cgDcacgaattacactatgaaggccKVatccaSWaaKHtttSggatgagMagttgcaata +tKYtacBttaccatHRttaacttacaDKKtaKaDcHHcaYatatgMagaRaNNttcggag +YRtacMtHgacttagacBaagggBatcttgaRDactgatacatatcSBggtaaaVWgMaa +tttaYtaWacHattDMtttaaaRRScatcttctaatacagtBVgtgtttBagtatgBNca +agHaaaSaSYKcacMtKatggcacgcctSRaagcataattaYacctMaaKtcggaBaVaa +WaDMttgccttaaacttDaaHacNVtgagaataccactctMttaatcttHcctttaggaK +gaggWtaNataYgtaggtgaagtcWDcWaBatattRtVgtRgVtataacDDNttatcYaa +aagcaVgtYggaDattccgtccDcSttaaWtttcaaaatggataSatctRYcaaBctMMt +cttaacMaSgDatgagatcaYgctcacHccMgaacatcDNgtNRcgBaaatagaYgatgc +ttRaattStccttgagcctaVaagggatatcagtaNMttaaHcMaatccScBtYaYttat +gaMNagtgHaatHacaHaBaaDtaRNDNcBtagBgacatStagacttgtaatMtYaNaKS +accBtttHcDaHNBttBaacSaggagaacgWcMgtRcaagattSctgtaBtcaatMtaHg +caaccataVgtaagDRcDcggaaccaBtacVMgSttgtcataaaaacaMataHatgttaa +caaMgtacgtMVcatagYtKgtgtcctaBcYKattcaggBaaHagStcNcattatRRaSY +tYDRaHYttttggaRggggttatKcVtHgctggaNttaagagBaacattggYaaDcSacg +gYaRttacaacactcDcacBDtYataaaaDWtctcaggVtaYttKtaVKtDSaMtYtYcg +taacHtRcHctaacBgattttagHaScDctHttaaaatVaHttggttatttDtatHtcaH +cBagSttttDctttWtctaaataaWtHYtRgtBccSaaDSaNgatcSttaaaatgaYgKa +aDaVatatYaRaHDtataKaNtagtacataggSaatMtctMtccctWgaYtaggataMtt +cgtacgccYgBSgttaaHgctRgRgtDVSRattttttaaKtRMtatSgRaatKacMaYgg +gtagBgNHcgYRagHcatatgtgaacMtacSDRMHaaacHaagtWSMcaattcagtDctB +attgttcatttMBaDVHVDBtaatKactNacgcBYtttgatctatVVtatcKaKSgtaWc +gtcgNYatSaRtcaggaRtctattagattKHttYaaBtcacatataattMgtatcataKK +atDVtWtaHtHHVaggaaHagWaHtattgtDaHRgatgtaaaWaaSStMatttgNtgtca +gDWgagaBagtcattaataggagttcagcHttgWagaWcRttaKttaDgaDWtYacMWgR +aatatccMtaaattRaatacaKYcgcatgtatgtNaccataSttSatttttcgatcttca +aKcMDatgaattcaMWctKNcHtctacaYgatgcaBtDDWtaRtScaYaatYSgBtDcaa +cYataacgcDgtaacMtSaaKcKttttDVgttgtaaNcaattctcaataaatcSVcKaac +attgggacatgaaaacggaggagtacDYgatMYttaaaBBctccYgcgagccHattttaW +tataYcaKaaDYaaaStMctSattaatataNaWcacaataVtcatacaHcgMgaatYgaa +taatRcWcgtttcNDYcacaaacacaNttttaatctaKtRttHDSttccWatatagtKtg +tcgaccaBgtVacNaYBHgtttSSagcNtctacctttaacgacaDcWVacSHcaNacatt +tgBYaaagatWagaacYMatcKgBYcBggtaWatataKcNgaaaattHYtSaYDVHSact +gttNRgaaaMBtatataaaaacVtctWtgKggtatDBgHaKaHVcMWtYYBaaattaVtc +gaaacatggagYKtaaaacagttNtttatcatgctagYcctctNgttctgctaYttBata +aRtattgatgaaactagttBgagtcttccatBagatctBaaagSacagtaaStaaatata +taataatcttaactatVtaaBattHcHgcttSSaaDRaKtataagggKaacRagBaggta +MYttggtacMatMttttYttaacttaBaYaaaatKgtactactKDctcttgaDtMgattg +VgcRaaaKattaatataagWgttcaWgtcaKtatcgacatDaaSatHtttcagcNtatSg +gtgtaRtgatttStBaNaHgcagttaggggatWtttgattttatcgaBtctaggcgtgtg +tWttttaaSaWKctWggtgataaaattacBtMRtatccattaaSWttaSMcYtHtaactt +aaBaDattctatKatctttcatDtcgNcgacttgtaaaattDcaVatRacatgaaagtcc +tgtctcatacatatcSWgNDttgaaVKatNacDggagWaaatgaaVNtttBataaagVtt +VataataYcNMVaNaKaatRMcagNacVRactcWgctttNatHaRaBRtaaatRtaKtNg +YWattaatcttaRttgttcttaaWaaagttcNVtagMaBatcVcgccDaaBMgKttgaVa +accgYtRaactttYtcatgattgtWSaaBatagtagSataDgatgNtaWatcaMttaHat +tagVtggagaNHtaatatctNaagaDBatcttttaRaaNtBYagtaacVttYBtaagcaa +aMatcNgKaggacagagtgaRatWaDaaSaDaaattVgcWttatBNctgSagtctgcStt +acSRtgatHDgggcBagccDtatYaaagaataDgatDaBttagctatcHtcWtagggagt +DtSaaacagtagcttVatgttggcStataacttVtaatWKtatDatcttcDaagactgtg +DNBaccaattaacaaagaaHWtatttaacattWaatgttcMttaNNcYaRccHtacRaga +tccKaaYactcVRDtcHVtgaaNaSatctRSaWtagagtcgcaataDcagBaagtctSNa +gaaaKgttataStaatagStaatSatataWttctcgtaDgtYRcgtHttaKtcDttRaat +NacYgtagVaattNttttatDgKcttttSaaattYcgYBaaggttctagYcBataacVca +gggaWtaKtacatgcYcctatccDatatagtcRaaaSMgtggaatcaaMaatWcgctagg +gtcattaVtctaatgHcaSHtcacttBaagaMDtactYgtttgWgacccStDtagaDaBt +gctctttKaaaatMttNStggtttatWttYttatKMKgtctaKcgaBaaaattcccgacY +tBcaKaKttRccaaBaWgMaMatgtWtcRDWttcggacNctataaacKaaatHatggDat +SaaKtgcgRaaacgtgttcatNtgHtcaataaacaaWMKatattcWaKcNaccWtggttc +ctBaMttgRtggtWtaaVggDgttaDaScgWccWHatacaagtaHtaacttWaNatgtgt +taacKaVtcataDMattgtaKccttttttStaaDDtHYattNtcgatataBattctWRat +MVtStaSaWttNRacgatagtRcgcRtcctttacagBKaaVcYtRaKatVtaWttaVggB +BatcaaWatgtggagattDgWtttcaataDtactRaatBattWVacttWVNtVagHaHta +tttaVagtRMMtaBattatataaNaagatHBtgtatVtaaacatttagtccaKDcacgWa +aHagttVKBgcgRaSYtttVcgaacaBatttaatctaSYtccNtcatctatttatBaHca +ttcaBgDMYtactgScccttRctaagtaaNtaaaaattatggtVataaagVStcaatcac +gcDaatgtaacatDBagtcgaaRDaSactgcagaHgttYatgaVgtNccttcaKHgcgat +aDcgYtgtgBatcacScgctBcVttttcYaaNtttttatcBaatgataYgtgttgtatga +VcBagtatagtNaRaaatKVtcRtcWatctaattgtVgataaMataWagaDttaatRcgc +taKHgaRagtDctScatNgHgtKgtDtHBVgYcagatgttagcgaataaNBactBaaRaW +cRcMctctBtWKaggcaataatSYtccagtRtaSVtRgatctaBgDNDtBgtttgtaNtW +taatatDtataacgccDttcaMaMatgRtgaaaMHatgBaatgcccDagNgttRDcWtaa +aKtMSaBgctgcaatgtSVattRWcBtDaaMKRcccWtVttaaatatttctgtcatNBga +aaatHtttWtYtttcaacaaagaaNYBaatatctgatNtgaacaaMaaYcNgtgatttWt +NaatWcYMScMctaaStttNgHtMacgtMDtgagcattcacWtttKttBtKaKcHaBttt +aBacgaaNYaaaatBaatNHgaaatMtagatDcaagMtaattctKtgNtScaatagcaHD +agtagagSRcagcaagaccYHtaNtBatKtStcRagtgttMaYgtgggtNatSaatStcY +taBaSBtaggtctMtatcatgaattactcYtNagaaaDtggaaatKBattaaatcWgKtS +tKtcaWMggaattYtggccgaWcacagaNWaNgaacaYaHgaVtMctVHttaKDcctNcc +BKMDagtatgcHtttaaaDaggtgHtattcatatttaagcBaaaRcSgttaaatgWacRa +tacaaatgBatYatatRBcacaVataRaKWMcDWtSaatatHattcVgMKYtgtaVBtga +gattRgaatgaDgtcaStacgctaggRggtSagKcWYctacaagtttBtgaBttacgaSt +HgVaStgtaRtacaDccNDattSRgttatMtNttttWHacDtttVtgacgYattccWcta +agtgaaaMMatgNtctaataRctgaacatttVcNtgtttgaggcaaagtatgVgtaVtgR +DcttBDtataaMBatatNgataataHaaaNacaStgaNaHgYtgacagtcYDggagattN +caDtKgtagMaacSHRtcagNagatKcatataVatactgRVatgBtatcgttattHtHcK +aDtagRagtgHtaDcVtatacattacggcaKttattgacatDaatgtctcattVcaRctt +ttgDtNHSggcttaYDcHaatcDYacccWaMttgRtNggYtttttggDgctacVDtBMgB +aDgtMaaBgctBVttVagaHBaaaaatgNactaattattNagaagNVaBgVtRgggatac +gctgMtgaccatMaaDYDaagctggtcaatggtatBtNtccWtWKcaNcBttactgtgBY +DaMtMtcWaatctWYHatccgWtataaaNNacNgctYagtaaaRtaaYggcagaMaaggg +ttHaatatcaccVtagtggcgtMtagtcaYaaRttWgBtctgaaBtKattaatYtacaat +cKcacNcMDtgtactatcDcgRtaaYagattgccMtgtYKaRaWHgtaccttagcRaWaa +gDataccagcatcYtcaaSgVacatttaSttSVDSctactgaNctatVattttacgaggW +gtaaaKtcNgatgttgcaaNVttagRtttttRttYYaYcaaagcVDMaaRaRtccVcSat +tttcaattagWattMMctataWatggtaagagRaaattYKKtgatagcMYgcVcgggSta +ttacgBBctNtRgacaacYHctctNtataattBttStaRaaaatctgtWatcRacaaMta +ttYttKtccaatcSttatgtaWttcgcaaWgtWNcBccRgtBagNgYtDctatccMaagt +gcYMtYctYttgtcVaaHtatgcBaaBcgaataattcttcDaacaaacBtagWYaagcaV +acYcKYttgSaKVcttccgcctcattctcaatgVgaaacatWWctgcagtttctttttMa +gWttatRggcattattVaagaBBttatctattatMcNtaacagttgaaaBaRtaRRtNta +taYNtttNtcctaVBtatNtNgBtaHHYDttKctaDctcaNcatgDaYatgYagaDcaHg +actHgWWaagWtSttctagKaaggYtcataYgBtccRaggggaaaHagaacaDatgaaaa +tcaKtattgWacgtcMSaacYaYgcWYNgagtaMgtSccgaaaaaatctggaMMRaaaat +aatctaaacgatatgDaggaVKcttttaatgacBttNYttagtatDagYttWctttNgtH +tcVtattHtcHacattatHgNStgtSaNaactVMcaatcccBHNatcttDtcgaKccKtt +atttctVRaagttaMtaYtcttcatMYRctttRtaMgSaaaactgWacHagtacccattt +cgcatgagtaaagtHcaKgVBtaattatBtttWatgMctccattgactattcttgtcatS +ttaaHaVtKtDcatcatatccaacKatattatNggNaRatcMSDHRtcctYRaatccacY +aatBattcttBVctatatttRNtgaNtcaaaRgtaBcttaaDRcgctacWcttgatatct +HttttgtNtYatatacgaVBgYHgattgggtcgacacDtttKVcaattWRcaagBtgctD +KDaYtttcKgNgggtcacVagatMgtMVgVgatttcagtcgtgKgtKYgtYSaMtgataa +tNggattKNgaSggactaaBagataacactcataVgttataaSacaatcRRaagtaDaag +DYtcactgtgaVttWtBaMttttgaHtKaYtattccagccaaBaggataaRtBatNcatg +tatatttcttacaaYVNatagaaagaSaaaagaaatSaBgtcgattacattgWccttHNa +ttataacgVRDtYcWgaaYaVgMttcttgtDtKaYVttctgggSNtaYHWaaHactaaSS +agttgSaaactYaMttaMaHVRtcgattaccHtcgcgatgNcaYtatattacgcHaaaMN +MtaYDgacaggRgaYVtVKcaSVcWMBBaWaWcagtatHaWBNaMcBtatccatgaScHt +YtgactcattgaYatRtacttYtctttgBgtattaaDtcaHgcNcaVatagtttggggRa +aaccWcNNttRBgaaRKgaaNtMaagcVacgtgttaaMYWtcBYtgagtaatcgttttaa +tcgaaaagttDcaatgtggtBaBcNtgNatBtggactttagYttBcgttRttatSgacNa +DttatRKacactgcSKaVaaaRgHaattaaaRctgatKaWcctWggWWagccgaactaYc +cttgtgaBHggcYttttBccttaggaKtaaaBacVDcBYYgaWagaKtaHaaactaNtta +tagtcttttacgaccctttKattWcgHgcaDccctHttatVVaagKaatatgggMaNHag +attgNStatBatcgaaYgcVcagaatcctcYtBKDatatcNKgacaatKDatgaaacgaa +atYYcgNBDtataatMcRWtaagtataHgMaVggcaaDtggttcVattattaaaatSVaM +aNcDBttataYgttttStacattgagagtccaNtgaatttttKtStatatttRaatttcg +BDccctaaSWatttaaMBStcatacctgctctatctatKatatgaacaactctWBaNagt +cgYaaaaRtctMtDgtaBaacaNtacagtcgataNgaVccgtttattatgatctagtDSg +aHNcctKtcttatNtgatYKaaStctWDVcaaccgaVttScaagaaaaVcccggagWatc +VaNtVaRcNtcagatcMMatactaaaWaagatYHRWcaSagcgMtttatSBtBtBgacRa +VgtgattaagtBgtatcgtNggggDaWgagctgatctatttHaactttcgcttttccatt +tNaaYgtattttactttacttRataBttgatagggacattattaaSaaaYtgatggaDaM +ttacttatttttttaaWttttaataaWaNaattgtaBtBMcatcNtaaMtDaaaatcRgc +atccaMtggWggHggagSttacaYHatYtgtaatcatttgVtataaDVttcaYttctHtH +tagttWHNYYtVRVccatacaattaaaYatcgcatBagcaatDaWacVaBWattagaaBa +taatgtKaaaNKcagaactNaagaNatgKtBSctgattgWcNaaSataggtataaacVaa +tDttcRaRtVtVtgtataagMtSccaSScagttgatYattcagcMaaWctaagtYcSatt +NccgtcgtaBtaattgttgacaaaDttttattaatacSKtcgcatNttatWatacgRtgc +ataactYtcacHgVgHttYaataaWacgSVKatactagDggcattKctggataagtVgKY +tatgttagcgtaRtttaaagacHgacacattcHKaMKtcgKtcacggtgatcaaBtMttc +ttattcttDaKKVgWagtaacatgKatVgacattagWtaRtaccRaaVHtttttRtgBcc +agtcgctagtRtaBcMVWMtaBtaggttaYcttagaSgYgttttcaaNNgtttVaagctg +StttactaacWattcgtVgtgtKcgtYaaaaaKtaSaattgBtYgaVcagKatgaMttWD +RatgtaatctagacWaccgcaNgtctgtgagtMttgaaatNtttattaRKcgtaWatcaW +ccaKtttNactaatNcgVaaBcgRgDttcDcatttgagWNattttNaYtttatgcHtttB +BacgttgRgtcataNtatatcaWVcatgaacatRgtNaWaatcaggttaaSctttcaaca +tHttVKaHtNtMtcttcHattYatcgatgtacSaaataVtcttYStaagattDagtKccg +accHBYatMtcggBacatVtaaagMcttBgtSagKgNttttcNtSaaMaStHgtattttK +aRttaMtDtcKtcgagDKgaaaacttaaaWNaattgaWWaaggaaacKtttVggMBcata +ttDacctaMgaaKgcgcaaMRtaatcgataaatRDttataNtVgtaVDggttaNgatBgt +ggcaaYWtagctcWgtSaacgtattKcgcBtttDacaaaaaStKMtatNccagKatgtVt +HtWaSBgDttgWgaattWagttttaagcctNcttaBtYttaRactaattggagagggtct +agtatgggtttacttBtatcatatgctaKggNcataaaSatgtaaaDcDRtBggDtcttt +ataattcBgtcgtactDtDagcctatttSVHtHttKtgtHMaSattgWaHKHttttagac +atWatgtRgaaaNtactMcSMtYtcMgRtacttctWBacgaaatatagScDtttgaagac +acatagtVgYgtcattHWtMMWcStgttaggKtSgaYaaccWStcgBttgcgaMttBYat +cWtgacaYcagagtaBDtRacttttcWatMttDBcatWtatcttactaBgaYtcttgttt +tttttYaaScYaHgtgttNtSatcMtcVaaaStccRcctDaataataStcYtRDSaMtDt +tgttSagtRRcatttHatSttMtWgtcgtatSSagactYaaattcaMtWatttaSgYtta +RgKaRtccactttattRggaMcDaWaWagttttgacatgttctacaaaRaatataataaM +ttcgDacgaSStacaStYRctVaNMtMgtaggcKatcttttattaaaaagVWaHKYagtt +tttatttaaccttacgtVtcVaattVMBcttaMtttaStgacttagattWWacVtgWYag +WVRctDattBYtgtttaagaagattattgacVatMaacattVctgtBSgaVtgWWggaKH +aatKWcBScSWaaccRVacacaaactaccScattRatatKVtactatatttHttaagttt +SKtRtacaaagtRDttcaaaaWgcacatWaDgtDKacgaacaattacaRNWaatHtttSt +gttattaaMtgttgDcgtMgcatBtgcttcgcgaDWgagctgcgaggggVtaaScNattt +acttaatgacagcccccacatYScaMgtaggtYaNgttctgaMaacNaMRaacaaacaKc +tacatagYWctgttWaaataaaataRattagHacacaagcgKatacBttRttaagtattt +ccgatctHSaatactcNttMaagtattMtgRtgaMgcataatHcMtaBSaRattagttga +tHtMttaaKaggYtaaBataSaVatactWtataVWgKgttaaaacagtgcgRatatacat +VtHRtVYataSaKtWaStVcNKHKttactatccctcatgWHatWaRcttactaggatcta +taDtDHBttataaaaHgtacVtagaYttYaKcctattcttcttaataNDaaggaaaDYgc +ggctaaWSctBaaNtgctggMBaKctaMVKagBaactaWaDaMaccYVtNtaHtVWtKgR +tcaaNtYaNacggtttNattgVtttctgtBaWgtaattcaagtcaVWtactNggattctt +taYtaaagccgctcttagHVggaYtgtNcDaVagctctctKgacgtatagYcctRYHDtg +BattDaaDgccKtcHaaStttMcctagtattgcRgWBaVatHaaaataYtgtttagMDMR +taataaggatMtttctWgtNtgtgaaaaMaatatRtttMtDgHHtgtcattttcWattRS +HcVagaagtacgggtaKVattKYagactNaatgtttgKMMgYNtcccgSKttctaStata +tNVataYHgtNaBKRgNacaactgatttcctttaNcgatttctctataScaHtataRagt +cRVttacDSDttaRtSatacHgtSKacYagttMHtWataggatgactNtatSaNctataV +tttRNKtgRacctttYtatgttactttttcctttaaacatacaHactMacacggtWataM +tBVacRaSaatccgtaBVttccagccBcttaRKtgtgcctttttRtgtcagcRttKtaaa +cKtaaatctcacaattgcaNtSBaaccgggttattaaBcKatDagttactcttcattVtt +tHaaggctKKgatacatcBggScagtVcacattttgaHaDSgHatRMaHWggtatatRgc +cDttcgtatcgaaacaHtaagttaRatgaVacttagattVKtaaYttaaatcaNatccRt +tRRaMScNaaaDgttVHWgtcHaaHgacVaWtgttScactaagSgttatcttagggDtac +cagWattWtRtgttHWHacgattBtgVcaYatcggttgagKcWtKKcaVtgaYgWctgYg +gVctgtHgaNcVtaBtWaaYatcDRaaRtSctgaHaYRttagatMatgcatttNattaDt +taattgttctaaccctcccctagaWBtttHtBccttagaVaatMcBHagaVcWcagBVtt +cBtaYMccagatgaaaaHctctaacgttagNWRtcggattNatcRaNHttcagtKttttg +WatWttcSaNgggaWtactKKMaacatKatacNattgctWtatctaVgagctatgtRaHt +YcWcttagccaatYttWttaWSSttaHcaaaaagVacVgtaVaRMgattaVcDactttcH +HggHRtgNcctttYatcatKgctcctctatVcaaaaKaaaagtatatctgMtWtaaaaca +StttMtcgactttaSatcgDataaactaaacaagtaaVctaggaSccaatMVtaaSKNVa +ttttgHccatcacBVctgcaVatVttRtactgtVcaattHgtaaattaaattttYtatat +taaRSgYtgBagaHSBDgtagcacRHtYcBgtcacttacactaYcgctWtattgSHtSat +cataaatataHtcgtYaaMNgBaatttaRgaMaatatttBtttaaaHHKaatctgatWat +YaacttMctcttttVctagctDaaagtaVaKaKRtaacBgtatccaaccactHHaagaag +aaggaNaaatBWattccgStaMSaMatBttgcatgRSacgttVVtaaDMtcSgVatWcaS +atcttttVatagttactttacgatcaccNtaDVgSRcgVcgtgaacgaNtaNatatagtH +tMgtHcMtagaaattBgtataRaaaacaYKgtRccYtatgaagtaataKgtaaMttgaaR +VatgcagaKStctHNaaatctBBtcttaYaBWHgtVtgacagcaRcataWctcaBcYacY +gatDgtDHcctaaagacYRcaggattHaYgtKtaatgcVcaataMYacccatatcacgWD +BtgaatcBaatacKcttRaRtgatgaBDacggtaattaaYtataStgVHDtDctgactca +aatKtacaatgcgYatBtRaDatHaactgtttatatDttttaaaKVccYcaaccNcBcgH +aaVcattHctcgattaaatBtatgcaaaaatYMctSactHatacgaWacattacMBgHtt +cgaatVaaaacaBatatVtctgaaaaWtctRacgBMaatSgRgtgtcgactatcRtatta +ScctaStagKgaDcWgtYtDDWKRgRtHatRtggtcgaHgggcgtattaMgtcagccaBg +gWVcWctVaaattcgNaatcKWagcNaHtgaaaSaaagctcYctttRVtaaaatNtataa +ccKtaRgtttaMtgtKaBtRtNaggaSattHatatWactcagtgtactaKctatttgRYY +atKatgtccgtRtttttatttaatatVgKtttgtatgtNtataRatWYNgtRtHggtaaK +aYtKSDcatcKgtaaYatcSRctaVtSMWtVtRWHatttagataDtVggacagVcgKWag +BgatBtaaagNcaRtagcataBggactaacacRctKgttaatcctHgDgttKHHagttgt +taatgHBtatHcDaagtVaBaRccctVgtgDtacRHSctaagagcggWYaBtSaKtHBta +aactYacgNKBaVYgtaacttagtVttcttaatgtBtatMtMtttaattaatBWccatRt +ttcatagVgMMtagctStKctaMactacDNYgKYHgaWcgaHgagattacVgtttgtRaS +ttaWaVgataatgtgtYtaStattattMtNgWtgttKaccaatagNYttattcgtatHcW +tctaaaNVYKKttWtggcDtcgaagtNcagatacgcattaagaccWctgcagcttggNSg +aNcHggatgtVtcatNtRaaBNcHVagagaaBtaaSggDaatWaatRccaVgggStctDa +acataKttKatttggacYtattcSatcttagcaatgaVBMcttDattctYaaRgatgcat +tttNgVHtKcYRaatRKctgtaaacRatVSagctgtWacBtKVatctgttttKcgtctaa +DcaagtatcSataWVgcKKataWaYttcccSaatgaaaacccWgcRctWatNcWtBRttY +aattataaNgacacaatagtttVNtataNaYtaatRaVWKtBatKagtaatataDaNaaa +aataMtaagaaStccBcaatNgaataWtHaNactgtcDtRcYaaVaaaaaDgtttRatct +atgHtgttKtgaaNSgatactttcgagWaaatctKaaDaRttgtggKKagcDgataaatt +gSaacWaVtaNMacKtcaDaaatttctRaaVcagNacaScRBatatctRatcctaNatWg +RtcDcSaWSgttRtKaRtMtKaatgttBHcYaaBtgatSgaSWaScMgatNtctcctatt +tctYtatMatMtRRtSaattaMtagaaaaStcgVgRttSVaScagtgDtttatcatcata +cRcatatDcttatcatVRtttataaHtattcYtcaaaatactttgVctagtaaYttagat +agtSYacKaaacgaaKtaaatagataatSatatgaaatSgKtaatVtttatcctgKHaat +HattagaaccgtYaaHactRcggSBNgtgctaaBagBttgtRttaaattYtVRaaaattg +taatVatttctcttcatgBcVgtgKgaHaaatattYatagWacNctgaaMcgaattStag +WaSgtaaKagttttaagaDgatKcctgtaHtcatggKttVDatcaaggtYcgccagNgtg +cVttttagagatgctaccacggggtNttttaSHaNtatNcctcatSaaVgtactgBHtag +caYggYVKNgtaKBcRttgaWatgaatVtagtcgattYgatgtaatttacDacSctgcta +aaStttaWMagDaaatcaVYctccgggcgaVtaaWtStaKMgDtttcaaMtVgBaatcca +gNaaatcYRMBggttWtaaScKttMWtYataRaDBMaDataatHBcacDaaKDactaMga +gttDattaHatHtaYatDtattDcRNStgaatattSDttggtattaaNSYacttcDMgYg +BatWtaMagactVWttctttgYMaYaacRgHWaattgRtaagcattctMKVStatactac +HVtatgatcBtVNataaBttYtSttacKgggWgYDtgaVtYgatDaacattYgatggtRD +aVDttNactaSaMtgNttaacaaSaBStcDctaccacagacgcaHatMataWKYtaYatt +McaMtgSttDagcHacgatcaHttYaKHggagttccgatYcaatgatRaVRcaagatcag +tatggScctatattaNtagcgacgtgKaaWaactSgagtMYtcttccaKtStaacggMta +agNttattatcgtctaRcactctctDtaacWYtgaYaSaagaWtNtatttRacatgNaat +gttattgWDDcNaHcctgaaHacSgaataaRaataMHttatMtgaSDSKatatHHaNtac +agtccaYatWtcactaactatKDacSaStcggataHgYatagKtaatKagStaNgtatac +tatggRHacttgtattatgtDVagDVaRctacMYattDgtttYgtctatggtKaRSttRc +cRtaaccttagagRatagSaaMaacgcaNtatgaaatcaRaagataatagatactcHaaY +KBctccaagaRaBaStNagataggcgaatgaMtagaatgtcaKttaaatgtaWcaBttaa +tRcggtgNcacaaKtttScRtWtgcatagtttWYaagBttDKgcctttatMggNttattB +tctagVtacataaaYttacacaaRttcYtWttgHcaYYtaMgBaBatctNgcDtNttacg +acDcgataaSatYaSttWtcctatKaatgcagHaVaacgctgcatDtgttaSataaaaYS +NttatagtaNYtaDaaaNtggggacttaBggcHgcgtNtaaMcctggtVtaKcgNacNta +tVaSWctWtgaWcggNaBagctctgaYataMgaagatBSttctatacttgtgtKtaattt +tRagtDtacatatatatgatNHVgBMtKtaKaNttDHaagatactHaccHtcatttaaag +ttVaMcNgHatatKtaNtgYMccttatcaaNagctggacStttcNtggcaVtattactHa +SttatgNMVattMMDtMactattattgWMSgtHBttStStgatatRaDaagattttctat +MtaaaaaggtactaaVttaSacNaatactgMttgacHaHRttgMacaaaatagttaatat +WKRgacDgaRtatatttattatcYttaWtgtBRtWatgHaaattHataagtVaDtWaVaW +tgStcgtMSgaSRgMKtaaataVacataatgtaSaatttagtcgaaHtaKaatgcacatc +ggRaggSKctDcagtcSttcccStYtccRtctctYtcaaKcgagtaMttttcRaYDttgt +tatctaatcataNctctgctatcaMatactataggDaHaaSttMtaDtcNatataattct +McStaaBYtaNagatgtaatHagagSttgWHVcttatKaYgDctcttggtgttMcRaVgS +gggtagacaataaDtaattSaDaNaHaBctattgNtaccaaRgaVtKNtaaYggHtaKKg +HcatctWtctDtttctttggSDtNtaStagttataaacaattgcaBaBWggHgcaaaBtY +gctaatgaaatWcDcttHtcMtWWattBHatcatcaaatctKMagtDNatttWaBtHaaa +NgMttaaStagttctctaatDtcRVaYttgttMtRtgtcaSaaYVgSWDRtaatagctca +gDgcWWaaaBaaRaBctgVgggNgDWStNaNBKcBctaaKtttDcttBaaggBttgacca +tgaaaNgttttttttatctatgttataccaaDRaaSagtaVtDtcaWatBtacattaWac +ttaSgtattggDgKaaatScaattacgWcagKHaaccaYcRcaRttaDttRtttHgaHVg +gcttBaRgtccctDatKaVtKtcRgYtaKttacgtatBtStaagcaattaagaRgBagSa +attccSWYtttattVaataNctgHgttaaNBgcVYgtRtcccagWNaaaacaDNaBcaaa +aRVtcWMgBagMtttattacgDacttBtactatcattggaaatVccggttRttcatagtt +VYcatYaSHaHcttaaagcNWaHataaaRWtctVtRYtagHtaaaYMataHYtNBctNtK +aatattStgaMcBtRgctaKtgcScSttDgYatcVtggaaKtaagatWccHccgKYctaN +NctacaWcttttgcRtgtVcgaKttcMRHgctaHtVaataaDtatgKDcttatBtDttgg +NtacttttMtgaacRattaaNagaactcaaaBBVtcDtcgaStaDctgaaaSgttMaDtc +gttcaccaaaaggWtcKcgSMtcDtatgtttStaaBtatagDcatYatWtaaaBacaKgc +aDatgRggaaYctaRtccagattDaWtttggacBaVcHtHtaacDacYgtaatataMaga +atgHMatcttatacgtatttttatattacHactgttataMgStYaattYaccaattgagt +caaattaYtgtatcatgMcaDcgggtcttDtKgcatgWRtataatatRacacNRBttcHt +BgcRttgtgcgtcatacMtttBctatctBaatcattMttMYgattaaVYatgDaatVagt +attDacaacDMatcMtHcccataagatgBggaccattVWtRtSacatgctcaaggggYtt +tDtaaNgNtaaBatggaatgtctRtaBgBtcNYatatNRtagaacMgagSaSDDSaDcct +RagtVWSHtVSRggaacaBVaccgtttaStagaacaMtactccagtttVctaaRaaHttN +cttagcaatttattaatRtaaaatctaacDaBttggSagagctacHtaaRWgattcaaBt +ctRtSHaNtgtacattVcaHaNaagtataccacaWtaRtaaVKgMYaWgttaKggKMtKc +gWatcaDatYtKSttgtacgaccNctSaattcDcatcttcaaaDKttacHtggttHggRR +aRcaWacaMtBWVHSHgaaMcKattgtaRWttScNattBBatYtaNRgcggaagacHSaa +ttRtttcYgaccBRccMacccKgatgaacttcgDgHcaaaaaRtatatDtatYVtttttH +gSHaSaatagctNYtaHYaVYttattNtttgaaaYtaKttWtctaNtgagaaaNctNDct +aaHgttagDcRttatagccBaacgcaRBtRctRtggtaMYYttWtgataatcgaataatt +attataVaaaaattacNRVYcaaMacNatRttcKatMctgaagactaattataaYgcKca +SYaatMNctcaacgtgatttttBacNtgatDccaattattKWWcattttatatatgatBc +DtaaaagttgaaVtaHtaHHtBtataRBgtgDtaataMttRtDgDcttattNtggtctat +ctaaBcatctaRatgNacWtaatgaagtcMNaacNgHttatactaWgcNtaStaRgttaa +HacccgaYStacaaaatWggaYaWgaattattcMaactcBKaaaRVNcaNRDcYcgaBct +KaacaaaaaSgctccYBBHYaVagaatagaaaacagYtctVccaMtcgtttVatcaattt +DRtgWctagtacRttMctgtDctttcKtWttttataaatgVttgBKtgtKWDaWagMtaa +agaaattDVtaggttacatcatttatgtcgMHaVcttaBtVRtcgtaYgBRHatttHgaB +cKaYWaatcNSctagtaaaaatttacaatcactSWacgtaatgKttWattagttttNagg +tctcaagtcactattcttctaagKggaataMgtttcataagataaaaatagattatDgcB +VHWgaBKttDgcatRHaagcaYcRaattattatgtMatatattgHDtcaDtcaaaHctSt +attaatHaccgacNattgatatattttgtgtDtRatagSacaMtcRtcattcccgacacS +attgttKaWattNHcaacttccgtttSRtgtctgDcgctcaaMagVtBctBMcMcWtgta +acgactctcttRggRKSttgYtYatDccagttDgaKccacgVatWcataVaaagaataMg +tgataaKYaaatcHDaacgataYctRtcYatcgcaMgtNttaBttttgatttaRtStgca +acaaaataccVgaaDgtVgDcStctatatttattaaaaRKDatagaaagaKaaYYcaYSg +KStctccSttacagtcNactttDVttagaaagMHttRaNcSaRaMgBttattggtttaRM +ggatggcKDgWRtNaataataWKKacttcKWaaagNaBttaBatMHtccattaacttccc +cYtcBcYRtagattaagctaaYBDttaNtgaaaccHcaRMtKtaaHMcNBttaNaNcVcg +VttWNtDaBatgataaVtcWKcttRggWatcattgaRagHgaattNtatttctctattaa +ttaatgaDaaMatacgttgggcHaYVaaNaDDttHtcaaHtcVVDgBVagcMacgtgtta +aBRNtatRtcagtaagaggtttaagacaVaaggttaWatctccgtVtaDtcDatttccVa +tgtacNtttccgtHttatKgScBatgtVgHtYcWagcaKtaMYaaHgtaattaSaHcgca +gtWNaatNccNNYcacgVaagaRacttctcattcccRtgtgtaattagcSttaaStWaMt +ctNNcSMacattataaactaDgtatWgtagtttaagaaaattgtagtNagtcaataaatt +tgatMMYactaatatcggBWDtVcYttcDHtVttatacYaRgaMaacaStaatcRttttV +tagaDtcacWatttWtgaaaagaaagNRacDtttStVatBaDNtaactatatcBSMccca +SttccggaMatgattaaWatKMaBaBatttgataNctgttKtVaagtcagScgaaaDgga +WgtgttttKtWtatttHaatgtagttcactaaKMagttSYBtKtaYgaactcagagRtat +agtVtatcaaaWYagcgNtaDagtacNSaaYDgatBgtcgataacYDtaaactacagWDc +YKaagtttattagcatcgagttKcatDaattgattatDtcagRtWSKtcgNtMaaaaaca +MttKcaWcaaSVMaaaccagMVtaMaDtMaHaBgaacataBBVtaatVYaNSWcSgNtDN +aaKacacBtttatKtgtttcaaHaMctcagtaacgtcgYtactDcgcctaNgagagcYga +tattttaaatttccattttacatttDaaRctattttWctttacgtDatYtttcagacgca +aVttagtaaKaaaRtgVtccataBggacttatttgtttaWNtgttVWtaWNVDaattgta +tttBaagcBtaaBttaaVatcHcaVgacattccNggtcgacKttaaaRtagRtctWagaY +ggtgMtataatMtgaaRttattttgWcttNtDRRgMDKacagaaaaggaaaRStcccagt +YccVattaNaaKStNWtgacaVtagaagcttSaaDtcacaacgDYacWDYtgtttKatcV +tgcMaDaSKStVcgtagaaWaKaagtttcHaHgMgMtctataagBtKaaaKKcactggag +RRttaagaBaaNatVVcgRcKSttDaactagtSttSattgttgaaRYatggttVttaata +aHttccaagDtgatNWtaagHtgcYtaactRgcaatgMgtgtRaatRaNaacHKtagact +actggaatttcgccataacgMctRgatgttaccctaHgtgWaYcactcacYaattcttaB +tgacttaaacctgYgaWatgBttcttVttcgttWttMcNYgtaaaatctYgMgaaattac +NgaHgaacDVVMtttggtHtctaaRgtacagacgHtVtaBMNBgattagcttaRcttaca +HcRctgttcaaDBggttKaacatgKtttYataVaNattccgMcgcgtagtRaVVaattaK +aatggttRgaMcagtatcWBttNtHagctaatctagaaNaaacaYBctatcgcVctBtgc +aaagDgttVtgaHtactSNYtaaNccatgtgDacgaVtDcgKaRtacDcttgctaagggc +agMDagggtBWRtttSgccttttttaacgtcHctaVtVDtagatcaNMaVtcVacatHct +DWNaataRgcgtaVHaggtaaaaSgtttMtattDgBtctgatSgtRagagYtctSaKWaa +taMgattRKtaacatttYcgtaacacattRWtBtcggtaaatMtaaacBatttctKagtc +DtttgcBtKYYBaKttctVttgttaDtgattttcttccacttgSaaacggaaaNDaattc +YNNaWcgaaYattttMgcBtcatRtgtaaagatgaWtgaccaYBHgaatagataVVtHtt +tVgYBtMctaMtcctgaDcYttgtccaaaRNtacagcMctKaaaggatttacatgtttaa +WSaYaKttBtagDacactagctMtttNaKtctttcNcSattNacttggaacaatDagtat +tRtgSHaataatgccVgacccgatactatccctgtRctttgagaSgatcatatcgDcagW +aaHSgctYYWtatHttggttctttatVattatcgactaagtgtagcatVgtgHMtttgtt +tcgttaKattcMatttgtttWcaaStNatgtHcaaaDtaagBaKBtRgaBgDtSagtatM +taacYaatYtVcKatgtgcaacVaaaatactKcRgtaYtgtNgBBNcKtcttaccttKga +RaYcaNKtactttgagSBtgtRagaNgcaaaNcacagtVtttHWatgttaNatBgtttaa +tNgVtctgaatatcaRtattcttttttttRaaKcRStctcggDgKagattaMaaaKtcaH +acttaataataKtaRgDtKVBttttcgtKaggHHcatgttagHggttNctcgtatKKagV +agRaaaggaaBtNatttVKcRttaHctaHtcaaatgtaggHccaBataNaNaggttgcWa +atctgatYcaaaHaatWtaVgaaBttagtaagaKKtaaaKtRHatMaDBtBctagcatWt +atttgWttVaaaScMNattRactttgtYtttaaaagtaagtMtaMaSttMBtatgaBttt +aKtgaatgagYgtNNacMtcNRacMMHcttWtgtRtctttaacaacattattcYaMagBa +acYttMatcttKcRMtgMNccattaRttNatHaHNaSaaHMacacaVaatacaKaSttHa +tattMtVatWgattttttaYctttKttHgScWaacgHtttcaVaaMgaacagNatcgtta +acaaaaagtacaHBNaattgttKtcttVttaaBtctgctacgBgcWtttcaggacacatM +gacatcccagcggMgaVKaBattgacttaatgacacacaaaaaatRKaaBctacgtRaDc +gtagcVBaacDSBHaaaaSacatatacagacRNatcttNaaVtaaaataHattagtaaaa +SWccgtatWatggDttaactattgcccatcttHaSgYataBttBaactattBtcHtgatc +aataSttaBtatKSHYttWggtcYtttBttaataccRgVatStaHaKagaatNtagRMNg +tcttYaaSaactcagDSgagaaYtMttDtMRVgWKWtgMaKtKaDttttgactatacata +atcNtatNaHattVagacgYgatatatttttgtStWaaatctWaMgagaRttRatacgSt +gattcttaagaDtaWccaaatRcagcagaaNKagtaaDggcgccBtYtagSBMtactaaa +taMataBSacRMgDgattMMgtcHtcaYDtRaDaacggttDaggcMtttatgttaNctaa +ttaVacgaaMMtaatDccSgtattgaRtWWaccaccgagtactMcgVNgctDctaMScat +agcgtcaactatacRacgHRttgctatttaatgaattataYKttgtaagWgtYttgcHgM +taMattWaWVtaRgcttgYgttBHtYataSccStBtgtagMgtDtggcVaaSBaatagDt +tgBgtctttctcattttaNagtHKtaMWcYactVcgcgtatMVtttRacVagDaatcttg +ctBBcRDgcaacKttgatSKtYtagBMagaRtcgBattHcBWcaactgatttaatttWDc +catttatcgagSKaWttataHactaHMttaatHtggaHtHagaatgtKtaaRactgtttM +atacgatcaagDgatKaDctataMggtHDtggHacctttRtatcttYattttgacttgaa +SaataaatYcgBaaaaccgNatVBttMacHaKaataagtatKgtcaagactcttaHttcg +gaattgttDtctaaccHttttWaaatgaaatataaaWattccYDtKtaaaacggtgaggW +VtctattagtgactattaagtMgtttaagcatttgSgaaatatccHaaggMaaaattttc +WtatKctagDtYtMcctagagHcactttactatacaaacattaacttaHatcVMYattYg +VgtMttaaRtgaaataaDatcaHgtHHatKcDYaatcttMtNcgatYatgSaMaNtcttK +cWataScKggtatcttacgcttWaaagNatgMgHtctttNtaacVtgttcMaaRatccgg +ggactcMtttaYMtcWRgNctgNccKatcttgYDcMgattNYaRagatHaaHgKctcata +RDttacatBatccattgDWttatttaWgtcggagaaaaatacaatacSNtgggtttcctt +acSMaagBattacaMaNcactMttatgaRBacYcYtcaaaWtagctSaacttWgDMHgag +gatgBVgcHaDtggaactttggtcNatNgtaKaBcccaNtaagttBaacagtatacDYtt +cctNgWgcgSMcacatStctHatgRcNcgtacacaatRttMggaNKKggataaaSaYcMV +cMgtaMaHtgattYMatYcggtcttcctHtcDccgtgRatcattgcgccgatatMaaYaa +taaYSggatagcgcBtNtaaaScaKgttBgagVagttaKagagtatVaactaSacWactS +aKatWccaKaaaatBKgaaKtDMattttgtaaatcRctMatcaaMagMttDgVatggMaa +WgttcgaWatgaaatttgRtYtattaWHKcRgctacatKttctaccaaHttRatctaYat +taaWatVNccatNgagtcKttKataStRaatatattcctRWatDctVagttYDgSBaatY +gttttgtVaatttaatagcagMatRaacttBctattgtMagagattaaactaMatVtHta +aatctRgaaaaaaaatttWacaacaYccYDSaattMatgaccKtaBKWBattgtcaagcH +KaagttMMtaatttcKcMagNaaKagattggMagaggtaatttYacatcWaaDgatMgKH +acMacgcVaacaDtaDatatYggttBcgtatgWgaSatttgtagaHYRVacaRtctHaaR +tatgaactaatatctSSBgggaaHMWtcaagatKgagtDaSatagttgattVRatNtctM +tcSaagaSHaataNataataRaaRgattctttaataaagWaRHcYgcatgtWRcttgaag +gaMcaataBRaaccagStaaacNtttcaatataYtaatatgHaDgcStcWttaacctaRg +tYaRtataKtgMttttatgactaaaatttacYatcccRWtttHRtattaaatgtttatat +ttgttYaatMcaRcSVaaDatcgtaYMcatgtagacatgaaattgRtcaaYaaYtRBatK +acttataccaNaaattVaBtctggacaagKaaYaaatatWtMtatcYaaVNtcgHaactB +aagKcHgtctacaatWtaDtSgtaHcataHtactgataNctRgttMtDcDttatHtcgta +catcccaggSttaBgtcacacWtccNMcNatMVaVgtccDYStatMaccDatggYaRKaa +agataRatttHKtSaaatDgataaacttaHgttgVBtcttVttHgDacgaKatgtatatN +YataactctSatatatattgcHRRYttStggaactHgttttYtttaWtatMcttttctat +ctDtagVHYgMRBgtHttcctaatYRttKtaagatggaVRataKDctaMtKBNtMtHNtW +tttYcVtattMcgRaacMcctNSctcatttaaagDcaHtYccSgatgcaatYaaaaDctt +cgtaWtaattctcgttttScttggtaatctttYgtctaactKataHacctMctcttacHt +KataacacagcNRatgKatttttSaaatRYcgDttaMRcgaaattactMtgcgtaagcgt +tatBtttttaattaagtNacatHgttcRgacKcBBtVgatKttcgaBaatactDRgtRtg +aNacWtcacYttaaKcgttctHaKttaNaMgWgWaggtctRgaKgWttSttBtDcNtgtt +tacaaatYcDRtgVtgcctattcNtctaaaDMNttttNtggctgagaVctDaacVtWcca +agtaacacaNctgaScattccDHcVBatcgatgtMtaatBgHaatDctMYgagaatgYWK +cctaatNaStHaaaKccgHgcgtYaaYtattgtStgtgcaaRtattaKatattagaWVtc +aMtBagttattagNaWHcVgcaattttDcMtgtaRHVYtHtctgtaaaaHVtMKacatcg +NaatttMatatgttgttactagWYtaRacgataKagYNKcattataNaRtgaacKaYgca +aYYacaNccHatMatDcNgtHttRaWttagaaDcaaaaaatagggtKDtStaDaRtaVtH +WKNtgtattVctSVgRgataDaRaWataBgaagaaKtaataaYgDcaStaNgtaDaaggt +attHaRaWMYaYaWtggttHYgagVtgtgcttttcaaDKcagVcgttagacNaaWtagta +ataDttctggttVcatcataaagtgKaaaNaMtaBBaattaatWaattgctHaVKaSgDa +aVKaHtatatatHatcatSBagNgHtatcHYMHgttDgtaHtBttWatcgtttaRaattg +StKgSKNWKatcagDtctcagatttctRtYtBatBgHHtKaWtgYBgacVVWaKtacKcD +ttKMaKaVcggtgttataagaataaHaatattagtataatMHgttYgaRttagtaRtcaa +VatacggtcMcgagtaaRttacWgactKRYataaaagSattYaWgagatYagKagatgSa +agKgttaatMggtataatgttWYttatgagaaacctNVataatHcccKtDctcctaatac +tggctHggaSaggRtKHaWaattcgSatMatttagaggcYtctaMcgctcataSatatgR +agacNaaDaggaVBagaYttKtacNaKgtSYtagttggaWcatcWttaatctatgaVtcg +tgtMtatcaYcgtRccaaYgDctgcMgtgtWgacWtgataacacgcgctBtgttaKtYDt +atDcatcagKaVMctaatcttgVcaaRgcRMtDcgattaHttcaNatgaatMtactacVg +tRgatggaWtttactaaKatgagSaaKggtaNtactVaYtaaKRagaacccacaMtaaMt +KtatBcttgtaaWBtMctaataaVcDaaYtcRHBtcgttNtaaHatttBNgRStVDattB +atVtaagttaYatVattaagaBcacggtSgtVtatttaRattgatgtaHDKgcaatattK +tggcctatgaWDKRYcggattgRctatNgatacaatMNttctgtcRBYRaaaHctNYatt +cHtaWcaattctBtMKtVgYataatMgYtcagcttMDataVtggRtKtgaatgccNcRtt +caMtRgattaacattRcagcctHtWMtgtDRagaKaBtgDttYaaaaKatKgatctVaaY +aacWcgcatagBVtaNtRtYRaggBaaBtgKgttacataagagcatgtRattccacttac +catRaaatgWgDaMHaYVgVtaSctatcgKaatatattaDgacccYagtgtaYNaaatKc +agtBRgagtccatgKgaaaccBgaagBtgSttWtacgatWHaYatcgatttRaaNRgcaN +aKVacaNtDgattgHVaatcDaagcgtatgcNttaDataatcSataaKcaataaHWataB +tttatBtcaKtKtatagttaDgSaYctacaRatNtaWctSaatatttYaKaKtaccWtat +cRagacttaYttVcKgSDcgagaagatccHtaattctSttatggtKYgtMaHagVaBRat +ttctgtRgtctatgggtaHKgtHacHtSYacgtacacHatacKaaBaVaccaDtatcSaa +taaHaagagaatScagactataaRttagcaaVcaHataKgDacatWccccaagcaBgagW +atctaYttgaaatctVNcYtttWagHcgcgcDcVaaatgttKcHtNtcaatagtgtNRaa +ctttttcaatggWgBcgDtgVgtttctacMtaaataaaRggaaacWaHttaRtNtgctaa +RRtVBctYtVtatDcattDtgaccYatagatYRKatNYKttNgcctagtaWtgaactaMV +aacctgaStttctgaKVtaaVaRKDttVtVctaDNtataaaDtccccaagtWtcgatcac +tDgYaBcatcctMtVtacDaaBtYtMaKNatNtcaNacgDatYcatcgcaRatWBgaacW +ttKttagYtaattcggttgSWttttDWctttacYtatatWtcatDtMgtBttgRtVDggt +taacYtacgtacatgaattgaaWcttMStaDgtatattgaDtcRBcattSgaaVBRgagc +caaKtttcDgcgaSMtatgWattaKttWtgDBMaggBBttBaatWttRtgcNtHcgtttt +HtKtcWtagHStaacagttgatatBtaWSaWggtaataaMttaKacDaatactcBttcaa +tatHttcBaaSaaatYggtaRtatNtHcaatcaHtagVtgtattataNggaMtcttHtNa +gctaaaggtagaYctMattNaMVNtcKtactBKcaHHcBttaSagaKacataYgctaKaY +gttYcgacWVttWtSagcaacatcccHaccKtcttaacgaKttcacKtNtacHtatatRt +aaatacactaBtttgaHaRttggttWtatYagcatYDatcggagagcWBataagRtacct +ataRKgtBgatgaDatataSttagBaHtaatNtaDWcWtgtaattacagKttcNtMagta +ttaNgtctcgtcctcttBaHaKcKccgtRcaaYagSattaagtKataDatatatagtcDt +aacaWHcaKttDgaaRcgtgYttgtcatatNtatttttatggccHtgDtYHtWgttatYa +acaattcaWtatNgctcaaaSttRgctaatcaaatNatcgtttaBtNNVtgttataagca +aagattBacgtDatttNatttaaaDcBgtaSKgacgtagataatttcHMVNttgttBtDt +gtaWKaaRMcKMtHtaVtagataWctccNNaSWtVaHatctcMgggDgtNHtDaDttata +tVWttgttatttaacctttcacaaggaSaDcggttttttatatVtctgVtaacaStDVaK +actaMtttaSNagtgaaattaNacttSKctattcctctaSagKcaVttaagNaVcttaVa +aRNaHaaHttatgtHttgtgatMccaggtaDcgaccgtWgtWMtttaHcRtattgSccta +tttKtaaccaagtYagaHgtWcHaatgccKNRtttagtMYSgaDatctgtgaWDtccMNc +gHgcaaacNDaaaRaStDWtcaaaaHKtaNBctagBtgtattaactaattttVctagaat +ggcWSatMacccttHttaSgSgtgMRcatRVKtatctgaaaccDNatYgaaVHNgatMgH +RtacttaaaRtatStRtDtatDttYatattHggaBcttHgcgattgaKcKtttcRataMt +cgaVttWacatNcatacctRataDDatVaWNcggttgaHtgtMacVtttaBHtgagVttM +aataattatgttcttagtttgtgcDtSatttgBtcaacHattaaBagVWcgcaSYttMgc +ttacYKtVtatcaYaKctgBatgcgggcYcaaaaacgNtctagKBtattatctttKtaVt +tatagtaYtRagNtaYataaVtgaatatcHgcaaRataHtacacatgtaNtgtcgYatWM +atttgaactacRctaWtWtatacaatctBatatgYtaagtatgtgtatSttactVatctt +YtaBcKgRaSggRaaaaatgcagtaaaWgtaRgcgataatcBaataccgtatttttccat +cNHtatWYgatHSaaaDHttgctgtccHtggggcctaataatttttctatattYWtcatt +BtgBRcVttaVMRSgctaatMagtYtttaaaaatBRtcBttcaaVtaacagctccSaaSt +tKNtHtKYcagcagaaaccccRtttttaaDcDtaStatccaagcgctHtatcttaDRYga +tDHtWcaaaBcWgKWHttHataagHacgMNKttMKHccaYcatMVaacgttaKgYcaVaa +BtacgcaactttMctaaHaatgtBatgagaSatgtatgSRgHgWaVWgataaatatttcc +KagVgataattWaHNcYggaaatgctHtKtaDtctaaagtMaatVDVactWtSaaWaaMt +aHtaSKtcBRaNcttStggtBttacNagcatagRgtKtgcgaacaacBcgKaatgataag +atgaaaattgtactgcgggtccHHWHaaNacaBttNKtKtcaaBatatgctaHNgtKcDW +gtttatNgVDHgaccaacWctKaaggHttgaRgYaatHcaBacaatgagcaaattactgt +aVaaYaDtagattgagNKggtggtgKtWKaatacagDRtatRaMRtgattDggtcaaYRt +atttNtagaDtcacaaSDctDtataatcgtactaHttatacaatYaacaaHttHatHtgc +gatRRttNgcatSVtacWWgaaggagtatVMaVaaattScDDKNcaYBYaDatHgtctat +BagcaacaagaatgagaaRcataaKNaRtBDatcaaacgcattttttaaBtcSgtacaRg +gatgtMNaattggatatWtgagtattaaaVctgcaYMtatgatttttYgaHtgtcttaag +WBttHttgtcttattDtcgtatWtataataSgctaHagcDVcNtaatcaagtaBDaWaDg +tttagYctaNccDtaKtaHcttaataacccaRKtacaVaatNgcWRaMgaattatgaBaa +agattVYaHMDcaDHtcRcgYtcttaaaWaaaVKgatacRtttRRKYgaatacaWVacVc +RtatMacaBtactggMataaattttHggNagSctacHgtBagcgtcgtgattNtttgatS +aaggMttctttcttNtYNagBtaaacaaatttMgaccttacataattgYtcgacBtVMct +gStgMDtagtaRctHtatgttcatatVRNWataDKatWcgaaaaagttaaaagcacgHNa +cgtaatctttMRtgacttttDacctataaacgaaatatgattagaactccSYtaBcttta +ataacWgaaaYatagatgWttcatKtNgatttttcaagHtaYgaaRaDaagtaggagctt +atVtagtctttcattaaaatcgKtattaRttacagVaDatgcatVgattgggtctttHVt +agKaaRBtaHtaaggccccaaaaKatggtttaMWgtBtaaacttcactttKHtcgatctc +cctaYaBacMgtcttBaBaNgcgaaacaatctagtHccHtKttcRtRVttccVctttcat +acYagMVtMcagaMaaacaataBctgYtaatRaaagattaaccatVRatHtaRagcgcaB +cgDttStttttcVtttaDtKgcaaWaaaaatSccMcVatgtKgtaKgcgatatgtagtSa +aaDttatacaaacatYaRRcVRHctKtcgacKttaaVctaDaatgttMggRcWaactttt +HaDaKaDaBctgtaggcgtttaHBccatccattcNHtDaYtaataMttacggctNVaacD +attgatattttacVttSaattacaaRtataNDgacVtgaacataVRttttaDtcaaacat +aYDBtttaatBaDtttYDaDaMccMttNBttatatgagaaMgaNtattHccNataattca +HagtgaaggDgatgtatatatgYatgaStcataaBStWacgtcccataRMaaDattggtt +aaattcMKtctMacaBSactcggaatDDgatDgcWctaacaccgggaVcacWKVacggta +NatatacctMtatgatagtgcaKagggVaDtgtaacttggagtcKatatcgMcttRaMag +cattaBRaStctYSggaHYtacaactMBaagDcaBDRaaacMYacaHaattagcattaaa +HgcgctaaggSccKtgaaKtNaBtatDDcKBSaVtgatVYaagVtctSgMctacgttaac +WaaattctSgtDactaaStaaattgcagBBRVctaatatacctNttMcRggctttMttag +acRaHcaBaacVKgaataHttttMgYgattcYaNRgttMgcVaaacaVVcDHaatttgKt +MYgtatBtVVctWgVtatHtacaaHttcacgatagcagtaaNattBatatatttcVgaDa +gcggttMaagtcScHagaaatgcYNggcgtttttMtStggtRatctacttaaatVVtBac +ttHNttttaRcaaatcacagHgagagtMgatcSWaNRacagDtatactaaDKaSRtgatt +ctccatSaaRttaaYctacacNtaRtaactggatgaccYtacactttaattaattgattY +gttcagDtNKttagDttaaaaaaaBtttaaNaYWKMBaaaacVcBMtatWtgBatatgaa +cVtattMtYatMNYDKNcKgDttDaVtaaaatgggatttctgtaaatWtctcWgtVVagt +cgRgacttcccctaDcacagcRcagagtgtWSatgtacatgttaaSttgtaaHcgatggg +MagtgaacttatRtttaVcaccaWaMgtactaatSSaHtcMgaaYtatcgaaggYgggcg +tgaNDtgttMNgaNDMtaattcgVttttaacatgVatgtWVMatatcaKgaaattcaBcc +tccWcttgaaWHtWgHtcgNWgaRgctcBgSgaattgcaaHtgattgtgNagtDttHHgB +ttaaWcaaWagcaSaHHtaaaVctRaaMagtaDaatHtDMtcVaWMtagSagcttHSatt +aacaaagtRacMtRtctgttagcMtcaBatVKtKtKacgagaSNatSactgtatatcBct +gagVtYactgtaaattaaaggcYgDHgtaacatSRDatMMccHatKgttaacgactKtgK +agtcttcaaHRVtccttKgtSataatttacaactggatDNgaacttcaRtVaagDcaWat +cBctctHYatHaDaaatttagYatSatccaWtttagaaatVaacBatHcatcgtacaata +tcgcNYRcaataYaRaYtgattVttgaatgaVaactcRcaNStgtgtattMtgaggtNtt +BaDRcgaaaagctNgBcWaWgtSaDcVtgVaatMKBtttcgtttctaaHctaaagYactg +MtatBDtcStgaccgtSDattYaataHctgggaYYttcggttaWaatctggtRagWMaDa +gtaacBccactacgHWMKaatgatWatcctgHcaBaSctVtcMtgtDttacctaVgatYc +WaDRaaaaRtagatcgaMagtggaRaWctctgMgcWttaagKBRtaaDaaWtctgtaagY +MttactaHtaatcttcataacggcacBtSgcgttNHtgtHccatgttttaaagtatcgaK +tMttVcataYBBaKtaMVaVgtattNDSataHcagtWMtaggtaSaaKgttgBtVtttgt +tatcatKcgHacacRtctHatNVagSBgatgHtgaRaSgttRcctaacaaattDNttgac +ctaaYtBgaaaatagttattactcttttgatgtNNtVtgtatMgtcttRttcatttgatg +acacttcHSaaaccaWWDtWagtaRDDVNacVaRatgttBccttaatHtgtaaacStcVN +tcacaSRttcYagacagaMMttttgMcNttBcgWBtactgVtaRttctccaaYHBtaaag +aBattaYacgatttacatctgtaaMKaRYtttttactaaVatWgctBtttDVttctggcD +aHaggDaagtcgaWcaagtagtWttHtgKtVataStccaMcWcaagataagatcactctH +atgtcYgaKcatcagatactaagNSStHcctRRNtattgtccttagttagMVgtatagac +taactctVcaatMctgtttgtgttgccttatWgtaBVtttctggMcaaKgDWtcgtaaYS +tgSactatttHgatctgKagtagBtVacRaagRtMctatgggcaaaKaaaatacttcHct +aRtgtDcttDattaggaaatttcYHaRaaBttaatggcacKtgctHVcaDcaaaVDaaaV +cgMttgtNagcgtaDWgtcgttaatDgKgagcSatatcSHtagtagttggtgtHaWtaHK +tatagctgtVgattaBVaatgaataagtaatVatSttaHctttKtttgtagttaccttaa +tcgtagtcctgBcgactatttVcMacHaaaggaatgDatggKtaHtgStatattaaSagc +tWcctccRtataBaDYcgttgcNaagaggatRaaaYtaWgNtSMcaatttactaacattt +aaWttHtatBattgtcgacaatNgattgcNgtMaaaKaBDattHacttggtRtttaYaac +gVactBtaBaKtgBttatgVttgtVttcaatcWcNctDBaaBgaDHacBttattNtgtDt +atttVSaaacaggatgcRatSgtaSaNtgBatagttcHBgcBBaaattaHgtDattatDa +KaatBaaYaaMaataaataKtttYtagtBgMatNcatgtttgaNagtgttgtgKaNaSag +tttgaSMaYBcaaaacDStagttVacaaaaactaaWttBaagtctgtgcgtMgtaattct +cctacctcaNtttaaccaaaaVtBcacataacaccccBcWMtatVtggaatgaWtcaaWa +aaaaaaaWtDtaatatRcctDWtcctaccMtVVatKttaWaaKaaatataaagScHBaga +ggBaSMtaWaVtatattactSaaaKNaactatNatccttgaYctattcaaaVgatttYHc +RagattttaSataggttattcVtaaagaKgtattattKtRttNcggcRgtgtgtWYtaac +HgKatKgatYtacYagDtWcHBDctctgRaYKaYagcactKcacSaRtBttttBHKcMtN +tcBatttatttttgSatVgaaagaWtcDtagDatatgMacaacRgatatatgtttgtKtN +RaatatNatgYcaHtgHataacKtgagtagtaacYttaNccaaatHcacaacaVDtagta +YtccagcattNtacKtBtactaaagaBatVtKaaHBctgStgtBgtatgaSNtgDataac +cctgtagcaBgtgatcttaDataStgaMaccaSBBgWagtacKcgattgaDgNNaaaaca +cagtSatBacKDgcgtataBKcatacactaSaatYtYcDaactHttcatRtttaatcaat +tataRtttgtaagMcgNttcatcBtYBagtNWNMtSHcattcRctttttRWgaKacKttg +ggagBcgttcgcMaWHtaatactgtctctatttataVgtttaBScttttaBMaNaatMac +actYtBMggtHacMagtaRtctgcatttaHtcaaaatttgagKtgNtactBacaHtcgta +tttctMaSRagcagttaatgtNtaaattgagagWcKtaNttagVtacgatttgaatttcg +RtgtWcVatcgttaaDVctgtttBWgaccagaaagtcSgtVtatagaBccttttcctaaa +ttgHtatcggRattttcaaggcYSKaagWaWtRactaaaacccBatMtttBaatYtaaga +actSttcgaaScaatagtattgaccaagtgttttctaacatgtttNVaatcaaagagaaa +NattaaRttttaVaaaccgcaggNMtatattVctcaagaggaacgBgtttaacaagttcK +cYaatatactaaccBaaaSggttcNtattctagttRtBacgScVctcaatttaatYtaaa +aaaatgSaatgatagaMBRatgRcMcgttgaWHtcaVYgaatYtaatctttYttatRaWt +ctgBtDcgatNatcKaBaDgatgtaNatWKctccgatattaacattNaaacDatgBgttc +tgtDtaaaMggtgaBaSHataacgccSctaBtttaRBtcNHcDatcDcctagagtcRtaB +gWttDRVHagattYatgtatcWtaHtttYcattWtaaagtctNgtStggRNcgcggagSS +aaagaaaatYcHDtcgctttaatgYcKBVSgtattRaYBaDaaatBgtatgaHtaaRaRg +caSWNtagatHaacttNctBtcaccatctMcatattccaSatttgcgaDagDgtatYtaa +aVDtaagtttWVaagtagYatRttaagDcNgacKBcScagHtattatcDaDactaaaaaY +gHttBcgaDttggataaaKSRcBMaBcgaBSttcWtgNBatRaccgattcatttataacg +gHVtaattcacaagagVttaaRaatVVRKcgWtVgacctgDgYaaHaWtctttcacMagg +gatVgactagMaaataKaaNWagKatagNaaWtaaaatttgaattttatttgctaaVgaH +atBatcaaBWcBgttcMatcgBaaNgttcgSNaggSaRtttgHtRtattaNttcDcatSa +VttttcgaaaaattgHatctaRaggSaNatMDaaatDcacgattttagaHgHaWtYgatt +aatHNSttatMSgggNtcKtYatRggtttgtMWVtttaYtagcagBagHaYagttatatg +gtBacYcattaRSataBatMtttaaatctHcaaaSaaaagttNSaaWcWRccRtKaagtB +WtcaaattSttMtattggaaaccttaacgttBtWatttatatWcDaatagattcctScac +ctaagggRaaYtaNaatgVtBcttaaBaacaMVaaattatStYgRcctgtactatcMcVK +atttcgSgatRHMaaaHtagtaaHtVgcaaataatatcgKKtgccaatBNgaaWcVttga +gttaKatagttcaggKDatDtattgaKaVcaKtaataDataataHSaHcattagttaatR +VYcNaHtaRcaaggtNHcgtcaaccaBaaagYtHWaaaRcKgaYaaDttgcWYtataRga +atatgtYtgcKtaNttWacatYHctRaDtYtattcBttttatcSataYaYgttWaRagca +cHMgtttHtYttYaatcggtatStttcgtRSattaaDaKMaatatactaNBaWgctacac +YtgaYVgtgHtaaaRaaRgHtagtWattataaaSDaaWtgMattatcgaaaagtaYRSaW +tSgNtBgagcRYaMDtactaacttaWgtatctagacaagNtattHggataatYttYatca +taDcgHgttBttctttVttgccgaaWtaaaacgKgtatctaaaaaNtccDtaDatBMaMg +gaatNKtatBaaatVtccRaHtaSacataHattgtttKVYattcataVaattWtcgtgMt +tcttKtgtctaacVtatctatatBRataactcgKatStatattcatHHRttKtccaacgt +gggtgRgtgaMtattattggctatcgtgacMtRcBDtcttgtactaatRHttttaagatc +gVMDStattatYBtttDttgtBtNttgRcMtYtgBacHaWaBaatDKctaagtgaaacta +atgRaaKgatccaagNaaaatattaggWNtaagtatacttttKcgtcggSYtcttgRcta +taYcttatataaagtatattaatttataVaacacaDHatctatttttKYVatHRacttta +BHccaWagtactBtcacgaVgcgttRtttttttSVgtSagtBaaattctgaHgactcttg +McattttagVtaagaattHctHtcaDaaNtaacRggWatagttcgtSttgaDatcNgNag +ctagDgatcNttKgttgtaDtctttRaaYStRatDtgMggactSttaDtagSaVtBDttg +tDgccatcacaMattaaaMtNacaVcgSWcVaaDatcaHaatgaattaMtatccVtctBt +aattgtWattatBRcWcaatgNNtactWYtDaKttaaatcactcagtRaaRgatggtKgc +gccaaHgaggatStattYcaNMtcaBttacttatgagDaNtaMgaaWtgtttcttctaHt +MNgttatctaWWatMtBtaaatagDVatgtBYtatcggcttaagacMRtaHScgatatYg +RDtcattatSDaHggaaataNgaWSRRaaaBaatagBattaDctttgHWNttacaataaa +aaaatacggtttgHgVtaHtWMttNtBtctagtMcgKMgHgYtataHaNagWtcaacYat +taataYRgtaWKgaBctataaccgatttaHaNBRaRaMtccggtNgacMtctcatttgca +attcWgMacttacaaDaaNtactWatVtttagccttMaatcagVaagtctVaaDaBtatt +aattaYtNaYtggattaKtaKctYaMtattYgatattataatKtVgDcttatatNBtcgt +tgtStttttMagaggttaHYSttcKgtcKtDNtataagttataagSgttatDtRttattg +ttttSNggRtcaaKMNatgaatattgtBWtaMacctgggYgaSgaagYataagattacga +gaatBtggtRcVHtgYggaDgaYaKagWagctatagacgaaHgtWaNgacttHRatVaWa +cKYtgRVNgVcSgRWctacatcKSactctgWYtBggtataagcttNRttVtgRcaWaaat +DMatYattaactttcgaagRatSctgccttgcRKaccHtttSNVagtagHagBagttaga +ccaRtataBccataatSHatRtcHagacBWatagcaMtacaRtgtgaaBatctKRtSctt +ccaNaatcNgtaatatWtcaMgactctBtWtaaNactHaaaaRctcgcatggctMcaaNt +cagaaaaacacagtggggWttRttagtaagaVctVMtcgaatcttcMaaaHcaHBttcga +ttatgtcaDagcYRtBtYcgacMgtDcagcgaNgttaataatagcagKYYtcgtaBtYct +MaRtaRtDagaaaacacatgYaBttgattattcgaaNttBctSataaMataWRgaHtttc +cgtDgaYtatggtDgHKgMtatttVtMtVagttaRatMattRagataaccctKctMtStt +gaHagtcStctatttccSagatgttccacgaggYNttHRacgattcDatatDcataaaat +BBttatcgaHtNHaaatatDNaggctgaNcaaggagttBttMgRagVatBcRtaWgatgB +tSgaKtcgHtttgaatcaaDaHttcSBgHcagtVaaSttDcagccgttNBtgttHagYta +ttctttRWaaVtSttcatatKaaRaaaNacaVtVctMtSDtDtRHRcgtaatgctcttaa +atSacacaatcgHattcaWcttaaaatHaaatcNctWttaNMcMtaKctVtcctaagYga +tgatcYaaaRactctaRDaYagtaacgtDgaggaaatctcaaacatcaScttcKttNtac +catNtaNatacatttHaaDHgcaDatMWaaBttcRggctMaagctVYcacgatcaDttat +YtaatcKatWatcaatVYtNagatttgattgaYttttYgacttVtcKaRagaaaHVgDta +MatKYagagttNatWttaccNtYtcDWgSatgaRgtMatgKtcgacaagWtacttaagtc +gKtgatccttNcttatagMatHVggtagcgHctatagccctYttggtaattKNaacgaaY +atatVctaataMaaaYtgVtcKaYtaataacagaatHcacVagatYWHttagaaSMaatW +tYtgtaaagNaaacaVgaWtcacNWgataNttcaSagctMDaRttgNactaccgataMaa +atgtttattDtcaagacgctDHYYatggttcaagccNctccttcMctttagacBtaaWta +WVHggaaaaNatttaDtDtgctaaHHtMtatNtMtagtcatttgcaaaRatacagRHtat +DNtgtDgaatVgtVNtcaaatYBMaaaagcaKgtgatgatMgWWMaHttttMgMagatDt +ataaattaaccaactMtacataaattgRataatacgBtKtaataattRgtatDagDtcRD +acctatRcagagcSHatNtcaScNtttggacNtaaggaccgtgKNttgttNcttgaaRgY +gRtNtcagttBcttttcHtKtgcttYaaNgYagtaaatgaatggWaMattBHtatctatS +gtcYtgcHtaattHgaaMtHcagaaSatggtatgccaHBtYtcNattWtgtNgctttagg +tttgtWatNtgHtgcDttactttttttgcNtactKtWRaVcttcatagtgSNKaNccgaa +taaBttataataYtSagctttaaatSttggctaaKSaatRccgWHgagDttaaatcatga +gMtcgagtVtaDggaBtatttgDacataaacgtagYRagBWtgDStKDgatgaagttcat +tatttaKWcataaatWRgatataRgttRacaaNKttNtKagaaYaStaactScattatta +acgatttaaatgDtaattagatHgaYataaactatggggatVHtgccgtNgatNYcaStR +tagaccacWcaMtatRagHgVactYtWHtcttcatgatWgagaKggagtatgaWtDtVtN +aNtcgYYgtaaactttaDtBactagtaDctatagtaatatttatatataacgHaaaRagK +attSagttYtStatatatagtcttaaaaMtcatgttcaaDactgRttctaagagDtattt +ttagcgacttgtgRtgNctgSgRaaaaatgcaMtYtDcatcaaYKttHcatSWgaaaatD +ataggttatgBDMtgttataacaaYSgagttacgttatgtDStttaaatctcgWKtcSac +gagagaSgttatBMDgtcggtgtgcgaNtaSHBatBtttVMgVcagaNatcaDDaKMtMY +tatagaBccctctDtgtatttatatKNtgggtatgtRaacttgaWaaYgcaHatccctgg +tttStatMtcgcMtaaaWKttMVtWctVtgttaKDWctgWaVttaDVatgKtagagtcat +ctaKWgtaaMttSacBaMattaKaaHDataattgWtgttttgtcatBacacgtStacaaa +gtNctNtgtgatcHtWttcKaagagttttaaaaWacgRacatctNatVStgaatDHgttW +cgtRKcatatatctcaNttaaBDcctgaaaaaDtaYaHaKttNtaYVaVtttaDtctact +tctWttaactaattttMagWcaatcccNKYtBaacatgttgaKgKcgcBHaatDMttata +tcSWacatDatRcWaMtDgatBctHgScttaaaHtSgKtDtttattgtRStWgttccata +tttcacWttcatattgtaHVgaBtacaMtgMaaagDaataactDatattagMaNBagctt +cattcgtaaKtgtatttcacMtgBaVtaattStcttagtYgtgtcgccttKatgggtgaW +aataggaatacMMagaSKRttBgatgacRtgMtagaSRataggtatcaccgaNaaaWSWa +cDgatacttgattagcttgtgVMttatYctaRgHVcDtVRRtSaMtcaVtVtatcaYaHa +tattaaVaatctaBtgtacRatNtatttgaYatSaHctaNgNtYtYaYagattVgatcRt +aacgYggtgtatKttaatMagatgRtatatgHaKccHaaaaYtgaacgaWaNgtYHgaca +gaYtctaVtacccgatttttaaagcDttatNRgattKaaattttcatctaatgccgcaat +aataattgttatYtagtRNtaagttggtHaKttWMtDKgatSagBYcgRggtWaVaattH +tatgtaaaMgSaaagataaKaaKgttDttttRaagaacaWRcaacDgtgttaatattaKt +atcaWacacatttVtctgatHRcagtttNcaaatcNctNttttataactWacBBttgBtt +aaaRaWtBKaaacgtatcRcaMaatgYacaaaagtgBataStWYtggtatgacaKWtctS +gcKHgtcNaMNcataSatattgactacMcataattNVtDaRccaaatcagttttYttagY +aacgtaatMtMVatNgKaaMaaBgattaKttatDaBcttKtccttttacDagaYtacHgt +tggacaaaVaatagtYatcataSgatcaaWVttcgaatgaccctccttNtaSBWaatttD +ttttcaatatYggctatDcttatNctttagDcMttcaacWaaNattSYgctttcaHcRaa +ttaataaaatcVccRaattactctaMaVRattacagtgRcDtcgtgctcttNtWVtacag +tHtatHaBDtcWggtgctcaaRHtatgtDgacStgcaaaVKtagttataatactaatatg +tagScaatRSacaattgtattgcagatHHtgBcaatKKtaaMMcaRcgactatKBaMaYa +tgKatttDaaNtRatattgtatWttagcaaaaacaWgcacaaHcataYtDaHgttataaS +acgcagggggtYatgcKctaaaHgcVgctBDaVttccStagNgcSgtatgVYaMatcaWR +BtVtgYttgtgRcYttcgctgaacNttgtgtctattWttttcctagMtagaWtaKgatSt +ScatMaBtaStaSactattYNatctgtacRatYDaatgatgatatgaatYaaaaSHttaa +YMaWtDcaNHaBcaYtgVgcatVaacattMRatBtaatttaDacRtagtaaaNYVSMtca +gaaDtttDHtRcYatacSNKaaMcHgatBaaVttactggBYgaYatttttgcDacHctWa +tcgtagagtactcattDggtcatKaSgctttatttagtDtRBacttaWYaaaattttgac +cttaaWtaatgcRgccacttMtaggKtcBtgacgaHctttatcgtcStatMHDNagatta +tNagVaaaWcggaaaYcaVactDYactaStattgBHtcYctgggtacatataaYcgaYag +aggaggacaVatacHRtYtctgtaVgaYcNgaaaNatacVgcNgtaatttDcatttttca +acttSNcaaDatVYctSgcaccttagMgacgcttgaSttaaaatagttaggRHttaaacM +atagcaWgMgagtcgctagtgtKgactaaHttattaWgcaaaaaaSatatgcgttaBNgg +ttaYVatgaactttttgccatataaataRatSaBctagttataBccgaaacaagatactt +aattttgaHgHMgtaaKctttaYtaaRacBMtBaYgaBaaacaYtVtagcRgWatHaWag +attWSacStMHatttaDagacaatcgtgtKtttggaMtgtWtgtgcaaNaaaaWtKaaBc +MWtcttctatgacVgagcgaggHaYYtttWgSaaYYaWtRYHHaMDtctttacaatggaa +MctataagcttBcgHcNWaatttgtatatYtStatctagcactgtVttccagaaattaDt +ttaRtVataBttWagcatDMVactYtgcatWtttgaaMggKaatgaaaaHtataDtgYcM +ggVaaatSMHtttgVttaYaWaataRttgttaYttattttRtWtataaBgtDtttatatc +VgaaBcaDtatgtcaDagaWtgaYtWctcVagctcagctatatagcRVtcaKtaataatH +gNaccgaaaatVHBaatattcgttaVYttatttctBYaatKaagaccVStttcattgaMa +gSaaaaccccWKcaaNtMYacctaDStagaaatttatcatVgtcaatacccKattgtaaa +gtggWgtatatVtagBcttDaBacaattWtDYKtatRKggStRtaaaWatBtaagtaatt +DaaaaBRacWtaagtacaSttaaatccgctaaccKaattgVWttDattatttattKaMtc +YtMRWagMtcgKgBagacgggVaaNaaatgctKcgtaataaKtaaagtccWcttHMatSY +gataaatDttBaHccattgBttSgaaHYtaataaaMtgaagatgtttBgRcattaRaDHc +ttBgaMaWaaVMMattaatttgtgBRctattgKMagNcMtatttaaaWttgaaacatWgc +ScgYYDYgttYtVtattgcKcWtagcggtgBaSctaKatacaaVtcaRDccccgtgttBg +KgggtHagcgaattaaagMMttScggtDttttaHcSaagaacactcacactBcVgaKNaD +HacacttatSagaattSKHtcagtataaatKaaHtgaaRagaaVcBtaHtaaatcgatcW +caRtaaaatttaWttaagtcaggRctgaWcttDttgactttaVSaaaatggtaWDaRMtB +taaaaaKatBgatMtctatatcaVaMgatttgNagtDRttDatcttttaMtYaaatcgga +gttctctaYatNtagaNcgMMactacHcaagtaaaatStaSaacaHcacSgggtNKatgg +aaagcggaaKgggtaYtacSgccgBaggcRacgtVgDtggaMcYaaaMatggacgYStKK +atgaBcaaRtStccSagcRccgccgcSDtgcggBDgaDtBtSSggacMttttaWcatcMa +tgtNMBWgataatcaaVtgaataataaNatgcaaNttNctgacDMcaHccgatgKgWVtt +ccaStggattctcDacttttttctttaaNcWaMWccWKWttgaaaMctDaaBactRtVat +tttBtcMaNttWcKacagttKSttaYaWSactHSaBtHgatgttacatgcatatMtttgt +aacScWHBatHactggatatatctgagMgRSatctaaSttaVagcaRcttggaYaatKHt +agBBactattcgtaaagaagttgtVcgatgaVatHMtcaggtcgKSgWattgaaaVctcc +VgtDcaaatgaaHgMYactcaMatatatattNVttWtWaatttacRagKataaaNtttac +aaWgMVactattaSgaggVaaagVtaccDRHaaataRaHaRgcattMttcaatcaKaaat +aDcaDKtctcgaggBggacctDtttatHacWVaWgatDctaNaNcgKatcMtcMaatBtt +tggacgtgataatagaaacRactcBtattttaKtgSaaggKtaggRaVtatagcccaNRt +taccttSMaagatcggDacNBatWcgaactacactaactNBtaStgVtNagcatctaVta +KatKgaBtcgtttWaagWMgagRaNatHaaaaDtacagacaBagtgcaHaNatctcBccN +ttaagttDgaataaNtcgctaacRBgtaatSttaatatgcataacccaSattKcccttDt +tggtcaatgggttWaacgatacattBtgMaYgaRttatgatKaKgtattDtKWgataacg +NBtaccgaKWatcttcttKtgtcttagcattcctWcaaHgagtatDMSgKtcagcttgVH +aKcttDaataaaVaatttDgtgaaataaRgtcaVaatacttagtVatatgggcatgtDDt +MtgtatBggattHtgcVtgtgatcaaSattatKYVaacSNNttNWcgaHttKDaaMYHat +cgttaattaSttgctWaacHtaKBtaaaaKHttcRWgaaWcRtBtttggBcDtgtacNtt +aagcKtaHgtagaaaaRttgaaacatagtWRaacYggtaaatcgctYaBtWDRtgttgSc +taaKatNcattgtgtMttatccatatagctSacgccSNaaactacgNtgtgcttMatSKt +caaBaNaaacataacagaaatagtagctcNcatcVgaagStaataVcDKKttcagDHDta +ttctaatgagggRgBMctatacaagYactctMaaagtcgctttctcgtgaattatNcgat +MtttaggcBaaatctNtactaaRKtgKactattgtcatatgtacgagttMaaHSSgHgBa +tatcgcaSaataaaWgaagtatagaHgcttctttatgaccWaatttaRtaDaatttaatc +gaaattgattMcatcaWaMtaWaKactttctBacactatNgtccttaWgtctgaccKatS +taKtgagtacgggcgcgtYNtatttagacctctKcatgatKWStcaataactaWgMSgHt +gatctttttgtcgacgtSacttaYgcctWctcctctacaagVtttMaBactWVaccaYtg +tSgcgttattcKtatStgaaKaccgNaataaHtatWtYtRacggcaDaScagcagHaYWR +tRNcDtHtcVWtggaataaaYttgVaNtgttagtYttgtagSaaatDgaggccDcgBRYS +tattatttaaggccgHgggYRaaccMaagttatSttctttagcMtgcgMtgaSagaNaDa +gttSatgattWatttagtDgcttgagtgMKaYWaYccagcaHatKctaKaDgctagactt +attgattaaYttatcttattattStaattWaRaYBWagYaatatgttRgScttgBagDaW +gcgtgcVDaggcttgtctaDRKacttgcaKBWRtaaVaSctKtacttMaaSVaWWcgSaN +tttSWgtcggtcacttggVVtgagaataaataaDttgaaccaaaaMttaaaagaaaaaaa +atcNBtatMgccWagcaNgaVaNaaaaaaYaMgttaWtatHaagtNtacgacaBtMMatt +ttWNaRtaaatagYaScKattacagctVKBtWNSKgYtYgtWatHaVatDaaatWgDatc +ctggSRagagtaaaaMgatttRtaHacatggtaKagVcctgatgaMtaaYgatgtattat +tttHggBaccaDctctggNNtYaatctVttgVtRtVcRacttNctttataggHSRtaRac +aaattaacHaHgtgttgtttcBtBtatWtgtattttgcKagMcaaagaMtattagtStag +cBacYaaHcagVgWtgtttcgtgDHaVtagDatcRaRtggtWtaactgcacgaggaaaRt +tSDaaVaSttaaaaacSMttactaNtcaacaattDtacttttYatVSacYtWtMttaatt +atcKtcttctatcaKDtctStSaaacggtYccatgtgagagtWtagWKgcaBaaaaKttg +NactaatcgaggcWtcDDaaaaaacactHattaattcactatYttaagacactaKaagRt +RataaattttcatHggtaataaatgataHtggctaacBacDgtaatattRtYgtDNDBgK +tcaggcHattttgHNgWtaatttccgactactgacatVNttYYgactcgctctatttaga +McgggatHcgtttatBaDSagBaaaagRttBggttaaBactVHgatgaatttattcaaaa +ttgcacttcDgacttYcVttactVtttatBaKHagaWgtgaatggBtaaSggcagacNct +taDttVgMtWagattggVatttacHtctNcMatacttSatMagcttgtNcYaaScaYact +cKctKtagScStcagtttcatWaatggtgagaggHaggggcaacgcRKtaRcMaNtHaat +RaRaaactVtBtgttaatRtWWcaaagKttccaaKaaatacgVttcacaaacgcggtgag +aRaatggtgDMWatcWVScacaaaDaggaaHtgttSMaaaaaccYccDBtatYgtMagcS +agaccaVcctcggtVWaaagttatcNaagataataSaataaaKccgtaDtYttatYcttH +ttaagKcMctaaatggaatRgaaaVaaVtcKYaggatWcaBtDaggDatccttcYNtgcS +MRgaRtNgaatcgttRttatDVMtagctttacatDVtatatatcagctaDagMtataccY +gaggYaaatgDaaaatSgctctgatgtttVaaBcctgataKtagaaaccaKatatgttaD +tgaDtatagataatacagtaDtatcNtgtDMtYcattRVtctataNtWttggNaSgtMga +aYctctDggHtggHDccaccacKKaaacaaaatRatttccctttaagcRattMHctattH +aRtataVattggatcSttaaHaHgaaHNDtacattSaaggDatttcaaaYgctBcatatt +aaaKagtgcccatSctcgatRtaaaMtgWactttNMaWctYgRatDggaactcDcaatta +KaactgagtatctataagYaaaSRctggtacWtttccWtaYRtKHattatagWtKttaNg +cDtatHacccattaatttataacgctMgaagtaacaacagMgtaYHYVtKMHtacMgKca +aatctgRYataNtcgttcaatacggWtMcaatYcBWaagYtVaDNagtatagDaaNtaaa +YtttcYWttttStgggataaMgatattagaaYtNctcttcBagactaYDcgtacHDWccK +aHgttcttHgVggVDttatcatKaMttttacWaaSattctatagaHaggKaDagBtaaag +tcYccattgtYcatctaNgRgVtgaagtDKttatBKcggDtattRYgHccgtgcgBNMtt +tVRgacaYctSctaRacgtagagccgtacRaagtaHKagStSttttgYSatattaaaWHa +aWagttDKaaNaNHaaHttaYcttMtcaaatgKttBtSgtccaaVaattSaacgttgNat +tgatatNctaWtVcagtactKcWacgVagggHaaRgaDaatcMttattaataacaBMaaV +tgYtKgRgHactgtactatcBaMtVggtagKcYtHtBSaattagtaatgMcaVVagYYgW +tactttccaaSttDgaaMaMttcacttYtRgacttcagcttWtttagtgataMaattaag +VtagaatatKataagtagttaagHMRaDattaHaaVcctDtagtcVYcaataaYcNttNa +aaHctcaRaatttcaNRgatSHgVatagctRtcatgaBttMaaagRtcgHVtgRgStgat +ttgtagaKagaRWRctgNaHYgaaatBctgtttRttNWagaccgagKgtgcggHKVttaa +tattaatataataDtaNcctacaaRgcaNMctctgaaSHWWHcttagtNagtWgWaaKtY +aNgcBattatccaaaSctRRHKaNtKcBgtgagaDRWBttactaaattSMctatatagaa +YacDgatttccVtaagRtgRataatatagtctttttatgtMgtcaacaaNtaaaaactct +WtagaVaaaDtaattatagtBStcgaatDtgattVaatMtcaDattVKWaagatagggtt +gtMRSgtcYgWMaatgNtagtcBttagtttctctWaaMtVgctWgSgtHagaSagactag +KtagWggcatttHgttgacaaactcggggHggcWBgVgtatgggagVgagtcVcBtDctt +tagtctaagVWtHtgtttaScatacMBtKgattatRtgtttgtctttDggcHaBtRtgta +ataNataatttataWctgaYWataStcHaatcRtaaVagDWaSatagtaccNDgaagtat +acgttttacgacgKRtattgDctatRRattVtStaaactagatgVatttagaMaSaaaat +tVtatYtgttgtRMagtHaatttSttaaYNaggWagtgcacgaMcactgHgtgtgggHMg +tKacttaaYgtcgcatcSatattgBaagtttacMtYagSatttatttaVtaaDtaWaHcg +NatactgactHtggWtataDcDScatactcStcDtgtcgtgtatgaggtHaaNKgDattg +cBccaagKgtatgacKSMtttttgttcaaatcaaYtagtaSatgDaaaMccKNaMaatag +aataagcaattattataaMgagtgaSgtctNYttattHaNaYYtcDDtaatNRgtattta +aYtaaatcactHVaHcStccttcccaaVatcVggatKtatgRaaDBgaYtttacttYgga +ctSDtaBcaaNggggtattatattBDcttagagYNMatBgttYaagactMatgttRgata +cccgtaacacBHtatKacWgatRcHttaattYtKtStccaaatVDcaNKHHaaataatag +tagtatcttgctNDggVaVVtaVaRaaagSaccgttctcMtVtgNBgtDtttctYgttac +tBctcRtStWtWDScMtcWSaRatgaataRHctaNtcStctYtWacagatgtatYBtHaH +WBtacggtDcaaBtatcaggtcaVattaNctactgaaaatWaDgactNWtMtggagaatt +BaataYcMWYcgatMYatWtgattSatgaRtDaRgccagtSttatatRaBtattRcWtag +tVgaagttMctattatatDttaggtctKtgtgtBagacgttatRKtgatctatttBtata +actgataacKcggagtgHgtVttcttgtKDgcDtaYatBDatcaatattgttNtaBacat +cgcNcaKcaWcRataWcVgtacgScaWgttcggHcMttcRccatgaRStYgNacagatac +YacWWtggNaDcWagttHatMaNaatNtcDMDcMaKgHNatScVgatKWatatgNRgtcc +gYgaagattDHgtMtcHaSNaaattBatRagtaaatttacaagHWtKatcaagtccHtYc +ctgttKDMSgtactactVctgacaaaaHgatatacataatKtStHgctScSatNatacaY +ttaaWHtctgaatYtagtHtKaggccWBaStaDctaagagNtaatcaatcgttNgaYDaa +gtaaaaHatagaatcgcgBaYaBgaacSaaWaaaaactccgcMttHttYgtaagaMctKB +tacSagattcBaaWtaattttacRttatcgaRtacaRHgtgRagaaBcttaVgacVDggg +aatVatagaactRRtacgYttNattVHgaHttacaaaaaaaYtcRWtgtgattatgccaS +DtttatKWgaatatSNDgattttaacgtcSRtatggttcttcBtWtttMtBtMScttaHa +tBattHacYtaYacattcgttKgtcStSctcKtatatttcaKSgagcttccaacaccRDt +>THREE Homo sapiens frequency +gttaacaggatagtctatgtaaacttcgagacatgtttaagagttaccagcttaatccac +ggtgctctactagtatcatcagctgtcttgcctcgcctagaaatatgcattctatcgtta +tcctatcaacggttgccgtactgagcagccttattgtggaagagtaatatataaatgtag +tcttgtctttacgaagcagacgtaagtaataatgacttggaataccaaaactaaacatag +tggattatcatactcaagaactctccagataaataacagtttttacgatacgtcaccaat +gagcttaaagattaggatcctcaaaactgatacaaacgctaattcatttgttattggatc +cagtatcagttaaactgaatggagtgaagattgtagaatgttgttctggcctcgcatggg +gtctaggtgatatacaatttctcatacttacacggtagtggaaatctgattctagcttcg +tagctgactatactcaaggaaccactgctcaaggtaggagactagttccgaccctacagt +caaagtggccgaagcttaaactatagactagttgttaaatgctgatttcaagatatcatc +tatatacagtttggacaattatgtgtgcgaaactaaaattcatgctattcagatggattt +cacttatgccttagaaacagatattgcccgagctcaatcaacagttttagccggaaacaa +tcgaagcatagggacaatgtatcttttcctaaattgccatgtgcagatttctgagtgtca +cgaagcgcataatagaatcttgtgttgcctcaactcgttgaaaagtttaaaacaatcgca +gcagtctttttggggtctactgtgtgtttgcaaaataactgaaagaaacgcttgaacaac +tctgaagtagctcgagtactcattaaagtgtaacacattagtgaatatcggccaatgaac +caaacgcttcccggtacgctatctctctcatcgggaggcgatgtgcaggttatctacgaa +agcatccctttacgttgagagtgtcgatgcatgaacctcattgtaacaatagcccagcaa +attctcatacgtgcctcagggtccgggcgtactcctccatggaagggcgcgcatctagtg +ttataccaactcgctttttaactactatgctgtagttctacaggcatagtggccagtatt +ttctaacttctctggatagatgctctcactcctcatccatcacggcttcagtttacgtct +tacttgcttgttcagcaacggatggaggcattaagtatcttcactgttccctaaaattgc +tgttcaatatcaaagtaaggacgatacagggaaagctcaagcacactcattgaatactgc +cccagttgcaacctcacttaatctgacaaaaataatgactactctaagtgttgcggaagc +agtctcttccacgagcttgtctgtatcacttcgtataggcatgtaactcgatagacacga +acaccgagtgagaaactatattcttgcttccgtgtgtgtgacaccaggtaattgatgcgg +atataagctggagatcactcacgcccacacaaggcgctgctacctctttattccaatgtg +taagaatttgctaacttcatttctagaccgcagctttgcggtcataatttcacggtacgg +acccttgggttagagacttgataacacacttcgcagtttccaccgcgcacatgttttagt +ggcttctaacatagaatttttgttgtgacataaagagtgcgtgggagacttgcccgaccg +ttaagccataatcaattgaaagccccgtgagtcacatctaattggttgtactgcgcattt +agctatcctttagctgactcgaagagattcgattcctaatataggttaattagatggctg +ccgcgcgaagtaaaacgtgaaaaacgtagtgcgcagatctgcataactcgcgcttaatta +cttatgagtagttccaagttcgctacgttatgagagagattggaattaagcaaatatgtt +ttatggtgattttgggatgagaaggactgctaagtacggctactaaacaaatttctaaaa +ccgccatctaccttatcttggagacatttaagttgtatatgtcactagtctagcttttgt +ctgtgggacgcgttctcggaatgagggaaatgcaagagccgattcatcaaatgcttatct +aagaaagtagtggactattacaccaagcacgaatgccagggaactgctttcttgctcagg +acctcgcgacaaggtaccccgcataagtcctagaattacatttggtcagcaatgctgaca +tttgaccgtgaaaacataattttaatcagaaggcagctcacccgcttgctctagatctta +tctttgtatgaatgtcagaatttactgcaatatccgttccgaatagtgagggcttagtat +agttctctgtatacaggtcacatcaaactccccctgtcctagtacagctctgagctttaa +ttaattgcatacatttccttcaatcatcagatgaaaacaccgcgaatcatgctcttctcg +tatagggcaagagaagcaacaaacaactagcccgactcacgttcatccgccgtatccttg +ttcagttcttactccgtattaggtcagcgaaatctaatcagaataatcggtcgcgtatca +aaattaaaatcccgcttgaggttgacaattaaaacgctgagcagttatcggctattagat +agtggggtgaaagtaattggctggaattatgttaaaacgtgatattaagctaaaatacgc +tacttgttgccgacctaattcagtcattcgatattcagttagagccaagaataacaagct +tgtataaattgaacggggtgcactaaacgatgtgttactctaatattcagcttggagtat +acctgaaggcgaattcatgtatcggccaataataagacgttgaagatcacaatttggact +agcaaaagaaggtgatttatgcgtggggattgagtccactgtacgagtacggtctctgga +aaattataggttcagggaatataaggaagtaaagataattaccaagagatttttggtatc +gctatgacccagaggtgttctaacgtctgttttgatccgcagaatttctgcctcaatgca +tatttgacggacttgaactagagcctctaaagttaaatggcgacgcaactgttcctaaac +ttcaattattactactctttttttcctagggtattgtagaggccagtggacaaaataaat +caaatttaagatgtttcggacattaacatcccccgtagcatagaaatcatcagttatcca +atctctcatcgagcttttacaatttctgctggcgctatggacagcatatgccgcgagacc +tccgcaagactcacttgatcactgtaagtatcttcattagaggttagagcctatagttaa +gctgctgacctagtaaaattggtattttctaattttattgctcaagttaaaggttagtga +agggataatgacgttatttttgaacaatgggttgtattcaattttatatcacgaatggaa +cccttcattcccggcataatactagacgacacgaacaagctccgatctatcagccaggca +cgtgttaaggtttaattccggcaaaccaatgaagcatcaaaaggtgacctgatgcaactt +agggtcacgatgagtttttcaggactacttattacctattaataagttaacatgagcctt +cataccccgtaagacaatacatactccaccaattagaattctgagccatcttatcttttt +gtatcatcgaagggtatggccgaataggttaattagttactcctaacgtctctacaggca +tgcatttgacgcaccttcgaaaatagtcaatctctcgccacacgcgtctagtatgcagca +tcaaaaatatagtccacggtttccggattaccaaacgcggcaaagagaaacattgtatcg +acggagataacttaatacagaaggaaggggcatcttcgaatacggatgaataattctatc +tgtttattctgacatcttgttttcaggttaatcttacgcattcaaatgacgcctgcccca +tgcgtgcgcaattattttctaatattgacgagagcaatctcactccttttgggtctattt +atgttttattgaggcacaagcctatacagaacaggtactattaaggccgtgagtgtgaga +ctcaaaccgtggaaacaaaggatgggttgttcttggtacaagttttagtgcatgtgggca +atccttaccaaaatcagatgctatccttaactttgggctgcatttaagatggcggttgga +ggcctgtgagaatcctgcgtgtcatctttaatgaccgaattcatccatgtagattcagat +cacacactcattccttgatgttgtctaaacaaaagttgttgtggacgcattggagggagt +taagtaacaacttgggatcgcatacttataaaaattatatgttaaactttcacaaacgct +gaagtccaaagtaactagcccaaacgcctcgagagtcactaggtattaatggtgtttgag +ttcctgtgaaatagtgttcgaaggtaaaatttatgtaccaaatcgaaagaacacttaata +aggcttgcttgcacggaggtatgatgtttactgactctacaaccctaattttccagtacg +tacattcattccaataggttagttctcaaagtgctatacaggctcctcaattgatgatat +gcttcagccgctctatggatattagctcattttatttaggaagcccgcttagaggcttac +tatgagggaaatgccaaaatgtcatacttttcggtgtgtcccatatgacaccgctttaca +tagaatttgaattaaaacgcgctctcccgttcactaccatacttggtaccgtgcgcatat +tacatatagatataggatcattttttaaagctgtactaggtttgatcgacaatcttatgc +tatactatatgatgtaaccctcataatcaataccgatcgtacgatcctagcataggtggc +aagcgattttatgccgattattgtgttaaatagtctgtgagtgtgattatcagggctacg +ttggtagaggggttgtatagacctcgcacacattgtgacatacttaacaatatacgaaaa +ctgatataataaatccccttacccaaacaccaatcccgttgaatcaactaccataacgtc +tcccatataaattgcctacttgtttgcataaatctgaatacataacaccattgcaccttc +ttgtgttccaatcccgttaagattgccttgtcagatgatatgcaagaacaatagcatttg +ctagcaattattaacagctcttcgaattgcctccacataacgcgggagggtatattttaa +tttggcaaatactaagtactgttggcgtcatatgctattaacggttggatattaagttat +gtcagccgtaagcaagagtgggcgaaatattttgttacccagtgagagcactcttagagt +ttggatacaataggccatatgttgacttaagaggacgtaactacgccgtacaccattgtt +caaccgacttcttggcaaatagaatcgtattagcaatcttaagaatagagacacgttcgt +gttagggtatactacaaatccgaaaatcttaagaggatcacctaaactgaaatttataca +tatttcaacgtggatagatttaacataattcagccacctccaacctgggagtaattttca +gtagatttactagatgattagtggcccaacgcacttgactatataagatctggggatcct +aacctgacctatgagacaaaattggaaacgttaacagcccttatgtgtacaaagaaaagt +aagttgttgctgttcaacagatgatagtcatgacgcgtaacttcactatagtaaattgaa +acaaatacgcaatttagacagaatggtacggtcatgaatgacagtaattcgaagtgctag +accaacttaaaataggtaaacgtgcccgaaaccccccttaacagaaagctgctatcatgg +tgcagtatcgacgtgttcagaaacttgtaacttttgagcaggtccgagcacatggaagta +tatcacgtgtttctgaaccggcttatccctaagatatatccgtcgcaaactttcgattta +gtcccacgtagagcccaagcgttgtgcgactccacgtgcatgcccagaaatacgagttta +aatttggttacatggttaattttgaccgaagcatcgcactttatgattgataattggatt +caatatgtcgccctatgcgaatgcaacatgatccacaatttggctataagacgtttaatc +cgtatcacactttgtttgcggctagtatagtaacgcccgtgcaccaagagtcagtaacaa +ttataagtactccgcaggtacttcaaatataaaaactaatcaaacacgacccatatgatc +atctgaagatatttggaactttctcgacaaccaccctcgtactcaatacttacactaatc +gacaggcacacgcaacgtgtacagtcgcaccatattgagtcaagatttgcttagtggcga +tgagcgtacacgcttatttctctagtcacaattagttatctacgagacatcacgagggag +caaataagcgatgttatggctacacataggcacgtatgaatatgatataagccagttaaa +cagtcgaaccatcgagcaaattctcatgcaccaacccacacgttgaggcacaaagagtaa +gctgtttgaatgtaacttcttctgctgagcgggccccaacgtaaggatcaactagaagag +aaaactcggtattagtttaaatgcgtcacggagcatgagtgcatttcactaagaatgtct +gtgtaaccaatataacatctatttgttatctgattgcctacttatggctttgcggtcgtg +gcgactaatgtctccaatccttttgaggtcggtaccaactccctttaaattacgctgtgc +aggctcatgcactgcatacatatacggtagcaggtagggacctcacgcacccttattata +atcaatagtagttatcagtcaacgaggcaggaatgctgaggtcgaggtgttggtatattt +tctatgtgccgtctaggcgactatcacgcattaccaggcgagatttaagccaattttgaa +tatagtcaacgtaatttttactatgggttccaccgaaacgccttgcacaactaagaatcc +cataaaatatcgatatcaaataaaagattgtgtcaataccttcatatatattttttcggt +tgactaacgtgaactaaggttaggggttttgtatgtctatataggaaacagtttcttttc +tgtcctactttagtaaagtcttcaagccttactccaaaatcacggtgattaagccgttac +tcagcagcatgattctgcctgctcgggtcctaaaatccagccttgtaagagtcgctgtgt +attagctagggagacctttgttaaaaaggatatatcgcggcgggatgtgagtgcgtggcg +catactcaatcttcagctcgtgtcattataatatctctcccccacgcttttcactagata +tgccgtgtaagcaaacaccttatgcttaatttcgaaaatattggtacttgaaaaaagctg +taggggtacttaatgtctggtaggagatcaggagagaattgagtgtaaaaccgtaaagcc +ctcacctgacttcatgtaaatggcttagaagactccatgatttaataaatactacgaagg +aaagactggatctaaagataactctagtaaggccaactcccttcaatgctgttgccagtt +ataatccaagagctgtccttttctgaaccatagcggcttctgaagcgaactagaagcaaa +gttggttctagccagacagccacataccctgtacgggtgtattactaaaactggtccggt +attagttcaccaagggaggaattaggcaaaggatctaggtatgcaagtcggagtattaca +tccctaccctgaatccatcaataggttcctctgtactggccttcgcaatgagtattcaag +gttgtacagccgtataataataagatagtgactatgaacgggaagtaacccgctcacctt +ccccaaaacattgttatatctaagtattaaagtctgccgtagtgttaatactcgaaaata +aacaactggcaaattacaccgcacttaagccgcttttgatttatatttttccaatgcgct +tttaaaaataattcagtcctacatactaattaagacccttaaacggagatatcacaagtt +aagttttaaccatctcgactaggtggaactatagatacccaactcaatttatcattacct +gtaatgttcctagaaggattgcatttcatgtcaagacggtggagtttcacagcgaaactt +cagtgtgaacagattctgagaaatcacctaaacctattagtcagagcacccggttagaac +cagttgtcaaaaaatagagcggttgcatgagacagaagtaacgatgagatccgttgtaac +gttgagacatctggcctatcgtcaatacagtcctcccttaaaaatatttttaaatactag +gcaaacccaacataggttagtcctatgtgatacgccacatggtatatcattttgtaacgt +tacctagggataatcaggaagtggaattacgcaaaagtagacagtgaaatgcttagggtt +atagtctagtccaaagataaaggataaagcacgtcagagaactatattagccgaatggga +atcattgttaggagactgtggatcatgtctaaaaagcaacgcagaaacagtcatcgaaaa +aatctcgtttttgtttgaatctaaaagagctttgatgaccgatagtacctgtatactagt +tactgtattacgtgtctaatgatttcggattggggtccccagaatcagacgtcattgtag +acgattcaagtttaccaatttaatttcccagctctccttggagaactatcgccaataatt +gcagtcactttccttttctgaaacgataaagccgtcagagttctctgcaacgttggactt +acctgaggttctaacccactttcggttctaatagtagttaacgacacaacgaataacctt +tactgtggggctttcacgatattttttcgcttattattaatggttacgtcataagctggt +gtccaaattaaggttaccggcttcgcagagtagttgtatccaagtataacttccctaatc +ataagatcgaggtagaaaattaatgctgtctctaaccgaacagatatgtcccactatgtg +gtatggacgttgctaattacttctgaagggaaattggtcattatggatacgtgtctacca +tcaggtcggacgcagatatggttctgtcttcagttgatccaccgttctttataggataat +aactgacgattaaagattatggtaaatagattaagccaattctcttcttgtcagtgaagc +atccttaactgacttgctctgcagcccctcatacatttagctattcaaagtaccggctcg +tttcaaactctcccacctttggaagaggttgtcaacttgataagtatatcatttacagca +ttttttcggacgtacctctaatgtttcattgcagaaaattagttttttctatcgcacatt +ttgcaagtaacgttagagacacaattatctgcgaatgaactgctagatctgacgaccggg +agcctcgcaaatatcaaaaaagactgacatatatcaaggagtcgttgacaagtgctggta +agtcaattggtttatctgtcccggcgtttcgatcttaagctgaccatgcacggcagagta +atgtcactctcgttcttacaagtctgtctccaagggtcggcaaaaaagacccctccattc +tcgagcccactcacgatatgtagggacgacaacttgtgcggcttatgaattgtctggact +gcgggcgagggtccatatctccgaagttagaagggacatacctttagatgataagatcaa +ttcttattgacgaaattcatccacaacggggaacaacttcaccctagacttacgtctgaa +aagacacctagcgtcttataaaaggtcagtgccccgtttcgtaaggctggaattacctac +gcaaacttaaacctcgcgcccttccttacgtatcgacaagatagaggctatcgcgaatgt +actacggaggcatgaatcatatactagaaccaagtgcctgtgatattaacaagatgatcc +gacgcgagcaccgtaattctaggcataaaactccagcaatttgggggccgaaaacaaatg +acgttagctaattaattatatgacatgatcaaaggaggtcaatcacgcatcgagttcgac +gtatattcattgaacttcgtgcgtttgaaagaaacttttatgaaggcaaaattgatcctg +tctcctatttcatgcgtacctcctagttgataattccccgagcagtggttaggacacttt +tgtcggtatcaagttccggtctcaaaacgtaaaattctgtaatctgtatggatggtctgt +gaattagttaatttttatgaagtcgtcgagacgcagttcctattgatttattctaaacgg +agatgtgcttcgtgggactcggaagtagatctgtgtttatgattattgctactttagatg +ctgactgttaactccgtgttgtttttcaaccgtatatcacaaccgaattggatagaacct +atagtttcaagttctgccacaaggtatcatatttacagttagtgctggttgcttctttca +aacgtggtgagtttgtgctatcacgtcaacggtagagctcagtggaccgagtgcgcgttc +aaccctgttccagagagggtgtgatagcacatataccacgctcgtcgaggcgttcatgat +agtttgcaagagccggtgttaaacacatattattattgttatccaactaatcggacctat +gcataaagcattgtctaaacagaataattgcctatatacggtagttttagtgatttatat +cttagtatcagttagagcttcgaactcttcaggttcctcatatttaacgttcttcgaaag +cgaaaacttctacaaacgaatgtaagcggttttccaagtagtacctataaatcacagaaa +gatctgtctcagtatagttgaaatggtattcagctagtgacgtgtaccaattatcatagt +tcactcaagcaagacgctcattaacgaatatagacaagacactatatcatataataaaaa +agaacatggtgctcgaacatagttgaattcaccatattgaaggggaatgctgacatgtaa +ttcgctactagacgatcaattccctacttgtcaaagttgaactggtacgttcttggaatt +aaatatgattgcgctggaccaaattgcgacttcttgagtttcagggcaaacgattgagcc +ggaggatgtccgtctcttacctttcttgcttatgataaacgacggtccctgtacatcact +gggaattctcagcaaaaataattgggtaaatcgagactcgatgtattcggccacaaaggt +gttagacgttaaagattattcaacggggcgataataggatcataaccggtatgcaagcgc +attgaaagagccatgagatccttatccgataaacgctgcacggtatgtgcagccttattg +tcgatcacgaatttataaatgtagtctgggctgtaagttgaagacctaagttataatgaa +gtgcaataccaaatcgattcatagtggattatcagactcaagatatctcctgataaatta +cagttgttaagatacggataaaatgagatttaagattagcagcctctaatctgtttcaat +cccgttggaatgtggtatgcgatcaaggttaagttaaaatcaagcctgtcttcagtcttg +attcttgttctgccatcgcatgcggtctacgtgagttaatatgtagcttacgttctagct +tgtgctaatctgagtatagattcgtagaggaatattatcaagcttccacgcctcaacgta +cgtgtattggtcacacaagacactaaaagtggaagtagcgtaaactatagtctagttgtt +aaatgctcagttcttgttatattcgatatactcttggctaatttatgtctgagtatataa +aattaatgatattaacttgcatttcacggatcccttagaaaaagattttgaccgagcgca +ttataaacggttacaccgaatcaatagaagcatacccaatagctttctttgaatttattg +cctgcgcaacttggctgactctctagatccgaataattctatatggtcgtgacgaaacta +gttcattactgtttaaaatgccaacatgtcttttgggccgataatggctctttgcaaaat +tactcaatgatacgattgatcaaagcggtagttgctagtggtagcatgtaagtctatcaa +atgtctgattatccgaaaatcttccaaaagagtccacgtaccatatctatctcatagcga +cgcgaggggaaccttatctaactatcattccatttaccgggtgactctcgatgcaggatc +cgattgggataaattgcccagaaatggctcattcctgactaagggtaaggccgttctcag +caagggaaccccgcgaatctaggcttataccatctagattgttaactacttgcctgtagt +tctacagccatactggacagttgtttctaaatgatcgggattcatgctagcactcctctg +aatgcaccgcgtaagtttaactattacgtccgtgggcagataaggatggaggctgtatgt +atcttaactgttacctaatatggctggtaattatcaaagtaaggaccttaatgccatagc +gctagcaatcgctttgtatactgaccatgtgccaacctctcttaatctgtaaaatataat +gtcttagctaactgtggacgatcatgtctctgcctagagcttcgctgtatcaattcctat +agccagcgtactagtgacacaacaacaccgtgtgagaaaagatattagtccttacgtctg +tctctctacagcttattgatgaggattgaacatggacatatagctccccctcaaaagcag +atgctacctctttattccattctcgaacatttgccgaacttaatttcgacaaacctgagg +tcacgtcttaatttatcggtaacgtcacgtccctttgagactggataaatatattaccag +gggccaacgagcaattgttggaggcgcttctataatacaaggtgtcttgtcaaagaaaga +cggcgtgcgtctcgtgcaactcacttaaccaatattaatgtgaaacccccctctctcaca +tcttatgcggtgtactgccctggtacatttcctgtacaggactccaacagtgtagattcc +taagatagctgttggagttgcctcacgccagatcgaaaaactgaataaactagtgagctg +agctgcagaaataccgcttaattacttatgactagttcaaagggacctacgtgatgtcag +acattgcaaggaagaaattaggtttgtgcgtcattttggctggactagcactccttactt +cccctactattcaaatgtcgtaaacagcatgagacaggatcgtgctgacatttaaggtct +attgggaacgaggctacctttggtcgcgcgctcgcgttctccgaatgaccgaaatgcatg +agcacagtatgcaattgcttatagatctaaggtctggtcgttgaaaccaagcacgtaggc +ctgggaaatcagttcttcctcagcaactacacaaaagcgtccaagcattagtacttgtag +taaatgtccgaacctatgcgctcatttgaaagtcaaaaaatatttttaagcagtaggcac +ctaacccgattcctctacttagtagctttctttgattctcagaattgactgcaatatcac +tgcacaattctgtgccattactagacttctctgtattaacgtctcatcttactaacactc +gcctaggacacatctgagagtgaagtatttcaatacatttactgaaatcttcagttctaa +aatccccgaataaggctcttatcggtttggccaacacaagaaaaaaacttcttgcaccac +tcaccttcatacgcaggagcctggggaacttagtaataactatttcggcagacaaagctt +ataacaagttgccggcgcgtataatatttaaaagaccccttgagctgctcaattaaaacg +ctcacctggtataggctattagatagtgccgtcttagtaaggggcgggaattatcggata +aactgatattttgataaaataaccgacttgttcacgacataagtcactaaggagatttta +tctttctccaaagtatatcttccttggataatttcaaagcgctgcaatttaagttctgtt +actagtttatgctgctgggaggtgaccggaaggcgtagtaatctagaggcaaattataag +aagttcatcatatcattttcgactacaaaaacaaggtgttgtatgccggcgcattgtgta +aactggacgagtaccctagatggaaaattatacgttaagccaagatttcgatgtaatgat +aattacctacacatttttgctatccataggaacaagagctgttctataggctcgtggcat +acgaacatttgctgccgctatgaatattggaagctcttcaactacagactctattcttaa +ttgccgtcgaaaatgggccgaatcggctattattaatactcggtttttccgaggggattg +ttgtcgacagtcgtaattattattaatattgatgttggtgaggtcatttaaatacaacct +tgcagacaatgaataagggatccaatctctcatactccttttacaattgctcatgcccct +atgcaaaccttatgccgccacacctccgcaactctctcttctgaactgtaagtagcttca +ttactggtttgagactatactgaagctgatgacattctaaaatggctattttcgaatgtg +attcataatgtttatcgtttgggatggcagaatcacgttatttttgatatagcccgggta +ttctattgtatagaacgtatgctacaagtcattccccgaagaagactagaagtaaacaac +atgcgaccatcgttaagccacgcaaggctgtagctttatttcccgataacctatcttcca +taaatagcggacagcaggatactgacgctcaacatcagtggttatggtctaatttttaac +ttttaataaggtaacttcagcaggcatacacagtaactctttaatttataatcaaattag +aagtctgacacttcttatatttttctatcatccaacgcgatcgcccattagcttattgtg +ttactaataacgtatctaaaccaatccttttcaagctactgcctatattgtcaatatata +caaacaacaggatagtaggctgcttaaaaaatattgtcaaccgtgtacgctttacaatac +ccggaaatcacaaactttgtagacaacgagtgaaatttatacactacgaagggccagcgt +acaagacccatgaattaggcgatatgtttattctgacatattggtttatccttaatctgt +cgctgtaaaatgaagccgcccccatccctgcgaattttttttcgaagattcacgactgaa +atataaatacgtttggctatatttatgttggagggaggcaatagcctttactgttaaccg +aagatttagccagtgagtgtgacactaaaacactggaataaatgcaggcgttcttctggg +taaaaggtttagtcaatctcgcctataagttcatatagctctggatataattatctggcc +catgcatttatcatggcgcttggtgccctgtgtgaagccggcctctcatattgaaggtcc +gaagtattccatgtacattaagatcactctctcattcatgcatcttggcttaacaaatct +ggttgtccaagctttccaggcacgtatggtacaaattcggatcgaatacttataaaaatg +atatgttaaactgtctaaaacgctcatctacaaagtaaagtgcactaaccaatagagtct +caagaccgtgtaatgctggtgcactgaatgtgtaatacggttagaagggattagttatgt +tacaaatccattgaaaacttaagaagcattgcgtgctcggagggtgcatcttttatcaag +agactaacattattttcaacgacgtacatgctttacaatagggtacttatcaaacgccga +gaaacgcgcctatagtgatgttatgattatgacccgatatccattggaccgaattttatg +taggttcccagcgtactcgcgtaatatctcggtattgccataatgtaatacttgtcggtc +tctcccagatgaaaaagcgttacagagtatttcaatgaaaaacagcgcgcaacgtcaata +cctttaggggtaacggccgctgatttcatatagatatacgataagttggtatagctctac +taggtggcatccacaatcgttgcatttactatagctggttacaatcataatctataccgt +tccttacatactaccatagcgggatagcgtttttttgccgttgattgggtttaagaggat +gtcagtctcattatatccgattcggtgggagagccgttgttttcaaatcgcacactttgt +gacataatgtacaagataacaaaactgatataagatataaactgtcaatatcaccttgac +acttgaatcaaagtaaattaactcgcaaatataatttgactaattgggtgcagatttctc +aattaataaaaaaatggcaccggatgggcttacaagccccttatcattcacttgtatcat +gatttccaagaacaatagaatttgctagcaagtatgaacagagattcgaattgcatccac +agtacgccggagcgtttattttaatgtggatatgacgatgtactgttggcggcatttgct +agtaaccggtccttatttacgtagcgcacacgtaagcatgtctgggagaaatatggtggt +acaatctcagagaaagattacagtttggtttaaataggacttatcgggtcggaagtggaa +cttaataagcagtacacaattgggcaacagacgtcttgcctattacaataggattacaat +gcgttagatttcagacacgttcgtgtttggctattcgtcaattccctaaatagttagacg +atcaactattatcaaagtgattctttgttcatcctccattcatgtaacagatggcacact +acgcataacgccgaggaattttaacgagatttaagagagcagttcgggcacaacccactt +gactttataacagctcggcagcataaacggtaatatgtgacaaatttccaaacgttataa +gaacgtatgtgtacttagaaaactaagtggttcatgttcaacagatgtgacgcagcaagc +ctaacttatctattggttttgctataaaagaacaaagttacacagaatcctaagggcttg +tttcacacttatgcctagtgcttcaccatcttaaaatagcgaaaccggcacgaatcaaac +cttaaaacaatgcgcagatattggtgatggtgactccgggtatgataatggtaactgttg +accagcgcccacctcatcgaagtatagaaagtggttaggataaggatgagaccgaactta +tttccggccataactttagattttctacctagtacacaacatcagggcggacacgaaacc +gccatcacatcatataccaggtttaatttgcttaatgggggaagtgtcaacgaaccttcg +aactttagcaggcatatggccattatatatggccccagagcagaatgctacagcagacaa +aatttggatttatgtagtttaatacctatcaaacttggtgtgaccatacttgtctaacga +cagtgcacaaagtgtaagttacaattattactactcagcagcttctgcaatgataaaatc +ttatcatacacgtcacatatgataatatctacttagggggaacgggctccacaacctaca +tagtactcaatacttacactattcgacaggcacaccaaacctgtacagtcccaaaagatt +gagtcaactttgcagtactgcagatcacagtaatagcttagttagcgagtcaaaattagt +tttctacgagactgcacgaccgtgcaaatttccgatgtgttggctacaaatagcaacgta +tgaatttgtttgaagccacgtaaactgtacaaccttagagataagtctcaggctactaaa +aacacgttgtggcactaacaggatcatggttgattcttacttattcggctgaccggccca +ataagtaaccttcaactagaacagaataatcgggagtagtttaattcagtcaaggtgcag +gtctcattgtaactaacaagctctgtgtaaccaagttaaaatcgttttcttagcggattc +cctacttatggatttgagctcgtccacaatattcgatacaagaagtttgtggtccgtaac +aacgaaattttaattacgctgtgcagcctcatccaaggaattaatagaaggttgatggta +ggctccgaacgctccatgattataatcaagtggactgtgcagtaaacgaggaaggtatcc +tgacgtcgtggtgttcgtttttgttatttgtgccctatacgagtagataaaccatgaaca +gcacagtgtgaacccatggttgattttaggctaccttatttttaatttccgttacacaga +aacgaattccacaactaacatgccattaatttttcgatatcttataaaagatggtcgaaa +ttcattcatttattttttttcggttctcgaaagtcaactaagctgtcgcgttttgtttct +ctttagaggtaaaagtggctttgatctcctacgtttggatactagtcaaccattactcca +tttgatccgtgagtatcacctgtctaacatccagcattatgactcctcggcgaagaaaag +acacacttcttagagtcgatgtgtattagctagggacacagttgtttaatacgatagtga +gcccagggagggcagtgcgtcccccagtagatttattcagctagtgtaagtataagatat +ctcacccacgaggttcaagtgatatgcagtcttagaataatacttatcctgaatttcgat +attatgggtacttcaataatccgctagcgctactttatgtctcgttggacagcaggacac +atggcagtcttaaacactaaagacatcacctgaatgaatgtaatgggattacaagaatca +atgaggtattatatacgacgtaggaaactctggatatatacagtaatctagttacgccat +cgcacttcattcctctggaaacttagaagacatcagctgtacgtggaggaaccagacccc +cgtatgtagccaaatagaaccaaagttgcttatacaaacacacccaatgacaatggaccg +ctggagttcgtaaactcggaacgtagtactgcacaaacccagcatttagcaataggagct +acgtatgcaactcccacgtggtaataccttcaagctatcaatatataggtgcctagctaa +tcgcattcgcaagcagtattcaagcttgtaaaccagtataataattacagaggctctatg +aaacccaactttccagctaaaagtcccaattaaatggttatttcgtacttttaaagtcgc +ccgttctgttattacgcgaattgattctactccaaaattaaacacaaattatcaaccgtt +tcatttatatttgtcaatgcagctgtttaaaataaggctctactaaattataattaagac +acttattaccagatttctctagttaagtttgaaccagctcgactaccgcgaaagatacat +tcccttctctatttttcagttcatctatgggtcagagaagcattgaatttattctattca +ccctcgtcgttcacagcgaatcgtcagtgtgatcagtgtatgagaaatatcctaaaccgt +ttagtcagaccacacgcttagaacaagtggtctaaaaagactgccctggaaggagtaaga +agtatacagctgatccggtgtatccttcagtcatctgccctatactaattacacgacgca +aggaaaaataggtttattttctaggcaaacccttcataggtgactccgatgtgttacgaa +tcatgcttgagaatgtgctatcgttaccgacggataataacgatctccaatgaaccaaat +gtagaatgtctattgattacccttttactattcgacttagagataggagatagaacctca +gtgtacttttttagccgaatgggaatctttgggaggtgaatggccataaggtcgtaaatc +caaccctcttaaagtcttccatattatatcgttgttcgtggaatcgataacagatttgtt +gacccatagtaaatgtatactagtttatgttgtaagtgtagattgttttccgattgccgt +ccaaactttatgtcgtaattgtagaccagtaaagttgaccaaggtaagtgcccagcgatc +ctgcgagatcgatcgccaatttttccagtcactgtaagtgtaggtttagataaagccgta +tgagttatatcataagggcctcggaaagcagcttcgaaccaaagttcccttataatagta +gtttaactataaaagtatatactggtctgtcgccctttcacgatttgttttaccggttta +tgaagcgttacgtcattagagcggctccaatttaaggttaacggcttccatgtgtagttg +tatacaaggataacttaaagtatctgttcagcgagctagttaagttatcctcgatagaac +acaactcagaggtcccaagatcgggtttgcaacttgctaatttattctcaaggcaaattg +ggaattatcgatacctgtataccataaggtcgctcgatgtgatgcttatgtcttctggtg +atcctaccttagttagtgctgattaacggaacattaatgtttatcgttttgagatttagc +caattctctgattctaactcaagatgccttatctgacgtgctatgcagcccctaagtatt +ttacattgtaataggacacgctcctttaaaactcgccaaaaggtcgttgtggttctctac +tggttaactatataatttacagctttgttgagctagttcctctttggtttaagtcctcaa +tattagttggttcgagcgataagttggctagttaccttagtcactatattagatccgaat +gttatgcttcatctgaagaccgccaccctccaaaatttcttttaagactcacttattgca +aggtgtaggtgaattcggctcgtttctcaagtggtgtatctgtacacgagtttccatatt +ttcatcaacagccaccgcacacttatgtcactctaggtattaaaagtcgctctacaaggg +gacgcaattaagaaacagacatgctagtcaaaaataaacatagcgaggcaccactaattc +ggccgcttatcaatgggatgctctgcgcgagacgcgccagagctcagtagttagttcgga +catacatttacttcagatgatcaattagttttctacaaatgcttactctaccccgaaaaa +agtcaccagactcttacgtctctttagtatccttccgtcttatataaggtcagtcccccg +tttcggtaccctggaatttactaagaataatgaaacagcccccaaggacgtacgtttaca +aatgatagaccagatcgcctagcttattccgacgcatgttgcatagaattgaaccaacgg +aatgtgagagtaactagatgagccgaccacagcacccgtttgcgtcgcagaatacgcctg +atagttcggccacgaaatcatatgtcctttgagtattaagtatttgtaatgatcaatcga +gctcaagcaagcttacacttcctcggatattcagggaacttagtgcctttgaaagatacg +ttgatcaacgaaaaattgataatggctcatatggaatgcctacctcatagtgctgaatta +acacagcactgcggacctaacttttcgaggtttcaagttcacgtctcaaaacctaatagg +ctggaatatgtagggatcctcggtgaatttgtgattgggtttgttgtagtactgaccaag +tgaatattctttttttctaaaagcagatctgctgccgggcactacgaaggagatctctgt +gtatcattattgcttcttgacatgatgactcttaaatcactgtgggtgtgcaaaacgata +gcacaacccaattcgatagtacatattgttgatacttcgcactaaaccgttcatatttaa +aggttgtgctccttccttcgttaaatactggtgacttggtcctatctactattagctaga +cctctggggaaccacgcccccgtaaaacctgtgcaagagagggggtcatacatcttagac +atcgcgcctccaccagggaagcattgggtgattgaccaggtgtgtaacaaatatgattat +tcttatactaatattagcaaagatgcataatgatttgtattaaatgtataattgaattga +taagggtcttttagtcagtgatagagtagtataaggtagacattagaactcttaaccgga +cgcagatttttcggtcttagtaagccaattagtcgacaaaacaaggtaagagcggttact +agtagtacctataatgcactgaatcttcggtcgaagtatagttctaatgctatgcagatt +gtgacggcgacaaatgttcagacttatatcatgaaacaagctcttgtaagtattgacaaa +tgaaaagattgaatatttttaaatacaaaatgcgcctacttattaggggaattaaccaga +ttgaaggccaatcctcacatgtaatgagataatagacgataaatgaaattcttgtaatag +ttgaactgctacgtgatgggtattatatatgattgagatcctccaattgccgacgtcttg +tcttgatgcccaaaagattgtcaacgaggagctccctcgcgtacctgtcgtccgtatcat +aaacgacgcgacatgtacagcactccgaagtataagcaataataatgcgggtaatccaga +ctagatcttttcggactcaatgcggtttcacggtaaacatgattaataccggagagtagt +cgagcttatcagcgatgcaagcgaattcattgtgccaggagatacgttgcagataaaacc +ggcaacgtatgtcaacaagttttggcgatctcgttgtttgtattcgacgaggcgcgggaa +cttcaagaactatcgtatattcaagtccattaccttttagtttcagactggtggagctga +ctaaagttatatcatcattttgtacactggtttagttaacgataatttcagatttaacat +gaccagacgataatcgctgtatatccagttggaatgtggtttgccagaaaggttaactta +taatcaagcctctcttcagtcttgattcgtcgtatcccatccattgcgctatacctcagt +gtatttggagctgtagttataccgtgtgctaagatcagtagacatgacgagagcaatatt +atctaccttacaagcatcaacggacgtctagtcggaacaaaagactctaaaactcgaact +tcaggttaatatactatagttctgtattcagcagttattcttatattcgatattatcttg +cctattggatgtctgactttagtatattaatcatagtatctgccatgtaaaggtgccagt +actaaatctgtttcacagtgcgaattataaacggttacaaccattaaagacaacaagacc +ctatagctttatttgaattttgtcaatgcgcaacttggagctcgcgatacatcccaatta +gtctatagggtcgggacgattctacggcatttctggttataatgacaacatggattgtgg +cccgagaatcgctctttcattaattaagcaatcattacagtcttataagcgctacttccg +agtggtagcaggtaactcgatataaggtcgcatgagccgaatagcttaaaaaacaggcca +ccgaacattgatagagaataccgaccacagcgcaacctttgattactttcattaaattgt +acggctcactcgacatcaagcttaagattgcgataatgtgaactcaaatggatcagtact +gaagaaccgtaacccacttcgcagaaagcgtacccagagaagatacgctgttacaatata +cagggtgaaattattgcctgttcttcgtaaccatttcgccaaacttggttagaaatgata +gccattcatgatagaaataagctgaatgataccagtatctttaactatgtagtcaggggg +aagataacgatggtccatgtatgtttctgatatgtgacagtattggccgcgtaatttgct +aacgaagctacttaatgcctttgagcttcatatagatttctttaatcaaaatcggcaaaa +agatagtatgagctataatatatgctagtagagaactctggaccatcatctatatgaata +ctgattcgagcgtgcaattactttagcctgcgtactactgactctacaaaacactctgag +ataagtttgtagtcagtaagtcgctctctataaaccttttggatgaccattgtacagcca +cttatagatcccaataaatagcacaggagacagagtttttcaatgctcgatcatttgccg +atagtattttcgtctaacctcagggcacctattatttgatacctaacctaacggcccttt +cacaatggagaaatatatgacatcgggacaaacacaaatggtgggtggccaggagatatg +acatggtggcgtctctaagaaacacggactccctctaggcaaactcacgtaaccaatttt +aatgtcaaacaaaacgctcgaaaagattttgccgtgtaatgacctggtacattgactggt +caggaatacatcactgtagttgccgtagtgtcctgttggtgttccatcaagacacatcgt +ataacgcaatttacgacggacatcagatcaagttatacagattatttaagtatcacgtgt +gcattgggacataagggatctcacacatgccttggaacatttttgctttgtgccgctttt +tcgctgcactaccaatccttacttaccagtatattcaaaggtcgttaacagaatgagaaa +ggttagggctctaagttatcgtcgattgggatagacgagacatttgcgagcgccctccac +ggatacgaatctcccatatcaatgtgaactggatgctatgcagtttagttcttacgtctc +ctagtggtaaaaatcaaagtagcactcgcatagcagttattcagaacctaatacacaaaa +ccgtcaaacattttctaattctaggtatgggccgatcataggagctaaggtgaaactcat +aaatgttttgttagatctagcatcctaaaaagatgcatatactgagtagctggcgtgcat +tctctcaattgtatcctttttaactgaactagtcggtcccatttcgtgactgagatctat +taaccgataagattaataacactcgcattcgtatcagctcagagtgaagtttttcaataa +tttgactgatatattaacttctaaaataaccctttaagcctcggatccgtttcccaatca +catcaaaaattcttattccaactatctacggattaacaacgtgcatggggatcgtagtaa +gaacttgttccgatcactttgagtatatcaagttgacggcccggttattattgaatagaa +acattcacctgctaaattaaataccgcacatcggatacccgatttcagagggccgtctta +ctaagggcaggctttgttcggtttaactgagatgttcattattttacagtatgcttcaac +taatatgtaacgaaggacagtggatctgtctccatagtagatcttcagtcgtgaatttca +taccgctcctatttaagttcgcgttcgagttgttgatcatggcacgtgaaagcaacccct +agtattctagacgaaaattttttctagttcatctgataatttgccaattcaaaaacaacc +gctggtttcccggcgcattctctaaaatggaagtcgaacctagagccattatttgtcggt +aacccatgagttccttcttttcagaagttaatacactgtggtcctatacagaggaaaaac +agcggttatatacgatcgtggcataacaacattggatcaagatagcaatttggctaccta +ttctaattctcactagattcggtattccactacaatatcggcagattaggattggatgaa +taatcggtgtttaagtccggttgcgtctccaatctcctaatttttattaatattgatctt +ggtgacctattgtaaataaaaacttcaagactttgaataacggtgaaaagatagaagact +catttgaaaatggatcatccacagatccaaacattagcaagacactaatccccaactagc +tattctgatcgcgatcgtgctgcagtactcctgtcacaatagtctgttcatgatctaatt +ctttttgggctttgttcgatggtgattcagaatctttatccggtcgcttccctgtagcta +ctttgtggggatattgcccggggattatagggttgagatcgtttcctaaaagtatttaaa +ccaagtagacttcaactaaactacatcagaacatcgtgaagacaccatacgcggtacctt +tatttaccgataacatttcttcaagaaataccggtaagcagcataatgaccctaaacagc +tcggggtatcgtcgtagttttaaattttatttaggttactgctcaaggaataaaaactaa +ctatttaatttataataatattacaaggctcacactgattagatttgtctataagacttc +gcgatcccccattaccggattgtcttaagaataaactagataaaccatgcattttctaga +taaggcctttagtctaattagatacaaaaaacacgatagttgcatccttaatttattgtg +tcaaacctggaaccttttaattacccgcaaatcactttatgtcgagactacctctgaaat +ttattatctacctaccgcatgaggacttgaaccatcttgtaggagttatgtttattagct +aagattcgtttatcctgtagcggtccatgtatattcaacaagcaaaaagcactcagaatt +gtttttagttgagtcaagactgatatataaataagtttccctagttttttcgtggtggga +cgatattgaattgaatcttaaccgaagagtttcccactctgtcgcacaataatacacgcc +aatatttccagccctgcttatgccttaatcggttactcaatctcccattgaagttcattt +tgatctgcatagaagtttcgggcccagccttttttctgccaccttcctccaagctctgta +gacgcactctaagattgatgctcacatgtattaattctacattaacataaatatataagt +catgcatcttcgagtaaaatatctggttctccaacatgtcctggcacgtatcgttataat +gcccatacatgtagtattaaaatgattgggttaactggatattaagatcatcgaaattgt +aaagtcaaattaacaatactgtctcaagaccgtgtattcctcgtgctcggaagggctatt +acgcttacttccgttttggtatcttaatatgactttcaaaaattaagttgcagtgagtcc +tacctgcgtgcatcggttagcaagagtataaaagttgtttaaacgaactacttgctttac +aataccggtcgtatatatcgccgtgaatccagaagattgtcttctttggattatcaaccg +agatcctgtggaccgatgttttgggaccttcacagaggactccaggtagagctcgctttt +gcattaatctaagaattgtacctctctaaaagatctaaaacagtgaatgtgtatttcatg +gaaaaacacagagaaacgtaaattactttaggccgaaaggcacatgagttattatacata +tacgagatggtggtatacatcgaattcggggcatacactatagttgcattgtatttagct +gctttaaataatatgatattaccttccttacataagacattaccggcataccctggtttt +caacttgtggggctttttgacgatcgcactctcatttgatccgagtagggcggtgacccc +tgcttttcaaatacaaaaatttcgctatgaaggtaatagattacttttcgctgttatgat +agaaacggtaaatttaaaattgaaacttctagaaaagtaaagtaacgagaaatgattttg +tgaataatgcggtcatgattgcgcaagtaagaaaaaaaggcaaaaggatgcgcggaatag +aaacttatcagtcacgggtatcttgatttcattcttcttgtcaattgccgacataggatg +aaatcagattccaatgcaatacacagtaacccccacccttgattgtaatgtcgatttgaa +gttgtacgcgtcgacgaagtggatagtatacgggccttttgtacggtgcgatcaactatg +aatctcggcgagttagatggtcgtacaatctcacacatagaggtcacttgcctgtaatga +cgaattttcggctaggtactcgaactttattagaagtaaaaatgtgggcaaaagaaggat +tccattttacaagacgattacaatgagttacatgtctctcaacgtagtctttccctagta +gtctttgaactatttaggtactccagaaaattttagcaaagggtttctgtgtgaatccgc +cattcatgtttatgatggaacaataagaataacgccctcgtatgttatcgacagtgaagt +cagcagttcggccaaaaacatattcaatttagtacagatccccagaagttaagctaagtg +ctctaaaatggcctaaacggttatcaaagtaggtctaattactatactaacgggtgcatc +gtaataactgctgtcgatgcaacactatatgatagtgtcgttttgctatatatgtacaat +gtgacaaagaagccttagcgattcttgcaaacttaggacttcggattctcaatcttaaat +gtccgaaaacgcaaagattcaaaaatttaatctatgagcagatatgcctgatggtgacta +cgcgtatgttaaggctaaatgttgacaaccgcacacataatcgaactattgatagtcggg +agcataaccaggtgaacgtactttgttcacgacatttattgacatgttctaaatacgtct +caaaatcacggcgcactagaaaacgcaatcaaatcattgtcctggtttaagggccgtaat +gccggtagtgtcaaacttcatgagaactttagctggcttttggccagtatttagggacca +agagcactagccttaagctgaatattttgccatttatctactgttataactttaaaactt +ggtggcaccagacttgtcgatacacacgcatcaatctgtaacgtaaaaggtttactaaga +acaagcgtaggaattgagtttatattatatttaaactaaaagatgatattagcttctgag +ggcgatagggctccaaatcataaagaggaatatattattacacgattagaaacccacaac +atacctcgaatcgcccaaaagtttgacgaaacttggcagtactccacatctcagtaatac +agttgggagagtctcaaatgttgttttattactcaatgaaccaccctcataatttcactg +ctgttccattaaatttgcaaacgatcatttgctttgaagaaacgtaaaatcgacaaaatt +acagataagtagatgcataataaaaaaaactgctcgctataacacgatcatcgtgcattc +ttacttaggagcatcacccgcacaataacgtaccttaaactacaacactattagaccgag +tactgtaattcacgaaagctcaagctcgcattgtaaagaacttgctctctcgtaaaatgt +gataatagtttgcggagaggattcaattattttccattgcacctactccactagattcga +taaaagaaggtggtcctcccttaaaaagaaatgttaagtaacatcggaaccataagcaaa +gcatgtaagtgaaccgtcatccttccctaagaaacataaaggtttttaataatgtcgact +gtgaactataactgcatcctttcctgacctactccggttccttgttgttatttctgaacg +agaccagtagataaacaatgtaaaccacagtgggtaccaatggtgcatgtgacgctaccg +ttgttttaagtgcccgtacaaacataagaagtcataatcttacttgaaattaattttgcc +ttttattttttttcaggctcgaaattaatgatttgttttttttgaccttctagttacgct +aatatgcggtcgcctgtggtttctattgagtcctataacgggatgggatctaatacgttt +ggttactagtaaacaaggtataaatttgataccggagtatcaactgtataacatcaagct +ttatgactcatacgcgaagtaatgacacaaggctttcaggagatcgcgagtacagagcca +ctaaggggtgtattacgatagtgacaccaccgagcgcactcactccccaagtagatttat +gatcctacgctaagtattagatatataaccaaagaggttctagtcagtgcaactcttaga +ataataattagccggttttgcctttttaggcctaatgcaatattcagctagcccttatgt +atctcgcgttccacagcaccactcatggcacgcgtttaaactaatcaaatataatctatg +aatgttatgccagtacttgaataaatcaggttttttataagtccttgcatactctcgtta +tatactgttagagtcttaccccatagaaattctttcatctgcaaacttagaagaattctc +agctacggggagcataaagtccccaggatgttgacaaatacaacaaatgtggcttataca +aacactccatatgaaaatcgaaccctcgtggtagttttagccgaaccttgtacggataaa +tccctccattttccaatagcagatacctatcctactacctcgtggtattaaattaaagct +tgaaatatagagctgcatagcttatccaattcccaagcacgagtctaccgtcgtaaccac +gatttgatttacagacgctagagcaaacccatctttaaacatataagtaaaaattaaagg +gtgagtgcgtacgtgtttactagcaacttcgcttattaagacaattgtttataagccata +attaaaaacatatgttcaacaggttcattgatatttgtaattgcacaggtttttaataag +gatctacgtaagtataatgaacaaactttttaccagagttatattctgtactttgaaaat +gctcctctaccgccttagagactttcaattagattttttgcagttaatctatgcgtaagt +gaaccatgcaagggatgcgattcaaccgcctcgtgctaaccctatcgtctgtctcataac +tgtaggtctaatataattttcagttttcgaacacataaccctttgaaaatctgctattta +atgtctcacctgcatgcactatcttctatactgctcagaacggctatacgtcactatgct +ccaagtgacgatttaaacgaagcaaggaataataggtttattttagtgcaaaacaattaa +gtgcggactacgtgctctttacaataagccttgtgattgggctataggttaagtcccata +ttaacgatctccaatgtacaaaatcgacaatcgctttgcattacccggttactagtcgaa +ttacagatagctgttagatactcactctaattttggacaacaatcccaatcttggggtcg +tctatcgcctgaagctcgtaaatccttccatcttaaacgattacatattatagacttgtt +cggggtagagatatcacagttgtgcaaacattgtaaatcgatactagtttatgttggtag +tctagttgcttttaccattccccgaaaaacttgatctactatttcgacaacagtaaactt +gaactaggtaagtgaaaacagagaatgcctcatagtgccactatttgtccactatatgta +agtgtagctttacataatccactatgactgagatcattacggcctaggaaagcagcgtag +aaaaaaagggcccggatattacgactgtaactataaaactagttactggtagcgcgccat +gtatagatttgttttaccggttgtggttgcgttaacgaatttcagccgcgaaaattgatc +cgttaaccagtccatctcgacttctataaaacgataaagtaaagttgatgttcagcctcc +ttcttatggttgcatcgagagtacactactcagtgggaaatagatcggggttcctacttc +agattgtattatctaggcaattgccgattgtgccatacctggataaaataagctacctac +atgtgatgcttatctattatcgtcatactaccttagggtgtcctgttgaacgctacatta +atctttagccgtttgagatgttccaatggataggagtctaacgcatgatgaagtttagga +aggcagagcatcccactaagtatgtgacagtgtatttcgaaacgagacgttataaataga +aaaaaggtccttctggttctattctgctgaactattgaatggaaagattggttgacctac +gtactatttgcttgaagtcatcaatttgacggggtgagagacatatggtgcatactttac +ggactctatattttagatcagaagcttagcagtcttctctacaccccctcacgacataat +tgcttttaagaatctatgtttgattcctctacgggaattcggatccgttcgcatgtgcgg +tttatctaaaccaggggacatatgttcagctaaagcatacgaacactttgctaactagac +gtatgtatagtagctataaatcccgacgatatttacaaaaagaaatgagactcaaatata +tacatagcgaccctacacttattcgcaccctgatctaggcgatcctagcacccacacccg +aaagtgagcactagtgtcttccgtattaaatttactgcagttgagattttagttgtctac +taaggattactctaacccgtaataaggatcaagactcggtactagctttactatcattcc +ctatgtgttttcctaactcacaagggtacgtaccagcctatgtaattacaataatgataa +agacacaaaggaagtaactttacaaatgagtctccagttacactagcttagtccctccca +tcttgctttgaagtctaaatacgcaatctctgaggatatacagcagaagaacactcataa +cgttggagtccaagaattagactcatagggcccccaacatttaatatgtactgtgagttt +gaaggtgttctattgttaattcctgctcttgatacatgacacgtactccgtgtttaaggc +ttcggactgactttctttcataagttgagcaacgaaaatttcagaatcgataagttggat +tcactaactaatacggctgattgaaaactccactccggacctatatggtcgacctttata +cgtaaccgatataaaacttataggctggtatatcgagccttcctagcgcaatttcggatg +gggtttcttctactactcaacaacggaatagtctttgtttagtaaaccagagctcaggac +gcccaatacgtaggagagcgctgtggagcatgtgtcattatggactggagcactcttaaa +tcactctgcgtgtgctaaacgatagatcataacatgtcctgagtaaattttcttgatacg +tcgcaatataccgttattagttaaacgttctcatccgtcatgcgtgaaatacggctgtcg +tgctcagatatactattagcgactcatctcgcctaacacgcacacgtataaactcggaat +gactgccgctcttacatattagaaatacagactacaccacggaagcattgggtcattctc +aaccgctgtataaaagatgattagtcttataataagattaccaaagaggcagaatcatgg +gtagtaaatctattattcaagtgattaccgtcgtgtaggcagggagtgaggacgagatgg +tactcaggacaaatattaaccggacgaagtggtttacgtcgtactttcactattagtagt +aaatacaaggtaacaccggggaatagtactaaatataatgatatctatcttcgggagaac +gagtcgtctattgctttgaacattctcaaggcgtaaaatgtgctgacttatagcatgata +caaccgattgttacttttgtctattcaaaagattgaatagttttttatacaaaagccgca +tacttatgacggctagtatacagtttcatcccctagcatcaatgctatggacagtattga +acttataggaaattcttctaatagggcaaatccgtcgtgatgcctattttttttcagtca +catcctcaaatggcactagtattgtcgggatcccattaacaggctcaaccacgagctcac +gcgaggacatgtagtccgtatctttaacgaagcgacagcgacagaactcccatggataac +caattataaggcccgtaatcctctagacatcgtttaccaataaatccgctttctccgtaa +tcatgttgaataccccagagtagtccagatgataaccgatgaaacacaagtctttctcaa +tgcacttacggtgaacttattaccgccaacgtagctcatcaaggttgcgacatctagttg +tgtgtttgcgacgagcccagcgaacttcatcaactttcgtatattcaacgccttgtaatt +ttactttaagacgcctggtgatgtagattcttagataatcagtttgttatcggctgtact +ttaccataatttcacaggtttcaggtcaagaagattatagctgtatatacagttccatgc +tcggtgcacagaaacgtgatcggataataatcaatcgcttatgtcgtctttaggcgtatc +caatacatgccccgataccgcagtgtatttcgacatgtaggtataccgtcgcatttgagc +tcgagtcaggacgtcagctagattagattccttaatagaatataccgacctctagtccga +actaaactatagataacgccaacttcaggttaattgtctagtcgtctgtttgcagatggg +attcttagatgagtgagtatcggccatattggttcgagcactttagtttttgatgcatag +gatatgcaatgtatagctgaaagtactttatctgtttcaaactcacattgattaaaccgg +taaacctttaaagactacaagaaaatattcagtgagggcaattttgtcaatcacaatctt +ccagctagagatacttcacaatttgtcttgaggctacgcaacattagacggattttcgcg +ttttattgaaataatcgaggggcccaagagtatccatagttcattttgtaagatttcttt +acaggcttattacagcttcttcagactcctacatgcttacgagttatatgctagcatgtg +aacaatagattaatatacaggaaaacgtacattgagagagatgaccctacacagcgcaac +cgttgagtactttcattaaagggtaacgctctcgagacagcatccttaagatggccttat +tgtcaaatcatttgcagaagtacgcaagatccctaaccaacgtagaagaatccctacaaa +cacatgagacgcggtgaaaatagacagggtgttagtattcaatcttcggagtatcaattt +cgccaatcttggtgagaaagcataccctttcttcagagaaagaagatcaatcataacact +atctttaacgaggtacgcacgcgcatcattacctgcctccatggatctttaggatagcgg +aaagtattggcagcgtattgtgatttcgttcctactttatcaatttcacattcatataca +tgtcttttatcaaaatcgccaataagataggatgagctatattagatgctagtagagttc +gcgccaacatcatcgataggaatactcaggacagcgtgataggacttttcaatccctaat +actctctataattataactctctcttaagtttggaggcagtaacgcgctctatataatca +gtttgctgcaccattcttcagcctctgatacatacaaataaattccacagcagtaagagg +gtttaattgagacatcttgggaacttaggattttactctaacatcaccgaaacgattatt +ggataccgtacctaaacgaactttctcaaggcagtaatataggacatccgcaataacaca +aatgctgcctccccaggagttatgtcttcctggaggctatatcttacacccactcactat +aggcaaactaaagtttaaatgttgattgtctaaaaaaaagatagataagagttggccggc +gtagcacatgcgaaagtgaatcgtaagctataattctctggacttgaagttctgtcctgt +tcctctgcaagaaacaaacttcctttaaagctatttacgacgcacatctcagcaagttat +aaacatgttggaagtttctagtcggaattcccaaagaacggatctatctaatgcattcct +acatttttcctgtctgccgatggtgccatcctattcaaagaatttcttaaaagtagatta +aatgggacttttaacaatgagtaaccttacgcctctaagggttcctcgagtgccatacac +cagtcaggtccgagccacatacacggagaacattctaacatagcattctcaactcgatca +tttgcaggttacttctttcctatcctagtgctaaaaatcatacttgcaatcccatagcac +ggattaagaacctaagaaacaattcagtaaaacatgttcgaattcttggtatgggaacat +cattgcagctatggtctaacgcattaatgtttgggtacatcttccatcatataaacagga +agagtctgacgacagggagtgcttgcgatcatgtctatcattgtgaaatcaaattgtagc +tcacatgtcgtctatgagagcgtgtatccgataagatttagaaaaatagaagtcgtataa +gatctcactgaacttttgaatgaatgtgaagcatatatgatctgctttaataaaacttta +tccataggatacgtttccaaatcaattcaataattattagtcaaaatagataaggatgaa +caacctgaaggccgatcggacgtagaaagtggtcccatcactttgagttgatattgttga +accacacgttattatggttttcaaacagtctcaggatattgtatatacagataatccgat +accagttgtctgacgcccctcttacgtaccccaccctttgtgacgtttaaagcagttgtt +cagtattttaaactaggcggcaactaatttggaaagaagcacagtggatatgtctaaatt +cttgttattcaggcctgaatttaatacaccgcatagttaacttcgcggtagagttgttca +tcatgcctcctctaagctaccacttctatgatacaccaatagttgttctacggaatctga +taattggccaagtcataaacttccgctgcgttcaacccccttgctcgaatatccaactcg +aaaagacagccttttggtgtccggaacaaatcagttacttcttttctgatgttaattctc +tgtggtcagatacagaccaaaaactccgcggatttaccatcctccaagaacaaatttgca +tcaacatagcattttggctacatattctaagtctcaatagtttaggttttcaactacatt +atcccaacattaggattggaggaataatagctgggtaagtccccttgcgtctacaatcga +ctattttttatgaatatgcttctgccgcacctatggttattaaaaaagtcatgactttga +agaaccctgaaaagatagatgaatcaggtgtaatggcagcagccaaagagcatataatta +gcaacactctaagaacattatagatatgatgatagcgatcgtcatgatgttatccggtca +caatagtagcttcatcagctaattcgttttgccagtggtgacttgcgctggaagaatcgt +tatacggtcccttccctcttgatacggtgggggcttattcaaccgcgtggattgggttgt +catacttgcattaaacgatgtaaaccatctagtagtcaactatactaaatcacaaaatag +tgatcaatacatacccgcttcatggttttaaccatttaattgattaaagatattccgcta +agaaccattatctacctaaactgatcgccgtatcctagtagtttgaaatttgatgtaccg +taatgatcaacgaagtaaaacgttatattgtatgtagaataataggtcttggagctaaat +gatgtgattggtagtgaagacttacccttacaactttaccggtttctcggaagaatatac +tagagaatcaatgcatgggctacataagcactttagtctaatgagataaaaaatacacga +gtcttccatcatgaattttttgtcgaaaaactcgaacctggtaatttaaaccatatatct +ttatgtcgtcaataactctcatatgttttatataacttcccaatcacgacttgtaactgc +ttgttcgactgagctgtttgagctatgaggccgggatccggttgagctacatctatttgc +tacaagaaaaatgaaagcacatttgttgggagttctggctacactcatagagaaataagt +ggcccgagtgggtgcggcctgcctccatattcaagtgtatcttaaaccaagtggttccaa +cgctcgcgctaaagaattaaagcctttatttcctccacggagtagcccgtaatccggttc +gaaagagaccattgaagttaattttcatatccagtgaagtttaggcacaagcatgtgttc +tgccacatgcctcaaagcgctcttcaaccaagatatgattcatcctaacttcgatgaatg +cgtctgtaacataaatatagaaggaatgattcggcgagttaattttcgccttctccaaca +tggcatccctacgttcgttataaggaccatacatgtaggttttaaaggtttgcggttaat +cgatatttacatcatagaaattctatagtcaaatttacaagactctagatactcactcgt +tgcagccggctaggaagcgctttgtaccttacttcccttttcgttgcgtaatatgaattt +catatagtaagttcaaggcactcatacctccgtgaagagggtagatagactattaaagtt +gtttaatagtacgtattgatggaaatgacccgtaggagatttaccactcaatccacaaga +ttcgctgctgtgcattatcaaaacagtgcatgtcgaaacatgggttgggtccttcaaaca +cgaatccaggtagagatacctttgcaatttttcgatgaaggcgaccgagataaatgagct +ataacactgtatgtcttttgattgctataaaacacagaaacggatattaatttaggccgt +aaccaacatctgttatttgacatagaacagatggtcctttacagcgtattccggccttaa +tattgaggtccagtgtattgtcctcctttaaagaagttgattgtaactgacttaaataag +acatgtcacccattcactgggttgcaactgctggccctttttgtccatcgcacgctaatg +tgataacagtaccgccctcacacctgcgtttaaaagacataaatgtcgctatgaaggtta +ttcattaattttagctgttttcttagaaaaggtaaatttaaaattgaaaaggctagaaaa +ctaaagttacgacaaatgtgtttgtcaagtaggcgggcatcattgagattgtaagaaata +aagccataaccagccccggaatagaaaatgttaaggaaaggcgatcttctttgaattctt +attgtcaagtgcagtcatacgttcttatcagaggacattgcaataaaatctaacaccctc +ccttgtgtggttgggccatttgtacttcgaagcgtccaccatgtgcagaggataacggaa +tgtggttccgtcccataaacgatcattctcgcccacttagtggcgcggtaaatcgctctc +atagaggtaactggcctgtaatgtccaatgttaggctaccttctccaactttagtacaac +gaataatgtccgattaacaaggagtcaatttgtcatgaccagttcattcaggtacttgta +tctatacggacgcgttccagagtagtatttgaaattttgaggttctactgataagtttag +ctatcgctgtatgtctgaataagaatttaatgtttatcttcgataaataacaattaacaa +ctcctaggtgatacactgtgaagtctgctgttccccaaattacatatgctattttgttca +cataccatgaagttaagctaagtgctctataatggcataaacggttatcaaactagctcg +aatttcttttattacgccggaagcggattaactgctgtagatcaaacacgttaggatagt +gtcgttttcatatatatctaaattcggtctaacatgcattacccatgcttgataacgtag +cacttcgcagtctaattatgtaatgtccgtttaaccaaactttaaaaaagtttatctatc +accagtgatgcctcatcgtgactacccggatctttagcctttagggtctaaacagaacta +atattactacgtgtcatactccggagcttaaccaggtgaaacttatttgttaaccaaatt +tagtgacagggtagaaatacgtatcaaattaacccagcaatacaataagcatgaaaataa +ttgtaatcgggtttgggccggaatcccgcttggcgaaaacttaatgacatagtgtgatgc +attttgcactggattgagccacaaactcaactagcattatgctcaatatttggccagtgt +tctacggtttgaaatttataaaggccgcgcaaaagtcttgtagttacaaacgcataaatc +tcgaacgtaataggtttaattagaacatccgtaggatttctgtttatagtagatttatac +taaatgttctgattagattctgacggccttacccatacaattaataaagacgaatatatt +agttatagtttactatccaaataaattaagcgaatcgaaataaactgtcacgatactggg +cagttatcaacttatcacttatacagttcggacactctatattggtctgtgagtactcta +tcaaactaactcataagttaactgcgcttccattaaatttcaatacgttcttgtgctgtg +tacaaacctataatcgaataaatgacacatatggagatgcataataaaaaaaacggctcc +atatttctcgttaatcgggcattcttaaggaggagcatctcaccaaaaataacgttcctg +ataagtcttaactattagaccgtcttcgggaatgaacgaaacctcaagctagcatggtat +agttcttgatagcgcgtaaattctgataatactgggcggacagctggaaattagttgcca +gtgcacctacgcaaatagtttacataaatcaacgggctccgaacgtaaatacaaagggtt +agttacatcgcaacaagatgaaaagcatgtatgtctaccgtcatccgtccctaacaaaca +taaaggtggtgaagaatctcgtaggtcaactataactccatccttgaagcaactactccg +cgtccgtgtgcgtagttcgcaacgagaacactactgaaaaaagctaaacaactctcggta +caaatgcggcttgtgtcgataaagttggtggtagtgcacggaataacataacaaggaata +ttatttattcaaattttttgtgactgttatttgttttctgcctagaatgtaaggatgtgt +tttttgtgacctgatagttacgcttatttcaggtccacggtgcgtgagagtgtgtcctat +aacggcaggggagcgaagtagtgtcctttagactattcaaggtagaattttgataacgct +ctataaaaggtagaaaatcatgattgagcaataagaccccaacttatcaaaaaaggagtt +ctcgacagcgcgtgtacagtccctataacggctgtatttcctgtgtcacaacaccctccc +atcgcactcaaaatgtagatttatgatcagacgctaacttgttcttagagaaaaatacac +gggatactctgtgcaacgatttcattaataaggtgcagcttgggacttttttggccgtag +gctttattaacattcacagtaggtagcgagacttcctatgaaccaatcatgccacgcgtt +ttaacgtttcaaatataagctaggaagcgtttgccaggacttctataatgcaccgttttt +tttagtacttccttactagccttagtttatgttagagtctttccaattacaaaggattga +atagccaaaatttctacaattctcagcgaacgccagcttaatctaaacacgagcttcaaa +tattctacatatcggcaggagtcaatatataaatatgaaaatcgtaccatcctcgtactt +ttagaccaaacgtcttcggataattaaatcctttttcaattaccacagtacgtgcattag +aactactgctatgaaagtaaaccttgaaatatagtcctcaagagcgtatccaagtacatt +gcacgtgtatacagtcgtataaacgagttgatgttctgacgctagagcttaccattcgtt +aaacagataactaaaatttaatggctgagtgacttagtgttttcgacaaacgtcgcggat +gtagactattgtttataagcaatttttaaaaacatatgttcaaaacggtatgggatatgt +cgaattccacaggggtttatgtaccatagaagtatgtataaggtactaaaggtttaaatc +tgtgatattcggttcggtgaaaatcagactagtcacacttagtgtctgtaaattagattg +ggtgaaggtaagcgatcccgaactctacaaggcatgggatgagattctaccgactccgga +taacactttacgatcgcgcataactctagctcttagataagtttaacttgtcgatctcat +aaacagttcaaaatctgcgatttattgtatcaaatccatcctctatcttctataatcatc +tgaaccgcgatacggcactatgagccaagtgaagattgaatccaagaaagctataattgg +tttattttagtccatttaaattaagtccggtataagtgctctgtacaatatgcagtctca +tgggcatatacgttaactaccttttgatacttcgaattggtaaaatatcgactatcgatt +tgcagtaaaaggtgtagagtccaattactctttcctgttacatacgatctcttagtttgg +acaactagcccatgatggcgctcctctagcgcatgaacctactttataattacatcttta +tcgatgaatttttttagactgcggaggccttgagttttaacagggctgctaaatttctta +agcgattagacggtagcgtcgtacgctacttgcttggaacaggcaccgaaaatattgatc +tactattgcgtcaactctattctgctaatagcgatggcaaatcacagaagccctcttagt +gacaatagttgtcaactatatctaagtcgacctttactgtatcaacgatcacggagagaa +ttaccgaatacgaaacctcaggactaaaaaacggaaaggatttgtcgacggtaaatataa +tacttgttaagggtagcgacacaggtatactttgggtgtaaacgtggtgcttcccggaac +gattttcagaccagaaaattgttccggtaaccaggaaatctcgtctgcgttaattcgtgt +tagtaaacttgatcttcagactccttcttttcgttgcagcgagacttaaattatatctgc +gaaatagtgccccgtgcatacttcagatggtaggagataccatttggcccattgtgactt +tacgcgattaattaaccgacatacatctgttcctgagctatgatcgtctgaataaattac +ggtctcctcttgatacctaatggtttctggagacgtttctcatgttcaaatggatagcag +gagatcgcttcatcaagtttagctacgcagagcatcaaaatatgtatgggaaagtcgatt +tccaaaccagaagggataaagagaaataacggacttctccgtagattagcctgatatttt +gatgggaatcatggcggcacatacgtaagagttgcgtgaacgaatattttggacggcggg +agacacatatcggccattcgttaaggtctctatattggacatcacaagcttagcagtatg +agctactaacactcaagacattattgattttttcaagatatgtttcattcctctaccgct +attcccatacgttcgattcgccgggtgagcgaaaccacgggactgaggttaagctaatca +ataacaactcgttgcgatagagacctatgtatactagagagaattccccaacatttttac +aaaaacaaagcagactaaaatagatacagtccctccatacaattaggaccaacatgttat +tgccgatcctagcacacacaccacaaactcagaacttctgtcttacctatgaaagggtct +gcacttctgattgtacgtgtctaattagcattaatattaaaactaattaggataaactat +aggtacgagctttactataagtcactaggtgttttccgatcgaaaaacgggaccttcaag +ccttggtaagtacatttaggataaagaaaaaaaggaaggtacgtgactaatctgtctaaa +ctgacaatagagtagtacctacatgcttcatgtcaagtcttaatacgcaagcgctctcgt +tatactgctcaacaaaactcataaagttggactccatcatttagaatcatagggaccaaa +acatttatttgctactgtcactttgtaggtgttctattctgaattcctcatattgataca +tgaatcggaatacctgtggatcccttaggacgcacgtgctttctttacgtcagaatacat +attgtcagaatcgagaagttccatgcaattaagaattcgcctctttgaaaactcatatcc +ccacatatagggtccaccgttattcggaaacgatataataattattccagcgttgagcgt +cccttaagagcgcattttcgcttggcctttcttctacgactctacaacgcaagtggctgt +gtggagtttaccacagcgcagcaccccatagaactacctctgagagcgcgagatggtggc +agtatgctctgcagctagcgtttagaacgcgcccgcgcattaaccagtcatattaaaatg +gactgtcttaattgtcggcattaggagcaatattaactgatgagggtatcggtcgcagaa +gtaatgacggaaatacgcctctagtccgcagagatacgattacagactcagatcccctaa +caagcaaaacgattaaatcggaatcactccccctatgacatatttgaaatacacaagaaa +ccacgcaacatgtcccgcattctcaaccgcgctttataagatgttgagtctgagaattag +atgacctaactgcaagaatcatggcgagtttatctagtaggcaagtctgtaccctagggt +tcgaacgctgtgacgtcgtgatcggtctaaggacttagatgataaccaagaactggttta +ccgagtactttcactattaggagtaattacatgcgttcaccgcggaatacgacgaaattt +tttcatatctttatgagcgagatcgtgtcgtctttgcattgcaacagtcgctaccagtaa +ttgctgatcaattatagattcattatacagatgcttacttttctctattcaatactgtca +tgagttgtttttaaataagcaccagaattatgtcgcctagtataatcttgcttccacttg +aatcaatgcgatggacagtattctactgattgcaaagtagtctatttcggcttagcagta +cgcatgcctatttttttgcaggcacagaataatatgcaactaggattctcggcatccaat +taacaggctaaaacaccaccgaaagacaggtaatctacgaagttgatgtttactacagaa +agcgaatgatatcacttggagaacattttagatgcccccttttaatctagactgagtgta +ccaatatatcaccggtctaccgaatcagcttgaataaaccactctagtactcatgataac +cgagcatacacatgtatttctcaatgcactgaaggtgaactgtttacaccataccttgcg +aatcaacgtggcgacttatacttctgtctttgagtacagcacaccctaatgaatctaagt +tagttgttgatacgaattgtaatttgactggatctcgcctcctcatctagattcttagag +aagatgtttcttatagccggtactgtaactttattgatctggtttatggtaatcaacatt +ttacctctatttaaacgtccttgcgccgtgcactcaatcctgatcggtttagattcaagc +gattatcgagtctggaggccgagaaaagaaatgcacagagtaagctctctattgcgacat +ctacgtagaaactcgcatttcagatcgagtaagcaactctcattgtgttgattcagtaat +acaagattacctacgcttctacgaaatatactatagatttagcctacgtcacctttagtg +tcgagtcggagctttgaagatcggatgcggtgtggactgtgtataggcaattttgctgcg +agctcgtgacttttggttgatgtcgatatcaatgggatacctcaaacgtctttatctctg +gataactcacattgagtataccggtaaaaatttattctattcatctaaatagtcagtgag +ggctagggtcgcaatcacattaggccacatacacatacttaacatgttctattgacccga +cccaactttagtagcattgtagccgtttatgcaaatatgccaggcgccaaacactagcca +gagggcattttgttacatttatttaatcgattattacacagtcggaacacgcctacatgc +gttcgacttatttgcgacatggtcaacaattcagtaatttaatccaaaacctaaagtcag +agacatgacactaaaatcacattaaggtcagttagtgaaggaatggctaaccagctagag +aatgcatcattaacaggcacttattgtcaaatattttccagatctaagcaacatcacgtt +aaaaagtacaacaatcacttaaaacacatcagtccaggtgtaattagaaagccgcttagt +aggcaagcgtaggagtataaatgtagacaatagtcgggacttagcagacactggatgcag +tcatagaagatcttgcataacacgttagggttagagctacgaacgcccatcattaactgc +ctaaagcgtgcgtgagcttagcgctaacttttccaacacgtttgtgatttcgttcataat +gtatcaatttcacagtcatatacagggagtgtagaaaaatcgcaattaacatacgttgac +ctatttttgttcagagttcagttagagcctaatgattcgagagcaataatcaggacagcc +tcataggaagtgtcaatcacttagaagctatattattataaatcgctctttactgtcgtc +gaaggaacgagcgagagagaatcagttgcctgcaactggcttaacaatatgatacataaa +aatattttcatcaccactaagacggtggaattcagacttattggcaacttaggatgggac +tattaaataacccataagatgttgggataaagttacgaaacgaaagggatatagcctgtt +agataggaaatccccaataaaacatagccggcctccacagcagtgatctattccgccacg +cgatatctttataccacgcaatataccaataataaaggttaaatgtggttgcgatttaaa +aaagatacatatcagttgcaccgcgtagcaaatccgtatgtgaagcgtaacctagaatta +tagcgtctgcaagttctctaagcttcctctgcaagatacaatatgactttttagcttttt +tactaccaaatctcagaatcttagaaacaggttggtacgtgctactcggaattcccaaag +taccctgctatatatgccattccttcattggtccgggctcaccatggggccatcatagta +atagaaggtagtaaaactagttgatttccgacttttaacaatcactatcctgacccagat +atgggttccgactggcccttactccagtaagggcagacacacagacaacgagaacttgat +aactttgaattctcaaatcgatcattgcaacgtgacttatttactagcctactcctataa +ttcatacgtcaaatacatttcaacggaggaagataataagtaaatattcactaaataatg +gtcgaaggagtcctttgccaacataagtccacatatgcgctatagattttttcttggggt +tcatattcaataagataaacagcaagagtatcacgtcagcgagtcattgagatcttggct +agcattgtgatagcatattctacctaaatggtagtctagcacagagtggataagatatca +gttagatatagacaagtactataacagatctcgcttcgttggattgtatggctagctttg +atgatatgattttataaaaattgatccagacctgacctggccaattatattcatttttta +tgagtaaaaatagataaccatgaaaatactcaagccccttaggacgtacaaagtggtaac +ataaatttcaggtgttattctgcaaccacacctgttttgggttttcaaaaaggctaagca +gattggttttacagataatccctgaacactggtatctcccaacgatgtcgttcccaaccc +ttgctgaccttttaagctctgctgaagttttgtaaactaggcggaaaatatgttcgatag +atccactcgcctgaggtagaaattcgtcttagtaacgcctctttggattacacagaatag +tgtactgacacgtacactgctgcagcagccatacgctaacattaaaattcgttgagtcta +catttgttgttattcggattatgttattgggaatagtatttttattcccctgcgtgaaac +cacatggatagattagcctactcctaaagactcccttttggtctacggttcaattctctt +actgagtttatgttcgtaattatatcggcgcagtgaatctcctaattatcaccggagtta +ccagacgccatgaacttatggccagaaacattgcatgtggcctacataggattagtatca +agagtttacgtttgcaacgacatttgaccaacttgaccattcctgcttgtagaccgcggg +aactcccctgcacgcgactatagaagttggtggtggatgtggcttatgccgcaaatatgg +ttttgaaaaaagtaatctattgcttgatacctgaattgagacatgtataagggctattgc +cagatgaaaaactgcatataaggtcaaacaatataagaacattatacataggatcttagc +gttcctcaggatggtatacgctataaagtctagcttcagcagctaaggagttttgccagt +gcggacttccgctggaagattaggtttaaccgccctgacatcttcataaggtcgggcctg +attcaaacccctggagtgccgtctcatacttgaattaatcgatggaaaacttcttctagt +ctaatattattattaacaaatgacggttcaataaataacaccgtaagggtgggaaactgt +taagtgatgaatcattttaacctatcatccattagctacagataatgataccccgatccg +actagggggtaagtggttgttccgttaggataaaccatgtaaaacgttagagggtttgta +gattaattggtattccagataaatgaggtcagggcgagtgatcaattacactgaaaaatt +gtcagcttgcgcggtagttgttaagacagtataaatgaaggggattcagaagcaagtttc +tcgattgactgaatttataaaccagtcgtcaatcatgatttttgtgtcgattaaagccta +aatggtaatttaaaccattgatatttatcgagtctataaatatctttggttgtatattac +ttcacaatcaccaattctaaatgattcttccactgtgcgggtggagatatcaggacgggt +taaggttgacctacatcgttttgatacaacaaaaatcaaagcacatggctggggacttct +cgatactatctttgagatagtacgggcaagagtgggtgacgcctccctacattttcaagt +ctatcggataacttctcggtaaaacgctcgcgatatagttttaaagcattgatttaatcc +acgcaggagcaagttttaccggtcgaatgagaaaattcaacgtaagtgtcatatccagtc +atggttagccaaaagcatgggttatccaaaaggaataaaacagctcttcaacaaagagat +gaggcttcataacttcgatgaatgcgtatggttctgatatatagatcgatgcatgaggac +actttattttagccggcgaattaatggaatccatacgttacttatttggacatgacttct +aggtgtttttgctgtcccgtttagcgatatttacagattagtatttcgtttctcatagtt +aattgtatctagatactaactcgttgaagacgcataccttgccatttgtacaggacttaa +ctgttccgtgcgtaatttgaatttcttataggttcttcaaggcacgaatacctcactcat +gaccgttcatactctagttaaggtcgggaatactacgtatgcagggaattgtaacctagg +agatttacaactctttaaacaagagtcgctgaggtccaggatcaaaacactgaatctcct +aacttcgggtgcctccgtaaatcacctagaaacctactcatacatttgcaattttgagat +gtaggcgaaagagagaaatctgctttttaacggtatctcttgggattccttttaaaaaca +cataacgatagtaatgtaccaagtaaccaaaagctgggatgtgtctgtgtactgatccgc +cgtgtcagagtagtccgccatgaatattgacgtcaaggctagtgtcatcaggtattgatg +ttcattgtaaatgaaggaatgaactaatgtcaccaagtaaagggggtgaaaatgctcccc +agggttctacagacatagagatggtcagaacacgacccccctctcaacgcagtgtatttg +aaatatatggacatatctaccttattctgtaattttagatgtgttctgtgtataccgata +ttgataagtcaataggcttgattacgtatcttaagacaaatctgtttcgcaagtaggacc +gcatctttcagattgtttctttttatgccataacctgcccaggaattcaaaaggttatcg +atacccgatatgctgtgaattattattctaatggccactcattcctgcttatatctggaa +ttggcatgaatatcttacaacctaaagtctggcgttgcgccagttctacttcgtaccgga +caccatctccagtcgttaaccgaaggtgggtacgtcacataaaagttcattagaccacac +tttgtgccgacgtatatagatatattacacgtatagggaatgttttctcctaggtgaccc +gaccttctactaaggttgtacatcgtataatggcccattaactacgaggaaagtggtatt +gacctggtaatgcacgttcttcgatatataccgacgaggtaaagtctactattgcaaagt +ttgacgttatactgataagtttagatttccctggatcgcgcatgaacaatgtatgcgtta +tctgccatatataacatgttacaaatccttggggatactatcgctactatcatcggacca +aaattaaataggctagtgtcttatcagaacatcatgtttaccgaactgatctattttcca +atttaagctgatattacgtccgcgtatttattttagttccccggatgacgattatctgag +ctacatcatacaagttagcatactcgccggtgcattgatttcttatttcgctatatcttc +aagttcacaggcttcatatagttccaattagcagtataattaggttttgtaactttaacc +atactttataaaaggttatattgcacaactgatcaagcatccgctataacccgagcttta +ccagttagcggctaataacaaataagatgacttcgtgtcatacgaccgtcatgatcatgc +tctaacttaggtgggaaccaaatttaggcaatgggtagtaataagtataaaatgatacca +catatactataacaatgaaattatttgtaatccggtttgccaacgtatcccccttcgcga +taaattaatgacatagggtcatccatgtgccaatcgtgtgtgccaaaatctcaaattcaa +ttatcatcaatattggccaagtgttataagcgttgaaagtgatataggccgccaaaaagt +agtctacttaaaaaccaatatttatcgttcgttattgctggtagtacaacatcacgagca +tttctcttttgagttgatttatactatatctgctgatgtgattatgtcccacttacccag +aatattaagaaagtcctagattgtaggtatacttgactataaatataatttaagactata +caaataatctggctacattatgccatcgtagaaactgataacgtagtaacgtcggacact +agattttggtcggggagtaatctagcatactaacgaatttgttaaatccgctgaaagtat +atgtcattacctgcttggcctgtcttcaatacgtttagactattaaggactcatttcgag +atccagtattaattatacgcatccatatttatactgaagacggattgagttaggacgaca +agctaaacaaatattaagttaaggattagtattatattgtagaaactcgtcgggttggaa +cgattcatcatcatagaatgcgttacttattcagagagacttaattcggttatgactggc +agctcacctggaaagtaggtgaaaggcaacagaagaatattgttgactgaattctacggg +ctacgaacgtaattacaaagcggttcgtaaagagcataaagatcaatacaatggatctct +acagtattacgtaaataacatacataaacctggtgttgattcgactagctcatagattaa +tcattaattgaagctacgaagacgcggaagtctgcggagtgagcaaacagtaatcgactg +ataaatgcttataatatcgcgcttaaatgccgcatggtgtacattaacgtgggggtagtc +aaaggaatatatttactaggaatattagttatgcaaatgttgtgtcaatgtgatgtgttt +tatccagacattggatgcatggctgtgggggcacaggatacttaccattagttcacctac +aagcggcgtgagagggtctcagttttagccagcgcagagaagtacgggcctttagacgat +taatgctagaattgtcataaacctcgtgaaaagctagttaataatcatggtgctagaaga +acacaacttttctataaaccagttctcgactgacagtcgtaactcactatatcgccgctt +tgtactgtcgcaaaaaaacctcacatagaaagaaaaatctactgggtgcatcagtagaga +tcgtgttctgagagataaatacaccggatacgatctgcatcgagttcatgtattaggtca +agcttgggactgttgtgccagtagcattttttaacagtcaaagtagggtgagacacgtca +tatcataatatatgccatcgaggtttaaagtttatatgataagctagcatgcgttgcaat +cgtattcttgaatgctccgtggtttgtactaattcctttatagactgagtgtatcgtaca +ctcggtacaattacaaaggatggaagagcaaataggtcttcaattataacagtaccccac +cttaatctaaaaaccagcttcaattagtattaatttcgccaggagtatatatataaatat +ctaaagactaaaagactcgtacttttacaacttacgtcgtagcataattaaatcatgggt +aaatgtcatcagtaagtgcattagaaatactcctttgtaaggatacagtgaatgtgtctc +agcaagtcagtagaaatggaaattcatactcgattaaggcctataaaactgttgttggta +tctacagagtgattaaaattagtgaatcagattacgaaaatgttttcccgctcgcactta +cgcgtttagacaaaagtacaggtggtacaattggctgtagtagaattttggtataaaata +ggtgataaaccggatgggtgtgggcgaattcaaaagcggtttttgttccatagaactatg +tagttggttataaaggttgtaatctcggagattaggttagggcttaatcagaatagtaac +aatttctctatgtaaagtacagtgggtgatcgtatgagttcacgaactcttaatgccatg +cctggacaggataaacaatacgcatataacttgacgatcgagcttatatcgacctatttg +agaagtttaacgggtcgatataatatacaggtcttaatagccgattttttctagaaaagc +aatcctatatcttagttaatcagatcaaccccgtgaacgatatatcagcaaactgaacat +tgtatacaacattcctttttgtccgggtggggactccatttaaagtatctcacctagaac +tcagcggtaatagatgcagtctcttgcccagttacggtaactaaatgttgatacttagaa +ttgctaaattttagtctagacatttccaggtaaaccggtagacgacaatttctctgtcat +ctgtcataagatcgcttagtgtgctcaaattgcaattgagggccctactatagacaatca +tcagactttttaattaaatagttttccatgaatgtgttgtcaaggcggaccccttcactt +ttatcacggctcataaatgtcgtatgactgtagtcggtagcggccttcgagtcttcaggg +gaaatggaaaagaaattaggcttctaagatggactataatcgattaggctaattccgttc +gcaaatcacagaagcaatcttactcaaaattgttggaatcgatagcgaacgcgaccgtga +atgtttaaaagtgctcgcacagaattacccaatacctatcatcacgacttaaatacccaa +agcagttgtagtcgcgtaatagattaagtctgaagcctagagacaaagggatactgggcg +gggaaacctgctccttcacggtaacatggtaacaacagaatttggttaaggttaaaacga +aatatactcggagtgaattactgttaggtttcgtcatcggatcaataagtagtttccgtg +aagacactcttatattagatctccgaaattctgacccgtgcattaggcacttggtaggag +attccatttggaacttgctcaatgtaagccagtaatgttccgaaataattcgctgcagga +gcgaggagccgctgaataaaggaccctcgcatcttgttaccttatggttgagggtcaccg +ttctctgcgtcaattccagagctggagatacattcatcaacgttacctacgcacagaata +aaaagatcgagcgctaactcgttttcctaaacacaacggatttagacaaattaccgaatg +cgccggagagtagcatcttagtgtcatgcctatcatggcggctcagtacgaagagttcag +gcatcgaatattgtggtagcccgcactcaaagttccgccattaggtaagctatatattgt +ggtcagaacttgaggacaactatgagctactaaaaataaacaattttgtcatttgttcta +gatatgtggcattcatcgaacgcttgtaccagaagttacattcgcagcgtgagcgaataa +acccgaatgagcgtaacattatcaataacatatagttcagatagagaacgaggtattcga +cagagaattacccaacattggttattaatctatgcagaataatttagataatgtcactac +ataatattaggaccaaaaggtgattccccagaagacaaaacaataaacaatctcacatat +tcgctagtacctatgtatgggtatgatcttctgattggacggggataatttccaggtata +ttaaaacttattaccataatctagacctaagagaggttatataagtaaagagctgtgttc +cgatagaaaaacccgaccttaaagacttgcgaagtaaattttgctttaacaaaaaaacct +acgtaagggaatattctgtataaactgaaaagtcaggtgtaactacatgagtcatgtctt +cgattaattacaatgcgatctcgttattctgatcaactaatatcataaactgccactaca +tcttgtacaatcattcgcaacaatacttttatgtgctaaggtcacgtgcttcctctgcta +tgctgatttaatcagattcataaaggaatacgaataactctggatccattaccacgcaag +ggatttatttacggctgattactttttggctgttgacagaactgccatgaaagtaagatg +tcgcatcttgcataaataatagcacctaatatagccgacaaagtgattccgataacagat +tttaagttgtccagccttgagactccatgaagaccgcttgggagcttccccgtgattaga +agaatctaaatcccaagtggatggggggagtttaaatctcagcaccaacaaatagtactt +cctctcagagcgcgtcatggtcgaaggagcctatcctgatagaggtttgaaagcgcacgc +gcatttaactgtcatattaaattggaatctcgtaagtgtcggcagtacgacaaattttaa +ctgatgtcggtatacggagaagaaggaagcacgcattgaagcagctacgcagaactgaga +agatgacactctaagatacaattaatacaaaaacgttttaagcccaatctatcaacagat +gtaagatgtctaatacacaagaataaaaccttcatgtcccgatgtataataacagcttta +tttctgctggtcgaggtgaagtagtggaaattactccatcttgctgcgcgtctttatagt +gttggctactctgtaaccgacgcgtccatccctctctcctagtgatccgtatatccaatt +agaggataaccaacatctgcgttaccgacgaatttaaatttttcgactatttaattccgt +tcaaacccgtattcgtagtaagtgtttcatagatttatgaccgacatcgtgtacgagttg +cagtgcatatgtagataccactaattgctgatctaggatacatgctttataaacatgctt +acttggctattttatttactgtcatgtgggggtttttattttcaacaagtatgtgctacc +attggataatctggcttcaaattgaagatatgcgttccaaacttgtctactgtttgctaa +gtaggagttgtcccattagaactacgcagcacgtggtttgtgatcgaaaagaataattgg +caaatacgaggctagccttcaaatttaatgcagattactcctcagaaacacacgtaagcg +acgaacgtgatgtttactacacaatgcgtatcatagaaattcgtgataatttttgttcca +acctttgaatctagactgagtggaaaaagatttcaccgggataccgtttatgctggtttt +aaaaactcgtcgaatcatcttataactgcattcaaatggatttctcaatcatctgtacgt +caactgttttaacaataacgtcagaataaaccggcacaatgagacggcggtctttcacta +caccacacccttaggattataagtgacgtgtggattcgaattctaaggtgacgggatcta +caagcctcagctacattaggtctgaagatctttcgtatagccgcgtatgttactgtttgg +atatgggttatgctaatcaacagttgacagcgagtgaaacggccttgcgacctgaaatct +ttacggttaccttttgattcaagacaggatcgacgatggaccacgtgaaatgaattcaaa +actgtaacatcgcttgtgcctcagcgaccgagtaacgacaagttcacatcctctatgcaa +ctatcattgtggtcattaaggtattcaagattaactaagagtcgaccatatattctagag +ttttacaattaggaaccgttagtctagactaggagcgtgcaacatcgcaggaggtgtgga +ctgtcttgacccaagttgcctgacacatagtgtcttttgcttcatgtccttagcaatgcg +atacctcaatcgtagttttatcgggataaataacatggtgtttaaccctattaatggttt +ctattaatctaaattgtaaggcagcccttgggtcgaaagcacattaggccacatacacag +tatgaaattgttcgagtgtccagaccataattgactaccatggtacacggtgttgctatt +atgactcccgcaaaactcttgacagagggaattttggtacattgatgtaatcgatgattt +aacagtaggaactagacgtcatccgttagactgagttccgacatgctcaaattgtcagga +tttttatccaataactaatggctctcacatgtaaataaaatcacattaacgtcacttagt +gatggattcgctaaacagatagactatcattcatgaactggcactgtttcgattatattt +gcaacatcgaacatacttaaagttaaatacgacatcattcaattaaaaaaattcagtaca +cctctaatgagtatcccgctttggaggaaagagtagcactttaaatggacaatttaggcc +ggactttcctgtaaatggatgaagtcattgtacagcttgaataaatcgttagggttagtc +cttacatccaccatatgttaatgaataaagcctgagggaccttagagctaacttgtccaa +cacgttgctcatttacttaataaggttgaaatgtatcagtaagtgacagcgagtgtagat +tttgaccatttaactgaccttcacagttttgtcttcagacgtcacttacaccataatgat +gacagagcttgtagatgcacacactcattcctagtgtaaatcaagtagtagctagattat +tataaagagatattttctggcgtcgaacgtaacacagagagagtataaggggcatgataa +tggcttatcaatatgtgtaagaaaaagtttttaatatcatctaactcggtggaatgcaca +cttatggccaactgaccttgggacgagttaagataccataagaggttgcctgtaagttaa +gataacaaagggatattccatctttgtgtgctaagaacctatttatatttgcagccataa +aaacctctgtgctatgcagccaccagagttatttatacaaagaaagagaccatttagata +cgttaattctgcttgcgatttattaaacagacatttcacgtccaaccactacaaaagccc +tatcgcaagacgatcattgtattatagcctatgcaacgtagctaagcggccgaggaatca +taaaatatgaattgttacattgtttactacatatgatcacaatctttgtaaaaggttcgt +tcgtgatactaccatgtacctaactaacctgagatatatgcaatgacttatggggtcagc +gcgcaacatccgcaaagcatagtaatacaaggtaggaaaacttctggatttcccaaggtt +ataatgctctatactgaccaagagatccgttacgactcgcaatgaatactctaagggcac +tcacaaagaaaaccactaattgataaatttcaatgataatatcctgaattgcatcgtgta +tgagttacgagaagtcgcatttaatgaattagtcatagaaatgtcatagcaggaacataa +ttactatattttaacgatttaatcgtagttggagtcctttcccaaattatgtcatcagtt +ccgatttagatgttttcgggcccttcttagtaaagaagttaatatccaagactagctcct +cacccacgcatgcacatattcgcgagaagtctgatagaatattcgacagaaatgcgactc +tagctcacactcgttaactgatcaggtacttatagacaagtacgttatcagatatcgctt +cggggcattgttgcgctacctttgtgcatagcagttttgaaaaattgttcaagacctgaa +cgggaaaatgatattatttttttaggaggaataatacagtaccatgtaaatactcaacca +ccttacgtacttcttacgccgaacatatatggcacgtgttattcggctaacaaaactgtt +gtgccttttctataaggataagcagattcgttttaaacatatgacctgtaaactgggatc +tacaaaagaggtacttaaaataaattgcgcaacggtttagatctgcggatctttggttaa +agagcaccattagatgtgccatacttcctatcgcctgagcgagaatttagtctgaggaac +cactcttgggatttaaaacaattcggttaggacacctactcggcggatgaagcaatacga +taacattaaaagtcgttcagtctaattttggtcgtagtacgatgagctgatggccaattg +tatttttattaacagcactgaaacaaaatggagactttagactaatactaaagtctcaat +gttcgtcgaaccttaaatgctcggaatgaggggatcttcggaagtatagcgccgaagtgt +atctcattattataacaccagtgtacagacgacatctaattatggccagaaactgtcatt +gtgccattaagaggattagtagatagtctggaccgtggaatagaattttgaccaaattga +ccagtcctgcttgtagacagcgcgatctaaactgcacgagaatatacaagttggtggtgc +ttgtggctgagcacgctaagatgcgtttgtttttacgattctagtgcttcttaacgcaat +tcagtcttctagatccgctattccaacatcaatatctcaatttaaggtcaatatatataa +caaaattagacagagcagctgacacttacgaagcatcgtagaaccgatatagtcgacctt +atgatgatatggacgtgtccaagtccgcacttccgatgcatcttgacggtgaaccgaaat +gaaatcttcattagggcccccatgtgtcaaaccactcgagtcccgtctctgaagtcaagt +attactgcgaaaaattcgtctactattagtttattatgaacttatgacgcttaaataaat +taaacagtaagcctgggaaaatgttaaggcaggaatctttgtaacagttcataatgttgc +taaagattatcagaccccgtgaagacttcgggctttgggcttcgtaccgtagcataatac +atctatatagttagaggcttgcgtgttgttgtgctattccacatatagcagctctgggcg +actcttcaatgaaaatgaaaaatggtaacctggcgacctacttgttaagtcagtttaatt +caaggggattaagtaccaagggtcgagtttctctgtatttattatactgtaggcaagaag +cttttttggcgagatttaagacttaagcctatggtaaaaatttgatagtgagcgactata +gtaagagatttgggtggttagtaattaaaattctcctatgctaaatcaggcgtacaatct +gagggtgcacatttctcgacgcgtgaaccttcaccgaaagcgtgtggattatacaaattt +caaacatattggcggggcacttatccataatagatttctgtttgtacgccaaactctgcc +tcacccctccataaattgtattggctagaggttaaattctccgtaaatagagacacatat +agttttatacaattgtttgaatcaaagcacgagaaacttttaaccgtacattgacaaatg +tcttcggatggggcagagcatctcttcgtgacccaaatcaatcgctgagcaataagcaag +aaaacacagattatacaaagagatctggatgaagatattcgtgcaatcactatcgttatg +ttagagagttccatgcatgaggactcgttttttgaccaggagaattaagccaagaaataa +ctgacgtatttccaaatgaattctacgtgtttttcctgtcacctttagccagtgttaaag +atgactatggagtttcgaataggttattctatagacattataacgagtggaacacccata +ccttcacagtgctaaaggtaggaacgggtacgtcaggtagttcaagggattttaggttct +taatccaacgaagaaataacgcatcacccgtcattctattgttttcgtcgggattactta +gtaggcagggtattctaacctacctgagttacaaatctttaaaaaactggccatgaggtc +atggtgataaaatctgaatcgcctaaattcgcgtccctaaggaaatatactagaatccgt +ctcagaaagtgcaaaggttgacttcttcccctaacacagaattctcagttttatagctat +ctagtggcattcctttttataaaactttacgtttgtaagggtccaactttacaaaagctc +ggatgtgtatgtgtaatcttccgccgtgtaagacttggaacccatgtatattgacggcat +ggcgtggctaagcaggtattgatcttcagtgtaaagcaaggtatgttctaatctaacaat +gtaaagccggggattagccgccaaaggggtctaatgacatagagatgctctgaaatcgta +ccaactataaaagcacgggatttgaaatatagcgacagatcttccgtattctgttagttg +acatctgtgctgtctttaccgattgtgatttggctttagcagtcatttagtttcgttact +cattgctcgtgcgatagttccaccgaatatggcacattcgttctttttttccattttact +gcaaaccttttcaaaagctgatcgataccactgatgatggcattgattagtcgattggca +actatgtcctgcttatatctccaattgcattgaatatagtaaaaaataaaggctcgcctt +cccaatgggctacggagtacacgaaaaaatcgcaactcgtttaaccaagcgccgtaccta +acatataagtgattgagacaaatagttctccagacgtattgagatatatgtctcctatag +gcaagcgtttctaattgctgaccagaaattagaattaggttgttaatactatattcgacc +attttattccacgaatgtgctattctactggtattgctccgtatgcgatatataaccaac +acggaaagtcgtcgattgcaaagtggctccgtagaatcatttctggtcatttaccgggag +cgcgcttgaacaatggatgcggtatctgccatattgttattgttaaaaagacttccgctt +actatcgcttcgatcatcggaaaaatattaatgaggattgggtcgtataagaaaatcatc +ttttcagttcgcagatttttgccaatttaaccggttatttcgtcagacttggtagtgtag +ttacaagcatcacgattatatcagctacagaattaaactgtcctgactcgacggggcagt +gtgtgagtattgcgctatatattcaaggtaacaggaggcatataggtcatagtacaagga +taatgaggtttgctaactttaaaaattattgatttaacggttgattgaaaatctctgcaa +gatgacgctagaacacctgatgttcaagtttgccgataataacatataagatgaattact +gtctttagaccctcatgttaatccgctaacttagggcggaaacaatgttaggctatgcgg +agtaagtactatattatgataccacatagaatttaacattcatatgatgtctaatacccg +ttcccaaccttgcaaccgtcccgattaattaagcaattacggtcatcaatgggccaatcc +tgtctcaaaaattatcatattcaaggttcagctattttggcaatgggtgagtaccgttct +tagtgatttacgaacccataatctaggcgacttaatatacaagatttagagttacgtttt +ccgggtagtacatattaacgaccatggatcgggtgaggtgttgtattagttatctgatct +tgtcagtagctcccaatgtcccagaatattatgtttctactagagtgttcgtatactgga +atttaaatattatgtaagactagacaaattttatggatacattaggccatcgtagaatat +gatatagttgtaacgtccctctatagattttcggagggcaggtatattgcttaataaaga +tgttcggaaatcagcggaaaggatttgtaattaactgatgcgcagcgcttaaataagttt +agactattaagctatatgttcgacagcatgtagttttttttaccagaaagtgttatactg +atgacccatggaggtagctcctcatgataaaaatattgttacttaagcattactattata +gtgttcaaactagtaccgttgcatactttaagaatcagacatggcgtttcttatgcagac +acacttttttagctgttgacgcccacctcacatccatagtaggtcaatcgcataagaaca +atattctggactgttttattacccagaagaaagttttttctttccggttcgttaagacaa +taaagatcatttcattcgttctcttaacgatgaactaaagtacttaaagtatccgcctct +tgtttcgactagcgcatagtgtaataattaaggcaagataagaagaacaggaacgcgcac +gtcggagataactctaatagtctctttattccgtttaatatagcccgtaattgcaccatg +cgctacagtaacggccgccttcgcaaacctatttatgtaattccaagtttaggtatgcaa +tggttggggcaatgtgaggggttttatcaagactttcgttgcttcgcggggggcgcaaag +cagactttacagtagttaaccgaaaaccgcagggagtcgctctaagtgttaccaacccct +cactactacgcgaaggtactcgattattccttgaatgggctgaaacatcgtgattagcgt +cttatgattcaggctgatagaagaaaacttattttctatattccacgtatacaatcacac +tcgtaactaaatagttcccagcgttgtaatgtcgctataataaataaaatacaaagaaaa +ttcgtctgggtgcataagtacagttagtcgtctgtcacataaataatccgcagtcgatct +cattacaggtattgttgttggtcaaccttcgcaaggtggtccaagtagcattgttgaaca +gtaaaactaccgtcacacaaggaatatcataatagatgccatacacggttttacttgata +tgtttacagtccttgagttgcaatcgtagtattgtttcatccggggtgtgtacgaagtaa +tttagacaaggtgtgtagcggtcactaggtaaaatgacttaggatggatgagcatttagg +tattctatgataacactaaccatcatgtttctaaaatcctcaggaaatttgtattatttt +accaacctgtatttatagaaagtgcttttgacttaaagaagccgaagtgttcaaattaag +gagtacctgattgaaagaatggggaattgtaatctgtaactcaattacaaataagccgtt +ctaaggattaaggctttgtgtctaagcaactcacgtgaattcgaaattcatactcgatta +acgactttaatactcttctgcgtatctacagactcatttaaattacggaatatgttttcg +tttttggtttccagctcgcacgtacgcgtttacaaataaggacacctggtacaattggct +ggagtacaatgttggtttttatttgctgattatcccgatccctgtgggcgttggcataac +cgggttttcttcaagactactttcgtgttgcttatatacctggtaatatcggtgagtagc +ttagggcttaatcacaatactaacaagttctctatggattggacagggcggcatccgttg +actgaacgatctattaatccattccctgcactggataaacaagacccatttaaattgacc +atagagatgttagcgtcatatttctgttcgtgatagggtacatatattataaacggatta +tgagcagtggttttctagaaaagcattcatagttaggagtgtatcagatcataccactga +accatagagcacaattctctactggctatacttcattcctttttgtccgggtggggacga +aatttaaaggttctaacctagaacgcagagcgaattgatcaaggcgctggccaagtgaac +ggttctaaatgttcttaatgagaattgcgtattttgactattgacagggcatcgtaaacc +gctactcgacttggtatctgtaatctgtatgtagatagagtacgggcctataattcaaat +tcagccaccgaagattcacaatcttcagacgtttgaaggaaagaggtttactggtatgtg +gtgtcaagccccacccattctctgttatatccgagcattaatgtagtttcactgtactac +ggtcacgccgtagagtcggcagggcaaatccaaaacaatttaggctgagaagtggcacta +taatagtttagcctaagtcccttcgctaataactcaacaaagatgacgcaaaagtcggcg +aatagattgcgttcgcgtaagggtatcttgaatactgatagctctcatggtaccaagaac +tttcataacctctttatttaccaaacctgttctactagcgttagtgttttagtctgtagc +cgacacaaaaaccgagaatggccggcgtaaccggcgcctgcaagctaacatgggatcaaa +actattggcttaacgtttaatcgaatgagactagcactgtattactctttcgtttcggca +gcggatcaataaggaggtgacggcatcactctcttatagtagatatcacttattctcaca +acggaagtaggatcttccgtcctcattaaatttgcaactggctcaatgtaacactgtaat +gttaacaaagtatgagctgaaggtcagagcagacgatgtagtaaggtccctcgaagctgc +ttacagtatccttgaggctcaacgggctatgcggaaattccagacctcgagttacattat +gaaacgtgtcattccatctcattaaatagttcgtgccctatcgccttgtaatataaacaa +ccgtttttgtctattttcccaaggagaaggagagtagcagcttagtggcttgcctatatg +gccccctaagtacgtactcggcacgcttagaagattgggctaccccgcactatatgttcc +caaagtaggtaacctagatagtgtcgtatgaaattcaggtcatcgatgagagtataaaaa +tatacaattttggcaggggttatacattgcgggcatgaagagtaacattggacatgaacg +gacattcgaaccctgtgagtttaataccctatctccggatcattataaagtaaatatacg +tcacttactctacgtgcgtttagacagtctttgaaactaaattggttatttttctttcat +ctagatttgtctgtatctaactaaattatagttccacataaagctgattcaactgaagac +ataaatataaactttctaacatagtagcgaggaaagagctatgcctagcatcggatcatg +cgtccgcgagtagttcctggtagagttaaaagtttttccagaatctagaccgaacacagg +gtagtgaacgaaagtgcgcggtgaacatacataataccgaacgtaaacaattccgttcgt +attgttgctgtatctatatttcctacgtaaggctatttgatctataatatgaaaagtcac +gtcgaaataaatcaggaagcgcttcgagtatgtacattcagatctccttagtatcatcaa +attatagattttacggccacgaattattggtctagatgtcccaaaaataatttgatgtca +gtagcgatcgtgcttcctcggagttgaggttggaagaagagtcattatgctataccaaga +actctccatccagtacctagaaaggcaggtatgtaccgctcattaattttgcgatcttga +cagatctgcatgcaaagtaacttgtaccagatggcttttataatagaaactaagtttccc +gaataacggtgtacgataacagatttttaggtgtacagacgtctgactcaatgaacacac +attgggacctgccccgggaggagtagtagataattaccttctccagcgcgggtcttttaa +tatcacaacataaaaatactaattaatatcacacaccctcatcctcgatggagcctagca +tcatacacgtttgatagacaacgccaattttactgtaatatgatattcgaatctagtatg +tggacgctgtaccacattgtttaaaggagctccctttaccgacatgaacgaagcaagctt +tgtacaagatacgaagaactcagtactggtaactataagagacaatttatacataaaagt +gttaagaccattatataaaaagaggtatgaggtctttgtaactacaataatacattcatc +gaacgatggagaataacagagttatttctgctgctcgagctctagttctgctaatttctc +aatcttgatgccactcgtttgagtcttccattcgctcttaacgacgcgtacatccctctc +tcctactcttacctatatcctattactggttaacctacatctccgggaaagacgtaggta +aagtggtccacgattgtattcacttataacacctagtagtactatgtgttgctgagagtg +aggacacacttactctacgagttcaagtccatatggacattacactttttcagcatctag +gtgtcatgatgtattaacagccgttaggggctatttgattttatcgattgtcggcgtgtg +tattttcaacaactaggtgctacaattcgtgaataggcatgaaaattcaagattgcagtt +cctatcttgtataatctttcctttggacgagttgtaccatttcaactaacctgcaagtgg +ggggtcatccatatgaagatttgccaaatacctggagaccctgaaaagtttatccagatt +aataataacaaacaaacctaagcgaagaacgtcagctttaataaactatcactatcatag +aaattcctgttaattgttcttccaaacgttgaatagactatcacgggtaatagattgaac +acggagaacgtttatccggcttgtaaaatatcgtcgaatctgctgataactcaattatat +tcgatggagaattcatatctaccgcttagcttttaaaaattaagtcagattattccgcca +caatgagaaggcgcgagtgcactaatcaaatcacttaggattattacggacgtctgcatt +acaatgctttggggtagggttatacaagcatatgattctttaggtctcttgatcgggcgt +ttaccaccgtagcttaatgttggcatatccgtgatcctaatattctgttgtcagcgtgtg +tataggaatgcacaacgcaaatctttaagctgacctgttcatgaaagacaggagacacga +ggcaccacctcaattctatgcaaaactctaacatagcgtggcactatgagtacgtgtaac +gacaaggtctcatactcgatcctaagataattctcgtctggaaggttttaatctttaact +aagagtagaacttagtttattgacttttacaattaggatacggttcgcgactctaccaca +gggcatcatacctggagctctgctatctcgtgaccaaagtggcagcacacatagggtcgg +gtcctgcatctactgagcaatccctttaagcattcctagtttgagagccatttagatatt +gctgtttaaaccgattaatggtttctattattataaagtgtaacgctcccattcgggaca +ttgaaaattagcaataagacaatgtatgatattcggcgagtctcaacaacattatggtct +accatgggacaaggggttgatatgatgaatccacaaaaaatagtcaaacacccatggttc +gttaagtgagggtatccaggtgttataaggacgatctagaagtattcaggtacacggtgt +tcagacatgctctaattgtcaggttgtttataatttaacgtatcgctctctattctaaat +aatataaaattaaccgctcgtagggatgctttccagtaaaagatacactatcattaaggt +tatgcaaatgtggcgatttgatttgaatcttagtacattcttaaacttaaatacgtatta +tttaaagtaaatatattatctaaaccgcttttgtctatccacatttcgtcgaatcacgac +ctcgttaatgcgacaatttacgaccctctttcatctaaagcgatcatctatttcttctga +ttgatgtaatactgacccttactccgtacatacaaatgatggtaagcaagaatgactgac +gctcctgtcacctttcgtggcaatcaactggcgctggtactgaagtagcttgaaagggat +atggatgtgtatgccaggcttcattttgacaatttttctgtcctgctcagtgttgtctga +agtcgtatcgtacacaataatgatgactctcattgtagatccaatcacgctttcctacgc +taatgaaagttctagatagtgtaggtgttagacagaggttagcgcctacatccttacaca +cacagtgttgaacggcaagcataatcgagtatcaatagctgtatgtatttgtttggaata +tcatatttctcccgcctttgaacaatgatgccaaaatgtcctgccctagagttatgataa +aataactgctgccctgtaacttaagtttacaaaccgatattcaatcgttgtgtcctatga +aaatatttatatttgcaccaagaaaatcatctgtgcgatgaacaaaacacagtgatttat +aaatacaaagagtacatttagttaccggattgcggcttgacatttattttacagaatttt +atcggcaaaacacttcatatgaactatcgcttcacgataagtctatgatagactagcatt +cgtagagaacaggaagagcaatcattatatatgaagtgttacagtgggtactacatatga +gatcattaggtctatatccggccttcctcataagaccttggaaatatcttacatcagaga +tatcaaaggaagtatgggcgaacccagaaaaagccccaaagaatagtaattcatcggacg +taatagtctggttttaactaggggttattgatatttaagctaaaagagttccctgaacac +tcgaaatgtataatctatcccaactaaaaaagtatacctctaattcagaaatgtcattga +gattagactgatgtcaatacgctaggaggtaagacaagtagaagtttttgatttaggaat +tgaaatgtaatacctccatcttaagttctatattttaaagttttatgcggacttcgagta +agtgcacaaatgatggcataagtgcccagttacatgtttgcggccccgtatgagtaatga +tctgtttatcaatctctagctactatcccacgaatgcactgatgccagtcatggcgctta +cattagtcgacagaaatccgacgatacctatcacgcgtgaactgttctggttcttattca +attcgaagtgatctcagatacattacggccatgcttgcccttcatgtctgctgagcagtt +ttgttataggctgaatctcctctaagcgaaattgataggatttttggtggtcgatttagt +ctgtacctgcttattaagattcaaaatgacctacttcttacgccgaaatgatagggatcg +gctgaggaggataaatatacgctggtgcctggtatttatccagaacaagttgcctgtgta +tcagatgaactctaatctccgagataaaaaacaggtacgtaaaataaaggccgcaaaggg +ttacatctcaggatcgtggcgtatagtccaccattagttctgacttacttaatatagact +gaccgagattgtagtatgtggatccaagcttgccatgtaaaacatgtcggttagcaaaac +gtataggagcatgatcaaagaagagttaattaatagtactgcactataattgtcggcgga +gtaccatgagctgttgcccaattcgatgtttattaacagcacgcataaaaaatccagact +tttcaattagaattaactataaatggtccgcgaaccttaaatgatcggaaggacgggatc +tgccgttgtatagaccccaactctatctaatttttataacacctctgtaatcaacaaatc +ttattatgccatcattatgtcattcgccaagtaagtccagttcgagattctctggaccgt +gcaatagtattgtcaaattatggtaatggaatccttcttctaacacccttagaaaagcca +cgagaattgacaagttgggcgtgcttgtccaggagcaacataagtgccgtttctttttac +gatgatagggattcttaaagcttttctctattctagatcccagttgccatcatcaatatc +tcaattgatgctcattatatagttcttatttagtatgtccagatgtcactgaagatcctg +cctagaaccgatattctcgacaggatcatcagttcgacggggcaaacgcacctatgcaca +tccatcttgaccgtgaaacgaaaggaaagagtcagtaccgacccaatgtggaaaaaaact +cctgtccacgatatgtaggcaagttttactgcctttaattagtagtcgattagtgtagtt +tgatattatctaccttatagaatgtaaacagtaacccggccttaatggtttggcaggatt +ctttgtaaaagttaataatgttcataaactttatcagaaaacctgaagtagtccgccttt +cgcctgcgtaacgttgcagattaattcgttttacggagtggcttgcgtcttgttgtccga +gtacacatattgctcctctcccccactcttctaggaaaatcaattatgctaacctgcaga +ccttcttctttactatctttaatgcatgcccagtatgttcatagggtagacttgctatct +attttgtataatctacgaatgatgcttggggcgcgacttttaacaattaagccgttgggt +ataatttgagagggtgccacgatagtaagagatttccggcgtgagtaaggaaaatgataa +taggattaagcaggcgtaatagctcaccctcctcagttctccaaccctgaaccggctaag +tatgactgtgcagtattaattttgaatacatattgcagcccctaggatacattatagatg +tctctttcttacccaaactcgcccgcaccaagaaagaatgtggattcgattgaggttaaa +ttagccggaattacagacacagattcttgtttacaattgtgggaagaaaaccacctcaaa +cgttgaaacctacattcacaaatggattacgttggggatgagaatcgattccggtcaaaa +atcatgcccggagcaataaccaagaattcacagaggattaatacacttctccatgaagat +aggactgcttgcactatccttatctttgtgtcttccttcaagcaccaatcgtttggggac +aaccacaattatgccaagaaataacggaaggtgttccaaatctatgagtccgcggtttca +tcgcaacgtttcactgtgggtatcatgactttggactttagatttgggtattctagagac +tgtagaaagactgcaacaacaagacattcacagggcgaaacctaggaaaggggaccgcac +gttgtgctagggatgtttccttaggaatccatacatgtaagaaagaatcaaccgtaatta +tagtgttttcggccccttgaattacgtgcatgcctttgctaaaagacctctgggaaatag +attgaatattctggacagcagcgaatcctgattatatctcaagcgaatatatgacccgca +agaaggatttatactagaataagtctaagaaagggcattgggtcacttcttccactaaca +cacttttatcagttttataccttgagagtcccatgcatttttatatatatttaactttcg +ttgcgtaaaactttaaatatgatccgtgctctatctctaatctgaacaacggtatcacgt +cgaacaaatctagtggctacgaatcgcgtcgctaagaacggtttcttctgctggcgttag +ctacgtatcttctatgctaaaaatgtatagccccgcattagcagcaaaaccgggagaatc +aaatacacatccgatgaaatcgtaacaaagataaaacaacgcgatttctatgtttgccaa +agtgattaagttgtatcgtaggggtcagcgctgatgtcttttcagtttgggttttggatt +taccagtcttttagtttcggtactatttgatcgggacattcgtccaaacatgatggctca +ttcgttctttttttcaattttaatcaaaaccttgtatttacctgatacattaaactgagc +atcgcatggaggtggagattcccatatatgtaatcatttgatatcctattccattctttt +tagttataaataaacgctccactgcacaatgggagtaggacttcaccaataattagcatc +tactgtaaacaagcgccgtaacgaaatgattactgattgagaaaaataggtctcaacaac +ttttgacagatatgtatccgatacccaagcgttgctaattgcgcaaaagtaagtagaatt +acggtcgtattacttgttgccaaatggttattactccaatgggctattctaatccgatgg +atacgtaggagagagtgtacctacaccgaaactcgtagtgggcttagtggctacgtagaa +gctgttcgggtcagttacagcgtgcgaccttgtaaaatcgatcacggtgatgaattattg +ttattgtttaaaagaagtcccctgaatagcccttagataatacgaaaatttgttatgtcc +agtcgctcgtatatcaaaagattcggttaagttcgcagagttttgccaagtttacaggtg +atttactaacacttgggagggtacgtacaaccatcacctggttagcagagaatgaattat +acggtcatgtcgcgaagggcaagtgtgtgagtattgaccgagttattaaacgtaaatgca +ggcatttacgtcataggacatcgagtttgtcctttgcgaaatgttaaatttatggttttt +tccgttgagtgataatagctgcaacatgaagatagtaaaactgaggttaaactttcacca +tattaaattatatgttcaattacgcgatgtacaaactaatgttaatcagatttaggagcg +cgcttaatatgggtccctatcccgactttgtacgagattttgataaaaaatagtattgta +aattcatttgatggcgtagaaccgggcaaaaccttgaaaaaggacacatttaggatgcta +tttccctaagaaagcggaaaatcctggctcaatatttataatagtaatggttaagattgt +ggcccaatcgctgagtacccgtcttacgctttttccaacacataatcgacgagaatgtat +ttaaatgtttgagacttacgttttccgcgtacttattattaaagtcattggagagggtgt +cgtctgggtgtagttttctcatctgctcaggagctaaaaatgtaaatctattggttgttt +ctaattctgtcgtccgtgtaggctatttaatttttatggtacacttgaatatgtttagcc +ataatgtagccaatactacaatatcagatacttgtatacgacctatagacttttgccgac +cgctcgtagagtgatttagaaagatgttcggatagcacagcaatcgtttgcgaatgtaag +catgcgaagcgagtatttaactgttgactattttgctatatgttactctgaatgttgttt +tttttaccagaatgtgttataatgatcaaccatgcacgttcctactaatcatataaattt +tgttacgtaagcttttctatgatagtggtctaaagactacccttgcatactttaagatta +agacatgcactttaggaggaactcacacgttttgagctgttctagcccacctataagcca +ttcgtccgcaatcccataactacaatagtcggcaatcttttattacccagaactaacgtt +tttatttcccggtacgtatcacattaatcttaatttaatgcgtgagagtaacgatgaacg +aaagttatttatgtttaagccgcttcttgagaatacagattactgttagaatgaaggcat +cataactagaacaccaacgcgcacctcgcacattactctaatagtagctttattcagttt +aatatagacagtatttgaaccaggcgctaatgttaaggcccccttcgaaaaccttgttat +gttattccatgtggtcggaggatttgcggggcgatagcgctgggcggggatcaacaattt +cgttcatgcgagcgcccccataaccagtaggtacagttcggaaaagaaaaccccacgcac +tcgctagaagtgttacaatcacatcacttcgtaccgaagggactactgtattccgtcttg +gggatgtaacagactgattacagtcttatgatgaagcctcattcatctaaaattagttga +tttattccacggatactatcacactcctatagaaagagttaccaccgtgggaagctagat +ataataaataaaagacatacaatattagtatggctcatgatctacacttactcggatctc +tctttttttataaccagtagatcgcattacacgtattgttgttccgcatcaggccctagg +ggctcaaacttccatggtggataactaaaacgtccgtcactaaacgaagatattaataga +tgaaatacacgggtttacttgatttctgttcagtcattcacgggaaatcctaggagtctt +tcataacggcggtcttagtaggaatgtagtcaagctctgtagaggtctcgacggaattgg +tatttcctggcatcacaatttacctagtattggagatcacttaaaataatgttgagataa +taatcaggatatttctagtatgtgacaaacctctatttagtgattgtgattttcaattaa +acaagacgtaggggtcaaattaacgactacatgttggaaagaaggccgaattgtaatatc +taactcatgtactaagaagaagtgctttcgtttaaggctttctgtctaacattctaacgt +caattcctatgtaatactactgtaaccaagttattactcggctgcgtagataaagtctca +tgtaaatgacggtttatctgttacttttgggtttcaacctagctaggacgccggtactaa +ttacgacacctgcgtatagtgcagggtgttcaatgtgcctttttatgtccggattataac +catccctctcccacttggaatatcaccgggttcttaatgacttagttcgtcttccttatt +ttccgggtaagatcgctgtggaccggacccattttgatctagtctaaaaaggtatatagc +gtttcgtctggcccgcttacgttcactgaaacttagattaatcaatgcactgcactggat +taacaagaacatgttatagtgtactgacacatgttagactaagaggtctgttcgggttag +ccgacttatatgtttaaccgattttgacaactgggttgagagataacaatgaagagtgag +gactgtagaagatcttaaaactgtaccatagtgctcaattcgctaatggcttgaattatt +taattgttctaaccctggcgtcgaatttttttggttcgaaaatacttagcacagcgtatt +gttcaacgagatgcacaactgtaccgttagaaagcggcttaatgacaaggcagtattgtg +actattgacagggaatcctaaaaagctactcgaattggtatatggaagaggtatgtactg +agaggtcgcgcctattagtcaaattctgccaaagaagagtcaaaagcttaactagtttga +tggtatgaggtttaatgctaggtggtctataccaccaaaaagtatatgggatatcccaga +atttatcgactttcaatcgtctaccgtcacgacgtacactaggcagccctaatccaaaac +ttttgaggatgagtactgccactattatactgtaccatttgtaacttacattttatatct +tcaaagaggtagatattgtcggccattactgtcacttacactaagggtagcttgattact +gatacctctcatggtaaaaagtaatttaagaacctatttttttacataacctctgctact +accgttagtgttttagtcggttcaagtcacaaaatccctgtagcgcacccctataagcag +aaggaaaccttaatgcggataaaaacttttgccggaaccgttaatcctatgagaatacca +ctcttggaatcggtcctttaggctgaggatatagaacgaggggaacgcatcaatctaggt +taggtgagagaactttgtatcaaaacgcaagtaccatatgccgtcctcagtaaattgcca +aatgcagaaatcttacactcttttcttaactaagtatgagagcaacctcactcctgaaca +gcttgttacctaacgagaagaggctttaagtagcctggagcctcaaccggatatccggat +ttgactctcatccacttacatgatgattacggtcattacatctcatgattttctgagtgc +cctatagactgggaatttaatctaccctgtttctatttgttaacaaggagaaccactggt +caagatgacgcgcttccatttatgccaccataagtaagttctcggaacccttacatgatt +ggcctaccaacctatatatgtgaccaatgtacggtacatagagtgtggcctatcatattc +aggtcatcgagctcagtatttaaagattatatggtcgctgggggtattcagtgcgcgatg +gaagactaacattggaaatcaacggaattgacaacacgctcactttaataacctatctca +ggataagtttaatgtaattagacggaactttctctaactccgtgtactaactctttgaaa +ataatgtgggtatttttatttcatctagatttgtctgtatcgaaagaaagtattggtcca +aataatcctcagtaaaatcaagtcataaatataaaatttagatcttaggacagaggaaag +tgctttcccgagcataggatctggcctacgccagtagttcatgcttgtgttaaaagttgt +tactgtttatagtccgtactcagggtagtgttcgatactcagcggggaactgacatatta +cactaaggaatcaaggcccttcgtatgggtcatgtttatatatttaattacttacgctat +ttgatcgagaatagctatagtaacgtcgtaagaatgcaggatgcgattcgagtttgtaaa +ttcacagatactgtgtatcatattattatagatgttaaggcatagaattattggtattga +tgtacaaaaaattatgggtgggcagtaccgataggcattacgagcagtgcagcttggaag +aactggatgtatcctataactagtaagagccttaaaggtactacatacccagggatgtta +ccatcattaatttggccatcttcaatcttcgcaatgcatactttcttctacaagatgcct +tttagaagacaaaataagtgtcaacaataacgctgtaacttaactctgttgtacgtggaa +tcaagtctcactaaagcaactaacattccgacatgcaaacgcaggactactagattatta +aattcgccagcccgcctcgtttaatataacatcataaaaattctaagtaatatctcacac +actaatccgccatcgtccatagcatcagtcacctgtcttacacaaacacatgtttaatcg +atgttgttatgccaagctagtttcgcgaccatgtaactaattgtggaaagctgctacctt +gaacgacatcaaccatcctacctttgtacaacagaccaacatctctgtactggtaaatag +atctgaaaagttataaatataactgttttcacattgatagaaaaacagctatgtgctatt +tgtatatactataataaattaagcgaaacatggagattaaaacagtgttttctcatcctc +cacctcttgttctgctaatttataattcttgatgccactcgtgtgagtcgtccattcgat +cgtaaagaacccgacataaatagatacgacgctgaacgagatcctatttctcctgaaaat +tattagcacggtaactcctagggatagtggtactagttggtatgaacgtataaaaacttg +tactactttctcgggatgtgagggagcaaactattactcgaccagtgcaacgcattatcg +acagtaaaagttttcagctgatacctgtctggatggattatatgcaggtaggcgagagtg +gattgtagcgatgctcggcgggggtattttaaaaatctaggtgataaaagtcctgtttag +ccaggaaaagtcatcattgcactgcatatcgtcgattagctgtcatttcgtccactggta +ccagttcaacgtacatcaaagtccgggcgcatccatatcaagttttgcaatagtactcca +gaccatgaaatggttatccagattaataataacttaatatactttcactacatactcagc +gggtattaaatttcactttatgtcaaaggactcttatgtggtcttcaaaaaggtctagag +tctatcacgcctaattgtgtgaaaaccgagtaacttgatcagccttgtaaaatatagtag +aatatgatgttaaatcatttatattccagggagattgaatagcttacgattagctggtat +aatttaactcacatgattaagcaaatatctgtaggaccgagggaaagaataaaataaagt +accatgagttcggaacgctgcattacatggcgttgggctagcctgatacaagaagatgag +tatggagctctcttcatcgggacgtgacaaccctagcgtaatcttggcagatcccggagc +agatgattatcgtctaacactgtctttaccaatgcacaacgcatagatttaacctgaact +gttctggattcactcctgactacagcctacaactcatttctatgcataactcttaaagac +agtcgcaatatcagtacctctatacacatcggatcagactagatcataagataagtctcc +tctggatccttgtattctgttaagtacactacaaatttgtttagtgtctgggacaattac +gataagggtcgcgactagaccacagggcatatgacctccaccgctcctagcgagtctcca +atctgcaagcactcatacgctaggggcatgaatcgactgtcaatgcactgtaagatttac +gagggtgagacccatttagatatgcctcgtttaaccgttttaggcttgataggatgagtt +tgtcgatccatcaaattcccgacattcatattgtccaataagtatatctagcttattcgg +actcgctaaactaaattatggtataaatgccgtcaaccggtgcatttgttcaatcaacaa +attatagtcaatctcccatggggccttatggcagcgtatacagctggtataacgaccata +tacaactatgaacggactagctgtgaactaagcagattattggatccttgtgtataattt +taagtttcgatctatatgctatagtatagaaaatgttccgatcgtacgcttcctttacag +ttaaacagtctatatcatgaagcttatccaaagctggacatttgatggcaatcttactta +attatgaaacttaattacctattattgaaagtatttatatgatcgaataagatttgctct +ataaacaggtcgtccattcacgacctagtgattgcgtaaattgaccaacctaggtaatct +aaagcctgcatctatttcttatcattcatgttatactgacccgttctcagtacttaaaaa +tgatcgtaagcaagaatcactcacgctcatgtcacatttagtcgaaataaactgccgatg +ggaaggaagttccgtcattgcgatatcgatgtctatcccacgcgtcattttcaaattggt +tatctacggataactgtgcgatgaactactataggtcaaaattatcttcaatctcattct +agatcatataaagatgtccttcgcgattgatacgtctacagtgtgttggtgttacacaga +gggtagcgactacttacttactaactctctcttgatccgcaagcataagccaggttaaag +tgctctatctttttctgtggattataatagttataccgccttgcatctaggtgcccatta +ggtaatgccctagtgttttcataaatttactcctgccatctaacgttactttaatttccc +agattcaataggtctctcatttgaaaattgttatatgtcaacaaagaatataatagctga +gtggaacaatacactgtgagggagtaatacatactctaaattttctttacggtttgcgcc +tgcacagttttttttatctatgtgatccgcataaaaagtaatttcaacgttccattcaag +ttaagtcttggtgacactagcattaggagagatcaccaagaccattatttatttagctag +ggtttaagtcggttagaaatatcagataatgaggtctttatccggccttacgcagtagaa +attggaaatttcgtaaagcactgagttcaatggaagtatggccgaacccacataatgcac +aaatcaagtcgatttcttccgtccttttagtctcctgggaactacgggttattcatagtt +aagctaaatcagttaacggaactagacaaatgtataatagttcccaaatatatatctata +aatcttatgcagttagggaatgcagatttgaatcatggcaatacgctagctcggaactca +actacaagtgttggatgtacgaattcaaaggtattacatccttatgatgttcttttttgg +atacttttatgacgacttccacgaagtgaaattatgttcgaatatctgaacagttacttg +gttgagcccaaggatgacgaatgttctgtttataattctcgtcataatataaatacaagc +atatgaggccagtcatggagctttcatttggactaacatttccgtagagtcatatcacgc +ctgtaatctgatccgtctttttctattcgaagtgttatcagatacatgacgcccttgcgt +gacattcatggctcctgacatcgggtcttttaggctgaatctaatctaacccaatttgtt +tggattgtgggtcctccattttgtctgttaatgcttattaagattaaaaatgtactacgt +atttagacctaatgattgcgatacgctgtggaccattaatataagctgcgccaggggatt +tttccagatcatctggcctgtgtatatgttcaaatctaatagccgagagaaattactccg +acggaaaataaaggcagataagcgtttcagagcaccatcgtggcgtttagtcaaccttta +gttcggaatttattaatatacaatctcactctttggacgagctccttaaaagatgccctt +gtatatcatgtcccgtacctaaaagtataccagcatcatcaaagaacagttaaggaatac +gactgctctataattgtccgaggagtaccttctcatctgccaatagtcgttgggttggaa +aacaacgcattaatatgccacacttgtcaattagaagtttctataaaggggacgagtaac +tgatttgagacctagcacggcagaggacgttcgtgtgacaacatctctttataagtttga +gataaaatcgctaatctacaatgattatttgccaatcattatcgaatgcgcaaagtatct +cctgttcgtgattctagcctaaggccattactatggtcaaattatgctaatcgaagcagt +cttctaacacccttagaaaagcaaacactattgaatactgccgccgcattcgccagcacc +aacataactgcacgtgcttttttccatgattggcattatgaaagatttgatctatgattc +ttaccagttgcaatattcaatttagcatgtgttcctaattattgtgttattatggtctat +ctcatcatgtaaatgaagatcatgacgtcaacacagattctagtcaggatcatcagttcc +tcggggaaatcgcacctaggaacagccttatgcaaccgctaaacaaagcaatgaggatgt +accgacaaaagctcgatttaaaagcctcgaaacgagatgtacgaatcgtttactgccttt +tatgaggagtcgagtactgttggttcatatttgctacatgattgtatgtaataacgatcc +cgccctttatcggttcgatcctttatggcgataagttatgaatcgtcagtatctttagat +caaaaactcaactagtacccagttccccggaggaacggtcatgattaatgcgttttacgg +tctcccgtccctcttcttgtcagaggaatcagtttcatccgatcccactcgatgattggt +atagctatttgccgaaaagccacaacgtattcggtactatcttgtttgattcccctgtat +cttaattcgcgacacttgatatcttttgtgtttaatcgacgaatcatcctgggggcgaca +cttgttacaattatccagttgcgtttaatggctgtgggtcacaagattgttagacaggtc +ccgcgtgtcgtaggaaattgataattggagtttgcaggacgaatagctcacccgcctaag +tgatccaaccctcatcaggataactatcactgggcagtattatttttgatttcatatgcc +accccctaggagactgtagtcatgtatctttcttacccaatctagcccgaaacaagaaag +aatgtcgattccagtcaccttttattagaccgatttacacacaaagtgtcttggtttaaa +ggctggcatgaatacatactcaaaagttgaaaacgacttgctctattcgattaccttcgc +gatctcaatcgattacgctaaattttaatgcccgctgaaatatccaacatttaaaacagg +attaattctctgatccatgaacttaggactcattgcacgtgacttatctttctctcttaa +ttcatgctccaatacggtgggctaaaccacttttatcacatgaatgtacgcaacgtgtta +ataagctatgagtacgcgggggcagcgaaacgggtcaatctgggtatcttctattgggac +ggtacatttcggttttatagactatgtagttacacggcatcaacatgtaattaaaacggc +gtaacctaggaaagccgaacgcaccttgggattgccatgtgtccggaggattacatacat +ctaagaaacattctaaactatgtatagtcgtttacgacccttgtagtacgtgcatccctt +ggcgaaaagtactctgggtattagagtgtatattatcgacagcaccgaatcctcatttta +tagcttgacaatttatgacccgaaagaaccttttataagtctataagtatatctaacgca +attgcggcactgagtccactaactatctttgagcagtgttatacagtgagacgccatgga +aggggtttatatattttactgtcgttccctaaaaagttaattatcagacctgcgcgatct +cgtagatgaacaacgcgatctagtcgaaaaatgcttgtggctaccattccagtcgagatc +aaccgtttctgcggatcgcgttacattccttgcttatttgcgataaatcgatacaacccc +attaccagaaaaacccggagaatcaattactctgcagatcttatactaaaaaagagatta +caacccctgttctatgtgtcccaaagtgagtaacgtggagcgttggggtaagagcggagc +gattttaactttcgcttttccattttccagtattgtactttacgttatatttgagcggca +cattcgtcaaaacatgatccatatggactgaggtgtttaaatgttaatcaaataattgta +ttttcagctgactttaaaatctgcagccattggaggtggagattccaatagatgtaagca +ggtgatatcatatgcaattcttgtgacttattaagataccagacacggcacaatcgcagt +agcacgtaaacaataatgacaatcgacggttaaattccgaacgtaagatatgtttacgga +tgcactaaaataggtagcaacaacgtttctctgagatgtataagttaccaaacactggag +aattccgctaaactaaggacaatttccgtcgtattaattgttgacaaatggttagtaata +cattcgcagtggataatccgttgcatacctagcactgagtgtaaataaaaccaatcgact +actggcatttcgggctaacgactagatgttagcctatgtgaaagcctcacacatgcttat +tgccttcacggtgagcaatgtttcttattcgttattagaagtcacctgtagagacagtag +agatgacctaaatttggtttgtccagtcccgaggtgatctaatgattaggttaacttaga +acagtggtcaattggttaaagctgatttacgaacacttccgaggggtcgtaaaacattaa +actggtgagaacagtatgatgtattcggtcatctagacaaccccatcgctgggagtttgg +acagtgttatgattcgtaaatccaccatgtgtccgaattcgaaatcctgttgctccgggg +agatagggttaatttaggcttttttacggtgtggcatattagctcaaacatcaacattct +taaaatcagcgtaaacggtcaccagttgatatttgttctgctaggaagcgatgtacaaaa +taagcttaataagatttaggtccgaccttaatttcggtccatagcacctctttctaagtg +ttttgcttaaataattgtattgttattgattttctgcgagttgaacacggaaaataagtc +aaaaaggacacttttaggttcatatgtaccgatgaatgcgcaatagaatcgagaaatttt +tagattagtaatcgtgatgattgtggccaaatcccgcactaaacggctttcgctgtttcc +aaaaaattttagtccactaggtatttaaatgttggacactgaacgtggaagccgtcgtat +tatgaaactaatggcagaggggctcctctgcgtgtactttgagcagatgctatcgtcaga +aaaaggtaaatcttttggttctttataattctggcgtccgtgtagcctagtgaatgtgtt +tggttcaagtgaatttgtttagccagaatggaccaattacgtcattagctgttacgtcta +tacgaaatatagactgtggacgacccatcgtagagtcatgtagttacatgtgaccttaga +acaccaatcgtgtgcgattgtaagcaggacaacacagtattgtactggtcaattggttca +tagatctgactatgaatcttcgtttttgtacaacaatctcggtgaagcttcaaaaagcct +ccttcctaataatcagttaatttttcgtaaggttcctgttcgaggttagtcgtataaaga +cgaaacggccttaatgtaacattaactattccactgtaggtggatctaacaaggttggac +atgtgctaccaataagataagaatttcgtccgcaatacaatatctacttttgtagcctat +cttggattaacaacaacttacgttggtatttcaccggacgtatcaaatgattctgatttt +aatgactgagagtaaacatcaacgaatcttatgtatctttaagccgctgcttgacaagtc +acattactgttagaatgaacgcttcattactacaaaacctaccaccaactcccacattaa +tattatactagatgtttgaagtttatttgacaaaggttttcaaaaagcacagaatcgtta +cgaacacgtacattaaattgttagggtattaattgtggtcggtgcatttccggccccata +gcgctccgcggggagaaactatggccttcatgacagcccccccataacatctaggtaatg +gtcggataactataaacaaccctctccagagaactgtgaaaataaaatctcttagtacac +aagcgtatactggtttaagtcttgcccatcttaaagactcttttcactattttcttgatg +cctcattcttctaatattaggtgattttttaatccgagaatataaaaagacgatagaaag +tgttaaaacacggcgtagcgacatattttaaagaaatgaaatactttttgactatccctc +atgatctaaacttacgcggagctatctttttgtataacatgtacagagaattaatccgat +gcttcttccgattaaggacatagcgccgaaaacgtcatggcggcttatcgatatcgtaac +gcactataccaagtgattaagtgatcaatgaatacgggtttcgggatttctgttaagtca +tgcacggcaaatacttggagtcttgaataacgccgcgcgtagtacgaaggttctcaagct +cgcgtgacgtatagaccgtattgctatttcctgccttctcaattgtccgaggattgctga +taacttaaaataaggttgagtttttaataacgatttgtcgagtttgggaaaatcctcgtt +tgtgtgtttgtcattttcaagttatcaagaactacgggtataatttacgacgtaatgttg +gtttgatgcccgattgcgaatatcgtacgaatggtatttgtacaactgctttcctttatc +gattgctcgagaacattataaagtctattactatggattaagactgtatacaagtgttta +agcggagcccgtgataatctataaggttttggtacctttatctgttacttttgccttgaa +acatacatacgtacacgggaatatttacctaaacgccgtatagtccagcctcgtatttgg +gccgtgttttgtcagcattttaaactgaaagcgcccacttgcattataacccggtgcgga +atctcttagtgactcgtcaggagtttacgcctttgagacctctcgacaggacccattttg +atctagtcgttataggtagagtgcctttcctatcgcaccattaccttctagcaaacttag +agtattcaatgaaatcatatcctgtttatactaaatgttataggctaatgacacagctga +cactaagaggtctcttcgggttacccgaatgagttgtttatacgatgttgacaactcggg +ggagtcatttcaatgaagactgaggactcttgatcagattaaaacgcttaatgactgata +atttagattatgccgtgtattatttaagtgggcgaaccctcccctagaatgggtttcctg +agaaaagtcttagaacacagtattctgaatccagatgcaaatcgctaacgttagtaagcg +gctgtagctcttggcagtttggtcaatagtcaatcgcaatccgtttaaccgtctactatt +cctagagcgaagagctatgttctgacacgtccccaatattaggcaaaggctccaaaagaa +cagtcaattgattaactacgggcttggtttctccgtgaatccttgcgccgctataccaca +taaaaggatagcggtgataccacaagtttgcgacgttaaagcgtcgaccctcaacaagta +cactagcaaccccttagcaattaattttgtccatcactactgccaagagttgactggacc +agttggaaatgacatttgatatattaatagagctacatattgtaccactttactgtcact +tacactaaccctagcgtgattactcatacatatattcgtaaattctaagttatgatacta +gttttgtaaatttaatcggcgaagacacgttctcttgtacgagcttcaactaaatatttc +actgtagccaaccactttaaccagaaggataccttaatgccgatataatattgtccagga +aacgttaatactttcacaagacaaagcttggaagaggtactttacgatcacctgatagat +cgaccggaacgattctatataggtttggtctgagaaatttgtagctaaaaccatgttcca +taggaactcctctgtaatgggcaaaatgcagatagcgttcaatcgttgcttaactatcta +tcacagcatcctaactcctcaacagcttctttcctaaagacatcagcaggtaagttgacg +gcacccgataacccagagcacgattggaatctaatactctgtatggatcattacgctaag +taaatataatgattttctgactcaaagttacactgcgaattttatattaactggttctat +ttgttaaataccacaacctctcgtcaacaggtcgcgatgcaagtgatccaaaaatatcta +acttataccaaccattacttctggcgcagaaaaacatagatatctgaacaatcgaccgtt +aagactgtctcgccgatcttaggaacctaatactgctcagtagttattgtttatttgggc +catccccggattatgtcagccatggaacactaaaagtcctaatctaacctatggacaaaa +agctcacttttataaaattgctcaccttatgttgattgttatttgtccgaaatgtctata +actcagtgtactatctattggaaaattatggccggagttttattgaatatacttttgtat +gttgagaaagaatgttgtcgtaataattatcagctggaaaatcatctaatatatattata +ttgagatattacgacagacctaagtgctttcccgtcatgagcagatggactaacactctt +ggtaatccttctcgttttagttggtaatgtttagtctaagtaatatcccgactcttactt +actcagagcggaaatgactttttaaactaacgtttaaaggcacttagtatgcgtcagggt +tatttttttaattacgtacccttgtgcagagagtttagctattcgatcctacttagtatg +aaccatgagagtacaggttggtaattcacagagaaggtcgagaagattatttttgatgtt +taccaatactatgaggcgtattcatcgaaataattttatggctgcgcacttcacatacgc +aggaagaccactgcagcttgctagatctggatgtatcattgtacttctaagagcctgaaa +ggtaatacattcccagcgagcgtaacagattgtatggggacatattcaatcttagcaatg +cattcgttcttcgaaatcaggcatttttgatgtcataagttctgtcaactataaccctgg +aactttaatctgttgttcgtcgaatcaaggatcaagaaagcttctaaaaggcccaaagca +aaacccaccactacttcagttttaaattagaatcacaccctagggtattagataataatt +aaatgtcttaggaagagatatcaaaagatgcagacatcctcaagtgaataagtctccggt +ctttcacaaacacatggttaagcgatgtggttttgactagagacgttcgccaccatcgta +atatttctggttacctgcgaacgtgaaccaaatcttacttcatacattgcttaaacagta +caacttatctcttatcctatagagatctcaaaagtttgtatttttactggtttcaaattg +agagaaaaactgcgttctccgatttctatattattgtttaaatgatgccaaacatccagt +ttaaaacacggtgtgatcagccgactcagattcgtatcctatgttagaatgagtcatcaa +actacggtcacgcgtacattacagagtaaactacacgaatgaaagagataagaagatgaa +agagttaataggtctcctgttaattatgagaaccctaactactacggattggcctactag +tgggttggaacggatataaaattcgactaagttcgcggcatgtcaggctcctaaatatga +agagaactcggcatcgaattatccacagtaatagttggaacatgattcctctatgcatgg +tgtatatccacgtacgccagtgtgcagtgtagccatgcgaccacgggcgttgtgaatatt +cttcctcagaaaaggactgttgagcaaggaattggattctgtgaacggaatatagtcgag +tagatggaatttcctacactgcgaaaaggtcatagtaaatcaaacgccgcgcgcagacat +atcttcttggcaattagtactccactaaatcaattggttataaacttttagaatatcttt +atataagttcactacttacgctgcgggtagtatatttaaagtgatgtcttaggaatctta +tggcggcggaataaacggcttgactatagataccctaattctggcataaccctgtaacgt +gtgaagcatgctttaatagacgactagatcagcttatagaatggatatgactgccacatt +gaagagattaacattagcgggtataatgttacgaacttgtttaacaaaatagctctacca +cacacgcatagtataatataaaggtcctggagttcgctacgagcctggaattgcagttcc +cctaccctgagtaaacaagatcagtatggacctatcttctgacccacgtgtaaaaactac +cgttagcggccctgagaacggtgaagttgattatcggctaacactcgctttaccaaggaa +caaacaattgatggaacaggtaagcggctggattctatcctgaatacagcataataatat +ttgctttcaatatatagttatgacactcccaatatcactaactctttacaaatcggatat +gaagagtgaattagagatggagccgatcgttccttgtattctggtaagtactcgactaat +gtgtgtagtctaggggtaaaggtccttaaccgtcgagtctagaactcacgcattatgaaa +tcctccgagcatagagactctaaattcgccaagcaataagtcccgacgcgaaggatgaga +agctcattgaactgtaacatttacgtcgggctcaccatgttacatatgcagcgggtaaaa +gtttttgcctggagtggttgagtttcgcgatacataaaaggccccactttcatatggtca +aatatctatatcgtgctttggacgactcgataaactaaagtagcctagtaatgccctaaa +ccgctgcatttgtgcaataaaaaatttagagtatatataacttccggacgtatggctgcc +ttgaatcctcggatatcgtccttatacaacgatgaacggtatagctcggaactatgcaga +ttaggcgatccttgggttgaatttttagtttccatagatatgagttagttttgatatggt +taccatacgtccctgcattgaaacttaatctgtatattgattgatccttagcaatagcgg +cacatttctgggcaatatgacttaattaggttacggtttttactatgatggatacgtttt +atatgatagaataacagttgctatttaaacaggtactacattcaactaatactgtttcac +tattgtgtccaacatagggaatatattgcctgaatagatgtattatcaggcatcttttac +gctccaggtagaactaattaaaaatgatccttagaaactttcaagcaacataagctaaaa +gttacgccaattataagccacatcggtaggatcttcaggcattcccatatccttctctat +caatcccgtctgttgctaattggttatctaagcatatcgcggcgagcatctacgataggt +ataaagttgctgctatctaattcgtcataatatatacatggaattacagattcatacgtc +ttcagtctcgtggtgtttctaagagcggacccaagaattacgtaatatctctctcgtgtt +acccaagaagttgacacgtgattgtcagctatctttttctggcgatgttaatagttataa +acaattgcatatagctgcaaattagctaatcaaatactcgtttcttaaatgttatcagca +aagctttaggttctgtaatttcactgtgtaaagagggcgctaagttcaaaattggttttt +ggcaacaaacaatttaatagcgcagtgcaaaaataatatctcagggtgtaattatttctc +taattggtctttacggttggaccaggcaatgggttttttatctatgtgataccaattaaa +agtaatttcaaagtgacattaaacttaagtattgctgtcaagaccattacgacacttcac +caacacatttatgtattgtgctacgcggtatggcccgtagtaatttctgatattgaccgc +gttatcagcaagtacgctgtacaaatgccaaatttagtaaagctctgtgtgcattccaag +gtgcccacatcacacattatcaacatatcatgtcgttgtattacgtccttttactagcct +gggaaataccggtgattcagagtgaacataaatctctgaaagctactagacaaagctagt +atagttaaaatatatatttcttttaatattaggatctttgcgattgcacatttcaagcat +cgcattaacctacctccgtactcttctacaacggttgcatgtacgatttctatgcgatga +aatacttatgttcttagtttggggttactttgttcacctagtcctcgaacgcaaattagc +ttcgaatatctgaaaagtgtatgcgggcaccaaaacgatctcgattcttaggtttataat +tatagtcagaagataaatacatgcatatctggacactcttccacatgtcatgtcgactaa +ctttgaactacagtcatatatagactgttatctgatccgtatgtgtctattactactctt +atctgagaaaggacccaatggagtcacagtaagcgatcatgtcatcggggctttttccct +gattataagattacactattgctgtgcttggggcctcctactttttctatcttaatcatt +ttgtacattaaaaagctaagaagtaggtacaacttatctttcccatacgagctggaccat +taatttaacagccgcaaggcgagttttaatgttaatctggaagggctttatgttctaagc +ttttagcactgagaaattaatccgtaggaaattaatcccacataacccggtaagagaacc +ttacgccccgttactaataatgttctgcgcaatgtaggaagtgacaagctcactcttgcg +acgagctccttaatacaggccctgcgttatattcgaccgtacctataactagaccaccat +cttaaatgtacagttatggttttcgacgcatagagtatgggaccacctcgaaatgctcag +ctgcaaattgtactgggggtggttatcaaacatttaatatgaatctatggtaaagtacta +gtttatagatagccgaacactaaaggtttgcagaccttcctcccctgaggaacttcgtgt +cacaaattagattgagaaggtggtgataaaatcgcgtatctacaatgatttggtgcaaat +atttatcgattgcccaatcgttctactcgtactctttatagcctaacgccttttcttggc +gctaattagcctaatccaagaaggagtctaacaaaattacttaaccatactcttgtctat +tcggcccacgcatgcgcaagctcaaaaagttctcaacgggcgtttttacttgagtcccag +gaggtaacattggatctatgagtcttaacagtggaaatatgatttttagattgtgttcag +atttattgtcttattttggtctatctcatcagctatagctacataatgacgtcttaactg +tttcgactaaccttcagatctgactaccccaaatacaacatagcaaaagaatgatgctaa +cgcttaactatcctttcacgatcttaacaaaaaagctccatttaaaagaatcgaaaacag +atctaccattcgtggaatcaatttttggacgagtactggtcgggtcgtgcttatttgcta +caggattgtttcgtataacgttcaagcactttagcggttccatccttgatggcgttaact +gatgatgcgtaagtttatggtgatctaaaactctactacgaaccaggtcccagcacgaaa +cgtcatctttaatgagtttttaggtctccaggcactaggctgcgaagtggaatatgtgtc +atcagagacaaatagatgattcctatagctttttgcagttaagccactaagtaggcggtt +ctatagggtttcattcaaatcgatcgtaattcccgactctgcatagcgtgggtcttgtat +agaccattcttcaggcccgccacaatggtttcaagtttcaacttccgtttattggctgtc +cctcaatagagtcgttctcagggcacgactctcgttcgttattcataagtccagtttgat +ccacgaatacagaacacgcatatctgataataaaagcttaacgataactttcacgcgcat +ggtttatttttgatttattaggcaaccaaataccagaatgtagtcagcgatatgtagtaa +aatttagacaaacataaaacaaagtatcgccattacagtctcctgttaggagaacctttt +tatcaatatgtgtaggcgtgtattggcgcccttgatttaataataattacggctaaacgt +attgatattttccaggaactgccccatctcatgagatgaccctaaattttattcacacct +catttttaattcttttatatcacgattatttatctgagcaagcatctttgcaagcattca +tagtgacggtgctgtctctatgaatgcatgctaatatacggtgcgctaaacatattggtt +caattcaatgtaagctacctcggaatttgcttgcactaagacggggaagccaaaacggta +aatcgccgtatatgctagtgccaagggacttgtccgttggagtcactatggagttacaag +cattataaatctaaggaaatcgcagtatcagtccttaccccaaagatacttcgcattccc +tggggtacggaccatgaaatacttctttcatacatgataaacgatggagactcggttacc +accctggtagttactccatcaattggagttaactaagatcgctattacaggctttattag +ccaatcatcacaagcctctttttagagattcacaagttagcaaaccaaagttcctttgat +aagtctttaacgagatctatcccaattccggctaggagtaaaatttatatatttgagatc +ggggttaaagtcacacgcaatgcaaggggtttttatatggtaatgtccttccctaattag +gtaattttcagacctccgagagagagtagatcaacaacgcgttatactcctaaaatgctt +gtcgataacatgacactacagatcatccctggatgagcatcgactttcattacttgatta +gttcagttaattcgtttcaaaccattttcaacaaaatcccccagtagatatgtatatgca +catcttagactaaataacagttttcataccctgggatttgtgtcactatctcaggaacgt +cgagacgtcccctatcaccgcagcgagggtaactggccctgttccattgtaatcgatggg +acgggacgttatattgcagacccaaagtagtaataaattcagccatatggacggaggggg +ggaattgttaagaatataattcgattttcagctgaatgtaaaagctccagccattcctcc +tccacttgacattagttcgaagaaggtctgagaattggaattgcttgtgacgttttttgt +ttccagacaaggaaatagcccagtaccaagtataatattatgacaatagaagcttaaatt +cacaacgtaacatatctgttagcatgctctaatagaccgagaaaataagtgtctatgtgt +gcgagaactgtcaattcacggcagtagtcacctaatctaacgtctagttcccgactatga +agtcttcacaaatggttagtaataatttcccagtggagtagaagtggcataacgtgcact +ctctgttaataatacctttagactactcccatttcgccagaacgtcttgatggtacccta +tgggaaacactcacacatgcttattgcctgcaacctcagcaatgtgtcgtatgcggtatt +tctacgaacagctagtgaaaggactgatgacctaattttggtttctcaagtccagacgtg +atattttgatgaccgtatctgacatctctgggcaattcggttaacctctggtacgaaata +gtccgtcgcgtaggtaaaaatgataatgctgtcatcactatcatgttttagctaagctac +actaccccatcgctcgcacgtggcaaagtgtgaggattccgatatcatccatgtgtacga +attcctaatactcttgctcagggcacttagggttattgtagcctgtgttaccgtctcgca +tattagatcattaatcaacagtcttataatcaccgtaatcggtaaacagttgttatttgt +tctgataggtagacagctaataaagatgctgttgaacagttacgtcccacctttattgcc +ctacagtgaaactagttcttactctgttgctgtaatatgtctagggttattgatttgctg +ccacttcaaaacggaaattaagtcattaacgaaaatggttccttcataggtaaagatcaa +tccccaattgaagccagaaattttgagatgtcgattcctgatcattcgccaaatttacag +ctcgtaaacgagttccatgtgtaaaaaaatgttgagtccactagcttgtttattctggct +caaggtacgtggaacacgtagtattttgatactaatgccagacccgctacgatccctgta +ctgtgagcagagccgatcctcagaaatagctaaatcttgtgcttcgttagaagtctcgac +tacgtgtagcctagtgtttgtgttgcgttatagtctatttgtggacacagtatggtcaaa +tgacgtcttttgatctgacggcgttaacaaagatactctgggcaacacacatacttctct +catgttgtttcttcggacctttcataacctttcctggcacatggttagctgcacatcaca +ggattgtaagggtctagtggttcagtgagcggaatatcattcgtcggtggtgttaatcta +tctcggtgtagcttataaatgcatccgtaagaatattatgtttatttgtcggtacgttca +tggtagtggtgtcgccgatttagacgtaaaggcatgtatggatcttgatctatgcaaagg +taggtccatctatatacgttgcacagcggatacaaataagataagaatttactaacattt +aaattttcttattgtcgagcatagattggaggaaaaacttatttacttggtatttaaacg +gaagtttctaatgtttatgattggatgcacggacagtttactgcttactttcttaggttt +cttgaacaacaggatgcactagtaacatgtctcgttcatgcttccattaagttcttctta +aacttacacaaactacctaatttagagttgacgagatggttgaacgtgttgtgacaaacg +tttgcaaaatgcacagtatcgttaccaaaaagtacatttaagtgtgtgcgtaggaattct +gctacgtccattgcaggccacattcacatcccacccctgaatatatggactgaatcacac +acaccaaatttcatctaccttatcgtagcataactattaacaaacatatacagacttcgc +ggtaaataaaatatattagtacacaaccgtatactggttgaactattgcccagctttaag +acgcttttaactaggtgcttgatcaagaagtattattatatgacggcagtgtgtaatacc +tgaatagatatagacgttagattgtctgaaaacacgccgtagagacatttttgttagata +tgtatttctttttgacgagccagcatcttagtatctgaagacgagctatatgtttgtaga +aaatcgactgacattgtatacgaggcggcgtaagattaaccaaattccccagaattagta +atggcgccttatcgatttactaacgatatataacttgtgatgttgtctgcaatgtatacc +cgtgtaggctgtgctcttatcgaaggaaacgcattgaagtccaggctggatgaaaccacc +gcgtacttccatgcgtctatacatagcgtcaccgatactacgttttgctatgtaatccat +tctaatgggtaagaggattcctcttatagtaaaatatgcttgactttttaagaaccattg +ggagtggttggcaaaataatagtgggtgtctttctcagtgtatagttttctacaactacc +cctattaggttacaagtaatctggctttcttgccacttggcgatgatagttagattcgta +tttctacaacgcagttactgtatccatggcgcgagataattagatacgatttgaatttgg +atgtagactcgttactactgttgtagaccagcacgtgagtatctagatgggtttgctacc +ttgttagcggacttttgccgggaaaaagacatacgtacaaccgtatattttactataagc +agtattggccaccctcgtattgcggcagggtgtgctcacctggttaaaatgaaagagaaa +aattccattttaaaacccggaggaatctattactgacgaggaaggtgtttaacccgttga +gacatctcctaacgtaaaaggttcatattctagttattccgagagtcactttcctatcca +aacatgaactgatagcataatgacaggttgaatggaaagcatatcctgtttattctaaat +ctgtttcgctaatcaatatgctgtcacgaactcggagcttacccttacaactatgtgttc +tgtttaccaggtgctaatatcccggcactcttttcatgcatgtcgctcctagcgtcatct +gatttaatagcttaatgtctcatattttacagtagccagtgtagtatggaaggcggcgaa +ccagcccctacattgggtttcctgacataagtattacatatcacttgtctgattacacag +caaaatcgctaaccttactttgcgcatgtagctattggaactttgggctagtgtctatcc +cattaagtttaacagtagactagtccgtgagcgatcaccgagcttatgtctcgtacccaa +gttttggatttggatcaaaaactactcgatattcatgatctacgggcttcctttctccgg +gtatcattgcgccgagattaaaaataaaacgatagcgctgtgaaaacatgtttgacacgg +gatagcgtagaaactaaacaacgaatagaccatccaatttgaattttattgggtccagca +cttcgccatagtgttgaatggtaaagttcgaaaggaaatttgttatattaattctgctac +attttcgaccacttgtatctcaaggacaatatcccttgaggcttttagcagaaagagatg +ccgtaattctaagggatgataataggttgggaaatttaagagcagtagtaacggtcgcgg +gttcgaccttaaactatatatttaaatctagccaaacaagttaacaacaaccataaagtt +atgaccttattatattggcaagcttaacgttttaattgctctagtaatagagtggtagag +gtaagggaccatcacctgattcttcctccgcaaccattatatagacgtgtcgtctgacaa +atttcgagataaaacattcgtccttagcaacgaatatcgaatggcaattagccacattga +gttaaatagttgaggatatttcttgcacagaatcagatctaatctaatgattcgttacta +aacacttcaccaggtatcgtgaaggctcaagattacccagagaacctttgcaatataaga +atatgtatgcagcattaccctaagtaattatattctttttctgactcaaagtgacaagcc +ctagtgtatattaaatcggtatatttgggaaattcctcaaactatcctaatcaggtagcc +atgaaagtgatcaaaaaagttcgtacttataccatacatgaattctggccaagtaaaaaa +tagattgcgcaaaattcgtaccttaagtctctcgccaagatattaggatcctattactca +tatcgtgtttttctttattgccgccatccccggagtatctcacccatccttctcttaaag +gcctaatattacctatgcaaataaacatatattgttgaaaattgagaacctgatcgtgat +tcttatgtgtaccatatgtatagtaatcacgcgactatatagtgctttagtatcgcccgt +gggtgagtgaatattctgggctagcgtgagatagtttcttgtcctaatatttttcagatc +gaatagcttctatttttgtgtttattgacatatgtcgaaactccttactcagtgaaagtc +atgaccagatccacgaacaatcttcggaatcagtctcgttttacggcggaatcttgagtc +taacttatatcccgtcgcttactttctaacaccccttatgtatttttaaaattacgttta +ttcgaacgtacttggcggaagcgttattttttgaagtaagttacattgggcagactcttg +acattttcgatacgactttctttcatccatcacaggactcgttcgtattgatatcagaag +ctcgtgatgattagttgtcttctttaccaatactttgaggcctattctgcgaaatttttg +ttgccctgcgaacttcacataccaaggaacacctcgcaacatgccttcatatccatcgtt +cattgtaattcttacacaatgaatcctaagtaattacatccctgcgtaaaagatggtagg +ggcactgaggatatattaccaagcatttagttatgagtaatcagcaatgtttcttgtatt +aagttctctaaaatagttacatcgtaatgttatctcgggttccgcgaataaacgagatag +attcattatatatggccctaagcaaaaacctcctcgtattctgttggtaattagaatcac +acaatacgggttgagatattaattatttgtagtacgaagagatataaaaagatgaacaat +tactcaagtcaagatgtatacgggatttataataaaaatcgggtagagatctgctttgca +attcagacgtgccactaaatcgtaatatgtcgcgttacatcagaaagggtaactattatt +aattaataaagggcttaatcactacatattagatcttatccgatagtcttatctattcgt +tgtatttttaagcggttctaattcagtcattatatcagtgctccgagttctttattattg +ttttaaggatgacaaaatgcctcttgttataacgctgggagaagcagactaagagtcgga +gcagttggtagaatgaggctgcaaaagacggtctcgacgaatggacagactttactaaac +caatgaaagacagaagtagagcaaagtctgaagtggtatcagcttaattatgacaaccct +taatacttccctttcgccgaatactggcgtggaaaggttttaaaagtcgaagtagttaga +ggcatctctcgctcataaataggtagactactcgcaatccaatgtgactatgtaatactg +ggaacatcagtccgcgatgcagcgtgtttatcaaccgtccccactcgcctggggagacat +gagaccacccccgtggggattattagtccgcagtaatcgactcttgacaatccttttcga +ttatgtcatagcaatttacgacagttcagcgaagtgactactcggcgaaatggtattact +aaagcattcgaacccacatgaatgtgattcttggcaatttctaatccactaaagcttttc +cgttgaatctggttgtagatatttatataagttcactaattaagatcacggtagtatatt +gatagtgatgtctttgcaagaggttggccgaggaatttacggattctctattgatacaat +ttgtctggcttataactcttaaggctgaaccaggcgtttttagacgacttgatcagctgt +tagaatggtttggactccctctttcatgtcagtaacatttcagccgttattgttacgata +tgcttgaacaatattgatctaccacacacccatagtatattttataggtcatgctgttac +ctacgagcatggtattccacttcccattcaatgagtattcaacatcactagcctcagaga +tgatgacccacctctaataacgtcacgttgcggccatgtgaaacctgaacttgagtagac +gatatcaagcgctttaaattgcatataacatttgagggtaaagctaagcggatgctttat +ataatcaatactcaataataagatttgattgcattttagagttatgacacgacatagttc +actaacgagttactattcccagatctagactgaagtactgatcgagacgatccttacgtc +gatgatcgttagttatcgacttaggtcgggtctctagcggtattggtacttaaccggaca +ctatactaataacccatgatcaaagcataacagaatacagacgataatttcgccaacata +tatgtacagaccccaagcatgagaagctcattgaaagctatcattgaagtcccgctcaca +atgtgtcttttccagacggtttaactggttcccgggagtcctggagtttcgacttacata +aatggaaacaatgtattttgctaatttatctatagcgtcatttggaccaatacagaatat +tatgttgcctagtaatccactataacccgcaagtgctgatagaaaatttttagacgattt +ataaatgccccaagtatccctcccgtgaatcctccgttatactaattagtattcgttcat +acgtataccgcgcatatatgaacatttggcgataaggcgcgtgaattgttacgtgacaga +gatagcagtttcttgtgatatggttaacagacgtacatgaagggaaactttatatctata +gtgatgcttccgtagaaataccgccactggtctgccaatgatgaagtatgtagctttagg +tttgtactatgaggctttcgtttgtttgcagagtataacagttgcgagtgaaaaaccgac +gaatttatactaatacgctttcactattggctacaaaatagggaagagtttcaatcatga +gagggagtatatggatgctttgtagctaaaggtagaacgtatgtatatgctgccgttcat +tcttgaaagatacataagcgataagttacgacaattataagcaacatccctaccttcgta +acgatttcactgttactgcgcttgaaatacactatggggctattggcggagagaagcaga +tcgcgccgagcatatacgagacctataatgttgatgatagagaaggcgtctgaattgata +catcgaagtacactttctttcgtagtatctctcgtcctctttctatctccggacacaaga +attaagttatatatatagagtcttaccaatcatgttgaatcctgattctcagagttcttt +ggcgggccttgtgatgactgagaaacaatgcaatattgctccaaatttcctaagcaaatt +ctcggttatgttatgttatcagcaaagcgttacgttatgttatttaaatctggaatgacg +gagcgaagttcttatgtcggtgtgggaataattcttttgaagacagcactccttaaataa +tatcgctccgtgtttgtatttatcgaatgggtctgtaaccttgcacaagcaaatcggtgg +tgtatatatcggataacaattaatacgatgttcatagtgacagtatactgatcgagtcct +ctaaagtcaattacctcacttaacaatctcattgatgttgtgtcattcccggtatcgccc +gtagtatgtgctctgattgaccgagtgtgaaccaaggaacatctactaatgcctttgtta +ggtaagatctctctgaattccttcgtgccaacttaaaacattatcaaaatttcttctact +tggattaactacttttacgagcatggcaaattcccctgtggaagacggttcattattatc +ggaaaccttatagaaattgcgtgttgactgaaattagatttttattgtaagagttgcatc +tttgcgattcctctggtctagcttccaatgaacagtcctcccttctattcgacatcgggt +ccttcgtacatgtctttgcgatgtaataattaggttcggagtgtggccttaatgggtgca +actaggaatacaacgcaaatttgctgacatgatagcaaatcggtatgccggcaccaaaac +gtgctccttgcttagcttgtgaatgagactcagtagttaaataaatccatatctgcaatc +gattccacaggtattgtccactatctttgaactactctaagagatacaagcttagctgag +accgaggtgtatatgactacgctgatatctgtaaggtaccaatgcaggcaaagtatgcga +gaagctaataccggctgtttccagctttataagattaaaatttggctgtcctggcggcct +cagaattgttctatcgtaatcagttggttcattaattagctaagtacgaggtacaactta +tctgtcccagaacagctccacaagtttttttacagccgaaacccctgtgtgaatcttaat +atccaagcgcgttatctgattagagtttacaactcagtattttatcagtacgttttgttt +ccaacattacccggtatgacaaaatgacgccacgtgtcgaataatggtctgaccaatgta +ggaagtgaaaagataaatattgcctacacatactgaattcaggcaatgcgttttattcga +aaggtcatataactagaaaacatgatgaattcttatcggatccttttactagcatagtgt +tggcgaacacctcgtaatgctcagcggcaaattggactgcgggtccttatcatacatttt +ttttcaatataggcgattggtctaggttagtgattccccaacacttaaggtttgctgaca +ttcataccctcagcaacttcctctcaaaaattagagtgagttggtggtcttataagaccg +ttgattatttgaggtggtcaaatgatggtgcgatgcacaaatcgttataatcgtactctg +tagacaataacccattgtagtgccgattttgtgcataatacaagaaggaggatataaaaa +tgacttttcaataatattggctattagcaacaagaaggagaatcctcattaagttagcaa +ccgcagggggtactgcagtccaaggaggtttcattggagagagcagtatgaaaacggcaa +ttatgattgtgagattcgctgaagattgtgtctctgattttcctagatagaataagctat +agctacttaatcaactcttaactgtggagactatcctgatgatctgaataccccatttac +aaaattccatatcaatgaggctaacgcttaaatttcatttctccatcgtaacaaaaatca +gcctttttatacaagacaaaacactgcttccattacgggtagcaatggttgctcgactac +tggtagcgtcgtgatgtggtgataaagctgtcttgcgtttatacttaaacaaattttgac +ctgacataatggagcgacttatcggatgttgccgatctttagggtcatctattaagctta +tacgaaaaagggacaagcacgttacgtaatctggtaggactgggtacctagaaacgcaag +aggaggcgaactccaatatctgtaagaacagaaaaatacaggagtccttttcatttttca +agttaacaatataagtaggagcttagagaggcttgcatgaaaatcgttaggaattacaga +ataggcagagagtggggcgtgtagactacattcttcaggccccacaatatgggttatagg +ttaaactgcactttttgcgatctcccgaaatactgtcgttctctgcgaaccacgctcgtt +ccttttgctgtagtccacgttcatccaactattcagataaacaagatcgcagaattaaag +cttaaccatatcttgatagcccatcgtgtatggggcatgtatgtgcaaacaaaagacctc +aatcttgtctgcgagagggaggaaaatttagacaaacataattcattctttcgactggac +acgctaaggtttggacaaactttgtatctatatctggaggcctgtattccagcccttctt +ttaataagatttacggcttaaactatggatatttgccaggaaatgacactgctattgaca +ggaacataattttgattcaaacctcattgttaattattttatatctcctgtttttatatc +agaatgcttctgtcctagaaggcatactcaaggtgagggctcgaggaatgaatcataata +gaccggcccctattaatattggttcaattctttcttacataacgcggaatttgattgcac +gaacaccgggaacacataaccgtatagcgcccgttatgctagtgcctagcgactgggacc +gtggagtctatatcgtctttctaccattattaatctaaggatataccactttaagtcctt +tcaactaacataaggcgcattccatgcgctaaggaccttgaatttattatttcttacatg +ataaaagatcgagtcgacgggaacaaaaggctacgtactcaataaagtgcagtttactaa +gagccctttttctggcttgtggagactatcataacatgaagatgttttgacattcaatag +tttgcaaaacaaacttactttgtgtagtattgaacgagatctttccaattgccccatagc +aggaatagttatatattgcagatcgcggtgtaacgcactccaaatccatcgcggtgtgtg +agggtaagcgacttaaagaattacggtttttgatcaaagcacagtgagagttgagcaaat +tacagttatacgacttaattcagtctccataaattgaaacgacacttcttaacgggagga +ccagacacgttcattaagtgaggagtgcactttttgactttaaaaacatggtaatcaatt +taaaccacttgatatgtatatgaacagatttgaagttatttctgttttaatacactggga +gttctgtcaatatcgcaggaaccgcctgacgtcccctatcacacctcagagggtaaaggg +acaggggaaagggtaatcgaggggtagggaacgtagttggcacacccaatggacgaataa +atgctgccatatccacggagggcgggattgcggttgattttaaggcgatggtaacctgaa +tgtaatagatcatcaaatgcctcctccactggaaattactgcgtacatccgctgagaatt +gcaatggagtgtctcggtttttctttaaacaaaaccaaattgacaacttcatagtataat +ttttgcacattacaagcgttaattaacaaacttactttgctgttagctgcctatatttgt +ccgacaatataactggatatctctgcgagaactgtaaattaacggcacttggaacataat +agttcctattggtaacgacgttgtaggcggcaattatccggtggaagaattgacaactgc +agttgaactgcatgaaagtcaaatctctcgtaagtataactttagaagactccaaggtac +ccagaacctcttcagcggacacgatcgctatcaatcaataaggattattcactgaaaccg +ctcatatctggaggtggacgtttttcttcgaaaagcttgtcaaaggactcatcaaatttt +tggccgtgctaatcgacacacctgttattttcatgaccggataggacatctcgcggaaat +tcgggtaacagctgggtagatataggacctcccctacgtattaatgataagcctgtcata +actagcttggtttaccgaagagacaataaacattcgagcgctcgtgccaaactcggtgca +ttacgtttgaataaatcggtaacatgtactattactctgcctaacggcacttacccgttt +gggtccatggggtaaccgctcgatgttgacagaattatgctaaagtcgtttaagatcccg +attaccgaaaatctggttatgtctgagcattcgtacactgcgtattaagatcaggttgaa +caggttcctaacaaattttgtgacctaaagtgaaactaggtcgtactctgggcatgtttt +atgtcgtggcgtatgcatgtgctgacacttctaaaaccaaattaaggctttatccaatat +gggtccttaagtgctaaacatcattcacaatttcaagacagattgttggtcttgtcgatt +ccgcatctgtcgccaaattgacacatcgtaaaccaggtacatcggtaattatatgttgac +taaactaccgtgtgtattctggctctaggtacggcgaacaagtacgatgtgcttaagaag +ccctcaccccagacgagcccgcgtaggtcacatcagcagatcctaagtaattccgtttta +ttgtcctgagggagtaggatcgacgaactctacaagtcgctttgtcgtgccttataggct +atttcgggtcaatgtagcgtcaaatgaactattgtcatctgtacgagttaactaagtgtc +tatcgccaactaaaagacgtctcgatggttctttatgcggacctgtcatatcattgactg +gcacttgcttacatccaaataacacgtttgttagcggatagtcgttaagtgtgcgcaaga +tcatgaggcggggggggtaatatttcgccctctacatgataaatgaataagtaagaagat +gatctttttgtggcggtaccttaagcgtactcctgtcgacgagttactactaaaggaatg +tagggttctggatctatgaaaagcgacctccatatatatacgggcctaagcggagtaaaa +taagtgatcaatggactaacattgaaatgttagtattgtcgaccattgagggctggtaaa +tcttatttacgggcgtgggaaaacgaacgtgatatggtttagcatgggatgcaagcactc +gttaatgcttactttagttggttgcgggaacaacaggaggctatactaactggtagcgtt +cttgcttccattatgttattattataattaaaaataagacatatggtagagttgtagtca +gggtggatcgggttgtctataacgttggaataatcaaaactatcgttaacaaaaacgaaa +tttaagtcggtgcggtggaatgcgcctacctcatgtgcaccacacattcacagcacaccc +ctcattataggcaaggaagcaaacaaaaaaaagttaatcgaccgtatccgaccttaaatt +ttaaaataaatagaaacacttagcggtaatgaaaagataggactaaaattcactagtatc +ctggaacgaggcaacagagttatctagatggtaacgaggtgctgcatcaagatgtatgat +ttttggtccgctgtgtggaatacctctattgatatacaagtgactttctcggtaataacg +cacttcacaatgtgttgtttcttttctatgtattttgcaagagaaagaagcttagtatag +gtacacctcagagatgtttcgtgtaaatcgtatcacatggtataactgcaggaggaacat +tatccaaattcaccacaattactaatccacccttttacttttactaaagatatattaatt +ctcatgttgtctgaattgtataacccggtaccctgggagcgtatcgaaggataccaattg +aagtcctcgaggcatgttacaacacacgacttccttccgtctattcagacactcaacgag +actaacttttcctaggtaatcaatgatattgggtaactcgtggcatcttatagttattga +tccggctcttttgtagatcctgtgcgactcgtgcgctaattaagactggctctcttgcgc +aggggatacgtttattctacgtacccgatttggttactactaagcggcctttcttcaaac +ttgcagttgtgacttacattcctatttcttcaaagcagggaagggttacagggagagact +tattgagatacgattggaatttccatgtacaatcgttaatacgcttgtagaccagcaact +cagtatagagatccgtttcctaaagggtgagcggtaggggcaaggcaataagaaattact +aaaaccctagttgttaatataagaacgattcgaaacaataggattgcccaagggggtgcg +aacatggtgtaaatcaaagagaaataggcattgttaaaacccgcacgtttctagtacgca +agaggaacgtcggtaaccagttctcaaagatcctaacctaaaaggggcttattctacttt +ttccgacactcaatggacgagacaaacatgaacggatagctttaggtctcgttgaatgca +aagaatagaatcgttattattaatcggtttccattatctatatgcggtatagatctccga +gaggaccctgtaaactagctctgcggtttaactggtgctaatagaccgccactatgttat +tgcttctagctcctagcgtcttatcatgttatacattaatgtcgcatattggacagtagc +caggcttggatggatcgccgacaaaaagaaaagactttccctgtaaggacttaactatta +catataacttggatcattaatctgcaaattagagtaacggtctttcaccagcttcatatt +ccaacgtggcgctagtcgatatcccatgaagtttaaaactagaattggcagtctcacttc +acagtgcgtatctatacgacaaaagtggtcgatttgcataaatatcttatcgatattcag +gttattaccgattccttgctaacgctagaagtcacaccagagtaataataattccagaca +cctgtgaaataatcggtcactacggatagactagtaacgataatacgtatagtccataaa +agttgaattttaggggctaaagatattagcaatactggtctagcctaatcgtcgatagca +aagggctgtgaggatttctcctacattttcgaccaattgtatcgataggaatagttacag +tcacgcttgtagatgtaagagatgacgttattcttagggttcttaagtcggggggtaatt +taagaccactagtaaaggtagaggcgtacacagtaaacgatattttgaaatcgtcaaaaa +aaagtttacaacatcctttaagttagcaactgattttagtggcaaccttaacggttgaat +tgatctactaatacaggcctacaccgaagggtacagataatgattcttactaccctaaca +tgatagagtcctgtcctatctcataggtcgacattttaaattcgtaatgagcaacgaaga +tcgtttcccaatttgcaacattcacttatagacttcaggttatttcgtgctaacattaag +atagaatataatcagtcgttaagaaactattatccagctttcgtcaaccataaagattaa +aaactgaaacttggcaagatatgaatagctatcctgctttaaccgatcgtatgagatgct +ttgtagcaagaaaagtgactagcacttgtgtttagtaaagcgggagagtgcggtaattaa +tattaatatactattaagctacacagcaaaggctgcaataatgttagtaagtagaacata +aaggtattctccacaagtaataaatagtgtgagctaattgactaacttaactctcgcgac +aagtgatgtggataagatgactcatatcgtctttttctgtagtgccgacatcccacctgg +atcgaacaattccttctagttatcgactttgattacctatcctattaaacagatagggtt +gtaaagtcagaaaatgatcggcttgcgttggtctaccatagctagagttagaacgcgtag +atagaggccttttgttgccaacgtgggggtgggatgagtctgggcgagcgtgactttctt +tcgtgtccgaatttgtttaacatccattagattagatgtttgtgttttgggtctgatgtc +ctaactactttctcagtgaaactaatgtcatcatccaagtaaaatagtccgatgaagtct +ccgttttcggccgaagcttgtctataacgtatataaagtcgctgaatttagaacacacct +tatctatgttgtaaagttactttattccaaaggacgtgcacgaagcgtgagtgtgggaag +gaacttaaagtcggatcactcttgtcagtgtagataagaatttctttcatacttcactgg +aatccggcgtatggatatctctaccgcgtcatctggtggtgtctgcggtaaaaagtcttg +ctgcacgagtctgagaaatttttggtgccatcacatcgtaactgtacaacgaacaaatag +catcaggccttcttatccagcgtgaagtctaattatttcacaagctttcctaagtatgta +aatccctcacttaatgatgcttgcgccaatgaggatagaggacattgcatgtacgtagga +ctattctccaaggggtcttctattttgttagcgaaaattgttacagcctaatgttagagc +ggcgtacgactttataccagatactttcattagatatgcaaatatccaattaaatcatag +tagtatcgtggtatggacaatcaaaaaagacccgttgtgatatgatgtttttctagttcg +ttctcatatatatagatcaacaatgaataatctcatgatctataaccgatgtatatttat +attccggttgactgctccggtgcaattcactacggacactaatgactaatatggcgcctt +tcatcagaaacgctaaatatgattaatgaattaagggagtattatctaattattagagag +tagcagttagtctgatattttcggtgtatgtgttagccgttataatgctgtctttttatc +agtgagaacagggagtgtgtagtgttgtatgcttcactttatgactctggttatatccct +cggagaacaagaataagagtacgagaagttcggtcattgaggatgaaatagaaccgctag +acgaatggactcacgtttataaaactatgtatcacagtactacagctaactctgaagtcc +gagaagcttttgtaggacaaaacgttataagtacctttcgcagaatacggccgtgcatac +ctgttataaggcgtagtagggacaccatgctatccctcatatagagctacactaatacca +ttacatggtgactatcgtttacggccatcatctgtaagcgatcatgcctcgttagcatcc +gtacaatctcgcatggcgtcactgcagaaaaaccccgtgcggattttgagtcagaactat +tcgaagcttctcaatccttttccattatggcatagcaagtgacgactcgtcagccatggg +aataatagcactaatccgattacttatgaattagaacccacatgaatgtgattctgcgaa +ttgtctaagaatctaatgattttccggtgaatatggttgttgttatttattgaacttata +ttattaacatcacccttcgttagtgatagtcagctatttccaagaggttccccgagcatt +tttaccattctctagtcatacaagttggagcgcttttaaatctttaggctgatcaaggcg +ttttgtctagaattctgcagatgttagattcgtgtgcaatccctcttgcatgtcagtaac +aggtcacccgtttttcgttacatatgctggtaaaatattcatagtaataactacaatact +tgatttgttacgtaatgctcgtacataacacaatcgtattccacggaacagtaaagctct +attattctgatcgagcctaagagaggatcacactacgctattaaagtcacgttcacgaaa +tctcaaacctcaactgctggtgaccagttatagacagtgtaattccatattacatgtcag +gcttaagctaacccgagcctttatataagctataatcaagaattagattggagtgcattt +tagacttatctatcgaaatagtgatagtaagagtttatatgacctgatctagactgatgt +tctcttccacaacagccttaaggcgtggagcctttcttatactattaggtcgcgtcgaga +gccctattcgtaatgttaacgacactagactaatatacaatgagctaagaataacacaag +tcacaagataatttacaaatcatatatctacagtccacaaccatcactagcgattgcaaa +gcgttattggtactaccgctctaaatcggtatgtgcaagacgcgttaactggttcaagcc +tctcctgctcgtgagactgaaagaaatcgaaaatatggatgtgcctaattgttcttgtga +gtcatgtgcaactatacagtttagtttggtcaagactatgcaactattaacagcatgtgc +gcattgaatatttggtgtcgattgataaatgccccaacgttccatcacgtctataagccg +tgttactaatgtgtattagtgcatacctattcagaccatagttcaactgttggactgaag +gcccgtcttggggttcgtgaatgagagtgcagtttcttgtcttttccttaactgacctaa +atgaaggcaatcggtttatctagagtcatgcttaaggtgaatttcagccaatgggctccc +attgagctagtatggtgctttacctttgtaagtggtggctttccttggtgtgctgacttt +aacacggcagagtgattatccgaagaatggataataagacgctggcaatattggctaata +aagtccgatgagtttcaatcatgactgcgaggagatccatgcggtgtacctaaacctaca +tcgtatgtatttgctgacgttcattcttgatacataaagatccgatatcggtccactttg +tttaccaaaagccctaccttcgtaacgatggaaatgtgaatgagagtgaaatacacgatg +gggatattgccggtgagtacaagttagaccacacattagaactgacctatattcgtcatc +atagagatggagtatgaattgattctgcgaagtacactggctttacgagtatctagacgc +cgcggtatatctcccgtcaatactatgaaggtatatatatagaggctgaaaattcatgtt +caatcctctttctaagagtgagtgggagccccttctgttgtcggagtaaaaaggcattat +tcctcaaattgtcagaagcaaagtatacgtgatgtttgcttagaacaaaagagttacctt +agggtaggtaaatctcgattcaccgagagaagtgattttggcggtgtgcgattaattctt +ttgatgacagatctcattattttatatagctccctctttgtatttagagtttgcgtaggt +aacctggcaaaaccatatcccggggggagagtgcgctgaacattttatacgatgtgatta +ctcaaaggataaggttcgaggcctctatactcatggaactatcttataattataatggat +cgtggctcattccacctatccaaacttctttgtgatctgatgctacgagtgtgaacaaac +gtacatcttctaaggaatttgggacgtttcatagctcgcatttcattcctgaaaacttaa +atatttttaaaaattgattctactgcgaggaactaaggtgtagacaagcccttagtaacc +ggtggatgtcgcttcagttttatagcaaacattattcaatttcagtcttgactgaaatta +gtttgttagtgttagaggtccatatgtcacatgcatatggtctagatgccattgtacagt +aataccttagattagtattagcggcatgcgtacttggatttcacttgtaagaatgagctt +aggacggtcgcctgtagggctgcaaataggaatacttacaatttttgatgacttgttagc +atatcgctatcacccataaaaaacctgatacttgatgagcgggtgattgagactatgtac +tgatataattcaatagctccaatagatgaaacagctatgcgcctatttatgtcaaataat +cgatgtgatacaagcttagagctgaacgagcgcgagtggaattagcggtgatctctatcc +taaaaagccacgaaatcgatcccagaagctaatacccgaggtgtcaagcttgagttcagt +taaatttgcatctcatgccccacgaagaatgggtagagagtttgaaggtgcttctggatt +ttcctaagtacgtggtaaaaatttgatgtaaatgaacacctcctaatggttgtgttaacc +acaaacccctgggtgaatctgattagccaacccagtgatctgatttcagttgtcaaatct +cttttttataactaccttttgtttccataatttaaccggatctcataatgaacaaacggg +tagaataatggtagcacatagcgagcttgtctattcagaaatatggcctactcagaatgt +attctccaaatcagtgttatgcgaaacgtaattttacgtgtaataatgatgatttcttat +cggttccttgtactacaatactcttgcccaacaaatactaagcataacagcaaaattcga +atccccctccttttaataaatggtttttcaatatagccgattcgtattcgttagtctttc +accaactattaacctggcatctaattaataaaatcaccaaaggactctataatatgacag +tcacttcggcctcttttaagacagttgattattgcaggtccgcaattgatggtgacatgc +acaattagttagaatccgactatggagacaattaacaattgtagtgcccatttggtccag +ttgacttcaaccacgagttataaaggtattttaatttatagtcgatagtaccaacaacaa +gcacaatcataattatgttagaaaacccagggggtaatgctctaaatccagctttaaggc +cagagtgcactatgaaatcgccattgatcattgtgtcattcgctgaacttggtgtctagg +aggtgccgagtgagaatatcagataccttatgaagcaacgattatatctggactagatca +tgatgatcggaataaaacattgaaataagtccttatcaaggagcataaacattttattta +atttatacttcgtaaataaattcagaattttttttcaagacattaatctgagtaaatgac +ggctagaaagggttcctactcgaatcgtagcctacgcatgtgggcagtaacctggcttgc +gtttttactgaaacaaaggttcaccggaaagaaggctgccacttttagcttcttgacgat +ctttagcgtcatatttttagattagtcgaaaaacggaaaacaaacttaacgaagctggtt +gcacggggtaccgagaaaccaaagagcaggacaactccttgatcgggaagaactgaaata +gacagctgtcattttcattggtcaacttatcaatataacgaccaccgtagtgacgcttgc +atgaaaatactgaggatgtaaactatagccagtcaggcccgcgtgttgactaattgatga +agcaaacaaaatagccggtattcgttaaaaggaacgggttgccagctacagatatactct +aggtatatcccaaacaagagacgtcctttggctgttgtaatcggtcataatacttgtcac +ataaacaagatcgctgaattaaacattaaacagttagtgatacacaatcgtggttggggc +tgggatgtgcaataaaaagtcatctatcgtctatcacagagcgacgtaaatttagacaaa +cattattatttcttgacaatggaatcgataagcgttcctctaacttggtatatatatctc +gaccccgggattccagccattcttgtatgaagatttaaccatttaactatgcatagttga +atggtaaggaaaatgatattgactgcaacagattttggatgcaaaaatatttgtgaatta +ttggttatatactggttgtatagcacaatcattaggtcctagaaggcatactcaacctca +gcgagagagctagcatgcataattgtaccgcccatattaatattcctgaaatgatttctt +acattacgcccaatttcagtcatcgaacacccccatcaatttacccgatagagaacgtga +tcatacgcaataccctatgcgaacgtccactctatagcgtctgtatacaatgattattcg +ttccatttacaacgttaagtaatttaaacttacataaggacaaggaaatccgcgaacctc +ctggaatgtatgagttatttatgcagttaacttcgtctcgaccggaactaaaggcgtcgt +acgaatgaaaggccacttttagaagagacctttgtatccattgtggagaatatcataaat +tcaagatggggtgtcatgctattcggtcctaaacattcttaatggctgttctattgttag +tctgatttaaaatggaaccatagcacgaatagttagatagggctcatacccctgtaacga +tctacaaatccttccccgggtgtgtgcgttagcgacggaaagttttacggtttgtgatca +aagaacactcacacgtcagattattacactgatacgaattatttcagtcgacagtaattg +aatagaaacttattaacgccagcacctgacacggtaagtaaggcaggtctgaactgtttg +actgtaaaaaaatggtaatatttttaaaaatcttgatttctatatcaaatgatgtgtagt +tttttctctgttattaaaatcccagtgcgcgaaatttagatcgttacgactcacgtacaa +gatcacacatcacacgcgttagcgaaagcggaatggctaatacagccctacgcaacgtag +tgggatcaacatatggacgaatttatgctcaatgagccaacctcccccgcattgcggttc +attttaaggcctgggtaacatctatcgtttagataatcaaaggaatccgactatgcaatt +gtctgacttcatccgctctcaagtccaatgcaggcgctacgtgtttctttaatcaatacc +atattgaaatcgtaatacgataattgttgctattgactacaggttatgaaaaaacttact +ttgcgggtacatgcatatttttgtaccacattattacgcgatatctctcagtgtactcta +aattaaaccctcttcgaacattttagttcctattcgtaaacacgtgctacgcggcaattt +gccggtcgtagaatggacaactccagttcaactgcatgtaactcatagctcgcgttagta +taaattgactagtagccatgggacaaagtaactagtcagcggaaaagatccctttaaaga +tatatgcaggttgcaagcataaagctcattgctcgaggtgcaccgtggtattccaaaagc +gtctctatcgtatcttctaattttgggccgtgagaatcgaaactactctgatttgctgca +cacgttaggtaatatcgcccattttcccgtataagctccgtacttatacgaactacacga +ccttttaagcattagccgctcatatcgtgattcgtgtacagatgagtctattaaaattac +agacatactccatatctcgctccttgaactttgaataatgcgctaacttgtactatgaat +aggcagaacccaactttcccgtttgcgtcaagcggggaaacgatacatgttgtcagattt +atgattatctagttttagatcacgtttaccgataatcggctgtggtctgagcagtcctac +actgagtatttacttcagcttcatatcggtccgaaaaaaggttgtgaccgaatgtcaaaa +tacggagtacgatgggcatcttttttcgagtcgcggttgcagggcagcaaaaggcttaaa +ccatttttacgatttttactatagcggtcatgaagtgcgaaactgcttgcaaattttcta +cacacattgtggctcttgtccttgaagcttatggcgaaaatttgaaacatagtataccag +ggaaagcgcgaattatttggtgactaatagtccgtgggtttgagccatatacctaacgcc +ataaactacgtggtgctttagatgcaatctaaacagaacagaaagcgtagcgctcatcag +cacagactaactttttcagtttgagtcgccggagggacttcgagacaagaacgcgtcaag +tcgcttgcgcggcacggattcgattgggcggctcaatcttgcctaatttctactattgtc +agctgtacgactgtactaagtgtatagccccaaataaaagaagtatcgatgcgtctttat +gaccaaaggtcttataattgaagcgcacttccgttcatcaaattaaatcctggcttaccc +gattctccggaagtctgacctagagattgacgacggccgcgtattattgagacctcttca +ggattaatcaataacgaagtagttgatctgtttggcgacgtaccttaagccgactccgct +acacgagtttctactaaaccaatgtagccttatgcttagatgaataccgtcctaattaga +tattccggcataacagcagtaaattatctgttcaatggacgaacattgaattgttagtat +tctacacaagtcaggcctcgtaaatattaggtaaggccgtgggataacctacgtgatatg +cttgagcttgcgttgcaagctctcgttaatcattaatttaggtgcgtgagggttaaacac +cagcatattctatatgctagacgtcttccttaaaggatcgtagtattataattaataata +agaaatatggttgacgtctagtcagcgggcatacgctgctctatatactggcattattca +aaacttgacggtaaaaaaacgaattttaaggcgctcacgtcgaatgagccgaactcatgg +gaaccaaaatgtcacagaaaacacctctttattgccaagcatgcaataaaaaaaatgtta +atagtacgtttacgacattttattttataataaagagaaactattacacctattgatatg +ataggacgtaaattaacgagtagcctgcatagaggcaaatgaggtttctacatggtatag +acctgatgctgaaacatcgatgagttttggtcccctcgctcgttgaaatctagtcattta +ctactgtctttcgagctattataccacttcactatgtggtgtttctttgctatgtatggg +gctagtcaaacatgatgactatagctacaactcagagagcgggcgtgttaagagtatctc +atgctagaactgcacgacgaacttgatacaaagtaacaacatttacgattccacaaggtg +actttgaagaaacatagtttaattctctgcttcgatcatttctataaaccggtaccatcg +cagcggatagatgcataacatttctactactccaggcatcttaaaacacacgtagtactt +cactagattaagacacgataagtgtataacttggcagtgggaagcaaggagattggcgaa +ctcctggcatctgttacgttttgttcaggctcggttgttgataatgtccgactcctgcca +tattgaagactcgctcgagggagatcgggattcgttgattataagtacacgtgttccgta +atactatgaggcagtgattcaaaatggcacttctgacttacatgactaggtattattacc +acggaagcgttaaaggcacactcttatggacttaagattgcaagtgccttcttctagcct +gaattcgcgggttcaacacaaactctctttagacatccgttgcctaaaggctgagacgta +ggggcaaccctttaactatgtactaaaaaactagttggtaatttaacaacgtgtccaatc +aagacgatgcaccaacgcggtgcgaaaatcgggttaagcaaacacaaataggaattgtga +taaaccccaccttgagaggtcgcaagaccaacctcgggaacaacggctctaagagaataa +cctaaatccggatgagtagactgtgtaactctctaaagggaagtgaaaaaaagctaagca +tacatttaggtctcctgcattgcattcaattgaatcgtttgtattatgagctgtacagta +gctatatcagctatagttatcccagaggaacaggtaaactagctctgagcgtgaaatccg +gatattagaacccctagatgggattgattctagctaatacaggcttatctggttttacag +ttatctagatgattggtaaggtgaaacgcttggtgccttccaccacttaaacaaaagtat +tgcccgggaagctattttctaggtattataaagtcgagcattaatatcaatttgacagta +aaggtctttcaccagcttcatatgccatagggcccatactcgatttaaattgaacggttt +aacgagtattggaactctcacttataactgagtagctatacgaaaaatctggtccatttc +cagaaatttattatcgatttgctgcttagtacccaggaagtgataacccttgaaggcaca +acactgtaataagttttcctgtcacatctgtaatattcggtcactacgcattcacgacta +aagataattactatactaattaaaagttcaatgttagggccgaatcatagtagaaattct +cgtctagcctaatcggacttacctatgggctgtgaggatttatcagtatgtggacaaaaa +tgctagagataggtatagttaaagtcaccatggtacatctatgtgaggaagtttgtagtt +cgcttctttagtccgggcgtttgggatgacaactactatacgtagagccgtactcaggat +tagatagtgtgaaagagtcaaataaaagggttaatattaatttaacgttgcaaatgtgtt +taggccaaacattaaccgttgtagggatattctaatacaggccttcaccgaaccctaatg +ataatctgtcttaataacattaaatgattgtctccgctacgagctcttagggcctcattt +taaatgactaatgtccaaagaagagactttcccaatttcaatctgtcacgtatagacggc +accttagtgagtcatatcattaagatagaagattatcaggagggaagtttctattatcaa +ccgttacgcaaccataaacttttaaatctcataatggcattgagatcaagagctttcatg +atggtaaagttcgtatgtgatgctggggagctagatatcggtataccacttcggttgtgg +taagcccgagtgggccgttagtaatattaatagacgattatccgacaatgcattcgctga +aataatcttacttaggagaaattaatgctatgagccaaaactatttatgtctgtcacatt +attgactaaagtatctatcgacaaaactgatgtccataagttgtagcagatagtcggtgt +atggtgtcaccaatgaaaacctcgagcgaaaaatgaattatagttatccaatttgagtaa +attgcctattatacagataggcttgtttagtcagataaggttccgcttgaggtgctctaa +cttagcgagagttagaaagcctagtgagaggcattttggtgccaaactccggctcgcatg +agtaggccagagagtcactttctttcgtcgaagaagttggtgaacagccttttgattagt +tgtttgtcttgtggctatgtgctactatataagttagaacgcaaactaatctaatcagca +aagtaaaataggaccttgaacgagacggggtacgccgttgaggctcgagatagtagataa +actagaggaatgtagataaaacattagctagggggtttagttactggattacataggaag +tgcaccatcacggtgtgggggttcgtacgtaaagtcgcatcaatattgtcagtggactta +acaagttcgtgcataatgaaatcctatacggactttgcatatctctaccgactcatctgg +tcgtctatgcgggtaattgtattgctccaagtggatgactattttggcgtcccagcacat +agtaaatgtaaatccttataatagcataagcaattattagactgcgtgaagtcttagtag +ttctcaagctttacgttgtatgtaaataactcacgtaatcagccgtccccaaatcaccat +tgaggtcattgaatgtacggagcactattatcaatgcggtatgcgattttctgagcgatt +attgttaaagacttagcgttgagccccggaacacttgattacagattctttaaggagtta +tccaaatatcattttaaataatagtagtatcgtgctttggacaataaaaaaagacccgtt +ctcttatgttgttttgcgacgtacttctctgatatatacttcaactatgaagattctatt +catcgataacccaggtatatttatatgcccgttcactgcgcagggcaaattatctacgga +caataatgacgtagttggacccggtaagaactaacgcttaatatgattaaggatgtatgc +cagtattatcttattatgtcagagtagaagtttctctgagattttccgtcgttgtggtac +accggatttggctctctttttagaactgagaactcggagtgtgtagtcttgtttccttca +atttatcaatatgcttttataccgccctcatcaactataacaggacgacaagttccgtct +tgctccatcatatactaccgatacaccaatcgtatcaagtttagtatacttgctttctct +cttctacagcttactcgcttgtccgagaagcggttggtgctcataaagttagtagtaaat +gtacaactagtagccagtccttacctgtttttacgactactacggacaccatgagataca +gaagttagtgctacaattataccattacatgctcaatatcgttgtcggccataagatcga +agagtgcatcacgcgtgtgaatacgtaaaatctaccatcccgtcaatgcacaaaaacaca +ctccccttgttgactaacatcttttacaagaggctaaatcattgtccaggatcgaatacc +ttgtgtacaatcgtcacccatcggaagaataccacttttccgatgtagtatgatttacaa +aaaacatctatgtgagtaggccaattgtagtagaatatattcatttgaccgtcattagcc +ttcttcttaggttgtgtacggatagtaggtacataaaccgtcgtgtggcatacgctgcga +tttcatacagctgccaacaccttttttaccaggctagagtcagaaaagttggagccatgt +taaatagttaccatcataaaccactgttgtctactagtctgatcagctttcatgcctgtg +caagcaatatggattctcacgtaatggtaacaactgttgcgttacttaggctggttaatt +tgtcagagtaataaatacatgtcttgttgtgtttcctaatcctcggaaagtacacaagcc +taggaataggaaaagtaaagctcttttattctgatagtgactaactcaggatctaaatac +gcgattatactaaccttcaccaaagctcaaaaatcatctgctggtgaccagttatagaca +gggtaattcaatatttaatgtctcccttaacatttcaccagcatggattgaagatagtat +aaagttttacatggcagtcattgtgtcacggttctatacaaattctgatagttagacggt +atttgaaatgtgcttctagcatggtatcttacacaactgaatgaacgactggagccgttc +gtatactatttgcgagcctcgagaccccgtttcctaatgttaacgaatatagtataatat +aaattgtgatatgaataacacaagtaactacagtttggacaattaattgttctaaactaa +aaatcattcacttcagatggcatagagttatggctactacacatataaagcggtatgtga +aacacccgttttagccggaaaccctctactgctcgggacaatgaatgatttccaaaatat +ggatgtgcagaattgttagtgtgactcaggtccaaatagacactttagtttcgtcaagtc +gttgcaaagtttaaaaccatcgcagcattctttatttggtctacattgagaaatgaaaaa +acgtgacagaaagtctagaagaactgtgaataatgtctattactgattaactagtaagac +attagtgcatctggtccactgaagcacccgcttggcgttaggcaatctctgtgaactgtc +gtggctgttccggtaatgtacgaaagcaagcctataggttgatcgagtcgcttcattaag +gtcaatttcacaatatccgatcacattgtgctaggttcgtcctttaccttgcttagtgct +gcatgtacggggtgtcatgacttgttatcggcagactctttatcccaagaatggataata +tgtacatggaaagtgtccataattaagtcccttcactgtaaagaatgactgccacgtgat +ccatgaggtctacagaaaccgacttacttgctttttgatcaacttaattatggattcata +aagttcagatatcggtacaattggtgtacaatatgaaattaatgaggaaacatggaaatc +tgaatgacagtgatagaaaagatccccatttgcccggtcagttcatgttacaccactcat +tagtactgtaagtgtttcgtcagcattgagatccacgatcatgtgtttatgccttcgaaa +ctggatgtacgacgatcgagacgaagaggtatatataacctaaatactaggtacgttgtt +agagagacgatgaaaattaatcgtcaatacgctggcgaacactgagggggacccaatgct +cttctcggtctaaaaaggaatgtgtcagaaattggtcagttcaaaagtagaccggatctt +tgcggagaacaattcacggaacgtagcgttgggaaatatcctttctaccacacatcggat +tttcgccctctcccattatttattgtgttctcacatagaattattgtttagacatccctc +gttgtatggagagttgcccgagcgtaaaggcataatccatataccgccgggtgagtgacc +tgaaattgtttttagttgggatttcgctatggattagcttacacgaagagattctaatgg +tactataggataattataatgctgcgtggcgcagtacaccgttacaaacgtcgttcgcat +atgtggctaacacggtgaaaatacctacatcgtatttgcaatttcggtcgtttcatagag +cgcattgaattactcaaaaattatatatgttgattatttgattagactgcgtggaaagaa +ggggtactcaagccatttgtaaaagctgcatctcgcttaagtttgagagcttacattagt +ctatttcagtcttctaggaaatgtctgtgtgagtggttgtcgtccataggtcactggcat +atgcgattcatgacatgctaaactaagaaagtagattactattaccggcatgcctaatgc +gattgcactgctatgaaggtgcggacgtcgcgcccatgtagccctgataataccaatact +tacatttggtcagcaattctgacattatacctagcacccataaatttactcagacttgag +gacaggctcttggagtcgatcttctgtttgtatgcatgtgatcatatagatgaataagcg +atgcgactagttagggcatagtatagatctgtgtatacagttcagctgaacgtccgcgag +tggaagtacagctgagatctatcctaaaatgcaaccatatcgttcacacatgatatgaac +ccagggggaaacattgagttcagttaaattggcagcgaatcccccaagaagaaggcggag +tgacgttgaacgggcttatggtttttcagtacttcctccgtataagttgagcgaaatgta +aacagaataatcgttgtgttaacaacattaaaatcgcggaatatgatgagaatacacagt +gtgagcatttcacttgtaaaatatctttggtagaacttactttgctttaaatatgttaaa +ccgatctaataatctacaaaacggtagattttgcctagcacattgcgtccttctctattc +agatagaggcaatactcagaaggttttatccaaagcactgtgttgactaacctaagtttt +agtctaataatcatgattgattataggtgccgtggactacatgactcgtccacaaataat +acttagcagatcagcaattggccaagcacccgacttttatttaatggttgtgcaatagtc +cagattcgtattcgggactctttcaaataatagtttcctggcatctaagtaagaaaagct +cataaggaagcgatattatgacacgctcttccgccgctgttttgaaacttgagtattgct +cgtccgaaattgagggtcacttcaaaatttactgagaagacgaagatcgactaaagttaa +aatgctagtccacagttggtcaagttgaattcatccacgagttatatagctattttaatt +tatagtcgagtgtacaaaaaacatccacaataagatttatcttagaataacaacccccgt +atcatcgaaatcctccgttatggcctgactcctcgagcttatagcatttgtgctggcgct +cttgccaggaacttgctcgcgaggtggtgacgagtgagatgatcagtttcattatgatga +tacgattttatcgcgactagttaatcatcatagcaagtaaaatttgaattatgtcattat +catgctccattaacaggttatttaattgatactgacgaaattttttcacaatgggttttc +tagaatttaatatcagtaattgaagccttcataggggtcctactagtatcctacacgacg +caggtccgcagtatcctggagggacgtgttactgattaaaagggtcaaaggaatgaaggc +tcacaatgttacctgcttcaccatagtgagccgatgagttttacattagtactaaatccc +aaatcatactttacgatgaggcttgctagcgctaaagagaatacatacaccaccacatag +aattgttagcgatgatatcaaatagactcctggaagtgtcagggggaaactgttcaatat +ttcgtccacaggactgaccaggcatggaaaagactgacgttggaaactataccatctcac +gcccgacgcttcactaattgatgatccaaaaaatatagcccggattcctgattagcaaag +ggttcacagagaaagatattatcgacgtatatcccaaaaaacagacgtaatgtgcatctt +cgaatcgggatgaatacttgtatcataaaaatgtgacctctagtatacaggttaatgtta +gtgatacacaatactcgtgggccatgggttctcaaataaaatgtaatattgcgtcgatca +ctcacccacgtatttggtctaattatgttttatttagtgacaatccaatagataaccggt +cctattaagggctatatttttagcgaccacgcgtttaaacaaaggattgtatgtagatgg +taccagtttaattgccagtgggcaatcctaagcaaaatgagattctatcctaaagtttgg +gcttgatataagatttcggatgtatgggttttataatcgttggagagctcaatcatgagc +taatacatggatttcgctacctcaccgagagaccttgcatgaagaattctaaccaaaagt +ttaataggccggattggattgagttaattaagaccttgttcagtcatagtaaaaaccctt +aaattttaccgattgacaaagtgagcagtcgcaataccctatgcgaaacgcctcgatagt +gactaggtatacaaggtttttgagttcctttgaaatagttaactaatttaaaattaatta +acgacatggaaatcacagaacctaatgctttgtaggagttatttatgctgtttactgcct +ctacaaccctaataaagcagtcctaagaatgaaacgcatcttttagttcagaaagtggta +tccagggtggtcaatttaataaattcaacatcgggtctcaggatattcggtcatataatt +tattaagggctcttcgagtcttactctgagtgaaattggaaacagtcatccttttcgttg +tgaggcatcttacaccgctatcgatatacaatgcattccaccgcggtgtcccgtacacaa +ggaaacttgttaccttggggatataagaaaactcacacgtctcattattaaactgagtac +aatttttgcacgagaaagtaatgcaatacaatatgatgaaagccagctaatgaaaaggga +tggaacgcacctcggatctgttgcactggattaaaatccgattatttttaaaaatattca +gtgctagagcatatcaggtctacttttttatctggtatgtaaagcccacggagcgatagt +gagatccttacgactcaacgaaaagttataacataactcccgttagccaaagcccaatcc +cgattactgccctaccctaacgtctgccatctaaatatcgaacttgttatgatcaatgtg +actacctcccaccctttccccttcatttgttccactggggataagctagcgttttcagaa +tcaatgcaataagaatagccaattgtctcacttcatcagagctcttggcaattccaggcg +ctacgtggttctggaatatattcatttttcaaatagtaatacgtttagtgttgctattgt +ctacacgtttggatattacgttatgtgagcggacatcaatagttgtctaactctttagta +agccagagatagcactcttagcgaatggataccatcttccataagtttagttaatagtcc +gaaacaactgcttcgagcatatttgaacctccttgtaggcaaatagcctcttcaaagcaa +tcttactaatagatagagtttgttttaagggactactagaaatgggacaatcttaatagt +atgacctaaactgacatttaaagatatatccaggtggcaagcataaagatcattgcgcca +cctccaccgtgggattacttatcagtcgatatcctatatgctaagtttgcgacggcagaa +tacaaactaagctgagttgatgctaaccttacctatgataccccattggaccggttaaca +gccctacttattccaaataaaagaacttttatgctgtagaagctattatagtgatgcctg +gtaacttcagtatattaaaatgacacacatacgccatatagagctcctggaactttgaat +aatgagcgaacttcgaagttgaagagcaagaaaccatatgtcacggttgcctaaagcccg +gtaaccagacatgtgctatcattgatcattatcgaggttttcataaccttgacccattat +cggctgtgcgcggacaagtacttaaatcactagtttcttcacctgcttatcggtaagaaa +taaggttggcaaagaatcgcataagacggacgtagagccgcagcgttgtgcgagtccagg +tgcatgcgcagcaataggattttaaattttgttccatttttaatttagccgtaaggatgt +ccgtaaatgattgaaaattggattcaatctttgggcctatgctactggaacctgatcgac +aaaatttcaaacatacgttaactccgaaagaccgtatttttgcggctagaatagtcagtc +gcttggagccatataccttaccacttaaacgacgtgctcctgtagttgaaatataaacag +aacacaaagactaccgatcatatcaactgaagatctttgtaactttgaggcgaagcaccc +tcttcgagacaactaagagtaaagtaccgggcgccgcaaggagtcgattgggaccctaaa +tcttgacgaattgctaagaggctcagagctaccactgtaatttctctagagcccataata +aatgaacgatacatccgtaggtagcacctaagggattataatggaagccaaatgcagtta +ataatattatatactggcgtacacgattcgacggatctctcacatagtgattcacgaccc +ccccctttgattgacacagcgtcagcattttgcaagaacgatcttctgcatagggtgcgc +caccgtaaggatgacgtcgaagctacaactgggtataatttaccatgcttccctgatgct +gagtgcaatacactaagaatgagtttttaccccatatcaccagtatttgttctgttattg +cgaagaaatggctatgctgagttggcgactaaagtcacccatcctttttattaggtaacc +ccctcccttaaactaactgatttgctggagctgccctgcatacatatactttatcattta +tggacgtccgtgacgcttattatccaccatagtcgatatgctacacggattcattaatgg +atcgtaggagtttaagttatatttactaagatcggtctcggctactatcccgccttaccc +ggcgctatttacggccatttttaatatattgacggtaattattcctatggtttcgaccgc +acgtccttggacaagaaagaatggcaaaaaaaatgtaaaagaaaaaaaatattgagtccc +taccatcatataaaaaatatgtgatgagtaacttgacgaaatgttagtggttattaaaga +ctatctattacaccttttgttttctgtcgtagtatattaaagtctagaagccttacagga +aaatcagggttatacagccgatactccgcagcatgaatcatcgaggaggtgtcctaccat +cgcgccttgtaatcttgtctgtgtatactgtatttagaccttttatacaaagtaaatatc +tcggctttatgtgattgggaggggcctactcaaacatgatgacttgacctaataatcact +gtgcgggcgtcttatgactagctattccttgaaatccaccaccaaatggttaatatgtaa +aaactttgacgatgaaacaaggtgaatgtgtagttactttgtgtaattagctgcgtcgag +cattgcttgtaaaaccgtcaatcgcacacgttacttccataaaatttctacgaatacacc +cttcttaaaaaaaacgtaggaattcacgagtttaacaaacgataactgtataaagtggaa +gtccgaagaaagcagatgcccgaactactcgaagatgtttcgttttcttaaccatagggg +cttcttaatggcccactacgcacattttgttcaagcccgagagggacatccccattacgg +gagtattactaaaactgttccgtaatacgttcagcaagggatgaaaaaggccactgctca +agttattgacgtgggagtattacatcggaagcctgaatcccacactatgatggtctgtac +aggcctagggactgcgtctagacggtattaccggcttctaatcatacgatcgtgagtctt +aacgggaagtaaggctcacacctaccccaaaccatttatctatgtaagtataaaattgtg +cgtaagtgttcaaagtggacaataaagacgtggcaaaaacccccgcacataagccgcttt +agatttcacaaataccaatgcggttaaaaacatccttgagtcgtacatacaccatactcg +cgttaaacggatataacagaagataataaatccggatgtggagtcggtgtaactatagaa +agccaagtgaaataatgcttaccagtcatttagctatacggctttcatttcatgtcaaga +gggtggagtttgacctgtacagttgatatatcaccgatacttagaactcacctaaagcta +aaattgctcgcagcgtgtaatccgcatattacaaacaatagatgggattcattatacata +agacacgatgatctgctttttcaggttgcgagatgttgcctatcgtcaatcgagtcctgc +cttacaccacttaaacaaaagtattgacagggaacctattttcgaggtattatatagtcc +agcttgaatatcaatttgacagttaacctagtgaaaatcagtaagaggaaatacgccaca +ttctccagtgaaattctacgggttatcgtctagtccaactatcaattataactcacgaga +tataagtaaattctcgtacttggcctgatttttattatactttggatccttagtaaacag +gaagggagaaaccttcaacgaaaaacactggattttgttttactctcaaagctcttatat +gacggaaataccctgtcaagtcttaactttattactagactaatgaaatgggcttggggt +ggccagaatcatagtacaatttagcggatacactattcggactttcctatcggctgtctg +gttggataagtatggggactaataggctagacatacctatacttaaactatacaggcgtc +atctatctctgcaactttggagttccctgatgttctcccgccctttgggttcacatcttc +tataccgacacccctaataacgattagtttgtgggttagagtaaattaatacggttaata +ttaatgtatcgttgaaaagctggtgtcgccaataaggtaaccggctaggcagagtatatg +tcacgaagtataactaccctaatgataagctgtaggaataaaattaatgctgtctctaag +cgaagagatatttccgactctgttttaatgacgaatctcattacttctgacttgcaaatg +ttcaatatggcacggtttcacggcacctttgtgacgcatataatgaacttagaagattat +aacgacggaactttatatgataatccgttacgattaaagaatctgttaaatatcataatg +gcattcagttctagaccgtgcatcatggtaaacttactttctctgcatggcgacatacat +ttcgctattcaaattcgcgtgtggttacacccactcgcacctttggaatattaagagaag +atgatcagaaaatccattcgctcaatttttctgacgtacgtctaatttatcctaggagac +aaatcgttttatgtctctcacatttttgaagaaaggttcgagagacaatactcaggtcct +gaactgctagaagatactcggtggagcgtggcaacaatgaaaaactcgtgacataaatga +atgatacttttccaagttcagttaagtgaatatgtttaacatacccggcttttcgatctt +aagctgacgctggacgtgcgagtaatgtcagtctcttacatacactagtgactccaagtt +tcgtcaaaaacgccccctcccttctcgagcccactcacgctatgtattgacgcgaacttg +ttcgggatcagacttttcaggagttcggtcgcgtgtccctatgtgctaatatataagtta +gatcgcattagatgctaatctgaatacttatagacgaccttcaacgagaacgggtaccac +cttgaggctagagttaggtgtgaaacgacaggtagggacatataaaatttgagtgcggct +ttagttaagggtttaattacctactcaaacatcacgctcgcgcccttcgtacgtaatcga +ccatctagaggctaaggggactgtactaggtagtgattaatgatatcctagacgcacgtg +ccttagatcttcagactctgatggtccgcgatcaccgtaattgtagtcctccaactcgat +cactttgttggcgtcaaagaaattacgatatctaaatacttataatacaataaccaagga +tgagaatgactcatcgcgttggagttatattgcttgaagttctatggaatgaaagcacgt +tatctgccgtcccaatatctccagtgagctaattcattggacggtccactttgatcaatc +cccgaggagatgttcggacactttagtctgtaacacttagcgttgagaccacgaacaatt +gattactcagtcttgaaggtgttttccaaagttcattttaaataagactacgataggcct +ttcctattgatataaactacccggctctgttgttcgtgtgagtcgtacttctctgtgttt +ttctgattatagcaagattcgattcttagtgtaaacagcgatttttatttgacccgtcaa +tgagaagcgcataggatctaagcaaaattatcaagttgtgccacaaggtaagatctttcc +agttattgcaggtaggatgtatcccacgttgatagtatgaggtctgacgtcaactgtcta +ggagagttgaccgcgtgcgggtacaccggatttgcatcgatgttgagaacgcagaactcc +cactgtcgtggcggcgttcctgatatttagcaagaggcgttgataaagccctcatcatct +agatctcgacctcatctgccctcttgctccatcattttctacacagactactttcctatc +tacgttagtataattgctttctatcttagtatcatttagagcttctccgtcaacaggttc +gtgctattaaagttagtacgaaagggacaacttgtagcaacgcatttaatcggttttcga +ctacttcgcacaaaatcagataaagaagtttgtcattctattagacattgaattgcgcaa +ttgacttgtaccacttatgatcgaacactgaatcaagactgtgattaactaaaatagaca +agccactatatcaactaataaaaacgcccctggtggtcgaacatagttgactacaggata +attaattggactggagccattacattctctacaatcgtatcacttcccaagtagacaact +ttgaccttgtagtttcatgtacaaaaaaatgctttcgcaggagcacattggtagttcaat +agtttcatgggaacctcttgagccgtcttctgtgggtgtgttcggatagtaggtactgat +aaagtcgtgtcgctttcgatgagagggaattcaccggaaaacaccttggttaacaggata +gtctatgtaaacttcgagacatgtttaagagttaccagcttaatccacggtgctctacta +gtatcatcagctgtcttgcctcgcctagaaatatgcattctatcgttatcctatcaacgg +ttgccgtactgagcagccttattgtggaagagtaatatataaatgtagtcttgtctttac +gaagcagacgtaagtaataatgacttggaataccaaaactaaacatagtggattatcata +ctcaagaactctccagataaataacagtttttacgatacgtcaccaatgagcttaaagat +taggatcctcaaaactgatacaaacgctaattcatttgttattggatccagtatcagtta +aactgaatggagtgaagattgtagaatgttgttctggcctcgcatggggtctaggtgata +tacaatttctcatacttacacggtagtggaaatctgattctagcttcgtagctgactata +ctcaaggaaccactgctcaaggtaggagactagttccgaccctacagtcaaagtggccga +agcttaaactatagactagttgttaaatgctgatttcaagatatcatctatatacagttt +ggacaattatgtgtgcgaaactaaaattcatgctattcagatggatttcacttatgcctt +agaaacagatattgcccgagctcaatcaacagttttagccggaaacaatcgaagcatagg +gacaatgtatcttttcctaaattgccatgtgcagatttctgagtgtcacgaagcgcataa +tagaatcttgtgttgcctcaactcgttgaaaagtttaaaacaatcgcagcagtctttttg +gggtctactgtgtgtttgcaaaataactgaaagaaacgcttgaacaactctgaagtagct +cgagtactcattaaagtgtaacacattagtgaatatcggccaatgaaccaaacgcttccc +ggtacgctatctctctcatcgggaggcgatgtgcaggttatctacgaaagcatcccttta +cgttgagagtgtcgatgcatgaacctcattgtaacaatagcccagcaaattctcatacgt +gcctcagggtccgggcgtactcctccatggaagggcgcgcatctagtgttataccaactc +gctttttaactactatgctgtagttctacaggcatagtggccagtattttctaacttctc +tggatagatgctctcactcctcatccatcacggcttcagtttacgtcttacttgcttgtt +cagcaacggatggaggcattaagtatcttcactgttccctaaaattgctgttcaatatca +aagtaaggacgatacagggaaagctcaagcacactcattgaatactgccccagttgcaac +ctcacttaatctgacaaaaataatgactactctaagtgttgcggaagcagtctcttccac +gagcttgtctgtatcacttcgtataggcatgtaactcgatagacacgaacaccgagtgag +aaactatattcttgcttccgtgtgtgtgacaccaggtaattgatgcggatataagctgga +gatcactcacgcccacacaaggcgctgctacctctttattccaatgtgtaagaatttgct +aacttcatttctagaccgcagctttgcggtcataatttcacggtacggacccttgggtta +gagacttgataacacacttcgcagtttccaccgcgcacatgttttagtggcttctaacat +agaatttttgttgtgacataaagagtgcgtgggagacttgcccgaccgttaagccataat +caattgaaagccccgtgagtcacatctaattggttgtactgcgcatttagctatccttta +gctgactcgaagagattcgattcctaatataggttaattagatggctgccgcgcgaagta +aaacgtgaaaaacgtagtgcgcagatctgcataactcgcgcttaattacttatgagtagt +tccaagttcgctacgttatgagagagattggaattaagcaaatatgttttatggtgattt +tgggatgagaaggactgctaagtacggctactaaacaaatttctaaaaccgccatctacc +ttatcttggagacatttaagttgtatatgtcactagtctagcttttgtctgtgggacgcg +ttctcggaatgagggaaatgcaagagccgattcatcaaatgcttatctaagaaagtagtg +gactattacaccaagcacgaatgccagggaactgctttcttgctcaggacctcgcgacaa +ggtaccccgcataagtcctagaattacatttggtcagcaatgctgacatttgaccgtgaa +aacataattttaatcagaaggcagctcacccgcttgctctagatcttatctttgtatgaa +tgtcagaatttactgcaatatccgttccgaatagtgagggcttagtatagttctctgtat +acaggtcacatcaaactccccctgtcctagtacagctctgagctttaattaattgcatac +atttccttcaatcatcagatgaaaacaccgcgaatcatgctcttctcgtatagggcaaga +gaagcaacaaacaactagcccgactcacgttcatccgccgtatccttgttcagttcttac +tccgtattaggtcagcgaaatctaatcagaataatcggtcgcgtatcaaaattaaaatcc +cgcttgaggttgacaattaaaacgctgagcagttatcggctattagatagtggggtgaaa +gtaattggctggaattatgttaaaacgtgatattaagctaaaatacgctacttgttgccg +acctaattcagtcattcgatattcagttagagccaagaataacaagcttgtataaattga +acggggtgcactaaacgatgtgttactctaatattcagcttggagtatacctgaaggcga +attcatgtatcggccaataataagacgttgaagatcacaatttggactagcaaaagaagg +tgatttatgcgtggggattgagtccactgtacgagtacggtctctggaaaattataggtt +cagggaatataaggaagtaaagataattaccaagagatttttggtatcgctatgacccag +aggtgttctaacgtctgttttgatccgcagaatttctgcctcaatgcatatttgacggac +ttgaactagagcctctaaagttaaatggcgacgcaactgttcctaaacttcaattattac +tactctttttttcctagggtattgtagaggccagtggacaaaataaatcaaatttaagat +gtttcggacattaacatcccccgtagcatagaaatcatcagttatccaatctctcatcga +gcttttacaatttctgctggcgctatggacagcatatgccgcgagacctccgcaagactc +acttgatcactgtaagtatcttcattagaggttagagcctatagttaagctgctgaccta +gtaaaattggtattttctaattttattgctcaagttaaaggttagtgaagggataatgac +gttatttttgaacaatgggttgtattcaattttatatcacgaatggaacccttcattccc +ggcataatactagacgacacgaacaagctccgatctatcagccaggcacgtgttaaggtt +taattccggcaaaccaatgaagcatcaaaaggtgacctgatgcaacttagggtcacgatg +agtttttcaggactacttattacctattaataagttaacatgagccttcataccccgtaa +gacaatacatactccaccaattagaattctgagccatcttatctttttgtatcatcgaag +ggtatggccgaataggttaattagttactcctaacgtctctacaggcatgcatttgacgc +accttcgaaaatagtcaatctctcgccacacgcgtctagtatgcagcatcaaaaatatag +tccacggtttccggattaccaaacgcggcaaagagaaacattgtatcgacggagataact +taatacagaaggaaggggcatcttcgaatacggatgaataattctatctgtttattctga +catcttgttttcaggttaatcttacgcattcaaatgacgcctgccccatgcgtgcgcaat +tattttctaatattgacgagagcaatctcactccttttgggtctatttatgttttattga +ggcacaagcctatacagaacaggtactattaaggccgtgagtgtgagactcaaaccgtgg +aaacaaaggatgggttgttcttggtacaagttttagtgcatgtgggcaatccttaccaaa +atcagatgctatccttaactttgggctgcatttaagatggcggttggaggcctgtgagaa +tcctgcgtgtcatctttaatgaccgaattcatccatgtagattcagatcacacactcatt +ccttgatgttgtctaaacaaaagttgttgtggacgcattggagggagttaagtaacaact +tgggatcgcatacttataaaaattatatgttaaactttcacaaacgctgaagtccaaagt +aactagcccaaacgcctcgagagtcactaggtattaatggtgtttgagttcctgtgaaat +agtgttcgaaggtaaaatttatgtaccaaatcgaaagaacacttaataaggcttgcttgc +acggaggtatgatgtttactgactctacaaccctaattttccagtacgtacattcattcc +aataggttagttctcaaagtgctatacaggctcctcaattgatgatatgcttcagccgct +ctatggatattagctcattttatttaggaagcccgcttagaggcttactatgagggaaat +gccaaaatgtcatacttttcggtgtgtcccatatgacaccgctttacatagaatttgaat +taaaacgcgctctcccgttcactaccatacttggtaccgtgcgcatattacatatagata +taggatcattttttaaagctgtactaggtttgatcgacaatcttatgctatactatatga +tgtaaccctcataatcaataccgatcgtacgatcctagcataggtggcaagcgattttat +gccgattattgtgttaaatagtctgtgagtgtgattatcagggctacgttggtagagggg +ttgtatagacctcgcacacattgtgacatacttaacaatatacgaaaactgatataataa +atccccttacccaaacaccaatcccgttgaatcaactaccataacgtctcccatataaat +tgcctacttgtttgcataaatctgaatacataacaccattgcaccttcttgtgttccaat +cccgttaagattgccttgtcagatgatatgcaagaacaatagcatttgctagcaattatt +aacagctcttcgaattgcctccacataacgcgggagggtatattttaatttggcaaatac +taagtactgttggcgtcatatgctattaacggttggatattaagttatgtcagccgtaag +caagagtgggcgaaatattttgttacccagtgagagcactcttagagtttggatacaata +ggccatatgttgacttaagaggacgtaactacgccgtacaccattgttcaaccgacttct +tggcaaatagaatcgtattagcaatcttaagaatagagacacgttcgtgttagggtatac +tacaaatccgaaaatcttaagaggatcacctaaactgaaatttatacatatttcaacgtg +gatagatttaacataattcagccacctccaacctgggagtaattttcagtagatttacta +gatgattagtggcccaacgcacttgactatataagatctggggatcctaacctgacctat +gagacaaaattggaaacgttaacagcccttatgtgtacaaagaaaagtaagttgttgctg +ttcaacagatgatagtcatgacgcgtaacttcactatagtaaattgaaacaaatacgcaa +tttagacagaatggtacggtcatgaatgacagtaattcgaagtgctagaccaacttaaaa +taggtaaacgtgcccgaaaccccccttaacagaaagctgctatcatggtgcagtatcgac +gtgttcagaaacttgtaacttttgagcaggtccgagcacatggaagtatatcacgtgttt +ctgaaccggcttatccctaagatatatccgtcgcaaactttcgatttagtcccacgtaga +gcccaagcgttgtgcgactccacgtgcatgcccagaaatacgagtttaaatttggttaca +tggttaattttgaccgaagcatcgcactttatgattgataattggattcaatatgtcgcc +ctatgcgaatgcaacatgatccacaatttggctataagacgtttaatccgtatcacactt +tgtttgcggctagtatagtaacgcccgtgcaccaagagtcagtaacaattataagtactc +cgcaggtacttcaaatataaaaactaatcaaacacgacccatatgatcatctgaagatat +ttggaactttctcgacaaccaccctcgtactcaatacttacactaatcgacaggcacacg +caacgtgtacagtcgcaccatattgagtcaagatttgcttagtggcgatgagcgtacacg +cttatttctctagtcacaattagttatctacgagacatcacgagggagcaaataagcgat +gttatggctacacataggcacgtatgaatatgatataagccagttaaacagtcgaaccat +cgagcaaattctcatgcaccaacccacacgttgaggcacaaagagtaagctgtttgaatg +taacttcttctgctgagcgggccccaacgtaaggatcaactagaagagaaaactcggtat +tagtttaaatgcgtcacggagcatgagtgcatttcactaagaatgtctgtgtaaccaata +taacatctatttgttatctgattgcctacttatggctttgcggtcgtggcgactaatgtc +tccaatccttttgaggtcggtaccaactccctttaaattacgctgtgcaggctcatgcac +tgcatacatatacggtagcaggtagggacctcacgcacccttattataatcaatagtagt +tatcagtcaacgaggcaggaatgctgaggtcgaggtgttggtatattttctatgtgccgt +ctaggcgactatcacgcattaccaggcgagatttaagccaattttgaatatagtcaacgt +aatttttactatgggttccaccgaaacgccttgcacaactaagaatcccataaaatatcg +atatcaaataaaagattgtgtcaataccttcatatatattttttcggttgactaacgtga +actaaggttaggggttttgtatgtctatataggaaacagtttcttttctgtcctacttta +gtaaagtcttcaagccttactccaaaatcacggtgattaagccgttactcagcagcatga +ttctgcctgctcgggtcctaaaatccagccttgtaagagtcgctgtgtattagctaggga +gacctttgttaaaaaggatatatcgcggcgggatgtgagtgcgtggcgcatactcaatct +tcagctcgtgtcattataatatctctcccccacgcttttcactagatatgccgtgtaagc +aaacaccttatgcttaatttcgaaaatattggtacttgaaaaaagctgtaggggtactta +atgtctggtaggagatcaggagagaattgagtgtaaaaccgtaaagccctcacctgactt +catgtaaatggcttagaagactccatgatttaataaatactacgaaggaaagactggatc +taaagataactctagtaaggccaactcccttcaatgctgttgccagttataatccaagag +ctgtccttttctgaaccatagcggcttctgaagcgaactagaagcaaagttggttctagc +cagacagccacataccctgtacgggtgtattactaaaactggtccggtattagttcacca +agggaggaattaggcaaaggatctaggtatgcaagtcggagtattacatccctaccctga +atccatcaataggttcctctgtactggccttcgcaatgagtattcaaggttgtacagccg +tataataataagatagtgactatgaacgggaagtaacccgctcaccttccccaaaacatt +gttatatctaagtattaaagtctgccgtagtgttaatactcgaaaataaacaactggcaa +attacaccgcacttaagccgcttttgatttatatttttccaatgcgcttttaaaaataat +tcagtcctacatactaattaagacccttaaacggagatatcacaagttaagttttaacca +tctcgactaggtggaactatagatacccaactcaatttatcattacctgtaatgttccta +gaaggattgcatttcatgtcaagacggtggagtttcacagcgaaacttcagtgtgaacag +attctgagaaatcacctaaacctattagtcagagcacccggttagaaccagttgtcaaaa +aatagagcggttgcatgagacagaagtaacgatgagatccgttgtaacgttgagacatct +ggcctatcgtcaatacagtcctcccttaaaaatatttttaaatactaggcaaacccaaca +taggttagtcctatgtgatacgccacatggtatatcattttgtaacgttacctagggata +atcaggaagtggaattacgcaaaagtagacagtgaaatgcttagggttatagtctagtcc +aaagataaaggataaagcacgtcagagaactatattagccgaatgggaatcattgttagg +agactgtggatcatgtctaaaaagcaacgcagaaacagtcatcgaaaaaatctcgttttt +gtttgaatctaaaagagctttgatgaccgatagtacctgtatactagttactgtattacg +tgtctaatgatttcggattggggtccccagaatcagacgtcattgtagacgattcaagtt +taccaatttaatttcccagctctccttggagaactatcgccaataattgcagtcactttc +cttttctgaaacgataaagccgtcagagttctctgcaacgttggacttacctgaggttct +aacccactttcggttctaatagtagttaacgacacaacgaataacctttactgtggggct +ttcacgatattttttcgcttattattaatggttacgtcataagctggtgtccaaattaag +gttaccggcttcgcagagtagttgtatccaagtataacttccctaatcataagatcgagg +tagaaaattaatgctgtctctaaccgaacagatatgtcccactatgtggtatggacgttg +ctaattacttctgaagggaaattggtcattatggatacgtgtctaccatcaggtcggacg +cagatatggttctgtcttcagttgatccaccgttctttataggataataactgacgatta +aagattatggtaaatagattaagccaattctcttcttgtcagtgaagcatccttaactga +cttgctctgcagcccctcatacatttagctattcaaagtaccggctcgtttcaaactctc +ccacctttggaagaggttgtcaacttgataagtatatcatttacagcattttttcggacg +tacctctaatgtttcattgcagaaaattagttttttctatcgcacattttgcaagtaacg +ttagagacacaattatctgcgaatgaactgctagatctgacgaccgggagcctcgcaaat +atcaaaaaagactgacatatatcaaggagtcgttgacaagtgctggtaagtcaattggtt +tatctgtcccggcgtttcgatcttaagctgaccatgcacggcagagtaatgtcactctcg +ttcttacaagtctgtctccaagggtcggcaaaaaagacccctccattctcgagcccactc +acgatatgtagggacgacaacttgtgcggcttatgaattgtctggactgcgggcgagggt +ccatatctccgaagttagaagggacatacctttagatgataagatcaattcttattgacg +aaattcatccacaacggggaacaacttcaccctagacttacgtctgaaaagacacctagc +gtcttataaaaggtcagtgccccgtttcgtaaggctggaattacctacgcaaacttaaac +ctcgcgcccttccttacgtatcgacaagatagaggctatcgcgaatgtactacggaggca +tgaatcatatactagaaccaagtgcctgtgatattaacaagatgatccgacgcgagcacc +gtaattctaggcataaaactccagcaatttgggggccgaaaacaaatgacgttagctaat +taattatatgacatgatcaaaggaggtcaatcacgcatcgagttcgacgtatattcattg +aacttcgtgcgtttgaaagaaacttttatgaaggcaaaattgatcctgtctcctatttca +tgcgtacctcctagttgataattccccgagcagtggttaggacacttttgtcggtatcaa +gttccggtctcaaaacgtaaaattctgtaatctgtatggatggtctgtgaattagttaat +ttttatgaagtcgtcgagacgcagttcctattgatttattctaaacggagatgtgcttcg +tgggactcggaagtagatctgtgtttatgattattgctactttagatgctgactgttaac +tccgtgttgtttttcaaccgtatatcacaaccgaattggatagaacctatagtttcaagt +tctgccacaaggtatcatatttacagttagtgctggttgcttctttcaaacgtggtgagt +ttgtgctatcacgtcaacggtagagctcagtggaccgagtgcgcgttcaaccctgttcca +gagagggtgtgatagcacatataccacgctcgtcgaggcgttcatgatagtttgcaagag +ccggtgttaaacacatattattattgttatccaactaatcggacctatgcataaagcatt +gtctaaacagaataattgcctatatacggtagttttagtgatttatatcttagtatcagt +tagagcttcgaactcttcaggttcctcatatttaacgttcttcgaaagcgaaaacttcta +caaacgaatgtaagcggttttccaagtagtacctataaatcacagaaagatctgtctcag +tatagttgaaatggtattcagctagtgacgtgtaccaattatcatagttcactcaagcaa +gacgctcattaacgaatatagacaagacactatatcatataataaaaaagaacatggtgc +tcgaacatagttgaattcaccatattgaaggggaatgctgacatgtaattcgctactaga +cgatcaattccctacttgtcaaagttgaactggtacgttcttggaattaaatatgattgc +gctggaccaaattgcgacttcttgagtttcagggcaaacgattgagccggaggatgtccg +tctcttacctttcttgcttatgataaacgacggtccctgtacatcactgggaattctcag +caaaaataattgggtaaatcgagactcgatgtattcggccacaaaggtgttagacgttaa +agattattcaacggggcgataataggatcataaccggtatgcaagcgcattgaaagagcc +atgagatccttatccgataaacgctgcacggtatgtgcagccttattgtcgatcacgaat +ttataaatgtagtctgggctgtaagttgaagacctaagttataatgaagtgcaataccaa +atcgattcatagtggattatcagactcaagatatctcctgataaattacagttgttaaga +tacggataaaatgagatttaagattagcagcctctaatctgtttcaatcccgttggaatg +tggtatgcgatcaaggttaagttaaaatcaagcctgtcttcagtcttgattcttgttctg +ccatcgcatgcggtctacgtgagttaatatgtagcttacgttctagcttgtgctaatctg +agtatagattcgtagaggaatattatcaagcttccacgcctcaacgtacgtgtattggtc +acacaagacactaaaagtggaagtagcgtaaactatagtctagttgttaaatgctcagtt +cttgttatattcgatatactcttggctaatttatgtctgagtatataaaattaatgatat +taacttgcatttcacggatcccttagaaaaagattttgaccgagcgcattataaacggtt +acaccgaatcaatagaagcatacccaatagctttctttgaatttattgcctgcgcaactt +ggctgactctctagatccgaataattctatatggtcgtgacgaaactagttcattactgt +ttaaaatgccaacatgtcttttgggccgataatggctctttgcaaaattactcaatgata +cgattgatcaaagcggtagttgctagtggtagcatgtaagtctatcaaatgtctgattat +ccgaaaatcttccaaaagagtccacgtaccatatctatctcatagcgacgcgaggggaac +cttatctaactatcattccatttaccgggtgactctcgatgcaggatccgattgggataa +attgcccagaaatggctcattcctgactaagggtaaggccgttctcagcaagggaacccc +gcgaatctaggcttataccatctagattgttaactacttgcctgtagttctacagccata +ctggacagttgtttctaaatgatcgggattcatgctagcactcctctgaatgcaccgcgt +aagtttaactattacgtccgtgggcagataaggatggaggctgtatgtatcttaactgtt +acctaatatggctggtaattatcaaagtaaggaccttaatgccatagcgctagcaatcgc +tttgtatactgaccatgtgccaacctctcttaatctgtaaaatataatgtcttagctaac +tgtggacgatcatgtctctgcctagagcttcgctgtatcaattcctatagccagcgtact +agtgacacaacaacaccgtgtgagaaaagatattagtccttacgtctgtctctctacagc +ttattgatgaggattgaacatggacatatagctccccctcaaaagcagatgctacctctt +tattccattctcgaacatttgccgaacttaatttcgacaaacctgaggtcacgtcttaat +ttatcggtaacgtcacgtccctttgagactggataaatatattaccaggggccaacgagc +aattgttggaggcgcttctataatacaaggtgtcttgtcaaagaaagacggcgtgcgtct +cgtgcaactcacttaaccaatattaatgtgaaacccccctctctcacatcttatgcggtg +tactgccctggtacatttcctgtacaggactccaacagtgtagattcctaagatagctgt +tggagttgcctcacgccagatcgaaaaactgaataaactagtgagctgagctgcagaaat +accgcttaattacttatgactagttcaaagggacctacgtgatgtcagacattgcaagga +agaaattaggtttgtgcgtcattttggctggactagcactccttacttcccctactattc +aaatgtcgtaaacagcatgagacaggatcgtgctgacatttaaggtctattgggaacgag +gctacctttggtcgcgcgctcgcgttctccgaatgaccgaaatgcatgagcacagtatgc +aattgcttatagatctaaggtctggtcgttgaaaccaagcacgtaggcctgggaaatcag +ttcttcctcagcaactacacaaaagcgtccaagcattagtacttgtagtaaatgtccgaa +cctatgcgctcatttgaaagtcaaaaaatatttttaagcagtaggcacctaacccgattc +ctctacttagtagctttctttgattctcagaattgactgcaatatcactgcacaattctg +tgccattactagacttctctgtattaacgtctcatcttactaacactcgcctaggacaca +tctgagagtgaagtatttcaatacatttactgaaatcttcagttctaaaatccccgaata +aggctcttatcggtttggccaacacaagaaaaaaacttcttgcaccactcaccttcatac +gcaggagcctggggaacttagtaataactatttcggcagacaaagcttataacaagttgc +cggcgcgtataatatttaaaagaccccttgagctgctcaattaaaacgctcacctggtat +aggctattagatagtgccgtcttagtaaggggcgggaattatcggataaactgatatttt +gataaaataaccgacttgttcacgacataagtcactaaggagattttatctttctccaaa +gtatatcttccttggataatttcaaagcgctgcaatttaagttctgttactagtttatgc +tgctgggaggtgaccggaaggcgtagtaatctagaggcaaattataagaagttcatcata +tcattttcgactacaaaaacaaggtgttgtatgccggcgcattgtgtaaactggacgagt +accctagatggaaaattatacgttaagccaagatttcgatgtaatgataattacctacac +atttttgctatccataggaacaagagctgttctataggctcgtggcatacgaacatttgc +tgccgctatgaatattggaagctcttcaactacagactctattcttaattgccgtcgaaa +atgggccgaatcggctattattaatactcggtttttccgaggggattgttgtcgacagtc +gtaattattattaatattgatgttggtgaggtcatttaaatacaaccttgcagacaatga +ataagggatccaatctctcatactccttttacaattgctcatgcccctatgcaaacctta +tgccgccacacctccgcaactctctcttctgaactgtaagtagcttcattactggtttga +gactatactgaagctgatgacattctaaaatggctattttcgaatgtgattcataatgtt +tatcgtttgggatggcagaatcacgttatttttgatatagcccgggtattctattgtata +gaacgtatgctacaagtcattccccgaagaagactagaagtaaacaacatgcgaccatcg +ttaagccacgcaaggctgtagctttatttcccgataacctatcttccataaatagcggac +agcaggatactgacgctcaacatcagtggttatggtctaatttttaacttttaataaggt +aacttcagcaggcatacacagtaactctttaatttataatcaaattagaagtctgacact +tcttatatttttctatcatccaacgcgatcgcccattagcttattgtgttactaataacg +tatctaaaccaatccttttcaagctactgcctatattgtcaatatatacaaacaacagga +tagtaggctgcttaaaaaatattgtcaaccgtgtacgctttacaatacccggaaatcaca +aactttgtagacaacgagtgaaatttatacactacgaagggccagcgtacaagacccatg +aattaggcgatatgtttattctgacatattggtttatccttaatctgtcgctgtaaaatg +aagccgcccccatccctgcgaattttttttcgaagattcacgactgaaatataaatacgt +ttggctatatttatgttggagggaggcaatagcctttactgttaaccgaagatttagcca +gtgagtgtgacactaaaacactggaataaatgcaggcgttcttctgggtaaaaggtttag +tcaatctcgcctataagttcatatagctctggatataattatctggcccatgcatttatc +atggcgcttggtgccctgtgtgaagccggcctctcatattgaaggtccgaagtattccat +gtacattaagatcactctctcattcatgcatcttggcttaacaaatctggttgtccaagc +tttccaggcacgtatggtacaaattcggatcgaatacttataaaaatgatatgttaaact +gtctaaaacgctcatctacaaagtaaagtgcactaaccaatagagtctcaagaccgtgta +atgctggtgcactgaatgtgtaatacggttagaagggattagttatgttacaaatccatt +gaaaacttaagaagcattgcgtgctcggagggtgcatcttttatcaagagactaacatta +ttttcaacgacgtacatgctttacaatagggtacttatcaaacgccgagaaacgcgccta +tagtgatgttatgattatgacccgatatccattggaccgaattttatgtaggttcccagc +gtactcgcgtaatatctcggtattgccataatgtaatacttgtcggtctctcccagatga +aaaagcgttacagagtatttcaatgaaaaacagcgcgcaacgtcaatacctttaggggta +acggccgctgatttcatatagatatacgataagttggtatagctctactaggtggcatcc +acaatcgttgcatttactatagctggttacaatcataatctataccgttccttacatact +accatagcgggatagcgtttttttgccgttgattgggtttaagaggatgtcagtctcatt +atatccgattcggtgggagagccgttgttttcaaatcgcacactttgtgacataatgtac +aagataacaaaactgatataagatataaactgtcaatatcaccttgacacttgaatcaaa +gtaaattaactcgcaaatataatttgactaattgggtgcagatttctcaattaataaaaa +aatggcaccggatgggcttacaagccccttatcattcacttgtatcatgatttccaagaa +caatagaatttgctagcaagtatgaacagagattcgaattgcatccacagtacgccggag +cgtttattttaatgtggatatgacgatgtactgttggcggcatttgctagtaaccggtcc +ttatttacgtagcgcacacgtaagcatgtctgggagaaatatggtggtacaatctcagag +aaagattacagtttggtttaaataggacttatcgggtcggaagtggaacttaataagcag +tacacaattgggcaacagacgtcttgcctattacaataggattacaatgcgttagatttc +agacacgttcgtgtttggctattcgtcaattccctaaatagttagacgatcaactattat +caaagtgattctttgttcatcctccattcatgtaacagatggcacactacgcataacgcc +gaggaattttaacgagatttaagagagcagttcgggcacaacccacttgactttataaca +gctcggcagcataaacggtaatatgtgacaaatttccaaacgttataagaacgtatgtgt +acttagaaaactaagtggttcatgttcaacagatgtgacgcagcaagcctaacttatcta +ttggttttgctataaaagaacaaagttacacagaatcctaagggcttgtttcacacttat +gcctagtgcttcaccatcttaaaatagcgaaaccggcacgaatcaaaccttaaaacaatg +cgcagatattggtgatggtgactccgggtatgataatggtaactgttgaccagcgcccac +ctcatcgaagtatagaaagtggttaggataaggatgagaccgaacttatttccggccata +actttagattttctacctagtacacaacatcagggcggacacgaaaccgccatcacatca +tataccaggtttaatttgcttaatgggggaagtgtcaacgaaccttcgaactttagcagg +catatggccattatatatggccccagagcagaatgctacagcagacaaaatttggattta +tgtagtttaatacctatcaaacttggtgtgaccatacttgtctaacgacagtgcacaaag +tgtaagttacaattattactactcagcagcttctgcaatgataaaatcttatcatacacg +tcacatatgataatatctacttagggggaacgggctccacaacctacatagtactcaata +cttacactattcgacaggcacaccaaacctgtacagtcccaaaagattgagtcaactttg +cagtactgcagatcacagtaatagcttagttagcgagtcaaaattagttttctacgagac +tgcacgaccgtgcaaatttccgatgtgttggctacaaatagcaacgtatgaatttgtttg +aagccacgtaaactgtacaaccttagagataagtctcaggctactaaaaacacgttgtgg +cactaacaggatcatggttgattcttacttattcggctgaccggcccaataagtaacctt +caactagaacagaataatcgggagtagtttaattcagtcaaggtgcaggtctcattgtaa +ctaacaagctctgtgtaaccaagttaaaatcgttttcttagcggattccctacttatgga +tttgagctcgtccacaatattcgatacaagaagtttgtggtccgtaacaacgaaatttta +attacgctgtgcagcctcatccaaggaattaatagaaggttgatggtaggctccgaacgc +tccatgattataatcaagtggactgtgcagtaaacgaggaaggtatcctgacgtcgtggt +gttcgtttttgttatttgtgccctatacgagtagataaaccatgaacagcacagtgtgaa +cccatggttgattttaggctaccttatttttaatttccgttacacagaaacgaattccac +aactaacatgccattaatttttcgatatcttataaaagatggtcgaaattcattcattta +ttttttttcggttctcgaaagtcaactaagctgtcgcgttttgtttctctttagaggtaa +aagtggctttgatctcctacgtttggatactagtcaaccattactccatttgatccgtga +gtatcacctgtctaacatccagcattatgactcctcggcgaagaaaagacacacttctta +gagtcgatgtgtattagctagggacacagttgtttaatacgatagtgagcccagggaggg +cagtgcgtcccccagtagatttattcagctagtgtaagtataagatatctcacccacgag +gttcaagtgatatgcagtcttagaataatacttatcctgaatttcgatattatgggtact +tcaataatccgctagcgctactttatgtctcgttggacagcaggacacatggcagtctta +aacactaaagacatcacctgaatgaatgtaatgggattacaagaatcaatgaggtattat +atacgacgtaggaaactctggatatatacagtaatctagttacgccatcgcacttcattc +ctctggaaacttagaagacatcagctgtacgtggaggaaccagacccccgtatgtagcca +aatagaaccaaagttgcttatacaaacacacccaatgacaatggaccgctggagttcgta +aactcggaacgtagtactgcacaaacccagcatttagcaataggagctacgtatgcaact +cccacgtggtaataccttcaagctatcaatatataggtgcctagctaatcgcattcgcaa +gcagtattcaagcttgtaaaccagtataataattacagaggctctatgaaacccaacttt +ccagctaaaagtcccaattaaatggttatttcgtacttttaaagtcgcccgttctgttat +tacgcgaattgattctactccaaaattaaacacaaattatcaaccgtttcatttatattt +gtcaatgcagctgtttaaaataaggctctactaaattataattaagacacttattaccag +atttctctagttaagtttgaaccagctcgactaccgcgaaagatacattcccttctctat +ttttcagttcatctatgggtcagagaagcattgaatttattctattcaccctcgtcgttc +acagcgaatcgtcagtgtgatcagtgtatgagaaatatcctaaaccgtttagtcagacca +cacgcttagaacaagtggtctaaaaagactgccctggaaggagtaagaagtatacagctg +atccggtgtatccttcagtcatctgccctatactaattacacgacgcaaggaaaaatagg +tttattttctaggcaaacccttcataggtgactccgatgtgttacgaatcatgcttgaga +atgtgctatcgttaccgacggataataacgatctccaatgaaccaaatgtagaatgtcta +ttgattacccttttactattcgacttagagataggagatagaacctcagtgtactttttt +agccgaatgggaatctttgggaggtgaatggccataaggtcgtaaatccaaccctcttaa +agtcttccatattatatcgttgttcgtggaatcgataacagatttgttgacccatagtaa +atgtatactagtttatgttgtaagtgtagattgttttccgattgccgtccaaactttatg +tcgtaattgtagaccagtaaagttgaccaaggtaagtgcccagcgatcctgcgagatcga +tcgccaatttttccagtcactgtaagtgtaggtttagataaagccgtatgagttatatca +taagggcctcggaaagcagcttcgaaccaaagttcccttataatagtagtttaactataa +aagtatatactggtctgtcgccctttcacgatttgttttaccggtttatgaagcgttacg +tcattagagcggctccaatttaaggttaacggcttccatgtgtagttgtatacaaggata +acttaaagtatctgttcagcgagctagttaagttatcctcgatagaacacaactcagagg +tcccaagatcgggtttgcaacttgctaatttattctcaaggcaaattgggaattatcgat +acctgtataccataaggtcgctcgatgtgatgcttatgtcttctggtgatcctaccttag +ttagtgctgattaacggaacattaatgtttatcgttttgagatttagccaattctctgat +tctaactcaagatgccttatctgacgtgctatgcagcccctaagtattttacattgtaat +aggacacgctcctttaaaactcgccaaaaggtcgttgtggttctctactggttaactata +taatttacagctttgttgagctagttcctctttggtttaagtcctcaatattagttggtt +cgagcgataagttggctagttaccttagtcactatattagatccgaatgttatgcttcat +ctgaagaccgccaccctccaaaatttcttttaagactcacttattgcaaggtgtaggtga +attcggctcgtttctcaagtggtgtatctgtacacgagtttccatattttcatcaacagc +caccgcacacttatgtcactctaggtattaaaagtcgctctacaaggggacgcaattaag +aaacagacatgctagtcaaaaataaacatagcgaggcaccactaattcggccgcttatca +atgggatgctctgcgcgagacgcgccagagctcagtagttagttcggacatacatttact +tcagatgatcaattagttttctacaaatgcttactctaccccgaaaaaagtcaccagact +cttacgtctctttagtatccttccgtcttatataaggtcagtcccccgtttcggtaccct +ggaatttactaagaataatgaaacagcccccaaggacgtacgtttacaaatgatagacca +gatcgcctagcttattccgacgcatgttgcatagaattgaaccaacggaatgtgagagta +actagatgagccgaccacagcacccgtttgcgtcgcagaatacgcctgatagttcggcca +cgaaatcatatgtcctttgagtattaagtatttgtaatgatcaatcgagctcaagcaagc +ttacacttcctcggatattcagggaacttagtgcctttgaaagatacgttgatcaacgaa +aaattgataatggctcatatggaatgcctacctcatagtgctgaattaacacagcactgc +ggacctaacttttcgaggtttcaagttcacgtctcaaaacctaataggctggaatatgta +gggatcctcggtgaatttgtgattgggtttgttgtagtactgaccaagtgaatattcttt +ttttctaaaagcagatctgctgccgggcactacgaaggagatctctgtgtatcattattg +cttcttgacatgatgactcttaaatcactgtgggtgtgcaaaacgatagcacaacccaat +tcgatagtacatattgttgatacttcgcactaaaccgttcatatttaaaggttgtgctcc +ttccttcgttaaatactggtgacttggtcctatctactattagctagacctctggggaac +cacgcccccgtaaaacctgtgcaagagagggggtcatacatcttagacatcgcgcctcca +ccagggaagcattgggtgattgaccaggtgtgtaacaaatatgattattcttatactaat +attagcaaagatgcataatgatttgtattaaatgtataattgaattgataagggtctttt +agtcagtgatagagtagtataaggtagacattagaactcttaaccggacgcagatttttc +ggtcttagtaagccaattagtcgacaaaacaaggtaagagcggttactagtagtacctat +aatgcactgaatcttcggtcgaagtatagttctaatgctatgcagattgtgacggcgaca +aatgttcagacttatatcatgaaacaagctcttgtaagtattgacaaatgaaaagattga +atatttttaaatacaaaatgcgcctacttattaggggaattaaccagattgaaggccaat +cctcacatgtaatgagataatagacgataaatgaaattcttgtaatagttgaactgctac +gtgatgggtattatatatgattgagatcctccaattgccgacgtcttgtcttgatgccca +aaagattgtcaacgaggagctccctcgcgtacctgtcgtccgtatcataaacgacgcgac +atgtacagcactccgaagtataagcaataataatgcgggtaatccagactagatcttttc +ggactcaatgcggtttcacggtaaacatgattaataccggagagtagtcgagcttatcag +cgatgcaagcgaattcattgtgccaggagatacgttgcagataaaaccggcaacgtatgt +caacaagttttggcgatctcgttgtttgtattcgacgaggcgcgggaacttcaagaacta +tcgtatattcaagtccattaccttttagtttcagactggtggagctgactaaagttatat +catcattttgtacactggtttagttaacgataatttcagatttaacatgaccagacgata +atcgctgtatatccagttggaatgtggtttgccagaaaggttaacttataatcaagcctc +tcttcagtcttgattcgtcgtatcccatccattgcgctatacctcagtgtatttggagct +gtagttataccgtgtgctaagatcagtagacatgacgagagcaatattatctaccttaca +agcatcaacggacgtctagtcggaacaaaagactctaaaactcgaacttcaggttaatat +actatagttctgtattcagcagttattcttatattcgatattatcttgcctattggatgt +ctgactttagtatattaatcatagtatctgccatgtaaaggtgccagtactaaatctgtt +tcacagtgcgaattataaacggttacaaccattaaagacaacaagaccctatagctttat +ttgaattttgtcaatgcgcaacttggagctcgcgatacatcccaattagtctatagggtc +gggacgattctacggcatttctggttataatgacaacatggattgtggcccgagaatcgc +tctttcattaattaagcaatcattacagtcttataagcgctacttccgagtggtagcagg +taactcgatataaggtcgcatgagccgaatagcttaaaaaacaggccaccgaacattgat +agagaataccgaccacagcgcaacctttgattactttcattaaattgtacggctcactcg +acatcaagcttaagattgcgataatgtgaactcaaatggatcagtactgaagaaccgtaa +cccacttcgcagaaagcgtacccagagaagatacgctgttacaatatacagggtgaaatt +attgcctgttcttcgtaaccatttcgccaaacttggttagaaatgatagccattcatgat +agaaataagctgaatgataccagtatctttaactatgtagtcagggggaagataacgatg +gtccatgtatgtttctgatatgtgacagtattggccgcgtaatttgctaacgaagctact +taatgcctttgagcttcatatagatttctttaatcaaaatcggcaaaaagatagtatgag +ctataatatatgctagtagagaactctggaccatcatctatatgaatactgattcgagcg +tgcaattactttagcctgcgtactactgactctacaaaacactctgagataagtttgtag +tcagtaagtcgctctctataaaccttttggatgaccattgtacagccacttatagatccc +aataaatagcacaggagacagagtttttcaatgctcgatcatttgccgatagtattttcg +tctaacctcagggcacctattatttgatacctaacctaacggccctttcacaatggagaa +atatatgacatcgggacaaacacaaatggtgggtggccaggagatatgacatggtggcgt +ctctaagaaacacggactccctctaggcaaactcacgtaaccaattttaatgtcaaacaa +aacgctcgaaaagattttgccgtgtaatgacctggtacattgactggtcaggaatacatc +actgtagttgccgtagtgtcctgttggtgttccatcaagacacatcgtataacgcaattt +acgacggacatcagatcaagttatacagattatttaagtatcacgtgtgcattgggacat +aagggatctcacacatgccttggaacatttttgctttgtgccgctttttcgctgcactac +caatccttacttaccagtatattcaaaggtcgttaacagaatgagaaaggttagggctct +aagttatcgtcgattgggatagacgagacatttgcgagcgccctccacggatacgaatct +cccatatcaatgtgaactggatgctatgcagtttagttcttacgtctcctagtggtaaaa +atcaaagtagcactcgcatagcagttattcagaacctaatacacaaaaccgtcaaacatt +ttctaattctaggtatgggccgatcataggagctaaggtgaaactcataaatgttttgtt +agatctagcatcctaaaaagatgcatatactgagtagctggcgtgcattctctcaattgt +atcctttttaactgaactagtcggtcccatttcgtgactgagatctattaaccgataaga +ttaataacactcgcattcgtatcagctcagagtgaagtttttcaataatttgactgatat +attaacttctaaaataaccctttaagcctcggatccgtttcccaatcacatcaaaaattc +ttattccaactatctacggattaacaacgtgcatggggatcgtagtaagaacttgttccg +atcactttgagtatatcaagttgacggcccggttattattgaatagaaacattcacctgc +taaattaaataccgcacatcggatacccgatttcagagggccgtcttactaagggcaggc +tttgttcggtttaactgagatgttcattattttacagtatgcttcaactaatatgtaacg +aaggacagtggatctgtctccatagtagatcttcagtcgtgaatttcataccgctcctat +ttaagttcgcgttcgagttgttgatcatggcacgtgaaagcaacccctagtattctagac +gaaaattttttctagttcatctgataatttgccaattcaaaaacaaccgctggtttcccg +gcgcattctctaaaatggaagtcgaacctagagccattatttgtcggtaacccatgagtt +ccttcttttcagaagttaatacactgtggtcctatacagaggaaaaacagcggttatata +cgatcgtggcataacaacattggatcaagatagcaatttggctacctattctaattctca +ctagattcggtattccactacaatatcggcagattaggattggatgaataatcggtgttt +aagtccggttgcgtctccaatctcctaatttttattaatattgatcttggtgacctattg +taaataaaaacttcaagactttgaataacggtgaaaagatagaagactcatttgaaaatg +gatcatccacagatccaaacattagcaagacactaatccccaactagctattctgatcgc +gatcgtgctgcagtactcctgtcacaatagtctgttcatgatctaattctttttgggctt +tgttcgatggtgattcagaatctttatccggtcgcttccctgtagctactttgtggggat +attgcccggggattatagggttgagatcgtttcctaaaagtatttaaaccaagtagactt +caactaaactacatcagaacatcgtgaagacaccatacgcggtacctttatttaccgata +acatttcttcaagaaataccggtaagcagcataatgaccctaaacagctcggggtatcgt +cgtagttttaaattttatttaggttactgctcaaggaataaaaactaactatttaattta +taataatattacaaggctcacactgattagatttgtctataagacttcgcgatcccccat +taccggattgtcttaagaataaactagataaaccatgcattttctagataaggcctttag +tctaattagatacaaaaaacacgatagttgcatccttaatttattgtgtcaaacctggaa +ccttttaattacccgcaaatcactttatgtcgagactacctctgaaatttattatctacc +taccgcatgaggacttgaaccatcttgtaggagttatgtttattagctaagattcgttta +tcctgtagcggtccatgtatattcaacaagcaaaaagcactcagaattgtttttagttga +gtcaagactgatatataaataagtttccctagttttttcgtggtgggacgatattgaatt +gaatcttaaccgaagagtttcccactctgtcgcacaataatacacgccaatatttccagc +cctgcttatgccttaatcggttactcaatctcccattgaagttcattttgatctgcatag +aagtttcgggcccagccttttttctgccaccttcctccaagctctgtagacgcactctaa +gattgatgctcacatgtattaattctacattaacataaatatataagtcatgcatcttcg +agtaaaatatctggttctccaacatgtcctggcacgtatcgttataatgcccatacatgt +agtattaaaatgattgggttaactggatattaagatcatcgaaattgtaaagtcaaatta +acaatactgtctcaagaccgtgtattcctcgtgctcggaagggctattacgcttacttcc +gttttggtatcttaatatgactttcaaaaattaagttgcagtgagtcctacctgcgtgca +tcggttagcaagagtataaaagttgtttaaacgaactacttgctttacaataccggtcgt +atatatcgccgtgaatccagaagattgtcttctttggattatcaaccgagatcctgtgga +ccgatgttttgggaccttcacagaggactccaggtagagctcgcttttgcattaatctaa +gaattgtacctctctaaaagatctaaaacagtgaatgtgtatttcatggaaaaacacaga +gaaacgtaaattactttaggccgaaaggcacatgagttattatacatatacgagatggtg +gtatacatcgaattcggggcatacactatagttgcattgtatttagctgctttaaataat +atgatattaccttccttacataagacattaccggcataccctggttttcaacttgtgggg +ctttttgacgatcgcactctcatttgatccgagtagggcggtgacccctgcttttcaaat +acaaaaatttcgctatgaaggtaatagattacttttcgctgttatgatagaaacggtaaa +tttaaaattgaaacttctagaaaagtaaagtaacgagaaatgattttgtgaataatgcgg +tcatgattgcgcaagtaagaaaaaaaggcaaaaggatgcgcggaatagaaacttatcagt +cacgggtatcttgatttcattcttcttgtcaattgccgacataggatgaaatcagattcc +aatgcaatacacagtaacccccacccttgattgtaatgtcgatttgaagttgtacgcgtc +gacgaagtggatagtatacgggccttttgtacggtgcgatcaactatgaatctcggcgag +ttagatggtcgtacaatctcacacatagaggtcacttgcctgtaatgacgaattttcggc +taggtactcgaactttattagaagtaaaaatgtgggcaaaagaaggattccattttacaa +gacgattacaatgagttacatgtctctcaacgtagtctttccctagtagtctttgaacta +tttaggtactccagaaaattttagcaaagggtttctgtgtgaatccgccattcatgttta +tgatggaacaataagaataacgccctcgtatgttatcgacagtgaagtcagcagttcggc +caaaaacatattcaatttagtacagatccccagaagttaagctaagtgctctaaaatggc +ctaaacggttatcaaagtaggtctaattactatactaacgggtgcatcgtaataactgct +gtcgatgcaacactatatgatagtgtcgttttgctatatatgtacaatgtgacaaagaag +ccttagcgattcttgcaaacttaggacttcggattctcaatcttaaatgtccgaaaacgc +aaagattcaaaaatttaatctatgagcagatatgcctgatggtgactacgcgtatgttaa +ggctaaatgttgacaaccgcacacataatcgaactattgatagtcgggagcataaccagg +tgaacgtactttgttcacgacatttattgacatgttctaaatacgtctcaaaatcacggc +gcactagaaaacgcaatcaaatcattgtcctggtttaagggccgtaatgccggtagtgtc +aaacttcatgagaactttagctggcttttggccagtatttagggaccaagagcactagcc +ttaagctgaatattttgccatttatctactgttataactttaaaacttggtggcaccaga +cttgtcgatacacacgcatcaatctgtaacgtaaaaggtttactaagaacaagcgtagga +attgagtttatattatatttaaactaaaagatgatattagcttctgagggcgatagggct +ccaaatcataaagaggaatatattattacacgattagaaacccacaacatacctcgaatc +gcccaaaagtttgacgaaacttggcagtactccacatctcagtaatacagttgggagagt +ctcaaatgttgttttattactcaatgaaccaccctcataatttcactgctgttccattaa +atttgcaaacgatcatttgctttgaagaaacgtaaaatcgacaaaattacagataagtag +atgcataataaaaaaaactgctcgctataacacgatcatcgtgcattcttacttaggagc +atcacccgcacaataacgtaccttaaactacaacactattagaccgagtactgtaattca +cgaaagctcaagctcgcattgtaaagaacttgctctctcgtaaaatgtgataatagtttg +cggagaggattcaattattttccattgcacctactccactagattcgataaaagaaggtg +gtcctcccttaaaaagaaatgttaagtaacatcggaaccataagcaaagcatgtaagtga +accgtcatccttccctaagaaacataaaggtttttaataatgtcgactgtgaactataac +tgcatcctttcctgacctactccggttccttgttgttatttctgaacgagaccagtagat +aaacaatgtaaaccacagtgggtaccaatggtgcatgtgacgctaccgttgttttaagtg +cccgtacaaacataagaagtcataatcttacttgaaattaattttgccttttattttttt +tcaggctcgaaattaatgatttgttttttttgaccttctagttacgctaatatgcggtcg +cctgtggtttctattgagtcctataacgggatgggatctaatacgtttggttactagtaa +acaaggtataaatttgataccggagtatcaactgtataacatcaagctttatgactcata +cgcgaagtaatgacacaaggctttcaggagatcgcgagtacagagccactaaggggtgta +ttacgatagtgacaccaccgagcgcactcactccccaagtagatttatgatcctacgcta +agtattagatatataaccaaagaggttctagtcagtgcaactcttagaataataattagc +cggttttgcctttttaggcctaatgcaatattcagctagcccttatgtatctcgcgttcc +acagcaccactcatggcacgcgtttaaactaatcaaatataatctatgaatgttatgcca +gtacttgaataaatcaggttttttataagtccttgcatactctcgttatatactgttaga +gtcttaccccatagaaattctttcatctgcaaacttagaagaattctcagctacggggag +cataaagtccccaggatgttgacaaatacaacaaatgtggcttatacaaacactccatat +gaaaatcgaaccctcgtggtagttttagccgaaccttgtacggataaatccctccatttt +ccaatagcagatacctatcctactacctcgtggtattaaattaaagcttgaaatatagag +ctgcatagcttatccaattcccaagcacgagtctaccgtcgtaaccacgatttgatttac +agacgctagagcaaacccatctttaaacatataagtaaaaattaaagggtgagtgcgtac +gtgtttactagcaacttcgcttattaagacaattgtttataagccataattaaaaacata +tgttcaacaggttcattgatatttgtaattgcacaggtttttaataaggatctacgtaag +tataatgaacaaactttttaccagagttatattctgtactttgaaaatgctcctctaccg +ccttagagactttcaattagattttttgcagttaatctatgcgtaagtgaaccatgcaag +ggatgcgattcaaccgcctcgtgctaaccctatcgtctgtctcataactgtaggtctaat +ataattttcagttttcgaacacataaccctttgaaaatctgctatttaatgtctcacctg +catgcactatcttctatactgctcagaacggctatacgtcactatgctccaagtgacgat +ttaaacgaagcaaggaataataggtttattttagtgcaaaacaattaagtgcggactacg +tgctctttacaataagccttgtgattgggctataggttaagtcccatattaacgatctcc +aatgtacaaaatcgacaatcgctttgcattacccggttactagtcgaattacagatagct +gttagatactcactctaattttggacaacaatcccaatcttggggtcgtctatcgcctga +agctcgtaaatccttccatcttaaacgattacatattatagacttgttcggggtagagat +atcacagttgtgcaaacattgtaaatcgatactagtttatgttggtagtctagttgcttt +taccattccccgaaaaacttgatctactatttcgacaacagtaaacttgaactaggtaag +tgaaaacagagaatgcctcatagtgccactatttgtccactatatgtaagtgtagcttta +cataatccactatgactgagatcattacggcctaggaaagcagcgtagaaaaaaagggcc +cggatattacgactgtaactataaaactagttactggtagcgcgccatgtatagatttgt +tttaccggttgtggttgcgttaacgaatttcagccgcgaaaattgatccgttaaccagtc +catctcgacttctataaaacgataaagtaaagttgatgttcagcctccttcttatggttg +catcgagagtacactactcagtgggaaatagatcggggttcctacttcagattgtattat +ctaggcaattgccgattgtgccatacctggataaaataagctacctacatgtgatgctta +tctattatcgtcatactaccttagggtgtcctgttgaacgctacattaatctttagccgt +ttgagatgttccaatggataggagtctaacgcatgatgaagtttaggaaggcagagcatc +ccactaagtatgtgacagtgtatttcgaaacgagacgttataaatagaaaaaaggtcctt +ctggttctattctgctgaactattgaatggaaagattggttgacctacgtactatttgct +tgaagtcatcaatttgacggggtgagagacatatggtgcatactttacggactctatatt +ttagatcagaagcttagcagtcttctctacaccccctcacgacataattgcttttaagaa +tctatgtttgattcctctacgggaattcggatccgttcgcatgtgcggtttatctaaacc +aggggacatatgttcagctaaagcatacgaacactttgctaactagacgtatgtatagta +gctataaatcccgacgatatttacaaaaagaaatgagactcaaatatatacatagcgacc +ctacacttattcgcaccctgatctaggcgatcctagcacccacacccgaaagtgagcact +agtgtcttccgtattaaatttactgcagttgagattttagttgtctactaaggattactc +taacccgtaataaggatcaagactcggtactagctttactatcattccctatgtgttttc +ctaactcacaagggtacgtaccagcctatgtaattacaataatgataaagacacaaagga +agtaactttacaaatgagtctccagttacactagcttagtccctcccatcttgctttgaa +gtctaaatacgcaatctctgaggatatacagcagaagaacactcataacgttggagtcca +agaattagactcatagggcccccaacatttaatatgtactgtgagtttgaaggtgttcta +ttgttaattcctgctcttgatacatgacacgtactccgtgtttaaggcttcggactgact +ttctttcataagttgagcaacgaaaatttcagaatcgataagttggattcactaactaat +acggctgattgaaaactccactccggacctatatggtcgacctttatacgtaaccgatat +aaaacttataggctggtatatcgagccttcctagcgcaatttcggatggggtttcttcta +ctactcaacaacggaatagtctttgtttagtaaaccagagctcaggacgcccaatacgta +ggagagcgctgtggagcatgtgtcattatggactggagcactcttaaatcactctgcgtg +tgctaaacgatagatcataacatgtcctgagtaaattttcttgatacgtcgcaatatacc +gttattagttaaacgttctcatccgtcatgcgtgaaatacggctgtcgtgctcagatata +ctattagcgactcatctcgcctaacacgcacacgtataaactcggaatgactgccgctct +tacatattagaaatacagactacaccacggaagcattgggtcattctcaaccgctgtata +aaagatgattagtcttataataagattaccaaagaggcagaatcatgggtagtaaatcta +ttattcaagtgattaccgtcgtgtaggcagggagtgaggacgagatggtactcaggacaa +atattaaccggacgaagtggtttacgtcgtactttcactattagtagtaaatacaaggta +acaccggggaatagtactaaatataatgatatctatcttcgggagaacgagtcgtctatt +gctttgaacattctcaaggcgtaaaatgtgctgacttatagcatgatacaaccgattgtt +acttttgtctattcaaaagattgaatagttttttatacaaaagccgcatacttatgacgg +ctagtatacagtttcatcccctagcatcaatgctatggacagtattgaacttataggaaa +ttcttctaatagggcaaatccgtcgtgatgcctattttttttcagtcacatcctcaaatg +gcactagtattgtcgggatcccattaacaggctcaaccacgagctcacgcgaggacatgt +agtccgtatctttaacgaagcgacagcgacagaactcccatggataaccaattataaggc +ccgtaatcctctagacatcgtttaccaataaatccgctttctccgtaatcatgttgaata +ccccagagtagtccagatgataaccgatgaaacacaagtctttctcaatgcacttacggt +gaacttattaccgccaacgtagctcatcaaggttgcgacatctagttgtgtgtttgcgac +gagcccagcgaacttcatcaactttcgtatattcaacgccttgtaattttactttaagac +gcctggtgatgtagattcttagataatcagtttgttatcggctgtactttaccataattt +cacaggtttcaggtcaagaagattatagctgtatatacagttccatgctcggtgcacaga +aacgtgatcggataataatcaatcgcttatgtcgtctttaggcgtatccaatacatgccc +cgataccgcagtgtatttcgacatgtaggtataccgtcgcatttgagctcgagtcaggac +gtcagctagattagattccttaatagaatataccgacctctagtccgaactaaactatag +ataacgccaacttcaggttaattgtctagtcgtctgtttgcagatgggattcttagatga +gtgagtatcggccatattggttcgagcactttagtttttgatgcataggatatgcaatgt +atagctgaaagtactttatctgtttcaaactcacattgattaaaccggtaaacctttaaa +gactacaagaaaatattcagtgagggcaattttgtcaatcacaatcttccagctagagat +acttcacaatttgtcttgaggctacgcaacattagacggattttcgcgttttattgaaat +aatcgaggggcccaagagtatccatagttcattttgtaagatttctttacaggcttatta +cagcttcttcagactcctacatgcttacgagttatatgctagcatgtgaacaatagatta +atatacaggaaaacgtacattgagagagatgaccctacacagcgcaaccgttgagtactt +tcattaaagggtaacgctctcgagacagcatccttaagatggccttattgtcaaatcatt +tgcagaagtacgcaagatccctaaccaacgtagaagaatccctacaaacacatgagacgc +ggtgaaaatagacagggtgttagtattcaatcttcggagtatcaatttcgccaatcttgg +tgagaaagcataccctttcttcagagaaagaagatcaatcataacactatctttaacgag +gtacgcacgcgcatcattacctgcctccatggatctttaggatagcggaaagtattggca +gcgtattgtgatttcgttcctactttatcaatttcacattcatatacatgtcttttatca +aaatcgccaataagataggatgagctatattagatgctagtagagttcgcgccaacatca +tcgataggaatactcaggacagcgtgataggacttttcaatccctaatactctctataat +tataactctctcttaagtttggaggcagtaacgcgctctatataatcagtttgctgcacc +attcttcagcctctgatacatacaaataaattccacagcagtaagagggtttaattgaga +catcttgggaacttaggattttactctaacatcaccgaaacgattattggataccgtacc +taaacgaactttctcaaggcagtaatataggacatccgcaataacacaaatgctgcctcc +ccaggagttatgtcttcctggaggctatatcttacacccactcactataggcaaactaaa +gtttaaatgttgattgtctaaaaaaaagatagataagagttggccggcgtagcacatgcg +aaagtgaatcgtaagctataattctctggacttgaagttctgtcctgttcctctgcaaga +aacaaacttcctttaaagctatttacgacgcacatctcagcaagttataaacatgttgga +agtttctagtcggaattcccaaagaacggatctatctaatgcattcctacatttttcctg +tctgccgatggtgccatcctattcaaagaatttcttaaaagtagattaaatgggactttt +aacaatgagtaaccttacgcctctaagggttcctcgagtgccatacaccagtcaggtccg +agccacatacacggagaacattctaacatagcattctcaactcgatcatttgcaggttac +ttctttcctatcctagtgctaaaaatcatacttgcaatcccatagcacggattaagaacc +taagaaacaattcagtaaaacatgttcgaattcttggtatgggaacatcattgcagctat +ggtctaacgcattaatgtttgggtacatcttccatcatataaacaggaagagtctgacga +cagggagtgcttgcgatcatgtctatcattgtgaaatcaaattgtagctcacatgtcgtc +tatgagagcgtgtatccgataagatttagaaaaatagaagtcgtataagatctcactgaa +cttttgaatgaatgtgaagcatatatgatctgctttaataaaactttatccataggatac +gtttccaaatcaattcaataattattagtcaaaatagataaggatgaacaacctgaaggc +cgatcggacgtagaaagtggtcccatcactttgagttgatattgttgaaccacacgttat +tatggttttcaaacagtctcaggatattgtatatacagataatccgataccagttgtctg +acgcccctcttacgtaccccaccctttgtgacgtttaaagcagttgttcagtattttaaa +ctaggcggcaactaatttggaaagaagcacagtggatatgtctaaattcttgttattcag +gcctgaatttaatacaccgcatagttaacttcgcggtagagttgttcatcatgcctcctc +taagctaccacttctatgatacaccaatagttgttctacggaatctgataattggccaag +tcataaacttccgctgcgttcaacccccttgctcgaatatccaactcgaaaagacagcct +tttggtgtccggaacaaatcagttacttcttttctgatgttaattctctgtggtcagata +cagaccaaaaactccgcggatttaccatcctccaagaacaaatttgcatcaacatagcat +tttggctacatattctaagtctcaatagtttaggttttcaactacattatcccaacatta +ggattggaggaataatagctgggtaagtccccttgcgtctacaatcgactattttttatg +aatatgcttctgccgcacctatggttattaaaaaagtcatgactttgaagaaccctgaaa +agatagatgaatcaggtgtaatggcagcagccaaagagcatataattagcaacactctaa +gaacattatagatatgatgatagcgatcgtcatgatgttatccggtcacaatagtagctt +catcagctaattcgttttgccagtggtgacttgcgctggaagaatcgttatacggtccct +tccctcttgatacggtgggggcttattcaaccgcgtggattgggttgtcatacttgcatt +aaacgatgtaaaccatctagtagtcaactatactaaatcacaaaatagtgatcaatacat +acccgcttcatggttttaaccatttaattgattaaagatattccgctaagaaccattatc +tacctaaactgatcgccgtatcctagtagtttgaaatttgatgtaccgtaatgatcaacg +aagtaaaacgttatattgtatgtagaataataggtcttggagctaaatgatgtgattggt +agtgaagacttacccttacaactttaccggtttctcggaagaatatactagagaatcaat +gcatgggctacataagcactttagtctaatgagataaaaaatacacgagtcttccatcat +gaattttttgtcgaaaaactcgaacctggtaatttaaaccatatatctttatgtcgtcaa +taactctcatatgttttatataacttcccaatcacgacttgtaactgcttgttcgactga +gctgtttgagctatgaggccgggatccggttgagctacatctatttgctacaagaaaaat +gaaagcacatttgttgggagttctggctacactcatagagaaataagtggcccgagtggg +tgcggcctgcctccatattcaagtgtatcttaaaccaagtggttccaacgctcgcgctaa +agaattaaagcctttatttcctccacggagtagcccgtaatccggttcgaaagagaccat +tgaagttaattttcatatccagtgaagtttaggcacaagcatgtgttctgccacatgcct +caaagcgctcttcaaccaagatatgattcatcctaacttcgatgaatgcgtctgtaacat +aaatatagaaggaatgattcggcgagttaattttcgccttctccaacatggcatccctac +gttcgttataaggaccatacatgtaggttttaaaggtttgcggttaatcgatatttacat +catagaaattctatagtcaaatttacaagactctagatactcactcgttgcagccggcta +ggaagcgctttgtaccttacttcccttttcgttgcgtaatatgaatttcatatagtaagt +tcaaggcactcatacctccgtgaagagggtagatagactattaaagttgtttaatagtac +gtattgatggaaatgacccgtaggagatttaccactcaatccacaagattcgctgctgtg +cattatcaaaacagtgcatgtcgaaacatgggttgggtccttcaaacacgaatccaggta +gagatacctttgcaatttttcgatgaaggcgaccgagataaatgagctataacactgtat +gtcttttgattgctataaaacacagaaacggatattaatttaggccgtaaccaacatctg +ttatttgacatagaacagatggtcctttacagcgtattccggccttaatattgaggtcca +gtgtattgtcctcctttaaagaagttgattgtaactgacttaaataagacatgtcaccca +ttcactgggttgcaactgctggccctttttgtccatcgcacgctaatgtgataacagtac +cgccctcacacctgcgtttaaaagacataaatgtcgctatgaaggttattcattaatttt +agctgttttcttagaaaaggtaaatttaaaattgaaaaggctagaaaactaaagttacga +caaatgtgtttgtcaagtaggcgggcatcattgagattgtaagaaataaagccataacca +gccccggaatagaaaatgttaaggaaaggcgatcttctttgaattcttattgtcaagtgc +agtcatacgttcttatcagaggacattgcaataaaatctaacaccctcccttgtgtggtt +gggccatttgtacttcgaagcgtccaccatgtgcagaggataacggaatgtggttccgtc +ccataaacgatcattctcgcccacttagtggcgcggtaaatcgctctcatagaggtaact +ggcctgtaatgtccaatgttaggctaccttctccaactttagtacaacgaataatgtccg +attaacaaggagtcaatttgtcatgaccagttcattcaggtacttgtatctatacggacg +cgttccagagtagtatttgaaattttgaggttctactgataagtttagctatcgctgtat +gtctgaataagaatttaatgtttatcttcgataaataacaattaacaactcctaggtgat +acactgtgaagtctgctgttccccaaattacatatgctattttgttcacataccatgaag +ttaagctaagtgctctataatggcataaacggttatcaaactagctcgaatttcttttat +tacgccggaagcggattaactgctgtagatcaaacacgttaggatagtgtcgttttcata +tatatctaaattcggtctaacatgcattacccatgcttgataacgtagcacttcgcagtc +taattatgtaatgtccgtttaaccaaactttaaaaaagtttatctatcaccagtgatgcc +tcatcgtgactacccggatctttagcctttagggtctaaacagaactaatattactacgt +gtcatactccggagcttaaccaggtgaaacttatttgttaaccaaatttagtgacagggt +agaaatacgtatcaaattaacccagcaatacaataagcatgaaaataattgtaatcgggt +ttgggccggaatcccgcttggcgaaaacttaatgacatagtgtgatgcattttgcactgg +attgagccacaaactcaactagcattatgctcaatatttggccagtgttctacggtttga +aatttataaaggccgcgcaaaagtcttgtagttacaaacgcataaatctcgaacgtaata +ggtttaattagaacatccgtaggatttctgtttatagtagatttatactaaatgttctga +ttagattctgacggccttacccatacaattaataaagacgaatatattagttatagttta +ctatccaaataaattaagcgaatcgaaataaactgtcacgatactgggcagttatcaact +tatcacttatacagttcggacactctatattggtctgtgagtactctatcaaactaactc +ataagttaactgcgcttccattaaatttcaatacgttcttgtgctgtgtacaaacctata +atcgaataaatgacacatatggagatgcataataaaaaaaacggctccatatttctcgtt +aatcgggcattcttaaggaggagcatctcaccaaaaataacgttcctgataagtcttaac +tattagaccgtcttcgggaatgaacgaaacctcaagctagcatggtatagttcttgatag +cgcgtaaattctgataatactgggcggacagctggaaattagttgccagtgcacctacgc +aaatagtttacataaatcaacgggctccgaacgtaaatacaaagggttagttacatcgca +acaagatgaaaagcatgtatgtctaccgtcatccgtccctaacaaacataaaggtggtga +agaatctcgtaggtcaactataactccatccttgaagcaactactccgcgtccgtgtgcg +tagttcgcaacgagaacactactgaaaaaagctaaacaactctcggtacaaatgcggctt +gtgtcgataaagttggtggtagtgcacggaataacataacaaggaatattatttattcaa +attttttgtgactgttatttgttttctgcctagaatgtaaggatgtgttttttgtgacct +gatagttacgcttatttcaggtccacggtgcgtgagagtgtgtcctataacggcagggga +gcgaagtagtgtcctttagactattcaaggtagaattttgataacgctctataaaaggta +gaaaatcatgattgagcaataagaccccaacttatcaaaaaaggagttctcgacagcgcg +tgtacagtccctataacggctgtatttcctgtgtcacaacaccctcccatcgcactcaaa +atgtagatttatgatcagacgctaacttgttcttagagaaaaatacacgggatactctgt +gcaacgatttcattaataaggtgcagcttgggacttttttggccgtaggctttattaaca +ttcacagtaggtagcgagacttcctatgaaccaatcatgccacgcgttttaacgtttcaa +atataagctaggaagcgtttgccaggacttctataatgcaccgttttttttagtacttcc +ttactagccttagtttatgttagagtctttccaattacaaaggattgaatagccaaaatt +tctacaattctcagcgaacgccagcttaatctaaacacgagcttcaaatattctacatat +cggcaggagtcaatatataaatatgaaaatcgtaccatcctcgtacttttagaccaaacg +tcttcggataattaaatcctttttcaattaccacagtacgtgcattagaactactgctat +gaaagtaaaccttgaaatatagtcctcaagagcgtatccaagtacattgcacgtgtatac +agtcgtataaacgagttgatgttctgacgctagagcttaccattcgttaaacagataact +aaaatttaatggctgagtgacttagtgttttcgacaaacgtcgcggatgtagactattgt +ttataagcaatttttaaaaacatatgttcaaaacggtatgggatatgtcgaattccacag +gggtttatgtaccatagaagtatgtataaggtactaaaggtttaaatctgtgatattcgg +ttcggtgaaaatcagactagtcacacttagtgtctgtaaattagattgggtgaaggtaag +cgatcccgaactctacaaggcatgggatgagattctaccgactccggataacactttacg +atcgcgcataactctagctcttagataagtttaacttgtcgatctcataaacagttcaaa +atctgcgatttattgtatcaaatccatcctctatcttctataatcatctgaaccgcgata +cggcactatgagccaagtgaagattgaatccaagaaagctataattggtttattttagtc +catttaaattaagtccggtataagtgctctgtacaatatgcagtctcatgggcatatacg +ttaactaccttttgatacttcgaattggtaaaatatcgactatcgatttgcagtaaaagg +tgtagagtccaattactctttcctgttacatacgatctcttagtttggacaactagccca +tgatggcgctcctctagcgcatgaacctactttataattacatctttatcgatgaatttt +tttagactgcggaggccttgagttttaacagggctgctaaatttcttaagcgattagacg +gtagcgtcgtacgctacttgcttggaacaggcaccgaaaatattgatctactattgcgtc +aactctattctgctaatagcgatggcaaatcacagaagccctcttagtgacaatagttgt +caactatatctaagtcgacctttactgtatcaacgatcacggagagaattaccgaatacg +aaacctcaggactaaaaaacggaaaggatttgtcgacggtaaatataatacttgttaagg +gtagcgacacaggtatactttgggtgtaaacgtggtgcttcccggaacgattttcagacc +agaaaattgttccggtaaccaggaaatctcgtctgcgttaattcgtgttagtaaacttga +tcttcagactccttcttttcgttgcagcgagacttaaattatatctgcgaaatagtgccc +cgtgcatacttcagatggtaggagataccatttggcccattgtgactttacgcgattaat +taaccgacatacatctgttcctgagctatgatcgtctgaataaattacggtctcctcttg +atacctaatggtttctggagacgtttctcatgttcaaatggatagcaggagatcgcttca +tcaagtttagctacgcagagcatcaaaatatgtatgggaaagtcgatttccaaaccagaa +gggataaagagaaataacggacttctccgtagattagcctgatattttgatgggaatcat +ggcggcacatacgtaagagttgcgtgaacgaatattttggacggcgggagacacatatcg +gccattcgttaaggtctctatattggacatcacaagcttagcagtatgagctactaacac +tcaagacattattgattttttcaagatatgtttcattcctctaccgctattcccatacgt +tcgattcgccgggtgagcgaaaccacgggactgaggttaagctaatcaataacaactcgt +tgcgatagagacctatgtatactagagagaattccccaacatttttacaaaaacaaagca +gactaaaatagatacagtccctccatacaattaggaccaacatgttattgccgatcctag +cacacacaccacaaactcagaacttctgtcttacctatgaaagggtctgcacttctgatt +gtacgtgtctaattagcattaatattaaaactaattaggataaactataggtacgagctt +tactataagtcactaggtgttttccgatcgaaaaacgggaccttcaagccttggtaagta +catttaggataaagaaaaaaaggaaggtacgtgactaatctgtctaaactgacaatagag +tagtacctacatgcttcatgtcaagtcttaatacgcaagcgctctcgttatactgctcaa +caaaactcataaagttggactccatcatttagaatcatagggaccaaaacatttatttgc +tactgtcactttgtaggtgttctattctgaattcctcatattgatacatgaatcggaata +cctgtggatcccttaggacgcacgtgctttctttacgtcagaatacatattgtcagaatc +gagaagttccatgcaattaagaattcgcctctttgaaaactcatatccccacatataggg +tccaccgttattcggaaacgatataataattattccagcgttgagcgtcccttaagagcg +cattttcgcttggcctttcttctacgactctacaacgcaagtggctgtgtggagtttacc +acagcgcagcaccccatagaactacctctgagagcgcgagatggtggcagtatgctctgc +agctagcgtttagaacgcgcccgcgcattaaccagtcatattaaaatggactgtcttaat +tgtcggcattaggagcaatattaactgatgagggtatcggtcgcagaagtaatgacggaa +atacgcctctagtccgcagagatacgattacagactcagatcccctaacaagcaaaacga +ttaaatcggaatcactccccctatgacatatttgaaatacacaagaaaccacgcaacatg +tcccgcattctcaaccgcgctttataagatgttgagtctgagaattagatgacctaactg +caagaatcatggcgagtttatctagtaggcaagtctgtaccctagggttcgaacgctgtg +acgtcgtgatcggtctaaggacttagatgataaccaagaactggtttaccgagtactttc +actattaggagtaattacatgcgttcaccgcggaatacgacgaaattttttcatatcttt +atgagcgagatcgtgtcgtctttgcattgcaacagtcgctaccagtaattgctgatcaat +tatagattcattatacagatgcttacttttctctattcaatactgtcatgagttgttttt +aaataagcaccagaattatgtcgcctagtataatcttgcttccacttgaatcaatgcgat +ggacagtattctactgattgcaaagtagtctatttcggcttagcagtacgcatgcctatt +tttttgcaggcacagaataatatgcaactaggattctcggcatccaattaacaggctaaa +acaccaccgaaagacaggtaatctacgaagttgatgtttactacagaaagcgaatgatat +cacttggagaacattttagatgcccccttttaatctagactgagtgtaccaatatatcac +cggtctaccgaatcagcttgaataaaccactctagtactcatgataaccgagcatacaca +tgtatttctcaatgcactgaaggtgaactgtttacaccataccttgcgaatcaacgtggc +gacttatacttctgtctttgagtacagcacaccctaatgaatctaagttagttgttgata +cgaattgtaatttgactggatctcgcctcctcatctagattcttagagaagatgtttctt +atagccggtactgtaactttattgatctggtttatggtaatcaacattttacctctattt +aaacgtccttgcgccgtgcactcaatcctgatcggtttagattcaagcgattatcgagtc +tggaggccgagaaaagaaatgcacagagtaagctctctattgcgacatctacgtagaaac +tcgcatttcagatcgagtaagcaactctcattgtgttgattcagtaatacaagattacct +acgcttctacgaaatatactatagatttagcctacgtcacctttagtgtcgagtcggagc +tttgaagatcggatgcggtgtggactgtgtataggcaattttgctgcgagctcgtgactt +ttggttgatgtcgatatcaatgggatacctcaaacgtctttatctctggataactcacat +tgagtataccggtaaaaatttattctattcatctaaatagtcagtgagggctagggtcgc +aatcacattaggccacatacacatacttaacatgttctattgacccgacccaactttagt +agcattgtagccgtttatgcaaatatgccaggcgccaaacactagccagagggcattttg +ttacatttatttaatcgattattacacagtcggaacacgcctacatgcgttcgacttatt +tgcgacatggtcaacaattcagtaatttaatccaaaacctaaagtcagagacatgacact +aaaatcacattaaggtcagttagtgaaggaatggctaaccagctagagaatgcatcatta +acaggcacttattgtcaaatattttccagatctaagcaacatcacgttaaaaagtacaac +aatcacttaaaacacatcagtccaggtgtaattagaaagccgcttagtaggcaagcgtag +gagtataaatgtagacaatagtcgggacttagcagacactggatgcagtcatagaagatc +ttgcataacacgttagggttagagctacgaacgcccatcattaactgcctaaagcgtgcg +tgagcttagcgctaacttttccaacacgtttgtgatttcgttcataatgtatcaatttca +cagtcatatacagggagtgtagaaaaatcgcaattaacatacgttgacctatttttgttc +agagttcagttagagcctaatgattcgagagcaataatcaggacagcctcataggaagtg +tcaatcacttagaagctatattattataaatcgctctttactgtcgtcgaaggaacgagc +gagagagaatcagttgcctgcaactggcttaacaatatgatacataaaaatattttcatc +accactaagacggtggaattcagacttattggcaacttaggatgggactattaaataacc +cataagatgttgggataaagttacgaaacgaaagggatatagcctgttagataggaaatc +cccaataaaacatagccggcctccacagcagtgatctattccgccacgcgatatctttat +accacgcaatataccaataataaaggttaaatgtggttgcgatttaaaaaagatacatat +cagttgcaccgcgtagcaaatccgtatgtgaagcgtaacctagaattatagcgtctgcaa +gttctctaagcttcctctgcaagatacaatatgactttttagcttttttactaccaaatc +tcagaatcttagaaacaggttggtacgtgctactcggaattcccaaagtaccctgctata +tatgccattccttcattggtccgggctcaccatggggccatcatagtaatagaaggtagt +aaaactagttgatttccgacttttaacaatcactatcctgacccagatatgggttccgac +tggcccttactccagtaagggcagacacacagacaacgagaacttgataactttgaattc +tcaaatcgatcattgcaacgtgacttatttactagcctactcctataattcatacgtcaa +atacatttcaacggaggaagataataagtaaatattcactaaataatggtcgaaggagtc +ctttgccaacataagtccacatatgcgctatagattttttcttggggttcatattcaata +agataaacagcaagagtatcacgtcagcgagtcattgagatcttggctagcattgtgata +gcatattctacctaaatggtagtctagcacagagtggataagatatcagttagatataga +caagtactataacagatctcgcttcgttggattgtatggctagctttgatgatatgattt +tataaaaattgatccagacctgacctggccaattatattcattttttatgagtaaaaata +gataaccatgaaaatactcaagccccttaggacgtacaaagtggtaacataaatttcagg +tgttattctgcaaccacacctgttttgggttttcaaaaaggctaagcagattggttttac +agataatccctgaacactggtatctcccaacgatgtcgttcccaacccttgctgaccttt +taagctctgctgaagttttgtaaactaggcggaaaatatgttcgatagatccactcgcct +gaggtagaaattcgtcttagtaacgcctctttggattacacagaatagtgtactgacacg +tacactgctgcagcagccatacgctaacattaaaattcgttgagtctacatttgttgtta +ttcggattatgttattgggaatagtatttttattcccctgcgtgaaaccacatggataga +ttagcctactcctaaagactcccttttggtctacggttcaattctcttactgagtttatg +ttcgtaattatatcggcgcagtgaatctcctaattatcaccggagttaccagacgccatg +aacttatggccagaaacattgcatgtggcctacataggattagtatcaagagtttacgtt +tgcaacgacatttgaccaacttgaccattcctgcttgtagaccgcgggaactcccctgca +cgcgactatagaagttggtggtggatgtggcttatgccgcaaatatggttttgaaaaaag +taatctattgcttgatacctgaattgagacatgtataagggctattgccagatgaaaaac +tgcatataaggtcaaacaatataagaacattatacataggatcttagcgttcctcaggat +ggtatacgctataaagtctagcttcagcagctaaggagttttgccagtgcggacttccgc +tggaagattaggtttaaccgccctgacatcttcataaggtcgggcctgattcaaacccct +ggagtgccgtctcatacttgaattaatcgatggaaaacttcttctagtctaatattatta +ttaacaaatgacggttcaataaataacaccgtaagggtgggaaactgttaagtgatgaat +cattttaacctatcatccattagctacagataatgataccccgatccgactagggggtaa +gtggttgttccgttaggataaaccatgtaaaacgttagagggtttgtagattaattggta +ttccagataaatgaggtcagggcgagtgatcaattacactgaaaaattgtcagcttgcgc +ggtagttgttaagacagtataaatgaaggggattcagaagcaagtttctcgattgactga +atttataaaccagtcgtcaatcatgatttttgtgtcgattaaagcctaaatggtaattta +aaccattgatatttatcgagtctataaatatctttggttgtatattacttcacaatcacc +aattctaaatgattcttccactgtgcgggtggagatatcaggacgggttaaggttgacct +acatcgttttgatacaacaaaaatcaaagcacatggctggggacttctcgatactatctt +tgagatagtacgggcaagagtgggtgacgcctccctacattttcaagtctatcggataac +ttctcggtaaaacgctcgcgatatagttttaaagcattgatttaatccacgcaggagcaa +gttttaccggtcgaatgagaaaattcaacgtaagtgtcatatccagtcatggttagccaa +aagcatgggttatccaaaaggaataaaacagctcttcaacaaagagatgaggcttcataa +cttcgatgaatgcgtatggttctgatatatagatcgatgcatgaggacactttattttag +ccggcgaattaatggaatccatacgttacttatttggacatgacttctaggtgtttttgc +tgtcccgtttagcgatatttacagattagtatttcgtttctcatagttaattgtatctag +atactaactcgttgaagacgcataccttgccatttgtacaggacttaactgttccgtgcg +taatttgaatttcttataggttcttcaaggcacgaatacctcactcatgaccgttcatac +tctagttaaggtcgggaatactacgtatgcagggaattgtaacctaggagatttacaact +ctttaaacaagagtcgctgaggtccaggatcaaaacactgaatctcctaacttcgggtgc +ctccgtaaatcacctagaaacctactcatacatttgcaattttgagatgtaggcgaaaga +gagaaatctgctttttaacggtatctcttgggattccttttaaaaacacataacgatagt +aatgtaccaagtaaccaaaagctgggatgtgtctgtgtactgatccgccgtgtcagagta +gtccgccatgaatattgacgtcaaggctagtgtcatcaggtattgatgttcattgtaaat +gaaggaatgaactaatgtcaccaagtaaagggggtgaaaatgctccccagggttctacag +acatagagatggtcagaacacgacccccctctcaacgcagtgtatttgaaatatatggac +atatctaccttattctgtaattttagatgtgttctgtgtataccgatattgataagtcaa +taggcttgattacgtatcttaagacaaatctgtttcgcaagtaggaccgcatctttcaga +ttgtttctttttatgccataacctgcccaggaattcaaaaggttatcgatacccgatatg +ctgtgaattattattctaatggccactcattcctgcttatatctggaattggcatgaata +tcttacaacctaaagtctggcgttgcgccagttctacttcgtaccggacaccatctccag +tcgttaaccgaaggtgggtacgtcacataaaagttcattagaccacactttgtgccgacg +tatatagatatattacacgtatagggaatgttttctcctaggtgacccgaccttctacta +aggttgtacatcgtataatggcccattaactacgaggaaagtggtattgacctggtaatg +cacgttcttcgatatataccgacgaggtaaagtctactattgcaaagtttgacgttatac +tgataagtttagatttccctggatcgcgcatgaacaatgtatgcgttatctgccatatat +aacatgttacaaatccttggggatactatcgctactatcatcggaccaaaattaaatagg +ctagtgtcttatcagaacatcatgtttaccgaactgatctattttccaatttaagctgat +attacgtccgcgtatttattttagttccccggatgacgattatctgagctacatcataca +agttagcatactcgccggtgcattgatttcttatttcgctatatcttcaagttcacaggc +ttcatatagttccaattagcagtataattaggttttgtaactttaaccatactttataaa +aggttatattgcacaactgatcaagcatccgctataacccgagctttaccagttagcggc +taataacaaataagatgacttcgtgtcatacgaccgtcatgatcatgctctaacttaggt +gggaaccaaatttaggcaatgggtagtaataagtataaaatgataccacatatactataa +caatgaaattatttgtaatccggtttgccaacgtatcccccttcgcgataaattaatgac +atagggtcatccatgtgccaatcgtgtgtgccaaaatctcaaattcaattatcatcaata +ttggccaagtgttataagcgttgaaagtgatataggccgccaaaaagtagtctacttaaa +aaccaatatttatcgttcgttattgctggtagtacaacatcacgagcatttctcttttga +gttgatttatactatatctgctgatgtgattatgtcccacttacccagaatattaagaaa +gtcctagattgtaggtatacttgactataaatataatttaagactatacaaataatctgg +ctacattatgccatcgtagaaactgataacgtagtaacgtcggacactagattttggtcg +gggagtaatctagcatactaacgaatttgttaaatccgctgaaagtatatgtcattacct +gcttggcctgtcttcaatacgtttagactattaaggactcatttcgagatccagtattaa +ttatacgcatccatatttatactgaagacggattgagttaggacgacaagctaaacaaat +attaagttaaggattagtattatattgtagaaactcgtcgggttggaacgattcatcatc +atagaatgcgttacttattcagagagacttaattcggttatgactggcagctcacctgga +aagtaggtgaaaggcaacagaagaatattgttgactgaattctacgggctacgaacgtaa +ttacaaagcggttcgtaaagagcataaagatcaatacaatggatctctacagtattacgt +aaataacatacataaacctggtgttgattcgactagctcatagattaatcattaattgaa +gctacgaagacgcggaagtctgcggagtgagcaaacagtaatcgactgataaatgcttat +aatatcgcgcttaaatgccgcatggtgtacattaacgtgggggtagtcaaaggaatatat +ttactaggaatattagttatgcaaatgttgtgtcaatgtgatgtgttttatccagacatt +ggatgcatggctgtgggggcacaggatacttaccattagttcacctacaagcggcgtgag +agggtctcagttttagccagcgcagagaagtacgggcctttagacgattaatgctagaat +tgtcataaacctcgtgaaaagctagttaataatcatggtgctagaagaacacaacttttc +tataaaccagttctcgactgacagtcgtaactcactatatcgccgctttgtactgtcgca +aaaaaacctcacatagaaagaaaaatctactgggtgcatcagtagagatcgtgttctgag +agataaatacaccggatacgatctgcatcgagttcatgtattaggtcaagcttgggactg +ttgtgccagtagcattttttaacagtcaaagtagggtgagacacgtcatatcataatata +tgccatcgaggtttaaagtttatatgataagctagcatgcgttgcaatcgtattcttgaa +tgctccgtggtttgtactaattcctttatagactgagtgtatcgtacactcggtacaatt +acaaaggatggaagagcaaataggtcttcaattataacagtaccccaccttaatctaaaa +accagcttcaattagtattaatttcgccaggagtatatatataaatatctaaagactaaa +agactcgtacttttacaacttacgtcgtagcataattaaatcatgggtaaatgtcatcag +taagtgcattagaaatactcctttgtaaggatacagtgaatgtgtctcagcaagtcagta +gaaatggaaattcatactcgattaaggcctataaaactgttgttggtatctacagagtga +ttaaaattagtgaatcagattacgaaaatgttttcccgctcgcacttacgcgtttagaca +aaagtacaggtggtacaattggctgtagtagaattttggtataaaataggtgataaaccg +gatgggtgtgggcgaattcaaaagcggtttttgttccatagaactatgtagttggttata +aaggttgtaatctcggagattaggttagggcttaatcagaatagtaacaatttctctatg +taaagtacagtgggtgatcgtatgagttcacgaactcttaatgccatgcctggacaggat +aaacaatacgcatataacttgacgatcgagcttatatcgacctatttgagaagtttaacg +ggtcgatataatatacaggtcttaatagccgattttttctagaaaagcaatcctatatct +tagttaatcagatcaaccccgtgaacgatatatcagcaaactgaacattgtatacaacat +tcctttttgtccgggtggggactccatttaaagtatctcacctagaactcagcggtaata +gatgcagtctcttgcccagttacggtaactaaatgttgatacttagaattgctaaatttt +agtctagacatttccaggtaaaccggtagacgacaatttctctgtcatctgtcataagat +cgcttagtgtgctcaaattgcaattgagggccctactatagacaatcatcagacttttta +attaaatagttttccatgaatgtgttgtcaaggcggaccccttcacttttatcacggctc +ataaatgtcgtatgactgtagtcggtagcggccttcgagtcttcaggggaaatggaaaag +aaattaggcttctaagatggactataatcgattaggctaattccgttcgcaaatcacaga +agcaatcttactcaaaattgttggaatcgatagcgaacgcgaccgtgaatgtttaaaagt +gctcgcacagaattacccaatacctatcatcacgacttaaatacccaaagcagttgtagt +cgcgtaatagattaagtctgaagcctagagacaaagggatactgggcggggaaacctgct +ccttcacggtaacatggtaacaacagaatttggttaaggttaaaacgaaatatactcgga +gtgaattactgttaggtttcgtcatcggatcaataagtagtttccgtgaagacactctta +tattagatctccgaaattctgacccgtgcattaggcacttggtaggagattccatttgga +acttgctcaatgtaagccagtaatgttccgaaataattcgctgcaggagcgaggagccgc +tgaataaaggaccctcgcatcttgttaccttatggttgagggtcaccgttctctgcgtca +attccagagctggagatacattcatcaacgttacctacgcacagaataaaaagatcgagc +gctaactcgttttcctaaacacaacggatttagacaaattaccgaatgcgccggagagta +gcatcttagtgtcatgcctatcatggcggctcagtacgaagagttcaggcatcgaatatt +gtggtagcccgcactcaaagttccgccattaggtaagctatatattgtggtcagaacttg +aggacaactatgagctactaaaaataaacaattttgtcatttgttctagatatgtggcat +tcatcgaacgcttgtaccagaagttacattcgcagcgtgagcgaataaacccgaatgagc +gtaacattatcaataacatatagttcagatagagaacgaggtattcgacagagaattacc +caacattggttattaatctatgcagaataatttagataatgtcactacataatattagga +ccaaaaggtgattccccagaagacaaaacaataaacaatctcacatattcgctagtacct +atgtatgggtatgatcttctgattggacggggataatttccaggtatattaaaacttatt +accataatctagacctaagagaggttatataagtaaagagctgtgttccgatagaaaaac +ccgaccttaaagacttgcgaagtaaattttgctttaacaaaaaaacctacgtaagggaat +attctgtataaactgaaaagtcaggtgtaactacatgagtcatgtcttcgattaattaca +atgcgatctcgttattctgatcaactaatatcataaactgccactacatcttgtacaatc +attcgcaacaatacttttatgtgctaaggtcacgtgcttcctctgctatgctgatttaat +cagattcataaaggaatacgaataactctggatccattaccacgcaagggatttatttac +ggctgattactttttggctgttgacagaactgccatgaaagtaagatgtcgcatcttgca +taaataatagcacctaatatagccgacaaagtgattccgataacagattttaagttgtcc +agccttgagactccatgaagaccgcttgggagcttccccgtgattagaagaatctaaatc +ccaagtggatggggggagtttaaatctcagcaccaacaaatagtacttcctctcagagcg +cgtcatggtcgaaggagcctatcctgatagaggtttgaaagcgcacgcgcatttaactgt +catattaaattggaatctcgtaagtgtcggcagtacgacaaattttaactgatgtcggta +tacggagaagaaggaagcacgcattgaagcagctacgcagaactgagaagatgacactct +aagatacaattaatacaaaaacgttttaagcccaatctatcaacagatgtaagatgtcta +atacacaagaataaaaccttcatgtcccgatgtataataacagctttatttctgctggtc +gaggtgaagtagtggaaattactccatcttgctgcgcgtctttatagtgttggctactct +gtaaccgacgcgtccatccctctctcctagtgatccgtatatccaattagaggataacca +acatctgcgttaccgacgaatttaaatttttcgactatttaattccgttcaaacccgtat +tcgtagtaagtgtttcatagatttatgaccgacatcgtgtacgagttgcagtgcatatgt +agataccactaattgctgatctaggatacatgctttataaacatgcttacttggctattt +tatttactgtcatgtgggggtttttattttcaacaagtatgtgctaccattggataatct +ggcttcaaattgaagatatgcgttccaaacttgtctactgtttgctaagtaggagttgtc +ccattagaactacgcagcacgtggtttgtgatcgaaaagaataattggcaaatacgaggc +tagccttcaaatttaatgcagattactcctcagaaacacacgtaagcgacgaacgtgatg +tttactacacaatgcgtatcatagaaattcgtgataatttttgttccaacctttgaatct +agactgagtggaaaaagatttcaccgggataccgtttatgctggttttaaaaactcgtcg +aatcatcttataactgcattcaaatggatttctcaatcatctgtacgtcaactgttttaa +caataacgtcagaataaaccggcacaatgagacggcggtctttcactacaccacaccctt +aggattataagtgacgtgtggattcgaattctaaggtgacgggatctacaagcctcagct +acattaggtctgaagatctttcgtatagccgcgtatgttactgtttggatatgggttatg +ctaatcaacagttgacagcgagtgaaacggccttgcgacctgaaatctttacggttacct +tttgattcaagacaggatcgacgatggaccacgtgaaatgaattcaaaactgtaacatcg +cttgtgcctcagcgaccgagtaacgacaagttcacatcctctatgcaactatcattgtgg +tcattaaggtattcaagattaactaagagtcgaccatatattctagagttttacaattag +gaaccgttagtctagactaggagcgtgcaacatcgcaggaggtgtggactgtcttgaccc +aagttgcctgacacatagtgtcttttgcttcatgtccttagcaatgcgatacctcaatcg +tagttttatcgggataaataacatggtgtttaaccctattaatggtttctattaatctaa +attgtaaggcagcccttgggtcgaaagcacattaggccacatacacagtatgaaattgtt +cgagtgtccagaccataattgactaccatggtacacggtgttgctattatgactcccgca +aaactcttgacagagggaattttggtacattgatgtaatcgatgatttaacagtaggaac +tagacgtcatccgttagactgagttccgacatgctcaaattgtcaggatttttatccaat +aactaatggctctcacatgtaaataaaatcacattaacgtcacttagtgatggattcgct +aaacagatagactatcattcatgaactggcactgtttcgattatatttgcaacatcgaac +atacttaaagttaaatacgacatcattcaattaaaaaaattcagtacacctctaatgagt +atcccgctttggaggaaagagtagcactttaaatggacaatttaggccggactttcctgt +aaatggatgaagtcattgtacagcttgaataaatcgttagggttagtccttacatccacc +atatgttaatgaataaagcctgagggaccttagagctaacttgtccaacacgttgctcat +ttacttaataaggttgaaatgtatcagtaagtgacagcgagtgtagattttgaccattta +actgaccttcacagttttgtcttcagacgtcacttacaccataatgatgacagagcttgt +agatgcacacactcattcctagtgtaaatcaagtagtagctagattattataaagagata +ttttctggcgtcgaacgtaacacagagagagtataaggggcatgataatggcttatcaat +atgtgtaagaaaaagtttttaatatcatctaactcggtggaatgcacacttatggccaac +tgaccttgggacgagttaagataccataagaggttgcctgtaagttaagataacaaaggg +atattccatctttgtgtgctaagaacctatttatatttgcagccataaaaacctctgtgc +tatgcagccaccagagttatttatacaaagaaagagaccatttagatacgttaattctgc +ttgcgatttattaaacagacatttcacgtccaaccactacaaaagccctatcgcaagacg +atcattgtattatagcctatgcaacgtagctaagcggccgaggaatcataaaatatgaat +tgttacattgtttactacatatgatcacaatctttgtaaaaggttcgttcgtgatactac +catgtacctaactaacctgagatatatgcaatgacttatggggtcagcgcgcaacatccg +caaagcatagtaatacaaggtaggaaaacttctggatttcccaaggttataatgctctat +actgaccaagagatccgttacgactcgcaatgaatactctaagggcactcacaaagaaaa +ccactaattgataaatttcaatgataatatcctgaattgcatcgtgtatgagttacgaga +agtcgcatttaatgaattagtcatagaaatgtcatagcaggaacataattactatatttt +aacgatttaatcgtagttggagtcctttcccaaattatgtcatcagttccgatttagatg +ttttcgggcccttcttagtaaagaagttaatatccaagactagctcctcacccacgcatg +cacatattcgcgagaagtctgatagaatattcgacagaaatgcgactctagctcacactc +gttaactgatcaggtacttatagacaagtacgttatcagatatcgcttcggggcattgtt +gcgctacctttgtgcatagcagttttgaaaaattgttcaagacctgaacgggaaaatgat +attatttttttaggaggaataatacagtaccatgtaaatactcaaccaccttacgtactt +cttacgccgaacatatatggcacgtgttattcggctaacaaaactgttgtgccttttcta +taaggataagcagattcgttttaaacatatgacctgtaaactgggatctacaaaagaggt +acttaaaataaattgcgcaacggtttagatctgcggatctttggttaaagagcaccatta +gatgtgccatacttcctatcgcctgagcgagaatttagtctgaggaaccactcttgggat +ttaaaacaattcggttaggacacctactcggcggatgaagcaatacgataacattaaaag +tcgttcagtctaattttggtcgtagtacgatgagctgatggccaattgtatttttattaa +cagcactgaaacaaaatggagactttagactaatactaaagtctcaatgttcgtcgaacc +ttaaatgctcggaatgaggggatcttcggaagtatagcgccgaagtgtatctcattatta +taacaccagtgtacagacgacatctaattatggccagaaactgtcattgtgccattaaga +ggattagtagatagtctggaccgtggaatagaattttgaccaaattgaccagtcctgctt +gtagacagcgcgatctaaactgcacgagaatatacaagttggtggtgcttgtggctgagc +acgctaagatgcgtttgtttttacgattctagtgcttcttaacgcaattcagtcttctag +atccgctattccaacatcaatatctcaatttaaggtcaatatatataacaaaattagaca +gagcagctgacacttacgaagcatcgtagaaccgatatagtcgaccttatgatgatatgg +acgtgtccaagtccgcacttccgatgcatcttgacggtgaaccgaaatgaaatcttcatt +agggcccccatgtgtcaaaccactcgagtcccgtctctgaagtcaagtattactgcgaaa +aattcgtctactattagtttattatgaacttatgacgcttaaataaattaaacagtaagc +ctgggaaaatgttaaggcaggaatctttgtaacagttcataatgttgctaaagattatca +gaccccgtgaagacttcgggctttgggcttcgtaccgtagcataatacatctatatagtt +agaggcttgcgtgttgttgtgctattccacatatagcagctctgggcgactcttcaatga +aaatgaaaaatggtaacctggcgacctacttgttaagtcagtttaattcaaggggattaa +gtaccaagggtcgagtttctctgtatttattatactgtaggcaagaagcttttttggcga +gatttaagacttaagcctatggtaaaaatttgatagtgagcgactatagtaagagatttg +ggtggttagtaattaaaattctcctatgctaaatcaggcgtacaatctgagggtgcacat +ttctcgacgcgtgaaccttcaccgaaagcgtgtggattatacaaatttcaaacatattgg +cggggcacttatccataatagatttctgtttgtacgccaaactctgcctcacccctccat +aaattgtattggctagaggttaaattctccgtaaatagagacacatatagttttatacaa +ttgtttgaatcaaagcacgagaaacttttaaccgtacattgacaaatgtcttcggatggg +gcagagcatctcttcgtgacccaaatcaatcgctgagcaataagcaagaaaacacagatt +atacaaagagatctggatgaagatattcgtgcaatcactatcgttatgttagagagttcc +atgcatgaggactcgttttttgaccaggagaattaagccaagaaataactgacgtatttc +caaatgaattctacgtgtttttcctgtcacctttagccagtgttaaagatgactatggag +tttcgaataggttattctatagacattataacgagtggaacacccataccttcacagtgc +taaaggtaggaacgggtacgtcaggtagttcaagggattttaggttcttaatccaacgaa +gaaataacgcatcacccgtcattctattgttttcgtcgggattacttagtaggcagggta +ttctaacctacctgagttacaaatctttaaaaaactggccatgaggtcatggtgataaaa +tctgaatcgcctaaattcgcgtccctaaggaaatatactagaatccgtctcagaaagtgc +aaaggttgacttcttcccctaacacagaattctcagttttatagctatctagtggcattc +ctttttataaaactttacgtttgtaagggtccaactttacaaaagctcggatgtgtatgt +gtaatcttccgccgtgtaagacttggaacccatgtatattgacggcatggcgtggctaag +caggtattgatcttcagtgtaaagcaaggtatgttctaatctaacaatgtaaagccgggg +attagccgccaaaggggtctaatgacatagagatgctctgaaatcgtaccaactataaaa +gcacgggatttgaaatatagcgacagatcttccgtattctgttagttgacatctgtgctg +tctttaccgattgtgatttggctttagcagtcatttagtttcgttactcattgctcgtgc +gatagttccaccgaatatggcacattcgttctttttttccattttactgcaaaccttttc +aaaagctgatcgataccactgatgatggcattgattagtcgattggcaactatgtcctgc +ttatatctccaattgcattgaatatagtaaaaaataaaggctcgccttcccaatgggcta +cggagtacacgaaaaaatcgcaactcgtttaaccaagcgccgtacctaacatataagtga +ttgagacaaatagttctccagacgtattgagatatatgtctcctataggcaagcgtttct +aattgctgaccagaaattagaattaggttgttaatactatattcgaccattttattccac +gaatgtgctattctactggtattgctccgtatgcgatatataaccaacacggaaagtcgt +cgattgcaaagtggctccgtagaatcatttctggtcatttaccgggagcgcgcttgaaca +atggatgcggtatctgccatattgttattgttaaaaagacttccgcttactatcgcttcg +atcatcggaaaaatattaatgaggattgggtcgtataagaaaatcatcttttcagttcgc +agatttttgccaatttaaccggttatttcgtcagacttggtagtgtagttacaagcatca +cgattatatcagctacagaattaaactgtcctgactcgacggggcagtgtgtgagtattg +cgctatatattcaaggtaacaggaggcatataggtcatagtacaaggataatgaggtttg +ctaactttaaaaattattgatttaacggttgattgaaaatctctgcaagatgacgctaga +acacctgatgttcaagtttgccgataataacatataagatgaattactgtctttagaccc +tcatgttaatccgctaacttagggcggaaacaatgttaggctatgcggagtaagtactat +attatgataccacatagaatttaacattcatatgatgtctaatacccgttcccaaccttg +caaccgtcccgattaattaagcaattacggtcatcaatgggccaatcctgtctcaaaaat +tatcatattcaaggttcagctattttggcaatgggtgagtaccgttcttagtgatttacg +aacccataatctaggcgacttaatatacaagatttagagttacgttttccgggtagtaca +tattaacgaccatggatcgggtgaggtgttgtattagttatctgatcttgtcagtagctc +ccaatgtcccagaatattatgtttctactagagtgttcgtatactggaatttaaatatta +tgtaagactagacaaattttatggatacattaggccatcgtagaatatgatatagttgta +acgtccctctatagattttcggagggcaggtatattgcttaataaagatgttcggaaatc +agcggaaaggatttgtaattaactgatgcgcagcgcttaaataagtttagactattaagc +tatatgttcgacagcatgtagttttttttaccagaaagtgttatactgatgacccatgga +ggtagctcctcatgataaaaatattgttacttaagcattactattatagtgttcaaacta +gtaccgttgcatactttaagaatcagacatggcgtttcttatgcagacacacttttttag +ctgttgacgcccacctcacatccatagtaggtcaatcgcataagaacaatattctggact +gttttattacccagaagaaagttttttctttccggttcgttaagacaataaagatcattt +cattcgttctcttaacgatgaactaaagtacttaaagtatccgcctcttgtttcgactag +cgcatagtgtaataattaaggcaagataagaagaacaggaacgcgcacgtcggagataac +tctaatagtctctttattccgtttaatatagcccgtaattgcaccatgcgctacagtaac +ggccgccttcgcaaacctatttatgtaattccaagtttaggtatgcaatggttggggcaa +tgtgaggggttttatcaagactttcgttgcttcgcggggggcgcaaagcagactttacag +tagttaaccgaaaaccgcagggagtcgctctaagtgttaccaacccctcactactacgcg +aaggtactcgattattccttgaatgggctgaaacatcgtgattagcgtcttatgattcag +gctgatagaagaaaacttattttctatattccacgtatacaatcacactcgtaactaaat +agttcccagcgttgtaatgtcgctataataaataaaatacaaagaaaattcgtctgggtg +cataagtacagttagtcgtctgtcacataaataatccgcagtcgatctcattacaggtat +tgttgttggtcaaccttcgcaaggtggtccaagtagcattgttgaacagtaaaactaccg +tcacacaaggaatatcataatagatgccatacacggttttacttgatatgtttacagtcc +ttgagttgcaatcgtagtattgtttcatccggggtgtgtacgaagtaatttagacaaggt +gtgtagcggtcactaggtaaaatgacttaggatggatgagcatttaggtattctatgata +acactaaccatcatgtttctaaaatcctcaggaaatttgtattattttaccaacctgtat +ttatagaaagtgcttttgacttaaagaagccgaagtgttcaaattaaggagtacctgatt +gaaagaatggggaattgtaatctgtaactcaattacaaataagccgttctaaggattaag +gctttgtgtctaagcaactcacgtgaattcgaaattcatactcgattaacgactttaata +ctcttctgcgtatctacagactcatttaaattacggaatatgttttcgtttttggtttcc +agctcgcacgtacgcgtttacaaataaggacacctggtacaattggctggagtacaatgt +tggtttttatttgctgattatcccgatccctgtgggcgttggcataaccgggttttcttc +aagactactttcgtgttgcttatatacctggtaatatcggtgagtagcttagggcttaat +cacaatactaacaagttctctatggattggacagggcggcatccgttgactgaacgatct +attaatccattccctgcactggataaacaagacccatttaaattgaccatagagatgtta +gcgtcatatttctgttcgtgatagggtacatatattataaacggattatgagcagtggtt +ttctagaaaagcattcatagttaggagtgtatcagatcataccactgaaccatagagcac +aattctctactggctatacttcattcctttttgtccgggtggggacgaaatttaaaggtt +ctaacctagaacgcagagcgaattgatcaaggcgctggccaagtgaacggttctaaatgt +tcttaatgagaattgcgtattttgactattgacagggcatcgtaaaccgctactcgactt +ggtatctgtaatctgtatgtagatagagtacgggcctataattcaaattcagccaccgaa +gattcacaatcttcagacgtttgaaggaaagaggtttactggtatgtggtgtcaagcccc +acccattctctgttatatccgagcattaatgtagtttcactgtactacggtcacgccgta +gagtcggcagggcaaatccaaaacaatttaggctgagaagtggcactataatagtttagc +ctaagtcccttcgctaataactcaacaaagatgacgcaaaagtcggcgaatagattgcgt +tcgcgtaagggtatcttgaatactgatagctctcatggtaccaagaactttcataacctc +tttatttaccaaacctgttctactagcgttagtgttttagtctgtagccgacacaaaaac +cgagaatggccggcgtaaccggcgcctgcaagctaacatgggatcaaaactattggctta +acgtttaatcgaatgagactagcactgtattactctttcgtttcggcagcggatcaataa +ggaggtgacggcatcactctcttatagtagatatcacttattctcacaacggaagtagga +tcttccgtcctcattaaatttgcaactggctcaatgtaacactgtaatgttaacaaagta +tgagctgaaggtcagagcagacgatgtagtaaggtccctcgaagctgcttacagtatcct +tgaggctcaacgggctatgcggaaattccagacctcgagttacattatgaaacgtgtcat +tccatctcattaaatagttcgtgccctatcgccttgtaatataaacaaccgtttttgtct +attttcccaaggagaaggagagtagcagcttagtggcttgcctatatggccccctaagta +cgtactcggcacgcttagaagattgggctaccccgcactatatgttcccaaagtaggtaa +cctagatagtgtcgtatgaaattcaggtcatcgatgagagtataaaaatatacaattttg +gcaggggttatacattgcgggcatgaagagtaacattggacatgaacggacattcgaacc +ctgtgagtttaataccctatctccggatcattataaagtaaatatacgtcacttactcta +cgtgcgtttagacagtctttgaaactaaattggttatttttctttcatctagatttgtct +gtatctaactaaattatagttccacataaagctgattcaactgaagacataaatataaac +tttctaacatagtagcgaggaaagagctatgcctagcatcggatcatgcgtccgcgagta +gttcctggtagagttaaaagtttttccagaatctagaccgaacacagggtagtgaacgaa +agtgcgcggtgaacatacataataccgaacgtaaacaattccgttcgtattgttgctgta +tctatatttcctacgtaaggctatttgatctataatatgaaaagtcacgtcgaaataaat +caggaagcgcttcgagtatgtacattcagatctccttagtatcatcaaattatagatttt +acggccacgaattattggtctagatgtcccaaaaataatttgatgtcagtagcgatcgtg +cttcctcggagttgaggttggaagaagagtcattatgctataccaagaactctccatcca +gtacctagaaaggcaggtatgtaccgctcattaattttgcgatcttgacagatctgcatg +caaagtaacttgtaccagatggcttttataatagaaactaagtttcccgaataacggtgt +acgataacagatttttaggtgtacagacgtctgactcaatgaacacacattgggacctgc +cccgggaggagtagtagataattaccttctccagcgcgggtcttttaatatcacaacata +aaaatactaattaatatcacacaccctcatcctcgatggagcctagcatcatacacgttt +gatagacaacgccaattttactgtaatatgatattcgaatctagtatgtggacgctgtac +cacattgtttaaaggagctccctttaccgacatgaacgaagcaagctttgtacaagatac +gaagaactcagtactggtaactataagagacaatttatacataaaagtgttaagaccatt +atataaaaagaggtatgaggtctttgtaactacaataatacattcatcgaacgatggaga +ataacagagttatttctgctgctcgagctctagttctgctaatttctcaatcttgatgcc +actcgtttgagtcttccattcgctcttaacgacgcgtacatccctctctcctactcttac +ctatatcctattactggttaacctacatctccgggaaagacgtaggtaaagtggtccacg +attgtattcacttataacacctagtagtactatgtgttgctgagagtgaggacacactta +ctctacgagttcaagtccatatggacattacactttttcagcatctaggtgtcatgatgt +attaacagccgttaggggctatttgattttatcgattgtcggcgtgtgtattttcaacaa +ctaggtgctacaattcgtgaataggcatgaaaattcaagattgcagttcctatcttgtat +aatctttcctttggacgagttgtaccatttcaactaacctgcaagtggggggtcatccat +atgaagatttgccaaatacctggagaccctgaaaagtttatccagattaataataacaaa +caaacctaagcgaagaacgtcagctttaataaactatcactatcatagaaattcctgtta +attgttcttccaaacgttgaatagactatcacgggtaatagattgaacacggagaacgtt +tatccggcttgtaaaatatcgtcgaatctgctgataactcaattatattcgatggagaat +tcatatctaccgcttagcttttaaaaattaagtcagattattccgccacaatgagaaggc +gcgagtgcactaatcaaatcacttaggattattacggacgtctgcattacaatgctttgg +ggtagggttatacaagcatatgattctttaggtctcttgatcgggcgtttaccaccgtag +cttaatgttggcatatccgtgatcctaatattctgttgtcagcgtgtgtataggaatgca +caacgcaaatctttaagctgacctgttcatgaaagacaggagacacgaggcaccacctca +attctatgcaaaactctaacatagcgtggcactatgagtacgtgtaacgacaaggtctca +tactcgatcctaagataattctcgtctggaaggttttaatctttaactaagagtagaact +tagtttattgacttttacaattaggatacggttcgcgactctaccacagggcatcatacc +tggagctctgctatctcgtgaccaaagtggcagcacacatagggtcgggtcctgcatcta +ctgagcaatccctttaagcattcctagtttgagagccatttagatattgctgtttaaacc +gattaatggtttctattattataaagtgtaacgctcccattcgggacattgaaaattagc +aataagacaatgtatgatattcggcgagtctcaacaacattatggtctaccatgggacaa +ggggttgatatgatgaatccacaaaaaatagtcaaacacccatggttcgttaagtgaggg +tatccaggtgttataaggacgatctagaagtattcaggtacacggtgttcagacatgctc +taattgtcaggttgtttataatttaacgtatcgctctctattctaaataatataaaatta +accgctcgtagggatgctttccagtaaaagatacactatcattaaggttatgcaaatgtg +gcgatttgatttgaatcttagtacattcttaaacttaaatacgtattatttaaagtaaat +atattatctaaaccgcttttgtctatccacatttcgtcgaatcacgacctcgttaatgcg +acaatttacgaccctctttcatctaaagcgatcatctatttcttctgattgatgtaatac +tgacccttactccgtacatacaaatgatggtaagcaagaatgactgacgctcctgtcacc +tttcgtggcaatcaactggcgctggtactgaagtagcttgaaagggatatggatgtgtat +gccaggcttcattttgacaatttttctgtcctgctcagtgttgtctgaagtcgtatcgta +cacaataatgatgactctcattgtagatccaatcacgctttcctacgctaatgaaagttc +tagatagtgtaggtgttagacagaggttagcgcctacatccttacacacacagtgttgaa +cggcaagcataatcgagtatcaatagctgtatgtatttgtttggaatatcatatttctcc +cgcctttgaacaatgatgccaaaatgtcctgccctagagttatgataaaataactgctgc +cctgtaacttaagtttacaaaccgatattcaatcgttgtgtcctatgaaaatatttatat +ttgcaccaagaaaatcatctgtgcgatgaacaaaacacagtgatttataaatacaaagag +tacatttagttaccggattgcggcttgacatttattttacagaattttatcggcaaaaca +cttcatatgaactatcgcttcacgataagtctatgatagactagcattcgtagagaacag +gaagagcaatcattatatatgaagtgttacagtgggtactacatatgagatcattaggtc +tatatccggccttcctcataagaccttggaaatatcttacatcagagatatcaaaggaag +tatgggcgaacccagaaaaagccccaaagaatagtaattcatcggacgtaatagtctggt +tttaactaggggttattgatatttaagctaaaagagttccctgaacactcgaaatgtata +atctatcccaactaaaaaagtatacctctaattcagaaatgtcattgagattagactgat +gtcaatacgctaggaggtaagacaagtagaagtttttgatttaggaattgaaatgtaata +cctccatcttaagttctatattttaaagttttatgcggacttcgagtaagtgcacaaatg +atggcataagtgcccagttacatgtttgcggccccgtatgagtaatgatctgtttatcaa +tctctagctactatcccacgaatgcactgatgccagtcatggcgcttacattagtcgaca +gaaatccgacgatacctatcacgcgtgaactgttctggttcttattcaattcgaagtgat +ctcagatacattacggccatgcttgcccttcatgtctgctgagcagttttgttataggct +gaatctcctctaagcgaaattgataggatttttggtggtcgatttagtctgtacctgctt +attaagattcaaaatgacctacttcttacgccgaaatgatagggatcggctgaggaggat +aaatatacgctggtgcctggtatttatccagaacaagttgcctgtgtatcagatgaactc +taatctccgagataaaaaacaggtacgtaaaataaaggccgcaaagggttacatctcagg +atcgtggcgtatagtccaccattagttctgacttacttaatatagactgaccgagattgt +agtatgtggatccaagcttgccatgtaaaacatgtcggttagcaaaacgtataggagcat +gatcaaagaagagttaattaatagtactgcactataattgtcggcggagtaccatgagct +gttgcccaattcgatgtttattaacagcacgcataaaaaatccagacttttcaattagaa +ttaactataaatggtccgcgaaccttaaatgatcggaaggacgggatctgccgttgtata +gaccccaactctatctaatttttataacacctctgtaatcaacaaatcttattatgccat +cattatgtcattcgccaagtaagtccagttcgagattctctggaccgtgcaatagtattg +tcaaattatggtaatggaatccttcttctaacacccttagaaaagccacgagaattgaca +agttgggcgtgcttgtccaggagcaacataagtgccgtttctttttacgatgatagggat +tcttaaagcttttctctattctagatcccagttgccatcatcaatatctcaattgatgct +cattatatagttcttatttagtatgtccagatgtcactgaagatcctgcctagaaccgat +attctcgacaggatcatcagttcgacggggcaaacgcacctatgcacatccatcttgacc +gtgaaacgaaaggaaagagtcagtaccgacccaatgtggaaaaaaactcctgtccacgat +atgtaggcaagttttactgcctttaattagtagtcgattagtgtagtttgatattatcta +ccttatagaatgtaaacagtaacccggccttaatggtttggcaggattctttgtaaaagt +taataatgttcataaactttatcagaaaacctgaagtagtccgcctttcgcctgcgtaac +gttgcagattaattcgttttacggagtggcttgcgtcttgttgtccgagtacacatattg +ctcctctcccccactcttctaggaaaatcaattatgctaacctgcagaccttcttcttta +ctatctttaatgcatgcccagtatgttcatagggtagacttgctatctattttgtataat +ctacgaatgatgcttggggcgcgacttttaacaattaagccgttgggtataatttgagag +ggtgccacgatagtaagagatttccggcgtgagtaaggaaaatgataataggattaagca +ggcgtaatagctcaccctcctcagttctccaaccctgaaccggctaagtatgactgtgca +gtattaattttgaatacatattgcagcccctaggatacattatagatgtctctttcttac +ccaaactcgcccgcaccaagaaagaatgtggattcgattgaggttaaattagccggaatt +acagacacagattcttgtttacaattgtgggaagaaaaccacctcaaacgttgaaaccta +cattcacaaatggattacgttggggatgagaatcgattccggtcaaaaatcatgcccgga +gcaataaccaagaattcacagaggattaatacacttctccatgaagataggactgcttgc +actatccttatctttgtgtcttccttcaagcaccaatcgtttggggacaaccacaattat +gccaagaaataacggaaggtgttccaaatctatgagtccgcggtttcatcgcaacgtttc +actgtgggtatcatgactttggactttagatttgggtattctagagactgtagaaagact +gcaacaacaagacattcacagggcgaaacctaggaaaggggaccgcacgttgtgctaggg +atgtttccttaggaatccatacatgtaagaaagaatcaaccgtaattatagtgttttcgg +ccccttgaattacgtgcatgcctttgctaaaagacctctgggaaatagattgaatattct +ggacagcagcgaatcctgattatatctcaagcgaatatatgacccgcaagaaggatttat +actagaataagtctaagaaagggcattgggtcacttcttccactaacacacttttatcag +ttttataccttgagagtcccatgcatttttatatatatttaactttcgttgcgtaaaact +ttaaatatgatccgtgctctatctctaatctgaacaacggtatcacgtcgaacaaatcta +gtggctacgaatcgcgtcgctaagaacggtttcttctgctggcgttagctacgtatcttc +tatgctaaaaatgtatagccccgcattagcagcaaaaccgggagaatcaaatacacatcc +gatgaaatcgtaacaaagataaaacaacgcgatttctatgtttgccaaagtgattaagtt +gtatcgtaggggtcagcgctgatgtcttttcagtttgggttttggatttaccagtctttt +agtttcggtactatttgatcgggacattcgtccaaacatgatggctcattcgttcttttt +ttcaattttaatcaaaaccttgtatttacctgatacattaaactgagcatcgcatggagg +tggagattcccatatatgtaatcatttgatatcctattccattctttttagttataaata +aacgctccactgcacaatgggagtaggacttcaccaataattagcatctactgtaaacaa +gcgccgtaacgaaatgattactgattgagaaaaataggtctcaacaacttttgacagata +tgtatccgatacccaagcgttgctaattgcgcaaaagtaagtagaattacggtcgtatta +cttgttgccaaatggttattactccaatgggctattctaatccgatggatacgtaggaga +gagtgtacctacaccgaaactcgtagtgggcttagtggctacgtagaagctgttcgggtc +agttacagcgtgcgaccttgtaaaatcgatcacggtgatgaattattgttattgtttaaa +agaagtcccctgaatagcccttagataatacgaaaatttgttatgtccagtcgctcgtat +atcaaaagattcggttaagttcgcagagttttgccaagtttacaggtgatttactaacac +ttgggagggtacgtacaaccatcacctggttagcagagaatgaattatacggtcatgtcg +cgaagggcaagtgtgtgagtattgaccgagttattaaacgtaaatgcaggcatttacgtc +ataggacatcgagtttgtcctttgcgaaatgttaaatttatggttttttccgttgagtga +taatagctgcaacatgaagatagtaaaactgaggttaaactttcaccatattaaattata +tgttcaattacgcgatgtacaaactaatgttaatcagatttaggagcgcgcttaatatgg +gtccctatcccgactttgtacgagattttgataaaaaatagtattgtaaattcatttgat +ggcgtagaaccgggcaaaaccttgaaaaaggacacatttaggatgctatttccctaagaa +agcggaaaatcctggctcaatatttataatagtaatggttaagattgtggcccaatcgct +gagtacccgtcttacgctttttccaacacataatcgacgagaatgtatttaaatgtttga +gacttacgttttccgcgtacttattattaaagtcattggagagggtgtcgtctgggtgta +gttttctcatctgctcaggagctaaaaatgtaaatctattggttgtttctaattctgtcg +tccgtgtaggctatttaatttttatggtacacttgaatatgtttagccataatgtagcca +atactacaatatcagatacttgtatacgacctatagacttttgccgaccgctcgtagagt +gatttagaaagatgttcggatagcacagcaatcgtttgcgaatgtaagcatgcgaagcga +gtatttaactgttgactattttgctatatgttactctgaatgttgttttttttaccagaa +tgtgttataatgatcaaccatgcacgttcctactaatcatataaattttgttacgtaagc +ttttctatgatagtggtctaaagactacccttgcatactttaagattaagacatgcactt +taggaggaactcacacgttttgagctgttctagcccacctataagccattcgtccgcaat +cccataactacaatagtcggcaatcttttattacccagaactaacgtttttatttcccgg +tacgtatcacattaatcttaatttaatgcgtgagagtaacgatgaacgaaagttatttat +gtttaagccgcttcttgagaatacagattactgttagaatgaaggcatcataactagaac +accaacgcgcacctcgcacattactctaatagtagctttattcagtttaatatagacagt +atttgaaccaggcgctaatgttaaggcccccttcgaaaaccttgttatgttattccatgt +ggtcggaggatttgcggggcgatagcgctgggcggggatcaacaatttcgttcatgcgag +cgcccccataaccagtaggtacagttcggaaaagaaaaccccacgcactcgctagaagtg +ttacaatcacatcacttcgtaccgaagggactactgtattccgtcttggggatgtaacag +actgattacagtcttatgatgaagcctcattcatctaaaattagttgatttattccacgg +atactatcacactcctatagaaagagttaccaccgtgggaagctagatataataaataaa +agacatacaatattagtatggctcatgatctacacttactcggatctctctttttttata +accagtagatcgcattacacgtattgttgttccgcatcaggccctaggggctcaaacttc +catggtggataactaaaacgtccgtcactaaacgaagatattaatagatgaaatacacgg +gtttacttgatttctgttcagtcattcacgggaaatcctaggagtctttcataacggcgg +tcttagtaggaatgtagtcaagctctgtagaggtctcgacggaattggtatttcctggca +tcacaatttacctagtattggagatcacttaaaataatgttgagataataatcaggatat +ttctagtatgtgacaaacctctatttagtgattgtgattttcaattaaacaagacgtagg +ggtcaaattaacgactacatgttggaaagaaggccgaattgtaatatctaactcatgtac +taagaagaagtgctttcgtttaaggctttctgtctaacattctaacgtcaattcctatgt +aatactactgtaaccaagttattactcggctgcgtagataaagtctcatgtaaatgacgg +tttatctgttacttttgggtttcaacctagctaggacgccggtactaattacgacacctg +cgtatagtgcagggtgttcaatgtgcctttttatgtccggattataaccatccctctccc +acttggaatatcaccgggttcttaatgacttagttcgtcttccttattttccgggtaaga +tcgctgtggaccggacccattttgatctagtctaaaaaggtatatagcgtttcgtctggc +ccgcttacgttcactgaaacttagattaatcaatgcactgcactggattaacaagaacat +gttatagtgtactgacacatgttagactaagaggtctgttcgggttagccgacttatatg +tttaaccgattttgacaactgggttgagagataacaatgaagagtgaggactgtagaaga +tcttaaaactgtaccatagtgctcaattcgctaatggcttgaattatttaattgttctaa +ccctggcgtcgaatttttttggttcgaaaatacttagcacagcgtattgttcaacgagat +gcacaactgtaccgttagaaagcggcttaatgacaaggcagtattgtgactattgacagg +gaatcctaaaaagctactcgaattggtatatggaagaggtatgtactgagaggtcgcgcc +tattagtcaaattctgccaaagaagagtcaaaagcttaactagtttgatggtatgaggtt +taatgctaggtggtctataccaccaaaaagtatatgggatatcccagaatttatcgactt +tcaatcgtctaccgtcacgacgtacactaggcagccctaatccaaaacttttgaggatga +gtactgccactattatactgtaccatttgtaacttacattttatatcttcaaagaggtag +atattgtcggccattactgtcacttacactaagggtagcttgattactgatacctctcat +ggtaaaaagtaatttaagaacctatttttttacataacctctgctactaccgttagtgtt +ttagtcggttcaagtcacaaaatccctgtagcgcacccctataagcagaaggaaacctta +atgcggataaaaacttttgccggaaccgttaatcctatgagaataccactcttggaatcg +gtcctttaggctgaggatatagaacgaggggaacgcatcaatctaggttaggtgagagaa +ctttgtatcaaaacgcaagtaccatatgccgtcctcagtaaattgccaaatgcagaaatc +ttacactcttttcttaactaagtatgagagcaacctcactcctgaacagcttgttaccta +acgagaagaggctttaagtagcctggagcctcaaccggatatccggatttgactctcatc +cacttacatgatgattacggtcattacatctcatgattttctgagtgccctatagactgg +gaatttaatctaccctgtttctatttgttaacaaggagaaccactggtcaagatgacgcg +cttccatttatgccaccataagtaagttctcggaacccttacatgattggcctaccaacc +tatatatgtgaccaatgtacggtacatagagtgtggcctatcatattcaggtcatcgagc +tcagtatttaaagattatatggtcgctgggggtattcagtgcgcgatggaagactaacat +tggaaatcaacggaattgacaacacgctcactttaataacctatctcaggataagtttaa +tgtaattagacggaactttctctaactccgtgtactaactctttgaaaataatgtgggta +tttttatttcatctagatttgtctgtatcgaaagaaagtattggtccaaataatcctcag +taaaatcaagtcataaatataaaatttagatcttaggacagaggaaagtgctttcccgag +cataggatctggcctacgccagtagttcatgcttgtgttaaaagttgttactgtttatag +tccgtactcagggtagtgttcgatactcagcggggaactgacatattacactaaggaatc +aaggcccttcgtatgggtcatgtttatatatttaattacttacgctatttgatcgagaat +agctatagtaacgtcgtaagaatgcaggatgcgattcgagtttgtaaattcacagatact +gtgtatcatattattatagatgttaaggcatagaattattggtattgatgtacaaaaaat +tatgggtgggcagtaccgataggcattacgagcagtgcagcttggaagaactggatgtat +cctataactagtaagagccttaaaggtactacatacccagggatgttaccatcattaatt +tggccatcttcaatcttcgcaatgcatactttcttctacaagatgccttttagaagacaa +aataagtgtcaacaataacgctgtaacttaactctgttgtacgtggaatcaagtctcact +aaagcaactaacattccgacatgcaaacgcaggactactagattattaaattcgccagcc +cgcctcgtttaatataacatcataaaaattctaagtaatatctcacacactaatccgcca +tcgtccatagcatcagtcacctgtcttacacaaacacatgtttaatcgatgttgttatgc +caagctagtttcgcgaccatgtaactaattgtggaaagctgctaccttgaacgacatcaa +ccatcctacctttgtacaacagaccaacatctctgtactggtaaatagatctgaaaagtt +ataaatataactgttttcacattgatagaaaaacagctatgtgctatttgtatatactat +aataaattaagcgaaacatggagattaaaacagtgttttctcatcctccacctcttgttc +tgctaatttataattcttgatgccactcgtgtgagtcgtccattcgatcgtaaagaaccc +gacataaatagatacgacgctgaacgagatcctatttctcctgaaaattattagcacggt +aactcctagggatagtggtactagttggtatgaacgtataaaaacttgtactactttctc +gggatgtgagggagcaaactattactcgaccagtgcaacgcattatcgacagtaaaagtt +ttcagctgatacctgtctggatggattatatgcaggtaggcgagagtggattgtagcgat +gctcggcgggggtattttaaaaatctaggtgataaaagtcctgtttagccaggaaaagtc +atcattgcactgcatatcgtcgattagctgtcatttcgtccactggtaccagttcaacgt +acatcaaagtccgggcgcatccatatcaagttttgcaatagtactccagaccatgaaatg +gttatccagattaataataacttaatatactttcactacatactcagcgggtattaaatt +tcactttatgtcaaaggactcttatgtggtcttcaaaaaggtctagagtctatcacgcct +aattgtgtgaaaaccgagtaacttgatcagccttgtaaaatatagtagaatatgatgtta +aatcatttatattccagggagattgaatagcttacgattagctggtataatttaactcac +atgattaagcaaatatctgtaggaccgagggaaagaataaaataaagtaccatgagttcg +gaacgctgcattacatggcgttgggctagcctgatacaagaagatgagtatggagctctc +ttcatcgggacgtgacaaccctagcgtaatcttggcagatcccggagcagatgattatcg +tctaacactgtctttaccaatgcacaacgcatagatttaacctgaactgttctggattca +ctcctgactacagcctacaactcatttctatgcataactcttaaagacagtcgcaatatc +agtacctctatacacatcggatcagactagatcataagataagtctcctctggatccttg +tattctgttaagtacactacaaatttgtttagtgtctgggacaattacgataagggtcgc +gactagaccacagggcatatgacctccaccgctcctagcgagtctccaatctgcaagcac +tcatacgctaggggcatgaatcgactgtcaatgcactgtaagatttacgagggtgagacc +catttagatatgcctcgtttaaccgttttaggcttgataggatgagtttgtcgatccatc +aaattcccgacattcatattgtccaataagtatatctagcttattcggactcgctaaact +aaattatggtataaatgccgtcaaccggtgcatttgttcaatcaacaaattatagtcaat +ctcccatggggccttatggcagcgtatacagctggtataacgaccatatacaactatgaa +cggactagctgtgaactaagcagattattggatccttgtgtataattttaagtttcgatc +tatatgctatagtatagaaaatgttccgatcgtacgcttcctttacagttaaacagtcta +tatcatgaagcttatccaaagctggacatttgatggcaatcttacttaattatgaaactt +aattacctattattgaaagtatttatatgatcgaataagatttgctctataaacaggtcg +tccattcacgacctagtgattgcgtaaattgaccaacctaggtaatctaaagcctgcatc +tatttcttatcattcatgttatactgacccgttctcagtacttaaaaatgatcgtaagca +agaatcactcacgctcatgtcacatttagtcgaaataaactgccgatgggaaggaagttc +cgtcattgcgatatcgatgtctatcccacgcgtcattttcaaattggttatctacggata +actgtgcgatgaactactataggtcaaaattatcttcaatctcattctagatcatataaa +gatgtccttcgcgattgatacgtctacagtgtgttggtgttacacagagggtagcgacta +cttacttactaactctctcttgatccgcaagcataagccaggttaaagtgctctatcttt +ttctgtggattataatagttataccgccttgcatctaggtgcccattaggtaatgcccta +gtgttttcataaatttactcctgccatctaacgttactttaatttcccagattcaatagg +tctctcatttgaaaattgttatatgtcaacaaagaatataatagctgagtggaacaatac +actgtgagggagtaatacatactctaaattttctttacggtttgcgcctgcacagttttt +tttatctatgtgatccgcataaaaagtaatttcaacgttccattcaagttaagtcttggt +gacactagcattaggagagatcaccaagaccattatttatttagctagggtttaagtcgg +ttagaaatatcagataatgaggtctttatccggccttacgcagtagaaattggaaatttc +gtaaagcactgagttcaatggaagtatggccgaacccacataatgcacaaatcaagtcga +tttcttccgtccttttagtctcctgggaactacgggttattcatagttaagctaaatcag +ttaacggaactagacaaatgtataatagttcccaaatatatatctataaatcttatgcag +ttagggaatgcagatttgaatcatggcaatacgctagctcggaactcaactacaagtgtt +ggatgtacgaattcaaaggtattacatccttatgatgttcttttttggatacttttatga +cgacttccacgaagtgaaattatgttcgaatatctgaacagttacttggttgagcccaag +gatgacgaatgttctgtttataattctcgtcataatataaatacaagcatatgaggccag +tcatggagctttcatttggactaacatttccgtagagtcatatcacgcctgtaatctgat +ccgtctttttctattcgaagtgttatcagatacatgacgcccttgcgtgacattcatggc +tcctgacatcgggtcttttaggctgaatctaatctaacccaatttgtttggattgtgggt +cctccattttgtctgttaatgcttattaagattaaaaatgtactacgtatttagacctaa +tgattgcgatacgctgtggaccattaatataagctgcgccaggggatttttccagatcat +ctggcctgtgtatatgttcaaatctaatagccgagagaaattactccgacggaaaataaa +ggcagataagcgtttcagagcaccatcgtggcgtttagtcaacctttagttcggaattta +ttaatatacaatctcactctttggacgagctccttaaaagatgcccttgtatatcatgtc +ccgtacctaaaagtataccagcatcatcaaagaacagttaaggaatacgactgctctata +attgtccgaggagtaccttctcatctgccaatagtcgttgggttggaaaacaacgcatta +atatgccacacttgtcaattagaagtttctataaaggggacgagtaactgatttgagacc +tagcacggcagaggacgttcgtgtgacaacatctctttataagtttgagataaaatcgct +aatctacaatgattatttgccaatcattatcgaatgcgcaaagtatctcctgttcgtgat +tctagcctaaggccattactatggtcaaattatgctaatcgaagcagtcttctaacaccc +ttagaaaagcaaacactattgaatactgccgccgcattcgccagcaccaacataactgca +cgtgcttttttccatgattggcattatgaaagatttgatctatgattcttaccagttgca +atattcaatttagcatgtgttcctaattattgtgttattatggtctatctcatcatgtaa +atgaagatcatgacgtcaacacagattctagtcaggatcatcagttcctcggggaaatcg +cacctaggaacagccttatgcaaccgctaaacaaagcaatgaggatgtaccgacaaaagc +tcgatttaaaagcctcgaaacgagatgtacgaatcgtttactgccttttatgaggagtcg +agtactgttggttcatatttgctacatgattgtatgtaataacgatcccgccctttatcg +gttcgatcctttatggcgataagttatgaatcgtcagtatctttagatcaaaaactcaac +tagtacccagttccccggaggaacggtcatgattaatgcgttttacggtctcccgtccct +cttcttgtcagaggaatcagtttcatccgatcccactcgatgattggtatagctatttgc +cgaaaagccacaacgtattcggtactatcttgtttgattcccctgtatcttaattcgcga +cacttgatatcttttgtgtttaatcgacgaatcatcctgggggcgacacttgttacaatt +atccagttgcgtttaatggctgtgggtcacaagattgttagacaggtcccgcgtgtcgta +ggaaattgataattggagtttgcaggacgaatagctcacccgcctaagtgatccaaccct +catcaggataactatcactgggcagtattatttttgatttcatatgccaccccctaggag +actgtagtcatgtatctttcttacccaatctagcccgaaacaagaaagaatgtcgattcc +agtcaccttttattagaccgatttacacacaaagtgtcttggtttaaaggctggcatgaa +tacatactcaaaagttgaaaacgacttgctctattcgattaccttcgcgatctcaatcga +ttacgctaaattttaatgcccgctgaaatatccaacatttaaaacaggattaattctctg +atccatgaacttaggactcattgcacgtgacttatctttctctcttaattcatgctccaa +tacggtgggctaaaccacttttatcacatgaatgtacgcaacgtgttaataagctatgag +tacgcgggggcagcgaaacgggtcaatctgggtatcttctattgggacggtacatttcgg +ttttatagactatgtagttacacggcatcaacatgtaattaaaacggcgtaacctaggaa +agccgaacgcaccttgggattgccatgtgtccggaggattacatacatctaagaaacatt +ctaaactatgtatagtcgtttacgacccttgtagtacgtgcatcccttggcgaaaagtac +tctgggtattagagtgtatattatcgacagcaccgaatcctcattttatagcttgacaat +ttatgacccgaaagaaccttttataagtctataagtatatctaacgcaattgcggcactg +agtccactaactatctttgagcagtgttatacagtgagacgccatggaaggggtttatat +attttactgtcgttccctaaaaagttaattatcagacctgcgcgatctcgtagatgaaca +acgcgatctagtcgaaaaatgcttgtggctaccattccagtcgagatcaaccgtttctgc +ggatcgcgttacattccttgcttatttgcgataaatcgatacaaccccattaccagaaaa +acccggagaatcaattactctgcagatcttatactaaaaaagagattacaacccctgttc +tatgtgtcccaaagtgagtaacgtggagcgttggggtaagagcggagcgattttaacttt +cgcttttccattttccagtattgtactttacgttatatttgagcggcacattcgtcaaaa +catgatccatatggactgaggtgtttaaatgttaatcaaataattgtattttcagctgac +tttaaaatctgcagccattggaggtggagattccaatagatgtaagcaggtgatatcata +tgcaattcttgtgacttattaagataccagacacggcacaatcgcagtagcacgtaaaca +ataatgacaatcgacggttaaattccgaacgtaagatatgtttacggatgcactaaaata +ggtagcaacaacgtttctctgagatgtataagttaccaaacactggagaattccgctaaa +ctaaggacaatttccgtcgtattaattgttgacaaatggttagtaatacattcgcagtgg +ataatccgttgcatacctagcactgagtgtaaataaaaccaatcgactactggcatttcg +ggctaacgactagatgttagcctatgtgaaagcctcacacatgcttattgccttcacggt +gagcaatgtttcttattcgttattagaagtcacctgtagagacagtagagatgacctaaa +tttggtttgtccagtcccgaggtgatctaatgattaggttaacttagaacagtggtcaat +tggttaaagctgatttacgaacacttccgaggggtcgtaaaacattaaactggtgagaac +agtatgatgtattcggtcatctagacaaccccatcgctgggagtttggacagtgttatga +ttcgtaaatccaccatgtgtccgaattcgaaatcctgttgctccggggagatagggttaa +tttaggcttttttacggtgtggcatattagctcaaacatcaacattcttaaaatcagcgt +aaacggtcaccagttgatatttgttctgctaggaagcgatgtacaaaataagcttaataa +gatttaggtccgaccttaatttcggtccatagcacctctttctaagtgttttgcttaaat +aattgtattgttattgattttctgcgagttgaacacggaaaataagtcaaaaaggacact +tttaggttcatatgtaccgatgaatgcgcaatagaatcgagaaatttttagattagtaat +cgtgatgattgtggccaaatcccgcactaaacggctttcgctgtttccaaaaaattttag +tccactaggtatttaaatgttggacactgaacgtggaagccgtcgtattatgaaactaat +ggcagaggggctcctctgcgtgtactttgagcagatgctatcgtcagaaaaaggtaaatc +ttttggttctttataattctggcgtccgtgtagcctagtgaatgtgtttggttcaagtga +atttgtttagccagaatggaccaattacgtcattagctgttacgtctatacgaaatatag +actgtggacgacccatcgtagagtcatgtagttacatgtgaccttagaacaccaatcgtg +tgcgattgtaagcaggacaacacagtattgtactggtcaattggttcatagatctgacta +tgaatcttcgtttttgtacaacaatctcggtgaagcttcaaaaagcctccttcctaataa +tcagttaatttttcgtaaggttcctgttcgaggttagtcgtataaagacgaaacggcctt +aatgtaacattaactattccactgtaggtggatctaacaaggttggacatgtgctaccaa +taagataagaatttcgtccgcaatacaatatctacttttgtagcctatcttggattaaca +acaacttacgttggtatttcaccggacgtatcaaatgattctgattttaatgactgagag +taaacatcaacgaatcttatgtatctttaagccgctgcttgacaagtcacattactgtta +gaatgaacgcttcattactacaaaacctaccaccaactcccacattaatattatactaga +tgtttgaagtttatttgacaaaggttttcaaaaagcacagaatcgttacgaacacgtaca +ttaaattgttagggtattaattgtggtcggtgcatttccggccccatagcgctccgcggg +gagaaactatggccttcatgacagcccccccataacatctaggtaatggtcggataacta +taaacaaccctctccagagaactgtgaaaataaaatctcttagtacacaagcgtatactg +gtttaagtcttgcccatcttaaagactcttttcactattttcttgatgcctcattcttct +aatattaggtgattttttaatccgagaatataaaaagacgatagaaagtgttaaaacacg +gcgtagcgacatattttaaagaaatgaaatactttttgactatccctcatgatctaaact +tacgcggagctatctttttgtataacatgtacagagaattaatccgatgcttcttccgat +taaggacatagcgccgaaaacgtcatggcggcttatcgatatcgtaacgcactataccaa +gtgattaagtgatcaatgaatacgggtttcgggatttctgttaagtcatgcacggcaaat +acttggagtcttgaataacgccgcgcgtagtacgaaggttctcaagctcgcgtgacgtat +agaccgtattgctatttcctgccttctcaattgtccgaggattgctgataacttaaaata +aggttgagtttttaataacgatttgtcgagtttgggaaaatcctcgtttgtgtgtttgtc +attttcaagttatcaagaactacgggtataatttacgacgtaatgttggtttgatgcccg +attgcgaatatcgtacgaatggtatttgtacaactgctttcctttatcgattgctcgaga +acattataaagtctattactatggattaagactgtatacaagtgtttaagcggagcccgt +gataatctataaggttttggtacctttatctgttacttttgccttgaaacatacatacgt +acacgggaatatttacctaaacgccgtatagtccagcctcgtatttgggccgtgttttgt +cagcattttaaactgaaagcgcccacttgcattataacccggtgcggaatctcttagtga +ctcgtcaggagtttacgcctttgagacctctcgacaggacccattttgatctagtcgtta +taggtagagtgcctttcctatcgcaccattaccttctagcaaacttagagtattcaatga +aatcatatcctgtttatactaaatgttataggctaatgacacagctgacactaagaggtc +tcttcgggttacccgaatgagttgtttatacgatgttgacaactcgggggagtcatttca +atgaagactgaggactcttgatcagattaaaacgcttaatgactgataatttagattatg +ccgtgtattatttaagtgggcgaaccctcccctagaatgggtttcctgagaaaagtctta +gaacacagtattctgaatccagatgcaaatcgctaacgttagtaagcggctgtagctctt +ggcagtttggtcaatagtcaatcgcaatccgtttaaccgtctactattcctagagcgaag +agctatgttctgacacgtccccaatattaggcaaaggctccaaaagaacagtcaattgat +taactacgggcttggtttctccgtgaatccttgcgccgctataccacataaaaggatagc +ggtgataccacaagtttgcgacgttaaagcgtcgaccctcaacaagtacactagcaaccc +cttagcaattaattttgtccatcactactgccaagagttgactggaccagttggaaatga +catttgatatattaatagagctacatattgtaccactttactgtcacttacactaaccct +agcgtgattactcatacatatattcgtaaattctaagttatgatactagttttgtaaatt +taatcggcgaagacacgttctcttgtacgagcttcaactaaatatttcactgtagccaac +cactttaaccagaaggataccttaatgccgatataatattgtccaggaaacgttaatact +ttcacaagacaaagcttggaagaggtactttacgatcacctgatagatcgaccggaacga +ttctatataggtttggtctgagaaatttgtagctaaaaccatgttccataggaactcctc +tgtaatgggcaaaatgcagatagcgttcaatcgttgcttaactatctatcacagcatcct +aactcctcaacagcttctttcctaaagacatcagcaggtaagttgacggcacccgataac +ccagagcacgattggaatctaatactctgtatggatcattacgctaagtaaatataatga +ttttctgactcaaagttacactgcgaattttatattaactggttctatttgttaaatacc +acaacctctcgtcaacaggtcgcgatgcaagtgatccaaaaatatctaacttataccaac +cattacttctggcgcagaaaaacatagatatctgaacaatcgaccgttaagactgtctcg +ccgatcttaggaacctaatactgctcagtagttattgtttatttgggccatccccggatt +atgtcagccatggaacactaaaagtcctaatctaacctatggacaaaaagctcactttta +taaaattgctcaccttatgttgattgttatttgtccgaaatgtctataactcagtgtact +atctattggaaaattatggccggagttttattgaatatacttttgtatgttgagaaagaa +tgttgtcgtaataattatcagctggaaaatcatctaatatatattatattgagatattac +gacagacctaagtgctttcccgtcatgagcagatggactaacactcttggtaatccttct +cgttttagttggtaatgtttagtctaagtaatatcccgactcttacttactcagagcgga +aatgactttttaaactaacgtttaaaggcacttagtatgcgtcagggttatttttttaat +tacgtacccttgtgcagagagtttagctattcgatcctacttagtatgaaccatgagagt +acaggttggtaattcacagagaaggtcgagaagattatttttgatgtttaccaatactat +gaggcgtattcatcgaaataattttatggctgcgcacttcacatacgcaggaagaccact +gcagcttgctagatctggatgtatcattgtacttctaagagcctgaaaggtaatacattc +ccagcgagcgtaacagattgtatggggacatattcaatcttagcaatgcattcgttcttc +gaaatcaggcatttttgatgtcataagttctgtcaactataaccctggaactttaatctg +ttgttcgtcgaatcaaggatcaagaaagcttctaaaaggcccaaagcaaaacccaccact +acttcagttttaaattagaatcacaccctagggtattagataataattaaatgtcttagg +aagagatatcaaaagatgcagacatcctcaagtgaataagtctccggtctttcacaaaca +catggttaagcgatgtggttttgactagagacgttcgccaccatcgtaatatttctggtt +acctgcgaacgtgaaccaaatcttacttcatacattgcttaaacagtacaacttatctct +tatcctatagagatctcaaaagtttgtatttttactggtttcaaattgagagaaaaactg +cgttctccgatttctatattattgtttaaatgatgccaaacatccagtttaaaacacggt +gtgatcagccgactcagattcgtatcctatgttagaatgagtcatcaaactacggtcacg +cgtacattacagagtaaactacacgaatgaaagagataagaagatgaaagagttaatagg +tctcctgttaattatgagaaccctaactactacggattggcctactagtgggttggaacg +gatataaaattcgactaagttcgcggcatgtcaggctcctaaatatgaagagaactcggc +atcgaattatccacagtaatagttggaacatgattcctctatgcatggtgtatatccacg +tacgccagtgtgcagtgtagccatgcgaccacgggcgttgtgaatattcttcctcagaaa +aggactgttgagcaaggaattggattctgtgaacggaatatagtcgagtagatggaattt +cctacactgcgaaaaggtcatagtaaatcaaacgccgcgcgcagacatatcttcttggca +attagtactccactaaatcaattggttataaacttttagaatatctttatataagttcac +tacttacgctgcgggtagtatatttaaagtgatgtcttaggaatcttatggcggcggaat +aaacggcttgactatagataccctaattctggcataaccctgtaacgtgtgaagcatgct +ttaatagacgactagatcagcttatagaatggatatgactgccacattgaagagattaac +attagcgggtataatgttacgaacttgtttaacaaaatagctctaccacacacgcatagt +ataatataaaggtcctggagttcgctacgagcctggaattgcagttcccctaccctgagt +aaacaagatcagtatggacctatcttctgacccacgtgtaaaaactaccgttagcggccc +tgagaacggtgaagttgattatcggctaacactcgctttaccaaggaacaaacaattgat +ggaacaggtaagcggctggattctatcctgaatacagcataataatatttgctttcaata +tatagttatgacactcccaatatcactaactctttacaaatcggatatgaagagtgaatt +agagatggagccgatcgttccttgtattctggtaagtactcgactaatgtgtgtagtcta +ggggtaaaggtccttaaccgtcgagtctagaactcacgcattatgaaatcctccgagcat +agagactctaaattcgccaagcaataagtcccgacgcgaaggatgagaagctcattgaac +tgtaacatttacgtcgggctcaccatgttacatatgcagcgggtaaaagtttttgcctgg +agtggttgagtttcgcgatacataaaaggccccactttcatatggtcaaatatctatatc +gtgctttggacgactcgataaactaaagtagcctagtaatgccctaaaccgctgcatttg +tgcaataaaaaatttagagtatatataacttccggacgtatggctgccttgaatcctcgg +atatcgtccttatacaacgatgaacggtatagctcggaactatgcagattaggcgatcct +tgggttgaatttttagtttccatagatatgagttagttttgatatggttaccatacgtcc +ctgcattgaaacttaatctgtatattgattgatccttagcaatagcggcacatttctggg +caatatgacttaattaggttacggtttttactatgatggatacgttttatatgatagaat +aacagttgctatttaaacaggtactacattcaactaatactgtttcactattgtgtccaa +catagggaatatattgcctgaatagatgtattatcaggcatcttttacgctccaggtaga +actaattaaaaatgatccttagaaactttcaagcaacataagctaaaagttacgccaatt +ataagccacatcggtaggatcttcaggcattcccatatccttctctatcaatcccgtctg +ttgctaattggttatctaagcatatcgcggcgagcatctacgataggtataaagttgctg +ctatctaattcgtcataatatatacatggaattacagattcatacgtcttcagtctcgtg +gtgtttctaagagcggacccaagaattacgtaatatctctctcgtgttacccaagaagtt +gacacgtgattgtcagctatctttttctggcgatgttaatagttataaacaattgcatat +agctgcaaattagctaatcaaatactcgtttcttaaatgttatcagcaaagctttaggtt +ctgtaatttcactgtgtaaagagggcgctaagttcaaaattggtttttggcaacaaacaa +tttaatagcgcagtgcaaaaataatatctcagggtgtaattatttctctaattggtcttt +acggttggaccaggcaatgggttttttatctatgtgataccaattaaaagtaatttcaaa +gtgacattaaacttaagtattgctgtcaagaccattacgacacttcaccaacacatttat +gtattgtgctacgcggtatggcccgtagtaatttctgatattgaccgcgttatcagcaag +tacgctgtacaaatgccaaatttagtaaagctctgtgtgcattccaaggtgcccacatca +cacattatcaacatatcatgtcgttgtattacgtccttttactagcctgggaaataccgg +tgattcagagtgaacataaatctctgaaagctactagacaaagctagtatagttaaaata +tatatttcttttaatattaggatctttgcgattgcacatttcaagcatcgcattaaccta +cctccgtactcttctacaacggttgcatgtacgatttctatgcgatgaaatacttatgtt +cttagtttggggttactttgttcacctagtcctcgaacgcaaattagcttcgaatatctg +aaaagtgtatgcgggcaccaaaacgatctcgattcttaggtttataattatagtcagaag +ataaatacatgcatatctggacactcttccacatgtcatgtcgactaactttgaactaca +gtcatatatagactgttatctgatccgtatgtgtctattactactcttatctgagaaagg +acccaatggagtcacagtaagcgatcatgtcatcggggctttttccctgattataagatt +acactattgctgtgcttggggcctcctactttttctatcttaatcattttgtacattaaa +aagctaagaagtaggtacaacttatctttcccatacgagctggaccattaatttaacagc +cgcaaggcgagttttaatgttaatctggaagggctttatgttctaagcttttagcactga +gaaattaatccgtaggaaattaatcccacataacccggtaagagaaccttacgccccgtt +actaataatgttctgcgcaatgtaggaagtgacaagctcactcttgcgacgagctcctta +atacaggccctgcgttatattcgaccgtacctataactagaccaccatcttaaatgtaca +gttatggttttcgacgcatagagtatgggaccacctcgaaatgctcagctgcaaattgta +ctgggggtggttatcaaacatttaatatgaatctatggtaaagtactagtttatagatag +ccgaacactaaaggtttgcagaccttcctcccctgaggaacttcgtgtcacaaattagat +tgagaaggtggtgataaaatcgcgtatctacaatgatttggtgcaaatatttatcgattg +cccaatcgttctactcgtactctttatagcctaacgccttttcttggcgctaattagcct +aatccaagaaggagtctaacaaaattacttaaccatactcttgtctattcggcccacgca +tgcgcaagctcaaaaagttctcaacgggcgtttttacttgagtcccaggaggtaacattg +gatctatgagtcttaacagtggaaatatgatttttagattgtgttcagatttattgtctt +attttggtctatctcatcagctatagctacataatgacgtcttaactgtttcgactaacc +ttcagatctgactaccccaaatacaacatagcaaaagaatgatgctaacgcttaactatc +ctttcacgatcttaacaaaaaagctccatttaaaagaatcgaaaacagatctaccattcg +tggaatcaatttttggacgagtactggtcgggtcgtgcttatttgctacaggattgtttc +gtataacgttcaagcactttagcggttccatccttgatggcgttaactgatgatgcgtaa +gtttatggtgatctaaaactctactacgaaccaggtcccagcacgaaacgtcatctttaa +tgagtttttaggtctccaggcactaggctgcgaagtggaatatgtgtcatcagagacaaa +tagatgattcctatagctttttgcagttaagccactaagtaggcggttctatagggtttc +attcaaatcgatcgtaattcccgactctgcatagcgtgggtcttgtatagaccattcttc +aggcccgccacaatggtttcaagtttcaacttccgtttattggctgtccctcaatagagt +cgttctcagggcacgactctcgttcgttattcataagtccagtttgatccacgaatacag +aacacgcatatctgataataaaagcttaacgataactttcacgcgcatggtttatttttg +atttattaggcaaccaaataccagaatgtagtcagcgatatgtagtaaaatttagacaaa +cataaaacaaagtatcgccattacagtctcctgttaggagaacctttttatcaatatgtg +taggcgtgtattggcgcccttgatttaataataattacggctaaacgtattgatattttc +caggaactgccccatctcatgagatgaccctaaattttattcacacctcatttttaattc +ttttatatcacgattatttatctgagcaagcatctttgcaagcattcatagtgacggtgc +tgtctctatgaatgcatgctaatatacggtgcgctaaacatattggttcaattcaatgta +agctacctcggaatttgcttgcactaagacggggaagccaaaacggtaaatcgccgtata +tgctagtgccaagggacttgtccgttggagtcactatggagttacaagcattataaatct +aaggaaatcgcagtatcagtccttaccccaaagatacttcgcattccctggggtacggac +catgaaatacttctttcatacatgataaacgatggagactcggttaccaccctggtagtt +actccatcaattggagttaactaagatcgctattacaggctttattagccaatcatcaca +agcctctttttagagattcacaagttagcaaaccaaagttcctttgataagtctttaacg +agatctatcccaattccggctaggagtaaaatttatatatttgagatcggggttaaagtc +acacgcaatgcaaggggtttttatatggtaatgtccttccctaattaggtaattttcaga +cctccgagagagagtagatcaacaacgcgttatactcctaaaatgcttgtcgataacatg +acactacagatcatccctggatgagcatcgactttcattacttgattagttcagttaatt +cgtttcaaaccattttcaacaaaatcccccagtagatatgtatatgcacatcttagacta +aataacagttttcataccctgggatttgtgtcactatctcaggaacgtcgagacgtcccc +tatcaccgcagcgagggtaactggccctgttccattgtaatcgatgggacgggacgttat +attgcagacccaaagtagtaataaattcagccatatggacggagggggggaattgttaag +aatataattcgattttcagctgaatgtaaaagctccagccattcctcctccacttgacat +tagttcgaagaaggtctgagaattggaattgcttgtgacgttttttgtttccagacaagg +aaatagcccagtaccaagtataatattatgacaatagaagcttaaattcacaacgtaaca +tatctgttagcatgctctaatagaccgagaaaataagtgtctatgtgtgcgagaactgtc +aattcacggcagtagtcacctaatctaacgtctagttcccgactatgaagtcttcacaaa +tggttagtaataatttcccagtggagtagaagtggcataacgtgcactctctgttaataa +tacctttagactactcccatttcgccagaacgtcttgatggtaccctatgggaaacactc +acacatgcttattgcctgcaacctcagcaatgtgtcgtatgcggtatttctacgaacagc +tagtgaaaggactgatgacctaattttggtttctcaagtccagacgtgatattttgatga +ccgtatctgacatctctgggcaattcggttaacctctggtacgaaatagtccgtcgcgta +ggtaaaaatgataatgctgtcatcactatcatgttttagctaagctacactaccccatcg +ctcgcacgtggcaaagtgtgaggattccgatatcatccatgtgtacgaattcctaatact +cttgctcagggcacttagggttattgtagcctgtgttaccgtctcgcatattagatcatt +aatcaacagtcttataatcaccgtaatcggtaaacagttgttatttgttctgataggtag +acagctaataaagatgctgttgaacagttacgtcccacctttattgccctacagtgaaac +tagttcttactctgttgctgtaatatgtctagggttattgatttgctgccacttcaaaac +ggaaattaagtcattaacgaaaatggttccttcataggtaaagatcaatccccaattgaa +gccagaaattttgagatgtcgattcctgatcattcgccaaatttacagctcgtaaacgag +ttccatgtgtaaaaaaatgttgagtccactagcttgtttattctggctcaaggtacgtgg +aacacgtagtattttgatactaatgccagacccgctacgatccctgtactgtgagcagag +ccgatcctcagaaatagctaaatcttgtgcttcgttagaagtctcgactacgtgtagcct +agtgtttgtgttgcgttatagtctatttgtggacacagtatggtcaaatgacgtcttttg +atctgacggcgttaacaaagatactctgggcaacacacatacttctctcatgttgtttct +tcggacctttcataacctttcctggcacatggttagctgcacatcacaggattgtaaggg +tctagtggttcagtgagcggaatatcattcgtcggtggtgttaatctatctcggtgtagc +ttataaatgcatccgtaagaatattatgtttatttgtcggtacgttcatggtagtggtgt +cgccgatttagacgtaaaggcatgtatggatcttgatctatgcaaaggtaggtccatcta +tatacgttgcacagcggatacaaataagataagaatttactaacatttaaattttcttat +tgtcgagcatagattggaggaaaaacttatttacttggtatttaaacggaagtttctaat +gtttatgattggatgcacggacagtttactgcttactttcttaggtttcttgaacaacag +gatgcactagtaacatgtctcgttcatgcttccattaagttcttcttaaacttacacaaa +ctacctaatttagagttgacgagatggttgaacgtgttgtgacaaacgtttgcaaaatgc +acagtatcgttaccaaaaagtacatttaagtgtgtgcgtaggaattctgctacgtccatt +gcaggccacattcacatcccacccctgaatatatggactgaatcacacacaccaaatttc +atctaccttatcgtagcataactattaacaaacatatacagacttcgcggtaaataaaat +atattagtacacaaccgtatactggttgaactattgcccagctttaagacgcttttaact +aggtgcttgatcaagaagtattattatatgacggcagtgtgtaatacctgaatagatata +gacgttagattgtctgaaaacacgccgtagagacatttttgttagatatgtatttctttt +tgacgagccagcatcttagtatctgaagacgagctatatgtttgtagaaaatcgactgac +attgtatacgaggcggcgtaagattaaccaaattccccagaattagtaatggcgccttat +cgatttactaacgatatataacttgtgatgttgtctgcaatgtatacccgtgtaggctgt +gctcttatcgaaggaaacgcattgaagtccaggctggatgaaaccaccgcgtacttccat +gcgtctatacatagcgtcaccgatactacgttttgctatgtaatccattctaatgggtaa +gaggattcctcttatagtaaaatatgcttgactttttaagaaccattgggagtggttggc +aaaataatagtgggtgtctttctcagtgtatagttttctacaactacccctattaggtta +caagtaatctggctttcttgccacttggcgatgatagttagattcgtatttctacaacgc +agttactgtatccatggcgcgagataattagatacgatttgaatttggatgtagactcgt +tactactgttgtagaccagcacgtgagtatctagatgggtttgctaccttgttagcggac +ttttgccgggaaaaagacatacgtacaaccgtatattttactataagcagtattggccac +cctcgtattgcggcagggtgtgctcacctggttaaaatgaaagagaaaaattccatttta +aaacccggaggaatctattactgacgaggaaggtgtttaacccgttgagacatctcctaa +cgtaaaaggttcatattctagttattccgagagtcactttcctatccaaacatgaactga +tagcataatgacaggttgaatggaaagcatatcctgtttattctaaatctgtttcgctaa +tcaatatgctgtcacgaactcggagcttacccttacaactatgtgttctgtttaccaggt +gctaatatcccggcactcttttcatgcatgtcgctcctagcgtcatctgatttaatagct +taatgtctcatattttacagtagccagtgtagtatggaaggcggcgaaccagcccctaca +ttgggtttcctgacataagtattacatatcacttgtctgattacacagcaaaatcgctaa +ccttactttgcgcatgtagctattggaactttgggctagtgtctatcccattaagtttaa +cagtagactagtccgtgagcgatcaccgagcttatgtctcgtacccaagttttggatttg +gatcaaaaactactcgatattcatgatctacgggcttcctttctccgggtatcattgcgc +cgagattaaaaataaaacgatagcgctgtgaaaacatgtttgacacgggatagcgtagaa +actaaacaacgaatagaccatccaatttgaattttattgggtccagcacttcgccatagt +gttgaatggtaaagttcgaaaggaaatttgttatattaattctgctacattttcgaccac +ttgtatctcaaggacaatatcccttgaggcttttagcagaaagagatgccgtaattctaa +gggatgataataggttgggaaatttaagagcagtagtaacggtcgcgggttcgaccttaa +actatatatttaaatctagccaaacaagttaacaacaaccataaagttatgaccttatta +tattggcaagcttaacgttttaattgctctagtaatagagtggtagaggtaagggaccat +cacctgattcttcctccgcaaccattatatagacgtgtcgtctgacaaatttcgagataa +aacattcgtccttagcaacgaatatcgaatggcaattagccacattgagttaaatagttg +aggatatttcttgcacagaatcagatctaatctaatgattcgttactaaacacttcacca +ggtatcgtgaaggctcaagattacccagagaacctttgcaatataagaatatgtatgcag +cattaccctaagtaattatattctttttctgactcaaagtgacaagccctagtgtatatt +aaatcggtatatttgggaaattcctcaaactatcctaatcaggtagccatgaaagtgatc +aaaaaagttcgtacttataccatacatgaattctggccaagtaaaaaatagattgcgcaa +aattcgtaccttaagtctctcgccaagatattaggatcctattactcatatcgtgttttt +ctttattgccgccatccccggagtatctcacccatccttctcttaaaggcctaatattac +ctatgcaaataaacatatattgttgaaaattgagaacctgatcgtgattcttatgtgtac +catatgtatagtaatcacgcgactatatagtgctttagtatcgcccgtgggtgagtgaat +attctgggctagcgtgagatagtttcttgtcctaatatttttcagatcgaatagcttcta +tttttgtgtttattgacatatgtcgaaactccttactcagtgaaagtcatgaccagatcc +acgaacaatcttcggaatcagtctcgttttacggcggaatcttgagtctaacttatatcc +cgtcgcttactttctaacaccccttatgtatttttaaaattacgtttattcgaacgtact +tggcggaagcgttattttttgaagtaagttacattgggcagactcttgacattttcgata +cgactttctttcatccatcacaggactcgttcgtattgatatcagaagctcgtgatgatt +agttgtcttctttaccaatactttgaggcctattctgcgaaatttttgttgccctgcgaa +cttcacataccaaggaacacctcgcaacatgccttcatatccatcgttcattgtaattct +tacacaatgaatcctaagtaattacatccctgcgtaaaagatggtaggggcactgaggat +atattaccaagcatttagttatgagtaatcagcaatgtttcttgtattaagttctctaaa +atagttacatcgtaatgttatctcgggttccgcgaataaacgagatagattcattatata +tggccctaagcaaaaacctcctcgtattctgttggtaattagaatcacacaatacgggtt +gagatattaattatttgtagtacgaagagatataaaaagatgaacaattactcaagtcaa +gatgtatacgggatttataataaaaatcgggtagagatctgctttgcaattcagacgtgc +cactaaatcgtaatatgtcgcgttacatcagaaagggtaactattattaattaataaagg +gcttaatcactacatattagatcttatccgatagtcttatctattcgttgtatttttaag +cggttctaattcagtcattatatcagtgctccgagttctttattattgttttaaggatga +caaaatgcctcttgttataacgctgggagaagcagactaagagtcggagcagttggtaga +atgaggctgcaaaagacggtctcgacgaatggacagactttactaaaccaatgaaagaca +gaagtagagcaaagtctgaagtggtatcagcttaattatgacaacccttaatacttccct +ttcgccgaatactggcgtggaaaggttttaaaagtcgaagtagttagaggcatctctcgc +tcataaataggtagactactcgcaatccaatgtgactatgtaatactgggaacatcagtc +cgcgatgcagcgtgtttatcaaccgtccccactcgcctggggagacatgagaccaccccc +gtggggattattagtccgcagtaatcgactcttgacaatccttttcgattatgtcatagc +aatttacgacagttcagcgaagtgactactcggcgaaatggtattactaaagcattcgaa +cccacatgaatgtgattcttggcaatttctaatccactaaagcttttccgttgaatctgg +ttgtagatatttatataagttcactaattaagatcacggtagtatattgatagtgatgtc +tttgcaagaggttggccgaggaatttacggattctctattgatacaatttgtctggctta +taactcttaaggctgaaccaggcgtttttagacgacttgatcagctgttagaatggtttg +gactccctctttcatgtcagtaacatttcagccgttattgttacgatatgcttgaacaat +attgatctaccacacacccatagtatattttataggtcatgctgttacctacgagcatgg +tattccacttcccattcaatgagtattcaacatcactagcctcagagatgatgacccacc +tctaataacgtcacgttgcggccatgtgaaacctgaacttgagtagacgatatcaagcgc +tttaaattgcatataacatttgagggtaaagctaagcggatgctttatataatcaatact +caataataagatttgattgcattttagagttatgacacgacatagttcactaacgagtta +ctattcccagatctagactgaagtactgatcgagacgatccttacgtcgatgatcgttag +ttatcgacttaggtcgggtctctagcggtattggtacttaaccggacactatactaataa +cccatgatcaaagcataacagaatacagacgataatttcgccaacatatatgtacagacc +ccaagcatgagaagctcattgaaagctatcattgaagtcccgctcacaatgtgtcttttc +cagacggtttaactggttcccgggagtcctggagtttcgacttacataaatggaaacaat +gtattttgctaatttatctatagcgtcatttggaccaatacagaatattatgttgcctag +taatccactataacccgcaagtgctgatagaaaatttttagacgatttataaatgcccca +agtatccctcccgtgaatcctccgttatactaattagtattcgttcatacgtataccgcg +catatatgaacatttggcgataaggcgcgtgaattgttacgtgacagagatagcagtttc +ttgtgatatggttaacagacgtacatgaagggaaactttatatctatagtgatgcttccg +tagaaataccgccactggtctgccaatgatgaagtatgtagctttaggtttgtactatga +ggctttcgtttgtttgcagagtataacagttgcgagtgaaaaaccgacgaatttatacta +atacgctttcactattggctacaaaatagggaagagtttcaatcatgagagggagtatat +ggatgctttgtagctaaaggtagaacgtatgtatatgctgccgttcattcttgaaagata +cataagcgataagttacgacaattataagcaacatccctaccttcgtaacgatttcactg +ttactgcgcttgaaatacactatggggctattggcggagagaagcagatcgcgccgagca +tatacgagacctataatgttgatgatagagaaggcgtctgaattgatacatcgaagtaca +ctttctttcgtagtatctctcgtcctctttctatctccggacacaagaattaagttatat +atatagagtcttaccaatcatgttgaatcctgattctcagagttctttggcgggccttgt +gatgactgagaaacaatgcaatattgctccaaatttcctaagcaaattctcggttatgtt +atgttatcagcaaagcgttacgttatgttatttaaatctggaatgacggagcgaagttct +tatgtcggtgtgggaataattcttttgaagacagcactccttaaataatatcgctccgtg +tttgtatttatcgaatgggtctgtaaccttgcacaagcaaatcggtggtgtatatatcgg +ataacaattaatacgatgttcatagtgacagtatactgatcgagtcctctaaagtcaatt +acctcacttaacaatctcattgatgttgtgtcattcccggtatcgcccgtagtatgtgct +ctgattgaccgagtgtgaaccaaggaacatctactaatgcctttgttaggtaagatctct +ctgaattccttcgtgccaacttaaaacattatcaaaatttcttctacttggattaactac +ttttacgagcatggcaaattcccctgtggaagacggttcattattatcggaaaccttata +gaaattgcgtgttgactgaaattagatttttattgtaagagttgcatctttgcgattcct +ctggtctagcttccaatgaacagtcctcccttctattcgacatcgggtccttcgtacatg +tctttgcgatgtaataattaggttcggagtgtggccttaatgggtgcaactaggaataca +acgcaaatttgctgacatgatagcaaatcggtatgccggcaccaaaacgtgctccttgct +tagcttgtgaatgagactcagtagttaaataaatccatatctgcaatcgattccacaggt +attgtccactatctttgaactactctaagagatacaagcttagctgagaccgaggtgtat +atgactacgctgatatctgtaaggtaccaatgcaggcaaagtatgcgagaagctaatacc +ggctgtttccagctttataagattaaaatttggctgtcctggcggcctcagaattgttct +atcgtaatcagttggttcattaattagctaagtacgaggtacaacttatctgtcccagaa +cagctccacaagtttttttacagccgaaacccctgtgtgaatcttaatatccaagcgcgt +tatctgattagagtttacaactcagtattttatcagtacgttttgtttccaacattaccc +ggtatgacaaaatgacgccacgtgtcgaataatggtctgaccaatgtaggaagtgaaaag +ataaatattgcctacacatactgaattcaggcaatgcgttttattcgaaaggtcatataa +ctagaaaacatgatgaattcttatcggatccttttactagcatagtgttggcgaacacct +cgtaatgctcagcggcaaattggactgcgggtccttatcatacattttttttcaatatag +gcgattggtctaggttagtgattccccaacacttaaggtttgctgacattcataccctca +gcaacttcctctcaaaaattagagtgagttggtggtcttataagaccgttgattatttga +ggtggtcaaatgatggtgcgatgcacaaatcgttataatcgtactctgtagacaataacc +cattgtagtgccgattttgtgcataatacaagaaggaggatataaaaatgacttttcaat +aatattggctattagcaacaagaaggagaatcctcattaagttagcaaccgcagggggta +ctgcagtccaaggaggtttcattggagagagcagtatgaaaacggcaattatgattgtga +gattcgctgaagattgtgtctctgattttcctagatagaataagctatagctacttaatc +aactcttaactgtggagactatcctgatgatctgaataccccatttacaaaattccatat +caatgaggctaacgcttaaatttcatttctccatcgtaacaaaaatcagcctttttatac +aagacaaaacactgcttccattacgggtagcaatggttgctcgactactggtagcgtcgt +gatgtggtgataaagctgtcttgcgtttatacttaaacaaattttgacctgacataatgg +agcgacttatcggatgttgccgatctttagggtcatctattaagcttatacgaaaaaggg +acaagcacgttacgtaatctggtaggactgggtacctagaaacgcaagaggaggcgaact +ccaatatctgtaagaacagaaaaatacaggagtccttttcatttttcaagttaacaatat +aagtaggagcttagagaggcttgcatgaaaatcgttaggaattacagaataggcagagag +tggggcgtgtagactacattcttcaggccccacaatatgggttataggttaaactgcact +ttttgcgatctcccgaaatactgtcgttctctgcgaaccacgctcgttccttttgctgta +gtccacgttcatccaactattcagataaacaagatcgcagaattaaagcttaaccatatc +ttgatagcccatcgtgtatggggcatgtatgtgcaaacaaaagacctcaatcttgtctgc +gagagggaggaaaatttagacaaacataattcattctttcgactggacacgctaaggttt +ggacaaactttgtatctatatctggaggcctgtattccagcccttcttttaataagattt +acggcttaaactatggatatttgccaggaaatgacactgctattgacaggaacataattt +tgattcaaacctcattgttaattattttatatctcctgtttttatatcagaatgcttctg +tcctagaaggcatactcaaggtgagggctcgaggaatgaatcataatagaccggccccta +ttaatattggttcaattctttcttacataacgcggaatttgattgcacgaacaccgggaa +cacataaccgtatagcgcccgttatgctagtgcctagcgactgggaccgtggagtctata +tcgtctttctaccattattaatctaaggatataccactttaagtcctttcaactaacata +aggcgcattccatgcgctaaggaccttgaatttattatttcttacatgataaaagatcga +gtcgacgggaacaaaaggctacgtactcaataaagtgcagtttactaagagccctttttc +tggcttgtggagactatcataacatgaagatgttttgacattcaatagtttgcaaaacaa +acttactttgtgtagtattgaacgagatctttccaattgccccatagcaggaatagttat +atattgcagatcgcggtgtaacgcactccaaatccatcgcggtgtgtgagggtaagcgac +ttaaagaattacggtttttgatcaaagcacagtgagagttgagcaaattacagttatacg +acttaattcagtctccataaattgaaacgacacttcttaacgggaggaccagacacgttc +attaagtgaggagtgcactttttgactttaaaaacatggtaatcaatttaaaccacttga +tatgtatatgaacagatttgaagttatttctgttttaatacactgggagttctgtcaata +tcgcaggaaccgcctgacgtcccctatcacacctcagagggtaaagggacaggggaaagg +gtaatcgaggggtagggaacgtagttggcacacccaatggacgaataaatgctgccatat +ccacggagggcgggattgcggttgattttaaggcgatggtaacctgaatgtaatagatca +tcaaatgcctcctccactggaaattactgcgtacatccgctgagaattgcaatggagtgt +ctcggtttttctttaaacaaaaccaaattgacaacttcatagtataatttttgcacatta +caagcgttaattaacaaacttactttgctgttagctgcctatatttgtccgacaatataa +ctggatatctctgcgagaactgtaaattaacggcacttggaacataatagttcctattgg +taacgacgttgtaggcggcaattatccggtggaagaattgacaactgcagttgaactgca +tgaaagtcaaatctctcgtaagtataactttagaagactccaaggtacccagaacctctt +cagcggacacgatcgctatcaatcaataaggattattcactgaaaccgctcatatctgga +ggtggacgtttttcttcgaaaagcttgtcaaaggactcatcaaatttttggccgtgctaa +tcgacacacctgttattttcatgaccggataggacatctcgcggaaattcgggtaacagc +tgggtagatataggacctcccctacgtattaatgataagcctgtcataactagcttggtt +taccgaagagacaataaacattcgagcgctcgtgccaaactcggtgcattacgtttgaat +aaatcggtaacatgtactattactctgcctaacggcacttacccgtttgggtccatgggg +taaccgctcgatgttgacagaattatgctaaagtcgtttaagatcccgattaccgaaaat +ctggttatgtctgagcattcgtacactgcgtattaagatcaggttgaacaggttcctaac +aaattttgtgacctaaagtgaaactaggtcgtactctgggcatgttttatgtcgtggcgt +atgcatgtgctgacacttctaaaaccaaattaaggctttatccaatatgggtccttaagt +gctaaacatcattcacaatttcaagacagattgttggtcttgtcgattccgcatctgtcg +ccaaattgacacatcgtaaaccaggtacatcggtaattatatgttgactaaactaccgtg +tgtattctggctctaggtacggcgaacaagtacgatgtgcttaagaagccctcaccccag +acgagcccgcgtaggtcacatcagcagatcctaagtaattccgttttattgtcctgaggg +agtaggatcgacgaactctacaagtcgctttgtcgtgccttataggctatttcgggtcaa +tgtagcgtcaaatgaactattgtcatctgtacgagttaactaagtgtctatcgccaacta +aaagacgtctcgatggttctttatgcggacctgtcatatcattgactggcacttgcttac +atccaaataacacgtttgttagcggatagtcgttaagtgtgcgcaagatcatgaggcggg +gggggtaatatttcgccctctacatgataaatgaataagtaagaagatgatctttttgtg +gcggtaccttaagcgtactcctgtcgacgagttactactaaaggaatgtagggttctgga +tctatgaaaagcgacctccatatatatacgggcctaagcggagtaaaataagtgatcaat +ggactaacattgaaatgttagtattgtcgaccattgagggctggtaaatcttatttacgg +gcgtgggaaaacgaacgtgatatggtttagcatgggatgcaagcactcgttaatgcttac +tttagttggttgcgggaacaacaggaggctatactaactggtagcgttcttgcttccatt +atgttattattataattaaaaataagacatatggtagagttgtagtcagggtggatcggg +ttgtctataacgttggaataatcaaaactatcgttaacaaaaacgaaatttaagtcggtg +cggtggaatgcgcctacctcatgtgcaccacacattcacagcacacccctcattataggc +aaggaagcaaacaaaaaaaagttaatcgaccgtatccgaccttaaattttaaaataaata +gaaacacttagcggtaatgaaaagataggactaaaattcactagtatcctggaacgaggc +aacagagttatctagatggtaacgaggtgctgcatcaagatgtatgatttttggtccgct +gtgtggaatacctctattgatatacaagtgactttctcggtaataacgcacttcacaatg +tgttgtttcttttctatgtattttgcaagagaaagaagcttagtataggtacacctcaga +gatgtttcgtgtaaatcgtatcacatggtataactgcaggaggaacattatccaaattca +ccacaattactaatccacccttttacttttactaaagatatattaattctcatgttgtct +gaattgtataacccggtaccctgggagcgtatcgaaggataccaattgaagtcctcgagg +catgttacaacacacgacttccttccgtctattcagacactcaacgagactaacttttcc +taggtaatcaatgatattgggtaactcgtggcatcttatagttattgatccggctctttt +gtagatcctgtgcgactcgtgcgctaattaagactggctctcttgcgcaggggatacgtt +tattctacgtacccgatttggttactactaagcggcctttcttcaaacttgcagttgtga +cttacattcctatttcttcaaagcagggaagggttacagggagagacttattgagatacg +attggaatttccatgtacaatcgttaatacgcttgtagaccagcaactcagtatagagat +ccgtttcctaaagggtgagcggtaggggcaaggcaataagaaattactaaaaccctagtt +gttaatataagaacgattcgaaacaataggattgcccaagggggtgcgaacatggtgtaa +atcaaagagaaataggcattgttaaaacccgcacgtttctagtacgcaagaggaacgtcg +gtaaccagttctcaaagatcctaacctaaaaggggcttattctactttttccgacactca +atggacgagacaaacatgaacggatagctttaggtctcgttgaatgcaaagaatagaatc +gttattattaatcggtttccattatctatatgcggtatagatctccgagaggaccctgta +aactagctctgcggtttaactggtgctaatagaccgccactatgttattgcttctagctc +ctagcgtcttatcatgttatacattaatgtcgcatattggacagtagccaggcttggatg +gatcgccgacaaaaagaaaagactttccctgtaaggacttaactattacatataacttgg +atcattaatctgcaaattagagtaacggtctttcaccagcttcatattccaacgtggcgc +tagtcgatatcccatgaagtttaaaactagaattggcagtctcacttcacagtgcgtatc +tatacgacaaaagtggtcgatttgcataaatatcttatcgatattcaggttattaccgat +tccttgctaacgctagaagtcacaccagagtaataataattccagacacctgtgaaataa +tcggtcactacggatagactagtaacgataatacgtatagtccataaaagttgaatttta +ggggctaaagatattagcaatactggtctagcctaatcgtcgatagcaaagggctgtgag +gatttctcctacattttcgaccaattgtatcgataggaatagttacagtcacgcttgtag +atgtaagagatgacgttattcttagggttcttaagtcggggggtaatttaagaccactag +taaaggtagaggcgtacacagtaaacgatattttgaaatcgtcaaaaaaaagtttacaac +atcctttaagttagcaactgattttagtggcaaccttaacggttgaattgatctactaat +acaggcctacaccgaagggtacagataatgattcttactaccctaacatgatagagtcct +gtcctatctcataggtcgacattttaaattcgtaatgagcaacgaagatcgtttcccaat +ttgcaacattcacttatagacttcaggttatttcgtgctaacattaagatagaatataat +cagtcgttaagaaactattatccagctttcgtcaaccataaagattaaaaactgaaactt +ggcaagatatgaatagctatcctgctttaaccgatcgtatgagatgctttgtagcaagaa +aagtgactagcacttgtgtttagtaaagcgggagagtgcggtaattaatattaatatact +attaagctacacagcaaaggctgcaataatgttagtaagtagaacataaaggtattctcc +acaagtaataaatagtgtgagctaattgactaacttaactctcgcgacaagtgatgtgga +taagatgactcatatcgtctttttctgtagtgccgacatcccacctggatcgaacaattc +cttctagttatcgactttgattacctatcctattaaacagatagggttgtaaagtcagaa +aatgatcggcttgcgttggtctaccatagctagagttagaacgcgtagatagaggccttt +tgttgccaacgtgggggtgggatgagtctgggcgagcgtgactttctttcgtgtccgaat +ttgtttaacatccattagattagatgtttgtgttttgggtctgatgtcctaactactttc +tcagtgaaactaatgtcatcatccaagtaaaatagtccgatgaagtctccgttttcggcc +gaagcttgtctataacgtatataaagtcgctgaatttagaacacaccttatctatgttgt +aaagttactttattccaaaggacgtgcacgaagcgtgagtgtgggaaggaacttaaagtc +ggatcactcttgtcagtgtagataagaatttctttcatacttcactggaatccggcgtat +ggatatctctaccgcgtcatctggtggtgtctgcggtaaaaagtcttgctgcacgagtct +gagaaatttttggtgccatcacatcgtaactgtacaacgaacaaatagcatcaggccttc +ttatccagcgtgaagtctaattatttcacaagctttcctaagtatgtaaatccctcactt +aatgatgcttgcgccaatgaggatagaggacattgcatgtacgtaggactattctccaag +gggtcttctattttgttagcgaaaattgttacagcctaatgttagagcggcgtacgactt +tataccagatactttcattagatatgcaaatatccaattaaatcatagtagtatcgtggt +atggacaatcaaaaaagacccgttgtgatatgatgtttttctagttcgttctcatatata +tagatcaacaatgaataatctcatgatctataaccgatgtatatttatattccggttgac +tgctccggtgcaattcactacggacactaatgactaatatggcgcctttcatcagaaacg +ctaaatatgattaatgaattaagggagtattatctaattattagagagtagcagttagtc +tgatattttcggtgtatgtgttagccgttataatgctgtctttttatcagtgagaacagg +gagtgtgtagtgttgtatgcttcactttatgactctggttatatccctcggagaacaaga +ataagagtacgagaagttcggtcattgaggatgaaatagaaccgctagacgaatggactc +acgtttataaaactatgtatcacagtactacagctaactctgaagtccgagaagcttttg +taggacaaaacgttataagtacctttcgcagaatacggccgtgcatacctgttataaggc +gtagtagggacaccatgctatccctcatatagagctacactaataccattacatggtgac +tatcgtttacggccatcatctgtaagcgatcatgcctcgttagcatccgtacaatctcgc +atggcgtcactgcagaaaaaccccgtgcggattttgagtcagaactattcgaagcttctc +aatccttttccattatggcatagcaagtgacgactcgtcagccatgggaataatagcact +aatccgattacttatgaattagaacccacatgaatgtgattctgcgaattgtctaagaat +ctaatgattttccggtgaatatggttgttgttatttattgaacttatattattaacatca +cccttcgttagtgatagtcagctatttccaagaggttccccgagcatttttaccattctc +tagtcatacaagttggagcgcttttaaatctttaggctgatcaaggcgttttgtctagaa +ttctgcagatgttagattcgtgtgcaatccctcttgcatgtcagtaacaggtcacccgtt +tttcgttacatatgctggtaaaatattcatagtaataactacaatacttgatttgttacg +taatgctcgtacataacacaatcgtattccacggaacagtaaagctctattattctgatc +gagcctaagagaggatcacactacgctattaaagtcacgttcacgaaatctcaaacctca +actgctggtgaccagttatagacagtgtaattccatattacatgtcaggcttaagctaac +ccgagcctttatataagctataatcaagaattagattggagtgcattttagacttatcta +tcgaaatagtgatagtaagagtttatatgacctgatctagactgatgttctcttccacaa +cagccttaaggcgtggagcctttcttatactattaggtcgcgtcgagagccctattcgta +atgttaacgacactagactaatatacaatgagctaagaataacacaagtcacaagataat +ttacaaatcatatatctacagtccacaaccatcactagcgattgcaaagcgttattggta +ctaccgctctaaatcggtatgtgcaagacgcgttaactggttcaagcctctcctgctcgt +gagactgaaagaaatcgaaaatatggatgtgcctaattgttcttgtgagtcatgtgcaac +tatacagtttagtttggtcaagactatgcaactattaacagcatgtgcgcattgaatatt +tggtgtcgattgataaatgccccaacgttccatcacgtctataagccgtgttactaatgt +gtattagtgcatacctattcagaccatagttcaactgttggactgaaggcccgtcttggg +gttcgtgaatgagagtgcagtttcttgtcttttccttaactgacctaaatgaaggcaatc +ggtttatctagagtcatgcttaaggtgaatttcagccaatgggctcccattgagctagta +tggtgctttacctttgtaagtggtggctttccttggtgtgctgactttaacacggcagag +tgattatccgaagaatggataataagacgctggcaatattggctaataaagtccgatgag +tttcaatcatgactgcgaggagatccatgcggtgtacctaaacctacatcgtatgtattt +gctgacgttcattcttgatacataaagatccgatatcggtccactttgtttaccaaaagc +cctaccttcgtaacgatggaaatgtgaatgagagtgaaatacacgatggggatattgccg +gtgagtacaagttagaccacacattagaactgacctatattcgtcatcatagagatggag +tatgaattgattctgcgaagtacactggctttacgagtatctagacgccgcggtatatct +cccgtcaatactatgaaggtatatatatagaggctgaaaattcatgttcaatcctctttc +taagagtgagtgggagccccttctgttgtcggagtaaaaaggcattattcctcaaattgt +cagaagcaaagtatacgtgatgtttgcttagaacaaaagagttaccttagggtaggtaaa +tctcgattcaccgagagaagtgattttggcggtgtgcgattaattcttttgatgacagat +ctcattattttatatagctccctctttgtatttagagtttgcgtaggtaacctggcaaaa +ccatatcccggggggagagtgcgctgaacattttatacgatgtgattactcaaaggataa +ggttcgaggcctctatactcatggaactatcttataattataatggatcgtggctcattc +cacctatccaaacttctttgtgatctgatgctacgagtgtgaacaaacgtacatcttcta +aggaatttgggacgtttcatagctcgcatttcattcctgaaaacttaaatatttttaaaa +attgattctactgcgaggaactaaggtgtagacaagcccttagtaaccggtggatgtcgc +ttcagttttatagcaaacattattcaatttcagtcttgactgaaattagtttgttagtgt +tagaggtccatatgtcacatgcatatggtctagatgccattgtacagtaataccttagat +tagtattagcggcatgcgtacttggatttcacttgtaagaatgagcttaggacggtcgcc +tgtagggctgcaaataggaatacttacaatttttgatgacttgttagcatatcgctatca +cccataaaaaacctgatacttgatgagcgggtgattgagactatgtactgatataattca +atagctccaatagatgaaacagctatgcgcctatttatgtcaaataatcgatgtgataca +agcttagagctgaacgagcgcgagtggaattagcggtgatctctatcctaaaaagccacg +aaatcgatcccagaagctaatacccgaggtgtcaagcttgagttcagttaaatttgcatc +tcatgccccacgaagaatgggtagagagtttgaaggtgcttctggattttcctaagtacg +tggtaaaaatttgatgtaaatgaacacctcctaatggttgtgttaaccacaaacccctgg +gtgaatctgattagccaacccagtgatctgatttcagttgtcaaatctcttttttataac +taccttttgtttccataatttaaccggatctcataatgaacaaacgggtagaataatggt +agcacatagcgagcttgtctattcagaaatatggcctactcagaatgtattctccaaatc +agtgttatgcgaaacgtaattttacgtgtaataatgatgatttcttatcggttccttgta +ctacaatactcttgcccaacaaatactaagcataacagcaaaattcgaatccccctcctt +ttaataaatggtttttcaatatagccgattcgtattcgttagtctttcaccaactattaa +cctggcatctaattaataaaatcaccaaaggactctataatatgacagtcacttcggcct +cttttaagacagttgattattgcaggtccgcaattgatggtgacatgcacaattagttag +aatccgactatggagacaattaacaattgtagtgcccatttggtccagttgacttcaacc +acgagttataaaggtattttaatttatagtcgatagtaccaacaacaagcacaatcataa +ttatgttagaaaacccagggggtaatgctctaaatccagctttaaggccagagtgcacta +tgaaatcgccattgatcattgtgtcattcgctgaacttggtgtctaggaggtgccgagtg +agaatatcagataccttatgaagcaacgattatatctggactagatcatgatgatcggaa +taaaacattgaaataagtccttatcaaggagcataaacattttatttaatttatacttcg +taaataaattcagaattttttttcaagacattaatctgagtaaatgacggctagaaaggg +ttcctactcgaatcgtagcctacgcatgtgggcagtaacctggcttgcgtttttactgaa +acaaaggttcaccggaaagaaggctgccacttttagcttcttgacgatctttagcgtcat +atttttagattagtcgaaaaacggaaaacaaacttaacgaagctggttgcacggggtacc +gagaaaccaaagagcaggacaactccttgatcgggaagaactgaaatagacagctgtcat +tttcattggtcaacttatcaatataacgaccaccgtagtgacgcttgcatgaaaatactg +aggatgtaaactatagccagtcaggcccgcgtgttgactaattgatgaagcaaacaaaat +agccggtattcgttaaaaggaacgggttgccagctacagatatactctaggtatatccca +aacaagagacgtcctttggctgttgtaatcggtcataatacttgtcacataaacaagatc +gctgaattaaacattaaacagttagtgatacacaatcgtggttggggctgggatgtgcaa +taaaaagtcatctatcgtctatcacagagcgacgtaaatttagacaaacattattatttc +ttgacaatggaatcgataagcgttcctctaacttggtatatatatctcgaccccgggatt +ccagccattcttgtatgaagatttaaccatttaactatgcatagttgaatggtaaggaaa +atgatattgactgcaacagattttggatgcaaaaatatttgtgaattattggttatatac +tggttgtatagcacaatcattaggtcctagaaggcatactcaacctcagcgagagagcta +gcatgcataattgtaccgcccatattaatattcctgaaatgatttcttacattacgccca +atttcagtcatcgaacacccccatcaatttacccgatagagaacgtgatcatacgcaata +ccctatgcgaacgtccactctatagcgtctgtatacaatgattattcgttccatttacaa +cgttaagtaatttaaacttacataaggacaaggaaatccgcgaacctcctggaatgtatg +agttatttatgcagttaacttcgtctcgaccggaactaaaggcgtcgtacgaatgaaagg +ccacttttagaagagacctttgtatccattgtggagaatatcataaattcaagatggggt +gtcatgctattcggtcctaaacattcttaatggctgttctattgttagtctgatttaaaa +tggaaccatagcacgaatagttagatagggctcatacccctgtaacgatctacaaatcct +tccccgggtgtgtgcgttagcgacggaaagttttacggtttgtgatcaaagaacactcac +acgtcagattattacactgatacgaattatttcagtcgacagtaattgaatagaaactta +ttaacgccagcacctgacacggtaagtaaggcaggtctgaactgtttgactgtaaaaaaa +tggtaatatttttaaaaatcttgatttctatatcaaatgatgtgtagttttttctctgtt +attaaaatcccagtgcgcgaaatttagatcgttacgactcacgtacaagatcacacatca +cacgcgttagcgaaagcggaatggctaatacagccctacgcaacgtagtgggatcaacat +atggacgaatttatgctcaatgagccaacctcccccgcattgcggttcattttaaggcct +gggtaacatctatcgtttagataatcaaaggaatccgactatgcaattgtctgacttcat +ccgctctcaagtccaatgcaggcgctacgtgtttctttaatcaataccatattgaaatcg +taatacgataattgttgctattgactacaggttatgaaaaaacttactttgcgggtacat +gcatatttttgtaccacattattacgcgatatctctcagtgtactctaaattaaaccctc +ttcgaacattttagttcctattcgtaaacacgtgctacgcggcaatttgccggtcgtaga +atggacaactccagttcaactgcatgtaactcatagctcgcgttagtataaattgactag +tagccatgggacaaagtaactagtcagcggaaaagatccctttaaagatatatgcaggtt +gcaagcataaagctcattgctcgaggtgcaccgtggtattccaaaagcgtctctatcgta +tcttctaattttgggccgtgagaatcgaaactactctgatttgctgcacacgttaggtaa +tatcgcccattttcccgtataagctccgtacttatacgaactacacgaccttttaagcat +tagccgctcatatcgtgattcgtgtacagatgagtctattaaaattacagacatactcca +tatctcgctccttgaactttgaataatgcgctaacttgtactatgaataggcagaaccca +actttcccgtttgcgtcaagcggggaaacgatacatgttgtcagatttatgattatctag +ttttagatcacgtttaccgataatcggctgtggtctgagcagtcctacactgagtattta +cttcagcttcatatcggtccgaaaaaaggttgtgaccgaatgtcaaaatacggagtacga +tgggcatcttttttcgagtcgcggttgcagggcagcaaaaggcttaaaccatttttacga +tttttactatagcggtcatgaagtgcgaaactgcttgcaaattttctacacacattgtgg +ctcttgtccttgaagcttatggcgaaaatttgaaacatagtataccagggaaagcgcgaa +ttatttggtgactaatagtccgtgggtttgagccatatacctaacgccataaactacgtg +gtgctttagatgcaatctaaacagaacagaaagcgtagcgctcatcagcacagactaact +ttttcagtttgagtcgccggagggacttcgagacaagaacgcgtcaagtcgcttgcgcgg +cacggattcgattgggcggctcaatcttgcctaatttctactattgtcagctgtacgact +gtactaagtgtatagccccaaataaaagaagtatcgatgcgtctttatgaccaaaggtct +tataattgaagcgcacttccgttcatcaaattaaatcctggcttacccgattctccggaa +gtctgacctagagattgacgacggccgcgtattattgagacctcttcaggattaatcaat +aacgaagtagttgatctgtttggcgacgtaccttaagccgactccgctacacgagtttct +actaaaccaatgtagccttatgcttagatgaataccgtcctaattagatattccggcata +acagcagtaaattatctgttcaatggacgaacattgaattgttagtattctacacaagtc +aggcctcgtaaatattaggtaaggccgtgggataacctacgtgatatgcttgagcttgcg +ttgcaagctctcgttaatcattaatttaggtgcgtgagggttaaacaccagcatattcta +tatgctagacgtcttccttaaaggatcgtagtattataattaataataagaaatatggtt +gacgtctagtcagcgggcatacgctgctctatatactggcattattcaaaacttgacggt +aaaaaaacgaattttaaggcgctcacgtcgaatgagccgaactcatgggaaccaaaatgt +cacagaaaacacctctttattgccaagcatgcaataaaaaaaatgttaatagtacgttta +cgacattttattttataataaagagaaactattacacctattgatatgataggacgtaaa +ttaacgagtagcctgcatagaggcaaatgaggtttctacatggtatagacctgatgctga +aacatcgatgagttttggtcccctcgctcgttgaaatctagtcatttactactgtctttc +gagctattataccacttcactatgtggtgtttctttgctatgtatggggctagtcaaaca +tgatgactatagctacaactcagagagcgggcgtgttaagagtatctcatgctagaactg +cacgacgaacttgatacaaagtaacaacatttacgattccacaaggtgactttgaagaaa +catagtttaattctctgcttcgatcatttctataaaccggtaccatcgcagcggatagat +gcataacatttctactactccaggcatcttaaaacacacgtagtacttcactagattaag +acacgataagtgtataacttggcagtgggaagcaaggagattggcgaactcctggcatct +gttacgttttgttcaggctcggttgttgataatgtccgactcctgccatattgaagactc +gctcgagggagatcgggattcgttgattataagtacacgtgttccgtaatactatgaggc +agtgattcaaaatggcacttctgacttacatgactaggtattattaccacggaagcgtta +aaggcacactcttatggacttaagattgcaagtgccttcttctagcctgaattcgcgggt +tcaacacaaactctctttagacatccgttgcctaaaggctgagacgtaggggcaaccctt +taactatgtactaaaaaactagttggtaatttaacaacgtgtccaatcaagacgatgcac +caacgcggtgcgaaaatcgggttaagcaaacacaaataggaattgtgataaaccccacct +tgagaggtcgcaagaccaacctcgggaacaacggctctaagagaataacctaaatccgga +tgagtagactgtgtaactctctaaagggaagtgaaaaaaagctaagcatacatttaggtc +tcctgcattgcattcaattgaatcgtttgtattatgagctgtacagtagctatatcagct +atagttatcccagaggaacaggtaaactagctctgagcgtgaaatccggatattagaacc +cctagatgggattgattctagctaatacaggcttatctggttttacagttatctagatga +ttggtaaggtgaaacgcttggtgccttccaccacttaaacaaaagtattgcccgggaagc +tattttctaggtattataaagtcgagcattaatatcaatttgacagtaaaggtctttcac +cagcttcatatgccatagggcccatactcgatttaaattgaacggtttaacgagtattgg +aactctcacttataactgagtagctatacgaaaaatctggtccatttccagaaatttatt +atcgatttgctgcttagtacccaggaagtgataacccttgaaggcacaacactgtaataa +gttttcctgtcacatctgtaatattcggtcactacgcattcacgactaaagataattact +atactaattaaaagttcaatgttagggccgaatcatagtagaaattctcgtctagcctaa +tcggacttacctatgggctgtgaggatttatcagtatgtggacaaaaatgctagagatag +gtatagttaaagtcaccatggtacatctatgtgaggaagtttgtagttcgcttctttagt +ccgggcgtttgggatgacaactactatacgtagagccgtactcaggattagatagtgtga +aagagtcaaataaaagggttaatattaatttaacgttgcaaatgtgtttaggccaaacat +taaccgttgtagggatattctaatacaggccttcaccgaaccctaatgataatctgtctt +aataacattaaatgattgtctccgctacgagctcttagggcctcattttaaatgactaat +gtccaaagaagagactttcccaatttcaatctgtcacgtatagacggcaccttagtgagt +catatcattaagatagaagattatcaggagggaagtttctattatcaaccgttacgcaac +cataaacttttaaatctcataatggcattgagatcaagagctttcatgatggtaaagttc +gtatgtgatgctggggagctagatatcggtataccacttcggttgtggtaagcccgagtg +ggccgttagtaatattaatagacgattatccgacaatgcattcgctgaaataatcttact +taggagaaattaatgctatgagccaaaactatttatgtctgtcacattattgactaaagt +atctatcgacaaaactgatgtccataagttgtagcagatagtcggtgtatggtgtcacca +atgaaaacctcgagcgaaaaatgaattatagttatccaatttgagtaaattgcctattat +acagataggcttgtttagtcagataaggttccgcttgaggtgctctaacttagcgagagt +tagaaagcctagtgagaggcattttggtgccaaactccggctcgcatgagtaggccagag +agtcactttctttcgtcgaagaagttggtgaacagccttttgattagttgtttgtcttgt +ggctatgtgctactatataagttagaacgcaaactaatctaatcagcaaagtaaaatagg +accttgaacgagacggggtacgccgttgaggctcgagatagtagataaactagaggaatg +tagataaaacattagctagggggtttagttactggattacataggaagtgcaccatcacg +gtgtgggggttcgtacgtaaagtcgcatcaatattgtcagtggacttaacaagttcgtgc +ataatgaaatcctatacggactttgcatatctctaccgactcatctggtcgtctatgcgg +gtaattgtattgctccaagtggatgactattttggcgtcccagcacatagtaaatgtaaa +tccttataatagcataagcaattattagactgcgtgaagtcttagtagttctcaagcttt +acgttgtatgtaaataactcacgtaatcagccgtccccaaatcaccattgaggtcattga +atgtacggagcactattatcaatgcggtatgcgattttctgagcgattattgttaaagac +ttagcgttgagccccggaacacttgattacagattctttaaggagttatccaaatatcat +tttaaataatagtagtatcgtgctttggacaataaaaaaagacccgttctcttatgttgt +tttgcgacgtacttctctgatatatacttcaactatgaagattctattcatcgataaccc +aggtatatttatatgcccgttcactgcgcagggcaaattatctacggacaataatgacgt +agttggacccggtaagaactaacgcttaatatgattaaggatgtatgccagtattatctt +attatgtcagagtagaagtttctctgagattttccgtcgttgtggtacaccggatttggc +tctctttttagaactgagaactcggagtgtgtagtcttgtttccttcaatttatcaatat +gcttttataccgccctcatcaactataacaggacgacaagttccgtcttgctccatcata +tactaccgatacaccaatcgtatcaagtttagtatacttgctttctctcttctacagctt +actcgcttgtccgagaagcggttggtgctcataaagttagtagtaaatgtacaactagta +gccagtccttacctgtttttacgactactacggacaccatgagatacagaagttagtgct +acaattataccattacatgctcaatatcgttgtcggccataagatcgaagagtgcatcac +gcgtgtgaatacgtaaaatctaccatcccgtcaatgcacaaaaacacactccccttgttg +actaacatcttttacaagaggctaaatcattgtccaggatcgaataccttgtgtacaatc +gtcacccatcggaagaataccacttttccgatgtagtatgatttacaaaaaacatctatg +tgagtaggccaattgtagtagaatatattcatttgaccgtcattagccttcttcttaggt +tgtgtacggatagtaggtacataaaccgtcgtgtggcatacgctgcgatttcatacagct +gccaacaccttttttaccaggctagagtcagaaaagttggagccatgttaaatagttacc +atcataaaccactgttgtctactagtctgatcagctttcatgcctgtgcaagcaatatgg +attctcacgtaatggtaacaactgttgcgttacttaggctggttaatttgtcagagtaat +aaatacatgtcttgttgtgtttcctaatcctcggaaagtacacaagcctaggaataggaa +aagtaaagctcttttattctgatagtgactaactcaggatctaaatacgcgattatacta +accttcaccaaagctcaaaaatcatctgctggtgaccagttatagacagggtaattcaat +atttaatgtctcccttaacatttcaccagcatggattgaagatagtataaagttttacat +ggcagtcattgtgtcacggttctatacaaattctgatagttagacggtatttgaaatgtg +cttctagcatggtatcttacacaactgaatgaacgactggagccgttcgtatactatttg +cgagcctcgagaccccgtttcctaatgttaacgaatatagtataatataaattgtgatat +gaataacacaagtaactacagtttggacaattaattgttctaaactaaaaatcattcact +tcagatggcatagagttatggctactacacatataaagcggtatgtgaaacacccgtttt +agccggaaaccctctactgctcgggacaatgaatgatttccaaaatatggatgtgcagaa +ttgttagtgtgactcaggtccaaatagacactttagtttcgtcaagtcgttgcaaagttt +aaaaccatcgcagcattctttatttggtctacattgagaaatgaaaaaacgtgacagaaa +gtctagaagaactgtgaataatgtctattactgattaactagtaagacattagtgcatct +ggtccactgaagcacccgcttggcgttaggcaatctctgtgaactgtcgtggctgttccg +gtaatgtacgaaagcaagcctataggttgatcgagtcgcttcattaaggtcaatttcaca +atatccgatcacattgtgctaggttcgtcctttaccttgcttagtgctgcatgtacgggg +tgtcatgacttgttatcggcagactctttatcccaagaatggataatatgtacatggaaa +gtgtccataattaagtcccttcactgtaaagaatgactgccacgtgatccatgaggtcta +cagaaaccgacttacttgctttttgatcaacttaattatggattcataaagttcagatat +cggtacaattggtgtacaatatgaaattaatgaggaaacatggaaatctgaatgacagtg +atagaaaagatccccatttgcccggtcagttcatgttacaccactcattagtactgtaag +tgtttcgtcagcattgagatccacgatcatgtgtttatgccttcgaaactggatgtacga +cgatcgagacgaagaggtatatataacctaaatactaggtacgttgttagagagacgatg +aaaattaatcgtcaatacgctggcgaacactgagggggacccaatgctcttctcggtcta +aaaaggaatgtgtcagaaattggtcagttcaaaagtagaccggatctttgcggagaacaa +ttcacggaacgtagcgttgggaaatatcctttctaccacacatcggattttcgccctctc +ccattatttattgtgttctcacatagaattattgtttagacatccctcgttgtatggaga +gttgcccgagcgtaaaggcataatccatataccgccgggtgagtgacctgaaattgtttt +tagttgggatttcgctatggattagcttacacgaagagattctaatggtactataggata +attataatgctgcgtggcgcagtacaccgttacaaacgtcgttcgcatatgtggctaaca +cggtgaaaatacctacatcgtatttgcaatttcggtcgtttcatagagcgcattgaatta +ctcaaaaattatatatgttgattatttgattagactgcgtggaaagaaggggtactcaag +ccatttgtaaaagctgcatctcgcttaagtttgagagcttacattagtctatttcagtct +tctaggaaatgtctgtgtgagtggttgtcgtccataggtcactggcatatgcgattcatg +acatgctaaactaagaaagtagattactattaccggcatgcctaatgcgattgcactgct +atgaaggtgcggacgtcgcgcccatgtagccctgataataccaatacttacatttggtca +gcaattctgacattatacctagcacccataaatttactcagacttgaggacaggctcttg +gagtcgatcttctgtttgtatgcatgtgatcatatagatgaataagcgatgcgactagtt +agggcatagtatagatctgtgtatacagttcagctgaacgtccgcgagtggaagtacagc +tgagatctatcctaaaatgcaaccatatcgttcacacatgatatgaacccagggggaaac +attgagttcagttaaattggcagcgaatcccccaagaagaaggcggagtgacgttgaacg +ggcttatggtttttcagtacttcctccgtataagttgagcgaaatgtaaacagaataatc +gttgtgttaacaacattaaaatcgcggaatatgatgagaatacacagtgtgagcatttca +cttgtaaaatatctttggtagaacttactttgctttaaatatgttaaaccgatctaataa +tctacaaaacggtagattttgcctagcacattgcgtccttctctattcagatagaggcaa +tactcagaaggttttatccaaagcactgtgttgactaacctaagttttagtctaataatc +atgattgattataggtgccgtggactacatgactcgtccacaaataatacttagcagatc +agcaattggccaagcacccgacttttatttaatggttgtgcaatagtccagattcgtatt +cgggactctttcaaataatagtttcctggcatctaagtaagaaaagctcataaggaagcg +atattatgacacgctcttccgccgctgttttgaaacttgagtattgctcgtccgaaattg +agggtcacttcaaaatttactgagaagacgaagatcgactaaagttaaaatgctagtcca +cagttggtcaagttgaattcatccacgagttatatagctattttaatttatagtcgagtg +tacaaaaaacatccacaataagatttatcttagaataacaacccccgtatcatcgaaatc +ctccgttatggcctgactcctcgagcttatagcatttgtgctggcgctcttgccaggaac +ttgctcgcgaggtggtgacgagtgagatgatcagtttcattatgatgatacgattttatc +gcgactagttaatcatcatagcaagtaaaatttgaattatgtcattatcatgctccatta +acaggttatttaattgatactgacgaaattttttcacaatgggttttctagaatttaata +tcagtaattgaagccttcataggggtcctactagtatcctacacgacgcaggtccgcagt +atcctggagggacgtgttactgattaaaagggtcaaaggaatgaaggctcacaatgttac +ctgcttcaccatagtgagccgatgagttttacattagtactaaatcccaaatcatacttt +acgatgaggcttgctagcgctaaagagaatacatacaccaccacatagaattgttagcga +tgatatcaaatagactcctggaagtgtcagggggaaactgttcaatatttcgtccacagg +actgaccaggcatggaaaagactgacgttggaaactataccatctcacgcccgacgcttc +actaattgatgatccaaaaaatatagcccggattcctgattagcaaagggttcacagaga +aagatattatcgacgtatatcccaaaaaacagacgtaatgtgcatcttcgaatcgggatg +aatacttgtatcataaaaatgtgacctctagtatacaggttaatgttagtgatacacaat +actcgtgggccatgggttctcaaataaaatgtaatattgcgtcgatcactcacccacgta +tttggtctaattatgttttatttagtgacaatccaatagataaccggtcctattaagggc +tatatttttagcgaccacgcgtttaaacaaaggattgtatgtagatggtaccagtttaat +tgccagtgggcaatcctaagcaaaatgagattctatcctaaagtttgggcttgatataag +atttcggatgtatgggttttataatcgttggagagctcaatcatgagctaatacatggat +ttcgctacctcaccgagagaccttgcatgaagaattctaaccaaaagtttaataggccgg +attggattgagttaattaagaccttgttcagtcatagtaaaaacccttaaattttaccga +ttgacaaagtgagcagtcgcaataccctatgcgaaacgcctcgatagtgactaggtatac +aaggtttttgagttcctttgaaatagttaactaatttaaaattaattaacgacatggaaa +tcacagaacctaatgctttgtaggagttatttatgctgtttactgcctctacaaccctaa +taaagcagtcctaagaatgaaacgcatcttttagttcagaaagtggtatccagggtggtc +aatttaataaattcaacatcgggtctcaggatattcggtcatataatttattaagggctc +ttcgagtcttactctgagtgaaattggaaacagtcatccttttcgttgtgaggcatctta +caccgctatcgatatacaatgcattccaccgcggtgtcccgtacacaaggaaacttgtta +ccttggggatataagaaaactcacacgtctcattattaaactgagtacaatttttgcacg +agaaagtaatgcaatacaatatgatgaaagccagctaatgaaaagggatggaacgcacct +cggatctgttgcactggattaaaatccgattatttttaaaaatattcagtgctagagcat +atcaggtctacttttttatctggtatgtaaagcccacggagcgatagtgagatccttacg +actcaacgaaaagttataacataactcccgttagccaaagcccaatcccgattactgccc +taccctaacgtctgccatctaaatatcgaacttgttatgatcaatgtgactacctcccac +cctttccccttcatttgttccactggggataagctagcgttttcagaatcaatgcaataa +gaatagccaattgtctcacttcatcagagctcttggcaattccaggcgctacgtggttct +ggaatatattcatttttcaaatagtaatacgtttagtgttgctattgtctacacgtttgg +atattacgttatgtgagcggacatcaatagttgtctaactctttagtaagccagagatag +cactcttagcgaatggataccatcttccataagtttagttaatagtccgaaacaactgct +tcgagcatatttgaacctccttgtaggcaaatagcctcttcaaagcaatcttactaatag +atagagtttgttttaagggactactagaaatgggacaatcttaatagtatgacctaaact +gacatttaaagatatatccaggtggcaagcataaagatcattgcgccacctccaccgtgg +gattacttatcagtcgatatcctatatgctaagtttgcgacggcagaatacaaactaagc +tgagttgatgctaaccttacctatgataccccattggaccggttaacagccctacttatt +ccaaataaaagaacttttatgctgtagaagctattatagtgatgcctggtaacttcagta +tattaaaatgacacacatacgccatatagagctcctggaactttgaataatgagcgaact +tcgaagttgaagagcaagaaaccatatgtcacggttgcctaaagcccggtaaccagacat +gtgctatcattgatcattatcgaggttttcataaccttgacccattatcggctgtgcgcg +gacaagtacttaaatcactagtttcttcacctgcttatcggtaagaaataaggttggcaa +agaatcgcataagacggacgtagagccgcagcgttgtgcgagtccaggtgcatgcgcagc +aataggattttaaattttgttccatttttaatttagccgtaaggatgtccgtaaatgatt +gaaaattggattcaatctttgggcctatgctactggaacctgatcgacaaaatttcaaac +atacgttaactccgaaagaccgtatttttgcggctagaatagtcagtcgcttggagccat +ataccttaccacttaaacgacgtgctcctgtagttgaaatataaacagaacacaaagact +accgatcatatcaactgaagatctttgtaactttgaggcgaagcaccctcttcgagacaa +ctaagagtaaagtaccgggcgccgcaaggagtcgattgggaccctaaatcttgacgaatt +gctaagaggctcagagctaccactgtaatttctctagagcccataataaatgaacgatac +atccgtaggtagcacctaagggattataatggaagccaaatgcagttaataatattatat +actggcgtacacgattcgacggatctctcacatagtgattcacgacccccccctttgatt +gacacagcgtcagcattttgcaagaacgatcttctgcatagggtgcgccaccgtaaggat +gacgtcgaagctacaactgggtataatttaccatgcttccctgatgctgagtgcaataca +ctaagaatgagtttttaccccatatcaccagtatttgttctgttattgcgaagaaatggc +tatgctgagttggcgactaaagtcacccatcctttttattaggtaaccccctcccttaaa +ctaactgatttgctggagctgccctgcatacatatactttatcatttatggacgtccgtg +acgcttattatccaccatagtcgatatgctacacggattcattaatggatcgtaggagtt +taagttatatttactaagatcggtctcggctactatcccgccttacccggcgctatttac +ggccatttttaatatattgacggtaattattcctatggtttcgaccgcacgtccttggac +aagaaagaatggcaaaaaaaatgtaaaagaaaaaaaatattgagtccctaccatcatata +aaaaatatgtgatgagtaacttgacgaaatgttagtggttattaaagactatctattaca +ccttttgttttctgtcgtagtatattaaagtctagaagccttacaggaaaatcagggtta +tacagccgatactccgcagcatgaatcatcgaggaggtgtcctaccatcgcgccttgtaa +tcttgtctgtgtatactgtatttagaccttttatacaaagtaaatatctcggctttatgt +gattgggaggggcctactcaaacatgatgacttgacctaataatcactgtgcgggcgtct +tatgactagctattccttgaaatccaccaccaaatggttaatatgtaaaaactttgacga +tgaaacaaggtgaatgtgtagttactttgtgtaattagctgcgtcgagcattgcttgtaa +aaccgtcaatcgcacacgttacttccataaaatttctacgaatacacccttcttaaaaaa +aacgtaggaattcacgagtttaacaaacgataactgtataaagtggaagtccgaagaaag +cagatgcccgaactactcgaagatgtttcgttttcttaaccataggggcttcttaatggc +ccactacgcacattttgttcaagcccgagagggacatccccattacgggagtattactaa +aactgttccgtaatacgttcagcaagggatgaaaaaggccactgctcaagttattgacgt +gggagtattacatcggaagcctgaatcccacactatgatggtctgtacaggcctagggac +tgcgtctagacggtattaccggcttctaatcatacgatcgtgagtcttaacgggaagtaa +ggctcacacctaccccaaaccatttatctatgtaagtataaaattgtgcgtaagtgttca +aagtggacaataaagacgtggcaaaaacccccgcacataagccgctttagatttcacaaa +taccaatgcggttaaaaacatccttgagtcgtacatacaccatactcgcgttaaacggat +ataacagaagataataaatccggatgtggagtcggtgtaactatagaaagccaagtgaaa +taatgcttaccagtcatttagctatacggctttcatttcatgtcaagagggtggagtttg +acctgtacagttgatatatcaccgatacttagaactcacctaaagctaaaattgctcgca +gcgtgtaatccgcatattacaaacaatagatgggattcattatacataagacacgatgat +ctgctttttcaggttgcgagatgttgcctatcgtcaatcgagtcctgccttacaccactt +aaacaaaagtattgacagggaacctattttcgaggtattatatagtccagcttgaatatc +aatttgacagttaacctagtgaaaatcagtaagaggaaatacgccacattctccagtgaa +attctacgggttatcgtctagtccaactatcaattataactcacgagatataagtaaatt +ctcgtacttggcctgatttttattatactttggatccttagtaaacaggaagggagaaac +cttcaacgaaaaacactggattttgttttactctcaaagctcttatatgacggaaatacc +ctgtcaagtcttaactttattactagactaatgaaatgggcttggggtggccagaatcat +agtacaatttagcggatacactattcggactttcctatcggctgtctggttggataagta +tggggactaataggctagacatacctatacttaaactatacaggcgtcatctatctctgc +aactttggagttccctgatgttctcccgccctttgggttcacatcttctataccgacacc +cctaataacgattagtttgtgggttagagtaaattaatacggttaatattaatgtatcgt +tgaaaagctggtgtcgccaataaggtaaccggctaggcagagtatatgtcacgaagtata +actaccctaatgataagctgtaggaataaaattaatgctgtctctaagcgaagagatatt +tccgactctgttttaatgacgaatctcattacttctgacttgcaaatgttcaatatggca +cggtttcacggcacctttgtgacgcatataatgaacttagaagattataacgacggaact +ttatatgataatccgttacgattaaagaatctgttaaatatcataatggcattcagttct +agaccgtgcatcatggtaaacttactttctctgcatggcgacatacatttcgctattcaa +attcgcgtgtggttacacccactcgcacctttggaatattaagagaagatgatcagaaaa +tccattcgctcaatttttctgacgtacgtctaatttatcctaggagacaaatcgttttat +gtctctcacatttttgaagaaaggttcgagagacaatactcaggtcctgaactgctagaa +gatactcggtggagcgtggcaacaatgaaaaactcgtgacataaatgaatgatacttttc +caagttcagttaagtgaatatgtttaacatacccggcttttcgatcttaagctgacgctg +gacgtgcgagtaatgtcagtctcttacatacactagtgactccaagtttcgtcaaaaacg +ccccctcccttctcgagcccactcacgctatgtattgacgcgaacttgttcgggatcaga +cttttcaggagttcggtcgcgtgtccctatgtgctaatatataagttagatcgcattaga +tgctaatctgaatacttatagacgaccttcaacgagaacgggtaccaccttgaggctaga +gttaggtgtgaaacgacaggtagggacatataaaatttgagtgcggctttagttaagggt +ttaattacctactcaaacatcacgctcgcgcccttcgtacgtaatcgaccatctagaggc +taaggggactgtactaggtagtgattaatgatatcctagacgcacgtgccttagatcttc +agactctgatggtccgcgatcaccgtaattgtagtcctccaactcgatcactttgttggc +gtcaaagaaattacgatatctaaatacttataatacaataaccaaggatgagaatgactc +atcgcgttggagttatattgcttgaagttctatggaatgaaagcacgttatctgccgtcc +caatatctccagtgagctaattcattggacggtccactttgatcaatccccgaggagatg +ttcggacactttagtctgtaacacttagcgttgagaccacgaacaattgattactcagtc +ttgaaggtgttttccaaagttcattttaaataagactacgataggcctttcctattgata +taaactacccggctctgttgttcgtgtgagtcgtacttctctgtgtttttctgattatag +caagattcgattcttagtgtaaacagcgatttttatttgacccgtcaatgagaagcgcat +aggatctaagcaaaattatcaagttgtgccacaaggtaagatctttccagttattgcagg +taggatgtatcccacgttgatagtatgaggtctgacgtcaactgtctaggagagttgacc +gcgtgcgggtacaccggatttgcatcgatgttgagaacgcagaactcccactgtcgtggc +ggcgttcctgatatttagcaagaggcgttgataaagccctcatcatctagatctcgacct +catctgccctcttgctccatcattttctacacagactactttcctatctacgttagtata +attgctttctatcttagtatcatttagagcttctccgtcaacaggttcgtgctattaaag +ttagtacgaaagggacaacttgtagcaacgcatttaatcggttttcgactacttcgcaca +aaatcagataaagaagtttgtcattctattagacattgaattgcgcaattgacttgtacc +acttatgatcgaacactgaatcaagactgtgattaactaaaatagacaagccactatatc +aactaataaaaacgcccctggtggtcgaacatagttgactacaggataattaattggact +ggagccattacattctctacaatcgtatcacttcccaagtagacaactttgaccttgtag +tttcatgtacaaaaaaatgctttcgcaggagcacattggtagttcaatagtttcatggga +acctcttgagccgtcttctgtgggtgtgttcggatagtaggtactgataaagtcgtgtcg +ctttcgatgagagggaattcaccggaaaacaccttggttaacaggatagtctatgtaaac +ttcgagacatgtttaagagttaccagcttaatccacggtgctctactagtatcatcagct +gtcttgcctcgcctagaaatatgcattctatcgttatcctatcaacggttgccgtactga +gcagccttattgtggaagagtaatatataaatgtagtcttgtctttacgaagcagacgta +agtaataatgacttggaataccaaaactaaacatagtggattatcatactcaagaactct +ccagataaataacagtttttacgatacgtcaccaatgagcttaaagattaggatcctcaa +aactgatacaaacgctaattcatttgttattggatccagtatcagttaaactgaatggag +tgaagattgtagaatgttgttctggcctcgcatggggtctaggtgatatacaatttctca +tacttacacggtagtggaaatctgattctagcttcgtagctgactatactcaaggaacca +ctgctcaaggtaggagactagttccgaccctacagtcaaagtggccgaagcttaaactat +agactagttgttaaatgctgatttcaagatatcatctatatacagtttggacaattatgt +gtgcgaaactaaaattcatgctattcagatggatttcacttatgccttagaaacagatat +tgcccgagctcaatcaacagttttagccggaaacaatcgaagcatagggacaatgtatct +tttcctaaattgccatgtgcagatttctgagtgtcacgaagcgcataatagaatcttgtg +ttgcctcaactcgttgaaaagtttaaaacaatcgcagcagtctttttggggtctactgtg +tgtttgcaaaataactgaaagaaacgcttgaacaactctgaagtagctcgagtactcatt +aaagtgtaacacattagtgaatatcggccaatgaaccaaacgcttcccggtacgctatct +ctctcatcgggaggcgatgtgcaggttatctacgaaagcatccctttacgttgagagtgt +cgatgcatgaacctcattgtaacaatagcccagcaaattctcatacgtgcctcagggtcc +gggcgtactcctccatggaagggcgcgcatctagtgttataccaactcgctttttaacta +ctatgctgtagttctacaggcatagtggccagtattttctaacttctctggatagatgct +ctcactcctcatccatcacggcttcagtttacgtcttacttgcttgttcagcaacggatg +gaggcattaagtatcttcactgttccctaaaattgctgttcaatatcaaagtaaggacga +tacagggaaagctcaagcacactcattgaatactgccccagttgcaacctcacttaatct +gacaaaaataatgactactctaagtgttgcggaagcagtctcttccacgagcttgtctgt +atcacttcgtataggcatgtaactcgatagacacgaacaccgagtgagaaactatattct +tgcttccgtgtgtgtgacaccaggtaattgatgcggatataagctggagatcactcacgc +ccacacaaggcgctgctacctctttattccaatgtgtaagaatttgctaacttcatttct +agaccgcagctttgcggtcataatttcacggtacggacccttgggttagagacttgataa +cacacttcgcagtttccaccgcgcacatgttttagtggcttctaacatagaatttttgtt +gtgacataaagagtgcgtgggagacttgcccgaccgttaagccataatcaattgaaagcc +ccgtgagtcacatctaattggttgtactgcgcatttagctatcctttagctgactcgaag +agattcgattcctaatataggttaattagatggctgccgcgcgaagtaaaacgtgaaaaa +cgtagtgcgcagatctgcataactcgcgcttaattacttatgagtagttccaagttcgct +acgttatgagagagattggaattaagcaaatatgttttatggtgattttgggatgagaag +gactgctaagtacggctactaaacaaatttctaaaaccgccatctaccttatcttggaga +catttaagttgtatatgtcactagtctagcttttgtctgtgggacgcgttctcggaatga +gggaaatgcaagagccgattcatcaaatgcttatctaagaaagtagtggactattacacc +aagcacgaatgccagggaactgctttcttgctcaggacctcgcgacaaggtaccccgcat +aagtcctagaattacatttggtcagcaatgctgacatttgaccgtgaaaacataatttta +atcagaaggcagctcacccgcttgctctagatcttatctttgtatgaatgtcagaattta +ctgcaatatccgttccgaatagtgagggcttagtatagttctctgtatacaggtcacatc +aaactccccctgtcctagtacagctctgagctttaattaattgcatacatttccttcaat +catcagatgaaaacaccgcgaatcatgctcttctcgtatagggcaagagaagcaacaaac +aactagcccgactcacgttcatccgccgtatccttgttcagttcttactccgtattaggt +cagcgaaatctaatcagaataatcggtcgcgtatcaaaattaaaatcccgcttgaggttg +acaattaaaacgctgagcagttatcggctattagatagtggggtgaaagtaattggctgg +aattatgttaaaacgtgatattaagctaaaatacgctacttgttgccgacctaattcagt +cattcgatattcagttagagccaagaataacaagcttgtataaattgaacggggtgcact +aaacgatgtgttactctaatattcagcttggagtatacctgaaggcgaattcatgtatcg +gccaataataagacgttgaagatcacaatttggactagcaaaagaaggtgatttatgcgt +ggggattgagtccactgtacgagtacggtctctggaaaattataggttcagggaatataa +ggaagtaaagataattaccaagagatttttggtatcgctatgacccagaggtgttctaac +gtctgttttgatccgcagaatttctgcctcaatgcatatttgacggacttgaactagagc +ctctaaagttaaatggcgacgcaactgttcctaaacttcaattattactactcttttttt +cctagggtattgtagaggccagtggacaaaataaatcaaatttaagatgtttcggacatt +aacatcccccgtagcatagaaatcatcagttatccaatctctcatcgagcttttacaatt +tctgctggcgctatggacagcatatgccgcgagacctccgcaagactcacttgatcactg +taagtatcttcattagaggttagagcctatagttaagctgctgacctagtaaaattggta +ttttctaattttattgctcaagttaaaggttagtgaagggataatgacgttatttttgaa +caatgggttgtattcaattttatatcacgaatggaacccttcattcccggcataatacta +gacgacacgaacaagctccgatctatcagccaggcacgtgttaaggtttaattccggcaa +accaatgaagcatcaaaaggtgacctgatgcaacttagggtcacgatgagtttttcagga +ctacttattacctattaataagttaacatgagccttcataccccgtaagacaatacatac +tccaccaattagaattctgagccatcttatctttttgtatcatcgaagggtatggccgaa +taggttaattagttactcctaacgtctctacaggcatgcatttgacgcaccttcgaaaat +agtcaatctctcgccacacgcgtctagtatgcagcatcaaaaatatagtccacggtttcc +ggattaccaaacgcggcaaagagaaacattgtatcgacggagataacttaatacagaagg +aaggggcatcttcgaatacggatgaataattctatctgtttattctgacatcttgttttc +aggttaatcttacgcattcaaatgacgcctgccccatgcgtgcgcaattattttctaata +ttgacgagagcaatctcactccttttgggtctatttatgttttattgaggcacaagccta +tacagaacaggtactattaaggccgtgagtgtgagactcaaaccgtggaaacaaaggatg +ggttgttcttggtacaagttttagtgcatgtgggcaatccttaccaaaatcagatgctat +ccttaactttgggctgcatttaagatggcggttggaggcctgtgagaatcctgcgtgtca +tctttaatgaccgaattcatccatgtagattcagatcacacactcattccttgatgttgt +ctaaacaaaagttgttgtggacgcattggagggagttaagtaacaacttgggatcgcata +cttataaaaattatatgttaaactttcacaaacgctgaagtccaaagtaactagcccaaa +cgcctcgagagtcactaggtattaatggtgtttgagttcctgtgaaatagtgttcgaagg +taaaatttatgtaccaaatcgaaagaacacttaataaggcttgcttgcacggaggtatga +tgtttactgactctacaaccctaattttccagtacgtacattcattccaataggttagtt +ctcaaagtgctatacaggctcctcaattgatgatatgcttcagccgctctatggatatta +gctcattttatttaggaagcccgcttagaggcttactatgagggaaatgccaaaatgtca +tacttttcggtgtgtcccatatgacaccgctttacatagaatttgaattaaaacgcgctc +tcccgttcactaccatacttggtaccgtgcgcatattacatatagatataggatcatttt +ttaaagctgtactaggtttgatcgacaatcttatgctatactatatgatgtaaccctcat +aatcaataccgatcgtacgatcctagcataggtggcaagcgattttatgccgattattgt +gttaaatagtctgtgagtgtgattatcagggctacgttggtagaggggttgtatagacct +cgcacacattgtgacatacttaacaatatacgaaaactgatataataaatccccttaccc +aaacaccaatcccgttgaatcaactaccataacgtctcccatataaattgcctacttgtt +tgcataaatctgaatacataacaccattgcaccttcttgtgttccaatcccgttaagatt +gccttgtcagatgatatgcaagaacaatagcatttgctagcaattattaacagctcttcg +aattgcctccacataacgcgggagggtatattttaatttggcaaatactaagtactgttg +gcgtcatatgctattaacggttggatattaagttatgtcagccgtaagcaagagtgggcg +aaatattttgttacccagtgagagcactcttagagtttggatacaataggccatatgttg +acttaagaggacgtaactacgccgtacaccattgttcaaccgacttcttggcaaatagaa +tcgtattagcaatcttaagaatagagacacgttcgtgttagggtatactacaaatccgaa +aatcttaagaggatcacctaaactgaaatttatacatatttcaacgtggatagatttaac +ataattcagccacctccaacctgggagtaattttcagtagatttactagatgattagtgg +cccaacgcacttgactatataagatctggggatcctaacctgacctatgagacaaaattg +gaaacgttaacagcccttatgtgtacaaagaaaagtaagttgttgctgttcaacagatga +tagtcatgacgcgtaacttcactatagtaaattgaaacaaatacgcaatttagacagaat +ggtacggtcatgaatgacagtaattcgaagtgctagaccaacttaaaataggtaaacgtg +cccgaaaccccccttaacagaaagctgctatcatggtgcagtatcgacgtgttcagaaac +ttgtaacttttgagcaggtccgagcacatggaagtatatcacgtgtttctgaaccggctt +atccctaagatatatccgtcgcaaactttcgatttagtcccacgtagagcccaagcgttg +tgcgactccacgtgcatgcccagaaatacgagtttaaatttggttacatggttaattttg +accgaagcatcgcactttatgattgataattggattcaatatgtcgccctatgcgaatgc +aacatgatccacaatttggctataagacgtttaatccgtatcacactttgtttgcggcta +gtatagtaacgcccgtgcaccaagagtcagtaacaattataagtactccgcaggtacttc +aaatataaaaactaatcaaacacgacccatatgatcatctgaagatatttggaactttct +cgacaaccaccctcgtactcaatacttacactaatcgacaggcacacgcaacgtgtacag +tcgcaccatattgagtcaagatttgcttagtggcgatgagcgtacacgcttatttctcta +gtcacaattagttatctacgagacatcacgagggagcaaataagcgatgttatggctaca +cataggcacgtatgaatatgatataagccagttaaacagtcgaaccatcgagcaaattct +catgcaccaacccacacgttgaggcacaaagagtaagctgtttgaatgtaacttcttctg +ctgagcgggccccaacgtaaggatcaactagaagagaaaactcggtattagtttaaatgc +gtcacggagcatgagtgcatttcactaagaatgtctgtgtaaccaatataacatctattt +gttatctgattgcctacttatggctttgcggtcgtggcgactaatgtctccaatcctttt +gaggtcggtaccaactccctttaaattacgctgtgcaggctcatgcactgcatacatata +cggtagcaggtagggacctcacgcacccttattataatcaatagtagttatcagtcaacg +aggcaggaatgctgaggtcgaggtgttggtatattttctatgtgccgtctaggcgactat +cacgcattaccaggcgagatttaagccaattttgaatatagtcaacgtaatttttactat +gggttccaccgaaacgccttgcacaactaagaatcccataaaatatcgatatcaaataaa +agattgtgtcaataccttcatatatattttttcggttgactaacgtgaactaaggttagg +ggttttgtatgtctatataggaaacagtttcttttctgtcctactttagtaaagtcttca +agccttactccaaaatcacggtgattaagccgttactcagcagcatgattctgcctgctc +gggtcctaaaatccagccttgtaagagtcgctgtgtattagctagggagacctttgttaa +aaaggatatatcgcggcgggatgtgagtgcgtggcgcatactcaatcttcagctcgtgtc +attataatatctctcccccacgcttttcactagatatgccgtgtaagcaaacaccttatg +cttaatttcgaaaatattggtacttgaaaaaagctgtaggggtacttaatgtctggtagg +agatcaggagagaattgagtgtaaaaccgtaaagccctcacctgacttcatgtaaatggc +ttagaagactccatgatttaataaatactacgaaggaaagactggatctaaagataactc +tagtaaggccaactcccttcaatgctgttgccagttataatccaagagctgtccttttct +gaaccatagcggcttctgaagcgaactagaagcaaagttggttctagccagacagccaca +taccctgtacgggtgtattactaaaactggtccggtattagttcaccaagggaggaatta +ggcaaaggatctaggtatgcaagtcggagtattacatccctaccctgaatccatcaatag +gttcctctgtactggccttcgcaatgagtattcaaggttgtacagccgtataataataag +atagtgactatgaacgggaagtaacccgctcaccttccccaaaacattgttatatctaag +tattaaagtctgccgtagtgttaatactcgaaaataaacaactggcaaattacaccgcac +ttaagccgcttttgatttatatttttccaatgcgcttttaaaaataattcagtcctacat +actaattaagacccttaaacggagatatcacaagttaagttttaaccatctcgactaggt +ggaactatagatacccaactcaatttatcattacctgtaatgttcctagaaggattgcat +ttcatgtcaagacggtggagtttcacagcgaaacttcagtgtgaacagattctgagaaat +cacctaaacctattagtcagagcacccggttagaaccagttgtcaaaaaatagagcggtt +gcatgagacagaagtaacgatgagatccgttgtaacgttgagacatctggcctatcgtca +atacagtcctcccttaaaaatatttttaaatactaggcaaacccaacataggttagtcct +atgtgatacgccacatggtatatcattttgtaacgttacctagggataatcaggaagtgg +aattacgcaaaagtagacagtgaaatgcttagggttatagtctagtccaaagataaagga +taaagcacgtcagagaactatattagccgaatgggaatcattgttaggagactgtggatc +atgtctaaaaagcaacgcagaaacagtcatcgaaaaaatctcgtttttgtttgaatctaa +aagagctttgatgaccgatagtacctgtatactagttactgtattacgtgtctaatgatt +tcggattggggtccccagaatcagacgtcattgtagacgattcaagtttaccaatttaat +ttcccagctctccttggagaactatcgccaataattgcagtcactttccttttctgaaac +gataaagccgtcagagttctctgcaacgttggacttacctgaggttctaacccactttcg +gttctaatagtagttaacgacacaacgaataacctttactgtggggctttcacgatattt +tttcgcttattattaatggttacgtcataagctggtgtccaaattaaggttaccggcttc +gcagagtagttgtatccaagtataacttccctaatcataagatcgaggtagaaaattaat +gctgtctctaaccgaacagatatgtcccactatgtggtatggacgttgctaattacttct +gaagggaaattggtcattatggatacgtgtctaccatcaggtcggacgcagatatggttc +tgtcttcagttgatccaccgttctttataggataataactgacgattaaagattatggta +aatagattaagccaattctcttcttgtcagtgaagcatccttaactgacttgctctgcag +cccctcatacatttagctattcaaagtaccggctcgtttcaaactctcccacctttggaa +gaggttgtcaacttgataagtatatcatttacagcattttttcggacgtacctctaatgt +ttcattgcagaaaattagttttttctatcgcacattttgcaagtaacgttagagacacaa +ttatctgcgaatgaactgctagatctgacgaccgggagcctcgcaaatatcaaaaaagac +tgacatatatcaaggagtcgttgacaagtgctggtaagtcaattggtttatctgtcccgg +cgtttcgatcttaagctgaccatgcacggcagagtaatgtcactctcgttcttacaagtc +tgtctccaagggtcggcaaaaaagacccctccattctcgagcccactcacgatatgtagg +gacgacaacttgtgcggcttatgaattgtctggactgcgggcgagggtccatatctccga +agttagaagggacatacctttagatgataagatcaattcttattgacgaaattcatccac +aacggggaacaacttcaccctagacttacgtctgaaaagacacctagcgtcttataaaag +gtcagtgccccgtttcgtaaggctggaattacctacgcaaacttaaacctcgcgcccttc +cttacgtatcgacaagatagaggctatcgcgaatgtactacggaggcatgaatcatatac +tagaaccaagtgcctgtgatattaacaagatgatccgacgcgagcaccgtaattctaggc +ataaaactccagcaatttgggggccgaaaacaaatgacgttagctaattaattatatgac +atgatcaaaggaggtcaatcacgcatcgagttcgacgtatattcattgaacttcgtgcgt +ttgaaagaaacttttatgaaggcaaaattgatcctgtctcctatttcatgcgtacctcct +agttgataattccccgagcagtggttaggacacttttgtcggtatcaagttccggtctca +aaacgtaaaattctgtaatctgtatggatggtctgtgaattagttaatttttatgaagtc +gtcgagacgcagttcctattgatttattctaaacggagatgtgcttcgtgggactcggaa +gtagatctgtgtttatgattattgctactttagatgctgactgttaactccgtgttgttt +ttcaaccgtatatcacaaccgaattggatagaacctatagtttcaagttctgccacaagg +tatcatatttacagttagtgctggttgcttctttcaaacgtggtgagtttgtgctatcac +gtcaacggtagagctcagtggaccgagtgcgcgttcaaccctgttccagagagggtgtga +tagcacatataccacgctcgtcgaggcgttcatgatagtttgcaagagccggtgttaaac +acatattattattgttatccaactaatcggacctatgcataaagcattgtctaaacagaa +taattgcctatatacggtagttttagtgatttatatcttagtatcagttagagcttcgaa +ctcttcaggttcctcatatttaacgttcttcgaaagcgaaaacttctacaaacgaatgta +agcggttttccaagtagtacctataaatcacagaaagatctgtctcagtatagttgaaat +ggtattcagctagtgacgtgtaccaattatcatagttcactcaagcaagacgctcattaa +cgaatatagacaagacactatatcatataataaaaaagaacatggtgctcgaacatagtt +gaattcaccatattgaaggggaatgctgacatgtaattcgctactagacgatcaattccc +tacttgtcaaagttgaactggtacgttcttggaattaaatatgattgcgctggaccaaat +tgcgacttcttgagtttcagggcaaacgattgagccggaggatgtccgtctcttaccttt +cttgcttatgataaacgacggtccctgtacatcactgggaattctcagcaaaaataattg +ggtaaatcgagactcgatgtattcggccacaaaggtgttagacgttaaagattattcaac +ggggcgataataggatcataaccggtatgcaagcgcattgaaagagccatgagatcctta +tccgataaacgctgcacggtatgtgcagccttattgtcgatcacgaatttataaatgtag +tctgggctgtaagttgaagacctaagttataatgaagtgcaataccaaatcgattcatag +tggattatcagactcaagatatctcctgataaattacagttgttaagatacggataaaat +gagatttaagattagcagcctctaatctgtttcaatcccgttggaatgtggtatgcgatc +aaggttaagttaaaatcaagcctgtcttcagtcttgattcttgttctgccatcgcatgcg +gtctacgtgagttaatatgtagcttacgttctagcttgtgctaatctgagtatagattcg +tagaggaatattatcaagcttccacgcctcaacgtacgtgtattggtcacacaagacact +aaaagtggaagtagcgtaaactatagtctagttgttaaatgctcagttcttgttatattc +gatatactcttggctaatttatgtctgagtatataaaattaatgatattaacttgcattt +cacggatcccttagaaaaagattttgaccgagcgcattataaacggttacaccgaatcaa +tagaagcatacccaatagctttctttgaatttattgcctgcgcaacttggctgactctct +agatccgaataattctatatggtcgtgacgaaactagttcattactgtttaaaatgccaa +catgtcttttgggccgataatggctctttgcaaaattactcaatgatacgattgatcaaa +gcggtagttgctagtggtagcatgtaagtctatcaaatgtctgattatccgaaaatcttc +caaaagagtccacgtaccatatctatctcatagcgacgcgaggggaaccttatctaacta +tcattccatttaccgggtgactctcgatgcaggatccgattgggataaattgcccagaaa +tggctcattcctgactaagggtaaggccgttctcagcaagggaaccccgcgaatctaggc +ttataccatctagattgttaactacttgcctgtagttctacagccatactggacagttgt +ttctaaatgatcgggattcatgctagcactcctctgaatgcaccgcgtaagtttaactat +tacgtccgtgggcagataaggatggaggctgtatgtatcttaactgttacctaatatggc +tggtaattatcaaagtaaggaccttaatgccatagcgctagcaatcgctttgtatactga +ccatgtgccaacctctcttaatctgtaaaatataatgtcttagctaactgtggacgatca +tgtctctgcctagagcttcgctgtatcaattcctatagccagcgtactagtgacacaaca +acaccgtgtgagaaaagatattagtccttacgtctgtctctctacagcttattgatgagg +attgaacatggacatatagctccccctcaaaagcagatgctacctctttattccattctc +gaacatttgccgaacttaatttcgacaaacctgaggtcacgtcttaatttatcggtaacg +tcacgtccctttgagactggataaatatattaccaggggccaacgagcaattgttggagg +cgcttctataatacaaggtgtcttgtcaaagaaagacggcgtgcgtctcgtgcaactcac +ttaaccaatattaatgtgaaacccccctctctcacatcttatgcggtgtactgccctggt +acatttcctgtacaggactccaacagtgtagattcctaagatagctgttggagttgcctc +acgccagatcgaaaaactgaataaactagtgagctgagctgcagaaataccgcttaatta +cttatgactagttcaaagggacctacgtgatgtcagacattgcaaggaagaaattaggtt +tgtgcgtcattttggctggactagcactccttacttcccctactattcaaatgtcgtaaa +cagcatgagacaggatcgtgctgacatttaaggtctattgggaacgaggctacctttggt +cgcgcgctcgcgttctccgaatgaccgaaatgcatgagcacagtatgcaattgcttatag +atctaaggtctggtcgttgaaaccaagcacgtaggcctgggaaatcagttcttcctcagc +aactacacaaaagcgtccaagcattagtacttgtagtaaatgtccgaacctatgcgctca +tttgaaagtcaaaaaatatttttaagcagtaggcacctaacccgattcctctacttagta +gctttctttgattctcagaattgactgcaatatcactgcacaattctgtgccattactag +acttctctgtattaacgtctcatcttactaacactcgcctaggacacatctgagagtgaa +gtatttcaatacatttactgaaatcttcagttctaaaatccccgaataaggctcttatcg +gtttggccaacacaagaaaaaaacttcttgcaccactcaccttcatacgcaggagcctgg +ggaacttagtaataactatttcggcagacaaagcttataacaagttgccggcgcgtataa +tatttaaaagaccccttgagctgctcaattaaaacgctcacctggtataggctattagat +agtgccgtcttagtaaggggcgggaattatcggataaactgatattttgataaaataacc +gacttgttcacgacataagtcactaaggagattttatctttctccaaagtatatcttcct +tggataatttcaaagcgctgcaatttaagttctgttactagtttatgctgctgggaggtg +accggaaggcgtagtaatctagaggcaaattataagaagttcatcatatcattttcgact +acaaaaacaaggtgttgtatgccggcgcattgtgtaaactggacgagtaccctagatgga +aaattatacgttaagccaagatttcgatgtaatgataattacctacacatttttgctatc +cataggaacaagagctgttctataggctcgtggcatacgaacatttgctgccgctatgaa +tattggaagctcttcaactacagactctattcttaattgccgtcgaaaatgggccgaatc +ggctattattaatactcggtttttccgaggggattgttgtcgacagtcgtaattattatt +aatattgatgttggtgaggtcatttaaatacaaccttgcagacaatgaataagggatcca +atctctcatactccttttacaattgctcatgcccctatgcaaaccttatgccgccacacc +tccgcaactctctcttctgaactgtaagtagcttcattactggtttgagactatactgaa +gctgatgacattctaaaatggctattttcgaatgtgattcataatgtttatcgtttggga +tggcagaatcacgttatttttgatatagcccgggtattctattgtatagaacgtatgcta +caagtcattccccgaagaagactagaagtaaacaacatgcgaccatcgttaagccacgca +aggctgtagctttatttcccgataacctatcttccataaatagcggacagcaggatactg +acgctcaacatcagtggttatggtctaatttttaacttttaataaggtaacttcagcagg +catacacagtaactctttaatttataatcaaattagaagtctgacacttcttatattttt +ctatcatccaacgcgatcgcccattagcttattgtgttactaataacgtatctaaaccaa +tccttttcaagctactgcctatattgtcaatatatacaaacaacaggatagtaggctgct +taaaaaatattgtcaaccgtgtacgctttacaatacccggaaatcacaaactttgtagac +aacgagtgaaatttatacactacgaagggccagcgtacaagacccatgaattaggcgata +tgtttattctgacatattggtttatccttaatctgtcgctgtaaaatgaagccgccccca +tccctgcgaattttttttcgaagattcacgactgaaatataaatacgtttggctatattt +atgttggagggaggcaatagcctttactgttaaccgaagatttagccagtgagtgtgaca +ctaaaacactggaataaatgcaggcgttcttctgggtaaaaggtttagtcaatctcgcct +ataagttcatatagctctggatataattatctggcccatgcatttatcatggcgcttggt +gccctgtgtgaagccggcctctcatattgaaggtccgaagtattccatgtacattaagat +cactctctcattcatgcatcttggcttaacaaatctggttgtccaagctttccaggcacg +tatggtacaaattcggatcgaatacttataaaaatgatatgttaaactgtctaaaacgct +catctacaaagtaaagtgcactaaccaatagagtctcaagaccgtgtaatgctggtgcac +tgaatgtgtaatacggttagaagggattagttatgttacaaatccattgaaaacttaaga +agcattgcgtgctcggagggtgcatcttttatcaagagactaacattattttcaacgacg +tacatgctttacaatagggtacttatcaaacgccgagaaacgcgcctatagtgatgttat +gattatgacccgatatccattggaccgaattttatgtaggttcccagcgtactcgcgtaa +tatctcggtattgccataatgtaatacttgtcggtctctcccagatgaaaaagcgttaca +gagtatttcaatgaaaaacagcgcgcaacgtcaatacctttaggggtaacggccgctgat +ttcatatagatatacgataagttggtatagctctactaggtggcatccacaatcgttgca +tttactatagctggttacaatcataatctataccgttccttacatactaccatagcggga +tagcgtttttttgccgttgattgggtttaagaggatgtcagtctcattatatccgattcg +gtgggagagccgttgttttcaaatcgcacactttgtgacataatgtacaagataacaaaa +ctgatataagatataaactgtcaatatcaccttgacacttgaatcaaagtaaattaactc +gcaaatataatttgactaattgggtgcagatttctcaattaataaaaaaatggcaccgga +tgggcttacaagccccttatcattcacttgtatcatgatttccaagaacaatagaatttg +ctagcaagtatgaacagagattcgaattgcatccacagtacgccggagcgtttattttaa +tgtggatatgacgatgtactgttggcggcatttgctagtaaccggtccttatttacgtag +cgcacacgtaagcatgtctgggagaaatatggtggtacaatctcagagaaagattacagt +ttggtttaaataggacttatcgggtcggaagtggaacttaataagcagtacacaattggg +caacagacgtcttgcctattacaataggattacaatgcgttagatttcagacacgttcgt +gtttggctattcgtcaattccctaaatagttagacgatcaactattatcaaagtgattct +ttgttcatcctccattcatgtaacagatggcacactacgcataacgccgaggaattttaa +cgagatttaagagagcagttcgggcacaacccacttgactttataacagctcggcagcat +aaacggtaatatgtgacaaatttccaaacgttataagaacgtatgtgtacttagaaaact +aagtggttcatgttcaacagatgtgacgcagcaagcctaacttatctattggttttgcta +taaaagaacaaagttacacagaatcctaagggcttgtttcacacttatgcctagtgcttc +accatcttaaaatagcgaaaccggcacgaatcaaaccttaaaacaatgcgcagatattgg +tgatggtgactccgggtatgataatggtaactgttgaccagcgcccacctcatcgaagta +tagaaagtggttaggataaggatgagaccgaacttatttccggccataactttagatttt +ctacctagtacacaacatcagggcggacacgaaaccgccatcacatcatataccaggttt +aatttgcttaatgggggaagtgtcaacgaaccttcgaactttagcaggcatatggccatt +atatatggccccagagcagaatgctacagcagacaaaatttggatttatgtagtttaata +cctatcaaacttggtgtgaccatacttgtctaacgacagtgcacaaagtgtaagttacaa +ttattactactcagcagcttctgcaatgataaaatcttatcatacacgtcacatatgata +atatctacttagggggaacgggctccacaacctacatagtactcaatacttacactattc +gacaggcacaccaaacctgtacagtcccaaaagattgagtcaactttgcagtactgcaga +tcacagtaatagcttagttagcgagtcaaaattagttttctacgagactgcacgaccgtg +caaatttccgatgtgttggctacaaatagcaacgtatgaatttgtttgaagccacgtaaa +ctgtacaaccttagagataagtctcaggctactaaaaacacgttgtggcactaacaggat +catggttgattcttacttattcggctgaccggcccaataagtaaccttcaactagaacag +aataatcgggagtagtttaattcagtcaaggtgcaggtctcattgtaactaacaagctct +gtgtaaccaagttaaaatcgttttcttagcggattccctacttatggatttgagctcgtc +cacaatattcgatacaagaagtttgtggtccgtaacaacgaaattttaattacgctgtgc +agcctcatccaaggaattaatagaaggttgatggtaggctccgaacgctccatgattata +atcaagtggactgtgcagtaaacgaggaaggtatcctgacgtcgtggtgttcgtttttgt +tatttgtgccctatacgagtagataaaccatgaacagcacagtgtgaacccatggttgat +tttaggctaccttatttttaatttccgttacacagaaacgaattccacaactaacatgcc +attaatttttcgatatcttataaaagatggtcgaaattcattcatttattttttttcggt +tctcgaaagtcaactaagctgtcgcgttttgtttctctttagaggtaaaagtggctttga +tctcctacgtttggatactagtcaaccattactccatttgatccgtgagtatcacctgtc +taacatccagcattatgactcctcggcgaagaaaagacacacttcttagagtcgatgtgt +attagctagggacacagttgtttaatacgatagtgagcccagggagggcagtgcgtcccc +cagtagatttattcagctagtgtaagtataagatatctcacccacgaggttcaagtgata +tgcagtcttagaataatacttatcctgaatttcgatattatgggtacttcaataatccgc +tagcgctactttatgtctcgttggacagcaggacacatggcagtcttaaacactaaagac +atcacctgaatgaatgtaatgggattacaagaatcaatgaggtattatatacgacgtagg +aaactctggatatatacagtaatctagttacgccatcgcacttcattcctctggaaactt +agaagacatcagctgtacgtggaggaaccagacccccgtatgtagccaaatagaaccaaa +gttgcttatacaaacacacccaatgacaatggaccgctggagttcgtaaactcggaacgt +agtactgcacaaacccagcatttagcaataggagctacgtatgcaactcccacgtggtaa +taccttcaagctatcaatatataggtgcctagctaatcgcattcgcaagcagtattcaag +cttgtaaaccagtataataattacagaggctctatgaaacccaactttccagctaaaagt +cccaattaaatggttatttcgtacttttaaagtcgcccgttctgttattacgcgaattga +ttctactccaaaattaaacacaaattatcaaccgtttcatttatatttgtcaatgcagct +gtttaaaataaggctctactaaattataattaagacacttattaccagatttctctagtt +aagtttgaaccagctcgactaccgcgaaagatacattcccttctctatttttcagttcat +ctatgggtcagagaagcattgaatttattctattcaccctcgtcgttcacagcgaatcgt +cagtgtgatcagtgtatgagaaatatcctaaaccgtttagtcagaccacacgcttagaac +aagtggtctaaaaagactgccctggaaggagtaagaagtatacagctgatccggtgtatc +cttcagtcatctgccctatactaattacacgacgcaaggaaaaataggtttattttctag +gcaaacccttcataggtgactccgatgtgttacgaatcatgcttgagaatgtgctatcgt +taccgacggataataacgatctccaatgaaccaaatgtagaatgtctattgattaccctt +ttactattcgacttagagataggagatagaacctcagtgtacttttttagccgaatggga +atctttgggaggtgaatggccataaggtcgtaaatccaaccctcttaaagtcttccatat +tatatcgttgttcgtggaatcgataacagatttgttgacccatagtaaatgtatactagt +ttatgttgtaagtgtagattgttttccgattgccgtccaaactttatgtcgtaattgtag +accagtaaagttgaccaaggtaagtgcccagcgatcctgcgagatcgatcgccaattttt +ccagtcactgtaagtgtaggtttagataaagccgtatgagttatatcataagggcctcgg +aaagcagcttcgaaccaaagttcccttataatagtagtttaactataaaagtatatactg +gtctgtcgccctttcacgatttgttttaccggtttatgaagcgttacgtcattagagcgg +ctccaatttaaggttaacggcttccatgtgtagttgtatacaaggataacttaaagtatc +tgttcagcgagctagttaagttatcctcgatagaacacaactcagaggtcccaagatcgg +gtttgcaacttgctaatttattctcaaggcaaattgggaattatcgatacctgtatacca +taaggtcgctcgatgtgatgcttatgtcttctggtgatcctaccttagttagtgctgatt +aacggaacattaatgtttatcgttttgagatttagccaattctctgattctaactcaaga +tgccttatctgacgtgctatgcagcccctaagtattttacattgtaataggacacgctcc +tttaaaactcgccaaaaggtcgttgtggttctctactggttaactatataatttacagct +ttgttgagctagttcctctttggtttaagtcctcaatattagttggttcgagcgataagt +tggctagttaccttagtcactatattagatccgaatgttatgcttcatctgaagaccgcc +accctccaaaatttcttttaagactcacttattgcaaggtgtaggtgaattcggctcgtt +tctcaagtggtgtatctgtacacgagtttccatattttcatcaacagccaccgcacactt +atgtcactctaggtattaaaagtcgctctacaaggggacgcaattaagaaacagacatgc +tagtcaaaaataaacatagcgaggcaccactaattcggccgcttatcaatgggatgctct +gcgcgagacgcgccagagctcagtagttagttcggacatacatttacttcagatgatcaa +ttagttttctacaaatgcttactctaccccgaaaaaagtcaccagactcttacgtctctt +tagtatccttccgtcttatataaggtcagtcccccgtttcggtaccctggaatttactaa +gaataatgaaacagcccccaaggacgtacgtttacaaatgatagaccagatcgcctagct +tattccgacgcatgttgcatagaattgaaccaacggaatgtgagagtaactagatgagcc +gaccacagcacccgtttgcgtcgcagaatacgcctgatagttcggccacgaaatcatatg +tcctttgagtattaagtatttgtaatgatcaatcgagctcaagcaagcttacacttcctc +ggatattcagggaacttagtgcctttgaaagatacgttgatcaacgaaaaattgataatg +gctcatatggaatgcctacctcatagtgctgaattaacacagcactgcggacctaacttt +tcgaggtttcaagttcacgtctcaaaacctaataggctggaatatgtagggatcctcggt +gaatttgtgattgggtttgttgtagtactgaccaagtgaatattctttttttctaaaagc +agatctgctgccgggcactacgaaggagatctctgtgtatcattattgcttcttgacatg +atgactcttaaatcactgtgggtgtgcaaaacgatagcacaacccaattcgatagtacat +attgttgatacttcgcactaaaccgttcatatttaaaggttgtgctccttccttcgttaa +atactggtgacttggtcctatctactattagctagacctctggggaaccacgcccccgta +aaacctgtgcaagagagggggtcatacatcttagacatcgcgcctccaccagggaagcat +tgggtgattgaccaggtgtgtaacaaatatgattattcttatactaatattagcaaagat +gcataatgatttgtattaaatgtataattgaattgataagggtcttttagtcagtgatag +agtagtataaggtagacattagaactcttaaccggacgcagatttttcggtcttagtaag +ccaattagtcgacaaaacaaggtaagagcggttactagtagtacctataatgcactgaat +cttcggtcgaagtatagttctaatgctatgcagattgtgacggcgacaaatgttcagact +tatatcatgaaacaagctcttgtaagtattgacaaatgaaaagattgaatatttttaaat +acaaaatgcgcctacttattaggggaattaaccagattgaaggccaatcctcacatgtaa +tgagataatagacgataaatgaaattcttgtaatagttgaactgctacgtgatgggtatt +atatatgattgagatcctccaattgccgacgtcttgtcttgatgcccaaaagattgtcaa +cgaggagctccctcgcgtacctgtcgtccgtatcataaacgacgcgacatgtacagcact +ccgaagtataagcaataataatgcgggtaatccagactagatcttttcggactcaatgcg +gtttcacggtaaacatgattaataccggagagtagtcgagcttatcagcgatgcaagcga +attcattgtgccaggagatacgttgcagataaaaccggcaacgtatgtcaacaagttttg +gcgatctcgttgtttgtattcgacgaggcgcgggaacttcaagaactatcgtatattcaa +gtccattaccttttagtttcagactggtggagctgactaaagttatatcatcattttgta +cactggtttagttaacgataatttcagatttaacatgaccagacgataatcgctgtatat +ccagttggaatgtggtttgccagaaaggttaacttataatcaagcctctcttcagtcttg +attcgtcgtatcccatccattgcgctatacctcagtgtatttggagctgtagttataccg +tgtgctaagatcagtagacatgacgagagcaatattatctaccttacaagcatcaacgga +cgtctagtcggaacaaaagactctaaaactcgaacttcaggttaatatactatagttctg +tattcagcagttattcttatattcgatattatcttgcctattggatgtctgactttagta +tattaatcatagtatctgccatgtaaaggtgccagtactaaatctgtttcacagtgcgaa +ttataaacggttacaaccattaaagacaacaagaccctatagctttatttgaattttgtc +aatgcgcaacttggagctcgcgatacatcccaattagtctatagggtcgggacgattcta +cggcatttctggttataatgacaacatggattgtggcccgagaatcgctctttcattaat +taagcaatcattacagtcttataagcgctacttccgagtggtagcaggtaactcgatata +aggtcgcatgagccgaatagcttaaaaaacaggccaccgaacattgatagagaataccga +ccacagcgcaacctttgattactttcattaaattgtacggctcactcgacatcaagctta +agattgcgataatgtgaactcaaatggatcagtactgaagaaccgtaacccacttcgcag +aaagcgtacccagagaagatacgctgttacaatatacagggtgaaattattgcctgttct +tcgtaaccatttcgccaaacttggttagaaatgatagccattcatgatagaaataagctg +aatgataccagtatctttaactatgtagtcagggggaagataacgatggtccatgtatgt +ttctgatatgtgacagtattggccgcgtaatttgctaacgaagctacttaatgcctttga +gcttcatatagatttctttaatcaaaatcggcaaaaagatagtatgagctataatatatg +ctagtagagaactctggaccatcatctatatgaatactgattcgagcgtgcaattacttt +agcctgcgtactactgactctacaaaacactctgagataagtttgtagtcagtaagtcgc +tctctataaaccttttggatgaccattgtacagccacttatagatcccaataaatagcac +aggagacagagtttttcaatgctcgatcatttgccgatagtattttcgtctaacctcagg +gcacctattatttgatacctaacctaacggccctttcacaatggagaaatatatgacatc +gggacaaacacaaatggtgggtggccaggagatatgacatggtggcgtctctaagaaaca +cggactccctctaggcaaactcacgtaaccaattttaatgtcaaacaaaacgctcgaaaa +gattttgccgtgtaatgacctggtacattgactggtcaggaatacatcactgtagttgcc +gtagtgtcctgttggtgttccatcaagacacatcgtataacgcaatttacgacggacatc +agatcaagttatacagattatttaagtatcacgtgtgcattgggacataagggatctcac +acatgccttggaacatttttgctttgtgccgctttttcgctgcactaccaatccttactt +accagtatattcaaaggtcgttaacagaatgagaaaggttagggctctaagttatcgtcg +attgggatagacgagacatttgcgagcgccctccacggatacgaatctcccatatcaatg +tgaactggatgctatgcagtttagttcttacgtctcctagtggtaaaaatcaaagtagca +ctcgcatagcagttattcagaacctaatacacaaaaccgtcaaacattttctaattctag +gtatgggccgatcataggagctaaggtgaaactcataaatgttttgttagatctagcatc +ctaaaaagatgcatatactgagtagctggcgtgcattctctcaattgtatcctttttaac +tgaactagtcggtcccatttcgtgactgagatctattaaccgataagattaataacactc +gcattcgtatcagctcagagtgaagtttttcaataatttgactgatatattaacttctaa +aataaccctttaagcctcggatccgtttcccaatcacatcaaaaattcttattccaacta +tctacggattaacaacgtgcatggggatcgtagtaagaacttgttccgatcactttgagt +atatcaagttgacggcccggttattattgaatagaaacattcacctgctaaattaaatac +cgcacatcggatacccgatttcagagggccgtcttactaagggcaggctttgttcggttt +aactgagatgttcattattttacagtatgcttcaactaatatgtaacgaaggacagtgga +tctgtctccatagtagatcttcagtcgtgaatttcataccgctcctatttaagttcgcgt +tcgagttgttgatcatggcacgtgaaagcaacccctagtattctagacgaaaattttttc +tagttcatctgataatttgccaattcaaaaacaaccgctggtttcccggcgcattctcta +aaatggaagtcgaacctagagccattatttgtcggtaacccatgagttccttcttttcag +aagttaatacactgtggtcctatacagaggaaaaacagcggttatatacgatcgtggcat +aacaacattggatcaagatagcaatttggctacctattctaattctcactagattcggta +ttccactacaatatcggcagattaggattggatgaataatcggtgtttaagtccggttgc +gtctccaatctcctaatttttattaatattgatcttggtgacctattgtaaataaaaact +tcaagactttgaataacggtgaaaagatagaagactcatttgaaaatggatcatccacag +atccaaacattagcaagacactaatccccaactagctattctgatcgcgatcgtgctgca +gtactcctgtcacaatagtctgttcatgatctaattctttttgggctttgttcgatggtg +attcagaatctttatccggtcgcttccctgtagctactttgtggggatattgcccgggga +ttatagggttgagatcgtttcctaaaagtatttaaaccaagtagacttcaactaaactac +atcagaacatcgtgaagacaccatacgcggtacctttatttaccgataacatttcttcaa +gaaataccggtaagcagcataatgaccctaaacagctcggggtatcgtcgtagttttaaa +ttttatttaggttactgctcaaggaataaaaactaactatttaatttataataatattac +aaggctcacactgattagatttgtctataagacttcgcgatcccccattaccggattgtc +ttaagaataaactagataaaccatgcattttctagataaggcctttagtctaattagata +caaaaaacacgatagttgcatccttaatttattgtgtcaaacctggaaccttttaattac +ccgcaaatcactttatgtcgagactacctctgaaatttattatctacctaccgcatgagg +acttgaaccatcttgtaggagttatgtttattagctaagattcgtttatcctgtagcggt +ccatgtatattcaacaagcaaaaagcactcagaattgtttttagttgagtcaagactgat +atataaataagtttccctagttttttcgtggtgggacgatattgaattgaatcttaaccg +aagagtttcccactctgtcgcacaataatacacgccaatatttccagccctgcttatgcc +ttaatcggttactcaatctcccattgaagttcattttgatctgcatagaagtttcgggcc +cagccttttttctgccaccttcctccaagctctgtagacgcactctaagattgatgctca +catgtattaattctacattaacataaatatataagtcatgcatcttcgagtaaaatatct +ggttctccaacatgtcctggcacgtatcgttataatgcccatacatgtagtattaaaatg +attgggttaactggatattaagatcatcgaaattgtaaagtcaaattaacaatactgtct +caagaccgtgtattcctcgtgctcggaagggctattacgcttacttccgttttggtatct +taatatgactttcaaaaattaagttgcagtgagtcctacctgcgtgcatcggttagcaag +agtataaaagttgtttaaacgaactacttgctttacaataccggtcgtatatatcgccgt +gaatccagaagattgtcttctttggattatcaaccgagatcctgtggaccgatgttttgg +gaccttcacagaggactccaggtagagctcgcttttgcattaatctaagaattgtacctc +tctaaaagatctaaaacagtgaatgtgtatttcatggaaaaacacagagaaacgtaaatt +actttaggccgaaaggcacatgagttattatacatatacgagatggtggtatacatcgaa +ttcggggcatacactatagttgcattgtatttagctgctttaaataatatgatattacct +tccttacataagacattaccggcataccctggttttcaacttgtggggctttttgacgat +cgcactctcatttgatccgagtagggcggtgacccctgcttttcaaatacaaaaatttcg +ctatgaaggtaatagattacttttcgctgttatgatagaaacggtaaatttaaaattgaa +acttctagaaaagtaaagtaacgagaaatgattttgtgaataatgcggtcatgattgcgc +aagtaagaaaaaaaggcaaaaggatgcgcggaatagaaacttatcagtcacgggtatctt +gatttcattcttcttgtcaattgccgacataggatgaaatcagattccaatgcaatacac +agtaacccccacccttgattgtaatgtcgatttgaagttgtacgcgtcgacgaagtggat +agtatacgggccttttgtacggtgcgatcaactatgaatctcggcgagttagatggtcgt +acaatctcacacatagaggtcacttgcctgtaatgacgaattttcggctaggtactcgaa +ctttattagaagtaaaaatgtgggcaaaagaaggattccattttacaagacgattacaat +gagttacatgtctctcaacgtagtctttccctagtagtctttgaactatttaggtactcc +agaaaattttagcaaagggtttctgtgtgaatccgccattcatgtttatgatggaacaat +aagaataacgccctcgtatgttatcgacagtgaagtcagcagttcggccaaaaacatatt +caatttagtacagatccccagaagttaagctaagtgctctaaaatggcctaaacggttat +caaagtaggtctaattactatactaacgggtgcatcgtaataactgctgtcgatgcaaca +ctatatgatagtgtcgttttgctatatatgtacaatgtgacaaagaagccttagcgattc +ttgcaaacttaggacttcggattctcaatcttaaatgtccgaaaacgcaaagattcaaaa +atttaatctatgagcagatatgcctgatggtgactacgcgtatgttaaggctaaatgttg +acaaccgcacacataatcgaactattgatagtcgggagcataaccaggtgaacgtacttt +gttcacgacatttattgacatgttctaaatacgtctcaaaatcacggcgcactagaaaac +gcaatcaaatcattgtcctggtttaagggccgtaatgccggtagtgtcaaacttcatgag +aactttagctggcttttggccagtatttagggaccaagagcactagccttaagctgaata +ttttgccatttatctactgttataactttaaaacttggtggcaccagacttgtcgataca +cacgcatcaatctgtaacgtaaaaggtttactaagaacaagcgtaggaattgagtttata +ttatatttaaactaaaagatgatattagcttctgagggcgatagggctccaaatcataaa +gaggaatatattattacacgattagaaacccacaacatacctcgaatcgcccaaaagttt +gacgaaacttggcagtactccacatctcagtaatacagttgggagagtctcaaatgttgt +tttattactcaatgaaccaccctcataatttcactgctgttccattaaatttgcaaacga +tcatttgctttgaagaaacgtaaaatcgacaaaattacagataagtagatgcataataaa +aaaaactgctcgctataacacgatcatcgtgcattcttacttaggagcatcacccgcaca +ataacgtaccttaaactacaacactattagaccgagtactgtaattcacgaaagctcaag +ctcgcattgtaaagaacttgctctctcgtaaaatgtgataatagtttgcggagaggattc +aattattttccattgcacctactccactagattcgataaaagaaggtggtcctcccttaa +aaagaaatgttaagtaacatcggaaccataagcaaagcatgtaagtgaaccgtcatcctt +ccctaagaaacataaaggtttttaataatgtcgactgtgaactataactgcatcctttcc +tgacctactccggttccttgttgttatttctgaacgagaccagtagataaacaatgtaaa +ccacagtgggtaccaatggtgcatgtgacgctaccgttgttttaagtgcccgtacaaaca +taagaagtcataatcttacttgaaattaattttgccttttattttttttcaggctcgaaa +ttaatgatttgttttttttgaccttctagttacgctaatatgcggtcgcctgtggtttct +attgagtcctataacgggatgggatctaatacgtttggttactagtaaacaaggtataaa +tttgataccggagtatcaactgtataacatcaagctttatgactcatacgcgaagtaatg +acacaaggctttcaggagatcgcgagtacagagccactaaggggtgtattacgatagtga +caccaccgagcgcactcactccccaagtagatttatgatcctacgctaagtattagatat +ataaccaaagaggttctagtcagtgcaactcttagaataataattagccggttttgcctt +tttaggcctaatgcaatattcagctagcccttatgtatctcgcgttccacagcaccactc +atggcacgcgtttaaactaatcaaatataatctatgaatgttatgccagtacttgaataa +atcaggttttttataagtccttgcatactctcgttatatactgttagagtcttaccccat +agaaattctttcatctgcaaacttagaagaattctcagctacggggagcataaagtcccc +aggatgttgacaaatacaacaaatgtggcttatacaaacactccatatgaaaatcgaacc +ctcgtggtagttttagccgaaccttgtacggataaatccctccattttccaatagcagat +acctatcctactacctcgtggtattaaattaaagcttgaaatatagagctgcatagctta +tccaattcccaagcacgagtctaccgtcgtaaccacgatttgatttacagacgctagagc +aaacccatctttaaacatataagtaaaaattaaagggtgagtgcgtacgtgtttactagc +aacttcgcttattaagacaattgtttataagccataattaaaaacatatgttcaacaggt +tcattgatatttgtaattgcacaggtttttaataaggatctacgtaagtataatgaacaa +actttttaccagagttatattctgtactttgaaaatgctcctctaccgccttagagactt +tcaattagattttttgcagttaatctatgcgtaagtgaaccatgcaagggatgcgattca +accgcctcgtgctaaccctatcgtctgtctcataactgtaggtctaatataattttcagt +tttcgaacacataaccctttgaaaatctgctatttaatgtctcacctgcatgcactatct +tctatactgctcagaacggctatacgtcactatgctccaagtgacgatttaaacgaagca +aggaataataggtttattttagtgcaaaacaattaagtgcggactacgtgctctttacaa +taagccttgtgattgggctataggttaagtcccatattaacgatctccaatgtacaaaat +cgacaatcgctttgcattacccggttactagtcgaattacagatagctgttagatactca +ctctaattttggacaacaatcccaatcttggggtcgtctatcgcctgaagctcgtaaatc +cttccatcttaaacgattacatattatagacttgttcggggtagagatatcacagttgtg +caaacattgtaaatcgatactagtttatgttggtagtctagttgcttttaccattccccg +aaaaacttgatctactatttcgacaacagtaaacttgaactaggtaagtgaaaacagaga +atgcctcatagtgccactatttgtccactatatgtaagtgtagctttacataatccacta +tgactgagatcattacggcctaggaaagcagcgtagaaaaaaagggcccggatattacga +ctgtaactataaaactagttactggtagcgcgccatgtatagatttgttttaccggttgt +ggttgcgttaacgaatttcagccgcgaaaattgatccgttaaccagtccatctcgacttc +tataaaacgataaagtaaagttgatgttcagcctccttcttatggttgcatcgagagtac +actactcagtgggaaatagatcggggttcctacttcagattgtattatctaggcaattgc +cgattgtgccatacctggataaaataagctacctacatgtgatgcttatctattatcgtc +atactaccttagggtgtcctgttgaacgctacattaatctttagccgtttgagatgttcc +aatggataggagtctaacgcatgatgaagtttaggaaggcagagcatcccactaagtatg +tgacagtgtatttcgaaacgagacgttataaatagaaaaaaggtccttctggttctattc +tgctgaactattgaatggaaagattggttgacctacgtactatttgcttgaagtcatcaa +tttgacggggtgagagacatatggtgcatactttacggactctatattttagatcagaag +cttagcagtcttctctacaccccctcacgacataattgcttttaagaatctatgtttgat +tcctctacgggaattcggatccgttcgcatgtgcggtttatctaaaccaggggacatatg +ttcagctaaagcatacgaacactttgctaactagacgtatgtatagtagctataaatccc +gacgatatttacaaaaagaaatgagactcaaatatatacatagcgaccctacacttattc +gcaccctgatctaggcgatcctagcacccacacccgaaagtgagcactagtgtcttccgt +attaaatttactgcagttgagattttagttgtctactaaggattactctaacccgtaata +aggatcaagactcggtactagctttactatcattccctatgtgttttcctaactcacaag +ggtacgtaccagcctatgtaattacaataatgataaagacacaaaggaagtaactttaca +aatgagtctccagttacactagcttagtccctcccatcttgctttgaagtctaaatacgc +aatctctgaggatatacagcagaagaacactcataacgttggagtccaagaattagactc +atagggcccccaacatttaatatgtactgtgagtttgaaggtgttctattgttaattcct +gctcttgatacatgacacgtactccgtgtttaaggcttcggactgactttctttcataag +ttgagcaacgaaaatttcagaatcgataagttggattcactaactaatacggctgattga +aaactccactccggacctatatggtcgacctttatacgtaaccgatataaaacttatagg +ctggtatatcgagccttcctagcgcaatttcggatggggtttcttctactactcaacaac +ggaatagtctttgtttagtaaaccagagctcaggacgcccaatacgtaggagagcgctgt +ggagcatgtgtcattatggactggagcactcttaaatcactctgcgtgtgctaaacgata +gatcataacatgtcctgagtaaattttcttgatacgtcgcaatataccgttattagttaa +acgttctcatccgtcatgcgtgaaatacggctgtcgtgctcagatatactattagcgact +catctcgcctaacacgcacacgtataaactcggaatgactgccgctcttacatattagaa +atacagactacaccacggaagcattgggtcattctcaaccgctgtataaaagatgattag +tcttataataagattaccaaagaggcagaatcatgggtagtaaatctattattcaagtga +ttaccgtcgtgtaggcagggagtgaggacgagatggtactcaggacaaatattaaccgga +cgaagtggtttacgtcgtactttcactattagtagtaaatacaaggtaacaccggggaat +agtactaaatataatgatatctatcttcgggagaacgagtcgtctattgctttgaacatt +ctcaaggcgtaaaatgtgctgacttatagcatgatacaaccgattgttacttttgtctat +tcaaaagattgaatagttttttatacaaaagccgcatacttatgacggctagtatacagt +ttcatcccctagcatcaatgctatggacagtattgaacttataggaaattcttctaatag +ggcaaatccgtcgtgatgcctattttttttcagtcacatcctcaaatggcactagtattg +tcgggatcccattaacaggctcaaccacgagctcacgcgaggacatgtagtccgtatctt +taacgaagcgacagcgacagaactcccatggataaccaattataaggcccgtaatcctct +agacatcgtttaccaataaatccgctttctccgtaatcatgttgaataccccagagtagt +ccagatgataaccgatgaaacacaagtctttctcaatgcacttacggtgaacttattacc +gccaacgtagctcatcaaggttgcgacatctagttgtgtgtttgcgacgagcccagcgaa +cttcatcaactttcgtatattcaacgccttgtaattttactttaagacgcctggtgatgt +agattcttagataatcagtttgttatcggctgtactttaccataatttcacaggtttcag +gtcaagaagattatagctgtatatacagttccatgctcggtgcacagaaacgtgatcgga +taataatcaatcgcttatgtcgtctttaggcgtatccaatacatgccccgataccgcagt +gtatttcgacatgtaggtataccgtcgcatttgagctcgagtcaggacgtcagctagatt +agattccttaatagaatataccgacctctagtccgaactaaactatagataacgccaact +tcaggttaattgtctagtcgtctgtttgcagatgggattcttagatgagtgagtatcggc +catattggttcgagcactttagtttttgatgcataggatatgcaatgtatagctgaaagt +actttatctgtttcaaactcacattgattaaaccggtaaacctttaaagactacaagaaa +atattcagtgagggcaattttgtcaatcacaatcttccagctagagatacttcacaattt +gtcttgaggctacgcaacattagacggattttcgcgttttattgaaataatcgaggggcc +caagagtatccatagttcattttgtaagatttctttacaggcttattacagcttcttcag +actcctacatgcttacgagttatatgctagcatgtgaacaatagattaatatacaggaaa +acgtacattgagagagatgaccctacacagcgcaaccgttgagtactttcattaaagggt +aacgctctcgagacagcatccttaagatggccttattgtcaaatcatttgcagaagtacg +caagatccctaaccaacgtagaagaatccctacaaacacatgagacgcggtgaaaataga +cagggtgttagtattcaatcttcggagtatcaatttcgccaatcttggtgagaaagcata +ccctttcttcagagaaagaagatcaatcataacactatctttaacgaggtacgcacgcgc +atcattacctgcctccatggatctttaggatagcggaaagtattggcagcgtattgtgat +ttcgttcctactttatcaatttcacattcatatacatgtcttttatcaaaatcgccaata +agataggatgagctatattagatgctagtagagttcgcgccaacatcatcgataggaata +ctcaggacagcgtgataggacttttcaatccctaatactctctataattataactctctc +ttaagtttggaggcagtaacgcgctctatataatcagtttgctgcaccattcttcagcct +ctgatacatacaaataaattccacagcagtaagagggtttaattgagacatcttgggaac +ttaggattttactctaacatcaccgaaacgattattggataccgtacctaaacgaacttt +ctcaaggcagtaatataggacatccgcaataacacaaatgctgcctccccaggagttatg +tcttcctggaggctatatcttacacccactcactataggcaaactaaagtttaaatgttg +attgtctaaaaaaaagatagataagagttggccggcgtagcacatgcgaaagtgaatcgt +aagctataattctctggacttgaagttctgtcctgttcctctgcaagaaacaaacttcct +ttaaagctatttacgacgcacatctcagcaagttataaacatgttggaagtttctagtcg +gaattcccaaagaacggatctatctaatgcattcctacatttttcctgtctgccgatggt +gccatcctattcaaagaatttcttaaaagtagattaaatgggacttttaacaatgagtaa +ccttacgcctctaagggttcctcgagtgccatacaccagtcaggtccgagccacatacac +ggagaacattctaacatagcattctcaactcgatcatttgcaggttacttctttcctatc +ctagtgctaaaaatcatacttgcaatcccatagcacggattaagaacctaagaaacaatt +cagtaaaacatgttcgaattcttggtatgggaacatcattgcagctatggtctaacgcat +taatgtttgggtacatcttccatcatataaacaggaagagtctgacgacagggagtgctt +gcgatcatgtctatcattgtgaaatcaaattgtagctcacatgtcgtctatgagagcgtg +tatccgataagatttagaaaaatagaagtcgtataagatctcactgaacttttgaatgaa +tgtgaagcatatatgatctgctttaataaaactttatccataggatacgtttccaaatca +attcaataattattagtcaaaatagataaggatgaacaacctgaaggccgatcggacgta +gaaagtggtcccatcactttgagttgatattgttgaaccacacgttattatggttttcaa +acagtctcaggatattgtatatacagataatccgataccagttgtctgacgcccctctta +cgtaccccaccctttgtgacgtttaaagcagttgttcagtattttaaactaggcggcaac +taatttggaaagaagcacagtggatatgtctaaattcttgttattcaggcctgaatttaa +tacaccgcatagttaacttcgcggtagagttgttcatcatgcctcctctaagctaccact +tctatgatacaccaatagttgttctacggaatctgataattggccaagtcataaacttcc +gctgcgttcaacccccttgctcgaatatccaactcgaaaagacagccttttggtgtccgg +aacaaatcagttacttcttttctgatgttaattctctgtggtcagatacagaccaaaaac +tccgcggatttaccatcctccaagaacaaatttgcatcaacatagcattttggctacata +ttctaagtctcaatagtttaggttttcaactacattatcccaacattaggattggaggaa +taatagctgggtaagtccccttgcgtctacaatcgactattttttatgaatatgcttctg +ccgcacctatggttattaaaaaagtcatgactttgaagaaccctgaaaagatagatgaat +caggtgtaatggcagcagccaaagagcatataattagcaacactctaagaacattataga +tatgatgatagcgatcgtcatgatgttatccggtcacaatagtagcttcatcagctaatt +cgttttgccagtggtgacttgcgctggaagaatcgttatacggtcccttccctcttgata +cggtgggggcttattcaaccgcgtggattgggttgtcatacttgcattaaacgatgtaaa +ccatctagtagtcaactatactaaatcacaaaatagtgatcaatacatacccgcttcatg +gttttaaccatttaattgattaaagatattccgctaagaaccattatctacctaaactga +tcgccgtatcctagtagtttgaaatttgatgtaccgtaatgatcaacgaagtaaaacgtt +atattgtatgtagaataataggtcttggagctaaatgatgtgattggtagtgaagactta +cccttacaactttaccggtttctcggaagaatatactagagaatcaatgcatgggctaca +taagcactttagtctaatgagataaaaaatacacgagtcttccatcatgaattttttgtc +gaaaaactcgaacctggtaatttaaaccatatatctttatgtcgtcaataactctcatat +gttttatataacttcccaatcacgacttgtaactgcttgttcgactgagctgtttgagct +atgaggccgggatccggttgagctacatctatttgctacaagaaaaatgaaagcacattt +gttgggagttctggctacactcatagagaaataagtggcccgagtgggtgcggcctgcct +ccatattcaagtgtatcttaaaccaagtggttccaacgctcgcgctaaagaattaaagcc +tttatttcctccacggagtagcccgtaatccggttcgaaagagaccattgaagttaattt +tcatatccagtgaagtttaggcacaagcatgtgttctgccacatgcctcaaagcgctctt +caaccaagatatgattcatcctaacttcgatgaatgcgtctgtaacataaatatagaagg +aatgattcggcgagttaattttcgccttctccaacatggcatccctacgttcgttataag +gaccatacatgtaggttttaaaggtttgcggttaatcgatatttacatcatagaaattct +atagtcaaatttacaagactctagatactcactcgttgcagccggctaggaagcgctttg +taccttacttcccttttcgttgcgtaatatgaatttcatatagtaagttcaaggcactca +tacctccgtgaagagggtagatagactattaaagttgtttaatagtacgtattgatggaa +atgacccgtaggagatttaccactcaatccacaagattcgctgctgtgcattatcaaaac +agtgcatgtcgaaacatgggttgggtccttcaaacacgaatccaggtagagatacctttg +caatttttcgatgaaggcgaccgagataaatgagctataacactgtatgtcttttgattg +ctataaaacacagaaacggatattaatttaggccgtaaccaacatctgttatttgacata +gaacagatggtcctttacagcgtattccggccttaatattgaggtccagtgtattgtcct +cctttaaagaagttgattgtaactgacttaaataagacatgtcacccattcactgggttg +caactgctggccctttttgtccatcgcacgctaatgtgataacagtaccgccctcacacc +tgcgtttaaaagacataaatgtcgctatgaaggttattcattaattttagctgttttctt +agaaaaggtaaatttaaaattgaaaaggctagaaaactaaagttacgacaaatgtgtttg +tcaagtaggcgggcatcattgagattgtaagaaataaagccataaccagccccggaatag +aaaatgttaaggaaaggcgatcttctttgaattcttattgtcaagtgcagtcatacgttc +ttatcagaggacattgcaataaaatctaacaccctcccttgtgtggttgggccatttgta +cttcgaagcgtccaccatgtgcagaggataacggaatgtggttccgtcccataaacgatc +attctcgcccacttagtggcgcggtaaatcgctctcatagaggtaactggcctgtaatgt +ccaatgttaggctaccttctccaactttagtacaacgaataatgtccgattaacaaggag +tcaatttgtcatgaccagttcattcaggtacttgtatctatacggacgcgttccagagta +gtatttgaaattttgaggttctactgataagtttagctatcgctgtatgtctgaataaga +atttaatgtttatcttcgataaataacaattaacaactcctaggtgatacactgtgaagt +ctgctgttccccaaattacatatgctattttgttcacataccatgaagttaagctaagtg +ctctataatggcataaacggttatcaaactagctcgaatttcttttattacgccggaagc +ggattaactgctgtagatcaaacacgttaggatagtgtcgttttcatatatatctaaatt +cggtctaacatgcattacccatgcttgataacgtagcacttcgcagtctaattatgtaat +gtccgtttaaccaaactttaaaaaagtttatctatcaccagtgatgcctcatcgtgacta +cccggatctttagcctttagggtctaaacagaactaatattactacgtgtcatactccgg +agcttaaccaggtgaaacttatttgttaaccaaatttagtgacagggtagaaatacgtat +caaattaacccagcaatacaataagcatgaaaataattgtaatcgggtttgggccggaat +cccgcttggcgaaaacttaatgacatagtgtgatgcattttgcactggattgagccacaa +actcaactagcattatgctcaatatttggccagtgttctacggtttgaaatttataaagg +ccgcgcaaaagtcttgtagttacaaacgcataaatctcgaacgtaataggtttaattaga +acatccgtaggatttctgtttatagtagatttatactaaatgttctgattagattctgac +ggccttacccatacaattaataaagacgaatatattagttatagtttactatccaaataa +attaagcgaatcgaaataaactgtcacgatactgggcagttatcaacttatcacttatac +agttcggacactctatattggtctgtgagtactctatcaaactaactcataagttaactg +cgcttccattaaatttcaatacgttcttgtgctgtgtacaaacctataatcgaataaatg +acacatatggagatgcataataaaaaaaacggctccatatttctcgttaatcgggcattc +ttaaggaggagcatctcaccaaaaataacgttcctgataagtcttaactattagaccgtc +ttcgggaatgaacgaaacctcaagctagcatggtatagttcttgatagcgcgtaaattct +gataatactgggcggacagctggaaattagttgccagtgcacctacgcaaatagtttaca +taaatcaacgggctccgaacgtaaatacaaagggttagttacatcgcaacaagatgaaaa +gcatgtatgtctaccgtcatccgtccctaacaaacataaaggtggtgaagaatctcgtag +gtcaactataactccatccttgaagcaactactccgcgtccgtgtgcgtagttcgcaacg +agaacactactgaaaaaagctaaacaactctcggtacaaatgcggcttgtgtcgataaag +ttggtggtagtgcacggaataacataacaaggaatattatttattcaaattttttgtgac +tgttatttgttttctgcctagaatgtaaggatgtgttttttgtgacctgatagttacgct +tatttcaggtccacggtgcgtgagagtgtgtcctataacggcaggggagcgaagtagtgt +cctttagactattcaaggtagaattttgataacgctctataaaaggtagaaaatcatgat +tgagcaataagaccccaacttatcaaaaaaggagttctcgacagcgcgtgtacagtccct +ataacggctgtatttcctgtgtcacaacaccctcccatcgcactcaaaatgtagatttat +gatcagacgctaacttgttcttagagaaaaatacacgggatactctgtgcaacgatttca +ttaataaggtgcagcttgggacttttttggccgtaggctttattaacattcacagtaggt +agcgagacttcctatgaaccaatcatgccacgcgttttaacgtttcaaatataagctagg +aagcgtttgccaggacttctataatgcaccgttttttttagtacttccttactagcctta +gtttatgttagagtctttccaattacaaaggattgaatagccaaaatttctacaattctc +agcgaacgccagcttaatctaaacacgagcttcaaatattctacatatcggcaggagtca +atatataaatatgaaaatcgtaccatcctcgtacttttagaccaaacgtcttcggataat +taaatcctttttcaattaccacagtacgtgcattagaactactgctatgaaagtaaacct +tgaaatatagtcctcaagagcgtatccaagtacattgcacgtgtatacagtcgtataaac +gagttgatgttctgacgctagagcttaccattcgttaaacagataactaaaatttaatgg +ctgagtgacttagtgttttcgacaaacgtcgcggatgtagactattgtttataagcaatt +tttaaaaacatatgttcaaaacggtatgggatatgtcgaattccacaggggtttatgtac +catagaagtatgtataaggtactaaaggtttaaatctgtgatattcggttcggtgaaaat +cagactagtcacacttagtgtctgtaaattagattgggtgaaggtaagcgatcccgaact +ctacaaggcatgggatgagattctaccgactccggataacactttacgatcgcgcataac +tctagctcttagataagtttaacttgtcgatctcataaacagttcaaaatctgcgattta +ttgtatcaaatccatcctctatcttctataatcatctgaaccgcgatacggcactatgag +ccaagtgaagattgaatccaagaaagctataattggtttattttagtccatttaaattaa +gtccggtataagtgctctgtacaatatgcagtctcatgggcatatacgttaactaccttt +tgatacttcgaattggtaaaatatcgactatcgatttgcagtaaaaggtgtagagtccaa +ttactctttcctgttacatacgatctcttagtttggacaactagcccatgatggcgctcc +tctagcgcatgaacctactttataattacatctttatcgatgaatttttttagactgcgg +aggccttgagttttaacagggctgctaaatttcttaagcgattagacggtagcgtcgtac +gctacttgcttggaacaggcaccgaaaatattgatctactattgcgtcaactctattctg +ctaatagcgatggcaaatcacagaagccctcttagtgacaatagttgtcaactatatcta +agtcgacctttactgtatcaacgatcacggagagaattaccgaatacgaaacctcaggac +taaaaaacggaaaggatttgtcgacggtaaatataatacttgttaagggtagcgacacag +gtatactttgggtgtaaacgtggtgcttcccggaacgattttcagaccagaaaattgttc +cggtaaccaggaaatctcgtctgcgttaattcgtgttagtaaacttgatcttcagactcc +ttcttttcgttgcagcgagacttaaattatatctgcgaaatagtgccccgtgcatacttc +agatggtaggagataccatttggcccattgtgactttacgcgattaattaaccgacatac +atctgttcctgagctatgatcgtctgaataaattacggtctcctcttgatacctaatggt +ttctggagacgtttctcatgttcaaatggatagcaggagatcgcttcatcaagtttagct +acgcagagcatcaaaatatgtatgggaaagtcgatttccaaaccagaagggataaagaga +aataacggacttctccgtagattagcctgatattttgatgggaatcatggcggcacatac +gtaagagttgcgtgaacgaatattttggacggcgggagacacatatcggccattcgttaa +ggtctctatattggacatcacaagcttagcagtatgagctactaacactcaagacattat +tgattttttcaagatatgtttcattcctctaccgctattcccatacgttcgattcgccgg +gtgagcgaaaccacgggactgaggttaagctaatcaataacaactcgttgcgatagagac +ctatgtatactagagagaattccccaacatttttacaaaaacaaagcagactaaaataga +tacagtccctccatacaattaggaccaacatgttattgccgatcctagcacacacaccac +aaactcagaacttctgtcttacctatgaaagggtctgcacttctgattgtacgtgtctaa +ttagcattaatattaaaactaattaggataaactataggtacgagctttactataagtca +ctaggtgttttccgatcgaaaaacgggaccttcaagccttggtaagtacatttaggataa +agaaaaaaaggaaggtacgtgactaatctgtctaaactgacaatagagtagtacctacat +gcttcatgtcaagtcttaatacgcaagcgctctcgttatactgctcaacaaaactcataa +agttggactccatcatttagaatcatagggaccaaaacatttatttgctactgtcacttt +gtaggtgttctattctgaattcctcatattgatacatgaatcggaatacctgtggatccc +ttaggacgcacgtgctttctttacgtcagaatacatattgtcagaatcgagaagttccat +gcaattaagaattcgcctctttgaaaactcatatccccacatatagggtccaccgttatt +cggaaacgatataataattattccagcgttgagcgtcccttaagagcgcattttcgcttg +gcctttcttctacgactctacaacgcaagtggctgtgtggagtttaccacagcgcagcac +cccatagaactacctctgagagcgcgagatggtggcagtatgctctgcagctagcgttta +gaacgcgcccgcgcattaaccagtcatattaaaatggactgtcttaattgtcggcattag +gagcaatattaactgatgagggtatcggtcgcagaagtaatgacggaaatacgcctctag +tccgcagagatacgattacagactcagatcccctaacaagcaaaacgattaaatcggaat +cactccccctatgacatatttgaaatacacaagaaaccacgcaacatgtcccgcattctc +aaccgcgctttataagatgttgagtctgagaattagatgacctaactgcaagaatcatgg +cgagtttatctagtaggcaagtctgtaccctagggttcgaacgctgtgacgtcgtgatcg +gtctaaggacttagatgataaccaagaactggtttaccgagtactttcactattaggagt +aattacatgcgttcaccgcggaatacgacgaaattttttcatatctttatgagcgagatc +gtgtcgtctttgcattgcaacagtcgctaccagtaattgctgatcaattatagattcatt +atacagatgcttacttttctctattcaatactgtcatgagttgtttttaaataagcacca +gaattatgtcgcctagtataatcttgcttccacttgaatcaatgcgatggacagtattct +actgattgcaaagtagtctatttcggcttagcagtacgcatgcctatttttttgcaggca +cagaataatatgcaactaggattctcggcatccaattaacaggctaaaacaccaccgaaa +gacaggtaatctacgaagttgatgtttactacagaaagcgaatgatatcacttggagaac +attttagatgcccccttttaatctagactgagtgtaccaatatatcaccggtctaccgaa +tcagcttgaataaaccactctagtactcatgataaccgagcatacacatgtatttctcaa +tgcactgaaggtgaactgtttacaccataccttgcgaatcaacgtggcgacttatacttc +tgtctttgagtacagcacaccctaatgaatctaagttagttgttgatacgaattgtaatt +tgactggatctcgcctcctcatctagattcttagagaagatgtttcttatagccggtact +gtaactttattgatctggtttatggtaatcaacattttacctctatttaaacgtccttgc +gccgtgcactcaatcctgatcggtttagattcaagcgattatcgagtctggaggccgaga +aaagaaatgcacagagtaagctctctattgcgacatctacgtagaaactcgcatttcaga +tcgagtaagcaactctcattgtgttgattcagtaatacaagattacctacgcttctacga +aatatactatagatttagcctacgtcacctttagtgtcgagtcggagctttgaagatcgg +atgcggtgtggactgtgtataggcaattttgctgcgagctcgtgacttttggttgatgtc +gatatcaatgggatacctcaaacgtctttatctctggataactcacattgagtataccgg +taaaaatttattctattcatctaaatagtcagtgagggctagggtcgcaatcacattagg +ccacatacacatacttaacatgttctattgacccgacccaactttagtagcattgtagcc +gtttatgcaaatatgccaggcgccaaacactagccagagggcattttgttacatttattt +aatcgattattacacagtcggaacacgcctacatgcgttcgacttatttgcgacatggtc +aacaattcagtaatttaatccaaaacctaaagtcagagacatgacactaaaatcacatta +aggtcagttagtgaaggaatggctaaccagctagagaatgcatcattaacaggcacttat +tgtcaaatattttccagatctaagcaacatcacgttaaaaagtacaacaatcacttaaaa +cacatcagtccaggtgtaattagaaagccgcttagtaggcaagcgtaggagtataaatgt +agacaatagtcgggacttagcagacactggatgcagtcatagaagatcttgcataacacg +ttagggttagagctacgaacgcccatcattaactgcctaaagcgtgcgtgagcttagcgc +taacttttccaacacgtttgtgatttcgttcataatgtatcaatttcacagtcatataca +gggagtgtagaaaaatcgcaattaacatacgttgacctatttttgttcagagttcagtta +gagcctaatgattcgagagcaataatcaggacagcctcataggaagtgtcaatcacttag +aagctatattattataaatcgctctttactgtcgtcgaaggaacgagcgagagagaatca +gttgcctgcaactggcttaacaatatgatacataaaaatattttcatcaccactaagacg +gtggaattcagacttattggcaacttaggatgggactattaaataacccataagatgttg +ggataaagttacgaaacgaaagggatatagcctgttagataggaaatccccaataaaaca +tagccggcctccacagcagtgatctattccgccacgcgatatctttataccacgcaatat +accaataataaaggttaaatgtggttgcgatttaaaaaagatacatatcagttgcaccgc +gtagcaaatccgtatgtgaagcgtaacctagaattatagcgtctgcaagttctctaagct +tcctctgcaagatacaatatgactttttagcttttttactaccaaatctcagaatcttag +aaacaggttggtacgtgctactcggaattcccaaagtaccctgctatatatgccattcct +tcattggtccgggctcaccatggggccatcatagtaatagaaggtagtaaaactagttga +tttccgacttttaacaatcactatcctgacccagatatgggttccgactggcccttactc +cagtaagggcagacacacagacaacgagaacttgataactttgaattctcaaatcgatca +ttgcaacgtgacttatttactagcctactcctataattcatacgtcaaatacatttcaac +ggaggaagataataagtaaatattcactaaataatggtcgaaggagtcctttgccaacat +aagtccacatatgcgctatagattttttcttggggttcatattcaataagataaacagca +agagtatcacgtcagcgagtcattgagatcttggctagcattgtgatagcatattctacc +taaatggtagtctagcacagagtggataagatatcagttagatatagacaagtactataa +cagatctcgcttcgttggattgtatggctagctttgatgatatgattttataaaaattga +tccagacctgacctggccaattatattcattttttatgagtaaaaatagataaccatgaa +aatactcaagccccttaggacgtacaaagtggtaacataaatttcaggtgttattctgca +accacacctgttttgggttttcaaaaaggctaagcagattggttttacagataatccctg +aacactggtatctcccaacgatgtcgttcccaacccttgctgaccttttaagctctgctg +aagttttgtaaactaggcggaaaatatgttcgatagatccactcgcctgaggtagaaatt +cgtcttagtaacgcctctttggattacacagaatagtgtactgacacgtacactgctgca +gcagccatacgctaacattaaaattcgttgagtctacatttgttgttattcggattatgt +tattgggaatagtatttttattcccctgcgtgaaaccacatggatagattagcctactcc +taaagactcccttttggtctacggttcaattctcttactgagtttatgttcgtaattata +tcggcgcagtgaatctcctaattatcaccggagttaccagacgccatgaacttatggcca +gaaacattgcatgtggcctacataggattagtatcaagagtttacgtttgcaacgacatt +tgaccaacttgaccattcctgcttgtagaccgcgggaactcccctgcacgcgactataga +agttggtggtggatgtggcttatgccgcaaatatggttttgaaaaaagtaatctattgct +tgatacctgaattgagacatgtataagggctattgccagatgaaaaactgcatataaggt +caaacaatataagaacattatacataggatcttagcgttcctcaggatggtatacgctat +aaagtctagcttcagcagctaaggagttttgccagtgcggacttccgctggaagattagg +tttaaccgccctgacatcttcataaggtcgggcctgattcaaacccctggagtgccgtct +catacttgaattaatcgatggaaaacttcttctagtctaatattattattaacaaatgac +ggttcaataaataacaccgtaagggtgggaaactgttaagtgatgaatcattttaaccta +tcatccattagctacagataatgataccccgatccgactagggggtaagtggttgttccg +ttaggataaaccatgtaaaacgttagagggtttgtagattaattggtattccagataaat +gaggtcagggcgagtgatcaattacactgaaaaattgtcagcttgcgcggtagttgttaa +gacagtataaatgaaggggattcagaagcaagtttctcgattgactgaatttataaacca +gtcgtcaatcatgatttttgtgtcgattaaagcctaaatggtaatttaaaccattgatat +ttatcgagtctataaatatctttggttgtatattacttcacaatcaccaattctaaatga +ttcttccactgtgcgggtggagatatcaggacgggttaaggttgacctacatcgttttga +tacaacaaaaatcaaagcacatggctggggacttctcgatactatctttgagatagtacg +ggcaagagtgggtgacgcctccctacattttcaagtctatcggataacttctcggtaaaa +cgctcgcgatatagttttaaagcattgatttaatccacgcaggagcaagttttaccggtc +gaatgagaaaattcaacgtaagtgtcatatccagtcatggttagccaaaagcatgggtta +tccaaaaggaataaaacagctcttcaacaaagagatgaggcttcataacttcgatgaatg +cgtatggttctgatatatagatcgatgcatgaggacactttattttagccggcgaattaa +tggaatccatacgttacttatttggacatgacttctaggtgtttttgctgtcccgtttag +cgatatttacagattagtatttcgtttctcatagttaattgtatctagatactaactcgt +tgaagacgcataccttgccatttgtacaggacttaactgttccgtgcgtaatttgaattt +cttataggttcttcaaggcacgaatacctcactcatgaccgttcatactctagttaaggt +cgggaatactacgtatgcagggaattgtaacctaggagatttacaactctttaaacaaga +gtcgctgaggtccaggatcaaaacactgaatctcctaacttcgggtgcctccgtaaatca +cctagaaacctactcatacatttgcaattttgagatgtaggcgaaagagagaaatctgct +ttttaacggtatctcttgggattccttttaaaaacacataacgatagtaatgtaccaagt +aaccaaaagctgggatgtgtctgtgtactgatccgccgtgtcagagtagtccgccatgaa +tattgacgtcaaggctagtgtcatcaggtattgatgttcattgtaaatgaaggaatgaac +taatgtcaccaagtaaagggggtgaaaatgctccccagggttctacagacatagagatgg +tcagaacacgacccccctctcaacgcagtgtatttgaaatatatggacatatctacctta +ttctgtaattttagatgtgttctgtgtataccgatattgataagtcaataggcttgatta +cgtatcttaagacaaatctgtttcgcaagtaggaccgcatctttcagattgtttcttttt +atgccataacctgcccaggaattcaaaaggttatcgatacccgatatgctgtgaattatt +attctaatggccactcattcctgcttatatctggaattggcatgaatatcttacaaccta +aagtctggcgttgcgccagttctacttcgtaccggacaccatctccagtcgttaaccgaa +ggtgggtacgtcacataaaagttcattagaccacactttgtgccgacgtatatagatata +ttacacgtatagggaatgttttctcctaggtgacccgaccttctactaaggttgtacatc +gtataatggcccattaactacgaggaaagtggtattgacctggtaatgcacgttcttcga +tatataccgacgaggtaaagtctactattgcaaagtttgacgttatactgataagtttag +atttccctggatcgcgcatgaacaatgtatgcgttatctgccatatataacatgttacaa +atccttggggatactatcgctactatcatcggaccaaaattaaataggctagtgtcttat +cagaacatcatgtttaccgaactgatctattttccaatttaagctgatattacgtccgcg +tatttattttagttccccggatgacgattatctgagctacatcatacaagttagcatact +cgccggtgcattgatttcttatttcgctatatcttcaagttcacaggcttcatatagttc +caattagcagtataattaggttttgtaactttaaccatactttataaaaggttatattgc +acaactgatcaagcatccgctataacccgagctttaccagttagcggctaataacaaata +agatgacttcgtgtcatacgaccgtcatgatcatgctctaacttaggtgggaaccaaatt +taggcaatgggtagtaataagtataaaatgataccacatatactataacaatgaaattat +ttgtaatccggtttgccaacgtatcccccttcgcgataaattaatgacatagggtcatcc +atgtgccaatcgtgtgtgccaaaatctcaaattcaattatcatcaatattggccaagtgt +tataagcgttgaaagtgatataggccgccaaaaagtagtctacttaaaaaccaatattta +tcgttcgttattgctggtagtacaacatcacgagcatttctcttttgagttgatttatac +tatatctgctgatgtgattatgtcccacttacccagaatattaagaaagtcctagattgt +aggtatacttgactataaatataatttaagactatacaaataatctggctacattatgcc +atcgtagaaactgataacgtagtaacgtcggacactagattttggtcggggagtaatcta +gcatactaacgaatttgttaaatccgctgaaagtatatgtcattacctgcttggcctgtc +ttcaatacgtttagactattaaggactcatttcgagatccagtattaattatacgcatcc +atatttatactgaagacggattgagttaggacgacaagctaaacaaatattaagttaagg +attagtattatattgtagaaactcgtcgggttggaacgattcatcatcatagaatgcgtt +acttattcagagagacttaattcggttatgactggcagctcacctggaaagtaggtgaaa +ggcaacagaagaatattgttgactgaattctacgggctacgaacgtaattacaaagcggt +tcgtaaagagcataaagatcaatacaatggatctctacagtattacgtaaataacataca +taaacctggtgttgattcgactagctcatagattaatcattaattgaagctacgaagacg +cggaagtctgcggagtgagcaaacagtaatcgactgataaatgcttataatatcgcgctt +aaatgccgcatggtgtacattaacgtgggggtagtcaaaggaatatatttactaggaata +ttagttatgcaaatgttgtgtcaatgtgatgtgttttatccagacattggatgcatggct +gtgggggcacaggatacttaccattagttcacctacaagcggcgtgagagggtctcagtt +ttagccagcgcagagaagtacgggcctttagacgattaatgctagaattgtcataaacct +cgtgaaaagctagttaataatcatggtgctagaagaacacaacttttctataaaccagtt +ctcgactgacagtcgtaactcactatatcgccgctttgtactgtcgcaaaaaaacctcac +atagaaagaaaaatctactgggtgcatcagtagagatcgtgttctgagagataaatacac +cggatacgatctgcatcgagttcatgtattaggtcaagcttgggactgttgtgccagtag +cattttttaacagtcaaagtagggtgagacacgtcatatcataatatatgccatcgaggt +ttaaagtttatatgataagctagcatgcgttgcaatcgtattcttgaatgctccgtggtt +tgtactaattcctttatagactgagtgtatcgtacactcggtacaattacaaaggatgga +agagcaaataggtcttcaattataacagtaccccaccttaatctaaaaaccagcttcaat +tagtattaatttcgccaggagtatatatataaatatctaaagactaaaagactcgtactt +ttacaacttacgtcgtagcataattaaatcatgggtaaatgtcatcagtaagtgcattag +aaatactcctttgtaaggatacagtgaatgtgtctcagcaagtcagtagaaatggaaatt +catactcgattaaggcctataaaactgttgttggtatctacagagtgattaaaattagtg +aatcagattacgaaaatgttttcccgctcgcacttacgcgtttagacaaaagtacaggtg +gtacaattggctgtagtagaattttggtataaaataggtgataaaccggatgggtgtggg +cgaattcaaaagcggtttttgttccatagaactatgtagttggttataaaggttgtaatc +tcggagattaggttagggcttaatcagaatagtaacaatttctctatgtaaagtacagtg +ggtgatcgtatgagttcacgaactcttaatgccatgcctggacaggataaacaatacgca +tataacttgacgatcgagcttatatcgacctatttgagaagtttaacgggtcgatataat +atacaggtcttaatagccgattttttctagaaaagcaatcctatatcttagttaatcaga +tcaaccccgtgaacgatatatcagcaaactgaacattgtatacaacattcctttttgtcc +gggtggggactccatttaaagtatctcacctagaactcagcggtaatagatgcagtctct +tgcccagttacggtaactaaatgttgatacttagaattgctaaattttagtctagacatt +tccaggtaaaccggtagacgacaatttctctgtcatctgtcataagatcgcttagtgtgc +tcaaattgcaattgagggccctactatagacaatcatcagactttttaattaaatagttt +tccatgaatgtgttgtcaaggcggaccccttcacttttatcacggctcataaatgtcgta +tgactgtagtcggtagcggccttcgagtcttcaggggaaatggaaaagaaattaggcttc +taagatggactataatcgattaggctaattccgttcgcaaatcacagaagcaatcttact +caaaattgttggaatcgatagcgaacgcgaccgtgaatgtttaaaagtgctcgcacagaa +ttacccaatacctatcatcacgacttaaatacccaaagcagttgtagtcgcgtaatagat +taagtctgaagcctagagacaaagggatactgggcggggaaacctgctccttcacggtaa +catggtaacaacagaatttggttaaggttaaaacgaaatatactcggagtgaattactgt +taggtttcgtcatcggatcaataagtagtttccgtgaagacactcttatattagatctcc +gaaattctgacccgtgcattaggcacttggtaggagattccatttggaacttgctcaatg +taagccagtaatgttccgaaataattcgctgcaggagcgaggagccgctgaataaaggac +cctcgcatcttgttaccttatggttgagggtcaccgttctctgcgtcaattccagagctg +gagatacattcatcaacgttacctacgcacagaataaaaagatcgagcgctaactcgttt +tcctaaacacaacggatttagacaaattaccgaatgcgccggagagtagcatcttagtgt +catgcctatcatggcggctcagtacgaagagttcaggcatcgaatattgtggtagcccgc +actcaaagttccgccattaggtaagctatatattgtggtcagaacttgaggacaactatg +agctactaaaaataaacaattttgtcatttgttctagatatgtggcattcatcgaacgct +tgtaccagaagttacattcgcagcgtgagcgaataaacccgaatgagcgtaacattatca +ataacatatagttcagatagagaacgaggtattcgacagagaattacccaacattggtta +ttaatctatgcagaataatttagataatgtcactacataatattaggaccaaaaggtgat +tccccagaagacaaaacaataaacaatctcacatattcgctagtacctatgtatgggtat +gatcttctgattggacggggataatttccaggtatattaaaacttattaccataatctag +acctaagagaggttatataagtaaagagctgtgttccgatagaaaaacccgaccttaaag +acttgcgaagtaaattttgctttaacaaaaaaacctacgtaagggaatattctgtataaa +ctgaaaagtcaggtgtaactacatgagtcatgtcttcgattaattacaatgcgatctcgt +tattctgatcaactaatatcataaactgccactacatcttgtacaatcattcgcaacaat +acttttatgtgctaaggtcacgtgcttcctctgctatgctgatttaatcagattcataaa +ggaatacgaataactctggatccattaccacgcaagggatttatttacggctgattactt +tttggctgttgacagaactgccatgaaagtaagatgtcgcatcttgcataaataatagca +cctaatatagccgacaaagtgattccgataacagattttaagttgtccagccttgagact +ccatgaagaccgcttgggagcttccccgtgattagaagaatctaaatcccaagtggatgg +ggggagtttaaatctcagcaccaacaaatagtacttcctctcagagcgcgtcatggtcga +aggagcctatcctgatagaggtttgaaagcgcacgcgcatttaactgtcatattaaattg +gaatctcgtaagtgtcggcagtacgacaaattttaactgatgtcggtatacggagaagaa +ggaagcacgcattgaagcagctacgcagaactgagaagatgacactctaagatacaatta +atacaaaaacgttttaagcccaatctatcaacagatgtaagatgtctaatacacaagaat +aaaaccttcatgtcccgatgtataataacagctttatttctgctggtcgaggtgaagtag +tggaaattactccatcttgctgcgcgtctttatagtgttggctactctgtaaccgacgcg +tccatccctctctcctagtgatccgtatatccaattagaggataaccaacatctgcgtta +ccgacgaatttaaatttttcgactatttaattccgttcaaacccgtattcgtagtaagtg +tttcatagatttatgaccgacatcgtgtacgagttgcagtgcatatgtagataccactaa +ttgctgatctaggatacatgctttataaacatgcttacttggctattttatttactgtca +tgtgggggtttttattttcaacaagtatgtgctaccattggataatctggcttcaaattg +aagatatgcgttccaaacttgtctactgtttgctaagtaggagttgtcccattagaacta +cgcagcacgtggtttgtgatcgaaaagaataattggcaaatacgaggctagccttcaaat +ttaatgcagattactcctcagaaacacacgtaagcgacgaacgtgatgtttactacacaa +tgcgtatcatagaaattcgtgataatttttgttccaacctttgaatctagactgagtgga +aaaagatttcaccgggataccgtttatgctggttttaaaaactcgtcgaatcatcttata +actgcattcaaatggatttctcaatcatctgtacgtcaactgttttaacaataacgtcag +aataaaccggcacaatgagacggcggtctttcactacaccacacccttaggattataagt +gacgtgtggattcgaattctaaggtgacgggatctacaagcctcagctacattaggtctg +aagatctttcgtatagccgcgtatgttactgtttggatatgggttatgctaatcaacagt +tgacagcgagtgaaacggccttgcgacctgaaatctttacggttaccttttgattcaaga +caggatcgacgatggaccacgtgaaatgaattcaaaactgtaacatcgcttgtgcctcag +cgaccgagtaacgacaagttcacatcctctatgcaactatcattgtggtcattaaggtat +tcaagattaactaagagtcgaccatatattctagagttttacaattaggaaccgttagtc +tagactaggagcgtgcaacatcgcaggaggtgtggactgtcttgacccaagttgcctgac +acatagtgtcttttgcttcatgtccttagcaatgcgatacctcaatcgtagttttatcgg +gataaataacatggtgtttaaccctattaatggtttctattaatctaaattgtaaggcag +cccttgggtcgaaagcacattaggccacatacacagtatgaaattgttcgagtgtccaga +ccataattgactaccatggtacacggtgttgctattatgactcccgcaaaactcttgaca +gagggaattttggtacattgatgtaatcgatgatttaacagtaggaactagacgtcatcc +gttagactgagttccgacatgctcaaattgtcaggatttttatccaataactaatggctc +tcacatgtaaataaaatcacattaacgtcacttagtgatggattcgctaaacagatagac +tatcattcatgaactggcactgtttcgattatatttgcaacatcgaacatacttaaagtt +aaatacgacatcattcaattaaaaaaattcagtacacctctaatgagtatcccgctttgg +aggaaagagtagcactttaaatggacaatttaggccggactttcctgtaaatggatgaag +tcattgtacagcttgaataaatcgttagggttagtccttacatccaccatatgttaatga +ataaagcctgagggaccttagagctaacttgtccaacacgttgctcatttacttaataag +gttgaaatgtatcagtaagtgacagcgagtgtagattttgaccatttaactgaccttcac +agttttgtcttcagacgtcacttacaccataatgatgacagagcttgtagatgcacacac +tcattcctagtgtaaatcaagtagtagctagattattataaagagatattttctggcgtc +gaacgtaacacagagagagtataaggggcatgataatggcttatcaatatgtgtaagaaa +aagtttttaatatcatctaactcggtggaatgcacacttatggccaactgaccttgggac +gagttaagataccataagaggttgcctgtaagttaagataacaaagggatattccatctt +tgtgtgctaagaacctatttatatttgcagccataaaaacctctgtgctatgcagccacc +agagttatttatacaaagaaagagaccatttagatacgttaattctgcttgcgatttatt +aaacagacatttcacgtccaaccactacaaaagccctatcgcaagacgatcattgtatta +tagcctatgcaacgtagctaagcggccgaggaatcataaaatatgaattgttacattgtt +tactacatatgatcacaatctttgtaaaaggttcgttcgtgatactaccatgtacctaac +taacctgagatatatgcaatgacttatggggtcagcgcgcaacatccgcaaagcatagta +atacaaggtaggaaaacttctggatttcccaaggttataatgctctatactgaccaagag +atccgttacgactcgcaatgaatactctaagggcactcacaaagaaaaccactaattgat +aaatttcaatgataatatcctgaattgcatcgtgtatgagttacgagaagtcgcatttaa +tgaattagtcatagaaatgtcatagcaggaacataattactatattttaacgatttaatc +gtagttggagtcctttcccaaattatgtcatcagttccgatttagatgttttcgggccct +tcttagtaaagaagttaatatccaagactagctcctcacccacgcatgcacatattcgcg +agaagtctgatagaatattcgacagaaatgcgactctagctcacactcgttaactgatca +ggtacttatagacaagtacgttatcagatatcgcttcggggcattgttgcgctacctttg +tgcatagcagttttgaaaaattgttcaagacctgaacgggaaaatgatattattttttta +ggaggaataatacagtaccatgtaaatactcaaccaccttacgtacttcttacgccgaac +atatatggcacgtgttattcggctaacaaaactgttgtgccttttctataaggataagca +gattcgttttaaacatatgacctgtaaactgggatctacaaaagaggtacttaaaataaa +ttgcgcaacggtttagatctgcggatctttggttaaagagcaccattagatgtgccatac +ttcctatcgcctgagcgagaatttagtctgaggaaccactcttgggatttaaaacaattc +ggttaggacacctactcggcggatgaagcaatacgataacattaaaagtcgttcagtcta +attttggtcgtagtacgatgagctgatggccaattgtatttttattaacagcactgaaac +aaaatggagactttagactaatactaaagtctcaatgttcgtcgaaccttaaatgctcgg +aatgaggggatcttcggaagtatagcgccgaagtgtatctcattattataacaccagtgt +acagacgacatctaattatggccagaaactgtcattgtgccattaagaggattagtagat +agtctggaccgtggaatagaattttgaccaaattgaccagtcctgcttgtagacagcgcg +atctaaactgcacgagaatatacaagttggtggtgcttgtggctgagcacgctaagatgc +gtttgtttttacgattctagtgcttcttaacgcaattcagtcttctagatccgctattcc +aacatcaatatctcaatttaaggtcaatatatataacaaaattagacagagcagctgaca +cttacgaagcatcgtagaaccgatatagtcgaccttatgatgatatggacgtgtccaagt +ccgcacttccgatgcatcttgacggtgaaccgaaatgaaatcttcattagggcccccatg +tgtcaaaccactcgagtcccgtctctgaagtcaagtattactgcgaaaaattcgtctact +attagtttattatgaacttatgacgcttaaataaattaaacagtaagcctgggaaaatgt +taaggcaggaatctttgtaacagttcataatgttgctaaagattatcagaccccgtgaag +acttcgggctttgggcttcgtaccgtagcataatacatctatatagttagaggcttgcgt +gttgttgtgctattccacatatagcagctctgggcgactcttcaatgaaaatgaaaaatg +gtaacctggcgacctacttgttaagtcagtttaattcaaggggattaagtaccaagggtc +gagtttctctgtatttattatactgtaggcaagaagcttttttggcgagatttaagactt +aagcctatggtaaaaatttgatagtgagcgactatagtaagagatttgggtggttagtaa +ttaaaattctcctatgctaaatcaggcgtacaatctgagggtgcacatttctcgacgcgt +gaaccttcaccgaaagcgtgtggattatacaaatttcaaacatattggcggggcacttat +ccataatagatttctgtttgtacgccaaactctgcctcacccctccataaattgtattgg +ctagaggttaaattctccgtaaatagagacacatatagttttatacaattgtttgaatca +aagcacgagaaacttttaaccgtacattgacaaatgtcttcggatggggcagagcatctc +ttcgtgacccaaatcaatcgctgagcaataagcaagaaaacacagattatacaaagagat +ctggatgaagatattcgtgcaatcactatcgttatgttagagagttccatgcatgaggac +tcgttttttgaccaggagaattaagccaagaaataactgacgtatttccaaatgaattct +acgtgtttttcctgtcacctttagccagtgttaaagatgactatggagtttcgaataggt +tattctatagacattataacgagtggaacacccataccttcacagtgctaaaggtaggaa +cgggtacgtcaggtagttcaagggattttaggttcttaatccaacgaagaaataacgcat +cacccgtcattctattgttttcgtcgggattacttagtaggcagggtattctaacctacc +tgagttacaaatctttaaaaaactggccatgaggtcatggtgataaaatctgaatcgcct +aaattcgcgtccctaaggaaatatactagaatccgtctcagaaagtgcaaaggttgactt +cttcccctaacacagaattctcagttttatagctatctagtggcattcctttttataaaa +ctttacgtttgtaagggtccaactttacaaaagctcggatgtgtatgtgtaatcttccgc +cgtgtaagacttggaacccatgtatattgacggcatggcgtggctaagcaggtattgatc +ttcagtgtaaagcaaggtatgttctaatctaacaatgtaaagccggggattagccgccaa +aggggtctaatgacatagagatgctctgaaatcgtaccaactataaaagcacgggatttg +aaatatagcgacagatcttccgtattctgttagttgacatctgtgctgtctttaccgatt +gtgatttggctttagcagtcatttagtttcgttactcattgctcgtgcgatagttccacc +gaatatggcacattcgttctttttttccattttactgcaaaccttttcaaaagctgatcg +ataccactgatgatggcattgattagtcgattggcaactatgtcctgcttatatctccaa +ttgcattgaatatagtaaaaaataaaggctcgccttcccaatgggctacggagtacacga +aaaaatcgcaactcgtttaaccaagcgccgtacctaacatataagtgattgagacaaata +gttctccagacgtattgagatatatgtctcctataggcaagcgtttctaattgctgacca +gaaattagaattaggttgttaatactatattcgaccattttattccacgaatgtgctatt +ctactggtattgctccgtatgcgatatataaccaacacggaaagtcgtcgattgcaaagt +ggctccgtagaatcatttctggtcatttaccgggagcgcgcttgaacaatggatgcggta +tctgccatattgttattgttaaaaagacttccgcttactatcgcttcgatcatcggaaaa +atattaatgaggattgggtcgtataagaaaatcatcttttcagttcgcagatttttgcca +atttaaccggttatttcgtcagacttggtagtgtagttacaagcatcacgattatatcag +ctacagaattaaactgtcctgactcgacggggcagtgtgtgagtattgcgctatatattc +aaggtaacaggaggcatataggtcatagtacaaggataatgaggtttgctaactttaaaa +attattgatttaacggttgattgaaaatctctgcaagatgacgctagaacacctgatgtt +caagtttgccgataataacatataagatgaattactgtctttagaccctcatgttaatcc +gctaacttagggcggaaacaatgttaggctatgcggagtaagtactatattatgatacca +catagaatttaacattcatatgatgtctaatacccgttcccaaccttgcaaccgtcccga +ttaattaagcaattacggtcatcaatgggccaatcctgtctcaaaaattatcatattcaa +ggttcagctattttggcaatgggtgagtaccgttcttagtgatttacgaacccataatct +aggcgacttaatatacaagatttagagttacgttttccgggtagtacatattaacgacca +tggatcgggtgaggtgttgtattagttatctgatcttgtcagtagctcccaatgtcccag +aatattatgtttctactagagtgttcgtatactggaatttaaatattatgtaagactaga +caaattttatggatacattaggccatcgtagaatatgatatagttgtaacgtccctctat +agattttcggagggcaggtatattgcttaataaagatgttcggaaatcagcggaaaggat +ttgtaattaactgatgcgcagcgcttaaataagtttagactattaagctatatgttcgac +agcatgtagttttttttaccagaaagtgttatactgatgacccatggaggtagctcctca +tgataaaaatattgttacttaagcattactattatagtgttcaaactagtaccgttgcat +actttaagaatcagacatggcgtttcttatgcagacacacttttttagctgttgacgccc +acctcacatccatagtaggtcaatcgcataagaacaatattctggactgttttattaccc +agaagaaagttttttctttccggttcgttaagacaataaagatcatttcattcgttctct +taacgatgaactaaagtacttaaagtatccgcctcttgtttcgactagcgcatagtgtaa +taattaaggcaagataagaagaacaggaacgcgcacgtcggagataactctaatagtctc +tttattccgtttaatatagcccgtaattgcaccatgcgctacagtaacggccgccttcgc +aaacctatttatgtaattccaagtttaggtatgcaatggttggggcaatgtgaggggttt +tatcaagactttcgttgcttcgcggggggcgcaaagcagactttacagtagttaaccgaa +aaccgcagggagtcgctctaagtgttaccaacccctcactactacgcgaaggtactcgat +tattccttgaatgggctgaaacatcgtgattagcgtcttatgattcaggctgatagaaga +aaacttattttctatattccacgtatacaatcacactcgtaactaaatagttcccagcgt +tgtaatgtcgctataataaataaaatacaaagaaaattcgtctgggtgcataagtacagt +tagtcgtctgtcacataaataatccgcagtcgatctcattacaggtattgttgttggtca +accttcgcaaggtggtccaagtagcattgttgaacagtaaaactaccgtcacacaaggaa +tatcataatagatgccatacacggttttacttgatatgtttacagtccttgagttgcaat +cgtagtattgtttcatccggggtgtgtacgaagtaatttagacaaggtgtgtagcggtca +ctaggtaaaatgacttaggatggatgagcatttaggtattctatgataacactaaccatc +atgtttctaaaatcctcaggaaatttgtattattttaccaacctgtatttatagaaagtg +cttttgacttaaagaagccgaagtgttcaaattaaggagtacctgattgaaagaatgggg +aattgtaatctgtaactcaattacaaataagccgttctaaggattaaggctttgtgtcta +agcaactcacgtgaattcgaaattcatactcgattaacgactttaatactcttctgcgta +tctacagactcatttaaattacggaatatgttttcgtttttggtttccagctcgcacgta +cgcgtttacaaataaggacacctggtacaattggctggagtacaatgttggtttttattt +gctgattatcccgatccctgtgggcgttggcataaccgggttttcttcaagactactttc +gtgttgcttatatacctggtaatatcggtgagtagcttagggcttaatcacaatactaac +aagttctctatggattggacagggcggcatccgttgactgaacgatctattaatccattc +cctgcactggataaacaagacccatttaaattgaccatagagatgttagcgtcatatttc +tgttcgtgatagggtacatatattataaacggattatgagcagtggttttctagaaaagc +attcatagttaggagtgtatcagatcataccactgaaccatagagcacaattctctactg +gctatacttcattcctttttgtccgggtggggacgaaatttaaaggttctaacctagaac +gcagagcgaattgatcaaggcgctggccaagtgaacggttctaaatgttcttaatgagaa +ttgcgtattttgactattgacagggcatcgtaaaccgctactcgacttggtatctgtaat +ctgtatgtagatagagtacgggcctataattcaaattcagccaccgaagattcacaatct +tcagacgtttgaaggaaagaggtttactggtatgtggtgtcaagccccacccattctctg +ttatatccgagcattaatgtagtttcactgtactacggtcacgccgtagagtcggcaggg +caaatccaaaacaatttaggctgagaagtggcactataatagtttagcctaagtcccttc +gctaataactcaacaaagatgacgcaaaagtcggcgaatagattgcgttcgcgtaagggt +atcttgaatactgatagctctcatggtaccaagaactttcataacctctttatttaccaa +acctgttctactagcgttagtgttttagtctgtagccgacacaaaaaccgagaatggccg +gcgtaaccggcgcctgcaagctaacatgggatcaaaactattggcttaacgtttaatcga +atgagactagcactgtattactctttcgtttcggcagcggatcaataaggaggtgacggc +atcactctcttatagtagatatcacttattctcacaacggaagtaggatcttccgtcctc +attaaatttgcaactggctcaatgtaacactgtaatgttaacaaagtatgagctgaaggt +cagagcagacgatgtagtaaggtccctcgaagctgcttacagtatccttgaggctcaacg +ggctatgcggaaattccagacctcgagttacattatgaaacgtgtcattccatctcatta +aatagttcgtgccctatcgccttgtaatataaacaaccgtttttgtctattttcccaagg +agaaggagagtagcagcttagtggcttgcctatatggccccctaagtacgtactcggcac +gcttagaagattgggctaccccgcactatatgttcccaaagtaggtaacctagatagtgt +cgtatgaaattcaggtcatcgatgagagtataaaaatatacaattttggcaggggttata +cattgcgggcatgaagagtaacattggacatgaacggacattcgaaccctgtgagtttaa +taccctatctccggatcattataaagtaaatatacgtcacttactctacgtgcgtttaga +cagtctttgaaactaaattggttatttttctttcatctagatttgtctgtatctaactaa +attatagttccacataaagctgattcaactgaagacataaatataaactttctaacatag +tagcgaggaaagagctatgcctagcatcggatcatgcgtccgcgagtagttcctggtaga +gttaaaagtttttccagaatctagaccgaacacagggtagtgaacgaaagtgcgcggtga +acatacataataccgaacgtaaacaattccgttcgtattgttgctgtatctatatttcct +acgtaaggctatttgatctataatatgaaaagtcacgtcgaaataaatcaggaagcgctt +cgagtatgtacattcagatctccttagtatcatcaaattatagattttacggccacgaat +tattggtctagatgtcccaaaaataatttgatgtcagtagcgatcgtgcttcctcggagt +tgaggttggaagaagagtcattatgctataccaagaactctccatccagtacctagaaag +gcaggtatgtaccgctcattaattttgcgatcttgacagatctgcatgcaaagtaacttg +taccagatggcttttataatagaaactaagtttcccgaataacggtgtacgataacagat +ttttaggtgtacagacgtctgactcaatgaacacacattgggacctgccccgggaggagt +agtagataattaccttctccagcgcgggtcttttaatatcacaacataaaaatactaatt +aatatcacacaccctcatcctcgatggagcctagcatcatacacgtttgatagacaacgc +caattttactgtaatatgatattcgaatctagtatgtggacgctgtaccacattgtttaa +aggagctccctttaccgacatgaacgaagcaagctttgtacaagatacgaagaactcagt +actggtaactataagagacaatttatacataaaagtgttaagaccattatataaaaagag +gtatgaggtctttgtaactacaataatacattcatcgaacgatggagaataacagagtta +tttctgctgctcgagctctagttctgctaatttctcaatcttgatgccactcgtttgagt +cttccattcgctcttaacgacgcgtacatccctctctcctactcttacctatatcctatt +actggttaacctacatctccgggaaagacgtaggtaaagtggtccacgattgtattcact +tataacacctagtagtactatgtgttgctgagagtgaggacacacttactctacgagttc +aagtccatatggacattacactttttcagcatctaggtgtcatgatgtattaacagccgt +taggggctatttgattttatcgattgtcggcgtgtgtattttcaacaactaggtgctaca +attcgtgaataggcatgaaaattcaagattgcagttcctatcttgtataatctttccttt +ggacgagttgtaccatttcaactaacctgcaagtggggggtcatccatatgaagatttgc +caaatacctggagaccctgaaaagtttatccagattaataataacaaacaaacctaagcg +aagaacgtcagctttaataaactatcactatcatagaaattcctgttaattgttcttcca +aacgttgaatagactatcacgggtaatagattgaacacggagaacgtttatccggcttgt +aaaatatcgtcgaatctgctgataactcaattatattcgatggagaattcatatctaccg +cttagcttttaaaaattaagtcagattattccgccacaatgagaaggcgcgagtgcacta +atcaaatcacttaggattattacggacgtctgcattacaatgctttggggtagggttata +caagcatatgattctttaggtctcttgatcgggcgtttaccaccgtagcttaatgttggc +atatccgtgatcctaatattctgttgtcagcgtgtgtataggaatgcacaacgcaaatct +ttaagctgacctgttcatgaaagacaggagacacgaggcaccacctcaattctatgcaaa +actctaacatagcgtggcactatgagtacgtgtaacgacaaggtctcatactcgatccta +agataattctcgtctggaaggttttaatctttaactaagagtagaacttagtttattgac +ttttacaattaggatacggttcgcgactctaccacagggcatcatacctggagctctgct +atctcgtgaccaaagtggcagcacacatagggtcgggtcctgcatctactgagcaatccc +tttaagcattcctagtttgagagccatttagatattgctgtttaaaccgattaatggttt +ctattattataaagtgtaacgctcccattcgggacattgaaaattagcaataagacaatg +tatgatattcggcgagtctcaacaacattatggtctaccatgggacaaggggttgatatg +atgaatccacaaaaaatagtcaaacacccatggttcgttaagtgagggtatccaggtgtt +ataaggacgatctagaagtattcaggtacacggtgttcagacatgctctaattgtcaggt +tgtttataatttaacgtatcgctctctattctaaataatataaaattaaccgctcgtagg +gatgctttccagtaaaagatacactatcattaaggttatgcaaatgtggcgatttgattt +gaatcttagtacattcttaaacttaaatacgtattatttaaagtaaatatattatctaaa +ccgcttttgtctatccacatttcgtcgaatcacgacctcgttaatgcgacaatttacgac +cctctttcatctaaagcgatcatctatttcttctgattgatgtaatactgacccttactc +cgtacatacaaatgatggtaagcaagaatgactgacgctcctgtcacctttcgtggcaat +caactggcgctggtactgaagtagcttgaaagggatatggatgtgtatgccaggcttcat +tttgacaatttttctgtcctgctcagtgttgtctgaagtcgtatcgtacacaataatgat +gactctcattgtagatccaatcacgctttcctacgctaatgaaagttctagatagtgtag +gtgttagacagaggttagcgcctacatccttacacacacagtgttgaacggcaagcataa +tcgagtatcaatagctgtatgtatttgtttggaatatcatatttctcccgcctttgaaca +atgatgccaaaatgtcctgccctagagttatgataaaataactgctgccctgtaacttaa +gtttacaaaccgatattcaatcgttgtgtcctatgaaaatatttatatttgcaccaagaa +aatcatctgtgcgatgaacaaaacacagtgatttataaatacaaagagtacatttagtta +ccggattgcggcttgacatttattttacagaattttatcggcaaaacacttcatatgaac +tatcgcttcacgataagtctatgatagactagcattcgtagagaacaggaagagcaatca +ttatatatgaagtgttacagtgggtactacatatgagatcattaggtctatatccggcct +tcctcataagaccttggaaatatcttacatcagagatatcaaaggaagtatgggcgaacc +cagaaaaagccccaaagaatagtaattcatcggacgtaatagtctggttttaactagggg +ttattgatatttaagctaaaagagttccctgaacactcgaaatgtataatctatcccaac +taaaaaagtatacctctaattcagaaatgtcattgagattagactgatgtcaatacgcta +ggaggtaagacaagtagaagtttttgatttaggaattgaaatgtaatacctccatcttaa +gttctatattttaaagttttatgcggacttcgagtaagtgcacaaatgatggcataagtg +cccagttacatgtttgcggccccgtatgagtaatgatctgtttatcaatctctagctact +atcccacgaatgcactgatgccagtcatggcgcttacattagtcgacagaaatccgacga +tacctatcacgcgtgaactgttctggttcttattcaattcgaagtgatctcagatacatt +acggccatgcttgcccttcatgtctgctgagcagttttgttataggctgaatctcctcta +agcgaaattgataggatttttggtggtcgatttagtctgtacctgcttattaagattcaa +aatgacctacttcttacgccgaaatgatagggatcggctgaggaggataaatatacgctg +gtgcctggtatttatccagaacaagttgcctgtgtatcagatgaactctaatctccgaga +taaaaaacaggtacgtaaaataaaggccgcaaagggttacatctcaggatcgtggcgtat +agtccaccattagttctgacttacttaatatagactgaccgagattgtagtatgtggatc +caagcttgccatgtaaaacatgtcggttagcaaaacgtataggagcatgatcaaagaaga +gttaattaatagtactgcactataattgtcggcggagtaccatgagctgttgcccaattc +gatgtttattaacagcacgcataaaaaatccagacttttcaattagaattaactataaat +ggtccgcgaaccttaaatgatcggaaggacgggatctgccgttgtatagaccccaactct +atctaatttttataacacctctgtaatcaacaaatcttattatgccatcattatgtcatt +cgccaagtaagtccagttcgagattctctggaccgtgcaatagtattgtcaaattatggt +aatggaatccttcttctaacacccttagaaaagccacgagaattgacaagttgggcgtgc +ttgtccaggagcaacataagtgccgtttctttttacgatgatagggattcttaaagcttt +tctctattctagatcccagttgccatcatcaatatctcaattgatgctcattatatagtt +cttatttagtatgtccagatgtcactgaagatcctgcctagaaccgatattctcgacagg +atcatcagttcgacggggcaaacgcacctatgcacatccatcttgaccgtgaaacgaaag +gaaagagtcagtaccgacccaatgtggaaaaaaactcctgtccacgatatgtaggcaagt +tttactgcctttaattagtagtcgattagtgtagtttgatattatctaccttatagaatg +taaacagtaacccggccttaatggtttggcaggattctttgtaaaagttaataatgttca +taaactttatcagaaaacctgaagtagtccgcctttcgcctgcgtaacgttgcagattaa +ttcgttttacggagtggcttgcgtcttgttgtccgagtacacatattgctcctctccccc +actcttctaggaaaatcaattatgctaacctgcagaccttcttctttactatctttaatg +catgcccagtatgttcatagggtagacttgctatctattttgtataatctacgaatgatg +cttggggcgcgacttttaacaattaagccgttgggtataatttgagagggtgccacgata +gtaagagatttccggcgtgagtaaggaaaatgataataggattaagcaggcgtaatagct +caccctcctcagttctccaaccctgaaccggctaagtatgactgtgcagtattaattttg +aatacatattgcagcccctaggatacattatagatgtctctttcttacccaaactcgccc +gcaccaagaaagaatgtggattcgattgaggttaaattagccggaattacagacacagat +tcttgtttacaattgtgggaagaaaaccacctcaaacgttgaaacctacattcacaaatg +gattacgttggggatgagaatcgattccggtcaaaaatcatgcccggagcaataaccaag +aattcacagaggattaatacacttctccatgaagataggactgcttgcactatccttatc +tttgtgtcttccttcaagcaccaatcgtttggggacaaccacaattatgccaagaaataa +cggaaggtgttccaaatctatgagtccgcggtttcatcgcaacgtttcactgtgggtatc +atgactttggactttagatttgggtattctagagactgtagaaagactgcaacaacaaga +cattcacagggcgaaacctaggaaaggggaccgcacgttgtgctagggatgtttccttag +gaatccatacatgtaagaaagaatcaaccgtaattatagtgttttcggccccttgaatta +cgtgcatgcctttgctaaaagacctctgggaaatagattgaatattctggacagcagcga +atcctgattatatctcaagcgaatatatgacccgcaagaaggatttatactagaataagt +ctaagaaagggcattgggtcacttcttccactaacacacttttatcagttttataccttg +agagtcccatgcatttttatatatatttaactttcgttgcgtaaaactttaaatatgatc +cgtgctctatctctaatctgaacaacggtatcacgtcgaacaaatctagtggctacgaat +cgcgtcgctaagaacggtttcttctgctggcgttagctacgtatcttctatgctaaaaat +gtatagccccgcattagcagcaaaaccgggagaatcaaatacacatccgatgaaatcgta +acaaagataaaacaacgcgatttctatgtttgccaaagtgattaagttgtatcgtagggg +tcagcgctgatgtcttttcagtttgggttttggatttaccagtcttttagtttcggtact +atttgatcgggacattcgtccaaacatgatggctcattcgttctttttttcaattttaat +caaaaccttgtatttacctgatacattaaactgagcatcgcatggaggtggagattccca +tatatgtaatcatttgatatcctattccattctttttagttataaataaacgctccactg +cacaatgggagtaggacttcaccaataattagcatctactgtaaacaagcgccgtaacga +aatgattactgattgagaaaaataggtctcaacaacttttgacagatatgtatccgatac +ccaagcgttgctaattgcgcaaaagtaagtagaattacggtcgtattacttgttgccaaa +tggttattactccaatgggctattctaatccgatggatacgtaggagagagtgtacctac +accgaaactcgtagtgggcttagtggctacgtagaagctgttcgggtcagttacagcgtg +cgaccttgtaaaatcgatcacggtgatgaattattgttattgtttaaaagaagtcccctg +aatagcccttagataatacgaaaatttgttatgtccagtcgctcgtatatcaaaagattc +ggttaagttcgcagagttttgccaagtttacaggtgatttactaacacttgggagggtac +gtacaaccatcacctggttagcagagaatgaattatacggtcatgtcgcgaagggcaagt +gtgtgagtattgaccgagttattaaacgtaaatgcaggcatttacgtcataggacatcga +gtttgtcctttgcgaaatgttaaatttatggttttttccgttgagtgataatagctgcaa +catgaagatagtaaaactgaggttaaactttcaccatattaaattatatgttcaattacg +cgatgtacaaactaatgttaatcagatttaggagcgcgcttaatatgggtccctatcccg +actttgtacgagattttgataaaaaatagtattgtaaattcatttgatggcgtagaaccg +ggcaaaaccttgaaaaaggacacatttaggatgctatttccctaagaaagcggaaaatcc +tggctcaatatttataatagtaatggttaagattgtggcccaatcgctgagtacccgtct +tacgctttttccaacacataatcgacgagaatgtatttaaatgtttgagacttacgtttt +ccgcgtacttattattaaagtcattggagagggtgtcgtctgggtgtagttttctcatct +gctcaggagctaaaaatgtaaatctattggttgtttctaattctgtcgtccgtgtaggct +atttaatttttatggtacacttgaatatgtttagccataatgtagccaatactacaatat +cagatacttgtatacgacctatagacttttgccgaccgctcgtagagtgatttagaaaga +tgttcggatagcacagcaatcgtttgcgaatgtaagcatgcgaagcgagtatttaactgt +tgactattttgctatatgttactctgaatgttgttttttttaccagaatgtgttataatg +atcaaccatgcacgttcctactaatcatataaattttgttacgtaagcttttctatgata +gtggtctaaagactacccttgcatactttaagattaagacatgcactttaggaggaactc +acacgttttgagctgttctagcccacctataagccattcgtccgcaatcccataactaca +atagtcggcaatcttttattacccagaactaacgtttttatttcccggtacgtatcacat +taatcttaatttaatgcgtgagagtaacgatgaacgaaagttatttatgtttaagccgct +tcttgagaatacagattactgttagaatgaaggcatcataactagaacaccaacgcgcac +ctcgcacattactctaatagtagctttattcagtttaatatagacagtatttgaaccagg +cgctaatgttaaggcccccttcgaaaaccttgttatgttattccatgtggtcggaggatt +tgcggggcgatagcgctgggcggggatcaacaatttcgttcatgcgagcgcccccataac +cagtaggtacagttcggaaaagaaaaccccacgcactcgctagaagtgttacaatcacat +cacttcgtaccgaagggactactgtattccgtcttggggatgtaacagactgattacagt +cttatgatgaagcctcattcatctaaaattagttgatttattccacggatactatcacac +tcctatagaaagagttaccaccgtgggaagctagatataataaataaaagacatacaata +ttagtatggctcatgatctacacttactcggatctctctttttttataaccagtagatcg +cattacacgtattgttgttccgcatcaggccctaggggctcaaacttccatggtggataa +ctaaaacgtccgtcactaaacgaagatattaatagatgaaatacacgggtttacttgatt +tctgttcagtcattcacgggaaatcctaggagtctttcataacggcggtcttagtaggaa +tgtagtcaagctctgtagaggtctcgacggaattggtatttcctggcatcacaatttacc +tagtattggagatcacttaaaataatgttgagataataatcaggatatttctagtatgtg +acaaacctctatttagtgattgtgattttcaattaaacaagacgtaggggtcaaattaac +gactacatgttggaaagaaggccgaattgtaatatctaactcatgtactaagaagaagtg +ctttcgtttaaggctttctgtctaacattctaacgtcaattcctatgtaatactactgta +accaagttattactcggctgcgtagataaagtctcatgtaaatgacggtttatctgttac +ttttgggtttcaacctagctaggacgccggtactaattacgacacctgcgtatagtgcag +ggtgttcaatgtgcctttttatgtccggattataaccatccctctcccacttggaatatc +accgggttcttaatgacttagttcgtcttccttattttccgggtaagatcgctgtggacc +ggacccattttgatctagtctaaaaaggtatatagcgtttcgtctggcccgcttacgttc +actgaaacttagattaatcaatgcactgcactggattaacaagaacatgttatagtgtac +tgacacatgttagactaagaggtctgttcgggttagccgacttatatgtttaaccgattt +tgacaactgggttgagagataacaatgaagagtgaggactgtagaagatcttaaaactgt +accatagtgctcaattcgctaatggcttgaattatttaattgttctaaccctggcgtcga +atttttttggttcgaaaatacttagcacagcgtattgttcaacgagatgcacaactgtac +cgttagaaagcggcttaatgacaaggcagtattgtgactattgacagggaatcctaaaaa +gctactcgaattggtatatggaagaggtatgtactgagaggtcgcgcctattagtcaaat +tctgccaaagaagagtcaaaagcttaactagtttgatggtatgaggtttaatgctaggtg +gtctataccaccaaaaagtatatgggatatcccagaatttatcgactttcaatcgtctac +cgtcacgacgtacactaggcagccctaatccaaaacttttgaggatgagtactgccacta +ttatactgtaccatttgtaacttacattttatatcttcaaagaggtagatattgtcggcc +attactgtcacttacactaagggtagcttgattactgatacctctcatggtaaaaagtaa +tttaagaacctatttttttacataacctctgctactaccgttagtgttttagtcggttca +agtcacaaaatccctgtagcgcacccctataagcagaaggaaaccttaatgcggataaaa +acttttgccggaaccgttaatcctatgagaataccactcttggaatcggtcctttaggct +gaggatatagaacgaggggaacgcatcaatctaggttaggtgagagaactttgtatcaaa +acgcaagtaccatatgccgtcctcagtaaattgccaaatgcagaaatcttacactctttt +cttaactaagtatgagagcaacctcactcctgaacagcttgttacctaacgagaagaggc +tttaagtagcctggagcctcaaccggatatccggatttgactctcatccacttacatgat +gattacggtcattacatctcatgattttctgagtgccctatagactgggaatttaatcta +ccctgtttctatttgttaacaaggagaaccactggtcaagatgacgcgcttccatttatg +ccaccataagtaagttctcggaacccttacatgattggcctaccaacctatatatgtgac +caatgtacggtacatagagtgtggcctatcatattcaggtcatcgagctcagtatttaaa +gattatatggtcgctgggggtattcagtgcgcgatggaagactaacattggaaatcaacg +gaattgacaacacgctcactttaataacctatctcaggataagtttaatgtaattagacg +gaactttctctaactccgtgtactaactctttgaaaataatgtgggtatttttatttcat +ctagatttgtctgtatcgaaagaaagtattggtccaaataatcctcagtaaaatcaagtc +ataaatataaaatttagatcttaggacagaggaaagtgctttcccgagcataggatctgg +cctacgccagtagttcatgcttgtgttaaaagttgttactgtttatagtccgtactcagg +gtagtgttcgatactcagcggggaactgacatattacactaaggaatcaaggcccttcgt +atgggtcatgtttatatatttaattacttacgctatttgatcgagaatagctatagtaac +gtcgtaagaatgcaggatgcgattcgagtttgtaaattcacagatactgtgtatcatatt +attatagatgttaaggcatagaattattggtattgatgtacaaaaaattatgggtgggca +gtaccgataggcattacgagcagtgcagcttggaagaactggatgtatcctataactagt +aagagccttaaaggtactacatacccagggatgttaccatcattaatttggccatcttca +atcttcgcaatgcatactttcttctacaagatgccttttagaagacaaaataagtgtcaa +caataacgctgtaacttaactctgttgtacgtggaatcaagtctcactaaagcaactaac +attccgacatgcaaacgcaggactactagattattaaattcgccagcccgcctcgtttaa +tataacatcataaaaattctaagtaatatctcacacactaatccgccatcgtccatagca +tcagtcacctgtcttacacaaacacatgtttaatcgatgttgttatgccaagctagtttc +gcgaccatgtaactaattgtggaaagctgctaccttgaacgacatcaaccatcctacctt +tgtacaacagaccaacatctctgtactggtaaatagatctgaaaagttataaatataact +gttttcacattgatagaaaaacagctatgtgctatttgtatatactataataaattaagc +gaaacatggagattaaaacagtgttttctcatcctccacctcttgttctgctaatttata +attcttgatgccactcgtgtgagtcgtccattcgatcgtaaagaacccgacataaataga +tacgacgctgaacgagatcctatttctcctgaaaattattagcacggtaactcctaggga +tagtggtactagttggtatgaacgtataaaaacttgtactactttctcgggatgtgaggg +agcaaactattactcgaccagtgcaacgcattatcgacagtaaaagttttcagctgatac +ctgtctggatggattatatgcaggtaggcgagagtggattgtagcgatgctcggcggggg +tattttaaaaatctaggtgataaaagtcctgtttagccaggaaaagtcatcattgcactg +catatcgtcgattagctgtcatttcgtccactggtaccagttcaacgtacatcaaagtcc +gggcgcatccatatcaagttttgcaatagtactccagaccatgaaatggttatccagatt +aataataacttaatatactttcactacatactcagcgggtattaaatttcactttatgtc +aaaggactcttatgtggtcttcaaaaaggtctagagtctatcacgcctaattgtgtgaaa +accgagtaacttgatcagccttgtaaaatatagtagaatatgatgttaaatcatttatat +tccagggagattgaatagcttacgattagctggtataatttaactcacatgattaagcaa +atatctgtaggaccgagggaaagaataaaataaagtaccatgagttcggaacgctgcatt +acatggcgttgggctagcctgatacaagaagatgagtatggagctctcttcatcgggacg +tgacaaccctagcgtaatcttggcagatcccggagcagatgattatcgtctaacactgtc +tttaccaatgcacaacgcatagatttaacctgaactgttctggattcactcctgactaca +gcctacaactcatttctatgcataactcttaaagacagtcgcaatatcagtacctctata +cacatcggatcagactagatcataagataagtctcctctggatccttgtattctgttaag +tacactacaaatttgtttagtgtctgggacaattacgataagggtcgcgactagaccaca +gggcatatgacctccaccgctcctagcgagtctccaatctgcaagcactcatacgctagg +ggcatgaatcgactgtcaatgcactgtaagatttacgagggtgagacccatttagatatg +cctcgtttaaccgttttaggcttgataggatgagtttgtcgatccatcaaattcccgaca +ttcatattgtccaataagtatatctagcttattcggactcgctaaactaaattatggtat +aaatgccgtcaaccggtgcatttgttcaatcaacaaattatagtcaatctcccatggggc +cttatggcagcgtatacagctggtataacgaccatatacaactatgaacggactagctgt +gaactaagcagattattggatccttgtgtataattttaagtttcgatctatatgctatag +tatagaaaatgttccgatcgtacgcttcctttacagttaaacagtctatatcatgaagct +tatccaaagctggacatttgatggcaatcttacttaattatgaaacttaattacctatta +ttgaaagtatttatatgatcgaataagatttgctctataaacaggtcgtccattcacgac +ctagtgattgcgtaaattgaccaacctaggtaatctaaagcctgcatctatttcttatca +ttcatgttatactgacccgttctcagtacttaaaaatgatcgtaagcaagaatcactcac +gctcatgtcacatttagtcgaaataaactgccgatgggaaggaagttccgtcattgcgat +atcgatgtctatcccacgcgtcattttcaaattggttatctacggataactgtgcgatga +actactataggtcaaaattatcttcaatctcattctagatcatataaagatgtccttcgc +gattgatacgtctacagtgtgttggtgttacacagagggtagcgactacttacttactaa +ctctctcttgatccgcaagcataagccaggttaaagtgctctatctttttctgtggatta +taatagttataccgccttgcatctaggtgcccattaggtaatgccctagtgttttcataa +atttactcctgccatctaacgttactttaatttcccagattcaataggtctctcatttga +aaattgttatatgtcaacaaagaatataatagctgagtggaacaatacactgtgagggag +taatacatactctaaattttctttacggtttgcgcctgcacagttttttttatctatgtg +atccgcataaaaagtaatttcaacgttccattcaagttaagtcttggtgacactagcatt +aggagagatcaccaagaccattatttatttagctagggtttaagtcggttagaaatatca +gataatgaggtctttatccggccttacgcagtagaaattggaaatttcgtaaagcactga +gttcaatggaagtatggccgaacccacataatgcacaaatcaagtcgatttcttccgtcc +ttttagtctcctgggaactacgggttattcatagttaagctaaatcagttaacggaacta +gacaaatgtataatagttcccaaatatatatctataaatcttatgcagttagggaatgca +gatttgaatcatggcaatacgctagctcggaactcaactacaagtgttggatgtacgaat +tcaaaggtattacatccttatgatgttcttttttggatacttttatgacgacttccacga +agtgaaattatgttcgaatatctgaacagttacttggttgagcccaaggatgacgaatgt +tctgtttataattctcgtcataatataaatacaagcatatgaggccagtcatggagcttt +catttggactaacatttccgtagagtcatatcacgcctgtaatctgatccgtctttttct +attcgaagtgttatcagatacatgacgcccttgcgtgacattcatggctcctgacatcgg +gtcttttaggctgaatctaatctaacccaatttgtttggattgtgggtcctccattttgt +ctgttaatgcttattaagattaaaaatgtactacgtatttagacctaatgattgcgatac +gctgtggaccattaatataagctgcgccaggggatttttccagatcatctggcctgtgta +tatgttcaaatctaatagccgagagaaattactccgacggaaaataaaggcagataagcg +tttcagagcaccatcgtggcgtttagtcaacctttagttcggaatttattaatatacaat +ctcactctttggacgagctccttaaaagatgcccttgtatatcatgtcccgtacctaaaa +gtataccagcatcatcaaagaacagttaaggaatacgactgctctataattgtccgagga +gtaccttctcatctgccaatagtcgttgggttggaaaacaacgcattaatatgccacact +tgtcaattagaagtttctataaaggggacgagtaactgatttgagacctagcacggcaga +ggacgttcgtgtgacaacatctctttataagtttgagataaaatcgctaatctacaatga +ttatttgccaatcattatcgaatgcgcaaagtatctcctgttcgtgattctagcctaagg +ccattactatggtcaaattatgctaatcgaagcagtcttctaacacccttagaaaagcaa +acactattgaatactgccgccgcattcgccagcaccaacataactgcacgtgcttttttc +catgattggcattatgaaagatttgatctatgattcttaccagttgcaatattcaattta +gcatgtgttcctaattattgtgttattatggtctatctcatcatgtaaatgaagatcatg +acgtcaacacagattctagtcaggatcatcagttcctcggggaaatcgcacctaggaaca +gccttatgcaaccgctaaacaaagcaatgaggatgtaccgacaaaagctcgatttaaaag +cctcgaaacgagatgtacgaatcgtttactgccttttatgaggagtcgagtactgttggt +tcatatttgctacatgattgtatgtaataacgatcccgccctttatcggttcgatccttt +atggcgataagttatgaatcgtcagtatctttagatcaaaaactcaactagtacccagtt +ccccggaggaacggtcatgattaatgcgttttacggtctcccgtccctcttcttgtcaga +ggaatcagtttcatccgatcccactcgatgattggtatagctatttgccgaaaagccaca +acgtattcggtactatcttgtttgattcccctgtatcttaattcgcgacacttgatatct +tttgtgtttaatcgacgaatcatcctgggggcgacacttgttacaattatccagttgcgt +ttaatggctgtgggtcacaagattgttagacaggtcccgcgtgtcgtaggaaattgataa +ttggagtttgcaggacgaatagctcacccgcctaagtgatccaaccctcatcaggataac +tatcactgggcagtattatttttgatttcatatgccaccccctaggagactgtagtcatg +tatctttcttacccaatctagcccgaaacaagaaagaatgtcgattccagtcacctttta +ttagaccgatttacacacaaagtgtcttggtttaaaggctggcatgaatacatactcaaa +agttgaaaacgacttgctctattcgattaccttcgcgatctcaatcgattacgctaaatt +ttaatgcccgctgaaatatccaacatttaaaacaggattaattctctgatccatgaactt +aggactcattgcacgtgacttatctttctctcttaattcatgctccaatacggtgggcta +aaccacttttatcacatgaatgtacgcaacgtgttaataagctatgagtacgcgggggca +gcgaaacgggtcaatctgggtatcttctattgggacggtacatttcggttttatagacta +tgtagttacacggcatcaacatgtaattaaaacggcgtaacctaggaaagccgaacgcac +cttgggattgccatgtgtccggaggattacatacatctaagaaacattctaaactatgta +tagtcgtttacgacccttgtagtacgtgcatcccttggcgaaaagtactctgggtattag +agtgtatattatcgacagcaccgaatcctcattttatagcttgacaatttatgacccgaa +agaaccttttataagtctataagtatatctaacgcaattgcggcactgagtccactaact +atctttgagcagtgttatacagtgagacgccatggaaggggtttatatattttactgtcg +ttccctaaaaagttaattatcagacctgcgcgatctcgtagatgaacaacgcgatctagt +cgaaaaatgcttgtggctaccattccagtcgagatcaaccgtttctgcggatcgcgttac +attccttgcttatttgcgataaatcgatacaaccccattaccagaaaaacccggagaatc +aattactctgcagatcttatactaaaaaagagattacaacccctgttctatgtgtcccaa +agtgagtaacgtggagcgttggggtaagagcggagcgattttaactttcgcttttccatt +ttccagtattgtactttacgttatatttgagcggcacattcgtcaaaacatgatccatat +ggactgaggtgtttaaatgttaatcaaataattgtattttcagctgactttaaaatctgc +agccattggaggtggagattccaatagatgtaagcaggtgatatcatatgcaattcttgt +gacttattaagataccagacacggcacaatcgcagtagcacgtaaacaataatgacaatc +gacggttaaattccgaacgtaagatatgtttacggatgcactaaaataggtagcaacaac +gtttctctgagatgtataagttaccaaacactggagaattccgctaaactaaggacaatt +tccgtcgtattaattgttgacaaatggttagtaatacattcgcagtggataatccgttgc +atacctagcactgagtgtaaataaaaccaatcgactactggcatttcgggctaacgacta +gatgttagcctatgtgaaagcctcacacatgcttattgccttcacggtgagcaatgtttc +ttattcgttattagaagtcacctgtagagacagtagagatgacctaaatttggtttgtcc +agtcccgaggtgatctaatgattaggttaacttagaacagtggtcaattggttaaagctg +atttacgaacacttccgaggggtcgtaaaacattaaactggtgagaacagtatgatgtat +tcggtcatctagacaaccccatcgctgggagtttggacagtgttatgattcgtaaatcca +ccatgtgtccgaattcgaaatcctgttgctccggggagatagggttaatttaggcttttt +tacggtgtggcatattagctcaaacatcaacattcttaaaatcagcgtaaacggtcacca +gttgatatttgttctgctaggaagcgatgtacaaaataagcttaataagatttaggtccg +accttaatttcggtccatagcacctctttctaagtgttttgcttaaataattgtattgtt +attgattttctgcgagttgaacacggaaaataagtcaaaaaggacacttttaggttcata +tgtaccgatgaatgcgcaatagaatcgagaaatttttagattagtaatcgtgatgattgt +ggccaaatcccgcactaaacggctttcgctgtttccaaaaaattttagtccactaggtat +ttaaatgttggacactgaacgtggaagccgtcgtattatgaaactaatggcagaggggct +cctctgcgtgtactttgagcagatgctatcgtcagaaaaaggtaaatcttttggttcttt +ataattctggcgtccgtgtagcctagtgaatgtgtttggttcaagtgaatttgtttagcc +agaatggaccaattacgtcattagctgttacgtctatacgaaatatagactgtggacgac +ccatcgtagagtcatgtagttacatgtgaccttagaacaccaatcgtgtgcgattgtaag +caggacaacacagtattgtactggtcaattggttcatagatctgactatgaatcttcgtt +tttgtacaacaatctcggtgaagcttcaaaaagcctccttcctaataatcagttaatttt +tcgtaaggttcctgttcgaggttagtcgtataaagacgaaacggccttaatgtaacatta +actattccactgtaggtggatctaacaaggttggacatgtgctaccaataagataagaat +ttcgtccgcaatacaatatctacttttgtagcctatcttggattaacaacaacttacgtt +ggtatttcaccggacgtatcaaatgattctgattttaatgactgagagtaaacatcaacg +aatcttatgtatctttaagccgctgcttgacaagtcacattactgttagaatgaacgctt +cattactacaaaacctaccaccaactcccacattaatattatactagatgtttgaagttt +atttgacaaaggttttcaaaaagcacagaatcgttacgaacacgtacattaaattgttag +ggtattaattgtggtcggtgcatttccggccccatagcgctccgcggggagaaactatgg +ccttcatgacagcccccccataacatctaggtaatggtcggataactataaacaaccctc +tccagagaactgtgaaaataaaatctcttagtacacaagcgtatactggtttaagtcttg +cccatcttaaagactcttttcactattttcttgatgcctcattcttctaatattaggtga +ttttttaatccgagaatataaaaagacgatagaaagtgttaaaacacggcgtagcgacat +attttaaagaaatgaaatactttttgactatccctcatgatctaaacttacgcggagcta +tctttttgtataacatgtacagagaattaatccgatgcttcttccgattaaggacatagc +gccgaaaacgtcatggcggcttatcgatatcgtaacgcactataccaagtgattaagtga +tcaatgaatacgggtttcgggatttctgttaagtcatgcacggcaaatacttggagtctt +gaataacgccgcgcgtagtacgaaggttctcaagctcgcgtgacgtatagaccgtattgc +tatttcctgccttctcaattgtccgaggattgctgataacttaaaataaggttgagtttt +taataacgatttgtcgagtttgggaaaatcctcgtttgtgtgtttgtcattttcaagtta +tcaagaactacgggtataatttacgacgtaatgttggtttgatgcccgattgcgaatatc +gtacgaatggtatttgtacaactgctttcctttatcgattgctcgagaacattataaagt +ctattactatggattaagactgtatacaagtgtttaagcggagcccgtgataatctataa +ggttttggtacctttatctgttacttttgccttgaaacatacatacgtacacgggaatat +ttacctaaacgccgtatagtccagcctcgtatttgggccgtgttttgtcagcattttaaa +ctgaaagcgcccacttgcattataacccggtgcggaatctcttagtgactcgtcaggagt +ttacgcctttgagacctctcgacaggacccattttgatctagtcgttataggtagagtgc +ctttcctatcgcaccattaccttctagcaaacttagagtattcaatgaaatcatatcctg +tttatactaaatgttataggctaatgacacagctgacactaagaggtctcttcgggttac +ccgaatgagttgtttatacgatgttgacaactcgggggagtcatttcaatgaagactgag +gactcttgatcagattaaaacgcttaatgactgataatttagattatgccgtgtattatt +taagtgggcgaaccctcccctagaatgggtttcctgagaaaagtcttagaacacagtatt +ctgaatccagatgcaaatcgctaacgttagtaagcggctgtagctcttggcagtttggtc +aatagtcaatcgcaatccgtttaaccgtctactattcctagagcgaagagctatgttctg +acacgtccccaatattaggcaaaggctccaaaagaacagtcaattgattaactacgggct +tggtttctccgtgaatccttgcgccgctataccacataaaaggatagcggtgataccaca +agtttgcgacgttaaagcgtcgaccctcaacaagtacactagcaaccccttagcaattaa +ttttgtccatcactactgccaagagttgactggaccagttggaaatgacatttgatatat +taatagagctacatattgtaccactttactgtcacttacactaaccctagcgtgattact +catacatatattcgtaaattctaagttatgatactagttttgtaaatttaatcggcgaag +acacgttctcttgtacgagcttcaactaaatatttcactgtagccaaccactttaaccag +aaggataccttaatgccgatataatattgtccaggaaacgttaatactttcacaagacaa +agcttggaagaggtactttacgatcacctgatagatcgaccggaacgattctatataggt +ttggtctgagaaatttgtagctaaaaccatgttccataggaactcctctgtaatgggcaa +aatgcagatagcgttcaatcgttgcttaactatctatcacagcatcctaactcctcaaca +gcttctttcctaaagacatcagcaggtaagttgacggcacccgataacccagagcacgat +tggaatctaatactctgtatggatcattacgctaagtaaatataatgattttctgactca +aagttacactgcgaattttatattaactggttctatttgttaaataccacaacctctcgt +caacaggtcgcgatgcaagtgatccaaaaatatctaacttataccaaccattacttctgg +cgcagaaaaacatagatatctgaacaatcgaccgttaagactgtctcgccgatcttagga +acctaatactgctcagtagttattgtttatttgggccatccccggattatgtcagccatg +gaacactaaaagtcctaatctaacctatggacaaaaagctcacttttataaaattgctca +ccttatgttgattgttatttgtccgaaatgtctataactcagtgtactatctattggaaa +attatggccggagttttattgaatatacttttgtatgttgagaaagaatgttgtcgtaat +aattatcagctggaaaatcatctaatatatattatattgagatattacgacagacctaag +tgctttcccgtcatgagcagatggactaacactcttggtaatccttctcgttttagttgg +taatgtttagtctaagtaatatcccgactcttacttactcagagcggaaatgacttttta +aactaacgtttaaaggcacttagtatgcgtcagggttatttttttaattacgtacccttg +tgcagagagtttagctattcgatcctacttagtatgaaccatgagagtacaggttggtaa +ttcacagagaaggtcgagaagattatttttgatgtttaccaatactatgaggcgtattca +tcgaaataattttatggctgcgcacttcacatacgcaggaagaccactgcagcttgctag +atctggatgtatcattgtacttctaagagcctgaaaggtaatacattcccagcgagcgta +acagattgtatggggacatattcaatcttagcaatgcattcgttcttcgaaatcaggcat +ttttgatgtcataagttctgtcaactataaccctggaactttaatctgttgttcgtcgaa +tcaaggatcaagaaagcttctaaaaggcccaaagcaaaacccaccactacttcagtttta +aattagaatcacaccctagggtattagataataattaaatgtcttaggaagagatatcaa +aagatgcagacatcctcaagtgaataagtctccggtctttcacaaacacatggttaagcg +atgtggttttgactagagacgttcgccaccatcgtaatatttctggttacctgcgaacgt +gaaccaaatcttacttcatacattgcttaaacagtacaacttatctcttatcctatagag +atctcaaaagtttgtatttttactggtttcaaattgagagaaaaactgcgttctccgatt +tctatattattgtttaaatgatgccaaacatccagtttaaaacacggtgtgatcagccga +ctcagattcgtatcctatgttagaatgagtcatcaaactacggtcacgcgtacattacag +agtaaactacacgaatgaaagagataagaagatgaaagagttaataggtctcctgttaat +tatgagaaccctaactactacggattggcctactagtgggttggaacggatataaaattc +gactaagttcgcggcatgtcaggctcctaaatatgaagagaactcggcatcgaattatcc +acagtaatagttggaacatgattcctctatgcatggtgtatatccacgtacgccagtgtg +cagtgtagccatgcgaccacgggcgttgtgaatattcttcctcagaaaaggactgttgag +caaggaattggattctgtgaacggaatatagtcgagtagatggaatttcctacactgcga +aaaggtcatagtaaatcaaacgccgcgcgcagacatatcttcttggcaattagtactcca +ctaaatcaattggttataaacttttagaatatctttatataagttcactacttacgctgc +gggtagtatatttaaagtgatgtcttaggaatcttatggcggcggaataaacggcttgac +tatagataccctaattctggcataaccctgtaacgtgtgaagcatgctttaatagacgac +tagatcagcttatagaatggatatgactgccacattgaagagattaacattagcgggtat +aatgttacgaacttgtttaacaaaatagctctaccacacacgcatagtataatataaagg +tcctggagttcgctacgagcctggaattgcagttcccctaccctgagtaaacaagatcag +tatggacctatcttctgacccacgtgtaaaaactaccgttagcggccctgagaacggtga +agttgattatcggctaacactcgctttaccaaggaacaaacaattgatggaacaggtaag +cggctggattctatcctgaatacagcataataatatttgctttcaatatatagttatgac +actcccaatatcactaactctttacaaatcggatatgaagagtgaattagagatggagcc +gatcgttccttgtattctggtaagtactcgactaatgtgtgtagtctaggggtaaaggtc +cttaaccgtcgagtctagaactcacgcattatgaaatcctccgagcatagagactctaaa +ttcgccaagcaataagtcccgacgcgaaggatgagaagctcattgaactgtaacatttac +gtcgggctcaccatgttacatatgcagcgggtaaaagtttttgcctggagtggttgagtt +tcgcgatacataaaaggccccactttcatatggtcaaatatctatatcgtgctttggacg +actcgataaactaaagtagcctagtaatgccctaaaccgctgcatttgtgcaataaaaaa +tttagagtatatataacttccggacgtatggctgccttgaatcctcggatatcgtcctta +tacaacgatgaacggtatagctcggaactatgcagattaggcgatccttgggttgaattt +ttagtttccatagatatgagttagttttgatatggttaccatacgtccctgcattgaaac +ttaatctgtatattgattgatccttagcaatagcggcacatttctgggcaatatgactta +attaggttacggtttttactatgatggatacgttttatatgatagaataacagttgctat +ttaaacaggtactacattcaactaatactgtttcactattgtgtccaacatagggaatat +attgcctgaatagatgtattatcaggcatcttttacgctccaggtagaactaattaaaaa +tgatccttagaaactttcaagcaacataagctaaaagttacgccaattataagccacatc +ggtaggatcttcaggcattcccatatccttctctatcaatcccgtctgttgctaattggt +tatctaagcatatcgcggcgagcatctacgataggtataaagttgctgctatctaattcg +tcataatatatacatggaattacagattcatacgtcttcagtctcgtggtgtttctaaga +gcggacccaagaattacgtaatatctctctcgtgttacccaagaagttgacacgtgattg +tcagctatctttttctggcgatgttaatagttataaacaattgcatatagctgcaaatta +gctaatcaaatactcgtttcttaaatgttatcagcaaagctttaggttctgtaatttcac +tgtgtaaagagggcgctaagttcaaaattggtttttggcaacaaacaatttaatagcgca +gtgcaaaaataatatctcagggtgtaattatttctctaattggtctttacggttggacca +ggcaatgggttttttatctatgtgataccaattaaaagtaatttcaaagtgacattaaac +ttaagtattgctgtcaagaccattacgacacttcaccaacacatttatgtattgtgctac +gcggtatggcccgtagtaatttctgatattgaccgcgttatcagcaagtacgctgtacaa +atgccaaatttagtaaagctctgtgtgcattccaaggtgcccacatcacacattatcaac +atatcatgtcgttgtattacgtccttttactagcctgggaaataccggtgattcagagtg +aacataaatctctgaaagctactagacaaagctagtatagttaaaatatatatttctttt +aatattaggatctttgcgattgcacatttcaagcatcgcattaacctacctccgtactct +tctacaacggttgcatgtacgatttctatgcgatgaaatacttatgttcttagtttgggg +ttactttgttcacctagtcctcgaacgcaaattagcttcgaatatctgaaaagtgtatgc +gggcaccaaaacgatctcgattcttaggtttataattatagtcagaagataaatacatgc +atatctggacactcttccacatgtcatgtcgactaactttgaactacagtcatatataga +ctgttatctgatccgtatgtgtctattactactcttatctgagaaaggacccaatggagt +cacagtaagcgatcatgtcatcggggctttttccctgattataagattacactattgctg +tgcttggggcctcctactttttctatcttaatcattttgtacattaaaaagctaagaagt +aggtacaacttatctttcccatacgagctggaccattaatttaacagccgcaaggcgagt +tttaatgttaatctggaagggctttatgttctaagcttttagcactgagaaattaatccg +taggaaattaatcccacataacccggtaagagaaccttacgccccgttactaataatgtt +ctgcgcaatgtaggaagtgacaagctcactcttgcgacgagctccttaatacaggccctg +cgttatattcgaccgtacctataactagaccaccatcttaaatgtacagttatggttttc +gacgcatagagtatgggaccacctcgaaatgctcagctgcaaattgtactgggggtggtt +atcaaacatttaatatgaatctatggtaaagtactagtttatagatagccgaacactaaa +ggtttgcagaccttcctcccctgaggaacttcgtgtcacaaattagattgagaaggtggt +gataaaatcgcgtatctacaatgatttggtgcaaatatttatcgattgcccaatcgttct +actcgtactctttatagcctaacgccttttcttggcgctaattagcctaatccaagaagg +agtctaacaaaattacttaaccatactcttgtctattcggcccacgcatgcgcaagctca +aaaagttctcaacgggcgtttttacttgagtcccaggaggtaacattggatctatgagtc +ttaacagtggaaatatgatttttagattgtgttcagatttattgtcttattttggtctat +ctcatcagctatagctacataatgacgtcttaactgtttcgactaaccttcagatctgac +taccccaaatacaacatagcaaaagaatgatgctaacgcttaactatcctttcacgatct +taacaaaaaagctccatttaaaagaatcgaaaacagatctaccattcgtggaatcaattt +ttggacgagtactggtcgggtcgtgcttatttgctacaggattgtttcgtataacgttca +agcactttagcggttccatccttgatggcgttaactgatgatgcgtaagtttatggtgat +ctaaaactctactacgaaccaggtcccagcacgaaacgtcatctttaatgagtttttagg +tctccaggcactaggctgcgaagtggaatatgtgtcatcagagacaaatagatgattcct +atagctttttgcagttaagccactaagtaggcggttctatagggtttcattcaaatcgat +cgtaattcccgactctgcatagcgtgggtcttgtatagaccattcttcaggcccgccaca +atggtttcaagtttcaacttccgtttattggctgtccctcaatagagtcgttctcagggc +acgactctcgttcgttattcataagtccagtttgatccacgaatacagaacacgcatatc +tgataataaaagcttaacgataactttcacgcgcatggtttatttttgatttattaggca +accaaataccagaatgtagtcagcgatatgtagtaaaatttagacaaacataaaacaaag +tatcgccattacagtctcctgttaggagaacctttttatcaatatgtgtaggcgtgtatt +ggcgcccttgatttaataataattacggctaaacgtattgatattttccaggaactgccc +catctcatgagatgaccctaaattttattcacacctcatttttaattcttttatatcacg +attatttatctgagcaagcatctttgcaagcattcatagtgacggtgctgtctctatgaa +tgcatgctaatatacggtgcgctaaacatattggttcaattcaatgtaagctacctcgga +atttgcttgcactaagacggggaagccaaaacggtaaatcgccgtatatgctagtgccaa +gggacttgtccgttggagtcactatggagttacaagcattataaatctaaggaaatcgca +gtatcagtccttaccccaaagatacttcgcattccctggggtacggaccatgaaatactt +ctttcatacatgataaacgatggagactcggttaccaccctggtagttactccatcaatt +ggagttaactaagatcgctattacaggctttattagccaatcatcacaagcctcttttta +gagattcacaagttagcaaaccaaagttcctttgataagtctttaacgagatctatccca +attccggctaggagtaaaatttatatatttgagatcggggttaaagtcacacgcaatgca +aggggtttttatatggtaatgtccttccctaattaggtaattttcagacctccgagagag +agtagatcaacaacgcgttatactcctaaaatgcttgtcgataacatgacactacagatc +atccctggatgagcatcgactttcattacttgattagttcagttaattcgtttcaaacca +ttttcaacaaaatcccccagtagatatgtatatgcacatcttagactaaataacagtttt +cataccctgggatttgtgtcactatctcaggaacgtcgagacgtcccctatcaccgcagc +gagggtaactggccctgttccattgtaatcgatgggacgggacgttatattgcagaccca +aagtagtaataaattcagccatatggacggagggggggaattgttaagaatataattcga +ttttcagctgaatgtaaaagctccagccattcctcctccacttgacattagttcgaagaa +ggtctgagaattggaattgcttgtgacgttttttgtttccagacaaggaaatagcccagt +accaagtataatattatgacaatagaagcttaaattcacaacgtaacatatctgttagca +tgctctaatagaccgagaaaataagtgtctatgtgtgcgagaactgtcaattcacggcag +tagtcacctaatctaacgtctagttcccgactatgaagtcttcacaaatggttagtaata +atttcccagtggagtagaagtggcataacgtgcactctctgttaataatacctttagact +actcccatttcgccagaacgtcttgatggtaccctatgggaaacactcacacatgcttat +tgcctgcaacctcagcaatgtgtcgtatgcggtatttctacgaacagctagtgaaaggac +tgatgacctaattttggtttctcaagtccagacgtgatattttgatgaccgtatctgaca +tctctgggcaattcggttaacctctggtacgaaatagtccgtcgcgtaggtaaaaatgat +aatgctgtcatcactatcatgttttagctaagctacactaccccatcgctcgcacgtggc +aaagtgtgaggattccgatatcatccatgtgtacgaattcctaatactcttgctcagggc +acttagggttattgtagcctgtgttaccgtctcgcatattagatcattaatcaacagtct +tataatcaccgtaatcggtaaacagttgttatttgttctgataggtagacagctaataaa +gatgctgttgaacagttacgtcccacctttattgccctacagtgaaactagttcttactc +tgttgctgtaatatgtctagggttattgatttgctgccacttcaaaacggaaattaagtc +attaacgaaaatggttccttcataggtaaagatcaatccccaattgaagccagaaatttt +gagatgtcgattcctgatcattcgccaaatttacagctcgtaaacgagttccatgtgtaa +aaaaatgttgagtccactagcttgtttattctggctcaaggtacgtggaacacgtagtat +tttgatactaatgccagacccgctacgatccctgtactgtgagcagagccgatcctcaga +aatagctaaatcttgtgcttcgttagaagtctcgactacgtgtagcctagtgtttgtgtt +gcgttatagtctatttgtggacacagtatggtcaaatgacgtcttttgatctgacggcgt +taacaaagatactctgggcaacacacatacttctctcatgttgtttcttcggacctttca +taacctttcctggcacatggttagctgcacatcacaggattgtaagggtctagtggttca +gtgagcggaatatcattcgtcggtggtgttaatctatctcggtgtagcttataaatgcat +ccgtaagaatattatgtttatttgtcggtacgttcatggtagtggtgtcgccgatttaga +cgtaaaggcatgtatggatcttgatctatgcaaaggtaggtccatctatatacgttgcac +agcggatacaaataagataagaatttactaacatttaaattttcttattgtcgagcatag +attggaggaaaaacttatttacttggtatttaaacggaagtttctaatgtttatgattgg +atgcacggacagtttactgcttactttcttaggtttcttgaacaacaggatgcactagta +acatgtctcgttcatgcttccattaagttcttcttaaacttacacaaactacctaattta +gagttgacgagatggttgaacgtgttgtgacaaacgtttgcaaaatgcacagtatcgtta +ccaaaaagtacatttaagtgtgtgcgtaggaattctgctacgtccattgcaggccacatt +cacatcccacccctgaatatatggactgaatcacacacaccaaatttcatctaccttatc +gtagcataactattaacaaacatatacagacttcgcggtaaataaaatatattagtacac +aaccgtatactggttgaactattgcccagctttaagacgcttttaactaggtgcttgatc +aagaagtattattatatgacggcagtgtgtaatacctgaatagatatagacgttagattg +tctgaaaacacgccgtagagacatttttgttagatatgtatttctttttgacgagccagc +atcttagtatctgaagacgagctatatgtttgtagaaaatcgactgacattgtatacgag +gcggcgtaagattaaccaaattccccagaattagtaatggcgccttatcgatttactaac +gatatataacttgtgatgttgtctgcaatgtatacccgtgtaggctgtgctcttatcgaa +ggaaacgcattgaagtccaggctggatgaaaccaccgcgtacttccatgcgtctatacat +agcgtcaccgatactacgttttgctatgtaatccattctaatgggtaagaggattcctct +tatagtaaaatatgcttgactttttaagaaccattgggagtggttggcaaaataatagtg +ggtgtctttctcagtgtatagttttctacaactacccctattaggttacaagtaatctgg +ctttcttgccacttggcgatgatagttagattcgtatttctacaacgcagttactgtatc +catggcgcgagataattagatacgatttgaatttggatgtagactcgttactactgttgt +agaccagcacgtgagtatctagatgggtttgctaccttgttagcggacttttgccgggaa +aaagacatacgtacaaccgtatattttactataagcagtattggccaccctcgtattgcg +gcagggtgtgctcacctggttaaaatgaaagagaaaaattccattttaaaacccggagga +atctattactgacgaggaaggtgtttaacccgttgagacatctcctaacgtaaaaggttc +atattctagttattccgagagtcactttcctatccaaacatgaactgatagcataatgac +aggttgaatggaaagcatatcctgtttattctaaatctgtttcgctaatcaatatgctgt +cacgaactcggagcttacccttacaactatgtgttctgtttaccaggtgctaatatcccg +gcactcttttcatgcatgtcgctcctagcgtcatctgatttaatagcttaatgtctcata +ttttacagtagccagtgtagtatggaaggcggcgaaccagcccctacattgggtttcctg +acataagtattacatatcacttgtctgattacacagcaaaatcgctaaccttactttgcg +catgtagctattggaactttgggctagtgtctatcccattaagtttaacagtagactagt +ccgtgagcgatcaccgagcttatgtctcgtacccaagttttggatttggatcaaaaacta +ctcgatattcatgatctacgggcttcctttctccgggtatcattgcgccgagattaaaaa +taaaacgatagcgctgtgaaaacatgtttgacacgggatagcgtagaaactaaacaacga +atagaccatccaatttgaattttattgggtccagcacttcgccatagtgttgaatggtaa +agttcgaaaggaaatttgttatattaattctgctacattttcgaccacttgtatctcaag +gacaatatcccttgaggcttttagcagaaagagatgccgtaattctaagggatgataata +ggttgggaaatttaagagcagtagtaacggtcgcgggttcgaccttaaactatatattta +aatctagccaaacaagttaacaacaaccataaagttatgaccttattatattggcaagct +taacgttttaattgctctagtaatagagtggtagaggtaagggaccatcacctgattctt +cctccgcaaccattatatagacgtgtcgtctgacaaatttcgagataaaacattcgtcct +tagcaacgaatatcgaatggcaattagccacattgagttaaatagttgaggatatttctt +gcacagaatcagatctaatctaatgattcgttactaaacacttcaccaggtatcgtgaag +gctcaagattacccagagaacctttgcaatataagaatatgtatgcagcattaccctaag +taattatattctttttctgactcaaagtgacaagccctagtgtatattaaatcggtatat +ttgggaaattcctcaaactatcctaatcaggtagccatgaaagtgatcaaaaaagttcgt +acttataccatacatgaattctggccaagtaaaaaatagattgcgcaaaattcgtacctt +aagtctctcgccaagatattaggatcctattactcatatcgtgtttttctttattgccgc +catccccggagtatctcacccatccttctcttaaaggcctaatattacctatgcaaataa +acatatattgttgaaaattgagaacctgatcgtgattcttatgtgtaccatatgtatagt +aatcacgcgactatatagtgctttagtatcgcccgtgggtgagtgaatattctgggctag +cgtgagatagtttcttgtcctaatatttttcagatcgaatagcttctatttttgtgttta +ttgacatatgtcgaaactccttactcagtgaaagtcatgaccagatccacgaacaatctt +cggaatcagtctcgttttacggcggaatcttgagtctaacttatatcccgtcgcttactt +tctaacaccccttatgtatttttaaaattacgtttattcgaacgtacttggcggaagcgt +tattttttgaagtaagttacattgggcagactcttgacattttcgatacgactttctttc +atccatcacaggactcgttcgtattgatatcagaagctcgtgatgattagttgtcttctt +taccaatactttgaggcctattctgcgaaatttttgttgccctgcgaacttcacatacca +aggaacacctcgcaacatgccttcatatccatcgttcattgtaattcttacacaatgaat +cctaagtaattacatccctgcgtaaaagatggtaggggcactgaggatatattaccaagc +atttagttatgagtaatcagcaatgtttcttgtattaagttctctaaaatagttacatcg +taatgttatctcgggttccgcgaataaacgagatagattcattatatatggccctaagca +aaaacctcctcgtattctgttggtaattagaatcacacaatacgggttgagatattaatt +atttgtagtacgaagagatataaaaagatgaacaattactcaagtcaagatgtatacggg +atttataataaaaatcgggtagagatctgctttgcaattcagacgtgccactaaatcgta +atatgtcgcgttacatcagaaagggtaactattattaattaataaagggcttaatcacta +catattagatcttatccgatagtcttatctattcgttgtatttttaagcggttctaattc +agtcattatatcagtgctccgagttctttattattgttttaaggatgacaaaatgcctct +tgttataacgctgggagaagcagactaagagtcggagcagttggtagaatgaggctgcaa +aagacggtctcgacgaatggacagactttactaaaccaatgaaagacagaagtagagcaa +agtctgaagtggtatcagcttaattatgacaacccttaatacttccctttcgccgaatac +tggcgtggaaaggttttaaaagtcgaagtagttagaggcatctctcgctcataaataggt +agactactcgcaatccaatgtgactatgtaatactgggaacatcagtccgcgatgcagcg +tgtttatcaaccgtccccactcgcctggggagacatgagaccacccccgtggggattatt +agtccgcagtaatcgactcttgacaatccttttcgattatgtcatagcaatttacgacag +ttcagcgaagtgactactcggcgaaatggtattactaaagcattcgaacccacatgaatg +tgattcttggcaatttctaatccactaaagcttttccgttgaatctggttgtagatattt +atataagttcactaattaagatcacggtagtatattgatagtgatgtctttgcaagaggt +tggccgaggaatttacggattctctattgatacaatttgtctggcttataactcttaagg +ctgaaccaggcgtttttagacgacttgatcagctgttagaatggtttggactccctcttt +catgtcagtaacatttcagccgttattgttacgatatgcttgaacaatattgatctacca +cacacccatagtatattttataggtcatgctgttacctacgagcatggtattccacttcc +cattcaatgagtattcaacatcactagcctcagagatgatgacccacctctaataacgtc +acgttgcggccatgtgaaacctgaacttgagtagacgatatcaagcgctttaaattgcat +ataacatttgagggtaaagctaagcggatgctttatataatcaatactcaataataagat +ttgattgcattttagagttatgacacgacatagttcactaacgagttactattcccagat +ctagactgaagtactgatcgagacgatccttacgtcgatgatcgttagttatcgacttag +gtcgggtctctagcggtattggtacttaaccggacactatactaataacccatgatcaaa +gcataacagaatacagacgataatttcgccaacatatatgtacagaccccaagcatgaga +agctcattgaaagctatcattgaagtcccgctcacaatgtgtcttttccagacggtttaa +ctggttcccgggagtcctggagtttcgacttacataaatggaaacaatgtattttgctaa +tttatctatagcgtcatttggaccaatacagaatattatgttgcctagtaatccactata +acccgcaagtgctgatagaaaatttttagacgatttataaatgccccaagtatccctccc +gtgaatcctccgttatactaattagtattcgttcatacgtataccgcgcatatatgaaca +tttggcgataaggcgcgtgaattgttacgtgacagagatagcagtttcttgtgatatggt +taacagacgtacatgaagggaaactttatatctatagtgatgcttccgtagaaataccgc +cactggtctgccaatgatgaagtatgtagctttaggtttgtactatgaggctttcgtttg +tttgcagagtataacagttgcgagtgaaaaaccgacgaatttatactaatacgctttcac +tattggctacaaaatagggaagagtttcaatcatgagagggagtatatggatgctttgta +gctaaaggtagaacgtatgtatatgctgccgttcattcttgaaagatacataagcgataa +gttacgacaattataagcaacatccctaccttcgtaacgatttcactgttactgcgcttg +aaatacactatggggctattggcggagagaagcagatcgcgccgagcatatacgagacct +ataatgttgatgatagagaaggcgtctgaattgatacatcgaagtacactttctttcgta +gtatctctcgtcctctttctatctccggacacaagaattaagttatatatatagagtctt +accaatcatgttgaatcctgattctcagagttctttggcgggccttgtgatgactgagaa +acaatgcaatattgctccaaatttcctaagcaaattctcggttatgttatgttatcagca +aagcgttacgttatgttatttaaatctggaatgacggagcgaagttcttatgtcggtgtg +ggaataattcttttgaagacagcactccttaaataatatcgctccgtgtttgtatttatc +gaatgggtctgtaaccttgcacaagcaaatcggtggtgtatatatcggataacaattaat +acgatgttcatagtgacagtatactgatcgagtcctctaaagtcaattacctcacttaac +aatctcattgatgttgtgtcattcccggtatcgcccgtagtatgtgctctgattgaccga +gtgtgaaccaaggaacatctactaatgcctttgttaggtaagatctctctgaattccttc +gtgccaacttaaaacattatcaaaatttcttctacttggattaactacttttacgagcat +ggcaaattcccctgtggaagacggttcattattatcggaaaccttatagaaattgcgtgt +tgactgaaattagatttttattgtaagagttgcatctttgcgattcctctggtctagctt +ccaatgaacagtcctcccttctattcgacatcgggtccttcgtacatgtctttgcgatgt +aataattaggttcggagtgtggccttaatgggtgcaactaggaatacaacgcaaatttgc +tgacatgatagcaaatcggtatgccggcaccaaaacgtgctccttgcttagcttgtgaat +gagactcagtagttaaataaatccatatctgcaatcgattccacaggtattgtccactat +ctttgaactactctaagagatacaagcttagctgagaccgaggtgtatatgactacgctg +atatctgtaaggtaccaatgcaggcaaagtatgcgagaagctaataccggctgtttccag +ctttataagattaaaatttggctgtcctggcggcctcagaattgttctatcgtaatcagt +tggttcattaattagctaagtacgaggtacaacttatctgtcccagaacagctccacaag +tttttttacagccgaaacccctgtgtgaatcttaatatccaagcgcgttatctgattaga +gtttacaactcagtattttatcagtacgttttgtttccaacattacccggtatgacaaaa +tgacgccacgtgtcgaataatggtctgaccaatgtaggaagtgaaaagataaatattgcc +tacacatactgaattcaggcaatgcgttttattcgaaaggtcatataactagaaaacatg +atgaattcttatcggatccttttactagcatagtgttggcgaacacctcgtaatgctcag +cggcaaattggactgcgggtccttatcatacattttttttcaatataggcgattggtcta +ggttagtgattccccaacacttaaggtttgctgacattcataccctcagcaacttcctct +caaaaattagagtgagttggtggtcttataagaccgttgattatttgaggtggtcaaatg +atggtgcgatgcacaaatcgttataatcgtactctgtagacaataacccattgtagtgcc +gattttgtgcataatacaagaaggaggatataaaaatgacttttcaataatattggctat +tagcaacaagaaggagaatcctcattaagttagcaaccgcagggggtactgcagtccaag +gaggtttcattggagagagcagtatgaaaacggcaattatgattgtgagattcgctgaag +attgtgtctctgattttcctagatagaataagctatagctacttaatcaactcttaactg +tggagactatcctgatgatctgaataccccatttacaaaattccatatcaatgaggctaa +cgcttaaatttcatttctccatcgtaacaaaaatcagcctttttatacaagacaaaacac +tgcttccattacgggtagcaatggttgctcgactactggtagcgtcgtgatgtggtgata +aagctgtcttgcgtttatacttaaacaaattttgacctgacataatggagcgacttatcg +gatgttgccgatctttagggtcatctattaagcttatacgaaaaagggacaagcacgtta +cgtaatctggtaggactgggtacctagaaacgcaagaggaggcgaactccaatatctgta +agaacagaaaaatacaggagtccttttcatttttcaagttaacaatataagtaggagctt +agagaggcttgcatgaaaatcgttaggaattacagaataggcagagagtggggcgtgtag +actacattcttcaggccccacaatatgggttataggttaaactgcactttttgcgatctc +ccgaaatactgtcgttctctgcgaaccacgctcgttccttttgctgtagtccacgttcat +ccaactattcagataaacaagatcgcagaattaaagcttaaccatatcttgatagcccat +cgtgtatggggcatgtatgtgcaaacaaaagacctcaatcttgtctgcgagagggaggaa +aatttagacaaacataattcattctttcgactggacacgctaaggtttggacaaactttg +tatctatatctggaggcctgtattccagcccttcttttaataagatttacggcttaaact +atggatatttgccaggaaatgacactgctattgacaggaacataattttgattcaaacct +cattgttaattattttatatctcctgtttttatatcagaatgcttctgtcctagaaggca +tactcaaggtgagggctcgaggaatgaatcataatagaccggcccctattaatattggtt +caattctttcttacataacgcggaatttgattgcacgaacaccgggaacacataaccgta +tagcgcccgttatgctagtgcctagcgactgggaccgtggagtctatatcgtctttctac +cattattaatctaaggatataccactttaagtcctttcaactaacataaggcgcattcca +tgcgctaaggaccttgaatttattatttcttacatgataaaagatcgagtcgacgggaac +aaaaggctacgtactcaataaagtgcagtttactaagagccctttttctggcttgtggag +actatcataacatgaagatgttttgacattcaatagtttgcaaaacaaacttactttgtg +tagtattgaacgagatctttccaattgccccatagcaggaatagttatatattgcagatc +gcggtgtaacgcactccaaatccatcgcggtgtgtgagggtaagcgacttaaagaattac +ggtttttgatcaaagcacagtgagagttgagcaaattacagttatacgacttaattcagt +ctccataaattgaaacgacacttcttaacgggaggaccagacacgttcattaagtgagga +gtgcactttttgactttaaaaacatggtaatcaatttaaaccacttgatatgtatatgaa +cagatttgaagttatttctgttttaatacactgggagttctgtcaatatcgcaggaaccg +cctgacgtcccctatcacacctcagagggtaaagggacaggggaaagggtaatcgagggg +tagggaacgtagttggcacacccaatggacgaataaatgctgccatatccacggagggcg +ggattgcggttgattttaaggcgatggtaacctgaatgtaatagatcatcaaatgcctcc +tccactggaaattactgcgtacatccgctgagaattgcaatggagtgtctcggtttttct +ttaaacaaaaccaaattgacaacttcatagtataatttttgcacattacaagcgttaatt +aacaaacttactttgctgttagctgcctatatttgtccgacaatataactggatatctct +gcgagaactgtaaattaacggcacttggaacataatagttcctattggtaacgacgttgt +aggcggcaattatccggtggaagaattgacaactgcagttgaactgcatgaaagtcaaat +ctctcgtaagtataactttagaagactccaaggtacccagaacctcttcagcggacacga +tcgctatcaatcaataaggattattcactgaaaccgctcatatctggaggtggacgtttt +tcttcgaaaagcttgtcaaaggactcatcaaatttttggccgtgctaatcgacacacctg +ttattttcatgaccggataggacatctcgcggaaattcgggtaacagctgggtagatata +ggacctcccctacgtattaatgataagcctgtcataactagcttggtttaccgaagagac +aataaacattcgagcgctcgtgccaaactcggtgcattacgtttgaataaatcggtaaca +tgtactattactctgcctaacggcacttacccgtttgggtccatggggtaaccgctcgat +gttgacagaattatgctaaagtcgtttaagatcccgattaccgaaaatctggttatgtct +gagcattcgtacactgcgtattaagatcaggttgaacaggttcctaacaaattttgtgac +ctaaagtgaaactaggtcgtactctgggcatgttttatgtcgtggcgtatgcatgtgctg +acacttctaaaaccaaattaaggctttatccaatatgggtccttaagtgctaaacatcat +tcacaatttcaagacagattgttggtcttgtcgattccgcatctgtcgccaaattgacac +atcgtaaaccaggtacatcggtaattatatgttgactaaactaccgtgtgtattctggct +ctaggtacggcgaacaagtacgatgtgcttaagaagccctcaccccagacgagcccgcgt +aggtcacatcagcagatcctaagtaattccgttttattgtcctgagggagtaggatcgac +gaactctacaagtcgctttgtcgtgccttataggctatttcgggtcaatgtagcgtcaaa +tgaactattgtcatctgtacgagttaactaagtgtctatcgccaactaaaagacgtctcg +atggttctttatgcggacctgtcatatcattgactggcacttgcttacatccaaataaca +cgtttgttagcggatagtcgttaagtgtgcgcaagatcatgaggcggggggggtaatatt +tcgccctctacatgataaatgaataagtaagaagatgatctttttgtggcggtaccttaa +gcgtactcctgtcgacgagttactactaaaggaatgtagggttctggatctatgaaaagc +gacctccatatatatacgggcctaagcggagtaaaataagtgatcaatggactaacattg +aaatgttagtattgtcgaccattgagggctggtaaatcttatttacgggcgtgggaaaac +gaacgtgatatggtttagcatgggatgcaagcactcgttaatgcttactttagttggttg +cgggaacaacaggaggctatactaactggtagcgttcttgcttccattatgttattatta +taattaaaaataagacatatggtagagttgtagtcagggtggatcgggttgtctataacg +ttggaataatcaaaactatcgttaacaaaaacgaaatttaagtcggtgcggtggaatgcg +cctacctcatgtgcaccacacattcacagcacacccctcattataggcaaggaagcaaac +aaaaaaaagttaatcgaccgtatccgaccttaaattttaaaataaatagaaacacttagc +ggtaatgaaaagataggactaaaattcactagtatcctggaacgaggcaacagagttatc +tagatggtaacgaggtgctgcatcaagatgtatgatttttggtccgctgtgtggaatacc +tctattgatatacaagtgactttctcggtaataacgcacttcacaatgtgttgtttcttt +tctatgtattttgcaagagaaagaagcttagtataggtacacctcagagatgtttcgtgt +aaatcgtatcacatggtataactgcaggaggaacattatccaaattcaccacaattacta +atccacccttttacttttactaaagatatattaattctcatgttgtctgaattgtataac +ccggtaccctgggagcgtatcgaaggataccaattgaagtcctcgaggcatgttacaaca +cacgacttccttccgtctattcagacactcaacgagactaacttttcctaggtaatcaat +gatattgggtaactcgtggcatcttatagttattgatccggctcttttgtagatcctgtg +cgactcgtgcgctaattaagactggctctcttgcgcaggggatacgtttattctacgtac +ccgatttggttactactaagcggcctttcttcaaacttgcagttgtgacttacattccta +tttcttcaaagcagggaagggttacagggagagacttattgagatacgattggaatttcc +atgtacaatcgttaatacgcttgtagaccagcaactcagtatagagatccgtttcctaaa +gggtgagcggtaggggcaaggcaataagaaattactaaaaccctagttgttaatataaga +acgattcgaaacaataggattgcccaagggggtgcgaacatggtgtaaatcaaagagaaa +taggcattgttaaaacccgcacgtttctagtacgcaagaggaacgtcggtaaccagttct +caaagatcctaacctaaaaggggcttattctactttttccgacactcaatggacgagaca +aacatgaacggatagctttaggtctcgttgaatgcaaagaatagaatcgttattattaat +cggtttccattatctatatgcggtatagatctccgagaggaccctgtaaactagctctgc +ggtttaactggtgctaatagaccgccactatgttattgcttctagctcctagcgtcttat +catgttatacattaatgtcgcatattggacagtagccaggcttggatggatcgccgacaa +aaagaaaagactttccctgtaaggacttaactattacatataacttggatcattaatctg +caaattagagtaacggtctttcaccagcttcatattccaacgtggcgctagtcgatatcc +catgaagtttaaaactagaattggcagtctcacttcacagtgcgtatctatacgacaaaa +gtggtcgatttgcataaatatcttatcgatattcaggttattaccgattccttgctaacg +ctagaagtcacaccagagtaataataattccagacacctgtgaaataatcggtcactacg +gatagactagtaacgataatacgtatagtccataaaagttgaattttaggggctaaagat +attagcaatactggtctagcctaatcgtcgatagcaaagggctgtgaggatttctcctac +attttcgaccaattgtatcgataggaatagttacagtcacgcttgtagatgtaagagatg +acgttattcttagggttcttaagtcggggggtaatttaagaccactagtaaaggtagagg +cgtacacagtaaacgatattttgaaatcgtcaaaaaaaagtttacaacatcctttaagtt +agcaactgattttagtggcaaccttaacggttgaattgatctactaatacaggcctacac +cgaagggtacagataatgattcttactaccctaacatgatagagtcctgtcctatctcat +aggtcgacattttaaattcgtaatgagcaacgaagatcgtttcccaatttgcaacattca +cttatagacttcaggttatttcgtgctaacattaagatagaatataatcagtcgttaaga +aactattatccagctttcgtcaaccataaagattaaaaactgaaacttggcaagatatga +atagctatcctgctttaaccgatcgtatgagatgctttgtagcaagaaaagtgactagca +cttgtgtttagtaaagcgggagagtgcggtaattaatattaatatactattaagctacac +agcaaaggctgcaataatgttagtaagtagaacataaaggtattctccacaagtaataaa +tagtgtgagctaattgactaacttaactctcgcgacaagtgatgtggataagatgactca +tatcgtctttttctgtagtgccgacatcccacctggatcgaacaattccttctagttatc +gactttgattacctatcctattaaacagatagggttgtaaagtcagaaaatgatcggctt +gcgttggtctaccatagctagagttagaacgcgtagatagaggccttttgttgccaacgt +gggggtgggatgagtctgggcgagcgtgactttctttcgtgtccgaatttgtttaacatc +cattagattagatgtttgtgttttgggtctgatgtcctaactactttctcagtgaaacta +atgtcatcatccaagtaaaatagtccgatgaagtctccgttttcggccgaagcttgtcta +taacgtatataaagtcgctgaatttagaacacaccttatctatgttgtaaagttacttta +ttccaaaggacgtgcacgaagcgtgagtgtgggaaggaacttaaagtcggatcactcttg +tcagtgtagataagaatttctttcatacttcactggaatccggcgtatggatatctctac +cgcgtcatctggtggtgtctgcggtaaaaagtcttgctgcacgagtctgagaaatttttg +gtgccatcacatcgtaactgtacaacgaacaaatagcatcaggccttcttatccagcgtg +aagtctaattatttcacaagctttcctaagtatgtaaatccctcacttaatgatgcttgc +gccaatgaggatagaggacattgcatgtacgtaggactattctccaaggggtcttctatt +ttgttagcgaaaattgttacagcctaatgttagagcggcgtacgactttataccagatac +tttcattagatatgcaaatatccaattaaatcatagtagtatcgtggtatggacaatcaa +aaaagacccgttgtgatatgatgtttttctagttcgttctcatatatatagatcaacaat +gaataatctcatgatctataaccgatgtatatttatattccggttgactgctccggtgca +attcactacggacactaatgactaatatggcgcctttcatcagaaacgctaaatatgatt +aatgaattaagggagtattatctaattattagagagtagcagttagtctgatattttcgg +tgtatgtgttagccgttataatgctgtctttttatcagtgagaacagggagtgtgtagtg +ttgtatgcttcactttatgactctggttatatccctcggagaacaagaataagagtacga +gaagttcggtcattgaggatgaaatagaaccgctagacgaatggactcacgtttataaaa +ctatgtatcacagtactacagctaactctgaagtccgagaagcttttgtaggacaaaacg +ttataagtacctttcgcagaatacggccgtgcatacctgttataaggcgtagtagggaca +ccatgctatccctcatatagagctacactaataccattacatggtgactatcgtttacgg +ccatcatctgtaagcgatcatgcctcgttagcatccgtacaatctcgcatggcgtcactg +cagaaaaaccccgtgcggattttgagtcagaactattcgaagcttctcaatccttttcca +ttatggcatagcaagtgacgactcgtcagccatgggaataatagcactaatccgattact +tatgaattagaacccacatgaatgtgattctgcgaattgtctaagaatctaatgattttc +cggtgaatatggttgttgttatttattgaacttatattattaacatcacccttcgttagt +gatagtcagctatttccaagaggttccccgagcatttttaccattctctagtcatacaag +ttggagcgcttttaaatctttaggctgatcaaggcgttttgtctagaattctgcagatgt +tagattcgtgtgcaatccctcttgcatgtcagtaacaggtcacccgtttttcgttacata +tgctggtaaaatattcatagtaataactacaatacttgatttgttacgtaatgctcgtac +ataacacaatcgtattccacggaacagtaaagctctattattctgatcgagcctaagaga +ggatcacactacgctattaaagtcacgttcacgaaatctcaaacctcaactgctggtgac +cagttatagacagtgtaattccatattacatgtcaggcttaagctaacccgagcctttat +ataagctataatcaagaattagattggagtgcattttagacttatctatcgaaatagtga +tagtaagagtttatatgacctgatctagactgatgttctcttccacaacagccttaaggc +gtggagcctttcttatactattaggtcgcgtcgagagccctattcgtaatgttaacgaca +ctagactaatatacaatgagctaagaataacacaagtcacaagataatttacaaatcata +tatctacagtccacaaccatcactagcgattgcaaagcgttattggtactaccgctctaa +atcggtatgtgcaagacgcgttaactggttcaagcctctcctgctcgtgagactgaaaga +aatcgaaaatatggatgtgcctaattgttcttgtgagtcatgtgcaactatacagtttag +tttggtcaagactatgcaactattaacagcatgtgcgcattgaatatttggtgtcgattg +ataaatgccccaacgttccatcacgtctataagccgtgttactaatgtgtattagtgcat +acctattcagaccatagttcaactgttggactgaaggcccgtcttggggttcgtgaatga +gagtgcagtttcttgtcttttccttaactgacctaaatgaaggcaatcggtttatctaga +gtcatgcttaaggtgaatttcagccaatgggctcccattgagctagtatggtgctttacc +tttgtaagtggtggctttccttggtgtgctgactttaacacggcagagtgattatccgaa +gaatggataataagacgctggcaatattggctaataaagtccgatgagtttcaatcatga +ctgcgaggagatccatgcggtgtacctaaacctacatcgtatgtatttgctgacgttcat +tcttgatacataaagatccgatatcggtccactttgtttaccaaaagccctaccttcgta +acgatggaaatgtgaatgagagtgaaatacacgatggggatattgccggtgagtacaagt +tagaccacacattagaactgacctatattcgtcatcatagagatggagtatgaattgatt +ctgcgaagtacactggctttacgagtatctagacgccgcggtatatctcccgtcaatact +atgaaggtatatatatagaggctgaaaattcatgttcaatcctctttctaagagtgagtg +ggagccccttctgttgtcggagtaaaaaggcattattcctcaaattgtcagaagcaaagt +atacgtgatgtttgcttagaacaaaagagttaccttagggtaggtaaatctcgattcacc +gagagaagtgattttggcggtgtgcgattaattcttttgatgacagatctcattatttta +tatagctccctctttgtatttagagtttgcgtaggtaacctggcaaaaccatatcccggg +gggagagtgcgctgaacattttatacgatgtgattactcaaaggataaggttcgaggcct +ctatactcatggaactatcttataattataatggatcgtggctcattccacctatccaaa +cttctttgtgatctgatgctacgagtgtgaacaaacgtacatcttctaaggaatttggga +cgtttcatagctcgcatttcattcctgaaaacttaaatatttttaaaaattgattctact +gcgaggaactaaggtgtagacaagcccttagtaaccggtggatgtcgcttcagttttata +gcaaacattattcaatttcagtcttgactgaaattagtttgttagtgttagaggtccata +tgtcacatgcatatggtctagatgccattgtacagtaataccttagattagtattagcgg +catgcgtacttggatttcacttgtaagaatgagcttaggacggtcgcctgtagggctgca +aataggaatacttacaatttttgatgacttgttagcatatcgctatcacccataaaaaac +ctgatacttgatgagcgggtgattgagactatgtactgatataattcaatagctccaata +gatgaaacagctatgcgcctatttatgtcaaataatcgatgtgatacaagcttagagctg +aacgagcgcgagtggaattagcggtgatctctatcctaaaaagccacgaaatcgatccca +gaagctaatacccgaggtgtcaagcttgagttcagttaaatttgcatctcatgccccacg +aagaatgggtagagagtttgaaggtgcttctggattttcctaagtacgtggtaaaaattt +gatgtaaatgaacacctcctaatggttgtgttaaccacaaacccctgggtgaatctgatt +agccaacccagtgatctgatttcagttgtcaaatctcttttttataactaccttttgttt +ccataatttaaccggatctcataatgaacaaacgggtagaataatggtagcacatagcga +gcttgtctattcagaaatatggcctactcagaatgtattctccaaatcagtgttatgcga +aacgtaattttacgtgtaataatgatgatttcttatcggttccttgtactacaatactct +tgcccaacaaatactaagcataacagcaaaattcgaatccccctccttttaataaatggt +ttttcaatatagccgattcgtattcgttagtctttcaccaactattaacctggcatctaa +ttaataaaatcaccaaaggactctataatatgacagtcacttcggcctcttttaagacag +ttgattattgcaggtccgcaattgatggtgacatgcacaattagttagaatccgactatg +gagacaattaacaattgtagtgcccatttggtccagttgacttcaaccacgagttataaa +ggtattttaatttatagtcgatagtaccaacaacaagcacaatcataattatgttagaaa +acccagggggtaatgctctaaatccagctttaaggccagagtgcactatgaaatcgccat +tgatcattgtgtcattcgctgaacttggtgtctaggaggtgccgagtgagaatatcagat +accttatgaagcaacgattatatctggactagatcatgatgatcggaataaaacattgaa +ataagtccttatcaaggagcataaacattttatttaatttatacttcgtaaataaattca +gaattttttttcaagacattaatctgagtaaatgacggctagaaagggttcctactcgaa +tcgtagcctacgcatgtgggcagtaacctggcttgcgtttttactgaaacaaaggttcac +cggaaagaaggctgccacttttagcttcttgacgatctttagcgtcatatttttagatta +gtcgaaaaacggaaaacaaacttaacgaagctggttgcacggggtaccgagaaaccaaag +agcaggacaactccttgatcgggaagaactgaaatagacagctgtcattttcattggtca +acttatcaatataacgaccaccgtagtgacgcttgcatgaaaatactgaggatgtaaact +atagccagtcaggcccgcgtgttgactaattgatgaagcaaacaaaatagccggtattcg +ttaaaaggaacgggttgccagctacagatatactctaggtatatcccaaacaagagacgt +cctttggctgttgtaatcggtcataatacttgtcacataaacaagatcgctgaattaaac +attaaacagttagtgatacacaatcgtggttggggctgggatgtgcaataaaaagtcatc +tatcgtctatcacagagcgacgtaaatttagacaaacattattatttcttgacaatggaa +tcgataagcgttcctctaacttggtatatatatctcgaccccgggattccagccattctt +gtatgaagatttaaccatttaactatgcatagttgaatggtaaggaaaatgatattgact +gcaacagattttggatgcaaaaatatttgtgaattattggttatatactggttgtatagc +acaatcattaggtcctagaaggcatactcaacctcagcgagagagctagcatgcataatt +gtaccgcccatattaatattcctgaaatgatttcttacattacgcccaatttcagtcatc +gaacacccccatcaatttacccgatagagaacgtgatcatacgcaataccctatgcgaac +gtccactctatagcgtctgtatacaatgattattcgttccatttacaacgttaagtaatt +taaacttacataaggacaaggaaatccgcgaacctcctggaatgtatgagttatttatgc +agttaacttcgtctcgaccggaactaaaggcgtcgtacgaatgaaaggccacttttagaa +gagacctttgtatccattgtggagaatatcataaattcaagatggggtgtcatgctattc +ggtcctaaacattcttaatggctgttctattgttagtctgatttaaaatggaaccatagc +acgaatagttagatagggctcatacccctgtaacgatctacaaatccttccccgggtgtg +tgcgttagcgacggaaagttttacggtttgtgatcaaagaacactcacacgtcagattat +tacactgatacgaattatttcagtcgacagtaattgaatagaaacttattaacgccagca +cctgacacggtaagtaaggcaggtctgaactgtttgactgtaaaaaaatggtaatatttt +taaaaatcttgatttctatatcaaatgatgtgtagttttttctctgttattaaaatccca +gtgcgcgaaatttagatcgttacgactcacgtacaagatcacacatcacacgcgttagcg +aaagcggaatggctaatacagccctacgcaacgtagtgggatcaacatatggacgaattt +atgctcaatgagccaacctcccccgcattgcggttcattttaaggcctgggtaacatcta +tcgtttagataatcaaaggaatccgactatgcaattgtctgacttcatccgctctcaagt +ccaatgcaggcgctacgtgtttctttaatcaataccatattgaaatcgtaatacgataat +tgttgctattgactacaggttatgaaaaaacttactttgcgggtacatgcatatttttgt +accacattattacgcgatatctctcagtgtactctaaattaaaccctcttcgaacatttt +agttcctattcgtaaacacgtgctacgcggcaatttgccggtcgtagaatggacaactcc +agttcaactgcatgtaactcatagctcgcgttagtataaattgactagtagccatgggac +aaagtaactagtcagcggaaaagatccctttaaagatatatgcaggttgcaagcataaag +ctcattgctcgaggtgcaccgtggtattccaaaagcgtctctatcgtatcttctaatttt +gggccgtgagaatcgaaactactctgatttgctgcacacgttaggtaatatcgcccattt +tcccgtataagctccgtacttatacgaactacacgaccttttaagcattagccgctcata +tcgtgattcgtgtacagatgagtctattaaaattacagacatactccatatctcgctcct +tgaactttgaataatgcgctaacttgtactatgaataggcagaacccaactttcccgttt +gcgtcaagcggggaaacgatacatgttgtcagatttatgattatctagttttagatcacg +tttaccgataatcggctgtggtctgagcagtcctacactgagtatttacttcagcttcat +atcggtccgaaaaaaggttgtgaccgaatgtcaaaatacggagtacgatgggcatctttt +ttcgagtcgcggttgcagggcagcaaaaggcttaaaccatttttacgatttttactatag +cggtcatgaagtgcgaaactgcttgcaaattttctacacacattgtggctcttgtccttg +aagcttatggcgaaaatttgaaacatagtataccagggaaagcgcgaattatttggtgac +taatagtccgtgggtttgagccatatacctaacgccataaactacgtggtgctttagatg +caatctaaacagaacagaaagcgtagcgctcatcagcacagactaactttttcagtttga +gtcgccggagggacttcgagacaagaacgcgtcaagtcgcttgcgcggcacggattcgat +tgggcggctcaatcttgcctaatttctactattgtcagctgtacgactgtactaagtgta +tagccccaaataaaagaagtatcgatgcgtctttatgaccaaaggtcttataattgaagc +gcacttccgttcatcaaattaaatcctggcttacccgattctccggaagtctgacctaga +gattgacgacggccgcgtattattgagacctcttcaggattaatcaataacgaagtagtt +gatctgtttggcgacgtaccttaagccgactccgctacacgagtttctactaaaccaatg +tagccttatgcttagatgaataccgtcctaattagatattccggcataacagcagtaaat +tatctgttcaatggacgaacattgaattgttagtattctacacaagtcaggcctcgtaaa +tattaggtaaggccgtgggataacctacgtgatatgcttgagcttgcgttgcaagctctc +gttaatcattaatttaggtgcgtgagggttaaacaccagcatattctatatgctagacgt +cttccttaaaggatcgtagtattataattaataataagaaatatggttgacgtctagtca +gcgggcatacgctgctctatatactggcattattcaaaacttgacggtaaaaaaacgaat +tttaaggcgctcacgtcgaatgagccgaactcatgggaaccaaaatgtcacagaaaacac +ctctttattgccaagcatgcaataaaaaaaatgttaatagtacgtttacgacattttatt +ttataataaagagaaactattacacctattgatatgataggacgtaaattaacgagtagc +ctgcatagaggcaaatgaggtttctacatggtatagacctgatgctgaaacatcgatgag +ttttggtcccctcgctcgttgaaatctagtcatttactactgtctttcgagctattatac +cacttcactatgtggtgtttctttgctatgtatggggctagtcaaacatgatgactatag +ctacaactcagagagcgggcgtgttaagagtatctcatgctagaactgcacgacgaactt +gatacaaagtaacaacatttacgattccacaaggtgactttgaagaaacatagtttaatt +ctctgcttcgatcatttctataaaccggtaccatcgcagcggatagatgcataacatttc +tactactccaggcatcttaaaacacacgtagtacttcactagattaagacacgataagtg +tataacttggcagtgggaagcaaggagattggcgaactcctggcatctgttacgttttgt +tcaggctcggttgttgataatgtccgactcctgccatattgaagactcgctcgagggaga +tcgggattcgttgattataagtacacgtgttccgtaatactatgaggcagtgattcaaaa +tggcacttctgacttacatgactaggtattattaccacggaagcgttaaaggcacactct +tatggacttaagattgcaagtgccttcttctagcctgaattcgcgggttcaacacaaact +ctctttagacatccgttgcctaaaggctgagacgtaggggcaaccctttaactatgtact +aaaaaactagttggtaatttaacaacgtgtccaatcaagacgatgcaccaacgcggtgcg +aaaatcgggttaagcaaacacaaataggaattgtgataaaccccaccttgagaggtcgca +agaccaacctcgggaacaacggctctaagagaataacctaaatccggatgagtagactgt +gtaactctctaaagggaagtgaaaaaaagctaagcatacatttaggtctcctgcattgca +ttcaattgaatcgtttgtattatgagctgtacagtagctatatcagctatagttatccca +gaggaacaggtaaactagctctgagcgtgaaatccggatattagaacccctagatgggat +tgattctagctaatacaggcttatctggttttacagttatctagatgattggtaaggtga +aacgcttggtgccttccaccacttaaacaaaagtattgcccgggaagctattttctaggt +attataaagtcgagcattaatatcaatttgacagtaaaggtctttcaccagcttcatatg +ccatagggcccatactcgatttaaattgaacggtttaacgagtattggaactctcactta +taactgagtagctatacgaaaaatctggtccatttccagaaatttattatcgatttgctg +cttagtacccaggaagtgataacccttgaaggcacaacactgtaataagttttcctgtca +catctgtaatattcggtcactacgcattcacgactaaagataattactatactaattaaa +agttcaatgttagggccgaatcatagtagaaattctcgtctagcctaatcggacttacct +atgggctgtgaggatttatcagtatgtggacaaaaatgctagagataggtatagttaaag +tcaccatggtacatctatgtgaggaagtttgtagttcgcttctttagtccgggcgtttgg +gatgacaactactatacgtagagccgtactcaggattagatagtgtgaaagagtcaaata +aaagggttaatattaatttaacgttgcaaatgtgtttaggccaaacattaaccgttgtag +ggatattctaatacaggccttcaccgaaccctaatgataatctgtcttaataacattaaa +tgattgtctccgctacgagctcttagggcctcattttaaatgactaatgtccaaagaaga +gactttcccaatttcaatctgtcacgtatagacggcaccttagtgagtcatatcattaag +atagaagattatcaggagggaagtttctattatcaaccgttacgcaaccataaactttta +aatctcataatggcattgagatcaagagctttcatgatggtaaagttcgtatgtgatgct +ggggagctagatatcggtataccacttcggttgtggtaagcccgagtgggccgttagtaa +tattaatagacgattatccgacaatgcattcgctgaaataatcttacttaggagaaatta +atgctatgagccaaaactatttatgtctgtcacattattgactaaagtatctatcgacaa +aactgatgtccataagttgtagcagatagtcggtgtatggtgtcaccaatgaaaacctcg +agcgaaaaatgaattatagttatccaatttgagtaaattgcctattatacagataggctt +gtttagtcagataaggttccgcttgaggtgctctaacttagcgagagttagaaagcctag +tgagaggcattttggtgccaaactccggctcgcatgagtaggccagagagtcactttctt +tcgtcgaagaagttggtgaacagccttttgattagttgtttgtcttgtggctatgtgcta +ctatataagttagaacgcaaactaatctaatcagcaaagtaaaataggaccttgaacgag +acggggtacgccgttgaggctcgagatagtagataaactagaggaatgtagataaaacat +tagctagggggtttagttactggattacataggaagtgcaccatcacggtgtgggggttc +gtacgtaaagtcgcatcaatattgtcagtggacttaacaagttcgtgcataatgaaatcc +tatacggactttgcatatctctaccgactcatctggtcgtctatgcgggtaattgtattg +ctccaagtggatgactattttggcgtcccagcacatagtaaatgtaaatccttataatag +cataagcaattattagactgcgtgaagtcttagtagttctcaagctttacgttgtatgta +aataactcacgtaatcagccgtccccaaatcaccattgaggtcattgaatgtacggagca +ctattatcaatgcggtatgcgattttctgagcgattattgttaaagacttagcgttgagc +cccggaacacttgattacagattctttaaggagttatccaaatatcattttaaataatag +tagtatcgtgctttggacaataaaaaaagacccgttctcttatgttgttttgcgacgtac +ttctctgatatatacttcaactatgaagattctattcatcgataacccaggtatatttat +atgcccgttcactgcgcagggcaaattatctacggacaataatgacgtagttggacccgg +taagaactaacgcttaatatgattaaggatgtatgccagtattatcttattatgtcagag +tagaagtttctctgagattttccgtcgttgtggtacaccggatttggctctctttttaga +actgagaactcggagtgtgtagtcttgtttccttcaatttatcaatatgcttttataccg +ccctcatcaactataacaggacgacaagttccgtcttgctccatcatatactaccgatac +accaatcgtatcaagtttagtatacttgctttctctcttctacagcttactcgcttgtcc +gagaagcggttggtgctcataaagttagtagtaaatgtacaactagtagccagtccttac +ctgtttttacgactactacggacaccatgagatacagaagttagtgctacaattatacca +ttacatgctcaatatcgttgtcggccataagatcgaagagtgcatcacgcgtgtgaatac +gtaaaatctaccatcccgtcaatgcacaaaaacacactccccttgttgactaacatcttt +tacaagaggctaaatcattgtccaggatcgaataccttgtgtacaatcgtcacccatcgg +aagaataccacttttccgatgtagtatgatttacaaaaaacatctatgtgagtaggccaa +ttgtagtagaatatattcatttgaccgtcattagccttcttcttaggttgtgtacggata +gtaggtacataaaccgtcgtgtggcatacgctgcgatttcatacagctgccaacaccttt +tttaccaggctagagtcagaaaagttggagccatgttaaatagttaccatcataaaccac +tgttgtctactagtctgatcagctttcatgcctgtgcaagcaatatggattctcacgtaa +tggtaacaactgttgcgttacttaggctggttaatttgtcagagtaataaatacatgtct +tgttgtgtttcctaatcctcggaaagtacacaagcctaggaataggaaaagtaaagctct +tttattctgatagtgactaactcaggatctaaatacgcgattatactaaccttcaccaaa +gctcaaaaatcatctgctggtgaccagttatagacagggtaattcaatatttaatgtctc +ccttaacatttcaccagcatggattgaagatagtataaagttttacatggcagtcattgt +gtcacggttctatacaaattctgatagttagacggtatttgaaatgtgcttctagcatgg +tatcttacacaactgaatgaacgactggagccgttcgtatactatttgcgagcctcgaga +ccccgtttcctaatgttaacgaatatagtataatataaattgtgatatgaataacacaag +taactacagtttggacaattaattgttctaaactaaaaatcattcacttcagatggcata +gagttatggctactacacatataaagcggtatgtgaaacacccgttttagccggaaaccc +tctactgctcgggacaatgaatgatttccaaaatatggatgtgcagaattgttagtgtga +ctcaggtccaaatagacactttagtttcgtcaagtcgttgcaaagtttaaaaccatcgca +gcattctttatttggtctacattgagaaatgaaaaaacgtgacagaaagtctagaagaac +tgtgaataatgtctattactgattaactagtaagacattagtgcatctggtccactgaag +cacccgcttggcgttaggcaatctctgtgaactgtcgtggctgttccggtaatgtacgaa +agcaagcctataggttgatcgagtcgcttcattaaggtcaatttcacaatatccgatcac +attgtgctaggttcgtcctttaccttgcttagtgctgcatgtacggggtgtcatgacttg +ttatcggcagactctttatcccaagaatggataatatgtacatggaaagtgtccataatt +aagtcccttcactgtaaagaatgactgccacgtgatccatgaggtctacagaaaccgact +tacttgctttttgatcaacttaattatggattcataaagttcagatatcggtacaattgg +tgtacaatatgaaattaatgaggaaacatggaaatctgaatgacagtgatagaaaagatc +cccatttgcccggtcagttcatgttacaccactcattagtactgtaagtgtttcgtcagc +attgagatccacgatcatgtgtttatgccttcgaaactggatgtacgacgatcgagacga +agaggtatatataacctaaatactaggtacgttgttagagagacgatgaaaattaatcgt +caatacgctggcgaacactgagggggacccaatgctcttctcggtctaaaaaggaatgtg +tcagaaattggtcagttcaaaagtagaccggatctttgcggagaacaattcacggaacgt +agcgttgggaaatatcctttctaccacacatcggattttcgccctctcccattatttatt +gtgttctcacatagaattattgtttagacatccctcgttgtatggagagttgcccgagcg +taaaggcataatccatataccgccgggtgagtgacctgaaattgtttttagttgggattt +cgctatggattagcttacacgaagagattctaatggtactataggataattataatgctg +cgtggcgcagtacaccgttacaaacgtcgttcgcatatgtggctaacacggtgaaaatac +ctacatcgtatttgcaatttcggtcgtttcatagagcgcattgaattactcaaaaattat +atatgttgattatttgattagactgcgtggaaagaaggggtactcaagccatttgtaaaa +gctgcatctcgcttaagtttgagagcttacattagtctatttcagtcttctaggaaatgt +ctgtgtgagtggttgtcgtccataggtcactggcatatgcgattcatgacatgctaaact +aagaaagtagattactattaccggcatgcctaatgcgattgcactgctatgaaggtgcgg +acgtcgcgcccatgtagccctgataataccaatacttacatttggtcagcaattctgaca +ttatacctagcacccataaatttactcagacttgaggacaggctcttggagtcgatcttc +tgtttgtatgcatgtgatcatatagatgaataagcgatgcgactagttagggcatagtat +agatctgtgtatacagttcagctgaacgtccgcgagtggaagtacagctgagatctatcc +taaaatgcaaccatatcgttcacacatgatatgaacccagggggaaacattgagttcagt +taaattggcagcgaatcccccaagaagaaggcggagtgacgttgaacgggcttatggttt +ttcagtacttcctccgtataagttgagcgaaatgtaaacagaataatcgttgtgttaaca +acattaaaatcgcggaatatgatgagaatacacagtgtgagcatttcacttgtaaaatat +ctttggtagaacttactttgctttaaatatgttaaaccgatctaataatctacaaaacgg +tagattttgcctagcacattgcgtccttctctattcagatagaggcaatactcagaaggt +tttatccaaagcactgtgttgactaacctaagttttagtctaataatcatgattgattat +aggtgccgtggactacatgactcgtccacaaataatacttagcagatcagcaattggcca +agcacccgacttttatttaatggttgtgcaatagtccagattcgtattcgggactctttc +aaataatagtttcctggcatctaagtaagaaaagctcataaggaagcgatattatgacac +gctcttccgccgctgttttgaaacttgagtattgctcgtccgaaattgagggtcacttca +aaatttactgagaagacgaagatcgactaaagttaaaatgctagtccacagttggtcaag +ttgaattcatccacgagttatatagctattttaatttatagtcgagtgtacaaaaaacat +ccacaataagatttatcttagaataacaacccccgtatcatcgaaatcctccgttatggc +ctgactcctcgagcttatagcatttgtgctggcgctcttgccaggaacttgctcgcgagg +tggtgacgagtgagatgatcagtttcattatgatgatacgattttatcgcgactagttaa +tcatcatagcaagtaaaatttgaattatgtcattatcatgctccattaacaggttattta +attgatactgacgaaattttttcacaatgggttttctagaatttaatatcagtaattgaa +gccttcataggggtcctactagtatcctacacgacgcaggtccgcagtatcctggaggga +cgtgttactgattaaaagggtcaaaggaatgaaggctcacaatgttacctgcttcaccat +agtgagccgatgagttttacattagtactaaatcccaaatcatactttacgatgaggctt +gctagcgctaaagagaatacatacaccaccacatagaattgttagcgatgatatcaaata +gactcctggaagtgtcagggggaaactgttcaatatttcgtccacaggactgaccaggca +tggaaaagactgacgttggaaactataccatctcacgcccgacgcttcactaattgatga +tccaaaaaatatagcccggattcctgattagcaaagggttcacagagaaagatattatcg +acgtatatcccaaaaaacagacgtaatgtgcatcttcgaatcgggatgaatacttgtatc +ataaaaatgtgacctctagtatacaggttaatgttagtgatacacaatactcgtgggcca +tgggttctcaaataaaatgtaatattgcgtcgatcactcacccacgtatttggtctaatt +atgttttatttagtgacaatccaatagataaccggtcctattaagggctatatttttagc +gaccacgcgtttaaacaaaggattgtatgtagatggtaccagtttaattgccagtgggca +atcctaagcaaaatgagattctatcctaaagtttgggcttgatataagatttcggatgta +tgggttttataatcgttggagagctcaatcatgagctaatacatggatttcgctacctca +ccgagagaccttgcatgaagaattctaaccaaaagtttaataggccggattggattgagt +taattaagaccttgttcagtcatagtaaaaacccttaaattttaccgattgacaaagtga +gcagtcgcaataccctatgcgaaacgcctcgatagtgactaggtatacaaggtttttgag +ttcctttgaaatagttaactaatttaaaattaattaacgacatggaaatcacagaaccta +atgctttgtaggagttatttatgctgtttactgcctctacaaccctaataaagcagtcct +aagaatgaaacgcatcttttagttcagaaagtggtatccagggtggtcaatttaataaat +tcaacatcgggtctcaggatattcggtcatataatttattaagggctcttcgagtcttac +tctgagtgaaattggaaacagtcatccttttcgttgtgaggcatcttacaccgctatcga +tatacaatgcattccaccgcggtgtcccgtacacaaggaaacttgttaccttggggatat +aagaaaactcacacgtctcattattaaactgagtacaatttttgcacgagaaagtaatgc +aatacaatatgatgaaagccagctaatgaaaagggatggaacgcacctcggatctgttgc +actggattaaaatccgattatttttaaaaatattcagtgctagagcatatcaggtctact +tttttatctggtatgtaaagcccacggagcgatagtgagatccttacgactcaacgaaaa +gttataacataactcccgttagccaaagcccaatcccgattactgccctaccctaacgtc +tgccatctaaatatcgaacttgttatgatcaatgtgactacctcccaccctttccccttc +atttgttccactggggataagctagcgttttcagaatcaatgcaataagaatagccaatt +gtctcacttcatcagagctcttggcaattccaggcgctacgtggttctggaatatattca +tttttcaaatagtaatacgtttagtgttgctattgtctacacgtttggatattacgttat +gtgagcggacatcaatagttgtctaactctttagtaagccagagatagcactcttagcga +atggataccatcttccataagtttagttaatagtccgaaacaactgcttcgagcatattt +gaacctccttgtaggcaaatagcctcttcaaagcaatcttactaatagatagagtttgtt +ttaagggactactagaaatgggacaatcttaatagtatgacctaaactgacatttaaaga +tatatccaggtggcaagcataaagatcattgcgccacctccaccgtgggattacttatca +gtcgatatcctatatgctaagtttgcgacggcagaatacaaactaagctgagttgatgct +aaccttacctatgataccccattggaccggttaacagccctacttattccaaataaaaga +acttttatgctgtagaagctattatagtgatgcctggtaacttcagtatattaaaatgac +acacatacgccatatagagctcctggaactttgaataatgagcgaacttcgaagttgaag +agcaagaaaccatatgtcacggttgcctaaagcccggtaaccagacatgtgctatcattg +atcattatcgaggttttcataaccttgacccattatcggctgtgcgcggacaagtactta +aatcactagtttcttcacctgcttatcggtaagaaataaggttggcaaagaatcgcataa +gacggacgtagagccgcagcgttgtgcgagtccaggtgcatgcgcagcaataggatttta +aattttgttccatttttaatttagccgtaaggatgtccgtaaatgattgaaaattggatt +caatctttgggcctatgctactggaacctgatcgacaaaatttcaaacatacgttaactc +cgaaagaccgtatttttgcggctagaatagtcagtcgcttggagccatataccttaccac +ttaaacgacgtgctcctgtagttgaaatataaacagaacacaaagactaccgatcatatc +aactgaagatctttgtaactttgaggcgaagcaccctcttcgagacaactaagagtaaag +taccgggcgccgcaaggagtcgattgggaccctaaatcttgacgaattgctaagaggctc +agagctaccactgtaatttctctagagcccataataaatgaacgatacatccgtaggtag +cacctaagggattataatggaagccaaatgcagttaataatattatatactggcgtacac +gattcgacggatctctcacatagtgattcacgacccccccctttgattgacacagcgtca +gcattttgcaagaacgatcttctgcatagggtgcgccaccgtaaggatgacgtcgaagct +acaactgggtataatttaccatgcttccctgatgctgagtgcaatacactaagaatgagt +ttttaccccatatcaccagtatttgttctgttattgcgaagaaatggctatgctgagttg +gcgactaaagtcacccatcctttttattaggtaaccccctcccttaaactaactgatttg +ctggagctgccctgcatacatatactttatcatttatggacgtccgtgacgcttattatc +caccatagtcgatatgctacacggattcattaatggatcgtaggagtttaagttatattt +actaagatcggtctcggctactatcccgccttacccggcgctatttacggccatttttaa +tatattgacggtaattattcctatggtttcgaccgcacgtccttggacaagaaagaatgg +caaaaaaaatgtaaaagaaaaaaaatattgagtccctaccatcatataaaaaatatgtga +tgagtaacttgacgaaatgttagtggttattaaagactatctattacaccttttgttttc +tgtcgtagtatattaaagtctagaagccttacaggaaaatcagggttatacagccgatac +tccgcagcatgaatcatcgaggaggtgtcctaccatcgcgccttgtaatcttgtctgtgt +atactgtatttagaccttttatacaaagtaaatatctcggctttatgtgattgggagggg +cctactcaaacatgatgacttgacctaataatcactgtgcgggcgtcttatgactagcta +ttccttgaaatccaccaccaaatggttaatatgtaaaaactttgacgatgaaacaaggtg +aatgtgtagttactttgtgtaattagctgcgtcgagcattgcttgtaaaaccgtcaatcg +cacacgttacttccataaaatttctacgaatacacccttcttaaaaaaaacgtaggaatt +cacgagtttaacaaacgataactgtataaagtggaagtccgaagaaagcagatgcccgaa +ctactcgaagatgtttcgttttcttaaccataggggcttcttaatggcccactacgcaca +ttttgttcaagcccgagagggacatccccattacgggagtattactaaaactgttccgta +atacgttcagcaagggatgaaaaaggccactgctcaagttattgacgtgggagtattaca +tcggaagcctgaatcccacactatgatggtctgtacaggcctagggactgcgtctagacg +gtattaccggcttctaatcatacgatcgtgagtcttaacgggaagtaaggctcacaccta +ccccaaaccatttatctatgtaagtataaaattgtgcgtaagtgttcaaagtggacaata +aagacgtggcaaaaacccccgcacataagccgctttagatttcacaaataccaatgcggt +taaaaacatccttgagtcgtacatacaccatactcgcgttaaacggatataacagaagat +aataaatccggatgtggagtcggtgtaactatagaaagccaagtgaaataatgcttacca +gtcatttagctatacggctttcatttcatgtcaagagggtggagtttgacctgtacagtt +gatatatcaccgatacttagaactcacctaaagctaaaattgctcgcagcgtgtaatccg +catattacaaacaatagatgggattcattatacataagacacgatgatctgctttttcag +gttgcgagatgttgcctatcgtcaatcgagtcctgccttacaccacttaaacaaaagtat +tgacagggaacctattttcgaggtattatatagtccagcttgaatatcaatttgacagtt +aacctagtgaaaatcagtaagaggaaatacgccacattctccagtgaaattctacgggtt +atcgtctagtccaactatcaattataactcacgagatataagtaaattctcgtacttggc +ctgatttttattatactttggatccttagtaaacaggaagggagaaaccttcaacgaaaa +acactggattttgttttactctcaaagctcttatatgacggaaataccctgtcaagtctt +aactttattactagactaatgaaatgggcttggggtggccagaatcatagtacaatttag +cggatacactattcggactttcctatcggctgtctggttggataagtatggggactaata +ggctagacatacctatacttaaactatacaggcgtcatctatctctgcaactttggagtt +ccctgatgttctcccgccctttgggttcacatcttctataccgacacccctaataacgat +tagtttgtgggttagagtaaattaatacggttaatattaatgtatcgttgaaaagctggt +gtcgccaataaggtaaccggctaggcagagtatatgtcacgaagtataactaccctaatg +ataagctgtaggaataaaattaatgctgtctctaagcgaagagatatttccgactctgtt +ttaatgacgaatctcattacttctgacttgcaaatgttcaatatggcacggtttcacggc +acctttgtgacgcatataatgaacttagaagattataacgacggaactttatatgataat +ccgttacgattaaagaatctgttaaatatcataatggcattcagttctagaccgtgcatc +atggtaaacttactttctctgcatggcgacatacatttcgctattcaaattcgcgtgtgg +ttacacccactcgcacctttggaatattaagagaagatgatcagaaaatccattcgctca +atttttctgacgtacgtctaatttatcctaggagacaaatcgttttatgtctctcacatt +tttgaagaaaggttcgagagacaatactcaggtcctgaactgctagaagatactcggtgg +agcgtggcaacaatgaaaaactcgtgacataaatgaatgatacttttccaagttcagtta +agtgaatatgtttaacatacccggcttttcgatcttaagctgacgctggacgtgcgagta +atgtcagtctcttacatacactagtgactccaagtttcgtcaaaaacgccccctcccttc +tcgagcccactcacgctatgtattgacgcgaacttgttcgggatcagacttttcaggagt +tcggtcgcgtgtccctatgtgctaatatataagttagatcgcattagatgctaatctgaa +tacttatagacgaccttcaacgagaacgggtaccaccttgaggctagagttaggtgtgaa +acgacaggtagggacatataaaatttgagtgcggctttagttaagggtttaattacctac +tcaaacatcacgctcgcgcccttcgtacgtaatcgaccatctagaggctaaggggactgt +actaggtagtgattaatgatatcctagacgcacgtgccttagatcttcagactctgatgg +tccgcgatcaccgtaattgtagtcctccaactcgatcactttgttggcgtcaaagaaatt +acgatatctaaatacttataatacaataaccaaggatgagaatgactcatcgcgttggag +ttatattgcttgaagttctatggaatgaaagcacgttatctgccgtcccaatatctccag +tgagctaattcattggacggtccactttgatcaatccccgaggagatgttcggacacttt +agtctgtaacacttagcgttgagaccacgaacaattgattactcagtcttgaaggtgttt +tccaaagttcattttaaataagactacgataggcctttcctattgatataaactacccgg +ctctgttgttcgtgtgagtcgtacttctctgtgtttttctgattatagcaagattcgatt +cttagtgtaaacagcgatttttatttgacccgtcaatgagaagcgcataggatctaagca +aaattatcaagttgtgccacaaggtaagatctttccagttattgcaggtaggatgtatcc +cacgttgatagtatgaggtctgacgtcaactgtctaggagagttgaccgcgtgcgggtac +accggatttgcatcgatgttgagaacgcagaactcccactgtcgtggcggcgttcctgat +atttagcaagaggcgttgataaagccctcatcatctagatctcgacctcatctgccctct +tgctccatcattttctacacagactactttcctatctacgttagtataattgctttctat +cttagtatcatttagagcttctccgtcaacaggttcgtgctattaaagttagtacgaaag +ggacaacttgtagcaacgcatttaatcggttttcgactacttcgcacaaaatcagataaa +gaagtttgtcattctattagacattgaattgcgcaattgacttgtaccacttatgatcga +acactgaatcaagactgtgattaactaaaatagacaagccactatatcaactaataaaaa +cgcccctggtggtcgaacatagttgactacaggataattaattggactggagccattaca +ttctctacaatcgtatcacttcccaagtagacaactttgaccttgtagtttcatgtacaa +aaaaatgctttcgcaggagcacattggtagttcaatagtttcatgggaacctcttgagcc +gtcttctgtgggtgtgttcggatagtaggtactgataaagtcgtgtcgctttcgatgaga +gggaattcaccggaaaacaccttggttaacaggatagtctatgtaaacttcgagacatgt +ttaagagttaccagcttaatccacggtgctctactagtatcatcagctgtcttgcctcgc +ctagaaatatgcattctatcgttatcctatcaacggttgccgtactgagcagccttattg +tggaagagtaatatataaatgtagtcttgtctttacgaagcagacgtaagtaataatgac +ttggaataccaaaactaaacatagtggattatcatactcaagaactctccagataaataa +cagtttttacgatacgtcaccaatgagcttaaagattaggatcctcaaaactgatacaaa +cgctaattcatttgttattggatccagtatcagttaaactgaatggagtgaagattgtag +aatgttgttctggcctcgcatggggtctaggtgatatacaatttctcatacttacacggt +agtggaaatctgattctagcttcgtagctgactatactcaaggaaccactgctcaaggta +ggagactagttccgaccctacagtcaaagtggccgaagcttaaactatagactagttgtt +aaatgctgatttcaagatatcatctatatacagtttggacaattatgtgtgcgaaactaa +aattcatgctattcagatggatttcacttatgccttagaaacagatattgcccgagctca +atcaacagttttagccggaaacaatcgaagcatagggacaatgtatcttttcctaaattg +ccatgtgcagatttctgagtgtcacgaagcgcataatagaatcttgtgttgcctcaactc +gttgaaaagtttaaaacaatcgcagcagtctttttggggtctactgtgtgtttgcaaaat +aactgaaagaaacgcttgaacaactctgaagtagctcgagtactcattaaagtgtaacac +attagtgaatatcggccaatgaaccaaacgcttcccggtacgctatctctctcatcggga +ggcgatgtgcaggttatctacgaaagcatccctttacgttgagagtgtcgatgcatgaac +ctcattgtaacaatagcccagcaaattctcatacgtgcctcagggtccgggcgtactcct +ccatggaagggcgcgcatctagtgttataccaactcgctttttaactactatgctgtagt +tctacaggcatagtggccagtattttctaacttctctggatagatgctctcactcctcat +ccatcacggcttcagtttacgtcttacttgcttgttcagcaacggatggaggcattaagt +atcttcactgttccctaaaattgctgttcaatatcaaagtaaggacgatacagggaaagc +tcaagcacactcattgaatactgccccagttgcaacctcacttaatctgacaaaaataat +gactactctaagtgttgcggaagcagtctcttccacgagcttgtctgtatcacttcgtat +aggcatgtaactcgatagacacgaacaccgagtgagaaactatattcttgcttccgtgtg +tgtgacaccaggtaattgatgcggatataagctggagatcactcacgcccacacaaggcg +ctgctacctctttattccaatgtgtaagaatttgctaacttcatttctagaccgcagctt +tgcggtcataatttcacggtacggacccttgggttagagacttgataacacacttcgcag +tttccaccgcgcacatgttttagtggcttctaacatagaatttttgttgtgacataaaga +gtgcgtgggagacttgcccgaccgttaagccataatcaattgaaagccccgtgagtcaca +tctaattggttgtactgcgcatttagctatcctttagctgactcgaagagattcgattcc +taatataggttaattagatggctgccgcgcgaagtaaaacgtgaaaaacgtagtgcgcag +atctgcataactcgcgcttaattacttatgagtagttccaagttcgctacgttatgagag +agattggaattaagcaaatatgttttatggtgattttgggatgagaaggactgctaagta +cggctactaaacaaatttctaaaaccgccatctaccttatcttggagacatttaagttgt +atatgtcactagtctagcttttgtctgtgggacgcgttctcggaatgagggaaatgcaag +agccgattcatcaaatgcttatctaagaaagtagtggactattacaccaagcacgaatgc +cagggaactgctttcttgctcaggacctcgcgacaaggtaccccgcataagtcctagaat +tacatttggtcagcaatgctgacatttgaccgtgaaaacataattttaatcagaaggcag +ctcacccgcttgctctagatcttatctttgtatgaatgtcagaatttactgcaatatccg +ttccgaatagtgagggcttagtatagttctctgtatacaggtcacatcaaactccccctg +tcctagtacagctctgagctttaattaattgcatacatttccttcaatcatcagatgaaa +acaccgcgaatcatgctcttctcgtatagggcaagagaagcaacaaacaactagcccgac +tcacgttcatccgccgtatccttgttcagttcttactccgtattaggtcagcgaaatcta +atcagaataatcggtcgcgtatcaaaattaaaatcccgcttgaggttgacaattaaaacg +ctgagcagttatcggctattagatagtggggtgaaagtaattggctggaattatgttaaa +acgtgatattaagctaaaatacgctacttgttgccgacctaattcagtcattcgatattc +agttagagccaagaataacaagcttgtataaattgaacggggtgcactaaacgatgtgtt +actctaatattcagcttggagtatacctgaaggcgaattcatgtatcggccaataataag +acgttgaagatcacaatttggactagcaaaagaaggtgatttatgcgtggggattgagtc +cactgtacgagtacggtctctggaaaattataggttcagggaatataaggaagtaaagat +aattaccaagagatttttggtatcgctatgacccagaggtgttctaacgtctgttttgat +ccgcagaatttctgcctcaatgcatatttgacggacttgaactagagcctctaaagttaa +atggcgacgcaactgttcctaaacttcaattattactactctttttttcctagggtattg +tagaggccagtggacaaaataaatcaaatttaagatgtttcggacattaacatcccccgt +agcatagaaatcatcagttatccaatctctcatcgagcttttacaatttctgctggcgct +atggacagcatatgccgcgagacctccgcaagactcacttgatcactgtaagtatcttca +ttagaggttagagcctatagttaagctgctgacctagtaaaattggtattttctaatttt +attgctcaagttaaaggttagtgaagggataatgacgttatttttgaacaatgggttgta +ttcaattttatatcacgaatggaacccttcattcccggcataatactagacgacacgaac +aagctccgatctatcagccaggcacgtgttaaggtttaattccggcaaaccaatgaagca +tcaaaaggtgacctgatgcaacttagggtcacgatgagtttttcaggactacttattacc +tattaataagttaacatgagccttcataccccgtaagacaatacatactccaccaattag +aattctgagccatcttatctttttgtatcatcgaagggtatggccgaataggttaattag +ttactcctaacgtctctacaggcatgcatttgacgcaccttcgaaaatagtcaatctctc +gccacacgcgtctagtatgcagcatcaaaaatatagtccacggtttccggattaccaaac +gcggcaaagagaaacattgtatcgacggagataacttaatacagaaggaaggggcatctt +cgaatacggatgaataattctatctgtttattctgacatcttgttttcaggttaatctta +cgcattcaaatgacgcctgccccatgcgtgcgcaattattttctaatattgacgagagca +atctcactccttttgggtctatttatgttttattgaggcacaagcctatacagaacaggt +actattaaggccgtgagtgtgagactcaaaccgtggaaacaaaggatgggttgttcttgg +tacaagttttagtgcatgtgggcaatccttaccaaaatcagatgctatccttaactttgg +gctgcatttaagatggcggttggaggcctgtgagaatcctgcgtgtcatctttaatgacc +gaattcatccatgtagattcagatcacacactcattccttgatgttgtctaaacaaaagt +tgttgtggacgcattggagggagttaagtaacaacttgggatcgcatacttataaaaatt +atatgttaaactttcacaaacgctgaagtccaaagtaactagcccaaacgcctcgagagt +cactaggtattaatggtgtttgagttcctgtgaaatagtgttcgaaggtaaaatttatgt +accaaatcgaaagaacacttaataaggcttgcttgcacggaggtatgatgtttactgact +ctacaaccctaattttccagtacgtacattcattccaataggttagttctcaaagtgcta +tacaggctcctcaattgatgatatgcttcagccgctctatggatattagctcattttatt +taggaagcccgcttagaggcttactatgagggaaatgccaaaatgtcatacttttcggtg +tgtcccatatgacaccgctttacatagaatttgaattaaaacgcgctctcccgttcacta +ccatacttggtaccgtgcgcatattacatatagatataggatcattttttaaagctgtac +taggtttgatcgacaatcttatgctatactatatgatgtaaccctcataatcaataccga +tcgtacgatcctagcataggtggcaagcgattttatgccgattattgtgttaaatagtct +gtgagtgtgattatcagggctacgttggtagaggggttgtatagacctcgcacacattgt +gacatacttaacaatatacgaaaactgatataataaatccccttacccaaacaccaatcc +cgttgaatcaactaccataacgtctcccatataaattgcctacttgtttgcataaatctg +aatacataacaccattgcaccttcttgtgttccaatcccgttaagattgccttgtcagat +gatatgcaagaacaatagcatttgctagcaattattaacagctcttcgaattgcctccac +ataacgcgggagggtatattttaatttggcaaatactaagtactgttggcgtcatatgct +attaacggttggatattaagttatgtcagccgtaagcaagagtgggcgaaatattttgtt +acccagtgagagcactcttagagtttggatacaataggccatatgttgacttaagaggac +gtaactacgccgtacaccattgttcaaccgacttcttggcaaatagaatcgtattagcaa +tcttaagaatagagacacgttcgtgttagggtatactacaaatccgaaaatcttaagagg +atcacctaaactgaaatttatacatatttcaacgtggatagatttaacataattcagcca +cctccaacctgggagtaattttcagtagatttactagatgattagtggcccaacgcactt +gactatataagatctggggatcctaacctgacctatgagacaaaattggaaacgttaaca +gcccttatgtgtacaaagaaaagtaagttgttgctgttcaacagatgatagtcatgacgc +gtaacttcactatagtaaattgaaacaaatacgcaatttagacagaatggtacggtcatg +aatgacagtaattcgaagtgctagaccaacttaaaataggtaaacgtgcccgaaaccccc +cttaacagaaagctgctatcatggtgcagtatcgacgtgttcagaaacttgtaacttttg +agcaggtccgagcacatggaagtatatcacgtgtttctgaaccggcttatccctaagata +tatccgtcgcaaactttcgatttagtcccacgtagagcccaagcgttgtgcgactccacg +tgcatgcccagaaatacgagtttaaatttggttacatggttaattttgaccgaagcatcg +cactttatgattgataattggattcaatatgtcgccctatgcgaatgcaacatgatccac +aatttggctataagacgtttaatccgtatcacactttgtttgcggctagtatagtaacgc +ccgtgcaccaagagtcagtaacaattataagtactccgcaggtacttcaaatataaaaac +taatcaaacacgacccatatgatcatctgaagatatttggaactttctcgacaaccaccc +tcgtactcaatacttacactaatcgacaggcacacgcaacgtgtacagtcgcaccatatt +gagtcaagatttgcttagtggcgatgagcgtacacgcttatttctctagtcacaattagt +tatctacgagacatcacgagggagcaaataagcgatgttatggctacacataggcacgta +tgaatatgatataagccagttaaacagtcgaaccatcgagcaaattctcatgcaccaacc +cacacgttgaggcacaaagagtaagctgtttgaatgtaacttcttctgctgagcgggccc +caacgtaaggatcaactagaagagaaaactcggtattagtttaaatgcgtcacggagcat +gagtgcatttcactaagaatgtctgtgtaaccaatataacatctatttgttatctgattg +cctacttatggctttgcggtcgtggcgactaatgtctccaatccttttgaggtcggtacc +aactccctttaaattacgctgtgcaggctcatgcactgcatacatatacggtagcaggta +gggacctcacgcacccttattataatcaatagtagttatcagtcaacgaggcaggaatgc +tgaggtcgaggtgttggtatattttctatgtgccgtctaggcgactatcacgcattacca +ggcgagatttaagccaattttgaatatagtcaacgtaatttttactatgggttccaccga +aacgccttgcacaactaagaatcccataaaatatcgatatcaaataaaagattgtgtcaa +taccttcatatatattttttcggttgactaacgtgaactaaggttaggggttttgtatgt +ctatataggaaacagtttcttttctgtcctactttagtaaagtcttcaagccttactcca +aaatcacggtgattaagccgttactcagcagcatgattctgcctgctcgggtcctaaaat +ccagccttgtaagagtcgctgtgtattagctagggagacctttgttaaaaaggatatatc +gcggcgggatgtgagtgcgtggcgcatactcaatcttcagctcgtgtcattataatatct +ctcccccacgcttttcactagatatgccgtgtaagcaaacaccttatgcttaatttcgaa +aatattggtacttgaaaaaagctgtaggggtacttaatgtctggtaggagatcaggagag +aattgagtgtaaaaccgtaaagccctcacctgacttcatgtaaatggcttagaagactcc +atgatttaataaatactacgaaggaaagactggatctaaagataactctagtaaggccaa +ctcccttcaatgctgttgccagttataatccaagagctgtccttttctgaaccatagcgg +cttctgaagcgaactagaagcaaagttggttctagccagacagccacataccctgtacgg +gtgtattactaaaactggtccggtattagttcaccaagggaggaattaggcaaaggatct +aggtatgcaagtcggagtattacatccctaccctgaatccatcaataggttcctctgtac +tggccttcgcaatgagtattcaaggttgtacagccgtataataataagatagtgactatg +aacgggaagtaacccgctcaccttccccaaaacattgttatatctaagtattaaagtctg +ccgtagtgttaatactcgaaaataaacaactggcaaattacaccgcacttaagccgcttt +tgatttatatttttccaatgcgcttttaaaaataattcagtcctacatactaattaagac +ccttaaacggagatatcacaagttaagttttaaccatctcgactaggtggaactatagat +acccaactcaatttatcattacctgtaatgttcctagaaggattgcatttcatgtcaaga +cggtggagtttcacagcgaaacttcagtgtgaacagattctgagaaatcacctaaaccta +ttagtcagagcacccggttagaaccagttgtcaaaaaatagagcggttgcatgagacaga +agtaacgatgagatccgttgtaacgttgagacatctggcctatcgtcaatacagtcctcc +cttaaaaatatttttaaatactaggcaaacccaacataggttagtcctatgtgatacgcc +acatggtatatcattttgtaacgttacctagggataatcaggaagtggaattacgcaaaa +gtagacagtgaaatgcttagggttatagtctagtccaaagataaaggataaagcacgtca +gagaactatattagccgaatgggaatcattgttaggagactgtggatcatgtctaaaaag +caacgcagaaacagtcatcgaaaaaatctcgtttttgtttgaatctaaaagagctttgat +gaccgatagtacctgtatactagttactgtattacgtgtctaatgatttcggattggggt +ccccagaatcagacgtcattgtagacgattcaagtttaccaatttaatttcccagctctc +cttggagaactatcgccaataattgcagtcactttccttttctgaaacgataaagccgtc +agagttctctgcaacgttggacttacctgaggttctaacccactttcggttctaatagta +gttaacgacacaacgaataacctttactgtggggctttcacgatattttttcgcttatta +ttaatggttacgtcataagctggtgtccaaattaaggttaccggcttcgcagagtagttg +tatccaagtataacttccctaatcataagatcgaggtagaaaattaatgctgtctctaac +cgaacagatatgtcccactatgtggtatggacgttgctaattacttctgaagggaaattg +gtcattatggatacgtgtctaccatcaggtcggacgcagatatggttctgtcttcagttg +atccaccgttctttataggataataactgacgattaaagattatggtaaatagattaagc +caattctcttcttgtcagtgaagcatccttaactgacttgctctgcagcccctcatacat +ttagctattcaaagtaccggctcgtttcaaactctcccacctttggaagaggttgtcaac +ttgataagtatatcatttacagcattttttcggacgtacctctaatgtttcattgcagaa +aattagttttttctatcgcacattttgcaagtaacgttagagacacaattatctgcgaat +gaactgctagatctgacgaccgggagcctcgcaaatatcaaaaaagactgacatatatca +aggagtcgttgacaagtgctggtaagtcaattggtttatctgtcccggcgtttcgatctt +aagctgaccatgcacggcagagtaatgtcactctcgttcttacaagtctgtctccaaggg +tcggcaaaaaagacccctccattctcgagcccactcacgatatgtagggacgacaacttg +tgcggcttatgaattgtctggactgcgggcgagggtccatatctccgaagttagaaggga +catacctttagatgataagatcaattcttattgacgaaattcatccacaacggggaacaa +cttcaccctagacttacgtctgaaaagacacctagcgtcttataaaaggtcagtgccccg +tttcgtaaggctggaattacctacgcaaacttaaacctcgcgcccttccttacgtatcga +caagatagaggctatcgcgaatgtactacggaggcatgaatcatatactagaaccaagtg +cctgtgatattaacaagatgatccgacgcgagcaccgtaattctaggcataaaactccag +caatttgggggccgaaaacaaatgacgttagctaattaattatatgacatgatcaaagga +ggtcaatcacgcatcgagttcgacgtatattcattgaacttcgtgcgtttgaaagaaact +tttatgaaggcaaaattgatcctgtctcctatttcatgcgtacctcctagttgataattc +cccgagcagtggttaggacacttttgtcggtatcaagttccggtctcaaaacgtaaaatt +ctgtaatctgtatggatggtctgtgaattagttaatttttatgaagtcgtcgagacgcag +ttcctattgatttattctaaacggagatgtgcttcgtgggactcggaagtagatctgtgt +ttatgattattgctactttagatgctgactgttaactccgtgttgtttttcaaccgtata +tcacaaccgaattggatagaacctatagtttcaagttctgccacaaggtatcatatttac +agttagtgctggttgcttctttcaaacgtggtgagtttgtgctatcacgtcaacggtaga +gctcagtggaccgagtgcgcgttcaaccctgttccagagagggtgtgatagcacatatac +cacgctcgtcgaggcgttcatgatagtttgcaagagccggtgttaaacacatattattat +tgttatccaactaatcggacctatgcataaagcattgtctaaacagaataattgcctata +tacggtagttttagtgatttatatcttagtatcagttagagcttcgaactcttcaggttc +ctcatatttaacgttcttcgaaagcgaaaacttctacaaacgaatgtaagcggttttcca +agtagtacctataaatcacagaaagatctgtctcagtatagttgaaatggtattcagcta +gtgacgtgtaccaattatcatagttcactcaagcaagacgctcattaacgaatatagaca +agacactatatcatataataaaaaagaacatggtgctcgaacatagttgaattcaccata +ttgaaggggaatgctgacatgtaattcgctactagacgatcaattccctacttgtcaaag +ttgaactggtacgttcttggaattaaatatgattgcgctggaccaaattgcgacttcttg +agtttcagggcaaacgattgagccggaggatgtccgtctcttacctttcttgcttatgat +aaacgacggtccctgtacatcactgggaattctcagcaaaaataattgggtaaatcgaga +ctcgatgtattcggccacaaaggtgttagacgttaaagattattcaacggggcgataata +ggatcataaccggtatgcaagcgcattgaaagagccatgagatccttatccgataaacgc +tgcacggtatgtgcagccttattgtcgatcacgaatttataaatgtagtctgggctgtaa +gttgaagacctaagttataatgaagtgcaataccaaatcgattcatagtggattatcaga +ctcaagatatctcctgataaattacagttgttaagatacggataaaatgagatttaagat +tagcagcctctaatctgtttcaatcccgttggaatgtggtatgcgatcaaggttaagtta +aaatcaagcctgtcttcagtcttgattcttgttctgccatcgcatgcggtctacgtgagt +taatatgtagcttacgttctagcttgtgctaatctgagtatagattcgtagaggaatatt +atcaagcttccacgcctcaacgtacgtgtattggtcacacaagacactaaaagtggaagt +agcgtaaactatagtctagttgttaaatgctcagttcttgttatattcgatatactcttg +gctaatttatgtctgagtatataaaattaatgatattaacttgcatttcacggatccctt +agaaaaagattttgaccgagcgcattataaacggttacaccgaatcaatagaagcatacc +caatagctttctttgaatttattgcctgcgcaacttggctgactctctagatccgaataa +ttctatatggtcgtgacgaaactagttcattactgtttaaaatgccaacatgtcttttgg +gccgataatggctctttgcaaaattactcaatgatacgattgatcaaagcggtagttgct +agtggtagcatgtaagtctatcaaatgtctgattatccgaaaatcttccaaaagagtcca +cgtaccatatctatctcatagcgacgcgaggggaaccttatctaactatcattccattta +ccgggtgactctcgatgcaggatccgattgggataaattgcccagaaatggctcattcct +gactaagggtaaggccgttctcagcaagggaaccccgcgaatctaggcttataccatcta +gattgttaactacttgcctgtagttctacagccatactggacagttgtttctaaatgatc +gggattcatgctagcactcctctgaatgcaccgcgtaagtttaactattacgtccgtggg +cagataaggatggaggctgtatgtatcttaactgttacctaatatggctggtaattatca +aagtaaggaccttaatgccatagcgctagcaatcgctttgtatactgaccatgtgccaac +ctctcttaatctgtaaaatataatgtcttagctaactgtggacgatcatgtctctgccta +gagcttcgctgtatcaattcctatagccagcgtactagtgacacaacaacaccgtgtgag +aaaagatattagtccttacgtctgtctctctacagcttattgatgaggattgaacatgga +catatagctccccctcaaaagcagatgctacctctttattccattctcgaacatttgccg +aacttaatttcgacaaacctgaggtcacgtcttaatttatcggtaacgtcacgtcccttt +gagactggataaatatattaccaggggccaacgagcaattgttggaggcgcttctataat +acaaggtgtcttgtcaaagaaagacggcgtgcgtctcgtgcaactcacttaaccaatatt +aatgtgaaacccccctctctcacatcttatgcggtgtactgccctggtacatttcctgta +caggactccaacagtgtagattcctaagatagctgttggagttgcctcacgccagatcga +aaaactgaataaactagtgagctgagctgcagaaataccgcttaattacttatgactagt +tcaaagggacctacgtgatgtcagacattgcaaggaagaaattaggtttgtgcgtcattt +tggctggactagcactccttacttcccctactattcaaatgtcgtaaacagcatgagaca +ggatcgtgctgacatttaaggtctattgggaacgaggctacctttggtcgcgcgctcgcg +ttctccgaatgaccgaaatgcatgagcacagtatgcaattgcttatagatctaaggtctg +gtcgttgaaaccaagcacgtaggcctgggaaatcagttcttcctcagcaactacacaaaa +gcgtccaagcattagtacttgtagtaaatgtccgaacctatgcgctcatttgaaagtcaa +aaaatatttttaagcagtaggcacctaacccgattcctctacttagtagctttctttgat +tctcagaattgactgcaatatcactgcacaattctgtgccattactagacttctctgtat +taacgtctcatcttactaacactcgcctaggacacatctgagagtgaagtatttcaatac +atttactgaaatcttcagttctaaaatccccgaataaggctcttatcggtttggccaaca +caagaaaaaaacttcttgcaccactcaccttcatacgcaggagcctggggaacttagtaa +taactatttcggcagacaaagcttataacaagttgccggcgcgtataatatttaaaagac +cccttgagctgctcaattaaaacgctcacctggtataggctattagatagtgccgtctta +gtaaggggcgggaattatcggataaactgatattttgataaaataaccgacttgttcacg +acataagtcactaaggagattttatctttctccaaagtatatcttccttggataatttca +aagcgctgcaatttaagttctgttactagtttatgctgctgggaggtgaccggaaggcgt +agtaatctagaggcaaattataagaagttcatcatatcattttcgactacaaaaacaagg +tgttgtatgccggcgcattgtgtaaactggacgagtaccctagatggaaaattatacgtt +aagccaagatttcgatgtaatgataattacctacacatttttgctatccataggaacaag +agctgttctataggctcgtggcatacgaacatttgctgccgctatgaatattggaagctc +ttcaactacagactctattcttaattgccgtcgaaaatgggccgaatcggctattattaa +tactcggtttttccgaggggattgttgtcgacagtcgtaattattattaatattgatgtt +ggtgaggtcatttaaatacaaccttgcagacaatgaataagggatccaatctctcatact +ccttttacaattgctcatgcccctatgcaaaccttatgccgccacacctccgcaactctc +tcttctgaactgtaagtagcttcattactggtttgagactatactgaagctgatgacatt +ctaaaatggctattttcgaatgtgattcataatgtttatcgtttgggatggcagaatcac +gttatttttgatatagcccgggtattctattgtatagaacgtatgctacaagtcattccc +cgaagaagactagaagtaaacaacatgcgaccatcgttaagccacgcaaggctgtagctt +tatttcccgataacctatcttccataaatagcggacagcaggatactgacgctcaacatc +agtggttatggtctaatttttaacttttaataaggtaacttcagcaggcatacacagtaa +ctctttaatttataatcaaattagaagtctgacacttcttatatttttctatcatccaac +gcgatcgcccattagcttattgtgttactaataacgtatctaaaccaatccttttcaagc +tactgcctatattgtcaatatatacaaacaacaggatagtaggctgcttaaaaaatattg +tcaaccgtgtacgctttacaatacccggaaatcacaaactttgtagacaacgagtgaaat +ttatacactacgaagggccagcgtacaagacccatgaattaggcgatatgtttattctga +catattggtttatccttaatctgtcgctgtaaaatgaagccgcccccatccctgcgaatt +ttttttcgaagattcacgactgaaatataaatacgtttggctatatttatgttggaggga +ggcaatagcctttactgttaaccgaagatttagccagtgagtgtgacactaaaacactgg +aataaatgcaggcgttcttctgggtaaaaggtttagtcaatctcgcctataagttcatat +agctctggatataattatctggcccatgcatttatcatggcgcttggtgccctgtgtgaa +gccggcctctcatattgaaggtccgaagtattccatgtacattaagatcactctctcatt +catgcatcttggcttaacaaatctggttgtccaagctttccaggcacgtatggtacaaat +tcggatcgaatacttataaaaatgatatgttaaactgtctaaaacgctcatctacaaagt +aaagtgcactaaccaatagagtctcaagaccgtgtaatgctggtgcactgaatgtgtaat +acggttagaagggattagttatgttacaaatccattgaaaacttaagaagcattgcgtgc +tcggagggtgcatcttttatcaagagactaacattattttcaacgacgtacatgctttac +aatagggtacttatcaaacgccgagaaacgcgcctatagtgatgttatgattatgacccg +atatccattggaccgaattttatgtaggttcccagcgtactcgcgtaatatctcggtatt +gccataatgtaatacttgtcggtctctcccagatgaaaaagcgttacagagtatttcaat +gaaaaacagcgcgcaacgtcaatacctttaggggtaacggccgctgatttcatatagata +tacgataagttggtatagctctactaggtggcatccacaatcgttgcatttactatagct +ggttacaatcataatctataccgttccttacatactaccatagcgggatagcgttttttt +gccgttgattgggtttaagaggatgtcagtctcattatatccgattcggtgggagagccg +ttgttttcaaatcgcacactttgtgacataatgtacaagataacaaaactgatataagat +ataaactgtcaatatcaccttgacacttgaatcaaagtaaattaactcgcaaatataatt +tgactaattgggtgcagatttctcaattaataaaaaaatggcaccggatgggcttacaag +ccccttatcattcacttgtatcatgatttccaagaacaatagaatttgctagcaagtatg +aacagagattcgaattgcatccacagtacgccggagcgtttattttaatgtggatatgac +gatgtactgttggcggcatttgctagtaaccggtccttatttacgtagcgcacacgtaag +catgtctgggagaaatatggtggtacaatctcagagaaagattacagtttggtttaaata +ggacttatcgggtcggaagtggaacttaataagcagtacacaattgggcaacagacgtct +tgcctattacaataggattacaatgcgttagatttcagacacgttcgtgtttggctattc +gtcaattccctaaatagttagacgatcaactattatcaaagtgattctttgttcatcctc +cattcatgtaacagatggcacactacgcataacgccgaggaattttaacgagatttaaga +gagcagttcgggcacaacccacttgactttataacagctcggcagcataaacggtaatat +gtgacaaatttccaaacgttataagaacgtatgtgtacttagaaaactaagtggttcatg +ttcaacagatgtgacgcagcaagcctaacttatctattggttttgctataaaagaacaaa +gttacacagaatcctaagggcttgtttcacacttatgcctagtgcttcaccatcttaaaa +tagcgaaaccggcacgaatcaaaccttaaaacaatgcgcagatattggtgatggtgactc +cgggtatgataatggtaactgttgaccagcgcccacctcatcgaagtatagaaagtggtt +aggataaggatgagaccgaacttatttccggccataactttagattttctacctagtaca +caacatcagggcggacacgaaaccgccatcacatcatataccaggtttaatttgcttaat +gggggaagtgtcaacgaaccttcgaactttagcaggcatatggccattatatatggcccc +agagcagaatgctacagcagacaaaatttggatttatgtagtttaatacctatcaaactt +ggtgtgaccatacttgtctaacgacagtgcacaaagtgtaagttacaattattactactc +agcagcttctgcaatgataaaatcttatcatacacgtcacatatgataatatctacttag +ggggaacgggctccacaacctacatagtactcaatacttacactattcgacaggcacacc +aaacctgtacagtcccaaaagattgagtcaactttgcagtactgcagatcacagtaatag +cttagttagcgagtcaaaattagttttctacgagactgcacgaccgtgcaaatttccgat +gtgttggctacaaatagcaacgtatgaatttgtttgaagccacgtaaactgtacaacctt +agagataagtctcaggctactaaaaacacgttgtggcactaacaggatcatggttgattc +ttacttattcggctgaccggcccaataagtaaccttcaactagaacagaataatcgggag +tagtttaattcagtcaaggtgcaggtctcattgtaactaacaagctctgtgtaaccaagt +taaaatcgttttcttagcggattccctacttatggatttgagctcgtccacaatattcga +tacaagaagtttgtggtccgtaacaacgaaattttaattacgctgtgcagcctcatccaa +ggaattaatagaaggttgatggtaggctccgaacgctccatgattataatcaagtggact +gtgcagtaaacgaggaaggtatcctgacgtcgtggtgttcgtttttgttatttgtgccct +atacgagtagataaaccatgaacagcacagtgtgaacccatggttgattttaggctacct +tatttttaatttccgttacacagaaacgaattccacaactaacatgccattaatttttcg +atatcttataaaagatggtcgaaattcattcatttattttttttcggttctcgaaagtca +actaagctgtcgcgttttgtttctctttagaggtaaaagtggctttgatctcctacgttt +ggatactagtcaaccattactccatttgatccgtgagtatcacctgtctaacatccagca +ttatgactcctcggcgaagaaaagacacacttcttagagtcgatgtgtattagctaggga +cacagttgtttaatacgatagtgagcccagggagggcagtgcgtcccccagtagatttat +tcagctagtgtaagtataagatatctcacccacgaggttcaagtgatatgcagtcttaga +ataatacttatcctgaatttcgatattatgggtacttcaataatccgctagcgctacttt +atgtctcgttggacagcaggacacatggcagtcttaaacactaaagacatcacctgaatg +aatgtaatgggattacaagaatcaatgaggtattatatacgacgtaggaaactctggata +tatacagtaatctagttacgccatcgcacttcattcctctggaaacttagaagacatcag +ctgtacgtggaggaaccagacccccgtatgtagccaaatagaaccaaagttgcttataca +aacacacccaatgacaatggaccgctggagttcgtaaactcggaacgtagtactgcacaa +acccagcatttagcaataggagctacgtatgcaactcccacgtggtaataccttcaagct +atcaatatataggtgcctagctaatcgcattcgcaagcagtattcaagcttgtaaaccag +tataataattacagaggctctatgaaacccaactttccagctaaaagtcccaattaaatg +gttatttcgtacttttaaagtcgcccgttctgttattacgcgaattgattctactccaaa +attaaacacaaattatcaaccgtttcatttatatttgtcaatgcagctgtttaaaataag +gctctactaaattataattaagacacttattaccagatttctctagttaagtttgaacca +gctcgactaccgcgaaagatacattcccttctctatttttcagttcatctatgggtcaga +gaagcattgaatttattctattcaccctcgtcgttcacagcgaatcgtcagtgtgatcag +tgtatgagaaatatcctaaaccgtttagtcagaccacacgcttagaacaagtggtctaaa +aagactgccctggaaggagtaagaagtatacagctgatccggtgtatccttcagtcatct +gccctatactaattacacgacgcaaggaaaaataggtttattttctaggcaaacccttca +taggtgactccgatgtgttacgaatcatgcttgagaatgtgctatcgttaccgacggata +ataacgatctccaatgaaccaaatgtagaatgtctattgattacccttttactattcgac +ttagagataggagatagaacctcagtgtacttttttagccgaatgggaatctttgggagg +tgaatggccataaggtcgtaaatccaaccctcttaaagtcttccatattatatcgttgtt +cgtggaatcgataacagatttgttgacccatagtaaatgtatactagtttatgttgtaag +tgtagattgttttccgattgccgtccaaactttatgtcgtaattgtagaccagtaaagtt +gaccaaggtaagtgcccagcgatcctgcgagatcgatcgccaatttttccagtcactgta +agtgtaggtttagataaagccgtatgagttatatcataagggcctcggaaagcagcttcg +aaccaaagttcccttataatagtagtttaactataaaagtatatactggtctgtcgccct +ttcacgatttgttttaccggtttatgaagcgttacgtcattagagcggctccaatttaag +gttaacggcttccatgtgtagttgtatacaaggataacttaaagtatctgttcagcgagc +tagttaagttatcctcgatagaacacaactcagaggtcccaagatcgggtttgcaacttg +ctaatttattctcaaggcaaattgggaattatcgatacctgtataccataaggtcgctcg +atgtgatgcttatgtcttctggtgatcctaccttagttagtgctgattaacggaacatta +atgtttatcgttttgagatttagccaattctctgattctaactcaagatgccttatctga +cgtgctatgcagcccctaagtattttacattgtaataggacacgctcctttaaaactcgc +caaaaggtcgttgtggttctctactggttaactatataatttacagctttgttgagctag +ttcctctttggtttaagtcctcaatattagttggttcgagcgataagttggctagttacc +ttagtcactatattagatccgaatgttatgcttcatctgaagaccgccaccctccaaaat +ttcttttaagactcacttattgcaaggtgtaggtgaattcggctcgtttctcaagtggtg +tatctgtacacgagtttccatattttcatcaacagccaccgcacacttatgtcactctag +gtattaaaagtcgctctacaaggggacgcaattaagaaacagacatgctagtcaaaaata +aacatagcgaggcaccactaattcggccgcttatcaatgggatgctctgcgcgagacgcg +ccagagctcagtagttagttcggacatacatttacttcagatgatcaattagttttctac +aaatgcttactctaccccgaaaaaagtcaccagactcttacgtctctttagtatccttcc +gtcttatataaggtcagtcccccgtttcggtaccctggaatttactaagaataatgaaac +agcccccaaggacgtacgtttacaaatgatagaccagatcgcctagcttattccgacgca +tgttgcatagaattgaaccaacggaatgtgagagtaactagatgagccgaccacagcacc +cgtttgcgtcgcagaatacgcctgatagttcggccacgaaatcatatgtcctttgagtat +taagtatttgtaatgatcaatcgagctcaagcaagcttacacttcctcggatattcaggg +aacttagtgcctttgaaagatacgttgatcaacgaaaaattgataatggctcatatggaa +tgcctacctcatagtgctgaattaacacagcactgcggacctaacttttcgaggtttcaa +gttcacgtctcaaaacctaataggctggaatatgtagggatcctcggtgaatttgtgatt +gggtttgttgtagtactgaccaagtgaatattctttttttctaaaagcagatctgctgcc +gggcactacgaaggagatctctgtgtatcattattgcttcttgacatgatgactcttaaa +tcactgtgggtgtgcaaaacgatagcacaacccaattcgatagtacatattgttgatact +tcgcactaaaccgttcatatttaaaggttgtgctccttccttcgttaaatactggtgact +tggtcctatctactattagctagacctctggggaaccacgcccccgtaaaacctgtgcaa +gagagggggtcatacatcttagacatcgcgcctccaccagggaagcattgggtgattgac +caggtgtgtaacaaatatgattattcttatactaatattagcaaagatgcataatgattt +gtattaaatgtataattgaattgataagggtcttttagtcagtgatagagtagtataagg +tagacattagaactcttaaccggacgcagatttttcggtcttagtaagccaattagtcga +caaaacaaggtaagagcggttactagtagtacctataatgcactgaatcttcggtcgaag +tatagttctaatgctatgcagattgtgacggcgacaaatgttcagacttatatcatgaaa +caagctcttgtaagtattgacaaatgaaaagattgaatatttttaaatacaaaatgcgcc +tacttattaggggaattaaccagattgaaggccaatcctcacatgtaatgagataataga +cgataaatgaaattcttgtaatagttgaactgctacgtgatgggtattatatatgattga +gatcctccaattgccgacgtcttgtcttgatgcccaaaagattgtcaacgaggagctccc +tcgcgtacctgtcgtccgtatcataaacgacgcgacatgtacagcactccgaagtataag +caataataatgcgggtaatccagactagatcttttcggactcaatgcggtttcacggtaa +acatgattaataccggagagtagtcgagcttatcagcgatgcaagcgaattcattgtgcc +aggagatacgttgcagataaaaccggcaacgtatgtcaacaagttttggcgatctcgttg +tttgtattcgacgaggcgcgggaacttcaagaactatcgtatattcaagtccattacctt +ttagtttcagactggtggagctgactaaagttatatcatcattttgtacactggtttagt +taacgataatttcagatttaacatgaccagacgataatcgctgtatatccagttggaatg +tggtttgccagaaaggttaacttataatcaagcctctcttcagtcttgattcgtcgtatc +ccatccattgcgctatacctcagtgtatttggagctgtagttataccgtgtgctaagatc +agtagacatgacgagagcaatattatctaccttacaagcatcaacggacgtctagtcgga +acaaaagactctaaaactcgaacttcaggttaatatactatagttctgtattcagcagtt +attcttatattcgatattatcttgcctattggatgtctgactttagtatattaatcatag +tatctgccatgtaaaggtgccagtactaaatctgtttcacagtgcgaattataaacggtt +acaaccattaaagacaacaagaccctatagctttatttgaattttgtcaatgcgcaactt +ggagctcgcgatacatcccaattagtctatagggtcgggacgattctacggcatttctgg +ttataatgacaacatggattgtggcccgagaatcgctctttcattaattaagcaatcatt +acagtcttataagcgctacttccgagtggtagcaggtaactcgatataaggtcgcatgag +ccgaatagcttaaaaaacaggccaccgaacattgatagagaataccgaccacagcgcaac +ctttgattactttcattaaattgtacggctcactcgacatcaagcttaagattgcgataa +tgtgaactcaaatggatcagtactgaagaaccgtaacccacttcgcagaaagcgtaccca +gagaagatacgctgttacaatatacagggtgaaattattgcctgttcttcgtaaccattt +cgccaaacttggttagaaatgatagccattcatgatagaaataagctgaatgataccagt +atctttaactatgtagtcagggggaagataacgatggtccatgtatgtttctgatatgtg +acagtattggccgcgtaatttgctaacgaagctacttaatgcctttgagcttcatataga +tttctttaatcaaaatcggcaaaaagatagtatgagctataatatatgctagtagagaac +tctggaccatcatctatatgaatactgattcgagcgtgcaattactttagcctgcgtact +actgactctacaaaacactctgagataagtttgtagtcagtaagtcgctctctataaacc +ttttggatgaccattgtacagccacttatagatcccaataaatagcacaggagacagagt +ttttcaatgctcgatcatttgccgatagtattttcgtctaacctcagggcacctattatt +tgatacctaacctaacggccctttcacaatggagaaatatatgacatcgggacaaacaca +aatggtgggtggccaggagatatgacatggtggcgtctctaagaaacacggactccctct +aggcaaactcacgtaaccaattttaatgtcaaacaaaacgctcgaaaagattttgccgtg +taatgacctggtacattgactggtcaggaatacatcactgtagttgccgtagtgtcctgt +tggtgttccatcaagacacatcgtataacgcaatttacgacggacatcagatcaagttat +acagattatttaagtatcacgtgtgcattgggacataagggatctcacacatgccttgga +acatttttgctttgtgccgctttttcgctgcactaccaatccttacttaccagtatattc +aaaggtcgttaacagaatgagaaaggttagggctctaagttatcgtcgattgggatagac +gagacatttgcgagcgccctccacggatacgaatctcccatatcaatgtgaactggatgc +tatgcagtttagttcttacgtctcctagtggtaaaaatcaaagtagcactcgcatagcag +ttattcagaacctaatacacaaaaccgtcaaacattttctaattctaggtatgggccgat +cataggagctaaggtgaaactcataaatgttttgttagatctagcatcctaaaaagatgc +atatactgagtagctggcgtgcattctctcaattgtatcctttttaactgaactagtcgg +tcccatttcgtgactgagatctattaaccgataagattaataacactcgcattcgtatca +gctcagagtgaagtttttcaataatttgactgatatattaacttctaaaataacccttta +agcctcggatccgtttcccaatcacatcaaaaattcttattccaactatctacggattaa +caacgtgcatggggatcgtagtaagaacttgttccgatcactttgagtatatcaagttga +cggcccggttattattgaatagaaacattcacctgctaaattaaataccgcacatcggat +acccgatttcagagggccgtcttactaagggcaggctttgttcggtttaactgagatgtt +cattattttacagtatgcttcaactaatatgtaacgaaggacagtggatctgtctccata +gtagatcttcagtcgtgaatttcataccgctcctatttaagttcgcgttcgagttgttga +tcatggcacgtgaaagcaacccctagtattctagacgaaaattttttctagttcatctga +taatttgccaattcaaaaacaaccgctggtttcccggcgcattctctaaaatggaagtcg +aacctagagccattatttgtcggtaacccatgagttccttcttttcagaagttaatacac +tgtggtcctatacagaggaaaaacagcggttatatacgatcgtggcataacaacattgga +tcaagatagcaatttggctacctattctaattctcactagattcggtattccactacaat +atcggcagattaggattggatgaataatcggtgtttaagtccggttgcgtctccaatctc +ctaatttttattaatattgatcttggtgacctattgtaaataaaaacttcaagactttga +ataacggtgaaaagatagaagactcatttgaaaatggatcatccacagatccaaacatta +gcaagacactaatccccaactagctattctgatcgcgatcgtgctgcagtactcctgtca +caatagtctgttcatgatctaattctttttgggctttgttcgatggtgattcagaatctt +tatccggtcgcttccctgtagctactttgtggggatattgcccggggattatagggttga +gatcgtttcctaaaagtatttaaaccaagtagacttcaactaaactacatcagaacatcg +tgaagacaccatacgcggtacctttatttaccgataacatttcttcaagaaataccggta +agcagcataatgaccctaaacagctcggggtatcgtcgtagttttaaattttatttaggt +tactgctcaaggaataaaaactaactatttaatttataataatattacaaggctcacact +gattagatttgtctataagacttcgcgatcccccattaccggattgtcttaagaataaac +tagataaaccatgcattttctagataaggcctttagtctaattagatacaaaaaacacga +tagttgcatccttaatttattgtgtcaaacctggaaccttttaattacccgcaaatcact +ttatgtcgagactacctctgaaatttattatctacctaccgcatgaggacttgaaccatc +ttgtaggagttatgtttattagctaagattcgtttatcctgtagcggtccatgtatattc +aacaagcaaaaagcactcagaattgtttttagttgagtcaagactgatatataaataagt +ttccctagttttttcgtggtgggacgatattgaattgaatcttaaccgaagagtttccca +ctctgtcgcacaataatacacgccaatatttccagccctgcttatgccttaatcggttac +tcaatctcccattgaagttcattttgatctgcatagaagtttcgggcccagccttttttc +tgccaccttcctccaagctctgtagacgcactctaagattgatgctcacatgtattaatt +ctacattaacataaatatataagtcatgcatcttcgagtaaaatatctggttctccaaca +tgtcctggcacgtatcgttataatgcccatacatgtagtattaaaatgattgggttaact +ggatattaagatcatcgaaattgtaaagtcaaattaacaatactgtctcaagaccgtgta +ttcctcgtgctcggaagggctattacgcttacttccgttttggtatcttaatatgacttt +caaaaattaagttgcagtgagtcctacctgcgtgcatcggttagcaagagtataaaagtt +gtttaaacgaactacttgctttacaataccggtcgtatatatcgccgtgaatccagaaga +ttgtcttctttggattatcaaccgagatcctgtggaccgatgttttgggaccttcacaga +ggactccaggtagagctcgcttttgcattaatctaagaattgtacctctctaaaagatct +aaaacagtgaatgtgtatttcatggaaaaacacagagaaacgtaaattactttaggccga +aaggcacatgagttattatacatatacgagatggtggtatacatcgaattcggggcatac +actatagttgcattgtatttagctgctttaaataatatgatattaccttccttacataag +acattaccggcataccctggttttcaacttgtggggctttttgacgatcgcactctcatt +tgatccgagtagggcggtgacccctgcttttcaaatacaaaaatttcgctatgaaggtaa +tagattacttttcgctgttatgatagaaacggtaaatttaaaattgaaacttctagaaaa +gtaaagtaacgagaaatgattttgtgaataatgcggtcatgattgcgcaagtaagaaaaa +aaggcaaaaggatgcgcggaatagaaacttatcagtcacgggtatcttgatttcattctt +cttgtcaattgccgacataggatgaaatcagattccaatgcaatacacagtaacccccac +ccttgattgtaatgtcgatttgaagttgtacgcgtcgacgaagtggatagtatacgggcc +ttttgtacggtgcgatcaactatgaatctcggcgagttagatggtcgtacaatctcacac +atagaggtcacttgcctgtaatgacgaattttcggctaggtactcgaactttattagaag +taaaaatgtgggcaaaagaaggattccattttacaagacgattacaatgagttacatgtc +tctcaacgtagtctttccctagtagtctttgaactatttaggtactccagaaaattttag +caaagggtttctgtgtgaatccgccattcatgtttatgatggaacaataagaataacgcc +ctcgtatgttatcgacagtgaagtcagcagttcggccaaaaacatattcaatttagtaca +gatccccagaagttaagctaagtgctctaaaatggcctaaacggttatcaaagtaggtct +aattactatactaacgggtgcatcgtaataactgctgtcgatgcaacactatatgatagt +gtcgttttgctatatatgtacaatgtgacaaagaagccttagcgattcttgcaaacttag +gacttcggattctcaatcttaaatgtccgaaaacgcaaagattcaaaaatttaatctatg +agcagatatgcctgatggtgactacgcgtatgttaaggctaaatgttgacaaccgcacac +ataatcgaactattgatagtcgggagcataaccaggtgaacgtactttgttcacgacatt +tattgacatgttctaaatacgtctcaaaatcacggcgcactagaaaacgcaatcaaatca +ttgtcctggtttaagggccgtaatgccggtagtgtcaaacttcatgagaactttagctgg +cttttggccagtatttagggaccaagagcactagccttaagctgaatattttgccattta +tctactgttataactttaaaacttggtggcaccagacttgtcgatacacacgcatcaatc +tgtaacgtaaaaggtttactaagaacaagcgtaggaattgagtttatattatatttaaac +taaaagatgatattagcttctgagggcgatagggctccaaatcataaagaggaatatatt +attacacgattagaaacccacaacatacctcgaatcgcccaaaagtttgacgaaacttgg +cagtactccacatctcagtaatacagttgggagagtctcaaatgttgttttattactcaa +tgaaccaccctcataatttcactgctgttccattaaatttgcaaacgatcatttgctttg +aagaaacgtaaaatcgacaaaattacagataagtagatgcataataaaaaaaactgctcg +ctataacacgatcatcgtgcattcttacttaggagcatcacccgcacaataacgtacctt +aaactacaacactattagaccgagtactgtaattcacgaaagctcaagctcgcattgtaa +agaacttgctctctcgtaaaatgtgataatagtttgcggagaggattcaattattttcca +ttgcacctactccactagattcgataaaagaaggtggtcctcccttaaaaagaaatgtta +agtaacatcggaaccataagcaaagcatgtaagtgaaccgtcatccttccctaagaaaca +taaaggtttttaataatgtcgactgtgaactataactgcatcctttcctgacctactccg +gttccttgttgttatttctgaacgagaccagtagataaacaatgtaaaccacagtgggta +ccaatggtgcatgtgacgctaccgttgttttaagtgcccgtacaaacataagaagtcata +atcttacttgaaattaattttgccttttattttttttcaggctcgaaattaatgatttgt +tttttttgaccttctagttacgctaatatgcggtcgcctgtggtttctattgagtcctat +aacgggatgggatctaatacgtttggttactagtaaacaaggtataaatttgataccgga +gtatcaactgtataacatcaagctttatgactcatacgcgaagtaatgacacaaggcttt +caggagatcgcgagtacagagccactaaggggtgtattacgatagtgacaccaccgagcg +cactcactccccaagtagatttatgatcctacgctaagtattagatatataaccaaagag +gttctagtcagtgcaactcttagaataataattagccggttttgcctttttaggcctaat +gcaatattcagctagcccttatgtatctcgcgttccacagcaccactcatggcacgcgtt +taaactaatcaaatataatctatgaatgttatgccagtacttgaataaatcaggtttttt +ataagtccttgcatactctcgttatatactgttagagtcttaccccatagaaattctttc +atctgcaaacttagaagaattctcagctacggggagcataaagtccccaggatgttgaca +aatacaacaaatgtggcttatacaaacactccatatgaaaatcgaaccctcgtggtagtt +ttagccgaaccttgtacggataaatccctccattttccaatagcagatacctatcctact +acctcgtggtattaaattaaagcttgaaatatagagctgcatagcttatccaattcccaa +gcacgagtctaccgtcgtaaccacgatttgatttacagacgctagagcaaacccatcttt +aaacatataagtaaaaattaaagggtgagtgcgtacgtgtttactagcaacttcgcttat +taagacaattgtttataagccataattaaaaacatatgttcaacaggttcattgatattt +gtaattgcacaggtttttaataaggatctacgtaagtataatgaacaaactttttaccag +agttatattctgtactttgaaaatgctcctctaccgccttagagactttcaattagattt +tttgcagttaatctatgcgtaagtgaaccatgcaagggatgcgattcaaccgcctcgtgc +taaccctatcgtctgtctcataactgtaggtctaatataattttcagttttcgaacacat +aaccctttgaaaatctgctatttaatgtctcacctgcatgcactatcttctatactgctc +agaacggctatacgtcactatgctccaagtgacgatttaaacgaagcaaggaataatagg +tttattttagtgcaaaacaattaagtgcggactacgtgctctttacaataagccttgtga +ttgggctataggttaagtcccatattaacgatctccaatgtacaaaatcgacaatcgctt +tgcattacccggttactagtcgaattacagatagctgttagatactcactctaattttgg +acaacaatcccaatcttggggtcgtctatcgcctgaagctcgtaaatccttccatcttaa +acgattacatattatagacttgttcggggtagagatatcacagttgtgcaaacattgtaa +atcgatactagtttatgttggtagtctagttgcttttaccattccccgaaaaacttgatc +tactatttcgacaacagtaaacttgaactaggtaagtgaaaacagagaatgcctcatagt +gccactatttgtccactatatgtaagtgtagctttacataatccactatgactgagatca +ttacggcctaggaaagcagcgtagaaaaaaagggcccggatattacgactgtaactataa +aactagttactggtagcgcgccatgtatagatttgttttaccggttgtggttgcgttaac +gaatttcagccgcgaaaattgatccgttaaccagtccatctcgacttctataaaacgata +aagtaaagttgatgttcagcctccttcttatggttgcatcgagagtacactactcagtgg +gaaatagatcggggttcctacttcagattgtattatctaggcaattgccgattgtgccat +acctggataaaataagctacctacatgtgatgcttatctattatcgtcatactaccttag +ggtgtcctgttgaacgctacattaatctttagccgtttgagatgttccaatggataggag +tctaacgcatgatgaagtttaggaaggcagagcatcccactaagtatgtgacagtgtatt +tcgaaacgagacgttataaatagaaaaaaggtccttctggttctattctgctgaactatt +gaatggaaagattggttgacctacgtactatttgcttgaagtcatcaatttgacggggtg +agagacatatggtgcatactttacggactctatattttagatcagaagcttagcagtctt +ctctacaccccctcacgacataattgcttttaagaatctatgtttgattcctctacggga +attcggatccgttcgcatgtgcggtttatctaaaccaggggacatatgttcagctaaagc +atacgaacactttgctaactagacgtatgtatagtagctataaatcccgacgatatttac +aaaaagaaatgagactcaaatatatacatagcgaccctacacttattcgcaccctgatct +aggcgatcctagcacccacacccgaaagtgagcactagtgtcttccgtattaaatttact +gcagttgagattttagttgtctactaaggattactctaacccgtaataaggatcaagact +cggtactagctttactatcattccctatgtgttttcctaactcacaagggtacgtaccag +cctatgtaattacaataatgataaagacacaaaggaagtaactttacaaatgagtctcca +gttacactagcttagtccctcccatcttgctttgaagtctaaatacgcaatctctgagga +tatacagcagaagaacactcataacgttggagtccaagaattagactcatagggccccca +acatttaatatgtactgtgagtttgaaggtgttctattgttaattcctgctcttgataca +tgacacgtactccgtgtttaaggcttcggactgactttctttcataagttgagcaacgaa +aatttcagaatcgataagttggattcactaactaatacggctgattgaaaactccactcc +ggacctatatggtcgacctttatacgtaaccgatataaaacttataggctggtatatcga +gccttcctagcgcaatttcggatggggtttcttctactactcaacaacggaatagtcttt +gtttagtaaaccagagctcaggacgcccaatacgtaggagagcgctgtggagcatgtgtc +attatggactggagcactcttaaatcactctgcgtgtgctaaacgatagatcataacatg +tcctgagtaaattttcttgatacgtcgcaatataccgttattagttaaacgttctcatcc +gtcatgcgtgaaatacggctgtcgtgctcagatatactattagcgactcatctcgcctaa +cacgcacacgtataaactcggaatgactgccgctcttacatattagaaatacagactaca +ccacggaagcattgggtcattctcaaccgctgtataaaagatgattagtcttataataag +attaccaaagaggcagaatcatgggtagtaaatctattattcaagtgattaccgtcgtgt +aggcagggagtgaggacgagatggtactcaggacaaatattaaccggacgaagtggttta +cgtcgtactttcactattagtagtaaatacaaggtaacaccggggaatagtactaaatat +aatgatatctatcttcgggagaacgagtcgtctattgctttgaacattctcaaggcgtaa +aatgtgctgacttatagcatgatacaaccgattgttacttttgtctattcaaaagattga +atagttttttatacaaaagccgcatacttatgacggctagtatacagtttcatcccctag +catcaatgctatggacagtattgaacttataggaaattcttctaatagggcaaatccgtc +gtgatgcctattttttttcagtcacatcctcaaatggcactagtattgtcgggatcccat +taacaggctcaaccacgagctcacgcgaggacatgtagtccgtatctttaacgaagcgac +agcgacagaactcccatggataaccaattataaggcccgtaatcctctagacatcgttta +ccaataaatccgctttctccgtaatcatgttgaataccccagagtagtccagatgataac +cgatgaaacacaagtctttctcaatgcacttacggtgaacttattaccgccaacgtagct +catcaaggttgcgacatctagttgtgtgtttgcgacgagcccagcgaacttcatcaactt +tcgtatattcaacgccttgtaattttactttaagacgcctggtgatgtagattcttagat +aatcagtttgttatcggctgtactttaccataatttcacaggtttcaggtcaagaagatt +atagctgtatatacagttccatgctcggtgcacagaaacgtgatcggataataatcaatc +gcttatgtcgtctttaggcgtatccaatacatgccccgataccgcagtgtatttcgacat +gtaggtataccgtcgcatttgagctcgagtcaggacgtcagctagattagattccttaat +agaatataccgacctctagtccgaactaaactatagataacgccaacttcaggttaattg +tctagtcgtctgtttgcagatgggattcttagatgagtgagtatcggccatattggttcg +agcactttagtttttgatgcataggatatgcaatgtatagctgaaagtactttatctgtt +tcaaactcacattgattaaaccggtaaacctttaaagactacaagaaaatattcagtgag +ggcaattttgtcaatcacaatcttccagctagagatacttcacaatttgtcttgaggcta +cgcaacattagacggattttcgcgttttattgaaataatcgaggggcccaagagtatcca +tagttcattttgtaagatttctttacaggcttattacagcttcttcagactcctacatgc +ttacgagttatatgctagcatgtgaacaatagattaatatacaggaaaacgtacattgag +agagatgaccctacacagcgcaaccgttgagtactttcattaaagggtaacgctctcgag +acagcatccttaagatggccttattgtcaaatcatttgcagaagtacgcaagatccctaa +ccaacgtagaagaatccctacaaacacatgagacgcggtgaaaatagacagggtgttagt +attcaatcttcggagtatcaatttcgccaatcttggtgagaaagcataccctttcttcag +agaaagaagatcaatcataacactatctttaacgaggtacgcacgcgcatcattacctgc +ctccatggatctttaggatagcggaaagtattggcagcgtattgtgatttcgttcctact +ttatcaatttcacattcatatacatgtcttttatcaaaatcgccaataagataggatgag +ctatattagatgctagtagagttcgcgccaacatcatcgataggaatactcaggacagcg +tgataggacttttcaatccctaatactctctataattataactctctcttaagtttggag +gcagtaacgcgctctatataatcagtttgctgcaccattcttcagcctctgatacataca +aataaattccacagcagtaagagggtttaattgagacatcttgggaacttaggattttac +tctaacatcaccgaaacgattattggataccgtacctaaacgaactttctcaaggcagta +atataggacatccgcaataacacaaatgctgcctccccaggagttatgtcttcctggagg +ctatatcttacacccactcactataggcaaactaaagtttaaatgttgattgtctaaaaa +aaagatagataagagttggccggcgtagcacatgcgaaagtgaatcgtaagctataattc +tctggacttgaagttctgtcctgttcctctgcaagaaacaaacttcctttaaagctattt +acgacgcacatctcagcaagttataaacatgttggaagtttctagtcggaattcccaaag +aacggatctatctaatgcattcctacatttttcctgtctgccgatggtgccatcctattc +aaagaatttcttaaaagtagattaaatgggacttttaacaatgagtaaccttacgcctct +aagggttcctcgagtgccatacaccagtcaggtccgagccacatacacggagaacattct +aacatagcattctcaactcgatcatttgcaggttacttctttcctatcctagtgctaaaa +atcatacttgcaatcccatagcacggattaagaacctaagaaacaattcagtaaaacatg +ttcgaattcttggtatgggaacatcattgcagctatggtctaacgcattaatgtttgggt +acatcttccatcatataaacaggaagagtctgacgacagggagtgcttgcgatcatgtct +atcattgtgaaatcaaattgtagctcacatgtcgtctatgagagcgtgtatccgataaga +tttagaaaaatagaagtcgtataagatctcactgaacttttgaatgaatgtgaagcatat +atgatctgctttaataaaactttatccataggatacgtttccaaatcaattcaataatta +ttagtcaaaatagataaggatgaacaacctgaaggccgatcggacgtagaaagtggtccc +atcactttgagttgatattgttgaaccacacgttattatggttttcaaacagtctcagga +tattgtatatacagataatccgataccagttgtctgacgcccctcttacgtaccccaccc +tttgtgacgtttaaagcagttgttcagtattttaaactaggcggcaactaatttggaaag +aagcacagtggatatgtctaaattcttgttattcaggcctgaatttaatacaccgcatag +ttaacttcgcggtagagttgttcatcatgcctcctctaagctaccacttctatgatacac +caatagttgttctacggaatctgataattggccaagtcataaacttccgctgcgttcaac +ccccttgctcgaatatccaactcgaaaagacagccttttggtgtccggaacaaatcagtt +acttcttttctgatgttaattctctgtggtcagatacagaccaaaaactccgcggattta +ccatcctccaagaacaaatttgcatcaacatagcattttggctacatattctaagtctca +atagtttaggttttcaactacattatcccaacattaggattggaggaataatagctgggt +aagtccccttgcgtctacaatcgactattttttatgaatatgcttctgccgcacctatgg +ttattaaaaaagtcatgactttgaagaaccctgaaaagatagatgaatcaggtgtaatgg +cagcagccaaagagcatataattagcaacactctaagaacattatagatatgatgatagc +gatcgtcatgatgttatccggtcacaatagtagcttcatcagctaattcgttttgccagt +ggtgacttgcgctggaagaatcgttatacggtcccttccctcttgatacggtgggggctt +attcaaccgcgtggattgggttgtcatacttgcattaaacgatgtaaaccatctagtagt +caactatactaaatcacaaaatagtgatcaatacatacccgcttcatggttttaaccatt +taattgattaaagatattccgctaagaaccattatctacctaaactgatcgccgtatcct +agtagtttgaaatttgatgtaccgtaatgatcaacgaagtaaaacgttatattgtatgta +gaataataggtcttggagctaaatgatgtgattggtagtgaagacttacccttacaactt +taccggtttctcggaagaatatactagagaatcaatgcatgggctacataagcactttag +tctaatgagataaaaaatacacgagtcttccatcatgaattttttgtcgaaaaactcgaa +cctggtaatttaaaccatatatctttatgtcgtcaataactctcatatgttttatataac +ttcccaatcacgacttgtaactgcttgttcgactgagctgtttgagctatgaggccggga +tccggttgagctacatctatttgctacaagaaaaatgaaagcacatttgttgggagttct +ggctacactcatagagaaataagtggcccgagtgggtgcggcctgcctccatattcaagt +gtatcttaaaccaagtggttccaacgctcgcgctaaagaattaaagcctttatttcctcc +acggagtagcccgtaatccggttcgaaagagaccattgaagttaattttcatatccagtg +aagtttaggcacaagcatgtgttctgccacatgcctcaaagcgctcttcaaccaagatat +gattcatcctaacttcgatgaatgcgtctgtaacataaatatagaaggaatgattcggcg +agttaattttcgccttctccaacatggcatccctacgttcgttataaggaccatacatgt +aggttttaaaggtttgcggttaatcgatatttacatcatagaaattctatagtcaaattt +acaagactctagatactcactcgttgcagccggctaggaagcgctttgtaccttacttcc +cttttcgttgcgtaatatgaatttcatatagtaagttcaaggcactcatacctccgtgaa +gagggtagatagactattaaagttgtttaatagtacgtattgatggaaatgacccgtagg +agatttaccactcaatccacaagattcgctgctgtgcattatcaaaacagtgcatgtcga +aacatgggttgggtccttcaaacacgaatccaggtagagatacctttgcaatttttcgat +gaaggcgaccgagataaatgagctataacactgtatgtcttttgattgctataaaacaca +gaaacggatattaatttaggccgtaaccaacatctgttatttgacatagaacagatggtc +ctttacagcgtattccggccttaatattgaggtccagtgtattgtcctcctttaaagaag +ttgattgtaactgacttaaataagacatgtcacccattcactgggttgcaactgctggcc +ctttttgtccatcgcacgctaatgtgataacagtaccgccctcacacctgcgtttaaaag +acataaatgtcgctatgaaggttattcattaattttagctgttttcttagaaaaggtaaa +tttaaaattgaaaaggctagaaaactaaagttacgacaaatgtgtttgtcaagtaggcgg +gcatcattgagattgtaagaaataaagccataaccagccccggaatagaaaatgttaagg +aaaggcgatcttctttgaattcttattgtcaagtgcagtcatacgttcttatcagaggac +attgcaataaaatctaacaccctcccttgtgtggttgggccatttgtacttcgaagcgtc +caccatgtgcagaggataacggaatgtggttccgtcccataaacgatcattctcgcccac +ttagtggcgcggtaaatcgctctcatagaggtaactggcctgtaatgtccaatgttaggc +taccttctccaactttagtacaacgaataatgtccgattaacaaggagtcaatttgtcat +gaccagttcattcaggtacttgtatctatacggacgcgttccagagtagtatttgaaatt +ttgaggttctactgataagtttagctatcgctgtatgtctgaataagaatttaatgttta +tcttcgataaataacaattaacaactcctaggtgatacactgtgaagtctgctgttcccc +aaattacatatgctattttgttcacataccatgaagttaagctaagtgctctataatggc +ataaacggttatcaaactagctcgaatttcttttattacgccggaagcggattaactgct +gtagatcaaacacgttaggatagtgtcgttttcatatatatctaaattcggtctaacatg +cattacccatgcttgataacgtagcacttcgcagtctaattatgtaatgtccgtttaacc +aaactttaaaaaagtttatctatcaccagtgatgcctcatcgtgactacccggatcttta +gcctttagggtctaaacagaactaatattactacgtgtcatactccggagcttaaccagg +tgaaacttatttgttaaccaaatttagtgacagggtagaaatacgtatcaaattaaccca +gcaatacaataagcatgaaaataattgtaatcgggtttgggccggaatcccgcttggcga +aaacttaatgacatagtgtgatgcattttgcactggattgagccacaaactcaactagca +ttatgctcaatatttggccagtgttctacggtttgaaatttataaaggccgcgcaaaagt +cttgtagttacaaacgcataaatctcgaacgtaataggtttaattagaacatccgtagga +tttctgtttatagtagatttatactaaatgttctgattagattctgacggccttacccat +acaattaataaagacgaatatattagttatagtttactatccaaataaattaagcgaatc +gaaataaactgtcacgatactgggcagttatcaacttatcacttatacagttcggacact +ctatattggtctgtgagtactctatcaaactaactcataagttaactgcgcttccattaa +atttcaatacgttcttgtgctgtgtacaaacctataatcgaataaatgacacatatggag +atgcataataaaaaaaacggctccatatttctcgttaatcgggcattcttaaggaggagc +atctcaccaaaaataacgttcctgataagtcttaactattagaccgtcttcgggaatgaa +cgaaacctcaagctagcatggtatagttcttgatagcgcgtaaattctgataatactggg +cggacagctggaaattagttgccagtgcacctacgcaaatagtttacataaatcaacggg +ctccgaacgtaaatacaaagggttagttacatcgcaacaagatgaaaagcatgtatgtct +accgtcatccgtccctaacaaacataaaggtggtgaagaatctcgtaggtcaactataac +tccatccttgaagcaactactccgcgtccgtgtgcgtagttcgcaacgagaacactactg +aaaaaagctaaacaactctcggtacaaatgcggcttgtgtcgataaagttggtggtagtg +cacggaataacataacaaggaatattatttattcaaattttttgtgactgttatttgttt +tctgcctagaatgtaaggatgtgttttttgtgacctgatagttacgcttatttcaggtcc +acggtgcgtgagagtgtgtcctataacggcaggggagcgaagtagtgtcctttagactat +tcaaggtagaattttgataacgctctataaaaggtagaaaatcatgattgagcaataaga +ccccaacttatcaaaaaaggagttctcgacagcgcgtgtacagtccctataacggctgta +tttcctgtgtcacaacaccctcccatcgcactcaaaatgtagatttatgatcagacgcta +acttgttcttagagaaaaatacacgggatactctgtgcaacgatttcattaataaggtgc +agcttgggacttttttggccgtaggctttattaacattcacagtaggtagcgagacttcc +tatgaaccaatcatgccacgcgttttaacgtttcaaatataagctaggaagcgtttgcca +ggacttctataatgcaccgttttttttagtacttccttactagccttagtttatgttaga +gtctttccaattacaaaggattgaatagccaaaatttctacaattctcagcgaacgccag +cttaatctaaacacgagcttcaaatattctacatatcggcaggagtcaatatataaatat +gaaaatcgtaccatcctcgtacttttagaccaaacgtcttcggataattaaatccttttt +caattaccacagtacgtgcattagaactactgctatgaaagtaaaccttgaaatatagtc +ctcaagagcgtatccaagtacattgcacgtgtatacagtcgtataaacgagttgatgttc +tgacgctagagcttaccattcgttaaacagataactaaaatttaatggctgagtgactta +gtgttttcgacaaacgtcgcggatgtagactattgtttataagcaatttttaaaaacata +tgttcaaaacggtatgggatatgtcgaattccacaggggtttatgtaccatagaagtatg +tataaggtactaaaggtttaaatctgtgatattcggttcggtgaaaatcagactagtcac +acttagtgtctgtaaattagattgggtgaaggtaagcgatcccgaactctacaaggcatg +ggatgagattctaccgactccggataacactttacgatcgcgcataactctagctcttag +ataagtttaacttgtcgatctcataaacagttcaaaatctgcgatttattgtatcaaatc +catcctctatcttctataatcatctgaaccgcgatacggcactatgagccaagtgaagat +tgaatccaagaaagctataattggtttattttagtccatttaaattaagtccggtataag +tgctctgtacaatatgcagtctcatgggcatatacgttaactaccttttgatacttcgaa +ttggtaaaatatcgactatcgatttgcagtaaaaggtgtagagtccaattactctttcct +gttacatacgatctcttagtttggacaactagcccatgatggcgctcctctagcgcatga +acctactttataattacatctttatcgatgaatttttttagactgcggaggccttgagtt +ttaacagggctgctaaatttcttaagcgattagacggtagcgtcgtacgctacttgcttg +gaacaggcaccgaaaatattgatctactattgcgtcaactctattctgctaatagcgatg +gcaaatcacagaagccctcttagtgacaatagttgtcaactatatctaagtcgaccttta +ctgtatcaacgatcacggagagaattaccgaatacgaaacctcaggactaaaaaacggaa +aggatttgtcgacggtaaatataatacttgttaagggtagcgacacaggtatactttggg +tgtaaacgtggtgcttcccggaacgattttcagaccagaaaattgttccggtaaccagga +aatctcgtctgcgttaattcgtgttagtaaacttgatcttcagactccttcttttcgttg +cagcgagacttaaattatatctgcgaaatagtgccccgtgcatacttcagatggtaggag +ataccatttggcccattgtgactttacgcgattaattaaccgacatacatctgttcctga +gctatgatcgtctgaataaattacggtctcctcttgatacctaatggtttctggagacgt +ttctcatgttcaaatggatagcaggagatcgcttcatcaagtttagctacgcagagcatc +aaaatatgtatgggaaagtcgatttccaaaccagaagggataaagagaaataacggactt +ctccgtagattagcctgatattttgatgggaatcatggcggcacatacgtaagagttgcg +tgaacgaatattttggacggcgggagacacatatcggccattcgttaaggtctctatatt +ggacatcacaagcttagcagtatgagctactaacactcaagacattattgattttttcaa +gatatgtttcattcctctaccgctattcccatacgttcgattcgccgggtgagcgaaacc +acgggactgaggttaagctaatcaataacaactcgttgcgatagagacctatgtatacta +gagagaattccccaacatttttacaaaaacaaagcagactaaaatagatacagtccctcc +atacaattaggaccaacatgttattgccgatcctagcacacacaccacaaactcagaact +tctgtcttacctatgaaagggtctgcacttctgattgtacgtgtctaattagcattaata +ttaaaactaattaggataaactataggtacgagctttactataagtcactaggtgttttc +cgatcgaaaaacgggaccttcaagccttggtaagtacatttaggataaagaaaaaaagga +aggtacgtgactaatctgtctaaactgacaatagagtagtacctacatgcttcatgtcaa +gtcttaatacgcaagcgctctcgttatactgctcaacaaaactcataaagttggactcca +tcatttagaatcatagggaccaaaacatttatttgctactgtcactttgtaggtgttcta +ttctgaattcctcatattgatacatgaatcggaatacctgtggatcccttaggacgcacg +tgctttctttacgtcagaatacatattgtcagaatcgagaagttccatgcaattaagaat +tcgcctctttgaaaactcatatccccacatatagggtccaccgttattcggaaacgatat +aataattattccagcgttgagcgtcccttaagagcgcattttcgcttggcctttcttcta +cgactctacaacgcaagtggctgtgtggagtttaccacagcgcagcaccccatagaacta +cctctgagagcgcgagatggtggcagtatgctctgcagctagcgtttagaacgcgcccgc +gcattaaccagtcatattaaaatggactgtcttaattgtcggcattaggagcaatattaa +ctgatgagggtatcggtcgcagaagtaatgacggaaatacgcctctagtccgcagagata +cgattacagactcagatcccctaacaagcaaaacgattaaatcggaatcactccccctat +gacatatttgaaatacacaagaaaccacgcaacatgtcccgcattctcaaccgcgcttta +taagatgttgagtctgagaattagatgacctaactgcaagaatcatggcgagtttatcta +gtaggcaagtctgtaccctagggttcgaacgctgtgacgtcgtgatcggtctaaggactt +agatgataaccaagaactggtttaccgagtactttcactattaggagtaattacatgcgt +tcaccgcggaatacgacgaaattttttcatatctttatgagcgagatcgtgtcgtctttg +cattgcaacagtcgctaccagtaattgctgatcaattatagattcattatacagatgctt +acttttctctattcaatactgtcatgagttgtttttaaataagcaccagaattatgtcgc +ctagtataatcttgcttccacttgaatcaatgcgatggacagtattctactgattgcaaa +gtagtctatttcggcttagcagtacgcatgcctatttttttgcaggcacagaataatatg +caactaggattctcggcatccaattaacaggctaaaacaccaccgaaagacaggtaatct +acgaagttgatgtttactacagaaagcgaatgatatcacttggagaacattttagatgcc +cccttttaatctagactgagtgtaccaatatatcaccggtctaccgaatcagcttgaata +aaccactctagtactcatgataaccgagcatacacatgtatttctcaatgcactgaaggt +gaactgtttacaccataccttgcgaatcaacgtggcgacttatacttctgtctttgagta +cagcacaccctaatgaatctaagttagttgttgatacgaattgtaatttgactggatctc +gcctcctcatctagattcttagagaagatgtttcttatagccggtactgtaactttattg +atctggtttatggtaatcaacattttacctctatttaaacgtccttgcgccgtgcactca +atcctgatcggtttagattcaagcgattatcgagtctggaggccgagaaaagaaatgcac +agagtaagctctctattgcgacatctacgtagaaactcgcatttcagatcgagtaagcaa +ctctcattgtgttgattcagtaatacaagattacctacgcttctacgaaatatactatag +atttagcctacgtcacctttagtgtcgagtcggagctttgaagatcggatgcggtgtgga +ctgtgtataggcaattttgctgcgagctcgtgacttttggttgatgtcgatatcaatggg +atacctcaaacgtctttatctctggataactcacattgagtataccggtaaaaatttatt +ctattcatctaaatagtcagtgagggctagggtcgcaatcacattaggccacatacacat +acttaacatgttctattgacccgacccaactttagtagcattgtagccgtttatgcaaat +atgccaggcgccaaacactagccagagggcattttgttacatttatttaatcgattatta +cacagtcggaacacgcctacatgcgttcgacttatttgcgacatggtcaacaattcagta +atttaatccaaaacctaaagtcagagacatgacactaaaatcacattaaggtcagttagt +gaaggaatggctaaccagctagagaatgcatcattaacaggcacttattgtcaaatattt +tccagatctaagcaacatcacgttaaaaagtacaacaatcacttaaaacacatcagtcca +ggtgtaattagaaagccgcttagtaggcaagcgtaggagtataaatgtagacaatagtcg +ggacttagcagacactggatgcagtcatagaagatcttgcataacacgttagggttagag +ctacgaacgcccatcattaactgcctaaagcgtgcgtgagcttagcgctaacttttccaa +cacgtttgtgatttcgttcataatgtatcaatttcacagtcatatacagggagtgtagaa +aaatcgcaattaacatacgttgacctatttttgttcagagttcagttagagcctaatgat +tcgagagcaataatcaggacagcctcataggaagtgtcaatcacttagaagctatattat +tataaatcgctctttactgtcgtcgaaggaacgagcgagagagaatcagttgcctgcaac +tggcttaacaatatgatacataaaaatattttcatcaccactaagacggtggaattcaga +cttattggcaacttaggatgggactattaaataacccataagatgttgggataaagttac +gaaacgaaagggatatagcctgttagataggaaatccccaataaaacatagccggcctcc +acagcagtgatctattccgccacgcgatatctttataccacgcaatataccaataataaa +ggttaaatgtggttgcgatttaaaaaagatacatatcagttgcaccgcgtagcaaatccg +tatgtgaagcgtaacctagaattatagcgtctgcaagttctctaagcttcctctgcaaga +tacaatatgactttttagcttttttactaccaaatctcagaatcttagaaacaggttggt +acgtgctactcggaattcccaaagtaccctgctatatatgccattccttcattggtccgg +gctcaccatggggccatcatagtaatagaaggtagtaaaactagttgatttccgactttt +aacaatcactatcctgacccagatatgggttccgactggcccttactccagtaagggcag +acacacagacaacgagaacttgataactttgaattctcaaatcgatcattgcaacgtgac +ttatttactagcctactcctataattcatacgtcaaatacatttcaacggaggaagataa +taagtaaatattcactaaataatggtcgaaggagtcctttgccaacataagtccacatat +gcgctatagattttttcttggggttcatattcaataagataaacagcaagagtatcacgt +cagcgagtcattgagatcttggctagcattgtgatagcatattctacctaaatggtagtc +tagcacagagtggataagatatcagttagatatagacaagtactataacagatctcgctt +cgttggattgtatggctagctttgatgatatgattttataaaaattgatccagacctgac +ctggccaattatattcattttttatgagtaaaaatagataaccatgaaaatactcaagcc +ccttaggacgtacaaagtggtaacataaatttcaggtgttattctgcaaccacacctgtt +ttgggttttcaaaaaggctaagcagattggttttacagataatccctgaacactggtatc +tcccaacgatgtcgttcccaacccttgctgaccttttaagctctgctgaagttttgtaaa +ctaggcggaaaatatgttcgatagatccactcgcctgaggtagaaattcgtcttagtaac +gcctctttggattacacagaatagtgtactgacacgtacactgctgcagcagccatacgc +taacattaaaattcgttgagtctacatttgttgttattcggattatgttattgggaatag +tatttttattcccctgcgtgaaaccacatggatagattagcctactcctaaagactccct +tttggtctacggttcaattctcttactgagtttatgttcgtaattatatcggcgcagtga +atctcctaattatcaccggagttaccagacgccatgaacttatggccagaaacattgcat +gtggcctacataggattagtatcaagagtttacgtttgcaacgacatttgaccaacttga +ccattcctgcttgtagaccgcgggaactcccctgcacgcgactatagaagttggtggtgg +atgtggcttatgccgcaaatatggttttgaaaaaagtaatctattgcttgatacctgaat +tgagacatgtataagggctattgccagatgaaaaactgcatataaggtcaaacaatataa +gaacattatacataggatcttagcgttcctcaggatggtatacgctataaagtctagctt +cagcagctaaggagttttgccagtgcggacttccgctggaagattaggtttaaccgccct +gacatcttcataaggtcgggcctgattcaaacccctggagtgccgtctcatacttgaatt +aatcgatggaaaacttcttctagtctaatattattattaacaaatgacggttcaataaat +aacaccgtaagggtgggaaactgttaagtgatgaatcattttaacctatcatccattagc +tacagataatgataccccgatccgactagggggtaagtggttgttccgttaggataaacc +atgtaaaacgttagagggtttgtagattaattggtattccagataaatgaggtcagggcg +agtgatcaattacactgaaaaattgtcagcttgcgcggtagttgttaagacagtataaat +gaaggggattcagaagcaagtttctcgattgactgaatttataaaccagtcgtcaatcat +gatttttgtgtcgattaaagcctaaatggtaatttaaaccattgatatttatcgagtcta +taaatatctttggttgtatattacttcacaatcaccaattctaaatgattcttccactgt +gcgggtggagatatcaggacgggttaaggttgacctacatcgttttgatacaacaaaaat +caaagcacatggctggggacttctcgatactatctttgagatagtacgggcaagagtggg +tgacgcctccctacattttcaagtctatcggataacttctcggtaaaacgctcgcgatat +agttttaaagcattgatttaatccacgcaggagcaagttttaccggtcgaatgagaaaat +tcaacgtaagtgtcatatccagtcatggttagccaaaagcatgggttatccaaaaggaat +aaaacagctcttcaacaaagagatgaggcttcataacttcgatgaatgcgtatggttctg +atatatagatcgatgcatgaggacactttattttagccggcgaattaatggaatccatac +gttacttatttggacatgacttctaggtgtttttgctgtcccgtttagcgatatttacag +attagtatttcgtttctcatagttaattgtatctagatactaactcgttgaagacgcata +ccttgccatttgtacaggacttaactgttccgtgcgtaatttgaatttcttataggttct +tcaaggcacgaatacctcactcatgaccgttcatactctagttaaggtcgggaatactac +gtatgcagggaattgtaacctaggagatttacaactctttaaacaagagtcgctgaggtc +caggatcaaaacactgaatctcctaacttcgggtgcctccgtaaatcacctagaaaccta +ctcatacatttgcaattttgagatgtaggcgaaagagagaaatctgctttttaacggtat +ctcttgggattccttttaaaaacacataacgatagtaatgtaccaagtaaccaaaagctg +ggatgtgtctgtgtactgatccgccgtgtcagagtagtccgccatgaatattgacgtcaa +ggctagtgtcatcaggtattgatgttcattgtaaatgaaggaatgaactaatgtcaccaa +gtaaagggggtgaaaatgctccccagggttctacagacatagagatggtcagaacacgac +ccccctctcaacgcagtgtatttgaaatatatggacatatctaccttattctgtaatttt +agatgtgttctgtgtataccgatattgataagtcaataggcttgattacgtatcttaaga +caaatctgtttcgcaagtaggaccgcatctttcagattgtttctttttatgccataacct +gcccaggaattcaaaaggttatcgatacccgatatgctgtgaattattattctaatggcc +actcattcctgcttatatctggaattggcatgaatatcttacaacctaaagtctggcgtt +gcgccagttctacttcgtaccggacaccatctccagtcgttaaccgaaggtgggtacgtc +acataaaagttcattagaccacactttgtgccgacgtatatagatatattacacgtatag +ggaatgttttctcctaggtgacccgaccttctactaaggttgtacatcgtataatggccc +attaactacgaggaaagtggtattgacctggtaatgcacgttcttcgatatataccgacg +aggtaaagtctactattgcaaagtttgacgttatactgataagtttagatttccctggat +cgcgcatgaacaatgtatgcgttatctgccatatataacatgttacaaatccttggggat +actatcgctactatcatcggaccaaaattaaataggctagtgtcttatcagaacatcatg +tttaccgaactgatctattttccaatttaagctgatattacgtccgcgtatttattttag +ttccccggatgacgattatctgagctacatcatacaagttagcatactcgccggtgcatt +gatttcttatttcgctatatcttcaagttcacaggcttcatatagttccaattagcagta +taattaggttttgtaactttaaccatactttataaaaggttatattgcacaactgatcaa +gcatccgctataacccgagctttaccagttagcggctaataacaaataagatgacttcgt +gtcatacgaccgtcatgatcatgctctaacttaggtgggaaccaaatttaggcaatgggt +agtaataagtataaaatgataccacatatactataacaatgaaattatttgtaatccggt +ttgccaacgtatcccccttcgcgataaattaatgacatagggtcatccatgtgccaatcg +tgtgtgccaaaatctcaaattcaattatcatcaatattggccaagtgttataagcgttga +aagtgatataggccgccaaaaagtagtctacttaaaaaccaatatttatcgttcgttatt +gctggtagtacaacatcacgagcatttctcttttgagttgatttatactatatctgctga +tgtgattatgtcccacttacccagaatattaagaaagtcctagattgtaggtatacttga +ctataaatataatttaagactatacaaataatctggctacattatgccatcgtagaaact +gataacgtagtaacgtcggacactagattttggtcggggagtaatctagcatactaacga +atttgttaaatccgctgaaagtatatgtcattacctgcttggcctgtcttcaatacgttt +agactattaaggactcatttcgagatccagtattaattatacgcatccatatttatactg +aagacggattgagttaggacgacaagctaaacaaatattaagttaaggattagtattata +ttgtagaaactcgtcgggttggaacgattcatcatcatagaatgcgttacttattcagag +agacttaattcggttatgactggcagctcacctggaaagtaggtgaaaggcaacagaaga +atattgttgactgaattctacgggctacgaacgtaattacaaagcggttcgtaaagagca +taaagatcaatacaatggatctctacagtattacgtaaataacatacataaacctggtgt +tgattcgactagctcatagattaatcattaattgaagctacgaagacgcggaagtctgcg +gagtgagcaaacagtaatcgactgataaatgcttataatatcgcgcttaaatgccgcatg +gtgtacattaacgtgggggtagtcaaaggaatatatttactaggaatattagttatgcaa +atgttgtgtcaatgtgatgtgttttatccagacattggatgcatggctgtgggggcacag +gatacttaccattagttcacctacaagcggcgtgagagggtctcagttttagccagcgca +gagaagtacgggcctttagacgattaatgctagaattgtcataaacctcgtgaaaagcta +gttaataatcatggtgctagaagaacacaacttttctataaaccagttctcgactgacag +tcgtaactcactatatcgccgctttgtactgtcgcaaaaaaacctcacatagaaagaaaa +atctactgggtgcatcagtagagatcgtgttctgagagataaatacaccggatacgatct +gcatcgagttcatgtattaggtcaagcttgggactgttgtgccagtagcattttttaaca +gtcaaagtagggtgagacacgtcatatcataatatatgccatcgaggtttaaagtttata +tgataagctagcatgcgttgcaatcgtattcttgaatgctccgtggtttgtactaattcc +tttatagactgagtgtatcgtacactcggtacaattacaaaggatggaagagcaaatagg +tcttcaattataacagtaccccaccttaatctaaaaaccagcttcaattagtattaattt +cgccaggagtatatatataaatatctaaagactaaaagactcgtacttttacaacttacg +tcgtagcataattaaatcatgggtaaatgtcatcagtaagtgcattagaaatactccttt +gtaaggatacagtgaatgtgtctcagcaagtcagtagaaatggaaattcatactcgatta +aggcctataaaactgttgttggtatctacagagtgattaaaattagtgaatcagattacg +aaaatgttttcccgctcgcacttacgcgtttagacaaaagtacaggtggtacaattggct +gtagtagaattttggtataaaataggtgataaaccggatgggtgtgggcgaattcaaaag +cggtttttgttccatagaactatgtagttggttataaaggttgtaatctcggagattagg +ttagggcttaatcagaatagtaacaatttctctatgtaaagtacagtgggtgatcgtatg +agttcacgaactcttaatgccatgcctggacaggataaacaatacgcatataacttgacg +atcgagcttatatcgacctatttgagaagtttaacgggtcgatataatatacaggtctta +atagccgattttttctagaaaagcaatcctatatcttagttaatcagatcaaccccgtga +acgatatatcagcaaactgaacattgtatacaacattcctttttgtccgggtggggactc +catttaaagtatctcacctagaactcagcggtaatagatgcagtctcttgcccagttacg +gtaactaaatgttgatacttagaattgctaaattttagtctagacatttccaggtaaacc +ggtagacgacaatttctctgtcatctgtcataagatcgcttagtgtgctcaaattgcaat +tgagggccctactatagacaatcatcagactttttaattaaatagttttccatgaatgtg +ttgtcaaggcggaccccttcacttttatcacggctcataaatgtcgtatgactgtagtcg +gtagcggccttcgagtcttcaggggaaatggaaaagaaattaggcttctaagatggacta +taatcgattaggctaattccgttcgcaaatcacagaagcaatcttactcaaaattgttgg +aatcgatagcgaacgcgaccgtgaatgtttaaaagtgctcgcacagaattacccaatacc +tatcatcacgacttaaatacccaaagcagttgtagtcgcgtaatagattaagtctgaagc +ctagagacaaagggatactgggcggggaaacctgctccttcacggtaacatggtaacaac +agaatttggttaaggttaaaacgaaatatactcggagtgaattactgttaggtttcgtca +tcggatcaataagtagtttccgtgaagacactcttatattagatctccgaaattctgacc +cgtgcattaggcacttggtaggagattccatttggaacttgctcaatgtaagccagtaat +gttccgaaataattcgctgcaggagcgaggagccgctgaataaaggaccctcgcatcttg +ttaccttatggttgagggtcaccgttctctgcgtcaattccagagctggagatacattca +tcaacgttacctacgcacagaataaaaagatcgagcgctaactcgttttcctaaacacaa +cggatttagacaaattaccgaatgcgccggagagtagcatcttagtgtcatgcctatcat +ggcggctcagtacgaagagttcaggcatcgaatattgtggtagcccgcactcaaagttcc +gccattaggtaagctatatattgtggtcagaacttgaggacaactatgagctactaaaaa +taaacaattttgtcatttgttctagatatgtggcattcatcgaacgcttgtaccagaagt +tacattcgcagcgtgagcgaataaacccgaatgagcgtaacattatcaataacatatagt +tcagatagagaacgaggtattcgacagagaattacccaacattggttattaatctatgca +gaataatttagataatgtcactacataatattaggaccaaaaggtgattccccagaagac +aaaacaataaacaatctcacatattcgctagtacctatgtatgggtatgatcttctgatt +ggacggggataatttccaggtatattaaaacttattaccataatctagacctaagagagg +ttatataagtaaagagctgtgttccgatagaaaaacccgaccttaaagacttgcgaagta +aattttgctttaacaaaaaaacctacgtaagggaatattctgtataaactgaaaagtcag +gtgtaactacatgagtcatgtcttcgattaattacaatgcgatctcgttattctgatcaa +ctaatatcataaactgccactacatcttgtacaatcattcgcaacaatacttttatgtgc +taaggtcacgtgcttcctctgctatgctgatttaatcagattcataaaggaatacgaata +actctggatccattaccacgcaagggatttatttacggctgattactttttggctgttga +cagaactgccatgaaagtaagatgtcgcatcttgcataaataatagcacctaatatagcc +gacaaagtgattccgataacagattttaagttgtccagccttgagactccatgaagaccg +cttgggagcttccccgtgattagaagaatctaaatcccaagtggatggggggagtttaaa +tctcagcaccaacaaatagtacttcctctcagagcgcgtcatggtcgaaggagcctatcc +tgatagaggtttgaaagcgcacgcgcatttaactgtcatattaaattggaatctcgtaag +tgtcggcagtacgacaaattttaactgatgtcggtatacggagaagaaggaagcacgcat +tgaagcagctacgcagaactgagaagatgacactctaagatacaattaatacaaaaacgt +tttaagcccaatctatcaacagatgtaagatgtctaatacacaagaataaaaccttcatg +tcccgatgtataataacagctttatttctgctggtcgaggtgaagtagtggaaattactc +catcttgctgcgcgtctttatagtgttggctactctgtaaccgacgcgtccatccctctc +tcctagtgatccgtatatccaattagaggataaccaacatctgcgttaccgacgaattta +aatttttcgactatttaattccgttcaaacccgtattcgtagtaagtgtttcatagattt +atgaccgacatcgtgtacgagttgcagtgcatatgtagataccactaattgctgatctag +gatacatgctttataaacatgcttacttggctattttatttactgtcatgtgggggtttt +tattttcaacaagtatgtgctaccattggataatctggcttcaaattgaagatatgcgtt +ccaaacttgtctactgtttgctaagtaggagttgtcccattagaactacgcagcacgtgg +tttgtgatcgaaaagaataattggcaaatacgaggctagccttcaaatttaatgcagatt +actcctcagaaacacacgtaagcgacgaacgtgatgtttactacacaatgcgtatcatag +aaattcgtgataatttttgttccaacctttgaatctagactgagtggaaaaagatttcac +cgggataccgtttatgctggttttaaaaactcgtcgaatcatcttataactgcattcaaa +tggatttctcaatcatctgtacgtcaactgttttaacaataacgtcagaataaaccggca +caatgagacggcggtctttcactacaccacacccttaggattataagtgacgtgtggatt +cgaattctaaggtgacgggatctacaagcctcagctacattaggtctgaagatctttcgt +atagccgcgtatgttactgtttggatatgggttatgctaatcaacagttgacagcgagtg +aaacggccttgcgacctgaaatctttacggttaccttttgattcaagacaggatcgacga +tggaccacgtgaaatgaattcaaaactgtaacatcgcttgtgcctcagcgaccgagtaac +gacaagttcacatcctctatgcaactatcattgtggtcattaaggtattcaagattaact +aagagtcgaccatatattctagagttttacaattaggaaccgttagtctagactaggagc +gtgcaacatcgcaggaggtgtggactgtcttgacccaagttgcctgacacatagtgtctt +ttgcttcatgtccttagcaatgcgatacctcaatcgtagttttatcgggataaataacat +ggtgtttaaccctattaatggtttctattaatctaaattgtaaggcagcccttgggtcga +aagcacattaggccacatacacagtatgaaattgttcgagtgtccagaccataattgact +accatggtacacggtgttgctattatgactcccgcaaaactcttgacagagggaattttg +gtacattgatgtaatcgatgatttaacagtaggaactagacgtcatccgttagactgagt +tccgacatgctcaaattgtcaggatttttatccaataactaatggctctcacatgtaaat +aaaatcacattaacgtcacttagtgatggattcgctaaacagatagactatcattcatga +actggcactgtttcgattatatttgcaacatcgaacatacttaaagttaaatacgacatc +attcaattaaaaaaattcagtacacctctaatgagtatcccgctttggaggaaagagtag +cactttaaatggacaatttaggccggactttcctgtaaatggatgaagtcattgtacagc +ttgaataaatcgttagggttagtccttacatccaccatatgttaatgaataaagcctgag +ggaccttagagctaacttgtccaacacgttgctcatttacttaataaggttgaaatgtat +cagtaagtgacagcgagtgtagattttgaccatttaactgaccttcacagttttgtcttc +agacgtcacttacaccataatgatgacagagcttgtagatgcacacactcattcctagtg +taaatcaagtagtagctagattattataaagagatattttctggcgtcgaacgtaacaca +gagagagtataaggggcatgataatggcttatcaatatgtgtaagaaaaagtttttaata +tcatctaactcggtggaatgcacacttatggccaactgaccttgggacgagttaagatac +cataagaggttgcctgtaagttaagataacaaagggatattccatctttgtgtgctaaga +acctatttatatttgcagccataaaaacctctgtgctatgcagccaccagagttatttat +acaaagaaagagaccatttagatacgttaattctgcttgcgatttattaaacagacattt +cacgtccaaccactacaaaagccctatcgcaagacgatcattgtattatagcctatgcaa +cgtagctaagcggccgaggaatcataaaatatgaattgttacattgtttactacatatga +tcacaatctttgtaaaaggttcgttcgtgatactaccatgtacctaactaacctgagata +tatgcaatgacttatggggtcagcgcgcaacatccgcaaagcatagtaatacaaggtagg +aaaacttctggatttcccaaggttataatgctctatactgaccaagagatccgttacgac +tcgcaatgaatactctaagggcactcacaaagaaaaccactaattgataaatttcaatga +taatatcctgaattgcatcgtgtatgagttacgagaagtcgcatttaatgaattagtcat +agaaatgtcatagcaggaacataattactatattttaacgatttaatcgtagttggagtc +ctttcccaaattatgtcatcagttccgatttagatgttttcgggcccttcttagtaaaga +agttaatatccaagactagctcctcacccacgcatgcacatattcgcgagaagtctgata +gaatattcgacagaaatgcgactctagctcacactcgttaactgatcaggtacttataga +caagtacgttatcagatatcgcttcggggcattgttgcgctacctttgtgcatagcagtt +ttgaaaaattgttcaagacctgaacgggaaaatgatattatttttttaggaggaataata +cagtaccatgtaaatactcaaccaccttacgtacttcttacgccgaacatatatggcacg +tgttattcggctaacaaaactgttgtgccttttctataaggataagcagattcgttttaa +acatatgacctgtaaactgggatctacaaaagaggtacttaaaataaattgcgcaacggt +ttagatctgcggatctttggttaaagagcaccattagatgtgccatacttcctatcgcct +gagcgagaatttagtctgaggaaccactcttgggatttaaaacaattcggttaggacacc +tactcggcggatgaagcaatacgataacattaaaagtcgttcagtctaattttggtcgta +gtacgatgagctgatggccaattgtatttttattaacagcactgaaacaaaatggagact +ttagactaatactaaagtctcaatgttcgtcgaaccttaaatgctcggaatgaggggatc +ttcggaagtatagcgccgaagtgtatctcattattataacaccagtgtacagacgacatc +taattatggccagaaactgtcattgtgccattaagaggattagtagatagtctggaccgt +ggaatagaattttgaccaaattgaccagtcctgcttgtagacagcgcgatctaaactgca +cgagaatatacaagttggtggtgcttgtggctgagcacgctaagatgcgtttgtttttac +gattctagtgcttcttaacgcaattcagtcttctagatccgctattccaacatcaatatc +tcaatttaaggtcaatatatataacaaaattagacagagcagctgacacttacgaagcat +cgtagaaccgatatagtcgaccttatgatgatatggacgtgtccaagtccgcacttccga +tgcatcttgacggtgaaccgaaatgaaatcttcattagggcccccatgtgtcaaaccact +cgagtcccgtctctgaagtcaagtattactgcgaaaaattcgtctactattagtttatta +tgaacttatgacgcttaaataaattaaacagtaagcctgggaaaatgttaaggcaggaat +ctttgtaacagttcataatgttgctaaagattatcagaccccgtgaagacttcgggcttt +gggcttcgtaccgtagcataatacatctatatagttagaggcttgcgtgttgttgtgcta +ttccacatatagcagctctgggcgactcttcaatgaaaatgaaaaatggtaacctggcga +cctacttgttaagtcagtttaattcaaggggattaagtaccaagggtcgagtttctctgt +atttattatactgtaggcaagaagcttttttggcgagatttaagacttaagcctatggta +aaaatttgatagtgagcgactatagtaagagatttgggtggttagtaattaaaattctcc +tatgctaaatcaggcgtacaatctgagggtgcacatttctcgacgcgtgaaccttcaccg +aaagcgtgtggattatacaaatttcaaacatattggcggggcacttatccataatagatt +tctgtttgtacgccaaactctgcctcacccctccataaattgtattggctagaggttaaa +ttctccgtaaatagagacacatatagttttatacaattgtttgaatcaaagcacgagaaa +cttttaaccgtacattgacaaatgtcttcggatggggcagagcatctcttcgtgacccaa +atcaatcgctgagcaataagcaagaaaacacagattatacaaagagatctggatgaagat +attcgtgcaatcactatcgttatgttagagagttccatgcatgaggactcgttttttgac +caggagaattaagccaagaaataactgacgtatttccaaatgaattctacgtgtttttcc +tgtcacctttagccagtgttaaagatgactatggagtttcgaataggttattctatagac +attataacgagtggaacacccataccttcacagtgctaaaggtaggaacgggtacgtcag +gtagttcaagggattttaggttcttaatccaacgaagaaataacgcatcacccgtcattc +tattgttttcgtcgggattacttagtaggcagggtattctaacctacctgagttacaaat +ctttaaaaaactggccatgaggtcatggtgataaaatctgaatcgcctaaattcgcgtcc +ctaaggaaatatactagaatccgtctcagaaagtgcaaaggttgacttcttcccctaaca +cagaattctcagttttatagctatctagtggcattcctttttataaaactttacgtttgt +aagggtccaactttacaaaagctcggatgtgtatgtgtaatcttccgccgtgtaagactt +ggaacccatgtatattgacggcatggcgtggctaagcaggtattgatcttcagtgtaaag +caaggtatgttctaatctaacaatgtaaagccggggattagccgccaaaggggtctaatg +acatagagatgctctgaaatcgtaccaactataaaagcacgggatttgaaatatagcgac +agatcttccgtattctgttagttgacatctgtgctgtctttaccgattgtgatttggctt +tagcagtcatttagtttcgttactcattgctcgtgcgatagttccaccgaatatggcaca +ttcgttctttttttccattttactgcaaaccttttcaaaagctgatcgataccactgatg +atggcattgattagtcgattggcaactatgtcctgcttatatctccaattgcattgaata +tagtaaaaaataaaggctcgccttcccaatgggctacggagtacacgaaaaaatcgcaac +tcgtttaaccaagcgccgtacctaacatataagtgattgagacaaatagttctccagacg +tattgagatatatgtctcctataggcaagcgtttctaattgctgaccagaaattagaatt +aggttgttaatactatattcgaccattttattccacgaatgtgctattctactggtattg +ctccgtatgcgatatataaccaacacggaaagtcgtcgattgcaaagtggctccgtagaa +tcatttctggtcatttaccgggagcgcgcttgaacaatggatgcggtatctgccatattg +ttattgttaaaaagacttccgcttactatcgcttcgatcatcggaaaaatattaatgagg +attgggtcgtataagaaaatcatcttttcagttcgcagatttttgccaatttaaccggtt +atttcgtcagacttggtagtgtagttacaagcatcacgattatatcagctacagaattaa +actgtcctgactcgacggggcagtgtgtgagtattgcgctatatattcaaggtaacagga +ggcatataggtcatagtacaaggataatgaggtttgctaactttaaaaattattgattta +acggttgattgaaaatctctgcaagatgacgctagaacacctgatgttcaagtttgccga +taataacatataagatgaattactgtctttagaccctcatgttaatccgctaacttaggg +cggaaacaatgttaggctatgcggagtaagtactatattatgataccacatagaatttaa +cattcatatgatgtctaatacccgttcccaaccttgcaaccgtcccgattaattaagcaa +ttacggtcatcaatgggccaatcctgtctcaaaaattatcatattcaaggttcagctatt +ttggcaatgggtgagtaccgttcttagtgatttacgaacccataatctaggcgacttaat +atacaagatttagagttacgttttccgggtagtacatattaacgaccatggatcgggtga +ggtgttgtattagttatctgatcttgtcagtagctcccaatgtcccagaatattatgttt +ctactagagtgttcgtatactggaatttaaatattatgtaagactagacaaattttatgg +atacattaggccatcgtagaatatgatatagttgtaacgtccctctatagattttcggag +ggcaggtatattgcttaataaagatgttcggaaatcagcggaaaggatttgtaattaact +gatgcgcagcgcttaaataagtttagactattaagctatatgttcgacagcatgtagttt +tttttaccagaaagtgttatactgatgacccatggaggtagctcctcatgataaaaatat +tgttacttaagcattactattatagtgttcaaactagtaccgttgcatactttaagaatc +agacatggcgtttcttatgcagacacacttttttagctgttgacgcccacctcacatcca +tagtaggtcaatcgcataagaacaatattctggactgttttattacccagaagaaagttt +tttctttccggttcgttaagacaataaagatcatttcattcgttctcttaacgatgaact +aaagtacttaaagtatccgcctcttgtttcgactagcgcatagtgtaataattaaggcaa +gataagaagaacaggaacgcgcacgtcggagataactctaatagtctctttattccgttt +aatatagcccgtaattgcaccatgcgctacagtaacggccgccttcgcaaacctatttat +gtaattccaagtttaggtatgcaatggttggggcaatgtgaggggttttatcaagacttt +cgttgcttcgcggggggcgcaaagcagactttacagtagttaaccgaaaaccgcagggag +tcgctctaagtgttaccaacccctcactactacgcgaaggtactcgattattccttgaat +gggctgaaacatcgtgattagcgtcttatgattcaggctgatagaagaaaacttattttc +tatattccacgtatacaatcacactcgtaactaaatagttcccagcgttgtaatgtcgct +ataataaataaaatacaaagaaaattcgtctgggtgcataagtacagttagtcgtctgtc +acataaataatccgcagtcgatctcattacaggtattgttgttggtcaaccttcgcaagg +tggtccaagtagcattgttgaacagtaaaactaccgtcacacaaggaatatcataataga +tgccatacacggttttacttgatatgtttacagtccttgagttgcaatcgtagtattgtt +tcatccggggtgtgtacgaagtaatttagacaaggtgtgtagcggtcactaggtaaaatg +acttaggatggatgagcatttaggtattctatgataacactaaccatcatgtttctaaaa +tcctcaggaaatttgtattattttaccaacctgtatttatagaaagtgcttttgacttaa +agaagccgaagtgttcaaattaaggagtacctgattgaaagaatggggaattgtaatctg +taactcaattacaaataagccgttctaaggattaaggctttgtgtctaagcaactcacgt +gaattcgaaattcatactcgattaacgactttaatactcttctgcgtatctacagactca +tttaaattacggaatatgttttcgtttttggtttccagctcgcacgtacgcgtttacaaa +taaggacacctggtacaattggctggagtacaatgttggtttttatttgctgattatccc +gatccctgtgggcgttggcataaccgggttttcttcaagactactttcgtgttgcttata +tacctggtaatatcggtgagtagcttagggcttaatcacaatactaacaagttctctatg +gattggacagggcggcatccgttgactgaacgatctattaatccattccctgcactggat +aaacaagacccatttaaattgaccatagagatgttagcgtcatatttctgttcgtgatag +ggtacatatattataaacggattatgagcagtggttttctagaaaagcattcatagttag +gagtgtatcagatcataccactgaaccatagagcacaattctctactggctatacttcat +tcctttttgtccgggtggggacgaaatttaaaggttctaacctagaacgcagagcgaatt +gatcaaggcgctggccaagtgaacggttctaaatgttcttaatgagaattgcgtattttg +actattgacagggcatcgtaaaccgctactcgacttggtatctgtaatctgtatgtagat +agagtacgggcctataattcaaattcagccaccgaagattcacaatcttcagacgtttga +aggaaagaggtttactggtatgtggtgtcaagccccacccattctctgttatatccgagc +attaatgtagtttcactgtactacggtcacgccgtagagtcggcagggcaaatccaaaac +aatttaggctgagaagtggcactataatagtttagcctaagtcccttcgctaataactca +acaaagatgacgcaaaagtcggcgaatagattgcgttcgcgtaagggtatcttgaatact +gatagctctcatggtaccaagaactttcataacctctttatttaccaaacctgttctact +agcgttagtgttttagtctgtagccgacacaaaaaccgagaatggccggcgtaaccggcg +cctgcaagctaacatgggatcaaaactattggcttaacgtttaatcgaatgagactagca +ctgtattactctttcgtttcggcagcggatcaataaggaggtgacggcatcactctctta +tagtagatatcacttattctcacaacggaagtaggatcttccgtcctcattaaatttgca +actggctcaatgtaacactgtaatgttaacaaagtatgagctgaaggtcagagcagacga +tgtagtaaggtccctcgaagctgcttacagtatccttgaggctcaacgggctatgcggaa +attccagacctcgagttacattatgaaacgtgtcattccatctcattaaatagttcgtgc +cctatcgccttgtaatataaacaaccgtttttgtctattttcccaaggagaaggagagta +gcagcttagtggcttgcctatatggccccctaagtacgtactcggcacgcttagaagatt +gggctaccccgcactatatgttcccaaagtaggtaacctagatagtgtcgtatgaaattc +aggtcatcgatgagagtataaaaatatacaattttggcaggggttatacattgcgggcat +gaagagtaacattggacatgaacggacattcgaaccctgtgagtttaataccctatctcc +ggatcattataaagtaaatatacgtcacttactctacgtgcgtttagacagtctttgaaa +ctaaattggttatttttctttcatctagatttgtctgtatctaactaaattatagttcca +cataaagctgattcaactgaagacataaatataaactttctaacatagtagcgaggaaag +agctatgcctagcatcggatcatgcgtccgcgagtagttcctggtagagttaaaagtttt +tccagaatctagaccgaacacagggtagtgaacgaaagtgcgcggtgaacatacataata +ccgaacgtaaacaattccgttcgtattgttgctgtatctatatttcctacgtaaggctat +ttgatctataatatgaaaagtcacgtcgaaataaatcaggaagcgcttcgagtatgtaca +ttcagatctccttagtatcatcaaattatagattttacggccacgaattattggtctaga +tgtcccaaaaataatttgatgtcagtagcgatcgtgcttcctcggagttgaggttggaag +aagagtcattatgctataccaagaactctccatccagtacctagaaaggcaggtatgtac +cgctcattaattttgcgatcttgacagatctgcatgcaaagtaacttgtaccagatggct +tttataatagaaactaagtttcccgaataacggtgtacgataacagatttttaggtgtac +agacgtctgactcaatgaacacacattgggacctgccccgggaggagtagtagataatta +ccttctccagcgcgggtcttttaatatcacaacataaaaatactaattaatatcacacac +cctcatcctcgatggagcctagcatcatacacgtttgatagacaacgccaattttactgt +aatatgatattcgaatctagtatgtggacgctgtaccacattgtttaaaggagctccctt +taccgacatgaacgaagcaagctttgtacaagatacgaagaactcagtactggtaactat +aagagacaatttatacataaaagtgttaagaccattatataaaaagaggtatgaggtctt +tgtaactacaataatacattcatcgaacgatggagaataacagagttatttctgctgctc +gagctctagttctgctaatttctcaatcttgatgccactcgtttgagtcttccattcgct +cttaacgacgcgtacatccctctctcctactcttacctatatcctattactggttaacct +acatctccgggaaagacgtaggtaaagtggtccacgattgtattcacttataacacctag +tagtactatgtgttgctgagagtgaggacacacttactctacgagttcaagtccatatgg +acattacactttttcagcatctaggtgtcatgatgtattaacagccgttaggggctattt +gattttatcgattgtcggcgtgtgtattttcaacaactaggtgctacaattcgtgaatag +gcatgaaaattcaagattgcagttcctatcttgtataatctttcctttggacgagttgta +ccatttcaactaacctgcaagtggggggtcatccatatgaagatttgccaaatacctgga +gaccctgaaaagtttatccagattaataataacaaacaaacctaagcgaagaacgtcagc +tttaataaactatcactatcatagaaattcctgttaattgttcttccaaacgttgaatag +actatcacgggtaatagattgaacacggagaacgtttatccggcttgtaaaatatcgtcg +aatctgctgataactcaattatattcgatggagaattcatatctaccgcttagcttttaa +aaattaagtcagattattccgccacaatgagaaggcgcgagtgcactaatcaaatcactt +aggattattacggacgtctgcattacaatgctttggggtagggttatacaagcatatgat +tctttaggtctcttgatcgggcgtttaccaccgtagcttaatgttggcatatccgtgatc +ctaatattctgttgtcagcgtgtgtataggaatgcacaacgcaaatctttaagctgacct +gttcatgaaagacaggagacacgaggcaccacctcaattctatgcaaaactctaacatag +cgtggcactatgagtacgtgtaacgacaaggtctcatactcgatcctaagataattctcg +tctggaaggttttaatctttaactaagagtagaacttagtttattgacttttacaattag +gatacggttcgcgactctaccacagggcatcatacctggagctctgctatctcgtgacca +aagtggcagcacacatagggtcgggtcctgcatctactgagcaatccctttaagcattcc +tagtttgagagccatttagatattgctgtttaaaccgattaatggtttctattattataa +agtgtaacgctcccattcgggacattgaaaattagcaataagacaatgtatgatattcgg +cgagtctcaacaacattatggtctaccatgggacaaggggttgatatgatgaatccacaa +aaaatagtcaaacacccatggttcgttaagtgagggtatccaggtgttataaggacgatc +tagaagtattcaggtacacggtgttcagacatgctctaattgtcaggttgtttataattt +aacgtatcgctctctattctaaataatataaaattaaccgctcgtagggatgctttccag +taaaagatacactatcattaaggttatgcaaatgtggcgatttgatttgaatcttagtac +attcttaaacttaaatacgtattatttaaagtaaatatattatctaaaccgcttttgtct +atccacatttcgtcgaatcacgacctcgttaatgcgacaatttacgaccctctttcatct +aaagcgatcatctatttcttctgattgatgtaatactgacccttactccgtacatacaaa +tgatggtaagcaagaatgactgacgctcctgtcacctttcgtggcaatcaactggcgctg +gtactgaagtagcttgaaagggatatggatgtgtatgccaggcttcattttgacaatttt +tctgtcctgctcagtgttgtctgaagtcgtatcgtacacaataatgatgactctcattgt +agatccaatcacgctttcctacgctaatgaaagttctagatagtgtaggtgttagacaga +ggttagcgcctacatccttacacacacagtgttgaacggcaagcataatcgagtatcaat +agctgtatgtatttgtttggaatatcatatttctcccgcctttgaacaatgatgccaaaa +tgtcctgccctagagttatgataaaataactgctgccctgtaacttaagtttacaaaccg +atattcaatcgttgtgtcctatgaaaatatttatatttgcaccaagaaaatcatctgtgc +gatgaacaaaacacagtgatttataaatacaaagagtacatttagttaccggattgcggc +ttgacatttattttacagaattttatcggcaaaacacttcatatgaactatcgcttcacg +ataagtctatgatagactagcattcgtagagaacaggaagagcaatcattatatatgaag +tgttacagtgggtactacatatgagatcattaggtctatatccggccttcctcataagac +cttggaaatatcttacatcagagatatcaaaggaagtatgggcgaacccagaaaaagccc +caaagaatagtaattcatcggacgtaatagtctggttttaactaggggttattgatattt +aagctaaaagagttccctgaacactcgaaatgtataatctatcccaactaaaaaagtata +cctctaattcagaaatgtcattgagattagactgatgtcaatacgctaggaggtaagaca +agtagaagtttttgatttaggaattgaaatgtaatacctccatcttaagttctatatttt +aaagttttatgcggacttcgagtaagtgcacaaatgatggcataagtgcccagttacatg +tttgcggccccgtatgagtaatgatctgtttatcaatctctagctactatcccacgaatg +cactgatgccagtcatggcgcttacattagtcgacagaaatccgacgatacctatcacgc +gtgaactgttctggttcttattcaattcgaagtgatctcagatacattacggccatgctt +gcccttcatgtctgctgagcagttttgttataggctgaatctcctctaagcgaaattgat +aggatttttggtggtcgatttagtctgtacctgcttattaagattcaaaatgacctactt +cttacgccgaaatgatagggatcggctgaggaggataaatatacgctggtgcctggtatt +tatccagaacaagttgcctgtgtatcagatgaactctaatctccgagataaaaaacaggt +acgtaaaataaaggccgcaaagggttacatctcaggatcgtggcgtatagtccaccatta +gttctgacttacttaatatagactgaccgagattgtagtatgtggatccaagcttgccat +gtaaaacatgtcggttagcaaaacgtataggagcatgatcaaagaagagttaattaatag +tactgcactataattgtcggcggagtaccatgagctgttgcccaattcgatgtttattaa +cagcacgcataaaaaatccagacttttcaattagaattaactataaatggtccgcgaacc +ttaaatgatcggaaggacgggatctgccgttgtatagaccccaactctatctaattttta +taacacctctgtaatcaacaaatcttattatgccatcattatgtcattcgccaagtaagt +ccagttcgagattctctggaccgtgcaatagtattgtcaaattatggtaatggaatcctt +cttctaacacccttagaaaagccacgagaattgacaagttgggcgtgcttgtccaggagc +aacataagtgccgtttctttttacgatgatagggattcttaaagcttttctctattctag +atcccagttgccatcatcaatatctcaattgatgctcattatatagttcttatttagtat +gtccagatgtcactgaagatcctgcctagaaccgatattctcgacaggatcatcagttcg +acggggcaaacgcacctatgcacatccatcttgaccgtgaaacgaaaggaaagagtcagt +accgacccaatgtggaaaaaaactcctgtccacgatatgtaggcaagttttactgccttt +aattagtagtcgattagtgtagtttgatattatctaccttatagaatgtaaacagtaacc +cggccttaatggtttggcaggattctttgtaaaagttaataatgttcataaactttatca +gaaaacctgaagtagtccgcctttcgcctgcgtaacgttgcagattaattcgttttacgg +agtggcttgcgtcttgttgtccgagtacacatattgctcctctcccccactcttctagga +aaatcaattatgctaacctgcagaccttcttctttactatctttaatgcatgcccagtat +gttcatagggtagacttgctatctattttgtataatctacgaatgatgcttggggcgcga +cttttaacaattaagccgttgggtataatttgagagggtgccacgatagtaagagatttc +cggcgtgagtaaggaaaatgataataggattaagcaggcgtaatagctcaccctcctcag +ttctccaaccctgaaccggctaagtatgactgtgcagtattaattttgaatacatattgc +agcccctaggatacattatagatgtctctttcttacccaaactcgcccgcaccaagaaag +aatgtggattcgattgaggttaaattagccggaattacagacacagattcttgtttacaa +ttgtgggaagaaaaccacctcaaacgttgaaacctacattcacaaatggattacgttggg +gatgagaatcgattccggtcaaaaatcatgcccggagcaataaccaagaattcacagagg +attaatacacttctccatgaagataggactgcttgcactatccttatctttgtgtcttcc +ttcaagcaccaatcgtttggggacaaccacaattatgccaagaaataacggaaggtgttc +caaatctatgagtccgcggtttcatcgcaacgtttcactgtgggtatcatgactttggac +tttagatttgggtattctagagactgtagaaagactgcaacaacaagacattcacagggc +gaaacctaggaaaggggaccgcacgttgtgctagggatgtttccttaggaatccatacat +gtaagaaagaatcaaccgtaattatagtgttttcggccccttgaattacgtgcatgcctt +tgctaaaagacctctgggaaatagattgaatattctggacagcagcgaatcctgattata +tctcaagcgaatatatgacccgcaagaaggatttatactagaataagtctaagaaagggc +attgggtcacttcttccactaacacacttttatcagttttataccttgagagtcccatgc +atttttatatatatttaactttcgttgcgtaaaactttaaatatgatccgtgctctatct +ctaatctgaacaacggtatcacgtcgaacaaatctagtggctacgaatcgcgtcgctaag +aacggtttcttctgctggcgttagctacgtatcttctatgctaaaaatgtatagccccgc +attagcagcaaaaccgggagaatcaaatacacatccgatgaaatcgtaacaaagataaaa +caacgcgatttctatgtttgccaaagtgattaagttgtatcgtaggggtcagcgctgatg +tcttttcagtttgggttttggatttaccagtcttttagtttcggtactatttgatcggga +cattcgtccaaacatgatggctcattcgttctttttttcaattttaatcaaaaccttgta +tttacctgatacattaaactgagcatcgcatggaggtggagattcccatatatgtaatca +tttgatatcctattccattctttttagttataaataaacgctccactgcacaatgggagt +aggacttcaccaataattagcatctactgtaaacaagcgccgtaacgaaatgattactga +ttgagaaaaataggtctcaacaacttttgacagatatgtatccgatacccaagcgttgct +aattgcgcaaaagtaagtagaattacggtcgtattacttgttgccaaatggttattactc +caatgggctattctaatccgatggatacgtaggagagagtgtacctacaccgaaactcgt +agtgggcttagtggctacgtagaagctgttcgggtcagttacagcgtgcgaccttgtaaa +atcgatcacggtgatgaattattgttattgtttaaaagaagtcccctgaatagcccttag +ataatacgaaaatttgttatgtccagtcgctcgtatatcaaaagattcggttaagttcgc +agagttttgccaagtttacaggtgatttactaacacttgggagggtacgtacaaccatca +cctggttagcagagaatgaattatacggtcatgtcgcgaagggcaagtgtgtgagtattg +accgagttattaaacgtaaatgcaggcatttacgtcataggacatcgagtttgtcctttg +cgaaatgttaaatttatggttttttccgttgagtgataatagctgcaacatgaagatagt +aaaactgaggttaaactttcaccatattaaattatatgttcaattacgcgatgtacaaac +taatgttaatcagatttaggagcgcgcttaatatgggtccctatcccgactttgtacgag +attttgataaaaaatagtattgtaaattcatttgatggcgtagaaccgggcaaaaccttg +aaaaaggacacatttaggatgctatttccctaagaaagcggaaaatcctggctcaatatt +tataatagtaatggttaagattgtggcccaatcgctgagtacccgtcttacgctttttcc +aacacataatcgacgagaatgtatttaaatgtttgagacttacgttttccgcgtacttat +tattaaagtcattggagagggtgtcgtctgggtgtagttttctcatctgctcaggagcta +aaaatgtaaatctattggttgtttctaattctgtcgtccgtgtaggctatttaattttta +tggtacacttgaatatgtttagccataatgtagccaatactacaatatcagatacttgta +tacgacctatagacttttgccgaccgctcgtagagtgatttagaaagatgttcggatagc +acagcaatcgtttgcgaatgtaagcatgcgaagcgagtatttaactgttgactattttgc +tatatgttactctgaatgttgttttttttaccagaatgtgttataatgatcaaccatgca +cgttcctactaatcatataaattttgttacgtaagcttttctatgatagtggtctaaaga +ctacccttgcatactttaagattaagacatgcactttaggaggaactcacacgttttgag +ctgttctagcccacctataagccattcgtccgcaatcccataactacaatagtcggcaat +cttttattacccagaactaacgtttttatttcccggtacgtatcacattaatcttaattt +aatgcgtgagagtaacgatgaacgaaagttatttatgtttaagccgcttcttgagaatac +agattactgttagaatgaaggcatcataactagaacaccaacgcgcacctcgcacattac +tctaatagtagctttattcagtttaatatagacagtatttgaaccaggcgctaatgttaa +ggcccccttcgaaaaccttgttatgttattccatgtggtcggaggatttgcggggcgata +gcgctgggcggggatcaacaatttcgttcatgcgagcgcccccataaccagtaggtacag +ttcggaaaagaaaaccccacgcactcgctagaagtgttacaatcacatcacttcgtaccg +aagggactactgtattccgtcttggggatgtaacagactgattacagtcttatgatgaag +cctcattcatctaaaattagttgatttattccacggatactatcacactcctatagaaag +agttaccaccgtgggaagctagatataataaataaaagacatacaatattagtatggctc +atgatctacacttactcggatctctctttttttataaccagtagatcgcattacacgtat +tgttgttccgcatcaggccctaggggctcaaacttccatggtggataactaaaacgtccg +tcactaaacgaagatattaatagatgaaatacacgggtttacttgatttctgttcagtca +ttcacgggaaatcctaggagtctttcataacggcggtcttagtaggaatgtagtcaagct +ctgtagaggtctcgacggaattggtatttcctggcatcacaatttacctagtattggaga +tcacttaaaataatgttgagataataatcaggatatttctagtatgtgacaaacctctat +ttagtgattgtgattttcaattaaacaagacgtaggggtcaaattaacgactacatgttg +gaaagaaggccgaattgtaatatctaactcatgtactaagaagaagtgctttcgtttaag +gctttctgtctaacattctaacgtcaattcctatgtaatactactgtaaccaagttatta +ctcggctgcgtagataaagtctcatgtaaatgacggtttatctgttacttttgggtttca +acctagctaggacgccggtactaattacgacacctgcgtatagtgcagggtgttcaatgt +gcctttttatgtccggattataaccatccctctcccacttggaatatcaccgggttctta +atgacttagttcgtcttccttattttccgggtaagatcgctgtggaccggacccattttg +atctagtctaaaaaggtatatagcgtttcgtctggcccgcttacgttcactgaaacttag +attaatcaatgcactgcactggattaacaagaacatgttatagtgtactgacacatgtta +gactaagaggtctgttcgggttagccgacttatatgtttaaccgattttgacaactgggt +tgagagataacaatgaagagtgaggactgtagaagatcttaaaactgtaccatagtgctc +aattcgctaatggcttgaattatttaattgttctaaccctggcgtcgaatttttttggtt +cgaaaatacttagcacagcgtattgttcaacgagatgcacaactgtaccgttagaaagcg +gcttaatgacaaggcagtattgtgactattgacagggaatcctaaaaagctactcgaatt +ggtatatggaagaggtatgtactgagaggtcgcgcctattagtcaaattctgccaaagaa +gagtcaaaagcttaactagtttgatggtatgaggtttaatgctaggtggtctataccacc +aaaaagtatatgggatatcccagaatttatcgactttcaatcgtctaccgtcacgacgta +cactaggcagccctaatccaaaacttttgaggatgagtactgccactattatactgtacc +atttgtaacttacattttatatcttcaaagaggtagatattgtcggccattactgtcact +tacactaagggtagcttgattactgatacctctcatggtaaaaagtaatttaagaaccta +tttttttacataacctctgctactaccgttagtgttttagtcggttcaagtcacaaaatc +cctgtagcgcacccctataagcagaaggaaaccttaatgcggataaaaacttttgccgga +accgttaatcctatgagaataccactcttggaatcggtcctttaggctgaggatatagaa +cgaggggaacgcatcaatctaggttaggtgagagaactttgtatcaaaacgcaagtacca +tatgccgtcctcagtaaattgccaaatgcagaaatcttacactcttttcttaactaagta +tgagagcaacctcactcctgaacagcttgttacctaacgagaagaggctttaagtagcct +ggagcctcaaccggatatccggatttgactctcatccacttacatgatgattacggtcat +tacatctcatgattttctgagtgccctatagactgggaatttaatctaccctgtttctat +ttgttaacaaggagaaccactggtcaagatgacgcgcttccatttatgccaccataagta +agttctcggaacccttacatgattggcctaccaacctatatatgtgaccaatgtacggta +catagagtgtggcctatcatattcaggtcatcgagctcagtatttaaagattatatggtc +gctgggggtattcagtgcgcgatggaagactaacattggaaatcaacggaattgacaaca +cgctcactttaataacctatctcaggataagtttaatgtaattagacggaactttctcta +actccgtgtactaactctttgaaaataatgtgggtatttttatttcatctagatttgtct +gtatcgaaagaaagtattggtccaaataatcctcagtaaaatcaagtcataaatataaaa +tttagatcttaggacagaggaaagtgctttcccgagcataggatctggcctacgccagta +gttcatgcttgtgttaaaagttgttactgtttatagtccgtactcagggtagtgttcgat +actcagcggggaactgacatattacactaaggaatcaaggcccttcgtatgggtcatgtt +tatatatttaattacttacgctatttgatcgagaatagctatagtaacgtcgtaagaatg +caggatgcgattcgagtttgtaaattcacagatactgtgtatcatattattatagatgtt +aaggcatagaattattggtattgatgtacaaaaaattatgggtgggcagtaccgataggc +attacgagcagtgcagcttggaagaactggatgtatcctataactagtaagagccttaaa +ggtactacatacccagggatgttaccatcattaatttggccatcttcaatcttcgcaatg +catactttcttctacaagatgccttttagaagacaaaataagtgtcaacaataacgctgt +aacttaactctgttgtacgtggaatcaagtctcactaaagcaactaacattccgacatgc +aaacgcaggactactagattattaaattcgccagcccgcctcgtttaatataacatcata +aaaattctaagtaatatctcacacactaatccgccatcgtccatagcatcagtcacctgt +cttacacaaacacatgtttaatcgatgttgttatgccaagctagtttcgcgaccatgtaa +ctaattgtggaaagctgctaccttgaacgacatcaaccatcctacctttgtacaacagac +caacatctctgtactggtaaatagatctgaaaagttataaatataactgttttcacattg +atagaaaaacagctatgtgctatttgtatatactataataaattaagcgaaacatggaga +ttaaaacagtgttttctcatcctccacctcttgttctgctaatttataattcttgatgcc +actcgtgtgagtcgtccattcgatcgtaaagaacccgacataaatagatacgacgctgaa +cgagatcctatttctcctgaaaattattagcacggtaactcctagggatagtggtactag +ttggtatgaacgtataaaaacttgtactactttctcgggatgtgagggagcaaactatta +ctcgaccagtgcaacgcattatcgacagtaaaagttttcagctgatacctgtctggatgg +attatatgcaggtaggcgagagtggattgtagcgatgctcggcgggggtattttaaaaat +ctaggtgataaaagtcctgtttagccaggaaaagtcatcattgcactgcatatcgtcgat +tagctgtcatttcgtccactggtaccagttcaacgtacatcaaagtccgggcgcatccat +atcaagttttgcaatagtactccagaccatgaaatggttatccagattaataataactta +atatactttcactacatactcagcgggtattaaatttcactttatgtcaaaggactctta +tgtggtcttcaaaaaggtctagagtctatcacgcctaattgtgtgaaaaccgagtaactt +gatcagccttgtaaaatatagtagaatatgatgttaaatcatttatattccagggagatt +gaatagcttacgattagctggtataatttaactcacatgattaagcaaatatctgtagga +ccgagggaaagaataaaataaagtaccatgagttcggaacgctgcattacatggcgttgg +gctagcctgatacaagaagatgagtatggagctctcttcatcgggacgtgacaaccctag +cgtaatcttggcagatcccggagcagatgattatcgtctaacactgtctttaccaatgca +caacgcatagatttaacctgaactgttctggattcactcctgactacagcctacaactca +tttctatgcataactcttaaagacagtcgcaatatcagtacctctatacacatcggatca +gactagatcataagataagtctcctctggatccttgtattctgttaagtacactacaaat +ttgtttagtgtctgggacaattacgataagggtcgcgactagaccacagggcatatgacc +tccaccgctcctagcgagtctccaatctgcaagcactcatacgctaggggcatgaatcga +ctgtcaatgcactgtaagatttacgagggtgagacccatttagatatgcctcgtttaacc +gttttaggcttgataggatgagtttgtcgatccatcaaattcccgacattcatattgtcc +aataagtatatctagcttattcggactcgctaaactaaattatggtataaatgccgtcaa +ccggtgcatttgttcaatcaacaaattatagtcaatctcccatggggccttatggcagcg +tatacagctggtataacgaccatatacaactatgaacggactagctgtgaactaagcaga +ttattggatccttgtgtataattttaagtttcgatctatatgctatagtatagaaaatgt +tccgatcgtacgcttcctttacagttaaacagtctatatcatgaagcttatccaaagctg +gacatttgatggcaatcttacttaattatgaaacttaattacctattattgaaagtattt +atatgatcgaataagatttgctctataaacaggtcgtccattcacgacctagtgattgcg +taaattgaccaacctaggtaatctaaagcctgcatctatttcttatcattcatgttatac +tgacccgttctcagtacttaaaaatgatcgtaagcaagaatcactcacgctcatgtcaca +tttagtcgaaataaactgccgatgggaaggaagttccgtcattgcgatatcgatgtctat +cccacgcgtcattttcaaattggttatctacggataactgtgcgatgaactactataggt +caaaattatcttcaatctcattctagatcatataaagatgtccttcgcgattgatacgtc +tacagtgtgttggtgttacacagagggtagcgactacttacttactaactctctcttgat +ccgcaagcataagccaggttaaagtgctctatctttttctgtggattataatagttatac +cgccttgcatctaggtgcccattaggtaatgccctagtgttttcataaatttactcctgc +catctaacgttactttaatttcccagattcaataggtctctcatttgaaaattgttatat +gtcaacaaagaatataatagctgagtggaacaatacactgtgagggagtaatacatactc +taaattttctttacggtttgcgcctgcacagttttttttatctatgtgatccgcataaaa +agtaatttcaacgttccattcaagttaagtcttggtgacactagcattaggagagatcac +caagaccattatttatttagctagggtttaagtcggttagaaatatcagataatgaggtc +tttatccggccttacgcagtagaaattggaaatttcgtaaagcactgagttcaatggaag +tatggccgaacccacataatgcacaaatcaagtcgatttcttccgtccttttagtctcct +gggaactacgggttattcatagttaagctaaatcagttaacggaactagacaaatgtata +atagttcccaaatatatatctataaatcttatgcagttagggaatgcagatttgaatcat +ggcaatacgctagctcggaactcaactacaagtgttggatgtacgaattcaaaggtatta +catccttatgatgttcttttttggatacttttatgacgacttccacgaagtgaaattatg +ttcgaatatctgaacagttacttggttgagcccaaggatgacgaatgttctgtttataat +tctcgtcataatataaatacaagcatatgaggccagtcatggagctttcatttggactaa +catttccgtagagtcatatcacgcctgtaatctgatccgtctttttctattcgaagtgtt +atcagatacatgacgcccttgcgtgacattcatggctcctgacatcgggtcttttaggct +gaatctaatctaacccaatttgtttggattgtgggtcctccattttgtctgttaatgctt +attaagattaaaaatgtactacgtatttagacctaatgattgcgatacgctgtggaccat +taatataagctgcgccaggggatttttccagatcatctggcctgtgtatatgttcaaatc +taatagccgagagaaattactccgacggaaaataaaggcagataagcgtttcagagcacc +atcgtggcgtttagtcaacctttagttcggaatttattaatatacaatctcactctttgg +acgagctccttaaaagatgcccttgtatatcatgtcccgtacctaaaagtataccagcat +catcaaagaacagttaaggaatacgactgctctataattgtccgaggagtaccttctcat +ctgccaatagtcgttgggttggaaaacaacgcattaatatgccacacttgtcaattagaa +gtttctataaaggggacgagtaactgatttgagacctagcacggcagaggacgttcgtgt +gacaacatctctttataagtttgagataaaatcgctaatctacaatgattatttgccaat +cattatcgaatgcgcaaagtatctcctgttcgtgattctagcctaaggccattactatgg +tcaaattatgctaatcgaagcagtcttctaacacccttagaaaagcaaacactattgaat +actgccgccgcattcgccagcaccaacataactgcacgtgcttttttccatgattggcat +tatgaaagatttgatctatgattcttaccagttgcaatattcaatttagcatgtgttcct +aattattgtgttattatggtctatctcatcatgtaaatgaagatcatgacgtcaacacag +attctagtcaggatcatcagttcctcggggaaatcgcacctaggaacagccttatgcaac +cgctaaacaaagcaatgaggatgtaccgacaaaagctcgatttaaaagcctcgaaacgag +atgtacgaatcgtttactgccttttatgaggagtcgagtactgttggttcatatttgcta +catgattgtatgtaataacgatcccgccctttatcggttcgatcctttatggcgataagt +tatgaatcgtcagtatctttagatcaaaaactcaactagtacccagttccccggaggaac +ggtcatgattaatgcgttttacggtctcccgtccctcttcttgtcagaggaatcagtttc +atccgatcccactcgatgattggtatagctatttgccgaaaagccacaacgtattcggta +ctatcttgtttgattcccctgtatcttaattcgcgacacttgatatcttttgtgtttaat +cgacgaatcatcctgggggcgacacttgttacaattatccagttgcgtttaatggctgtg +ggtcacaagattgttagacaggtcccgcgtgtcgtaggaaattgataattggagtttgca +ggacgaatagctcacccgcctaagtgatccaaccctcatcaggataactatcactgggca +gtattatttttgatttcatatgccaccccctaggagactgtagtcatgtatctttcttac +ccaatctagcccgaaacaagaaagaatgtcgattccagtcaccttttattagaccgattt +acacacaaagtgtcttggtttaaaggctggcatgaatacatactcaaaagttgaaaacga +cttgctctattcgattaccttcgcgatctcaatcgattacgctaaattttaatgcccgct +gaaatatccaacatttaaaacaggattaattctctgatccatgaacttaggactcattgc +acgtgacttatctttctctcttaattcatgctccaatacggtgggctaaaccacttttat +cacatgaatgtacgcaacgtgttaataagctatgagtacgcgggggcagcgaaacgggtc +aatctgggtatcttctattgggacggtacatttcggttttatagactatgtagttacacg +gcatcaacatgtaattaaaacggcgtaacctaggaaagccgaacgcaccttgggattgcc +atgtgtccggaggattacatacatctaagaaacattctaaactatgtatagtcgtttacg +acccttgtagtacgtgcatcccttggcgaaaagtactctgggtattagagtgtatattat +cgacagcaccgaatcctcattttatagcttgacaatttatgacccgaaagaaccttttat +aagtctataagtatatctaacgcaattgcggcactgagtccactaactatctttgagcag +tgttatacagtgagacgccatggaaggggtttatatattttactgtcgttccctaaaaag +ttaattatcagacctgcgcgatctcgtagatgaacaacgcgatctagtcgaaaaatgctt +gtggctaccattccagtcgagatcaaccgtttctgcggatcgcgttacattccttgctta +tttgcgataaatcgatacaaccccattaccagaaaaacccggagaatcaattactctgca +gatcttatactaaaaaagagattacaacccctgttctatgtgtcccaaagtgagtaacgt +ggagcgttggggtaagagcggagcgattttaactttcgcttttccattttccagtattgt +actttacgttatatttgagcggcacattcgtcaaaacatgatccatatggactgaggtgt +ttaaatgttaatcaaataattgtattttcagctgactttaaaatctgcagccattggagg +tggagattccaatagatgtaagcaggtgatatcatatgcaattcttgtgacttattaaga +taccagacacggcacaatcgcagtagcacgtaaacaataatgacaatcgacggttaaatt +ccgaacgtaagatatgtttacggatgcactaaaataggtagcaacaacgtttctctgaga +tgtataagttaccaaacactggagaattccgctaaactaaggacaatttccgtcgtatta +attgttgacaaatggttagtaatacattcgcagtggataatccgttgcatacctagcact +gagtgtaaataaaaccaatcgactactggcatttcgggctaacgactagatgttagccta +tgtgaaagcctcacacatgcttattgccttcacggtgagcaatgtttcttattcgttatt +agaagtcacctgtagagacagtagagatgacctaaatttggtttgtccagtcccgaggtg +atctaatgattaggttaacttagaacagtggtcaattggttaaagctgatttacgaacac +ttccgaggggtcgtaaaacattaaactggtgagaacagtatgatgtattcggtcatctag +acaaccccatcgctgggagtttggacagtgttatgattcgtaaatccaccatgtgtccga +attcgaaatcctgttgctccggggagatagggttaatttaggcttttttacggtgtggca +tattagctcaaacatcaacattcttaaaatcagcgtaaacggtcaccagttgatatttgt +tctgctaggaagcgatgtacaaaataagcttaataagatttaggtccgaccttaatttcg +gtccatagcacctctttctaagtgttttgcttaaataattgtattgttattgattttctg +cgagttgaacacggaaaataagtcaaaaaggacacttttaggttcatatgtaccgatgaa +tgcgcaatagaatcgagaaatttttagattagtaatcgtgatgattgtggccaaatcccg +cactaaacggctttcgctgtttccaaaaaattttagtccactaggtatttaaatgttgga +cactgaacgtggaagccgtcgtattatgaaactaatggcagaggggctcctctgcgtgta +ctttgagcagatgctatcgtcagaaaaaggtaaatcttttggttctttataattctggcg +tccgtgtagcctagtgaatgtgtttggttcaagtgaatttgtttagccagaatggaccaa +ttacgtcattagctgttacgtctatacgaaatatagactgtggacgacccatcgtagagt +catgtagttacatgtgaccttagaacaccaatcgtgtgcgattgtaagcaggacaacaca +gtattgtactggtcaattggttcatagatctgactatgaatcttcgtttttgtacaacaa +tctcggtgaagcttcaaaaagcctccttcctaataatcagttaatttttcgtaaggttcc +tgttcgaggttagtcgtataaagacgaaacggccttaatgtaacattaactattccactg +taggtggatctaacaaggttggacatgtgctaccaataagataagaatttcgtccgcaat +acaatatctacttttgtagcctatcttggattaacaacaacttacgttggtatttcaccg +gacgtatcaaatgattctgattttaatgactgagagtaaacatcaacgaatcttatgtat +ctttaagccgctgcttgacaagtcacattactgttagaatgaacgcttcattactacaaa +acctaccaccaactcccacattaatattatactagatgtttgaagtttatttgacaaagg +ttttcaaaaagcacagaatcgttacgaacacgtacattaaattgttagggtattaattgt +ggtcggtgcatttccggccccatagcgctccgcggggagaaactatggccttcatgacag +cccccccataacatctaggtaatggtcggataactataaacaaccctctccagagaactg +tgaaaataaaatctcttagtacacaagcgtatactggtttaagtcttgcccatcttaaag +actcttttcactattttcttgatgcctcattcttctaatattaggtgattttttaatccg +agaatataaaaagacgatagaaagtgttaaaacacggcgtagcgacatattttaaagaaa +tgaaatactttttgactatccctcatgatctaaacttacgcggagctatctttttgtata +acatgtacagagaattaatccgatgcttcttccgattaaggacatagcgccgaaaacgtc +atggcggcttatcgatatcgtaacgcactataccaagtgattaagtgatcaatgaatacg +ggtttcgggatttctgttaagtcatgcacggcaaatacttggagtcttgaataacgccgc +gcgtagtacgaaggttctcaagctcgcgtgacgtatagaccgtattgctatttcctgcct +tctcaattgtccgaggattgctgataacttaaaataaggttgagtttttaataacgattt +gtcgagtttgggaaaatcctcgtttgtgtgtttgtcattttcaagttatcaagaactacg +ggtataatttacgacgtaatgttggtttgatgcccgattgcgaatatcgtacgaatggta +tttgtacaactgctttcctttatcgattgctcgagaacattataaagtctattactatgg +attaagactgtatacaagtgtttaagcggagcccgtgataatctataaggttttggtacc +tttatctgttacttttgccttgaaacatacatacgtacacgggaatatttacctaaacgc +cgtatagtccagcctcgtatttgggccgtgttttgtcagcattttaaactgaaagcgccc +acttgcattataacccggtgcggaatctcttagtgactcgtcaggagtttacgcctttga +gacctctcgacaggacccattttgatctagtcgttataggtagagtgcctttcctatcgc +accattaccttctagcaaacttagagtattcaatgaaatcatatcctgtttatactaaat +gttataggctaatgacacagctgacactaagaggtctcttcgggttacccgaatgagttg +tttatacgatgttgacaactcgggggagtcatttcaatgaagactgaggactcttgatca +gattaaaacgcttaatgactgataatttagattatgccgtgtattatttaagtgggcgaa +ccctcccctagaatgggtttcctgagaaaagtcttagaacacagtattctgaatccagat +gcaaatcgctaacgttagtaagcggctgtagctcttggcagtttggtcaatagtcaatcg +caatccgtttaaccgtctactattcctagagcgaagagctatgttctgacacgtccccaa +tattaggcaaaggctccaaaagaacagtcaattgattaactacgggcttggtttctccgt +gaatccttgcgccgctataccacataaaaggatagcggtgataccacaagtttgcgacgt +taaagcgtcgaccctcaacaagtacactagcaaccccttagcaattaattttgtccatca +ctactgccaagagttgactggaccagttggaaatgacatttgatatattaatagagctac +atattgtaccactttactgtcacttacactaaccctagcgtgattactcatacatatatt +cgtaaattctaagttatgatactagttttgtaaatttaatcggcgaagacacgttctctt +gtacgagcttcaactaaatatttcactgtagccaaccactttaaccagaaggatacctta +atgccgatataatattgtccaggaaacgttaatactttcacaagacaaagcttggaagag +gtactttacgatcacctgatagatcgaccggaacgattctatataggtttggtctgagaa +atttgtagctaaaaccatgttccataggaactcctctgtaatgggcaaaatgcagatagc +gttcaatcgttgcttaactatctatcacagcatcctaactcctcaacagcttctttccta +aagacatcagcaggtaagttgacggcacccgataacccagagcacgattggaatctaata +ctctgtatggatcattacgctaagtaaatataatgattttctgactcaaagttacactgc +gaattttatattaactggttctatttgttaaataccacaacctctcgtcaacaggtcgcg +atgcaagtgatccaaaaatatctaacttataccaaccattacttctggcgcagaaaaaca +tagatatctgaacaatcgaccgttaagactgtctcgccgatcttaggaacctaatactgc +tcagtagttattgtttatttgggccatccccggattatgtcagccatggaacactaaaag +tcctaatctaacctatggacaaaaagctcacttttataaaattgctcaccttatgttgat +tgttatttgtccgaaatgtctataactcagtgtactatctattggaaaattatggccgga +gttttattgaatatacttttgtatgttgagaaagaatgttgtcgtaataattatcagctg +gaaaatcatctaatatatattatattgagatattacgacagacctaagtgctttcccgtc +atgagcagatggactaacactcttggtaatccttctcgttttagttggtaatgtttagtc +taagtaatatcccgactcttacttactcagagcggaaatgactttttaaactaacgttta +aaggcacttagtatgcgtcagggttatttttttaattacgtacccttgtgcagagagttt +agctattcgatcctacttagtatgaaccatgagagtacaggttggtaattcacagagaag +gtcgagaagattatttttgatgtttaccaatactatgaggcgtattcatcgaaataattt +tatggctgcgcacttcacatacgcaggaagaccactgcagcttgctagatctggatgtat +cattgtacttctaagagcctgaaaggtaatacattcccagcgagcgtaacagattgtatg +gggacatattcaatcttagcaatgcattcgttcttcgaaatcaggcatttttgatgtcat +aagttctgtcaactataaccctggaactttaatctgttgttcgtcgaatcaaggatcaag +aaagcttctaaaaggcccaaagcaaaacccaccactacttcagttttaaattagaatcac +accctagggtattagataataattaaatgtcttaggaagagatatcaaaagatgcagaca +tcctcaagtgaataagtctccggtctttcacaaacacatggttaagcgatgtggttttga +ctagagacgttcgccaccatcgtaatatttctggttacctgcgaacgtgaaccaaatctt +acttcatacattgcttaaacagtacaacttatctcttatcctatagagatctcaaaagtt +tgtatttttactggtttcaaattgagagaaaaactgcgttctccgatttctatattattg +tttaaatgatgccaaacatccagtttaaaacacggtgtgatcagccgactcagattcgta +tcctatgttagaatgagtcatcaaactacggtcacgcgtacattacagagtaaactacac +gaatgaaagagataagaagatgaaagagttaataggtctcctgttaattatgagaaccct +aactactacggattggcctactagtgggttggaacggatataaaattcgactaagttcgc +ggcatgtcaggctcctaaatatgaagagaactcggcatcgaattatccacagtaatagtt +ggaacatgattcctctatgcatggtgtatatccacgtacgccagtgtgcagtgtagccat +gcgaccacgggcgttgtgaatattcttcctcagaaaaggactgttgagcaaggaattgga +ttctgtgaacggaatatagtcgagtagatggaatttcctacactgcgaaaaggtcatagt +aaatcaaacgccgcgcgcagacatatcttcttggcaattagtactccactaaatcaattg +gttataaacttttagaatatctttatataagttcactacttacgctgcgggtagtatatt +taaagtgatgtcttaggaatcttatggcggcggaataaacggcttgactatagataccct +aattctggcataaccctgtaacgtgtgaagcatgctttaatagacgactagatcagctta +tagaatggatatgactgccacattgaagagattaacattagcgggtataatgttacgaac +ttgtttaacaaaatagctctaccacacacgcatagtataatataaaggtcctggagttcg +ctacgagcctggaattgcagttcccctaccctgagtaaacaagatcagtatggacctatc +ttctgacccacgtgtaaaaactaccgttagcggccctgagaacggtgaagttgattatcg +gctaacactcgctttaccaaggaacaaacaattgatggaacaggtaagcggctggattct +atcctgaatacagcataataatatttgctttcaatatatagttatgacactcccaatatc +actaactctttacaaatcggatatgaagagtgaattagagatggagccgatcgttccttg +tattctggtaagtactcgactaatgtgtgtagtctaggggtaaaggtccttaaccgtcga +gtctagaactcacgcattatgaaatcctccgagcatagagactctaaattcgccaagcaa +taagtcccgacgcgaaggatgagaagctcattgaactgtaacatttacgtcgggctcacc +atgttacatatgcagcgggtaaaagtttttgcctggagtggttgagtttcgcgatacata +aaaggccccactttcatatggtcaaatatctatatcgtgctttggacgactcgataaact +aaagtagcctagtaatgccctaaaccgctgcatttgtgcaataaaaaatttagagtatat +ataacttccggacgtatggctgccttgaatcctcggatatcgtccttatacaacgatgaa +cggtatagctcggaactatgcagattaggcgatccttgggttgaatttttagtttccata +gatatgagttagttttgatatggttaccatacgtccctgcattgaaacttaatctgtata +ttgattgatccttagcaatagcggcacatttctgggcaatatgacttaattaggttacgg +tttttactatgatggatacgttttatatgatagaataacagttgctatttaaacaggtac +tacattcaactaatactgtttcactattgtgtccaacatagggaatatattgcctgaata +gatgtattatcaggcatcttttacgctccaggtagaactaattaaaaatgatccttagaa +actttcaagcaacataagctaaaagttacgccaattataagccacatcggtaggatcttc +aggcattcccatatccttctctatcaatcccgtctgttgctaattggttatctaagcata +tcgcggcgagcatctacgataggtataaagttgctgctatctaattcgtcataatatata +catggaattacagattcatacgtcttcagtctcgtggtgtttctaagagcggacccaaga +attacgtaatatctctctcgtgttacccaagaagttgacacgtgattgtcagctatcttt +ttctggcgatgttaatagttataaacaattgcatatagctgcaaattagctaatcaaata +ctcgtttcttaaatgttatcagcaaagctttaggttctgtaatttcactgtgtaaagagg +gcgctaagttcaaaattggtttttggcaacaaacaatttaatagcgcagtgcaaaaataa +tatctcagggtgtaattatttctctaattggtctttacggttggaccaggcaatgggttt +tttatctatgtgataccaattaaaagtaatttcaaagtgacattaaacttaagtattgct +gtcaagaccattacgacacttcaccaacacatttatgtattgtgctacgcggtatggccc +gtagtaatttctgatattgaccgcgttatcagcaagtacgctgtacaaatgccaaattta +gtaaagctctgtgtgcattccaaggtgcccacatcacacattatcaacatatcatgtcgt +tgtattacgtccttttactagcctgggaaataccggtgattcagagtgaacataaatctc +tgaaagctactagacaaagctagtatagttaaaatatatatttcttttaatattaggatc +tttgcgattgcacatttcaagcatcgcattaacctacctccgtactcttctacaacggtt +gcatgtacgatttctatgcgatgaaatacttatgttcttagtttggggttactttgttca +cctagtcctcgaacgcaaattagcttcgaatatctgaaaagtgtatgcgggcaccaaaac +gatctcgattcttaggtttataattatagtcagaagataaatacatgcatatctggacac +tcttccacatgtcatgtcgactaactttgaactacagtcatatatagactgttatctgat +ccgtatgtgtctattactactcttatctgagaaaggacccaatggagtcacagtaagcga +tcatgtcatcggggctttttccctgattataagattacactattgctgtgcttggggcct +cctactttttctatcttaatcattttgtacattaaaaagctaagaagtaggtacaactta +tctttcccatacgagctggaccattaatttaacagccgcaaggcgagttttaatgttaat +ctggaagggctttatgttctaagcttttagcactgagaaattaatccgtaggaaattaat +cccacataacccggtaagagaaccttacgccccgttactaataatgttctgcgcaatgta +ggaagtgacaagctcactcttgcgacgagctccttaatacaggccctgcgttatattcga +ccgtacctataactagaccaccatcttaaatgtacagttatggttttcgacgcatagagt +atgggaccacctcgaaatgctcagctgcaaattgtactgggggtggttatcaaacattta +atatgaatctatggtaaagtactagtttatagatagccgaacactaaaggtttgcagacc +ttcctcccctgaggaacttcgtgtcacaaattagattgagaaggtggtgataaaatcgcg +tatctacaatgatttggtgcaaatatttatcgattgcccaatcgttctactcgtactctt +tatagcctaacgccttttcttggcgctaattagcctaatccaagaaggagtctaacaaaa +ttacttaaccatactcttgtctattcggcccacgcatgcgcaagctcaaaaagttctcaa +cgggcgtttttacttgagtcccaggaggtaacattggatctatgagtcttaacagtggaa +atatgatttttagattgtgttcagatttattgtcttattttggtctatctcatcagctat +agctacataatgacgtcttaactgtttcgactaaccttcagatctgactaccccaaatac +aacatagcaaaagaatgatgctaacgcttaactatcctttcacgatcttaacaaaaaagc +tccatttaaaagaatcgaaaacagatctaccattcgtggaatcaatttttggacgagtac +tggtcgggtcgtgcttatttgctacaggattgtttcgtataacgttcaagcactttagcg +gttccatccttgatggcgttaactgatgatgcgtaagtttatggtgatctaaaactctac +tacgaaccaggtcccagcacgaaacgtcatctttaatgagtttttaggtctccaggcact +aggctgcgaagtggaatatgtgtcatcagagacaaatagatgattcctatagctttttgc +agttaagccactaagtaggcggttctatagggtttcattcaaatcgatcgtaattcccga +ctctgcatagcgtgggtcttgtatagaccattcttcaggcccgccacaatggtttcaagt +ttcaacttccgtttattggctgtccctcaatagagtcgttctcagggcacgactctcgtt +cgttattcataagtccagtttgatccacgaatacagaacacgcatatctgataataaaag +cttaacgataactttcacgcgcatggtttatttttgatttattaggcaaccaaataccag +aatgtagtcagcgatatgtagtaaaatttagacaaacataaaacaaagtatcgccattac +agtctcctgttaggagaacctttttatcaatatgtgtaggcgtgtattggcgcccttgat +ttaataataattacggctaaacgtattgatattttccaggaactgccccatctcatgaga +tgaccctaaattttattcacacctcatttttaattcttttatatcacgattatttatctg +agcaagcatctttgcaagcattcatagtgacggtgctgtctctatgaatgcatgctaata +tacggtgcgctaaacatattggttcaattcaatgtaagctacctcggaatttgcttgcac +taagacggggaagccaaaacggtaaatcgccgtatatgctagtgccaagggacttgtccg +ttggagtcactatggagttacaagcattataaatctaaggaaatcgcagtatcagtcctt +accccaaagatacttcgcattccctggggtacggaccatgaaatacttctttcatacatg +ataaacgatggagactcggttaccaccctggtagttactccatcaattggagttaactaa +gatcgctattacaggctttattagccaatcatcacaagcctctttttagagattcacaag +ttagcaaaccaaagttcctttgataagtctttaacgagatctatcccaattccggctagg +agtaaaatttatatatttgagatcggggttaaagtcacacgcaatgcaaggggtttttat +atggtaatgtccttccctaattaggtaattttcagacctccgagagagagtagatcaaca +acgcgttatactcctaaaatgcttgtcgataacatgacactacagatcatccctggatga +gcatcgactttcattacttgattagttcagttaattcgtttcaaaccattttcaacaaaa +tcccccagtagatatgtatatgcacatcttagactaaataacagttttcataccctggga +tttgtgtcactatctcaggaacgtcgagacgtcccctatcaccgcagcgagggtaactgg +ccctgttccattgtaatcgatgggacgggacgttatattgcagacccaaagtagtaataa +attcagccatatggacggagggggggaattgttaagaatataattcgattttcagctgaa +tgtaaaagctccagccattcctcctccacttgacattagttcgaagaaggtctgagaatt +ggaattgcttgtgacgttttttgtttccagacaaggaaatagcccagtaccaagtataat +attatgacaatagaagcttaaattcacaacgtaacatatctgttagcatgctctaataga +ccgagaaaataagtgtctatgtgtgcgagaactgtcaattcacggcagtagtcacctaat +ctaacgtctagttcccgactatgaagtcttcacaaatggttagtaataatttcccagtgg +agtagaagtggcataacgtgcactctctgttaataatacctttagactactcccatttcg +ccagaacgtcttgatggtaccctatgggaaacactcacacatgcttattgcctgcaacct +cagcaatgtgtcgtatgcggtatttctacgaacagctagtgaaaggactgatgacctaat +tttggtttctcaagtccagacgtgatattttgatgaccgtatctgacatctctgggcaat +tcggttaacctctggtacgaaatagtccgtcgcgtaggtaaaaatgataatgctgtcatc +actatcatgttttagctaagctacactaccccatcgctcgcacgtggcaaagtgtgagga +ttccgatatcatccatgtgtacgaattcctaatactcttgctcagggcacttagggttat +tgtagcctgtgttaccgtctcgcatattagatcattaatcaacagtcttataatcaccgt +aatcggtaaacagttgttatttgttctgataggtagacagctaataaagatgctgttgaa +cagttacgtcccacctttattgccctacagtgaaactagttcttactctgttgctgtaat +atgtctagggttattgatttgctgccacttcaaaacggaaattaagtcattaacgaaaat +ggttccttcataggtaaagatcaatccccaattgaagccagaaattttgagatgtcgatt +cctgatcattcgccaaatttacagctcgtaaacgagttccatgtgtaaaaaaatgttgag +tccactagcttgtttattctggctcaaggtacgtggaacacgtagtattttgatactaat +gccagacccgctacgatccctgtactgtgagcagagccgatcctcagaaatagctaaatc +ttgtgcttcgttagaagtctcgactacgtgtagcctagtgtttgtgttgcgttatagtct +atttgtggacacagtatggtcaaatgacgtcttttgatctgacggcgttaacaaagatac +tctgggcaacacacatacttctctcatgttgtttcttcggacctttcataacctttcctg +gcacatggttagctgcacatcacaggattgtaagggtctagtggttcagtgagcggaata +tcattcgtcggtggtgttaatctatctcggtgtagcttataaatgcatccgtaagaatat +tatgtttatttgtcggtacgttcatggtagtggtgtcgccgatttagacgtaaaggcatg +tatggatcttgatctatgcaaaggtaggtccatctatatacgttgcacagcggatacaaa +taagataagaatttactaacatttaaattttcttattgtcgagcatagattggaggaaaa +acttatttacttggtatttaaacggaagtttctaatgtttatgattggatgcacggacag +tttactgcttactttcttaggtttcttgaacaacaggatgcactagtaacatgtctcgtt +catgcttccattaagttcttcttaaacttacacaaactacctaatttagagttgacgaga +tggttgaacgtgttgtgacaaacgtttgcaaaatgcacagtatcgttaccaaaaagtaca +tttaagtgtgtgcgtaggaattctgctacgtccattgcaggccacattcacatcccaccc +ctgaatatatggactgaatcacacacaccaaatttcatctaccttatcgtagcataacta +ttaacaaacatatacagacttcgcggtaaataaaatatattagtacacaaccgtatactg +gttgaactattgcccagctttaagacgcttttaactaggtgcttgatcaagaagtattat +tatatgacggcagtgtgtaatacctgaatagatatagacgttagattgtctgaaaacacg +ccgtagagacatttttgttagatatgtatttctttttgacgagccagcatcttagtatct +gaagacgagctatatgtttgtagaaaatcgactgacattgtatacgaggcggcgtaagat +taaccaaattccccagaattagtaatggcgccttatcgatttactaacgatatataactt +gtgatgttgtctgcaatgtatacccgtgtaggctgtgctcttatcgaaggaaacgcattg +aagtccaggctggatgaaaccaccgcgtacttccatgcgtctatacatagcgtcaccgat +actacgttttgctatgtaatccattctaatgggtaagaggattcctcttatagtaaaata +tgcttgactttttaagaaccattgggagtggttggcaaaataatagtgggtgtctttctc +agtgtatagttttctacaactacccctattaggttacaagtaatctggctttcttgccac +ttggcgatgatagttagattcgtatttctacaacgcagttactgtatccatggcgcgaga +taattagatacgatttgaatttggatgtagactcgttactactgttgtagaccagcacgt +gagtatctagatgggtttgctaccttgttagcggacttttgccgggaaaaagacatacgt +acaaccgtatattttactataagcagtattggccaccctcgtattgcggcagggtgtgct +cacctggttaaaatgaaagagaaaaattccattttaaaacccggaggaatctattactga +cgaggaaggtgtttaacccgttgagacatctcctaacgtaaaaggttcatattctagtta +ttccgagagtcactttcctatccaaacatgaactgatagcataatgacaggttgaatgga +aagcatatcctgtttattctaaatctgtttcgctaatcaatatgctgtcacgaactcgga +gcttacccttacaactatgtgttctgtttaccaggtgctaatatcccggcactcttttca +tgcatgtcgctcctagcgtcatctgatttaatagcttaatgtctcatattttacagtagc +cagtgtagtatggaaggcggcgaaccagcccctacattgggtttcctgacataagtatta +catatcacttgtctgattacacagcaaaatcgctaaccttactttgcgcatgtagctatt +ggaactttgggctagtgtctatcccattaagtttaacagtagactagtccgtgagcgatc +accgagcttatgtctcgtacccaagttttggatttggatcaaaaactactcgatattcat +gatctacgggcttcctttctccgggtatcattgcgccgagattaaaaataaaacgatagc +gctgtgaaaacatgtttgacacgggatagcgtagaaactaaacaacgaatagaccatcca +atttgaattttattgggtccagcacttcgccatagtgttgaatggtaaagttcgaaagga +aatttgttatattaattctgctacattttcgaccacttgtatctcaaggacaatatccct +tgaggcttttagcagaaagagatgccgtaattctaagggatgataataggttgggaaatt +taagagcagtagtaacggtcgcgggttcgaccttaaactatatatttaaatctagccaaa +caagttaacaacaaccataaagttatgaccttattatattggcaagcttaacgttttaat +tgctctagtaatagagtggtagaggtaagggaccatcacctgattcttcctccgcaacca +ttatatagacgtgtcgtctgacaaatttcgagataaaacattcgtccttagcaacgaata +tcgaatggcaattagccacattgagttaaatagttgaggatatttcttgcacagaatcag +atctaatctaatgattcgttactaaacacttcaccaggtatcgtgaaggctcaagattac +ccagagaacctttgcaatataagaatatgtatgcagcattaccctaagtaattatattct +ttttctgactcaaagtgacaagccctagtgtatattaaatcggtatatttgggaaattcc +tcaaactatcctaatcaggtagccatgaaagtgatcaaaaaagttcgtacttataccata +catgaattctggccaagtaaaaaatagattgcgcaaaattcgtaccttaagtctctcgcc +aagatattaggatcctattactcatatcgtgtttttctttattgccgccatccccggagt +atctcacccatccttctcttaaaggcctaatattacctatgcaaataaacatatattgtt +gaaaattgagaacctgatcgtgattcttatgtgtaccatatgtatagtaatcacgcgact +atatagtgctttagtatcgcccgtgggtgagtgaatattctgggctagcgtgagatagtt +tcttgtcctaatatttttcagatcgaatagcttctatttttgtgtttattgacatatgtc +gaaactccttactcagtgaaagtcatgaccagatccacgaacaatcttcggaatcagtct +cgttttacggcggaatcttgagtctaacttatatcccgtcgcttactttctaacacccct +tatgtatttttaaaattacgtttattcgaacgtacttggcggaagcgttattttttgaag +taagttacattgggcagactcttgacattttcgatacgactttctttcatccatcacagg +actcgttcgtattgatatcagaagctcgtgatgattagttgtcttctttaccaatacttt +gaggcctattctgcgaaatttttgttgccctgcgaacttcacataccaaggaacacctcg +caacatgccttcatatccatcgttcattgtaattcttacacaatgaatcctaagtaatta +catccctgcgtaaaagatggtaggggcactgaggatatattaccaagcatttagttatga +gtaatcagcaatgtttcttgtattaagttctctaaaatagttacatcgtaatgttatctc +gggttccgcgaataaacgagatagattcattatatatggccctaagcaaaaacctcctcg +tattctgttggtaattagaatcacacaatacgggttgagatattaattatttgtagtacg +aagagatataaaaagatgaacaattactcaagtcaagatgtatacgggatttataataaa +aatcgggtagagatctgctttgcaattcagacgtgccactaaatcgtaatatgtcgcgtt +acatcagaaagggtaactattattaattaataaagggcttaatcactacatattagatct +tatccgatagtcttatctattcgttgtatttttaagcggttctaattcagtcattatatc +agtgctccgagttctttattattgttttaaggatgacaaaatgcctcttgttataacgct +gggagaagcagactaagagtcggagcagttggtagaatgaggctgcaaaagacggtctcg +acgaatggacagactttactaaaccaatgaaagacagaagtagagcaaagtctgaagtgg +tatcagcttaattatgacaacccttaatacttccctttcgccgaatactggcgtggaaag +gttttaaaagtcgaagtagttagaggcatctctcgctcataaataggtagactactcgca +atccaatgtgactatgtaatactgggaacatcagtccgcgatgcagcgtgtttatcaacc +gtccccactcgcctggggagacatgagaccacccccgtggggattattagtccgcagtaa +tcgactcttgacaatccttttcgattatgtcatagcaatttacgacagttcagcgaagtg +actactcggcgaaatggtattactaaagcattcgaacccacatgaatgtgattcttggca +atttctaatccactaaagcttttccgttgaatctggttgtagatatttatataagttcac +taattaagatcacggtagtatattgatagtgatgtctttgcaagaggttggccgaggaat +ttacggattctctattgatacaatttgtctggcttataactcttaaggctgaaccaggcg +tttttagacgacttgatcagctgttagaatggtttggactccctctttcatgtcagtaac +atttcagccgttattgttacgatatgcttgaacaatattgatctaccacacacccatagt +atattttataggtcatgctgttacctacgagcatggtattccacttcccattcaatgagt +attcaacatcactagcctcagagatgatgacccacctctaataacgtcacgttgcggcca +tgtgaaacctgaacttgagtagacgatatcaagcgctttaaattgcatataacatttgag +ggtaaagctaagcggatgctttatataatcaatactcaataataagatttgattgcattt +tagagttatgacacgacatagttcactaacgagttactattcccagatctagactgaagt +actgatcgagacgatccttacgtcgatgatcgttagttatcgacttaggtcgggtctcta +gcggtattggtacttaaccggacactatactaataacccatgatcaaagcataacagaat +acagacgataatttcgccaacatatatgtacagaccccaagcatgagaagctcattgaaa +gctatcattgaagtcccgctcacaatgtgtcttttccagacggtttaactggttcccggg +agtcctggagtttcgacttacataaatggaaacaatgtattttgctaatttatctatagc +gtcatttggaccaatacagaatattatgttgcctagtaatccactataacccgcaagtgc +tgatagaaaatttttagacgatttataaatgccccaagtatccctcccgtgaatcctccg +ttatactaattagtattcgttcatacgtataccgcgcatatatgaacatttggcgataag +gcgcgtgaattgttacgtgacagagatagcagtttcttgtgatatggttaacagacgtac +atgaagggaaactttatatctatagtgatgcttccgtagaaataccgccactggtctgcc +aatgatgaagtatgtagctttaggtttgtactatgaggctttcgtttgtttgcagagtat +aacagttgcgagtgaaaaaccgacgaatttatactaatacgctttcactattggctacaa +aatagggaagagtttcaatcatgagagggagtatatggatgctttgtagctaaaggtaga +acgtatgtatatgctgccgttcattcttgaaagatacataagcgataagttacgacaatt +ataagcaacatccctaccttcgtaacgatttcactgttactgcgcttgaaatacactatg +gggctattggcggagagaagcagatcgcgccgagcatatacgagacctataatgttgatg +atagagaaggcgtctgaattgatacatcgaagtacactttctttcgtagtatctctcgtc +ctctttctatctccggacacaagaattaagttatatatatagagtcttaccaatcatgtt +gaatcctgattctcagagttctttggcgggccttgtgatgactgagaaacaatgcaatat +tgctccaaatttcctaagcaaattctcggttatgttatgttatcagcaaagcgttacgtt +atgttatttaaatctggaatgacggagcgaagttcttatgtcggtgtgggaataattctt +ttgaagacagcactccttaaataatatcgctccgtgtttgtatttatcgaatgggtctgt +aaccttgcacaagcaaatcggtggtgtatatatcggataacaattaatacgatgttcata +gtgacagtatactgatcgagtcctctaaagtcaattacctcacttaacaatctcattgat +gttgtgtcattcccggtatcgcccgtagtatgtgctctgattgaccgagtgtgaaccaag +gaacatctactaatgcctttgttaggtaagatctctctgaattccttcgtgccaacttaa +aacattatcaaaatttcttctacttggattaactacttttacgagcatggcaaattcccc +tgtggaagacggttcattattatcggaaaccttatagaaattgcgtgttgactgaaatta +gatttttattgtaagagttgcatctttgcgattcctctggtctagcttccaatgaacagt +cctcccttctattcgacatcgggtccttcgtacatgtctttgcgatgtaataattaggtt +cggagtgtggccttaatgggtgcaactaggaatacaacgcaaatttgctgacatgatagc +aaatcggtatgccggcaccaaaacgtgctccttgcttagcttgtgaatgagactcagtag +ttaaataaatccatatctgcaatcgattccacaggtattgtccactatctttgaactact +ctaagagatacaagcttagctgagaccgaggtgtatatgactacgctgatatctgtaagg +taccaatgcaggcaaagtatgcgagaagctaataccggctgtttccagctttataagatt +aaaatttggctgtcctggcggcctcagaattgttctatcgtaatcagttggttcattaat +tagctaagtacgaggtacaacttatctgtcccagaacagctccacaagtttttttacagc +cgaaacccctgtgtgaatcttaatatccaagcgcgttatctgattagagtttacaactca +gtattttatcagtacgttttgtttccaacattacccggtatgacaaaatgacgccacgtg +tcgaataatggtctgaccaatgtaggaagtgaaaagataaatattgcctacacatactga +attcaggcaatgcgttttattcgaaaggtcatataactagaaaacatgatgaattcttat +cggatccttttactagcatagtgttggcgaacacctcgtaatgctcagcggcaaattgga +ctgcgggtccttatcatacattttttttcaatataggcgattggtctaggttagtgattc +cccaacacttaaggtttgctgacattcataccctcagcaacttcctctcaaaaattagag +tgagttggtggtcttataagaccgttgattatttgaggtggtcaaatgatggtgcgatgc +acaaatcgttataatcgtactctgtagacaataacccattgtagtgccgattttgtgcat +aatacaagaaggaggatataaaaatgacttttcaataatattggctattagcaacaagaa +ggagaatcctcattaagttagcaaccgcagggggtactgcagtccaaggaggtttcattg +gagagagcagtatgaaaacggcaattatgattgtgagattcgctgaagattgtgtctctg +attttcctagatagaataagctatagctacttaatcaactcttaactgtggagactatcc +tgatgatctgaataccccatttacaaaattccatatcaatgaggctaacgcttaaatttc +atttctccatcgtaacaaaaatcagcctttttatacaagacaaaacactgcttccattac +gggtagcaatggttgctcgactactggtagcgtcgtgatgtggtgataaagctgtcttgc +gtttatacttaaacaaattttgacctgacataatggagcgacttatcggatgttgccgat +ctttagggtcatctattaagcttatacgaaaaagggacaagcacgttacgtaatctggta +ggactgggtacctagaaacgcaagaggaggcgaactccaatatctgtaagaacagaaaaa +tacaggagtccttttcatttttcaagttaacaatataagtaggagcttagagaggcttgc +atgaaaatcgttaggaattacagaataggcagagagtggggcgtgtagactacattcttc +aggccccacaatatgggttataggttaaactgcactttttgcgatctcccgaaatactgt +cgttctctgcgaaccacgctcgttccttttgctgtagtccacgttcatccaactattcag +ataaacaagatcgcagaattaaagcttaaccatatcttgatagcccatcgtgtatggggc +atgtatgtgcaaacaaaagacctcaatcttgtctgcgagagggaggaaaatttagacaaa +cataattcattctttcgactggacacgctaaggtttggacaaactttgtatctatatctg +gaggcctgtattccagcccttcttttaataagatttacggcttaaactatggatatttgc +caggaaatgacactgctattgacaggaacataattttgattcaaacctcattgttaatta +ttttatatctcctgtttttatatcagaatgcttctgtcctagaaggcatactcaaggtga +gggctcgaggaatgaatcataatagaccggcccctattaatattggttcaattctttctt +acataacgcggaatttgattgcacgaacaccgggaacacataaccgtatagcgcccgtta +tgctagtgcctagcgactgggaccgtggagtctatatcgtctttctaccattattaatct +aaggatataccactttaagtcctttcaactaacataaggcgcattccatgcgctaaggac +cttgaatttattatttcttacatgataaaagatcgagtcgacgggaacaaaaggctacgt +actcaataaagtgcagtttactaagagccctttttctggcttgtggagactatcataaca +tgaagatgttttgacattcaatagtttgcaaaacaaacttactttgtgtagtattgaacg +agatctttccaattgccccatagcaggaatagttatatattgcagatcgcggtgtaacgc +actccaaatccatcgcggtgtgtgagggtaagcgacttaaagaattacggtttttgatca +aagcacagtgagagttgagcaaattacagttatacgacttaattcagtctccataaattg +aaacgacacttcttaacgggaggaccagacacgttcattaagtgaggagtgcactttttg +actttaaaaacatggtaatcaatttaaaccacttgatatgtatatgaacagatttgaagt +tatttctgttttaatacactgggagttctgtcaatatcgcaggaaccgcctgacgtcccc +tatcacacctcagagggtaaagggacaggggaaagggtaatcgaggggtagggaacgtag +ttggcacacccaatggacgaataaatgctgccatatccacggagggcgggattgcggttg +attttaaggcgatggtaacctgaatgtaatagatcatcaaatgcctcctccactggaaat +tactgcgtacatccgctgagaattgcaatggagtgtctcggtttttctttaaacaaaacc +aaattgacaacttcatagtataatttttgcacattacaagcgttaattaacaaacttact +ttgctgttagctgcctatatttgtccgacaatataactggatatctctgcgagaactgta +aattaacggcacttggaacataatagttcctattggtaacgacgttgtaggcggcaatta +tccggtggaagaattgacaactgcagttgaactgcatgaaagtcaaatctctcgtaagta +taactttagaagactccaaggtacccagaacctcttcagcggacacgatcgctatcaatc +aataaggattattcactgaaaccgctcatatctggaggtggacgtttttcttcgaaaagc +ttgtcaaaggactcatcaaatttttggccgtgctaatcgacacacctgttattttcatga +ccggataggacatctcgcggaaattcgggtaacagctgggtagatataggacctccccta +cgtattaatgataagcctgtcataactagcttggtttaccgaagagacaataaacattcg +agcgctcgtgccaaactcggtgcattacgtttgaataaatcggtaacatgtactattact +ctgcctaacggcacttacccgtttgggtccatggggtaaccgctcgatgttgacagaatt +atgctaaagtcgtttaagatcccgattaccgaaaatctggttatgtctgagcattcgtac +actgcgtattaagatcaggttgaacaggttcctaacaaattttgtgacctaaagtgaaac +taggtcgtactctgggcatgttttatgtcgtggcgtatgcatgtgctgacacttctaaaa +ccaaattaaggctttatccaatatgggtccttaagtgctaaacatcattcacaatttcaa +gacagattgttggtcttgtcgattccgcatctgtcgccaaattgacacatcgtaaaccag +gtacatcggtaattatatgttgactaaactaccgtgtgtattctggctctaggtacggcg +aacaagtacgatgtgcttaagaagccctcaccccagacgagcccgcgtaggtcacatcag +cagatcctaagtaattccgttttattgtcctgagggagtaggatcgacgaactctacaag +tcgctttgtcgtgccttataggctatttcgggtcaatgtagcgtcaaatgaactattgtc +atctgtacgagttaactaagtgtctatcgccaactaaaagacgtctcgatggttctttat +gcggacctgtcatatcattgactggcacttgcttacatccaaataacacgtttgttagcg +gatagtcgttaagtgtgcgcaagatcatgaggcggggggggtaatatttcgccctctaca +tgataaatgaataagtaagaagatgatctttttgtggcggtaccttaagcgtactcctgt +cgacgagttactactaaaggaatgtagggttctggatctatgaaaagcgacctccatata +tatacgggcctaagcggagtaaaataagtgatcaatggactaacattgaaatgttagtat +tgtcgaccattgagggctggtaaatcttatttacgggcgtgggaaaacgaacgtgatatg +gtttagcatgggatgcaagcactcgttaatgcttactttagttggttgcgggaacaacag +gaggctatactaactggtagcgttcttgcttccattatgttattattataattaaaaata +agacatatggtagagttgtagtcagggtggatcgggttgtctataacgttggaataatca +aaactatcgttaacaaaaacgaaatttaagtcggtgcggtggaatgcgcctacctcatgt +gcaccacacattcacagcacacccctcattataggcaaggaagcaaacaaaaaaaagtta +atcgaccgtatccgaccttaaattttaaaataaatagaaacacttagcggtaatgaaaag +ataggactaaaattcactagtatcctggaacgaggcaacagagttatctagatggtaacg +aggtgctgcatcaagatgtatgatttttggtccgctgtgtggaatacctctattgatata +caagtgactttctcggtaataacgcacttcacaatgtgttgtttcttttctatgtatttt +gcaagagaaagaagcttagtataggtacacctcagagatgtttcgtgtaaatcgtatcac +atggtataactgcaggaggaacattatccaaattcaccacaattactaatccaccctttt +acttttactaaagatatattaattctcatgttgtctgaattgtataacccggtaccctgg +gagcgtatcgaaggataccaattgaagtcctcgaggcatgttacaacacacgacttcctt +ccgtctattcagacactcaacgagactaacttttcctaggtaatcaatgatattgggtaa +ctcgtggcatcttatagttattgatccggctcttttgtagatcctgtgcgactcgtgcgc +taattaagactggctctcttgcgcaggggatacgtttattctacgtacccgatttggtta +ctactaagcggcctttcttcaaacttgcagttgtgacttacattcctatttcttcaaagc +agggaagggttacagggagagacttattgagatacgattggaatttccatgtacaatcgt +taatacgcttgtagaccagcaactcagtatagagatccgtttcctaaagggtgagcggta +ggggcaaggcaataagaaattactaaaaccctagttgttaatataagaacgattcgaaac +aataggattgcccaagggggtgcgaacatggtgtaaatcaaagagaaataggcattgtta +aaacccgcacgtttctagtacgcaagaggaacgtcggtaaccagttctcaaagatcctaa +cctaaaaggggcttattctactttttccgacactcaatggacgagacaaacatgaacgga +tagctttaggtctcgttgaatgcaaagaatagaatcgttattattaatcggtttccatta +tctatatgcggtatagatctccgagaggaccctgtaaactagctctgcggtttaactggt +gctaatagaccgccactatgttattgcttctagctcctagcgtcttatcatgttatacat +taatgtcgcatattggacagtagccaggcttggatggatcgccgacaaaaagaaaagact +ttccctgtaaggacttaactattacatataacttggatcattaatctgcaaattagagta +acggtctttcaccagcttcatattccaacgtggcgctagtcgatatcccatgaagtttaa +aactagaattggcagtctcacttcacagtgcgtatctatacgacaaaagtggtcgatttg +cataaatatcttatcgatattcaggttattaccgattccttgctaacgctagaagtcaca +ccagagtaataataattccagacacctgtgaaataatcggtcactacggatagactagta +acgataatacgtatagtccataaaagttgaattttaggggctaaagatattagcaatact +ggtctagcctaatcgtcgatagcaaagggctgtgaggatttctcctacattttcgaccaa +ttgtatcgataggaatagttacagtcacgcttgtagatgtaagagatgacgttattctta +gggttcttaagtcggggggtaatttaagaccactagtaaaggtagaggcgtacacagtaa +acgatattttgaaatcgtcaaaaaaaagtttacaacatcctttaagttagcaactgattt +tagtggcaaccttaacggttgaattgatctactaatacaggcctacaccgaagggtacag +ataatgattcttactaccctaacatgatagagtcctgtcctatctcataggtcgacattt +taaattcgtaatgagcaacgaagatcgtttcccaatttgcaacattcacttatagacttc +aggttatttcgtgctaacattaagatagaatataatcagtcgttaagaaactattatcca +gctttcgtcaaccataaagattaaaaactgaaacttggcaagatatgaatagctatcctg +ctttaaccgatcgtatgagatgctttgtagcaagaaaagtgactagcacttgtgtttagt +aaagcgggagagtgcggtaattaatattaatatactattaagctacacagcaaaggctgc +aataatgttagtaagtagaacataaaggtattctccacaagtaataaatagtgtgagcta +attgactaacttaactctcgcgacaagtgatgtggataagatgactcatatcgtcttttt +ctgtagtgccgacatcccacctggatcgaacaattccttctagttatcgactttgattac +ctatcctattaaacagatagggttgtaaagtcagaaaatgatcggcttgcgttggtctac +catagctagagttagaacgcgtagatagaggccttttgttgccaacgtgggggtgggatg +agtctgggcgagcgtgactttctttcgtgtccgaatttgtttaacatccattagattaga +tgtttgtgttttgggtctgatgtcctaactactttctcagtgaaactaatgtcatcatcc +aagtaaaatagtccgatgaagtctccgttttcggccgaagcttgtctataacgtatataa +agtcgctgaatttagaacacaccttatctatgttgtaaagttactttattccaaaggacg +tgcacgaagcgtgagtgtgggaaggaacttaaagtcggatcactcttgtcagtgtagata +agaatttctttcatacttcactggaatccggcgtatggatatctctaccgcgtcatctgg +tggtgtctgcggtaaaaagtcttgctgcacgagtctgagaaatttttggtgccatcacat +cgtaactgtacaacgaacaaatagcatcaggccttcttatccagcgtgaagtctaattat +ttcacaagctttcctaagtatgtaaatccctcacttaatgatgcttgcgccaatgaggat +agaggacattgcatgtacgtaggactattctccaaggggtcttctattttgttagcgaaa +attgttacagcctaatgttagagcggcgtacgactttataccagatactttcattagata +tgcaaatatccaattaaatcatagtagtatcgtggtatggacaatcaaaaaagacccgtt +gtgatatgatgtttttctagttcgttctcatatatatagatcaacaatgaataatctcat +gatctataaccgatgtatatttatattccggttgactgctccggtgcaattcactacgga +cactaatgactaatatggcgcctttcatcagaaacgctaaatatgattaatgaattaagg +gagtattatctaattattagagagtagcagttagtctgatattttcggtgtatgtgttag +ccgttataatgctgtctttttatcagtgagaacagggagtgtgtagtgttgtatgcttca +ctttatgactctggttatatccctcggagaacaagaataagagtacgagaagttcggtca +ttgaggatgaaatagaaccgctagacgaatggactcacgtttataaaactatgtatcaca +gtactacagctaactctgaagtccgagaagcttttgtaggacaaaacgttataagtacct +ttcgcagaatacggccgtgcatacctgttataaggcgtagtagggacaccatgctatccc +tcatatagagctacactaataccattacatggtgactatcgtttacggccatcatctgta +agcgatcatgcctcgttagcatccgtacaatctcgcatggcgtcactgcagaaaaacccc +gtgcggattttgagtcagaactattcgaagcttctcaatccttttccattatggcatagc +aagtgacgactcgtcagccatgggaataatagcactaatccgattacttatgaattagaa +cccacatgaatgtgattctgcgaattgtctaagaatctaatgattttccggtgaatatgg +ttgttgttatttattgaacttatattattaacatcacccttcgttagtgatagtcagcta +tttccaagaggttccccgagcatttttaccattctctagtcatacaagttggagcgcttt +taaatctttaggctgatcaaggcgttttgtctagaattctgcagatgttagattcgtgtg +caatccctcttgcatgtcagtaacaggtcacccgtttttcgttacatatgctggtaaaat +attcatagtaataactacaatacttgatttgttacgtaatgctcgtacataacacaatcg +tattccacggaacagtaaagctctattattctgatcgagcctaagagaggatcacactac +gctattaaagtcacgttcacgaaatctcaaacctcaactgctggtgaccagttatagaca +gtgtaattccatattacatgtcaggcttaagctaacccgagcctttatataagctataat +caagaattagattggagtgcattttagacttatctatcgaaatagtgatagtaagagttt +atatgacctgatctagactgatgttctcttccacaacagccttaaggcgtggagcctttc +ttatactattaggtcgcgtcgagagccctattcgtaatgttaacgacactagactaatat +acaatgagctaagaataacacaagtcacaagataatttacaaatcatatatctacagtcc +acaaccatcactagcgattgcaaagcgttattggtactaccgctctaaatcggtatgtgc +aagacgcgttaactggttcaagcctctcctgctcgtgagactgaaagaaatcgaaaatat +ggatgtgcctaattgttcttgtgagtcatgtgcaactatacagtttagtttggtcaagac +tatgcaactattaacagcatgtgcgcattgaatatttggtgtcgattgataaatgcccca +acgttccatcacgtctataagccgtgttactaatgtgtattagtgcatacctattcagac +catagttcaactgttggactgaaggcccgtcttggggttcgtgaatgagagtgcagtttc +ttgtcttttccttaactgacctaaatgaaggcaatcggtttatctagagtcatgcttaag +gtgaatttcagccaatgggctcccattgagctagtatggtgctttacctttgtaagtggt +ggctttccttggtgtgctgactttaacacggcagagtgattatccgaagaatggataata +agacgctggcaatattggctaataaagtccgatgagtttcaatcatgactgcgaggagat +ccatgcggtgtacctaaacctacatcgtatgtatttgctgacgttcattcttgatacata +aagatccgatatcggtccactttgtttaccaaaagccctaccttcgtaacgatggaaatg +tgaatgagagtgaaatacacgatggggatattgccggtgagtacaagttagaccacacat +tagaactgacctatattcgtcatcatagagatggagtatgaattgattctgcgaagtaca +ctggctttacgagtatctagacgccgcggtatatctcccgtcaatactatgaaggtatat +atatagaggctgaaaattcatgttcaatcctctttctaagagtgagtgggagccccttct +gttgtcggagtaaaaaggcattattcctcaaattgtcagaagcaaagtatacgtgatgtt +tgcttagaacaaaagagttaccttagggtaggtaaatctcgattcaccgagagaagtgat +tttggcggtgtgcgattaattcttttgatgacagatctcattattttatatagctccctc +tttgtatttagagtttgcgtaggtaacctggcaaaaccatatcccggggggagagtgcgc +tgaacattttatacgatgtgattactcaaaggataaggttcgaggcctctatactcatgg +aactatcttataattataatggatcgtggctcattccacctatccaaacttctttgtgat +ctgatgctacgagtgtgaacaaacgtacatcttctaaggaatttgggacgtttcatagct +cgcatttcattcctgaaaacttaaatatttttaaaaattgattctactgcgaggaactaa +ggtgtagacaagcccttagtaaccggtggatgtcgcttcagttttatagcaaacattatt +caatttcagtcttgactgaaattagtttgttagtgttagaggtccatatgtcacatgcat +atggtctagatgccattgtacagtaataccttagattagtattagcggcatgcgtacttg +gatttcacttgtaagaatgagcttaggacggtcgcctgtagggctgcaaataggaatact +tacaatttttgatgacttgttagcatatcgctatcacccataaaaaacctgatacttgat +gagcgggtgattgagactatgtactgatataattcaatagctccaatagatgaaacagct +atgcgcctatttatgtcaaataatcgatgtgatacaagcttagagctgaacgagcgcgag +tggaattagcggtgatctctatcctaaaaagccacgaaatcgatcccagaagctaatacc +cgaggtgtcaagcttgagttcagttaaatttgcatctcatgccccacgaagaatgggtag +agagtttgaaggtgcttctggattttcctaagtacgtggtaaaaatttgatgtaaatgaa +cacctcctaatggttgtgttaaccacaaacccctgggtgaatctgattagccaacccagt +gatctgatttcagttgtcaaatctcttttttataactaccttttgtttccataatttaac +cggatctcataatgaacaaacgggtagaataatggtagcacatagcgagcttgtctattc +agaaatatggcctactcagaatgtattctccaaatcagtgttatgcgaaacgtaatttta +cgtgtaataatgatgatttcttatcggttccttgtactacaatactcttgcccaacaaat +actaagcataacagcaaaattcgaatccccctccttttaataaatggtttttcaatatag +ccgattcgtattcgttagtctttcaccaactattaacctggcatctaattaataaaatca +ccaaaggactctataatatgacagtcacttcggcctcttttaagacagttgattattgca +ggtccgcaattgatggtgacatgcacaattagttagaatccgactatggagacaattaac +aattgtagtgcccatttggtccagttgacttcaaccacgagttataaaggtattttaatt +tatagtcgatagtaccaacaacaagcacaatcataattatgttagaaaacccagggggta +atgctctaaatccagctttaaggccagagtgcactatgaaatcgccattgatcattgtgt +cattcgctgaacttggtgtctaggaggtgccgagtgagaatatcagataccttatgaagc +aacgattatatctggactagatcatgatgatcggaataaaacattgaaataagtccttat +caaggagcataaacattttatttaatttatacttcgtaaataaattcagaattttttttc +aagacattaatctgagtaaatgacggctagaaagggttcctactcgaatcgtagcctacg +catgtgggcagtaacctggcttgcgtttttactgaaacaaaggttcaccggaaagaaggc +tgccacttttagcttcttgacgatctttagcgtcatatttttagattagtcgaaaaacgg +aaaacaaacttaacgaagctggttgcacggggtaccgagaaaccaaagagcaggacaact +ccttgatcgggaagaactgaaatagacagctgtcattttcattggtcaacttatcaatat +aacgaccaccgtagtgacgcttgcatgaaaatactgaggatgtaaactatagccagtcag +gcccgcgtgttgactaattgatgaagcaaacaaaatagccggtattcgttaaaaggaacg +ggttgccagctacagatatactctaggtatatcccaaacaagagacgtcctttggctgtt +gtaatcggtcataatacttgtcacataaacaagatcgctgaattaaacattaaacagtta +gtgatacacaatcgtggttggggctgggatgtgcaataaaaagtcatctatcgtctatca +cagagcgacgtaaatttagacaaacattattatttcttgacaatggaatcgataagcgtt +cctctaacttggtatatatatctcgaccccgggattccagccattcttgtatgaagattt +aaccatttaactatgcatagttgaatggtaaggaaaatgatattgactgcaacagatttt +ggatgcaaaaatatttgtgaattattggttatatactggttgtatagcacaatcattagg +tcctagaaggcatactcaacctcagcgagagagctagcatgcataattgtaccgcccata +ttaatattcctgaaatgatttcttacattacgcccaatttcagtcatcgaacacccccat +caatttacccgatagagaacgtgatcatacgcaataccctatgcgaacgtccactctata +gcgtctgtatacaatgattattcgttccatttacaacgttaagtaatttaaacttacata +aggacaaggaaatccgcgaacctcctggaatgtatgagttatttatgcagttaacttcgt +ctcgaccggaactaaaggcgtcgtacgaatgaaaggccacttttagaagagacctttgta +tccattgtggagaatatcataaattcaagatggggtgtcatgctattcggtcctaaacat +tcttaatggctgttctattgttagtctgatttaaaatggaaccatagcacgaatagttag +atagggctcatacccctgtaacgatctacaaatccttccccgggtgtgtgcgttagcgac +ggaaagttttacggtttgtgatcaaagaacactcacacgtcagattattacactgatacg +aattatttcagtcgacagtaattgaatagaaacttattaacgccagcacctgacacggta +agtaaggcaggtctgaactgtttgactgtaaaaaaatggtaatatttttaaaaatcttga +tttctatatcaaatgatgtgtagttttttctctgttattaaaatcccagtgcgcgaaatt +tagatcgttacgactcacgtacaagatcacacatcacacgcgttagcgaaagcggaatgg +ctaatacagccctacgcaacgtagtgggatcaacatatggacgaatttatgctcaatgag +ccaacctcccccgcattgcggttcattttaaggcctgggtaacatctatcgtttagataa +tcaaaggaatccgactatgcaattgtctgacttcatccgctctcaagtccaatgcaggcg +ctacgtgtttctttaatcaataccatattgaaatcgtaatacgataattgttgctattga +ctacaggttatgaaaaaacttactttgcgggtacatgcatatttttgtaccacattatta +cgcgatatctctcagtgtactctaaattaaaccctcttcgaacattttagttcctattcg +taaacacgtgctacgcggcaatttgccggtcgtagaatggacaactccagttcaactgca +tgtaactcatagctcgcgttagtataaattgactagtagccatgggacaaagtaactagt +cagcggaaaagatccctttaaagatatatgcaggttgcaagcataaagctcattgctcga +ggtgcaccgtggtattccaaaagcgtctctatcgtatcttctaattttgggccgtgagaa +tcgaaactactctgatttgctgcacacgttaggtaatatcgcccattttcccgtataagc +tccgtacttatacgaactacacgaccttttaagcattagccgctcatatcgtgattcgtg +tacagatgagtctattaaaattacagacatactccatatctcgctccttgaactttgaat +aatgcgctaacttgtactatgaataggcagaacccaactttcccgtttgcgtcaagcggg +gaaacgatacatgttgtcagatttatgattatctagttttagatcacgtttaccgataat +cggctgtggtctgagcagtcctacactgagtatttacttcagcttcatatcggtccgaaa +aaaggttgtgaccgaatgtcaaaatacggagtacgatgggcatcttttttcgagtcgcgg +ttgcagggcagcaaaaggcttaaaccatttttacgatttttactatagcggtcatgaagt +gcgaaactgcttgcaaattttctacacacattgtggctcttgtccttgaagcttatggcg +aaaatttgaaacatagtataccagggaaagcgcgaattatttggtgactaatagtccgtg +ggtttgagccatatacctaacgccataaactacgtggtgctttagatgcaatctaaacag +aacagaaagcgtagcgctcatcagcacagactaactttttcagtttgagtcgccggaggg +acttcgagacaagaacgcgtcaagtcgcttgcgcggcacggattcgattgggcggctcaa +tcttgcctaatttctactattgtcagctgtacgactgtactaagtgtatagccccaaata +aaagaagtatcgatgcgtctttatgaccaaaggtcttataattgaagcgcacttccgttc +atcaaattaaatcctggcttacccgattctccggaagtctgacctagagattgacgacgg +ccgcgtattattgagacctcttcaggattaatcaataacgaagtagttgatctgtttggc +gacgtaccttaagccgactccgctacacgagtttctactaaaccaatgtagccttatgct +tagatgaataccgtcctaattagatattccggcataacagcagtaaattatctgttcaat +ggacgaacattgaattgttagtattctacacaagtcaggcctcgtaaatattaggtaagg +ccgtgggataacctacgtgatatgcttgagcttgcgttgcaagctctcgttaatcattaa +tttaggtgcgtgagggttaaacaccagcatattctatatgctagacgtcttccttaaagg +atcgtagtattataattaataataagaaatatggttgacgtctagtcagcgggcatacgc +tgctctatatactggcattattcaaaacttgacggtaaaaaaacgaattttaaggcgctc +acgtcgaatgagccgaactcatgggaaccaaaatgtcacagaaaacacctctttattgcc +aagcatgcaataaaaaaaatgttaatagtacgtttacgacattttattttataataaaga +gaaactattacacctattgatatgataggacgtaaattaacgagtagcctgcatagaggc +aaatgaggtttctacatggtatagacctgatgctgaaacatcgatgagttttggtcccct +cgctcgttgaaatctagtcatttactactgtctttcgagctattataccacttcactatg +tggtgtttctttgctatgtatggggctagtcaaacatgatgactatagctacaactcaga +gagcgggcgtgttaagagtatctcatgctagaactgcacgacgaacttgatacaaagtaa +caacatttacgattccacaaggtgactttgaagaaacatagtttaattctctgcttcgat +catttctataaaccggtaccatcgcagcggatagatgcataacatttctactactccagg +catcttaaaacacacgtagtacttcactagattaagacacgataagtgtataacttggca +gtgggaagcaaggagattggcgaactcctggcatctgttacgttttgttcaggctcggtt +gttgataatgtccgactcctgccatattgaagactcgctcgagggagatcgggattcgtt +gattataagtacacgtgttccgtaatactatgaggcagtgattcaaaatggcacttctga +cttacatgactaggtattattaccacggaagcgttaaaggcacactcttatggacttaag +attgcaagtgccttcttctagcctgaattcgcgggttcaacacaaactctctttagacat +ccgttgcctaaaggctgagacgtaggggcaaccctttaactatgtactaaaaaactagtt +ggtaatttaacaacgtgtccaatcaagacgatgcaccaacgcggtgcgaaaatcgggtta +agcaaacacaaataggaattgtgataaaccccaccttgagaggtcgcaagaccaacctcg +ggaacaacggctctaagagaataacctaaatccggatgagtagactgtgtaactctctaa +agggaagtgaaaaaaagctaagcatacatttaggtctcctgcattgcattcaattgaatc +gtttgtattatgagctgtacagtagctatatcagctatagttatcccagaggaacaggta +aactagctctgagcgtgaaatccggatattagaacccctagatgggattgattctagcta +atacaggcttatctggttttacagttatctagatgattggtaaggtgaaacgcttggtgc +cttccaccacttaaacaaaagtattgcccgggaagctattttctaggtattataaagtcg +agcattaatatcaatttgacagtaaaggtctttcaccagcttcatatgccatagggccca +tactcgatttaaattgaacggtttaacgagtattggaactctcacttataactgagtagc +tatacgaaaaatctggtccatttccagaaatttattatcgatttgctgcttagtacccag +gaagtgataacccttgaaggcacaacactgtaataagttttcctgtcacatctgtaatat +tcggtcactacgcattcacgactaaagataattactatactaattaaaagttcaatgtta +gggccgaatcatagtagaaattctcgtctagcctaatcggacttacctatgggctgtgag +gatttatcagtatgtggacaaaaatgctagagataggtatagttaaagtcaccatggtac +atctatgtgaggaagtttgtagttcgcttctttagtccgggcgtttgggatgacaactac +tatacgtagagccgtactcaggattagatagtgtgaaagagtcaaataaaagggttaata +ttaatttaacgttgcaaatgtgtttaggccaaacattaaccgttgtagggatattctaat +acaggccttcaccgaaccctaatgataatctgtcttaataacattaaatgattgtctccg +ctacgagctcttagggcctcattttaaatgactaatgtccaaagaagagactttcccaat +ttcaatctgtcacgtatagacggcaccttagtgagtcatatcattaagatagaagattat +caggagggaagtttctattatcaaccgttacgcaaccataaacttttaaatctcataatg +gcattgagatcaagagctttcatgatggtaaagttcgtatgtgatgctggggagctagat +atcggtataccacttcggttgtggtaagcccgagtgggccgttagtaatattaatagacg +attatccgacaatgcattcgctgaaataatcttacttaggagaaattaatgctatgagcc +aaaactatttatgtctgtcacattattgactaaagtatctatcgacaaaactgatgtcca +taagttgtagcagatagtcggtgtatggtgtcaccaatgaaaacctcgagcgaaaaatga +attatagttatccaatttgagtaaattgcctattatacagataggcttgtttagtcagat +aaggttccgcttgaggtgctctaacttagcgagagttagaaagcctagtgagaggcattt +tggtgccaaactccggctcgcatgagtaggccagagagtcactttctttcgtcgaagaag +ttggtgaacagccttttgattagttgtttgtcttgtggctatgtgctactatataagtta +gaacgcaaactaatctaatcagcaaagtaaaataggaccttgaacgagacggggtacgcc +gttgaggctcgagatagtagataaactagaggaatgtagataaaacattagctagggggt +ttagttactggattacataggaagtgcaccatcacggtgtgggggttcgtacgtaaagtc +gcatcaatattgtcagtggacttaacaagttcgtgcataatgaaatcctatacggacttt +gcatatctctaccgactcatctggtcgtctatgcgggtaattgtattgctccaagtggat +gactattttggcgtcccagcacatagtaaatgtaaatccttataatagcataagcaatta +ttagactgcgtgaagtcttagtagttctcaagctttacgttgtatgtaaataactcacgt +aatcagccgtccccaaatcaccattgaggtcattgaatgtacggagcactattatcaatg +cggtatgcgattttctgagcgattattgttaaagacttagcgttgagccccggaacactt +gattacagattctttaaggagttatccaaatatcattttaaataatagtagtatcgtgct +ttggacaataaaaaaagacccgttctcttatgttgttttgcgacgtacttctctgatata +tacttcaactatgaagattctattcatcgataacccaggtatatttatatgcccgttcac +tgcgcagggcaaattatctacggacaataatgacgtagttggacccggtaagaactaacg +cttaatatgattaaggatgtatgccagtattatcttattatgtcagagtagaagtttctc +tgagattttccgtcgttgtggtacaccggatttggctctctttttagaactgagaactcg +gagtgtgtagtcttgtttccttcaatttatcaatatgcttttataccgccctcatcaact +ataacaggacgacaagttccgtcttgctccatcatatactaccgatacaccaatcgtatc +aagtttagtatacttgctttctctcttctacagcttactcgcttgtccgagaagcggttg +gtgctcataaagttagtagtaaatgtacaactagtagccagtccttacctgtttttacga +ctactacggacaccatgagatacagaagttagtgctacaattataccattacatgctcaa +tatcgttgtcggccataagatcgaagagtgcatcacgcgtgtgaatacgtaaaatctacc +atcccgtcaatgcacaaaaacacactccccttgttgactaacatcttttacaagaggcta +aatcattgtccaggatcgaataccttgtgtacaatcgtcacccatcggaagaataccact +tttccgatgtagtatgatttacaaaaaacatctatgtgagtaggccaattgtagtagaat +atattcatttgaccgtcattagccttcttcttaggttgtgtacggatagtaggtacataa +accgtcgtgtggcatacgctgcgatttcatacagctgccaacaccttttttaccaggcta +gagtcagaaaagttggagccatgttaaatagttaccatcataaaccactgttgtctacta +gtctgatcagctttcatgcctgtgcaagcaatatggattctcacgtaatggtaacaactg +ttgcgttacttaggctggttaatttgtcagagtaataaatacatgtcttgttgtgtttcc +taatcctcggaaagtacacaagcctaggaataggaaaagtaaagctcttttattctgata +gtgactaactcaggatctaaatacgcgattatactaaccttcaccaaagctcaaaaatca +tctgctggtgaccagttatagacagggtaattcaatatttaatgtctcccttaacatttc +accagcatggattgaagatagtataaagttttacatggcagtcattgtgtcacggttcta +tacaaattctgatagttagacggtatttgaaatgtgcttctagcatggtatcttacacaa +ctgaatgaacgactggagccgttcgtatactatttgcgagcctcgagaccccgtttccta +atgttaacgaatatagtataatataaattgtgatatgaataacacaagtaactacagttt +ggacaattaattgttctaaactaaaaatcattcacttcagatggcatagagttatggcta +ctacacatataaagcggtatgtgaaacacccgttttagccggaaaccctctactgctcgg +gacaatgaatgatttccaaaatatggatgtgcagaattgttagtgtgactcaggtccaaa +tagacactttagtttcgtcaagtcgttgcaaagtttaaaaccatcgcagcattctttatt +tggtctacattgagaaatgaaaaaacgtgacagaaagtctagaagaactgtgaataatgt +ctattactgattaactagtaagacattagtgcatctggtccactgaagcacccgcttggc +gttaggcaatctctgtgaactgtcgtggctgttccggtaatgtacgaaagcaagcctata +ggttgatcgagtcgcttcattaaggtcaatttcacaatatccgatcacattgtgctaggt +tcgtcctttaccttgcttagtgctgcatgtacggggtgtcatgacttgttatcggcagac +tctttatcccaagaatggataatatgtacatggaaagtgtccataattaagtcccttcac +tgtaaagaatgactgccacgtgatccatgaggtctacagaaaccgacttacttgcttttt +gatcaacttaattatggattcataaagttcagatatcggtacaattggtgtacaatatga +aattaatgaggaaacatggaaatctgaatgacagtgatagaaaagatccccatttgcccg +gtcagttcatgttacaccactcattagtactgtaagtgtttcgtcagcattgagatccac +gatcatgtgtttatgccttcgaaactggatgtacgacgatcgagacgaagaggtatatat +aacctaaatactaggtacgttgttagagagacgatgaaaattaatcgtcaatacgctggc +gaacactgagggggacccaatgctcttctcggtctaaaaaggaatgtgtcagaaattggt +cagttcaaaagtagaccggatctttgcggagaacaattcacggaacgtagcgttgggaaa +tatcctttctaccacacatcggattttcgccctctcccattatttattgtgttctcacat +agaattattgtttagacatccctcgttgtatggagagttgcccgagcgtaaaggcataat +ccatataccgccgggtgagtgacctgaaattgtttttagttgggatttcgctatggatta +gcttacacgaagagattctaatggtactataggataattataatgctgcgtggcgcagta +caccgttacaaacgtcgttcgcatatgtggctaacacggtgaaaatacctacatcgtatt +tgcaatttcggtcgtttcatagagcgcattgaattactcaaaaattatatatgttgatta +tttgattagactgcgtggaaagaaggggtactcaagccatttgtaaaagctgcatctcgc +ttaagtttgagagcttacattagtctatttcagtcttctaggaaatgtctgtgtgagtgg +ttgtcgtccataggtcactggcatatgcgattcatgacatgctaaactaagaaagtagat +tactattaccggcatgcctaatgcgattgcactgctatgaaggtgcggacgtcgcgccca +tgtagccctgataataccaatacttacatttggtcagcaattctgacattatacctagca +cccataaatttactcagacttgaggacaggctcttggagtcgatcttctgtttgtatgca +tgtgatcatatagatgaataagcgatgcgactagttagggcatagtatagatctgtgtat +acagttcagctgaacgtccgcgagtggaagtacagctgagatctatcctaaaatgcaacc +atatcgttcacacatgatatgaacccagggggaaacattgagttcagttaaattggcagc +gaatcccccaagaagaaggcggagtgacgttgaacgggcttatggtttttcagtacttcc +tccgtataagttgagcgaaatgtaaacagaataatcgttgtgttaacaacattaaaatcg +cggaatatgatgagaatacacagtgtgagcatttcacttgtaaaatatctttggtagaac +ttactttgctttaaatatgttaaaccgatctaataatctacaaaacggtagattttgcct +agcacattgcgtccttctctattcagatagaggcaatactcagaaggttttatccaaagc +actgtgttgactaacctaagttttagtctaataatcatgattgattataggtgccgtgga +ctacatgactcgtccacaaataatacttagcagatcagcaattggccaagcacccgactt +ttatttaatggttgtgcaatagtccagattcgtattcgggactctttcaaataatagttt +cctggcatctaagtaagaaaagctcataaggaagcgatattatgacacgctcttccgccg +ctgttttgaaacttgagtattgctcgtccgaaattgagggtcacttcaaaatttactgag +aagacgaagatcgactaaagttaaaatgctagtccacagttggtcaagttgaattcatcc +acgagttatatagctattttaatttatagtcgagtgtacaaaaaacatccacaataagat +ttatcttagaataacaacccccgtatcatcgaaatcctccgttatggcctgactcctcga +gcttatagcatttgtgctggcgctcttgccaggaacttgctcgcgaggtggtgacgagtg +agatgatcagtttcattatgatgatacgattttatcgcgactagttaatcatcatagcaa +gtaaaatttgaattatgtcattatcatgctccattaacaggttatttaattgatactgac +gaaattttttcacaatgggttttctagaatttaatatcagtaattgaagccttcataggg +gtcctactagtatcctacacgacgcaggtccgcagtatcctggagggacgtgttactgat +taaaagggtcaaaggaatgaaggctcacaatgttacctgcttcaccatagtgagccgatg +agttttacattagtactaaatcccaaatcatactttacgatgaggcttgctagcgctaaa +gagaatacatacaccaccacatagaattgttagcgatgatatcaaatagactcctggaag +tgtcagggggaaactgttcaatatttcgtccacaggactgaccaggcatggaaaagactg +acgttggaaactataccatctcacgcccgacgcttcactaattgatgatccaaaaaatat +agcccggattcctgattagcaaagggttcacagagaaagatattatcgacgtatatccca +aaaaacagacgtaatgtgcatcttcgaatcgggatgaatacttgtatcataaaaatgtga +cctctagtatacaggttaatgttagtgatacacaatactcgtgggccatgggttctcaaa +taaaatgtaatattgcgtcgatcactcacccacgtatttggtctaattatgttttattta +gtgacaatccaatagataaccggtcctattaagggctatatttttagcgaccacgcgttt +aaacaaaggattgtatgtagatggtaccagtttaattgccagtgggcaatcctaagcaaa +atgagattctatcctaaagtttgggcttgatataagatttcggatgtatgggttttataa +tcgttggagagctcaatcatgagctaatacatggatttcgctacctcaccgagagacctt +gcatgaagaattctaaccaaaagtttaataggccggattggattgagttaattaagacct +tgttcagtcatagtaaaaacccttaaattttaccgattgacaaagtgagcagtcgcaata +ccctatgcgaaacgcctcgatagtgactaggtatacaaggtttttgagttcctttgaaat +agttaactaatttaaaattaattaacgacatggaaatcacagaacctaatgctttgtagg +agttatttatgctgtttactgcctctacaaccctaataaagcagtcctaagaatgaaacg +catcttttagttcagaaagtggtatccagggtggtcaatttaataaattcaacatcgggt +ctcaggatattcggtcatataatttattaagggctcttcgagtcttactctgagtgaaat +tggaaacagtcatccttttcgttgtgaggcatcttacaccgctatcgatatacaatgcat +tccaccgcggtgtcccgtacacaaggaaacttgttaccttggggatataagaaaactcac +acgtctcattattaaactgagtacaatttttgcacgagaaagtaatgcaatacaatatga +tgaaagccagctaatgaaaagggatggaacgcacctcggatctgttgcactggattaaaa +tccgattatttttaaaaatattcagtgctagagcatatcaggtctacttttttatctggt +atgtaaagcccacggagcgatagtgagatccttacgactcaacgaaaagttataacataa +ctcccgttagccaaagcccaatcccgattactgccctaccctaacgtctgccatctaaat +atcgaacttgttatgatcaatgtgactacctcccaccctttccccttcatttgttccact +ggggataagctagcgttttcagaatcaatgcaataagaatagccaattgtctcacttcat +cagagctcttggcaattccaggcgctacgtggttctggaatatattcatttttcaaatag +taatacgtttagtgttgctattgtctacacgtttggatattacgttatgtgagcggacat +caatagttgtctaactctttagtaagccagagatagcactcttagcgaatggataccatc +ttccataagtttagttaatagtccgaaacaactgcttcgagcatatttgaacctccttgt +aggcaaatagcctcttcaaagcaatcttactaatagatagagtttgttttaagggactac +tagaaatgggacaatcttaatagtatgacctaaactgacatttaaagatatatccaggtg +gcaagcataaagatcattgcgccacctccaccgtgggattacttatcagtcgatatccta +tatgctaagtttgcgacggcagaatacaaactaagctgagttgatgctaaccttacctat +gataccccattggaccggttaacagccctacttattccaaataaaagaacttttatgctg +tagaagctattatagtgatgcctggtaacttcagtatattaaaatgacacacatacgcca +tatagagctcctggaactttgaataatgagcgaacttcgaagttgaagagcaagaaacca +tatgtcacggttgcctaaagcccggtaaccagacatgtgctatcattgatcattatcgag +gttttcataaccttgacccattatcggctgtgcgcggacaagtacttaaatcactagttt +cttcacctgcttatcggtaagaaataaggttggcaaagaatcgcataagacggacgtaga +gccgcagcgttgtgcgagtccaggtgcatgcgcagcaataggattttaaattttgttcca +tttttaatttagccgtaaggatgtccgtaaatgattgaaaattggattcaatctttgggc +ctatgctactggaacctgatcgacaaaatttcaaacatacgttaactccgaaagaccgta +tttttgcggctagaatagtcagtcgcttggagccatataccttaccacttaaacgacgtg +ctcctgtagttgaaatataaacagaacacaaagactaccgatcatatcaactgaagatct +ttgtaactttgaggcgaagcaccctcttcgagacaactaagagtaaagtaccgggcgccg +caaggagtcgattgggaccctaaatcttgacgaattgctaagaggctcagagctaccact +gtaatttctctagagcccataataaatgaacgatacatccgtaggtagcacctaagggat +tataatggaagccaaatgcagttaataatattatatactggcgtacacgattcgacggat +ctctcacatagtgattcacgacccccccctttgattgacacagcgtcagcattttgcaag +aacgatcttctgcatagggtgcgccaccgtaaggatgacgtcgaagctacaactgggtat +aatttaccatgcttccctgatgctgagtgcaatacactaagaatgagtttttaccccata +tcaccagtatttgttctgttattgcgaagaaatggctatgctgagttggcgactaaagtc +acccatcctttttattaggtaaccccctcccttaaactaactgatttgctggagctgccc +tgcatacatatactttatcatttatggacgtccgtgacgcttattatccaccatagtcga +tatgctacacggattcattaatggatcgtaggagtttaagttatatttactaagatcggt +ctcggctactatcccgccttacccggcgctatttacggccatttttaatatattgacggt +aattattcctatggtttcgaccgcacgtccttggacaagaaagaatggcaaaaaaaatgt +aaaagaaaaaaaatattgagtccctaccatcatataaaaaatatgtgatgagtaacttga +cgaaatgttagtggttattaaagactatctattacaccttttgttttctgtcgtagtata +ttaaagtctagaagccttacaggaaaatcagggttatacagccgatactccgcagcatga +atcatcgaggaggtgtcctaccatcgcgccttgtaatcttgtctgtgtatactgtattta +gaccttttatacaaagtaaatatctcggctttatgtgattgggaggggcctactcaaaca +tgatgacttgacctaataatcactgtgcgggcgtcttatgactagctattccttgaaatc +caccaccaaatggttaatatgtaaaaactttgacgatgaaacaaggtgaatgtgtagtta +ctttgtgtaattagctgcgtcgagcattgcttgtaaaaccgtcaatcgcacacgttactt +ccataaaatttctacgaatacacccttcttaaaaaaaacgtaggaattcacgagtttaac +aaacgataactgtataaagtggaagtccgaagaaagcagatgcccgaactactcgaagat +gtttcgttttcttaaccataggggcttcttaatggcccactacgcacattttgttcaagc +ccgagagggacatccccattacgggagtattactaaaactgttccgtaatacgttcagca +agggatgaaaaaggccactgctcaagttattgacgtgggagtattacatcggaagcctga +atcccacactatgatggtctgtacaggcctagggactgcgtctagacggtattaccggct +tctaatcatacgatcgtgagtcttaacgggaagtaaggctcacacctaccccaaaccatt +tatctatgtaagtataaaattgtgcgtaagtgttcaaagtggacaataaagacgtggcaa +aaacccccgcacataagccgctttagatttcacaaataccaatgcggttaaaaacatcct +tgagtcgtacatacaccatactcgcgttaaacggatataacagaagataataaatccgga +tgtggagtcggtgtaactatagaaagccaagtgaaataatgcttaccagtcatttagcta +tacggctttcatttcatgtcaagagggtggagtttgacctgtacagttgatatatcaccg +atacttagaactcacctaaagctaaaattgctcgcagcgtgtaatccgcatattacaaac +aatagatgggattcattatacataagacacgatgatctgctttttcaggttgcgagatgt +tgcctatcgtcaatcgagtcctgccttacaccacttaaacaaaagtattgacagggaacc +tattttcgaggtattatatagtccagcttgaatatcaatttgacagttaacctagtgaaa +atcagtaagaggaaatacgccacattctccagtgaaattctacgggttatcgtctagtcc +aactatcaattataactcacgagatataagtaaattctcgtacttggcctgatttttatt +atactttggatccttagtaaacaggaagggagaaaccttcaacgaaaaacactggatttt +gttttactctcaaagctcttatatgacggaaataccctgtcaagtcttaactttattact +agactaatgaaatgggcttggggtggccagaatcatagtacaatttagcggatacactat +tcggactttcctatcggctgtctggttggataagtatggggactaataggctagacatac +ctatacttaaactatacaggcgtcatctatctctgcaactttggagttccctgatgttct +cccgccctttgggttcacatcttctataccgacacccctaataacgattagtttgtgggt +tagagtaaattaatacggttaatattaatgtatcgttgaaaagctggtgtcgccaataag +gtaaccggctaggcagagtatatgtcacgaagtataactaccctaatgataagctgtagg +aataaaattaatgctgtctctaagcgaagagatatttccgactctgttttaatgacgaat +ctcattacttctgacttgcaaatgttcaatatggcacggtttcacggcacctttgtgacg +catataatgaacttagaagattataacgacggaactttatatgataatccgttacgatta +aagaatctgttaaatatcataatggcattcagttctagaccgtgcatcatggtaaactta +ctttctctgcatggcgacatacatttcgctattcaaattcgcgtgtggttacacccactc +gcacctttggaatattaagagaagatgatcagaaaatccattcgctcaatttttctgacg +tacgtctaatttatcctaggagacaaatcgttttatgtctctcacatttttgaagaaagg +ttcgagagacaatactcaggtcctgaactgctagaagatactcggtggagcgtggcaaca +atgaaaaactcgtgacataaatgaatgatacttttccaagttcagttaagtgaatatgtt +taacatacccggcttttcgatcttaagctgacgctggacgtgcgagtaatgtcagtctct +tacatacactagtgactccaagtttcgtcaaaaacgccccctcccttctcgagcccactc +acgctatgtattgacgcgaacttgttcgggatcagacttttcaggagttcggtcgcgtgt +ccctatgtgctaatatataagttagatcgcattagatgctaatctgaatacttatagacg +accttcaacgagaacgggtaccaccttgaggctagagttaggtgtgaaacgacaggtagg +gacatataaaatttgagtgcggctttagttaagggtttaattacctactcaaacatcacg +ctcgcgcccttcgtacgtaatcgaccatctagaggctaaggggactgtactaggtagtga +ttaatgatatcctagacgcacgtgccttagatcttcagactctgatggtccgcgatcacc +gtaattgtagtcctccaactcgatcactttgttggcgtcaaagaaattacgatatctaaa +tacttataatacaataaccaaggatgagaatgactcatcgcgttggagttatattgcttg +aagttctatggaatgaaagcacgttatctgccgtcccaatatctccagtgagctaattca +ttggacggtccactttgatcaatccccgaggagatgttcggacactttagtctgtaacac +ttagcgttgagaccacgaacaattgattactcagtcttgaaggtgttttccaaagttcat +tttaaataagactacgataggcctttcctattgatataaactacccggctctgttgttcg +tgtgagtcgtacttctctgtgtttttctgattatagcaagattcgattcttagtgtaaac +agcgatttttatttgacccgtcaatgagaagcgcataggatctaagcaaaattatcaagt +tgtgccacaaggtaagatctttccagttattgcaggtaggatgtatcccacgttgatagt +atgaggtctgacgtcaactgtctaggagagttgaccgcgtgcgggtacaccggatttgca +tcgatgttgagaacgcagaactcccactgtcgtggcggcgttcctgatatttagcaagag +gcgttgataaagccctcatcatctagatctcgacctcatctgccctcttgctccatcatt +ttctacacagactactttcctatctacgttagtataattgctttctatcttagtatcatt +tagagcttctccgtcaacaggttcgtgctattaaagttagtacgaaagggacaacttgta +gcaacgcatttaatcggttttcgactacttcgcacaaaatcagataaagaagtttgtcat +tctattagacattgaattgcgcaattgacttgtaccacttatgatcgaacactgaatcaa +gactgtgattaactaaaatagacaagccactatatcaactaataaaaacgcccctggtgg +tcgaacatagttgactacaggataattaattggactggagccattacattctctacaatc +gtatcacttcccaagtagacaactttgaccttgtagtttcatgtacaaaaaaatgctttc +gcaggagcacattggtagttcaatagtttcatgggaacctcttgagccgtcttctgtggg +tgtgttcggatagtaggtactgataaagtcgtgtcgctttcgatgagagggaattcaccg +gaaaacaccttggttaacaggatagtctatgtaaacttcgagacatgtttaagagttacc +agcttaatccacggtgctctactagtatcatcagctgtcttgcctcgcctagaaatatgc +attctatcgttatcctatcaacggttgccgtactgagcagccttattgtggaagagtaat +atataaatgtagtcttgtctttacgaagcagacgtaagtaataatgacttggaataccaa +aactaaacatagtggattatcatactcaagaactctccagataaataacagtttttacga +tacgtcaccaatgagcttaaagattaggatcctcaaaactgatacaaacgctaattcatt +tgttattggatccagtatcagttaaactgaatggagtgaagattgtagaatgttgttctg +gcctcgcatggggtctaggtgatatacaatttctcatacttacacggtagtggaaatctg +attctagcttcgtagctgactatactcaaggaaccactgctcaaggtaggagactagttc +cgaccctacagtcaaagtggccgaagcttaaactatagactagttgttaaatgctgattt +caagatatcatctatatacagtttggacaattatgtgtgcgaaactaaaattcatgctat +tcagatggatttcacttatgccttagaaacagatattgcccgagctcaatcaacagtttt +agccggaaacaatcgaagcatagggacaatgtatcttttcctaaattgccatgtgcagat +ttctgagtgtcacgaagcgcataatagaatcttgtgttgcctcaactcgttgaaaagttt +aaaacaatcgcagcagtctttttggggtctactgtgtgtttgcaaaataactgaaagaaa +cgcttgaacaactctgaagtagctcgagtactcattaaagtgtaacacattagtgaatat +cggccaatgaaccaaacgcttcccggtacgctatctctctcatcgggaggcgatgtgcag +gttatctacgaaagcatccctttacgttgagagtgtcgatgcatgaacctcattgtaaca +atagcccagcaaattctcatacgtgcctcagggtccgggcgtactcctccatggaagggc +gcgcatctagtgttataccaactcgctttttaactactatgctgtagttctacaggcata +gtggccagtattttctaacttctctggatagatgctctcactcctcatccatcacggctt +cagtttacgtcttacttgcttgttcagcaacggatggaggcattaagtatcttcactgtt +ccctaaaattgctgttcaatatcaaagtaaggacgatacagggaaagctcaagcacactc +attgaatactgccccagttgcaacctcacttaatctgacaaaaataatgactactctaag +tgttgcggaagcagtctcttccacgagcttgtctgtatcacttcgtataggcatgtaact +cgatagacacgaacaccgagtgagaaactatattcttgcttccgtgtgtgtgacaccagg +taattgatgcggatataagctggagatcactcacgcccacacaaggcgctgctacctctt +tattccaatgtgtaagaatttgctaacttcatttctagaccgcagctttgcggtcataat +ttcacggtacggacccttgggttagagacttgataacacacttcgcagtttccaccgcgc +acatgttttagtggcttctaacatagaatttttgttgtgacataaagagtgcgtgggaga +cttgcccgaccgttaagccataatcaattgaaagccccgtgagtcacatctaattggttg +tactgcgcatttagctatcctttagctgactcgaagagattcgattcctaatataggtta +attagatggctgccgcgcgaagtaaaacgtgaaaaacgtagtgcgcagatctgcataact +cgcgcttaattacttatgagtagttccaagttcgctacgttatgagagagattggaatta +agcaaatatgttttatggtgattttgggatgagaaggactgctaagtacggctactaaac +aaatttctaaaaccgccatctaccttatcttggagacatttaagttgtatatgtcactag +tctagcttttgtctgtgggacgcgttctcggaatgagggaaatgcaagagccgattcatc +aaatgcttatctaagaaagtagtggactattacaccaagcacgaatgccagggaactgct +ttcttgctcaggacctcgcgacaaggtaccccgcataagtcctagaattacatttggtca +gcaatgctgacatttgaccgtgaaaacataattttaatcagaaggcagctcacccgcttg +ctctagatcttatctttgtatgaatgtcagaatttactgcaatatccgttccgaatagtg +agggcttagtatagttctctgtatacaggtcacatcaaactccccctgtcctagtacagc +tctgagctttaattaattgcatacatttccttcaatcatcagatgaaaacaccgcgaatc +atgctcttctcgtatagggcaagagaagcaacaaacaactagcccgactcacgttcatcc +gccgtatccttgttcagttcttactccgtattaggtcagcgaaatctaatcagaataatc +ggtcgcgtatcaaaattaaaatcccgcttgaggttgacaattaaaacgctgagcagttat +cggctattagatagtggggtgaaagtaattggctggaattatgttaaaacgtgatattaa +gctaaaatacgctacttgttgccgacctaattcagtcattcgatattcagttagagccaa +gaataacaagcttgtataaattgaacggggtgcactaaacgatgtgttactctaatattc +agcttggagtatacctgaaggcgaattcatgtatcggccaataataagacgttgaagatc +acaatttggactagcaaaagaaggtgatttatgcgtggggattgagtccactgtacgagt +acggtctctggaaaattataggttcagggaatataaggaagtaaagataattaccaagag +atttttggtatcgctatgacccagaggtgttctaacgtctgttttgatccgcagaatttc +tgcctcaatgcatatttgacggacttgaactagagcctctaaagttaaatggcgacgcaa +ctgttcctaaacttcaattattactactctttttttcctagggtattgtagaggccagtg +gacaaaataaatcaaatttaagatgtttcggacattaacatcccccgtagcatagaaatc +atcagttatccaatctctcatcgagcttttacaatttctgctggcgctatggacagcata +tgccgcgagacctccgcaagactcacttgatcactgtaagtatcttcattagaggttaga +gcctatagttaagctgctgacctagtaaaattggtattttctaattttattgctcaagtt +aaaggttagtgaagggataatgacgttatttttgaacaatgggttgtattcaattttata +tcacgaatggaacccttcattcccggcataatactagacgacacgaacaagctccgatct +atcagccaggcacgtgttaaggtttaattccggcaaaccaatgaagcatcaaaaggtgac +ctgatgcaacttagggtcacgatgagtttttcaggactacttattacctattaataagtt +aacatgagccttcataccccgtaagacaatacatactccaccaattagaattctgagcca +tcttatctttttgtatcatcgaagggtatggccgaataggttaattagttactcctaacg +tctctacaggcatgcatttgacgcaccttcgaaaatagtcaatctctcgccacacgcgtc +tagtatgcagcatcaaaaatatagtccacggtttccggattaccaaacgcggcaaagaga +aacattgtatcgacggagataacttaatacagaaggaaggggcatcttcgaatacggatg +aataattctatctgtttattctgacatcttgttttcaggttaatcttacgcattcaaatg +acgcctgccccatgcgtgcgcaattattttctaatattgacgagagcaatctcactcctt +ttgggtctatttatgttttattgaggcacaagcctatacagaacaggtactattaaggcc +gtgagtgtgagactcaaaccgtggaaacaaaggatgggttgttcttggtacaagttttag +tgcatgtgggcaatccttaccaaaatcagatgctatccttaactttgggctgcatttaag +atggcggttggaggcctgtgagaatcctgcgtgtcatctttaatgaccgaattcatccat +gtagattcagatcacacactcattccttgatgttgtctaaacaaaagttgttgtggacgc +attggagggagttaagtaacaacttgggatcgcatacttataaaaattatatgttaaact +ttcacaaacgctgaagtccaaagtaactagcccaaacgcctcgagagtcactaggtatta +atggtgtttgagttcctgtgaaatagtgttcgaaggtaaaatttatgtaccaaatcgaaa +gaacacttaataaggcttgcttgcacggaggtatgatgtttactgactctacaaccctaa +ttttccagtacgtacattcattccaataggttagttctcaaagtgctatacaggctcctc +aattgatgatatgcttcagccgctctatggatattagctcattttatttaggaagcccgc +ttagaggcttactatgagggaaatgccaaaatgtcatacttttcggtgtgtcccatatga +caccgctttacatagaatttgaattaaaacgcgctctcccgttcactaccatacttggta +ccgtgcgcatattacatatagatataggatcattttttaaagctgtactaggtttgatcg +acaatcttatgctatactatatgatgtaaccctcataatcaataccgatcgtacgatcct +agcataggtggcaagcgattttatgccgattattgtgttaaatagtctgtgagtgtgatt +atcagggctacgttggtagaggggttgtatagacctcgcacacattgtgacatacttaac +aatatacgaaaactgatataataaatccccttacccaaacaccaatcccgttgaatcaac +taccataacgtctcccatataaattgcctacttgtttgcataaatctgaatacataacac +cattgcaccttcttgtgttccaatcccgttaagattgccttgtcagatgatatgcaagaa +caatagcatttgctagcaattattaacagctcttcgaattgcctccacataacgcgggag +ggtatattttaatttggcaaatactaagtactgttggcgtcatatgctattaacggttgg +atattaagttatgtcagccgtaagcaagagtgggcgaaatattttgttacccagtgagag +cactcttagagtttggatacaataggccatatgttgacttaagaggacgtaactacgccg +tacaccattgttcaaccgacttcttggcaaatagaatcgtattagcaatcttaagaatag +agacacgttcgtgttagggtatactacaaatccgaaaatcttaagaggatcacctaaact +gaaatttatacatatttcaacgtggatagatttaacataattcagccacctccaacctgg +gagtaattttcagtagatttactagatgattagtggcccaacgcacttgactatataaga +tctggggatcctaacctgacctatgagacaaaattggaaacgttaacagcccttatgtgt +acaaagaaaagtaagttgttgctgttcaacagatgatagtcatgacgcgtaacttcacta +tagtaaattgaaacaaatacgcaatttagacagaatggtacggtcatgaatgacagtaat +tcgaagtgctagaccaacttaaaataggtaaacgtgcccgaaaccccccttaacagaaag +ctgctatcatggtgcagtatcgacgtgttcagaaacttgtaacttttgagcaggtccgag +cacatggaagtatatcacgtgtttctgaaccggcttatccctaagatatatccgtcgcaa +actttcgatttagtcccacgtagagcccaagcgttgtgcgactccacgtgcatgcccaga +aatacgagtttaaatttggttacatggttaattttgaccgaagcatcgcactttatgatt +gataattggattcaatatgtcgccctatgcgaatgcaacatgatccacaatttggctata +agacgtttaatccgtatcacactttgtttgcggctagtatagtaacgcccgtgcaccaag +agtcagtaacaattataagtactccgcaggtacttcaaatataaaaactaatcaaacacg +acccatatgatcatctgaagatatttggaactttctcgacaaccaccctcgtactcaata +cttacactaatcgacaggcacacgcaacgtgtacagtcgcaccatattgagtcaagattt +gcttagtggcgatgagcgtacacgcttatttctctagtcacaattagttatctacgagac +atcacgagggagcaaataagcgatgttatggctacacataggcacgtatgaatatgatat +aagccagttaaacagtcgaaccatcgagcaaattctcatgcaccaacccacacgttgagg +cacaaagagtaagctgtttgaatgtaacttcttctgctgagcgggccccaacgtaaggat +caactagaagagaaaactcggtattagtttaaatgcgtcacggagcatgagtgcatttca +ctaagaatgtctgtgtaaccaatataacatctatttgttatctgattgcctacttatggc +tttgcggtcgtggcgactaatgtctccaatccttttgaggtcggtaccaactccctttaa +attacgctgtgcaggctcatgcactgcatacatatacggtagcaggtagggacctcacgc +acccttattataatcaatagtagttatcagtcaacgaggcaggaatgctgaggtcgaggt +gttggtatattttctatgtgccgtctaggcgactatcacgcattaccaggcgagatttaa +gccaattttgaatatagtcaacgtaatttttactatgggttccaccgaaacgccttgcac +aactaagaatcccataaaatatcgatatcaaataaaagattgtgtcaataccttcatata +tattttttcggttgactaacgtgaactaaggttaggggttttgtatgtctatataggaaa +cagtttcttttctgtcctactttagtaaagtcttcaagccttactccaaaatcacggtga +ttaagccgttactcagcagcatgattctgcctgctcgggtcctaaaatccagccttgtaa +gagtcgctgtgtattagctagggagacctttgttaaaaaggatatatcgcggcgggatgt +gagtgcgtggcgcatactcaatcttcagctcgtgtcattataatatctctcccccacgct +tttcactagatatgccgtgtaagcaaacaccttatgcttaatttcgaaaatattggtact +tgaaaaaagctgtaggggtacttaatgtctggtaggagatcaggagagaattgagtgtaa +aaccgtaaagccctcacctgacttcatgtaaatggcttagaagactccatgatttaataa +atactacgaaggaaagactggatctaaagataactctagtaaggccaactcccttcaatg +ctgttgccagttataatccaagagctgtccttttctgaaccatagcggcttctgaagcga +actagaagcaaagttggttctagccagacagccacataccctgtacgggtgtattactaa +aactggtccggtattagttcaccaagggaggaattaggcaaaggatctaggtatgcaagt +cggagtattacatccctaccctgaatccatcaataggttcctctgtactggccttcgcaa +tgagtattcaaggttgtacagccgtataataataagatagtgactatgaacgggaagtaa +cccgctcaccttccccaaaacattgttatatctaagtattaaagtctgccgtagtgttaa +tactcgaaaataaacaactggcaaattacaccgcacttaagccgcttttgatttatattt +ttccaatgcgcttttaaaaataattcagtcctacatactaattaagacccttaaacggag +atatcacaagttaagttttaaccatctcgactaggtggaactatagatacccaactcaat +ttatcattacctgtaatgttcctagaaggattgcatttcatgtcaagacggtggagtttc +acagcgaaacttcagtgtgaacagattctgagaaatcacctaaacctattagtcagagca +cccggttagaaccagttgtcaaaaaatagagcggttgcatgagacagaagtaacgatgag +atccgttgtaacgttgagacatctggcctatcgtcaatacagtcctcccttaaaaatatt +tttaaatactaggcaaacccaacataggttagtcctatgtgatacgccacatggtatatc +attttgtaacgttacctagggataatcaggaagtggaattacgcaaaagtagacagtgaa +atgcttagggttatagtctagtccaaagataaaggataaagcacgtcagagaactatatt +agccgaatgggaatcattgttaggagactgtggatcatgtctaaaaagcaacgcagaaac +agtcatcgaaaaaatctcgtttttgtttgaatctaaaagagctttgatgaccgatagtac +ctgtatactagttactgtattacgtgtctaatgatttcggattggggtccccagaatcag +acgtcattgtagacgattcaagtttaccaatttaatttcccagctctccttggagaacta +tcgccaataattgcagtcactttccttttctgaaacgataaagccgtcagagttctctgc +aacgttggacttacctgaggttctaacccactttcggttctaatagtagttaacgacaca +acgaataacctttactgtggggctttcacgatattttttcgcttattattaatggttacg +tcataagctggtgtccaaattaaggttaccggcttcgcagagtagttgtatccaagtata +acttccctaatcataagatcgaggtagaaaattaatgctgtctctaaccgaacagatatg +tcccactatgtggtatggacgttgctaattacttctgaagggaaattggtcattatggat +acgtgtctaccatcaggtcggacgcagatatggttctgtcttcagttgatccaccgttct +ttataggataataactgacgattaaagattatggtaaatagattaagccaattctcttct +tgtcagtgaagcatccttaactgacttgctctgcagcccctcatacatttagctattcaa +agtaccggctcgtttcaaactctcccacctttggaagaggttgtcaacttgataagtata +tcatttacagcattttttcggacgtacctctaatgtttcattgcagaaaattagtttttt +ctatcgcacattttgcaagtaacgttagagacacaattatctgcgaatgaactgctagat +ctgacgaccgggagcctcgcaaatatcaaaaaagactgacatatatcaaggagtcgttga +caagtgctggtaagtcaattggtttatctgtcccggcgtttcgatcttaagctgaccatg +cacggcagagtaatgtcactctcgttcttacaagtctgtctccaagggtcggcaaaaaag +acccctccattctcgagcccactcacgatatgtagggacgacaacttgtgcggcttatga +attgtctggactgcgggcgagggtccatatctccgaagttagaagggacatacctttaga +tgataagatcaattcttattgacgaaattcatccacaacggggaacaacttcaccctaga +cttacgtctgaaaagacacctagcgtcttataaaaggtcagtgccccgtttcgtaaggct +ggaattacctacgcaaacttaaacctcgcgcccttccttacgtatcgacaagatagaggc +tatcgcgaatgtactacggaggcatgaatcatatactagaaccaagtgcctgtgatatta +acaagatgatccgacgcgagcaccgtaattctaggcataaaactccagcaatttgggggc +cgaaaacaaatgacgttagctaattaattatatgacatgatcaaaggaggtcaatcacgc +atcgagttcgacgtatattcattgaacttcgtgcgtttgaaagaaacttttatgaaggca +aaattgatcctgtctcctatttcatgcgtacctcctagttgataattccccgagcagtgg +ttaggacacttttgtcggtatcaagttccggtctcaaaacgtaaaattctgtaatctgta +tggatggtctgtgaattagttaatttttatgaagtcgtcgagacgcagttcctattgatt +tattctaaacggagatgtgcttcgtgggactcggaagtagatctgtgtttatgattattg +ctactttagatgctgactgttaactccgtgttgtttttcaaccgtatatcacaaccgaat +tggatagaacctatagtttcaagttctgccacaaggtatcatatttacagttagtgctgg +ttgcttctttcaaacgtggtgagtttgtgctatcacgtcaacggtagagctcagtggacc +gagtgcgcgttcaaccctgttccagagagggtgtgatagcacatataccacgctcgtcga +ggcgttcatgatagtttgcaagagccggtgttaaacacatattattattgttatccaact +aatcggacctatgcataaagcattgtctaaacagaataattgcctatatacggtagtttt +agtgatttatatcttagtatcagttagagcttcgaactcttcaggttcctcatatttaac +gttcttcgaaagcgaaaacttctacaaacgaatgtaagcggttttccaagtagtacctat +aaatcacagaaagatctgtctcagtatagttgaaatggtattcagctagtgacgtgtacc +aattatcatagttcactcaagcaagacgctcattaacgaatatagacaagacactatatc +atataataaaaaagaacatggtgctcgaacatagttgaattcaccatattgaaggggaat +gctgacatgtaattcgctactagacgatcaattccctacttgtcaaagttgaactggtac +gttcttggaattaaatatgattgcgctggaccaaattgcgacttcttgagtttcagggca +aacgattgagccggaggatgtccgtctcttacctttcttgcttatgataaacgacggtcc +ctgtacatcactgggaattctcagcaaaaataattgggtaaatcgagactcgatgtattc +ggccacaaaggtgttagacgttaaagattattcaacggggcgataataggatcataaccg +gtatgcaagcgcattgaaagagccatgagatccttatccgataaacgctgcacggtatgt +gcagccttattgtcgatcacgaatttataaatgtagtctgggctgtaagttgaagaccta +agttataatgaagtgcaataccaaatcgattcatagtggattatcagactcaagatatct +cctgataaattacagttgttaagatacggataaaatgagatttaagattagcagcctcta +atctgtttcaatcccgttggaatgtggtatgcgatcaaggttaagttaaaatcaagcctg +tcttcagtcttgattcttgttctgccatcgcatgcggtctacgtgagttaatatgtagct +tacgttctagcttgtgctaatctgagtatagattcgtagaggaatattatcaagcttcca +cgcctcaacgtacgtgtattggtcacacaagacactaaaagtggaagtagcgtaaactat +agtctagttgttaaatgctcagttcttgttatattcgatatactcttggctaatttatgt +ctgagtatataaaattaatgatattaacttgcatttcacggatcccttagaaaaagattt +tgaccgagcgcattataaacggttacaccgaatcaatagaagcatacccaatagctttct +ttgaatttattgcctgcgcaacttggctgactctctagatccgaataattctatatggtc +gtgacgaaactagttcattactgtttaaaatgccaacatgtcttttgggccgataatggc +tctttgcaaaattactcaatgatacgattgatcaaagcggtagttgctagtggtagcatg +taagtctatcaaatgtctgattatccgaaaatcttccaaaagagtccacgtaccatatct +atctcatagcgacgcgaggggaaccttatctaactatcattccatttaccgggtgactct +cgatgcaggatccgattgggataaattgcccagaaatggctcattcctgactaagggtaa +ggccgttctcagcaagggaaccccgcgaatctaggcttataccatctagattgttaacta +cttgcctgtagttctacagccatactggacagttgtttctaaatgatcgggattcatgct +agcactcctctgaatgcaccgcgtaagtttaactattacgtccgtgggcagataaggatg +gaggctgtatgtatcttaactgttacctaatatggctggtaattatcaaagtaaggacct +taatgccatagcgctagcaatcgctttgtatactgaccatgtgccaacctctcttaatct +gtaaaatataatgtcttagctaactgtggacgatcatgtctctgcctagagcttcgctgt +atcaattcctatagccagcgtactagtgacacaacaacaccgtgtgagaaaagatattag +tccttacgtctgtctctctacagcttattgatgaggattgaacatggacatatagctccc +cctcaaaagcagatgctacctctttattccattctcgaacatttgccgaacttaatttcg +acaaacctgaggtcacgtcttaatttatcggtaacgtcacgtccctttgagactggataa +atatattaccaggggccaacgagcaattgttggaggcgcttctataatacaaggtgtctt +gtcaaagaaagacggcgtgcgtctcgtgcaactcacttaaccaatattaatgtgaaaccc +ccctctctcacatcttatgcggtgtactgccctggtacatttcctgtacaggactccaac +agtgtagattcctaagatagctgttggagttgcctcacgccagatcgaaaaactgaataa +actagtgagctgagctgcagaaataccgcttaattacttatgactagttcaaagggacct +acgtgatgtcagacattgcaaggaagaaattaggtttgtgcgtcattttggctggactag +cactccttacttcccctactattcaaatgtcgtaaacagcatgagacaggatcgtgctga +catttaaggtctattgggaacgaggctacctttggtcgcgcgctcgcgttctccgaatga +ccgaaatgcatgagcacagtatgcaattgcttatagatctaaggtctggtcgttgaaacc +aagcacgtaggcctgggaaatcagttcttcctcagcaactacacaaaagcgtccaagcat +tagtacttgtagtaaatgtccgaacctatgcgctcatttgaaagtcaaaaaatattttta +agcagtaggcacctaacccgattcctctacttagtagctttctttgattctcagaattga +ctgcaatatcactgcacaattctgtgccattactagacttctctgtattaacgtctcatc +ttactaacactcgcctaggacacatctgagagtgaagtatttcaatacatttactgaaat +cttcagttctaaaatccccgaataaggctcttatcggtttggccaacacaagaaaaaaac +ttcttgcaccactcaccttcatacgcaggagcctggggaacttagtaataactatttcgg +cagacaaagcttataacaagttgccggcgcgtataatatttaaaagaccccttgagctgc +tcaattaaaacgctcacctggtataggctattagatagtgccgtcttagtaaggggcggg +aattatcggataaactgatattttgataaaataaccgacttgttcacgacataagtcact +aaggagattttatctttctccaaagtatatcttccttggataatttcaaagcgctgcaat +ttaagttctgttactagtttatgctgctgggaggtgaccggaaggcgtagtaatctagag +gcaaattataagaagttcatcatatcattttcgactacaaaaacaaggtgttgtatgccg +gcgcattgtgtaaactggacgagtaccctagatggaaaattatacgttaagccaagattt +cgatgtaatgataattacctacacatttttgctatccataggaacaagagctgttctata +ggctcgtggcatacgaacatttgctgccgctatgaatattggaagctcttcaactacaga +ctctattcttaattgccgtcgaaaatgggccgaatcggctattattaatactcggttttt +ccgaggggattgttgtcgacagtcgtaattattattaatattgatgttggtgaggtcatt +taaatacaaccttgcagacaatgaataagggatccaatctctcatactccttttacaatt +gctcatgcccctatgcaaaccttatgccgccacacctccgcaactctctcttctgaactg +taagtagcttcattactggtttgagactatactgaagctgatgacattctaaaatggcta +ttttcgaatgtgattcataatgtttatcgtttgggatggcagaatcacgttatttttgat +atagcccgggtattctattgtatagaacgtatgctacaagtcattccccgaagaagacta +gaagtaaacaacatgcgaccatcgttaagccacgcaaggctgtagctttatttcccgata +acctatcttccataaatagcggacagcaggatactgacgctcaacatcagtggttatggt +ctaatttttaacttttaataaggtaacttcagcaggcatacacagtaactctttaattta +taatcaaattagaagtctgacacttcttatatttttctatcatccaacgcgatcgcccat +tagcttattgtgttactaataacgtatctaaaccaatccttttcaagctactgcctatat +tgtcaatatatacaaacaacaggatagtaggctgcttaaaaaatattgtcaaccgtgtac +gctttacaatacccggaaatcacaaactttgtagacaacgagtgaaatttatacactacg +aagggccagcgtacaagacccatgaattaggcgatatgtttattctgacatattggttta +tccttaatctgtcgctgtaaaatgaagccgcccccatccctgcgaattttttttcgaaga +ttcacgactgaaatataaatacgtttggctatatttatgttggagggaggcaatagcctt +tactgttaaccgaagatttagccagtgagtgtgacactaaaacactggaataaatgcagg +cgttcttctgggtaaaaggtttagtcaatctcgcctataagttcatatagctctggatat +aattatctggcccatgcatttatcatggcgcttggtgccctgtgtgaagccggcctctca +tattgaaggtccgaagtattccatgtacattaagatcactctctcattcatgcatcttgg +cttaacaaatctggttgtccaagctttccaggcacgtatggtacaaattcggatcgaata +cttataaaaatgatatgttaaactgtctaaaacgctcatctacaaagtaaagtgcactaa +ccaatagagtctcaagaccgtgtaatgctggtgcactgaatgtgtaatacggttagaagg +gattagttatgttacaaatccattgaaaacttaagaagcattgcgtgctcggagggtgca +tcttttatcaagagactaacattattttcaacgacgtacatgctttacaatagggtactt +atcaaacgccgagaaacgcgcctatagtgatgttatgattatgacccgatatccattgga +ccgaattttatgtaggttcccagcgtactcgcgtaatatctcggtattgccataatgtaa +tacttgtcggtctctcccagatgaaaaagcgttacagagtatttcaatgaaaaacagcgc +gcaacgtcaatacctttaggggtaacggccgctgatttcatatagatatacgataagttg +gtatagctctactaggtggcatccacaatcgttgcatttactatagctggttacaatcat +aatctataccgttccttacatactaccatagcgggatagcgtttttttgccgttgattgg +gtttaagaggatgtcagtctcattatatccgattcggtgggagagccgttgttttcaaat +cgcacactttgtgacataatgtacaagataacaaaactgatataagatataaactgtcaa +tatcaccttgacacttgaatcaaagtaaattaactcgcaaatataatttgactaattggg +tgcagatttctcaattaataaaaaaatggcaccggatgggcttacaagccccttatcatt +cacttgtatcatgatttccaagaacaatagaatttgctagcaagtatgaacagagattcg +aattgcatccacagtacgccggagcgtttattttaatgtggatatgacgatgtactgttg +gcggcatttgctagtaaccggtccttatttacgtagcgcacacgtaagcatgtctgggag +aaatatggtggtacaatctcagagaaagattacagtttggtttaaataggacttatcggg +tcggaagtggaacttaataagcagtacacaattgggcaacagacgtcttgcctattacaa +taggattacaatgcgttagatttcagacacgttcgtgtttggctattcgtcaattcccta +aatagttagacgatcaactattatcaaagtgattctttgttcatcctccattcatgtaac +agatggcacactacgcataacgccgaggaattttaacgagatttaagagagcagttcggg +cacaacccacttgactttataacagctcggcagcataaacggtaatatgtgacaaatttc +caaacgttataagaacgtatgtgtacttagaaaactaagtggttcatgttcaacagatgt +gacgcagcaagcctaacttatctattggttttgctataaaagaacaaagttacacagaat +cctaagggcttgtttcacacttatgcctagtgcttcaccatcttaaaatagcgaaaccgg +cacgaatcaaaccttaaaacaatgcgcagatattggtgatggtgactccgggtatgataa +tggtaactgttgaccagcgcccacctcatcgaagtatagaaagtggttaggataaggatg +agaccgaacttatttccggccataactttagattttctacctagtacacaacatcagggc +ggacacgaaaccgccatcacatcatataccaggtttaatttgcttaatgggggaagtgtc +aacgaaccttcgaactttagcaggcatatggccattatatatggccccagagcagaatgc +tacagcagacaaaatttggatttatgtagtttaatacctatcaaacttggtgtgaccata +cttgtctaacgacagtgcacaaagtgtaagttacaattattactactcagcagcttctgc +aatgataaaatcttatcatacacgtcacatatgataatatctacttagggggaacgggct +ccacaacctacatagtactcaatacttacactattcgacaggcacaccaaacctgtacag +tcccaaaagattgagtcaactttgcagtactgcagatcacagtaatagcttagttagcga +gtcaaaattagttttctacgagactgcacgaccgtgcaaatttccgatgtgttggctaca +aatagcaacgtatgaatttgtttgaagccacgtaaactgtacaaccttagagataagtct +caggctactaaaaacacgttgtggcactaacaggatcatggttgattcttacttattcgg +ctgaccggcccaataagtaaccttcaactagaacagaataatcgggagtagtttaattca +gtcaaggtgcaggtctcattgtaactaacaagctctgtgtaaccaagttaaaatcgtttt +cttagcggattccctacttatggatttgagctcgtccacaatattcgatacaagaagttt +gtggtccgtaacaacgaaattttaattacgctgtgcagcctcatccaaggaattaataga +aggttgatggtaggctccgaacgctccatgattataatcaagtggactgtgcagtaaacg +aggaaggtatcctgacgtcgtggtgttcgtttttgttatttgtgccctatacgagtagat +aaaccatgaacagcacagtgtgaacccatggttgattttaggctaccttatttttaattt +ccgttacacagaaacgaattccacaactaacatgccattaatttttcgatatcttataaa +agatggtcgaaattcattcatttattttttttcggttctcgaaagtcaactaagctgtcg +cgttttgtttctctttagaggtaaaagtggctttgatctcctacgtttggatactagtca +accattactccatttgatccgtgagtatcacctgtctaacatccagcattatgactcctc +ggcgaagaaaagacacacttcttagagtcgatgtgtattagctagggacacagttgttta +atacgatagtgagcccagggagggcagtgcgtcccccagtagatttattcagctagtgta +agtataagatatctcacccacgaggttcaagtgatatgcagtcttagaataatacttatc +ctgaatttcgatattatgggtacttcaataatccgctagcgctactttatgtctcgttgg +acagcaggacacatggcagtcttaaacactaaagacatcacctgaatgaatgtaatggga +ttacaagaatcaatgaggtattatatacgacgtaggaaactctggatatatacagtaatc +tagttacgccatcgcacttcattcctctggaaacttagaagacatcagctgtacgtggag +gaaccagacccccgtatgtagccaaatagaaccaaagttgcttatacaaacacacccaat +gacaatggaccgctggagttcgtaaactcggaacgtagtactgcacaaacccagcattta +gcaataggagctacgtatgcaactcccacgtggtaataccttcaagctatcaatatatag +gtgcctagctaatcgcattcgcaagcagtattcaagcttgtaaaccagtataataattac +agaggctctatgaaacccaactttccagctaaaagtcccaattaaatggttatttcgtac +ttttaaagtcgcccgttctgttattacgcgaattgattctactccaaaattaaacacaaa +ttatcaaccgtttcatttatatttgtcaatgcagctgtttaaaataaggctctactaaat +tataattaagacacttattaccagatttctctagttaagtttgaaccagctcgactaccg +cgaaagatacattcccttctctatttttcagttcatctatgggtcagagaagcattgaat +ttattctattcaccctcgtcgttcacagcgaatcgtcagtgtgatcagtgtatgagaaat +atcctaaaccgtttagtcagaccacacgcttagaacaagtggtctaaaaagactgccctg +gaaggagtaagaagtatacagctgatccggtgtatccttcagtcatctgccctatactaa +ttacacgacgcaaggaaaaataggtttattttctaggcaaacccttcataggtgactccg +atgtgttacgaatcatgcttgagaatgtgctatcgttaccgacggataataacgatctcc +aatgaaccaaatgtagaatgtctattgattacccttttactattcgacttagagatagga +gatagaacctcagtgtacttttttagccgaatgggaatctttgggaggtgaatggccata +aggtcgtaaatccaaccctcttaaagtcttccatattatatcgttgttcgtggaatcgat +aacagatttgttgacccatagtaaatgtatactagtttatgttgtaagtgtagattgttt +tccgattgccgtccaaactttatgtcgtaattgtagaccagtaaagttgaccaaggtaag +tgcccagcgatcctgcgagatcgatcgccaatttttccagtcactgtaagtgtaggttta +gataaagccgtatgagttatatcataagggcctcggaaagcagcttcgaaccaaagttcc +cttataatagtagtttaactataaaagtatatactggtctgtcgccctttcacgatttgt +tttaccggtttatgaagcgttacgtcattagagcggctccaatttaaggttaacggcttc +catgtgtagttgtatacaaggataacttaaagtatctgttcagcgagctagttaagttat +cctcgatagaacacaactcagaggtcccaagatcgggtttgcaacttgctaatttattct +caaggcaaattgggaattatcgatacctgtataccataaggtcgctcgatgtgatgctta +tgtcttctggtgatcctaccttagttagtgctgattaacggaacattaatgtttatcgtt +ttgagatttagccaattctctgattctaactcaagatgccttatctgacgtgctatgcag +cccctaagtattttacattgtaataggacacgctcctttaaaactcgccaaaaggtcgtt +gtggttctctactggttaactatataatttacagctttgttgagctagttcctctttggt +ttaagtcctcaatattagttggttcgagcgataagttggctagttaccttagtcactata +ttagatccgaatgttatgcttcatctgaagaccgccaccctccaaaatttcttttaagac +tcacttattgcaaggtgtaggtgaattcggctcgtttctcaagtggtgtatctgtacacg +agtttccatattttcatcaacagccaccgcacacttatgtcactctaggtattaaaagtc +gctctacaaggggacgcaattaagaaacagacatgctagtcaaaaataaacatagcgagg +caccactaattcggccgcttatcaatgggatgctctgcgcgagacgcgccagagctcagt +agttagttcggacatacatttacttcagatgatcaattagttttctacaaatgcttactc +taccccgaaaaaagtcaccagactcttacgtctctttagtatccttccgtcttatataag +gtcagtcccccgtttcggtaccctggaatttactaagaataatgaaacagcccccaagga +cgtacgtttacaaatgatagaccagatcgcctagcttattccgacgcatgttgcatagaa +ttgaaccaacggaatgtgagagtaactagatgagccgaccacagcacccgtttgcgtcgc +agaatacgcctgatagttcggccacgaaatcatatgtcctttgagtattaagtatttgta +atgatcaatcgagctcaagcaagcttacacttcctcggatattcagggaacttagtgcct +ttgaaagatacgttgatcaacgaaaaattgataatggctcatatggaatgcctacctcat +agtgctgaattaacacagcactgcggacctaacttttcgaggtttcaagttcacgtctca +aaacctaataggctggaatatgtagggatcctcggtgaatttgtgattgggtttgttgta +gtactgaccaagtgaatattctttttttctaaaagcagatctgctgccgggcactacgaa +ggagatctctgtgtatcattattgcttcttgacatgatgactcttaaatcactgtgggtg +tgcaaaacgatagcacaacccaattcgatagtacatattgttgatacttcgcactaaacc +gttcatatttaaaggttgtgctccttccttcgttaaatactggtgacttggtcctatcta +ctattagctagacctctggggaaccacgcccccgtaaaacctgtgcaagagagggggtca +tacatcttagacatcgcgcctccaccagggaagcattgggtgattgaccaggtgtgtaac +aaatatgattattcttatactaatattagcaaagatgcataatgatttgtattaaatgta +taattgaattgataagggtcttttagtcagtgatagagtagtataaggtagacattagaa +ctcttaaccggacgcagatttttcggtcttagtaagccaattagtcgacaaaacaaggta +agagcggttactagtagtacctataatgcactgaatcttcggtcgaagtatagttctaat +gctatgcagattgtgacggcgacaaatgttcagacttatatcatgaaacaagctcttgta +agtattgacaaatgaaaagattgaatatttttaaatacaaaatgcgcctacttattaggg +gaattaaccagattgaaggccaatcctcacatgtaatgagataatagacgataaatgaaa +ttcttgtaatagttgaactgctacgtgatgggtattatatatgattgagatcctccaatt +gccgacgtcttgtcttgatgcccaaaagattgtcaacgaggagctccctcgcgtacctgt +cgtccgtatcataaacgacgcgacatgtacagcactccgaagtataagcaataataatgc +gggtaatccagactagatcttttcggactcaatgcggtttcacggtaaacatgattaata +ccggagagtagtcgagcttatcagcgatgcaagcgaattcattgtgccaggagatacgtt +gcagataaaaccggcaacgtatgtcaacaagttttggcgatctcgttgtttgtattcgac +gaggcgcgggaacttcaagaactatcgtatattcaagtccattaccttttagtttcagac +tggtggagctgactaaagttatatcatcattttgtacactggtttagttaacgataattt +cagatttaacatgaccagacgataatcgctgtatatccagttggaatgtggtttgccaga +aaggttaacttataatcaagcctctcttcagtcttgattcgtcgtatcccatccattgcg +ctatacctcagtgtatttggagctgtagttataccgtgtgctaagatcagtagacatgac +gagagcaatattatctaccttacaagcatcaacggacgtctagtcggaacaaaagactct +aaaactcgaacttcaggttaatatactatagttctgtattcagcagttattcttatattc +gatattatcttgcctattggatgtctgactttagtatattaatcatagtatctgccatgt +aaaggtgccagtactaaatctgtttcacagtgcgaattataaacggttacaaccattaaa +gacaacaagaccctatagctttatttgaattttgtcaatgcgcaacttggagctcgcgat +acatcccaattagtctatagggtcgggacgattctacggcatttctggttataatgacaa +catggattgtggcccgagaatcgctctttcattaattaagcaatcattacagtcttataa +gcgctacttccgagtggtagcaggtaactcgatataaggtcgcatgagccgaatagctta +aaaaacaggccaccgaacattgatagagaataccgaccacagcgcaacctttgattactt +tcattaaattgtacggctcactcgacatcaagcttaagattgcgataatgtgaactcaaa +tggatcagtactgaagaaccgtaacccacttcgcagaaagcgtacccagagaagatacgc +tgttacaatatacagggtgaaattattgcctgttcttcgtaaccatttcgccaaacttgg +ttagaaatgatagccattcatgatagaaataagctgaatgataccagtatctttaactat +gtagtcagggggaagataacgatggtccatgtatgtttctgatatgtgacagtattggcc +gcgtaatttgctaacgaagctacttaatgcctttgagcttcatatagatttctttaatca +aaatcggcaaaaagatagtatgagctataatatatgctagtagagaactctggaccatca +tctatatgaatactgattcgagcgtgcaattactttagcctgcgtactactgactctaca +aaacactctgagataagtttgtagtcagtaagtcgctctctataaaccttttggatgacc +attgtacagccacttatagatcccaataaatagcacaggagacagagtttttcaatgctc +gatcatttgccgatagtattttcgtctaacctcagggcacctattatttgatacctaacc +taacggccctttcacaatggagaaatatatgacatcgggacaaacacaaatggtgggtgg +ccaggagatatgacatggtggcgtctctaagaaacacggactccctctaggcaaactcac +gtaaccaattttaatgtcaaacaaaacgctcgaaaagattttgccgtgtaatgacctggt +acattgactggtcaggaatacatcactgtagttgccgtagtgtcctgttggtgttccatc +aagacacatcgtataacgcaatttacgacggacatcagatcaagttatacagattattta +agtatcacgtgtgcattgggacataagggatctcacacatgccttggaacatttttgctt +tgtgccgctttttcgctgcactaccaatccttacttaccagtatattcaaaggtcgttaa +cagaatgagaaaggttagggctctaagttatcgtcgattgggatagacgagacatttgcg +agcgccctccacggatacgaatctcccatatcaatgtgaactggatgctatgcagtttag +ttcttacgtctcctagtggtaaaaatcaaagtagcactcgcatagcagttattcagaacc +taatacacaaaaccgtcaaacattttctaattctaggtatgggccgatcataggagctaa +ggtgaaactcataaatgttttgttagatctagcatcctaaaaagatgcatatactgagta +gctggcgtgcattctctcaattgtatcctttttaactgaactagtcggtcccatttcgtg +actgagatctattaaccgataagattaataacactcgcattcgtatcagctcagagtgaa +gtttttcaataatttgactgatatattaacttctaaaataaccctttaagcctcggatcc +gtttcccaatcacatcaaaaattcttattccaactatctacggattaacaacgtgcatgg +ggatcgtagtaagaacttgttccgatcactttgagtatatcaagttgacggcccggttat +tattgaatagaaacattcacctgctaaattaaataccgcacatcggatacccgatttcag +agggccgtcttactaagggcaggctttgttcggtttaactgagatgttcattattttaca +gtatgcttcaactaatatgtaacgaaggacagtggatctgtctccatagtagatcttcag +tcgtgaatttcataccgctcctatttaagttcgcgttcgagttgttgatcatggcacgtg +aaagcaacccctagtattctagacgaaaattttttctagttcatctgataatttgccaat +tcaaaaacaaccgctggtttcccggcgcattctctaaaatggaagtcgaacctagagcca +ttatttgtcggtaacccatgagttccttcttttcagaagttaatacactgtggtcctata +cagaggaaaaacagcggttatatacgatcgtggcataacaacattggatcaagatagcaa +tttggctacctattctaattctcactagattcggtattccactacaatatcggcagatta +ggattggatgaataatcggtgtttaagtccggttgcgtctccaatctcctaatttttatt +aatattgatcttggtgacctattgtaaataaaaacttcaagactttgaataacggtgaaa +agatagaagactcatttgaaaatggatcatccacagatccaaacattagcaagacactaa +tccccaactagctattctgatcgcgatcgtgctgcagtactcctgtcacaatagtctgtt +catgatctaattctttttgggctttgttcgatggtgattcagaatctttatccggtcgct +tccctgtagctactttgtggggatattgcccggggattatagggttgagatcgtttccta +aaagtatttaaaccaagtagacttcaactaaactacatcagaacatcgtgaagacaccat +acgcggtacctttatttaccgataacatttcttcaagaaataccggtaagcagcataatg +accctaaacagctcggggtatcgtcgtagttttaaattttatttaggttactgctcaagg +aataaaaactaactatttaatttataataatattacaaggctcacactgattagatttgt +ctataagacttcgcgatcccccattaccggattgtcttaagaataaactagataaaccat +gcattttctagataaggcctttagtctaattagatacaaaaaacacgatagttgcatcct +taatttattgtgtcaaacctggaaccttttaattacccgcaaatcactttatgtcgagac +tacctctgaaatttattatctacctaccgcatgaggacttgaaccatcttgtaggagtta +tgtttattagctaagattcgtttatcctgtagcggtccatgtatattcaacaagcaaaaa +gcactcagaattgtttttagttgagtcaagactgatatataaataagtttccctagtttt +ttcgtggtgggacgatattgaattgaatcttaaccgaagagtttcccactctgtcgcaca +ataatacacgccaatatttccagccctgcttatgccttaatcggttactcaatctcccat +tgaagttcattttgatctgcatagaagtttcgggcccagccttttttctgccaccttcct +ccaagctctgtagacgcactctaagattgatgctcacatgtattaattctacattaacat +aaatatataagtcatgcatcttcgagtaaaatatctggttctccaacatgtcctggcacg +tatcgttataatgcccatacatgtagtattaaaatgattgggttaactggatattaagat +catcgaaattgtaaagtcaaattaacaatactgtctcaagaccgtgtattcctcgtgctc +ggaagggctattacgcttacttccgttttggtatcttaatatgactttcaaaaattaagt +tgcagtgagtcctacctgcgtgcatcggttagcaagagtataaaagttgtttaaacgaac +tacttgctttacaataccggtcgtatatatcgccgtgaatccagaagattgtcttctttg +gattatcaaccgagatcctgtggaccgatgttttgggaccttcacagaggactccaggta +gagctcgcttttgcattaatctaagaattgtacctctctaaaagatctaaaacagtgaat +gtgtatttcatggaaaaacacagagaaacgtaaattactttaggccgaaaggcacatgag +ttattatacatatacgagatggtggtatacatcgaattcggggcatacactatagttgca +ttgtatttagctgctttaaataatatgatattaccttccttacataagacattaccggca +taccctggttttcaacttgtggggctttttgacgatcgcactctcatttgatccgagtag +ggcggtgacccctgcttttcaaatacaaaaatttcgctatgaaggtaatagattactttt +cgctgttatgatagaaacggtaaatttaaaattgaaacttctagaaaagtaaagtaacga +gaaatgattttgtgaataatgcggtcatgattgcgcaagtaagaaaaaaaggcaaaagga +tgcgcggaatagaaacttatcagtcacgggtatcttgatttcattcttcttgtcaattgc +cgacataggatgaaatcagattccaatgcaatacacagtaacccccacccttgattgtaa +tgtcgatttgaagttgtacgcgtcgacgaagtggatagtatacgggccttttgtacggtg +cgatcaactatgaatctcggcgagttagatggtcgtacaatctcacacatagaggtcact +tgcctgtaatgacgaattttcggctaggtactcgaactttattagaagtaaaaatgtggg +caaaagaaggattccattttacaagacgattacaatgagttacatgtctctcaacgtagt +ctttccctagtagtctttgaactatttaggtactccagaaaattttagcaaagggtttct +gtgtgaatccgccattcatgtttatgatggaacaataagaataacgccctcgtatgttat +cgacagtgaagtcagcagttcggccaaaaacatattcaatttagtacagatccccagaag +ttaagctaagtgctctaaaatggcctaaacggttatcaaagtaggtctaattactatact +aacgggtgcatcgtaataactgctgtcgatgcaacactatatgatagtgtcgttttgcta +tatatgtacaatgtgacaaagaagccttagcgattcttgcaaacttaggacttcggattc +tcaatcttaaatgtccgaaaacgcaaagattcaaaaatttaatctatgagcagatatgcc +tgatggtgactacgcgtatgttaaggctaaatgttgacaaccgcacacataatcgaacta +ttgatagtcgggagcataaccaggtgaacgtactttgttcacgacatttattgacatgtt +ctaaatacgtctcaaaatcacggcgcactagaaaacgcaatcaaatcattgtcctggttt +aagggccgtaatgccggtagtgtcaaacttcatgagaactttagctggcttttggccagt +atttagggaccaagagcactagccttaagctgaatattttgccatttatctactgttata +actttaaaacttggtggcaccagacttgtcgatacacacgcatcaatctgtaacgtaaaa +ggtttactaagaacaagcgtaggaattgagtttatattatatttaaactaaaagatgata +ttagcttctgagggcgatagggctccaaatcataaagaggaatatattattacacgatta +gaaacccacaacatacctcgaatcgcccaaaagtttgacgaaacttggcagtactccaca +tctcagtaatacagttgggagagtctcaaatgttgttttattactcaatgaaccaccctc +ataatttcactgctgttccattaaatttgcaaacgatcatttgctttgaagaaacgtaaa +atcgacaaaattacagataagtagatgcataataaaaaaaactgctcgctataacacgat +catcgtgcattcttacttaggagcatcacccgcacaataacgtaccttaaactacaacac +tattagaccgagtactgtaattcacgaaagctcaagctcgcattgtaaagaacttgctct +ctcgtaaaatgtgataatagtttgcggagaggattcaattattttccattgcacctactc +cactagattcgataaaagaaggtggtcctcccttaaaaagaaatgttaagtaacatcgga +accataagcaaagcatgtaagtgaaccgtcatccttccctaagaaacataaaggttttta +ataatgtcgactgtgaactataactgcatcctttcctgacctactccggttccttgttgt +tatttctgaacgagaccagtagataaacaatgtaaaccacagtgggtaccaatggtgcat +gtgacgctaccgttgttttaagtgcccgtacaaacataagaagtcataatcttacttgaa +attaattttgccttttattttttttcaggctcgaaattaatgatttgttttttttgacct +tctagttacgctaatatgcggtcgcctgtggtttctattgagtcctataacgggatggga +tctaatacgtttggttactagtaaacaaggtataaatttgataccggagtatcaactgta +taacatcaagctttatgactcatacgcgaagtaatgacacaaggctttcaggagatcgcg +agtacagagccactaaggggtgtattacgatagtgacaccaccgagcgcactcactcccc +aagtagatttatgatcctacgctaagtattagatatataaccaaagaggttctagtcagt +gcaactcttagaataataattagccggttttgcctttttaggcctaatgcaatattcagc +tagcccttatgtatctcgcgttccacagcaccactcatggcacgcgtttaaactaatcaa +atataatctatgaatgttatgccagtacttgaataaatcaggttttttataagtccttgc +atactctcgttatatactgttagagtcttaccccatagaaattctttcatctgcaaactt +agaagaattctcagctacggggagcataaagtccccaggatgttgacaaatacaacaaat +gtggcttatacaaacactccatatgaaaatcgaaccctcgtggtagttttagccgaacct +tgtacggataaatccctccattttccaatagcagatacctatcctactacctcgtggtat +taaattaaagcttgaaatatagagctgcatagcttatccaattcccaagcacgagtctac +cgtcgtaaccacgatttgatttacagacgctagagcaaacccatctttaaacatataagt +aaaaattaaagggtgagtgcgtacgtgtttactagcaacttcgcttattaagacaattgt +ttataagccataattaaaaacatatgttcaacaggttcattgatatttgtaattgcacag +gtttttaataaggatctacgtaagtataatgaacaaactttttaccagagttatattctg +tactttgaaaatgctcctctaccgccttagagactttcaattagattttttgcagttaat +ctatgcgtaagtgaaccatgcaagggatgcgattcaaccgcctcgtgctaaccctatcgt +ctgtctcataactgtaggtctaatataattttcagttttcgaacacataaccctttgaaa +atctgctatttaatgtctcacctgcatgcactatcttctatactgctcagaacggctata +cgtcactatgctccaagtgacgatttaaacgaagcaaggaataataggtttattttagtg +caaaacaattaagtgcggactacgtgctctttacaataagccttgtgattgggctatagg +ttaagtcccatattaacgatctccaatgtacaaaatcgacaatcgctttgcattacccgg +ttactagtcgaattacagatagctgttagatactcactctaattttggacaacaatccca +atcttggggtcgtctatcgcctgaagctcgtaaatccttccatcttaaacgattacatat +tatagacttgttcggggtagagatatcacagttgtgcaaacattgtaaatcgatactagt +ttatgttggtagtctagttgcttttaccattccccgaaaaacttgatctactatttcgac +aacagtaaacttgaactaggtaagtgaaaacagagaatgcctcatagtgccactatttgt +ccactatatgtaagtgtagctttacataatccactatgactgagatcattacggcctagg +aaagcagcgtagaaaaaaagggcccggatattacgactgtaactataaaactagttactg +gtagcgcgccatgtatagatttgttttaccggttgtggttgcgttaacgaatttcagccg +cgaaaattgatccgttaaccagtccatctcgacttctataaaacgataaagtaaagttga +tgttcagcctccttcttatggttgcatcgagagtacactactcagtgggaaatagatcgg +ggttcctacttcagattgtattatctaggcaattgccgattgtgccatacctggataaaa +taagctacctacatgtgatgcttatctattatcgtcatactaccttagggtgtcctgttg +aacgctacattaatctttagccgtttgagatgttccaatggataggagtctaacgcatga +tgaagtttaggaaggcagagcatcccactaagtatgtgacagtgtatttcgaaacgagac +gttataaatagaaaaaaggtccttctggttctattctgctgaactattgaatggaaagat +tggttgacctacgtactatttgcttgaagtcatcaatttgacggggtgagagacatatgg +tgcatactttacggactctatattttagatcagaagcttagcagtcttctctacaccccc +tcacgacataattgcttttaagaatctatgtttgattcctctacgggaattcggatccgt +tcgcatgtgcggtttatctaaaccaggggacatatgttcagctaaagcatacgaacactt +tgctaactagacgtatgtatagtagctataaatcccgacgatatttacaaaaagaaatga +gactcaaatatatacatagcgaccctacacttattcgcaccctgatctaggcgatcctag +cacccacacccgaaagtgagcactagtgtcttccgtattaaatttactgcagttgagatt +ttagttgtctactaaggattactctaacccgtaataaggatcaagactcggtactagctt +tactatcattccctatgtgttttcctaactcacaagggtacgtaccagcctatgtaatta +caataatgataaagacacaaaggaagtaactttacaaatgagtctccagttacactagct +tagtccctcccatcttgctttgaagtctaaatacgcaatctctgaggatatacagcagaa +gaacactcataacgttggagtccaagaattagactcatagggcccccaacatttaatatg +tactgtgagtttgaaggtgttctattgttaattcctgctcttgatacatgacacgtactc +cgtgtttaaggcttcggactgactttctttcataagttgagcaacgaaaatttcagaatc +gataagttggattcactaactaatacggctgattgaaaactccactccggacctatatgg +tcgacctttatacgtaaccgatataaaacttataggctggtatatcgagccttcctagcg +caatttcggatggggtttcttctactactcaacaacggaatagtctttgtttagtaaacc +agagctcaggacgcccaatacgtaggagagcgctgtggagcatgtgtcattatggactgg +agcactcttaaatcactctgcgtgtgctaaacgatagatcataacatgtcctgagtaaat +tttcttgatacgtcgcaatataccgttattagttaaacgttctcatccgtcatgcgtgaa +atacggctgtcgtgctcagatatactattagcgactcatctcgcctaacacgcacacgta +taaactcggaatgactgccgctcttacatattagaaatacagactacaccacggaagcat +tgggtcattctcaaccgctgtataaaagatgattagtcttataataagattaccaaagag +gcagaatcatgggtagtaaatctattattcaagtgattaccgtcgtgtaggcagggagtg +aggacgagatggtactcaggacaaatattaaccggacgaagtggtttacgtcgtactttc +actattagtagtaaatacaaggtaacaccggggaatagtactaaatataatgatatctat +cttcgggagaacgagtcgtctattgctttgaacattctcaaggcgtaaaatgtgctgact +tatagcatgatacaaccgattgttacttttgtctattcaaaagattgaatagttttttat +acaaaagccgcatacttatgacggctagtatacagtttcatcccctagcatcaatgctat +ggacagtattgaacttataggaaattcttctaatagggcaaatccgtcgtgatgcctatt +ttttttcagtcacatcctcaaatggcactagtattgtcgggatcccattaacaggctcaa +ccacgagctcacgcgaggacatgtagtccgtatctttaacgaagcgacagcgacagaact +cccatggataaccaattataaggcccgtaatcctctagacatcgtttaccaataaatccg +ctttctccgtaatcatgttgaataccccagagtagtccagatgataaccgatgaaacaca +agtctttctcaatgcacttacggtgaacttattaccgccaacgtagctcatcaaggttgc +gacatctagttgtgtgtttgcgacgagcccagcgaacttcatcaactttcgtatattcaa +cgccttgtaattttactttaagacgcctggtgatgtagattcttagataatcagtttgtt +atcggctgtactttaccataatttcacaggtttcaggtcaagaagattatagctgtatat +acagttccatgctcggtgcacagaaacgtgatcggataataatcaatcgcttatgtcgtc +tttaggcgtatccaatacatgccccgataccgcagtgtatttcgacatgtaggtataccg +tcgcatttgagctcgagtcaggacgtcagctagattagattccttaatagaatataccga +cctctagtccgaactaaactatagataacgccaacttcaggttaattgtctagtcgtctg +tttgcagatgggattcttagatgagtgagtatcggccatattggttcgagcactttagtt +tttgatgcataggatatgcaatgtatagctgaaagtactttatctgtttcaaactcacat +tgattaaaccggtaaacctttaaagactacaagaaaatattcagtgagggcaattttgtc +aatcacaatcttccagctagagatacttcacaatttgtcttgaggctacgcaacattaga +cggattttcgcgttttattgaaataatcgaggggcccaagagtatccatagttcattttg +taagatttctttacaggcttattacagcttcttcagactcctacatgcttacgagttata +tgctagcatgtgaacaatagattaatatacaggaaaacgtacattgagagagatgaccct +acacagcgcaaccgttgagtactttcattaaagggtaacgctctcgagacagcatcctta +agatggccttattgtcaaatcatttgcagaagtacgcaagatccctaaccaacgtagaag +aatccctacaaacacatgagacgcggtgaaaatagacagggtgttagtattcaatcttcg +gagtatcaatttcgccaatcttggtgagaaagcataccctttcttcagagaaagaagatc +aatcataacactatctttaacgaggtacgcacgcgcatcattacctgcctccatggatct +ttaggatagcggaaagtattggcagcgtattgtgatttcgttcctactttatcaatttca +cattcatatacatgtcttttatcaaaatcgccaataagataggatgagctatattagatg +ctagtagagttcgcgccaacatcatcgataggaatactcaggacagcgtgataggacttt +tcaatccctaatactctctataattataactctctcttaagtttggaggcagtaacgcgc +tctatataatcagtttgctgcaccattcttcagcctctgatacatacaaataaattccac +agcagtaagagggtttaattgagacatcttgggaacttaggattttactctaacatcacc +gaaacgattattggataccgtacctaaacgaactttctcaaggcagtaatataggacatc +cgcaataacacaaatgctgcctccccaggagttatgtcttcctggaggctatatcttaca +cccactcactataggcaaactaaagtttaaatgttgattgtctaaaaaaaagatagataa +gagttggccggcgtagcacatgcgaaagtgaatcgtaagctataattctctggacttgaa +gttctgtcctgttcctctgcaagaaacaaacttcctttaaagctatttacgacgcacatc +tcagcaagttataaacatgttggaagtttctagtcggaattcccaaagaacggatctatc +taatgcattcctacatttttcctgtctgccgatggtgccatcctattcaaagaatttctt +aaaagtagattaaatgggacttttaacaatgagtaaccttacgcctctaagggttcctcg +agtgccatacaccagtcaggtccgagccacatacacggagaacattctaacatagcattc +tcaactcgatcatttgcaggttacttctttcctatcctagtgctaaaaatcatacttgca +atcccatagcacggattaagaacctaagaaacaattcagtaaaacatgttcgaattcttg +gtatgggaacatcattgcagctatggtctaacgcattaatgtttgggtacatcttccatc +atataaacaggaagagtctgacgacagggagtgcttgcgatcatgtctatcattgtgaaa +tcaaattgtagctcacatgtcgtctatgagagcgtgtatccgataagatttagaaaaata +gaagtcgtataagatctcactgaacttttgaatgaatgtgaagcatatatgatctgcttt +aataaaactttatccataggatacgtttccaaatcaattcaataattattagtcaaaata +gataaggatgaacaacctgaaggccgatcggacgtagaaagtggtcccatcactttgagt +tgatattgttgaaccacacgttattatggttttcaaacagtctcaggatattgtatatac +agataatccgataccagttgtctgacgcccctcttacgtaccccaccctttgtgacgttt +aaagcagttgttcagtattttaaactaggcggcaactaatttggaaagaagcacagtgga +tatgtctaaattcttgttattcaggcctgaatttaatacaccgcatagttaacttcgcgg +tagagttgttcatcatgcctcctctaagctaccacttctatgatacaccaatagttgttc +tacggaatctgataattggccaagtcataaacttccgctgcgttcaacccccttgctcga +atatccaactcgaaaagacagccttttggtgtccggaacaaatcagttacttcttttctg +atgttaattctctgtggtcagatacagaccaaaaactccgcggatttaccatcctccaag +aacaaatttgcatcaacatagcattttggctacatattctaagtctcaatagtttaggtt +ttcaactacattatcccaacattaggattggaggaataatagctgggtaagtccccttgc +gtctacaatcgactattttttatgaatatgcttctgccgcacctatggttattaaaaaag +tcatgactttgaagaaccctgaaaagatagatgaatcaggtgtaatggcagcagccaaag +agcatataattagcaacactctaagaacattatagatatgatgatagcgatcgtcatgat +gttatccggtcacaatagtagcttcatcagctaattcgttttgccagtggtgacttgcgc +tggaagaatcgttatacggtcccttccctcttgatacggtgggggcttattcaaccgcgt +ggattgggttgtcatacttgcattaaacgatgtaaaccatctagtagtcaactatactaa +atcacaaaatagtgatcaatacatacccgcttcatggttttaaccatttaattgattaaa +gatattccgctaagaaccattatctacctaaactgatcgccgtatcctagtagtttgaaa +tttgatgtaccgtaatgatcaacgaagtaaaacgttatattgtatgtagaataataggtc +ttggagctaaatgatgtgattggtagtgaagacttacccttacaactttaccggtttctc +ggaagaatatactagagaatcaatgcatgggctacataagcactttagtctaatgagata +aaaaatacacgagtcttccatcatgaattttttgtcgaaaaactcgaacctggtaattta +aaccatatatctttatgtcgtcaataactctcatatgttttatataacttcccaatcacg +acttgtaactgcttgttcgactgagctgtttgagctatgaggccgggatccggttgagct +acatctatttgctacaagaaaaatgaaagcacatttgttgggagttctggctacactcat +agagaaataagtggcccgagtgggtgcggcctgcctccatattcaagtgtatcttaaacc +aagtggttccaacgctcgcgctaaagaattaaagcctttatttcctccacggagtagccc +gtaatccggttcgaaagagaccattgaagttaattttcatatccagtgaagtttaggcac +aagcatgtgttctgccacatgcctcaaagcgctcttcaaccaagatatgattcatcctaa +cttcgatgaatgcgtctgtaacataaatatagaaggaatgattcggcgagttaattttcg +ccttctccaacatggcatccctacgttcgttataaggaccatacatgtaggttttaaagg +tttgcggttaatcgatatttacatcatagaaattctatagtcaaatttacaagactctag +atactcactcgttgcagccggctaggaagcgctttgtaccttacttcccttttcgttgcg +taatatgaatttcatatagtaagttcaaggcactcatacctccgtgaagagggtagatag +actattaaagttgtttaatagtacgtattgatggaaatgacccgtaggagatttaccact +caatccacaagattcgctgctgtgcattatcaaaacagtgcatgtcgaaacatgggttgg +gtccttcaaacacgaatccaggtagagatacctttgcaatttttcgatgaaggcgaccga +gataaatgagctataacactgtatgtcttttgattgctataaaacacagaaacggatatt +aatttaggccgtaaccaacatctgttatttgacatagaacagatggtcctttacagcgta +ttccggccttaatattgaggtccagtgtattgtcctcctttaaagaagttgattgtaact +gacttaaataagacatgtcacccattcactgggttgcaactgctggccctttttgtccat +cgcacgctaatgtgataacagtaccgccctcacacctgcgtttaaaagacataaatgtcg +ctatgaaggttattcattaattttagctgttttcttagaaaaggtaaatttaaaattgaa +aaggctagaaaactaaagttacgacaaatgtgtttgtcaagtaggcgggcatcattgaga +ttgtaagaaataaagccataaccagccccggaatagaaaatgttaaggaaaggcgatctt +ctttgaattcttattgtcaagtgcagtcatacgttcttatcagaggacattgcaataaaa +tctaacaccctcccttgtgtggttgggccatttgtacttcgaagcgtccaccatgtgcag +aggataacggaatgtggttccgtcccataaacgatcattctcgcccacttagtggcgcgg +taaatcgctctcatagaggtaactggcctgtaatgtccaatgttaggctaccttctccaa +ctttagtacaacgaataatgtccgattaacaaggagtcaatttgtcatgaccagttcatt +caggtacttgtatctatacggacgcgttccagagtagtatttgaaattttgaggttctac +tgataagtttagctatcgctgtatgtctgaataagaatttaatgtttatcttcgataaat +aacaattaacaactcctaggtgatacactgtgaagtctgctgttccccaaattacatatg +ctattttgttcacataccatgaagttaagctaagtgctctataatggcataaacggttat +caaactagctcgaatttcttttattacgccggaagcggattaactgctgtagatcaaaca +cgttaggatagtgtcgttttcatatatatctaaattcggtctaacatgcattacccatgc +ttgataacgtagcacttcgcagtctaattatgtaatgtccgtttaaccaaactttaaaaa +agtttatctatcaccagtgatgcctcatcgtgactacccggatctttagcctttagggtc +taaacagaactaatattactacgtgtcatactccggagcttaaccaggtgaaacttattt +gttaaccaaatttagtgacagggtagaaatacgtatcaaattaacccagcaatacaataa +gcatgaaaataattgtaatcgggtttgggccggaatcccgcttggcgaaaacttaatgac +atagtgtgatgcattttgcactggattgagccacaaactcaactagcattatgctcaata +tttggccagtgttctacggtttgaaatttataaaggccgcgcaaaagtcttgtagttaca +aacgcataaatctcgaacgtaataggtttaattagaacatccgtaggatttctgtttata +gtagatttatactaaatgttctgattagattctgacggccttacccatacaattaataaa +gacgaatatattagttatagtttactatccaaataaattaagcgaatcgaaataaactgt +cacgatactgggcagttatcaacttatcacttatacagttcggacactctatattggtct +gtgagtactctatcaaactaactcataagttaactgcgcttccattaaatttcaatacgt +tcttgtgctgtgtacaaacctataatcgaataaatgacacatatggagatgcataataaa +aaaaacggctccatatttctcgttaatcgggcattcttaaggaggagcatctcaccaaaa +ataacgttcctgataagtcttaactattagaccgtcttcgggaatgaacgaaacctcaag +ctagcatggtatagttcttgatagcgcgtaaattctgataatactgggcggacagctgga +aattagttgccagtgcacctacgcaaatagtttacataaatcaacgggctccgaacgtaa +atacaaagggttagttacatcgcaacaagatgaaaagcatgtatgtctaccgtcatccgt +ccctaacaaacataaaggtggtgaagaatctcgtaggtcaactataactccatccttgaa +gcaactactccgcgtccgtgtgcgtagttcgcaacgagaacactactgaaaaaagctaaa +caactctcggtacaaatgcggcttgtgtcgataaagttggtggtagtgcacggaataaca +taacaaggaatattatttattcaaattttttgtgactgttatttgttttctgcctagaat +gtaaggatgtgttttttgtgacctgatagttacgcttatttcaggtccacggtgcgtgag +agtgtgtcctataacggcaggggagcgaagtagtgtcctttagactattcaaggtagaat +tttgataacgctctataaaaggtagaaaatcatgattgagcaataagaccccaacttatc +aaaaaaggagttctcgacagcgcgtgtacagtccctataacggctgtatttcctgtgtca +caacaccctcccatcgcactcaaaatgtagatttatgatcagacgctaacttgttcttag +agaaaaatacacgggatactctgtgcaacgatttcattaataaggtgcagcttgggactt +ttttggccgtaggctttattaacattcacagtaggtagcgagacttcctatgaaccaatc +atgccacgcgttttaacgtttcaaatataagctaggaagcgtttgccaggacttctataa +tgcaccgttttttttagtacttccttactagccttagtttatgttagagtctttccaatt +acaaaggattgaatagccaaaatttctacaattctcagcgaacgccagcttaatctaaac +acgagcttcaaatattctacatatcggcaggagtcaatatataaatatgaaaatcgtacc +atcctcgtacttttagaccaaacgtcttcggataattaaatcctttttcaattaccacag +tacgtgcattagaactactgctatgaaagtaaaccttgaaatatagtcctcaagagcgta +tccaagtacattgcacgtgtatacagtcgtataaacgagttgatgttctgacgctagagc +ttaccattcgttaaacagataactaaaatttaatggctgagtgacttagtgttttcgaca +aacgtcgcggatgtagactattgtttataagcaatttttaaaaacatatgttcaaaacgg +tatgggatatgtcgaattccacaggggtttatgtaccatagaagtatgtataaggtacta +aaggtttaaatctgtgatattcggttcggtgaaaatcagactagtcacacttagtgtctg +taaattagattgggtgaaggtaagcgatcccgaactctacaaggcatgggatgagattct +accgactccggataacactttacgatcgcgcataactctagctcttagataagtttaact +tgtcgatctcataaacagttcaaaatctgcgatttattgtatcaaatccatcctctatct +tctataatcatctgaaccgcgatacggcactatgagccaagtgaagattgaatccaagaa +agctataattggtttattttagtccatttaaattaagtccggtataagtgctctgtacaa +tatgcagtctcatgggcatatacgttaactaccttttgatacttcgaattggtaaaatat +cgactatcgatttgcagtaaaaggtgtagagtccaattactctttcctgttacatacgat +ctcttagtttggacaactagcccatgatggcgctcctctagcgcatgaacctactttata +attacatctttatcgatgaatttttttagactgcggaggccttgagttttaacagggctg +ctaaatttcttaagcgattagacggtagcgtcgtacgctacttgcttggaacaggcaccg +aaaatattgatctactattgcgtcaactctattctgctaatagcgatggcaaatcacaga +agccctcttagtgacaatagttgtcaactatatctaagtcgacctttactgtatcaacga +tcacggagagaattaccgaatacgaaacctcaggactaaaaaacggaaaggatttgtcga +cggtaaatataatacttgttaagggtagcgacacaggtatactttgggtgtaaacgtggt +gcttcccggaacgattttcagaccagaaaattgttccggtaaccaggaaatctcgtctgc +gttaattcgtgttagtaaacttgatcttcagactccttcttttcgttgcagcgagactta +aattatatctgcgaaatagtgccccgtgcatacttcagatggtaggagataccatttggc +ccattgtgactttacgcgattaattaaccgacatacatctgttcctgagctatgatcgtc +tgaataaattacggtctcctcttgatacctaatggtttctggagacgtttctcatgttca +aatggatagcaggagatcgcttcatcaagtttagctacgcagagcatcaaaatatgtatg +ggaaagtcgatttccaaaccagaagggataaagagaaataacggacttctccgtagatta +gcctgatattttgatgggaatcatggcggcacatacgtaagagttgcgtgaacgaatatt +ttggacggcgggagacacatatcggccattcgttaaggtctctatattggacatcacaag +cttagcagtatgagctactaacactcaagacattattgattttttcaagatatgtttcat +tcctctaccgctattcccatacgttcgattcgccgggtgagcgaaaccacgggactgagg +ttaagctaatcaataacaactcgttgcgatagagacctatgtatactagagagaattccc +caacatttttacaaaaacaaagcagactaaaatagatacagtccctccatacaattagga +ccaacatgttattgccgatcctagcacacacaccacaaactcagaacttctgtcttacct +atgaaagggtctgcacttctgattgtacgtgtctaattagcattaatattaaaactaatt +aggataaactataggtacgagctttactataagtcactaggtgttttccgatcgaaaaac +gggaccttcaagccttggtaagtacatttaggataaagaaaaaaaggaaggtacgtgact +aatctgtctaaactgacaatagagtagtacctacatgcttcatgtcaagtcttaatacgc +aagcgctctcgttatactgctcaacaaaactcataaagttggactccatcatttagaatc +atagggaccaaaacatttatttgctactgtcactttgtaggtgttctattctgaattcct +catattgatacatgaatcggaatacctgtggatcccttaggacgcacgtgctttctttac +gtcagaatacatattgtcagaatcgagaagttccatgcaattaagaattcgcctctttga +aaactcatatccccacatatagggtccaccgttattcggaaacgatataataattattcc +agcgttgagcgtcccttaagagcgcattttcgcttggcctttcttctacgactctacaac +gcaagtggctgtgtggagtttaccacagcgcagcaccccatagaactacctctgagagcg +cgagatggtggcagtatgctctgcagctagcgtttagaacgcgcccgcgcattaaccagt +catattaaaatggactgtcttaattgtcggcattaggagcaatattaactgatgagggta +tcggtcgcagaagtaatgacggaaatacgcctctagtccgcagagatacgattacagact +cagatcccctaacaagcaaaacgattaaatcggaatcactccccctatgacatatttgaa +atacacaagaaaccacgcaacatgtcccgcattctcaaccgcgctttataagatgttgag +tctgagaattagatgacctaactgcaagaatcatggcgagtttatctagtaggcaagtct +gtaccctagggttcgaacgctgtgacgtcgtgatcggtctaaggacttagatgataacca +agaactggtttaccgagtactttcactattaggagtaattacatgcgttcaccgcggaat +acgacgaaattttttcatatctttatgagcgagatcgtgtcgtctttgcattgcaacagt +cgctaccagtaattgctgatcaattatagattcattatacagatgcttacttttctctat +tcaatactgtcatgagttgtttttaaataagcaccagaattatgtcgcctagtataatct +tgcttccacttgaatcaatgcgatggacagtattctactgattgcaaagtagtctatttc +ggcttagcagtacgcatgcctatttttttgcaggcacagaataatatgcaactaggattc +tcggcatccaattaacaggctaaaacaccaccgaaagacaggtaatctacgaagttgatg +tttactacagaaagcgaatgatatcacttggagaacattttagatgcccccttttaatct +agactgagtgtaccaatatatcaccggtctaccgaatcagcttgaataaaccactctagt +actcatgataaccgagcatacacatgtatttctcaatgcactgaaggtgaactgtttaca +ccataccttgcgaatcaacgtggcgacttatacttctgtctttgagtacagcacacccta +atgaatctaagttagttgttgatacgaattgtaatttgactggatctcgcctcctcatct +agattcttagagaagatgtttcttatagccggtactgtaactttattgatctggtttatg +gtaatcaacattttacctctatttaaacgtccttgcgccgtgcactcaatcctgatcggt +ttagattcaagcgattatcgagtctggaggccgagaaaagaaatgcacagagtaagctct +ctattgcgacatctacgtagaaactcgcatttcagatcgagtaagcaactctcattgtgt +tgattcagtaatacaagattacctacgcttctacgaaatatactatagatttagcctacg +tcacctttagtgtcgagtcggagctttgaagatcggatgcggtgtggactgtgtataggc +aattttgctgcgagctcgtgacttttggttgatgtcgatatcaatgggatacctcaaacg +tctttatctctggataactcacattgagtataccggtaaaaatttattctattcatctaa +atagtcagtgagggctagggtcgcaatcacattaggccacatacacatacttaacatgtt +ctattgacccgacccaactttagtagcattgtagccgtttatgcaaatatgccaggcgcc +aaacactagccagagggcattttgttacatttatttaatcgattattacacagtcggaac +acgcctacatgcgttcgacttatttgcgacatggtcaacaattcagtaatttaatccaaa +acctaaagtcagagacatgacactaaaatcacattaaggtcagttagtgaaggaatggct +aaccagctagagaatgcatcattaacaggcacttattgtcaaatattttccagatctaag +caacatcacgttaaaaagtacaacaatcacttaaaacacatcagtccaggtgtaattaga +aagccgcttagtaggcaagcgtaggagtataaatgtagacaatagtcgggacttagcaga +cactggatgcagtcatagaagatcttgcataacacgttagggttagagctacgaacgccc +atcattaactgcctaaagcgtgcgtgagcttagcgctaacttttccaacacgtttgtgat +ttcgttcataatgtatcaatttcacagtcatatacagggagtgtagaaaaatcgcaatta +acatacgttgacctatttttgttcagagttcagttagagcctaatgattcgagagcaata +atcaggacagcctcataggaagtgtcaatcacttagaagctatattattataaatcgctc +tttactgtcgtcgaaggaacgagcgagagagaatcagttgcctgcaactggcttaacaat +atgatacataaaaatattttcatcaccactaagacggtggaattcagacttattggcaac +ttaggatgggactattaaataacccataagatgttgggataaagttacgaaacgaaaggg +atatagcctgttagataggaaatccccaataaaacatagccggcctccacagcagtgatc +tattccgccacgcgatatctttataccacgcaatataccaataataaaggttaaatgtgg +ttgcgatttaaaaaagatacatatcagttgcaccgcgtagcaaatccgtatgtgaagcgt +aacctagaattatagcgtctgcaagttctctaagcttcctctgcaagatacaatatgact +ttttagcttttttactaccaaatctcagaatcttagaaacaggttggtacgtgctactcg +gaattcccaaagtaccctgctatatatgccattccttcattggtccgggctcaccatggg +gccatcatagtaatagaaggtagtaaaactagttgatttccgacttttaacaatcactat +cctgacccagatatgggttccgactggcccttactccagtaagggcagacacacagacaa +cgagaacttgataactttgaattctcaaatcgatcattgcaacgtgacttatttactagc +ctactcctataattcatacgtcaaatacatttcaacggaggaagataataagtaaatatt +cactaaataatggtcgaaggagtcctttgccaacataagtccacatatgcgctatagatt +ttttcttggggttcatattcaataagataaacagcaagagtatcacgtcagcgagtcatt +gagatcttggctagcattgtgatagcatattctacctaaatggtagtctagcacagagtg +gataagatatcagttagatatagacaagtactataacagatctcgcttcgttggattgta +tggctagctttgatgatatgattttataaaaattgatccagacctgacctggccaattat +attcattttttatgagtaaaaatagataaccatgaaaatactcaagccccttaggacgta +caaagtggtaacataaatttcaggtgttattctgcaaccacacctgttttgggttttcaa +aaaggctaagcagattggttttacagataatccctgaacactggtatctcccaacgatgt +cgttcccaacccttgctgaccttttaagctctgctgaagttttgtaaactaggcggaaaa +tatgttcgatagatccactcgcctgaggtagaaattcgtcttagtaacgcctctttggat +tacacagaatagtgtactgacacgtacactgctgcagcagccatacgctaacattaaaat +tcgttgagtctacatttgttgttattcggattatgttattgggaatagtatttttattcc +cctgcgtgaaaccacatggatagattagcctactcctaaagactcccttttggtctacgg +ttcaattctcttactgagtttatgttcgtaattatatcggcgcagtgaatctcctaatta +tcaccggagttaccagacgccatgaacttatggccagaaacattgcatgtggcctacata +ggattagtatcaagagtttacgtttgcaacgacatttgaccaacttgaccattcctgctt +gtagaccgcgggaactcccctgcacgcgactatagaagttggtggtggatgtggcttatg +ccgcaaatatggttttgaaaaaagtaatctattgcttgatacctgaattgagacatgtat +aagggctattgccagatgaaaaactgcatataaggtcaaacaatataagaacattataca +taggatcttagcgttcctcaggatggtatacgctataaagtctagcttcagcagctaagg +agttttgccagtgcggacttccgctggaagattaggtttaaccgccctgacatcttcata +aggtcgggcctgattcaaacccctggagtgccgtctcatacttgaattaatcgatggaaa +acttcttctagtctaatattattattaacaaatgacggttcaataaataacaccgtaagg +gtgggaaactgttaagtgatgaatcattttaacctatcatccattagctacagataatga +taccccgatccgactagggggtaagtggttgttccgttaggataaaccatgtaaaacgtt +agagggtttgtagattaattggtattccagataaatgaggtcagggcgagtgatcaatta +cactgaaaaattgtcagcttgcgcggtagttgttaagacagtataaatgaaggggattca +gaagcaagtttctcgattgactgaatttataaaccagtcgtcaatcatgatttttgtgtc +gattaaagcctaaatggtaatttaaaccattgatatttatcgagtctataaatatctttg +gttgtatattacttcacaatcaccaattctaaatgattcttccactgtgcgggtggagat +atcaggacgggttaaggttgacctacatcgttttgatacaacaaaaatcaaagcacatgg +ctggggacttctcgatactatctttgagatagtacgggcaagagtgggtgacgcctccct +acattttcaagtctatcggataacttctcggtaaaacgctcgcgatatagttttaaagca +ttgatttaatccacgcaggagcaagttttaccggtcgaatgagaaaattcaacgtaagtg +tcatatccagtcatggttagccaaaagcatgggttatccaaaaggaataaaacagctctt +caacaaagagatgaggcttcataacttcgatgaatgcgtatggttctgatatatagatcg +atgcatgaggacactttattttagccggcgaattaatggaatccatacgttacttatttg +gacatgacttctaggtgtttttgctgtcccgtttagcgatatttacagattagtatttcg +tttctcatagttaattgtatctagatactaactcgttgaagacgcataccttgccatttg +tacaggacttaactgttccgtgcgtaatttgaatttcttataggttcttcaaggcacgaa +tacctcactcatgaccgttcatactctagttaaggtcgggaatactacgtatgcagggaa +ttgtaacctaggagatttacaactctttaaacaagagtcgctgaggtccaggatcaaaac +actgaatctcctaacttcgggtgcctccgtaaatcacctagaaacctactcatacatttg +caattttgagatgtaggcgaaagagagaaatctgctttttaacggtatctcttgggattc +cttttaaaaacacataacgatagtaatgtaccaagtaaccaaaagctgggatgtgtctgt +gtactgatccgccgtgtcagagtagtccgccatgaatattgacgtcaaggctagtgtcat +caggtattgatgttcattgtaaatgaaggaatgaactaatgtcaccaagtaaagggggtg +aaaatgctccccagggttctacagacatagagatggtcagaacacgacccccctctcaac +gcagtgtatttgaaatatatggacatatctaccttattctgtaattttagatgtgttctg +tgtataccgatattgataagtcaataggcttgattacgtatcttaagacaaatctgtttc +gcaagtaggaccgcatctttcagattgtttctttttatgccataacctgcccaggaattc +aaaaggttatcgatacccgatatgctgtgaattattattctaatggccactcattcctgc +ttatatctggaattggcatgaatatcttacaacctaaagtctggcgttgcgccagttcta +cttcgtaccggacaccatctccagtcgttaaccgaaggtgggtacgtcacataaaagttc +attagaccacactttgtgccgacgtatatagatatattacacgtatagggaatgttttct +cctaggtgacccgaccttctactaaggttgtacatcgtataatggcccattaactacgag +gaaagtggtattgacctggtaatgcacgttcttcgatatataccgacgaggtaaagtcta +ctattgcaaagtttgacgttatactgataagtttagatttccctggatcgcgcatgaaca +atgtatgcgttatctgccatatataacatgttacaaatccttggggatactatcgctact +atcatcggaccaaaattaaataggctagtgtcttatcagaacatcatgtttaccgaactg +atctattttccaatttaagctgatattacgtccgcgtatttattttagttccccggatga +cgattatctgagctacatcatacaagttagcatactcgccggtgcattgatttcttattt +cgctatatcttcaagttcacaggcttcatatagttccaattagcagtataattaggtttt +gtaactttaaccatactttataaaaggttatattgcacaactgatcaagcatccgctata +acccgagctttaccagttagcggctaataacaaataagatgacttcgtgtcatacgaccg +tcatgatcatgctctaacttaggtgggaaccaaatttaggcaatgggtagtaataagtat +aaaatgataccacatatactataacaatgaaattatttgtaatccggtttgccaacgtat +cccccttcgcgataaattaatgacatagggtcatccatgtgccaatcgtgtgtgccaaaa +tctcaaattcaattatcatcaatattggccaagtgttataagcgttgaaagtgatatagg +ccgccaaaaagtagtctacttaaaaaccaatatttatcgttcgttattgctggtagtaca +acatcacgagcatttctcttttgagttgatttatactatatctgctgatgtgattatgtc +ccacttacccagaatattaagaaagtcctagattgtaggtatacttgactataaatataa +tttaagactatacaaataatctggctacattatgccatcgtagaaactgataacgtagta +acgtcggacactagattttggtcggggagtaatctagcatactaacgaatttgttaaatc +cgctgaaagtatatgtcattacctgcttggcctgtcttcaatacgtttagactattaagg +actcatttcgagatccagtattaattatacgcatccatatttatactgaagacggattga +gttaggacgacaagctaaacaaatattaagttaaggattagtattatattgtagaaactc +gtcgggttggaacgattcatcatcatagaatgcgttacttattcagagagacttaattcg +gttatgactggcagctcacctggaaagtaggtgaaaggcaacagaagaatattgttgact +gaattctacgggctacgaacgtaattacaaagcggttcgtaaagagcataaagatcaata +caatggatctctacagtattacgtaaataacatacataaacctggtgttgattcgactag +ctcatagattaatcattaattgaagctacgaagacgcggaagtctgcggagtgagcaaac +agtaatcgactgataaatgcttataatatcgcgcttaaatgccgcatggtgtacattaac +gtgggggtagtcaaaggaatatatttactaggaatattagttatgcaaatgttgtgtcaa +tgtgatgtgttttatccagacattggatgcatggctgtgggggcacaggatacttaccat +tagttcacctacaagcggcgtgagagggtctcagttttagccagcgcagagaagtacggg +cctttagacgattaatgctagaattgtcataaacctcgtgaaaagctagttaataatcat +ggtgctagaagaacacaacttttctataaaccagttctcgactgacagtcgtaactcact +atatcgccgctttgtactgtcgcaaaaaaacctcacatagaaagaaaaatctactgggtg +catcagtagagatcgtgttctgagagataaatacaccggatacgatctgcatcgagttca +tgtattaggtcaagcttgggactgttgtgccagtagcattttttaacagtcaaagtaggg +tgagacacgtcatatcataatatatgccatcgaggtttaaagtttatatgataagctagc +atgcgttgcaatcgtattcttgaatgctccgtggtttgtactaattcctttatagactga +gtgtatcgtacactcggtacaattacaaaggatggaagagcaaataggtcttcaattata +acagtaccccaccttaatctaaaaaccagcttcaattagtattaatttcgccaggagtat +atatataaatatctaaagactaaaagactcgtacttttacaacttacgtcgtagcataat +taaatcatgggtaaatgtcatcagtaagtgcattagaaatactcctttgtaaggatacag +tgaatgtgtctcagcaagtcagtagaaatggaaattcatactcgattaaggcctataaaa +ctgttgttggtatctacagagtgattaaaattagtgaatcagattacgaaaatgttttcc +cgctcgcacttacgcgtttagacaaaagtacaggtggtacaattggctgtagtagaattt +tggtataaaataggtgataaaccggatgggtgtgggcgaattcaaaagcggtttttgttc +catagaactatgtagttggttataaaggttgtaatctcggagattaggttagggcttaat +cagaatagtaacaatttctctatgtaaagtacagtgggtgatcgtatgagttcacgaact +cttaatgccatgcctggacaggataaacaatacgcatataacttgacgatcgagcttata +tcgacctatttgagaagtttaacgggtcgatataatatacaggtcttaatagccgatttt +ttctagaaaagcaatcctatatcttagttaatcagatcaaccccgtgaacgatatatcag +caaactgaacattgtatacaacattcctttttgtccgggtggggactccatttaaagtat +ctcacctagaactcagcggtaatagatgcagtctcttgcccagttacggtaactaaatgt +tgatacttagaattgctaaattttagtctagacatttccaggtaaaccggtagacgacaa +tttctctgtcatctgtcataagatcgcttagtgtgctcaaattgcaattgagggccctac +tatagacaatcatcagactttttaattaaatagttttccatgaatgtgttgtcaaggcgg +accccttcacttttatcacggctcataaatgtcgtatgactgtagtcggtagcggccttc +gagtcttcaggggaaatggaaaagaaattaggcttctaagatggactataatcgattagg +ctaattccgttcgcaaatcacagaagcaatcttactcaaaattgttggaatcgatagcga +acgcgaccgtgaatgtttaaaagtgctcgcacagaattacccaatacctatcatcacgac +ttaaatacccaaagcagttgtagtcgcgtaatagattaagtctgaagcctagagacaaag +ggatactgggcggggaaacctgctccttcacggtaacatggtaacaacagaatttggtta +aggttaaaacgaaatatactcggagtgaattactgttaggtttcgtcatcggatcaataa +gtagtttccgtgaagacactcttatattagatctccgaaattctgacccgtgcattaggc +acttggtaggagattccatttggaacttgctcaatgtaagccagtaatgttccgaaataa +ttcgctgcaggagcgaggagccgctgaataaaggaccctcgcatcttgttaccttatggt +tgagggtcaccgttctctgcgtcaattccagagctggagatacattcatcaacgttacct +acgcacagaataaaaagatcgagcgctaactcgttttcctaaacacaacggatttagaca +aattaccgaatgcgccggagagtagcatcttagtgtcatgcctatcatggcggctcagta +cgaagagttcaggcatcgaatattgtggtagcccgcactcaaagttccgccattaggtaa +gctatatattgtggtcagaacttgaggacaactatgagctactaaaaataaacaattttg +tcatttgttctagatatgtggcattcatcgaacgcttgtaccagaagttacattcgcagc +gtgagcgaataaacccgaatgagcgtaacattatcaataacatatagttcagatagagaa +cgaggtattcgacagagaattacccaacattggttattaatctatgcagaataatttaga +taatgtcactacataatattaggaccaaaaggtgattccccagaagacaaaacaataaac +aatctcacatattcgctagtacctatgtatgggtatgatcttctgattggacggggataa +tttccaggtatattaaaacttattaccataatctagacctaagagaggttatataagtaa +agagctgtgttccgatagaaaaacccgaccttaaagacttgcgaagtaaattttgcttta +acaaaaaaacctacgtaagggaatattctgtataaactgaaaagtcaggtgtaactacat +gagtcatgtcttcgattaattacaatgcgatctcgttattctgatcaactaatatcataa +actgccactacatcttgtacaatcattcgcaacaatacttttatgtgctaaggtcacgtg +cttcctctgctatgctgatttaatcagattcataaaggaatacgaataactctggatcca +ttaccacgcaagggatttatttacggctgattactttttggctgttgacagaactgccat +gaaagtaagatgtcgcatcttgcataaataatagcacctaatatagccgacaaagtgatt +ccgataacagattttaagttgtccagccttgagactccatgaagaccgcttgggagcttc +cccgtgattagaagaatctaaatcccaagtggatggggggagtttaaatctcagcaccaa +caaatagtacttcctctcagagcgcgtcatggtcgaaggagcctatcctgatagaggttt +gaaagcgcacgcgcatttaactgtcatattaaattggaatctcgtaagtgtcggcagtac +gacaaattttaactgatgtcggtatacggagaagaaggaagcacgcattgaagcagctac +gcagaactgagaagatgacactctaagatacaattaatacaaaaacgttttaagcccaat +ctatcaacagatgtaagatgtctaatacacaagaataaaaccttcatgtcccgatgtata +ataacagctttatttctgctggtcgaggtgaagtagtggaaattactccatcttgctgcg +cgtctttatagtgttggctactctgtaaccgacgcgtccatccctctctcctagtgatcc +gtatatccaattagaggataaccaacatctgcgttaccgacgaatttaaatttttcgact +atttaattccgttcaaacccgtattcgtagtaagtgtttcatagatttatgaccgacatc +gtgtacgagttgcagtgcatatgtagataccactaattgctgatctaggatacatgcttt +ataaacatgcttacttggctattttatttactgtcatgtgggggtttttattttcaacaa +gtatgtgctaccattggataatctggcttcaaattgaagatatgcgttccaaacttgtct +actgtttgctaagtaggagttgtcccattagaactacgcagcacgtggtttgtgatcgaa +aagaataattggcaaatacgaggctagccttcaaatttaatgcagattactcctcagaaa +cacacgtaagcgacgaacgtgatgtttactacacaatgcgtatcatagaaattcgtgata +atttttgttccaacctttgaatctagactgagtggaaaaagatttcaccgggataccgtt +tatgctggttttaaaaactcgtcgaatcatcttataactgcattcaaatggatttctcaa +tcatctgtacgtcaactgttttaacaataacgtcagaataaaccggcacaatgagacggc +ggtctttcactacaccacacccttaggattataagtgacgtgtggattcgaattctaagg +tgacgggatctacaagcctcagctacattaggtctgaagatctttcgtatagccgcgtat +gttactgtttggatatgggttatgctaatcaacagttgacagcgagtgaaacggccttgc +gacctgaaatctttacggttaccttttgattcaagacaggatcgacgatggaccacgtga +aatgaattcaaaactgtaacatcgcttgtgcctcagcgaccgagtaacgacaagttcaca +tcctctatgcaactatcattgtggtcattaaggtattcaagattaactaagagtcgacca +tatattctagagttttacaattaggaaccgttagtctagactaggagcgtgcaacatcgc +aggaggtgtggactgtcttgacccaagttgcctgacacatagtgtcttttgcttcatgtc +cttagcaatgcgatacctcaatcgtagttttatcgggataaataacatggtgtttaaccc +tattaatggtttctattaatctaaattgtaaggcagcccttgggtcgaaagcacattagg +ccacatacacagtatgaaattgttcgagtgtccagaccataattgactaccatggtacac +ggtgttgctattatgactcccgcaaaactcttgacagagggaattttggtacattgatgt +aatcgatgatttaacagtaggaactagacgtcatccgttagactgagttccgacatgctc +aaattgtcaggatttttatccaataactaatggctctcacatgtaaataaaatcacatta +acgtcacttagtgatggattcgctaaacagatagactatcattcatgaactggcactgtt +tcgattatatttgcaacatcgaacatacttaaagttaaatacgacatcattcaattaaaa +aaattcagtacacctctaatgagtatcccgctttggaggaaagagtagcactttaaatgg +acaatttaggccggactttcctgtaaatggatgaagtcattgtacagcttgaataaatcg +ttagggttagtccttacatccaccatatgttaatgaataaagcctgagggaccttagagc +taacttgtccaacacgttgctcatttacttaataaggttgaaatgtatcagtaagtgaca +gcgagtgtagattttgaccatttaactgaccttcacagttttgtcttcagacgtcactta +caccataatgatgacagagcttgtagatgcacacactcattcctagtgtaaatcaagtag +tagctagattattataaagagatattttctggcgtcgaacgtaacacagagagagtataa +ggggcatgataatggcttatcaatatgtgtaagaaaaagtttttaatatcatctaactcg +gtggaatgcacacttatggccaactgaccttgggacgagttaagataccataagaggttg +cctgtaagttaagataacaaagggatattccatctttgtgtgctaagaacctatttatat +ttgcagccataaaaacctctgtgctatgcagccaccagagttatttatacaaagaaagag +accatttagatacgttaattctgcttgcgatttattaaacagacatttcacgtccaacca +ctacaaaagccctatcgcaagacgatcattgtattatagcctatgcaacgtagctaagcg +gccgaggaatcataaaatatgaattgttacattgtttactacatatgatcacaatctttg +taaaaggttcgttcgtgatactaccatgtacctaactaacctgagatatatgcaatgact +tatggggtcagcgcgcaacatccgcaaagcatagtaatacaaggtaggaaaacttctgga +tttcccaaggttataatgctctatactgaccaagagatccgttacgactcgcaatgaata +ctctaagggcactcacaaagaaaaccactaattgataaatttcaatgataatatcctgaa +ttgcatcgtgtatgagttacgagaagtcgcatttaatgaattagtcatagaaatgtcata +gcaggaacataattactatattttaacgatttaatcgtagttggagtcctttcccaaatt +atgtcatcagttccgatttagatgttttcgggcccttcttagtaaagaagttaatatcca +agactagctcctcacccacgcatgcacatattcgcgagaagtctgatagaatattcgaca +gaaatgcgactctagctcacactcgttaactgatcaggtacttatagacaagtacgttat +cagatatcgcttcggggcattgttgcgctacctttgtgcatagcagttttgaaaaattgt +tcaagacctgaacgggaaaatgatattatttttttaggaggaataatacagtaccatgta +aatactcaaccaccttacgtacttcttacgccgaacatatatggcacgtgttattcggct +aacaaaactgttgtgccttttctataaggataagcagattcgttttaaacatatgacctg +taaactgggatctacaaaagaggtacttaaaataaattgcgcaacggtttagatctgcgg +atctttggttaaagagcaccattagatgtgccatacttcctatcgcctgagcgagaattt +agtctgaggaaccactcttgggatttaaaacaattcggttaggacacctactcggcggat +gaagcaatacgataacattaaaagtcgttcagtctaattttggtcgtagtacgatgagct +gatggccaattgtatttttattaacagcactgaaacaaaatggagactttagactaatac +taaagtctcaatgttcgtcgaaccttaaatgctcggaatgaggggatcttcggaagtata +gcgccgaagtgtatctcattattataacaccagtgtacagacgacatctaattatggcca +gaaactgtcattgtgccattaagaggattagtagatagtctggaccgtggaatagaattt +tgaccaaattgaccagtcctgcttgtagacagcgcgatctaaactgcacgagaatataca +agttggtggtgcttgtggctgagcacgctaagatgcgtttgtttttacgattctagtgct +tcttaacgcaattcagtcttctagatccgctattccaacatcaatatctcaatttaaggt +caatatatataacaaaattagacagagcagctgacacttacgaagcatcgtagaaccgat +atagtcgaccttatgatgatatggacgtgtccaagtccgcacttccgatgcatcttgacg +gtgaaccgaaatgaaatcttcattagggcccccatgtgtcaaaccactcgagtcccgtct +ctgaagtcaagtattactgcgaaaaattcgtctactattagtttattatgaacttatgac +gcttaaataaattaaacagtaagcctgggaaaatgttaaggcaggaatctttgtaacagt +tcataatgttgctaaagattatcagaccccgtgaagacttcgggctttgggcttcgtacc +gtagcataatacatctatatagttagaggcttgcgtgttgttgtgctattccacatatag +cagctctgggcgactcttcaatgaaaatgaaaaatggtaacctggcgacctacttgttaa +gtcagtttaattcaaggggattaagtaccaagggtcgagtttctctgtatttattatact +gtaggcaagaagcttttttggcgagatttaagacttaagcctatggtaaaaatttgatag +tgagcgactatagtaagagatttgggtggttagtaattaaaattctcctatgctaaatca +ggcgtacaatctgagggtgcacatttctcgacgcgtgaaccttcaccgaaagcgtgtgga +ttatacaaatttcaaacatattggcggggcacttatccataatagatttctgtttgtacg +ccaaactctgcctcacccctccataaattgtattggctagaggttaaattctccgtaaat +agagacacatatagttttatacaattgtttgaatcaaagcacgagaaacttttaaccgta +cattgacaaatgtcttcggatggggcagagcatctcttcgtgacccaaatcaatcgctga +gcaataagcaagaaaacacagattatacaaagagatctggatgaagatattcgtgcaatc +actatcgttatgttagagagttccatgcatgaggactcgttttttgaccaggagaattaa +gccaagaaataactgacgtatttccaaatgaattctacgtgtttttcctgtcacctttag +ccagtgttaaagatgactatggagtttcgaataggttattctatagacattataacgagt +ggaacacccataccttcacagtgctaaaggtaggaacgggtacgtcaggtagttcaaggg +attttaggttcttaatccaacgaagaaataacgcatcacccgtcattctattgttttcgt +cgggattacttagtaggcagggtattctaacctacctgagttacaaatctttaaaaaact +ggccatgaggtcatggtgataaaatctgaatcgcctaaattcgcgtccctaaggaaatat +actagaatccgtctcagaaagtgcaaaggttgacttcttcccctaacacagaattctcag +ttttatagctatctagtggcattcctttttataaaactttacgtttgtaagggtccaact +ttacaaaagctcggatgtgtatgtgtaatcttccgccgtgtaagacttggaacccatgta +tattgacggcatggcgtggctaagcaggtattgatcttcagtgtaaagcaaggtatgttc +taatctaacaatgtaaagccggggattagccgccaaaggggtctaatgacatagagatgc +tctgaaatcgtaccaactataaaagcacgggatttgaaatatagcgacagatcttccgta +ttctgttagttgacatctgtgctgtctttaccgattgtgatttggctttagcagtcattt +agtttcgttactcattgctcgtgcgatagttccaccgaatatggcacattcgttcttttt +ttccattttactgcaaaccttttcaaaagctgatcgataccactgatgatggcattgatt +agtcgattggcaactatgtcctgcttatatctccaattgcattgaatatagtaaaaaata +aaggctcgccttcccaatgggctacggagtacacgaaaaaatcgcaactcgtttaaccaa +gcgccgtacctaacatataagtgattgagacaaatagttctccagacgtattgagatata +tgtctcctataggcaagcgtttctaattgctgaccagaaattagaattaggttgttaata +ctatattcgaccattttattccacgaatgtgctattctactggtattgctccgtatgcga +tatataaccaacacggaaagtcgtcgattgcaaagtggctccgtagaatcatttctggtc +atttaccgggagcgcgcttgaacaatggatgcggtatctgccatattgttattgttaaaa +agacttccgcttactatcgcttcgatcatcggaaaaatattaatgaggattgggtcgtat +aagaaaatcatcttttcagttcgcagatttttgccaatttaaccggttatttcgtcagac +ttggtagtgtagttacaagcatcacgattatatcagctacagaattaaactgtcctgact +cgacggggcagtgtgtgagtattgcgctatatattcaaggtaacaggaggcatataggtc +atagtacaaggataatgaggtttgctaactttaaaaattattgatttaacggttgattga +aaatctctgcaagatgacgctagaacacctgatgttcaagtttgccgataataacatata +agatgaattactgtctttagaccctcatgttaatccgctaacttagggcggaaacaatgt +taggctatgcggagtaagtactatattatgataccacatagaatttaacattcatatgat +gtctaatacccgttcccaaccttgcaaccgtcccgattaattaagcaattacggtcatca +atgggccaatcctgtctcaaaaattatcatattcaaggttcagctattttggcaatgggt +gagtaccgttcttagtgatttacgaacccataatctaggcgacttaatatacaagattta +gagttacgttttccgggtagtacatattaacgaccatggatcgggtgaggtgttgtatta +gttatctgatcttgtcagtagctcccaatgtcccagaatattatgtttctactagagtgt +tcgtatactggaatttaaatattatgtaagactagacaaattttatggatacattaggcc +atcgtagaatatgatatagttgtaacgtccctctatagattttcggagggcaggtatatt +gcttaataaagatgttcggaaatcagcggaaaggatttgtaattaactgatgcgcagcgc +ttaaataagtttagactattaagctatatgttcgacagcatgtagttttttttaccagaa +agtgttatactgatgacccatggaggtagctcctcatgataaaaatattgttacttaagc +attactattatagtgttcaaactagtaccgttgcatactttaagaatcagacatggcgtt +tcttatgcagacacacttttttagctgttgacgcccacctcacatccatagtaggtcaat +cgcataagaacaatattctggactgttttattacccagaagaaagttttttctttccggt +tcgttaagacaataaagatcatttcattcgttctcttaacgatgaactaaagtacttaaa +gtatccgcctcttgtttcgactagcgcatagtgtaataattaaggcaagataagaagaac +aggaacgcgcacgtcggagataactctaatagtctctttattccgtttaatatagcccgt +aattgcaccatgcgctacagtaacggccgccttcgcaaacctatttatgtaattccaagt +ttaggtatgcaatggttggggcaatgtgaggggttttatcaagactttcgttgcttcgcg +gggggcgcaaagcagactttacagtagttaaccgaaaaccgcagggagtcgctctaagtg +ttaccaacccctcactactacgcgaaggtactcgattattccttgaatgggctgaaacat +cgtgattagcgtcttatgattcaggctgatagaagaaaacttattttctatattccacgt +atacaatcacactcgtaactaaatagttcccagcgttgtaatgtcgctataataaataaa +atacaaagaaaattcgtctgggtgcataagtacagttagtcgtctgtcacataaataatc +cgcagtcgatctcattacaggtattgttgttggtcaaccttcgcaaggtggtccaagtag +cattgttgaacagtaaaactaccgtcacacaaggaatatcataatagatgccatacacgg +ttttacttgatatgtttacagtccttgagttgcaatcgtagtattgtttcatccggggtg +tgtacgaagtaatttagacaaggtgtgtagcggtcactaggtaaaatgacttaggatgga +tgagcatttaggtattctatgataacactaaccatcatgtttctaaaatcctcaggaaat +ttgtattattttaccaacctgtatttatagaaagtgcttttgacttaaagaagccgaagt +gttcaaattaaggagtacctgattgaaagaatggggaattgtaatctgtaactcaattac +aaataagccgttctaaggattaaggctttgtgtctaagcaactcacgtgaattcgaaatt +catactcgattaacgactttaatactcttctgcgtatctacagactcatttaaattacgg +aatatgttttcgtttttggtttccagctcgcacgtacgcgtttacaaataaggacacctg +gtacaattggctggagtacaatgttggtttttatttgctgattatcccgatccctgtggg +cgttggcataaccgggttttcttcaagactactttcgtgttgcttatatacctggtaata +tcggtgagtagcttagggcttaatcacaatactaacaagttctctatggattggacaggg +cggcatccgttgactgaacgatctattaatccattccctgcactggataaacaagaccca +tttaaattgaccatagagatgttagcgtcatatttctgttcgtgatagggtacatatatt +ataaacggattatgagcagtggttttctagaaaagcattcatagttaggagtgtatcaga +tcataccactgaaccatagagcacaattctctactggctatacttcattcctttttgtcc +gggtggggacgaaatttaaaggttctaacctagaacgcagagcgaattgatcaaggcgct +ggccaagtgaacggttctaaatgttcttaatgagaattgcgtattttgactattgacagg +gcatcgtaaaccgctactcgacttggtatctgtaatctgtatgtagatagagtacgggcc +tataattcaaattcagccaccgaagattcacaatcttcagacgtttgaaggaaagaggtt +tactggtatgtggtgtcaagccccacccattctctgttatatccgagcattaatgtagtt +tcactgtactacggtcacgccgtagagtcggcagggcaaatccaaaacaatttaggctga +gaagtggcactataatagtttagcctaagtcccttcgctaataactcaacaaagatgacg +caaaagtcggcgaatagattgcgttcgcgtaagggtatcttgaatactgatagctctcat +ggtaccaagaactttcataacctctttatttaccaaacctgttctactagcgttagtgtt +ttagtctgtagccgacacaaaaaccgagaatggccggcgtaaccggcgcctgcaagctaa +catgggatcaaaactattggcttaacgtttaatcgaatgagactagcactgtattactct +ttcgtttcggcagcggatcaataaggaggtgacggcatcactctcttatagtagatatca +cttattctcacaacggaagtaggatcttccgtcctcattaaatttgcaactggctcaatg +taacactgtaatgttaacaaagtatgagctgaaggtcagagcagacgatgtagtaaggtc +cctcgaagctgcttacagtatccttgaggctcaacgggctatgcggaaattccagacctc +gagttacattatgaaacgtgtcattccatctcattaaatagttcgtgccctatcgccttg +taatataaacaaccgtttttgtctattttcccaaggagaaggagagtagcagcttagtgg +cttgcctatatggccccctaagtacgtactcggcacgcttagaagattgggctaccccgc +actatatgttcccaaagtaggtaacctagatagtgtcgtatgaaattcaggtcatcgatg +agagtataaaaatatacaattttggcaggggttatacattgcgggcatgaagagtaacat +tggacatgaacggacattcgaaccctgtgagtttaataccctatctccggatcattataa +agtaaatatacgtcacttactctacgtgcgtttagacagtctttgaaactaaattggtta +tttttctttcatctagatttgtctgtatctaactaaattatagttccacataaagctgat +tcaactgaagacataaatataaactttctaacatagtagcgaggaaagagctatgcctag +catcggatcatgcgtccgcgagtagttcctggtagagttaaaagtttttccagaatctag +accgaacacagggtagtgaacgaaagtgcgcggtgaacatacataataccgaacgtaaac +aattccgttcgtattgttgctgtatctatatttcctacgtaaggctatttgatctataat +atgaaaagtcacgtcgaaataaatcaggaagcgcttcgagtatgtacattcagatctcct +tagtatcatcaaattatagattttacggccacgaattattggtctagatgtcccaaaaat +aatttgatgtcagtagcgatcgtgcttcctcggagttgaggttggaagaagagtcattat +gctataccaagaactctccatccagtacctagaaaggcaggtatgtaccgctcattaatt +ttgcgatcttgacagatctgcatgcaaagtaacttgtaccagatggcttttataatagaa +actaagtttcccgaataacggtgtacgataacagatttttaggtgtacagacgtctgact +caatgaacacacattgggacctgccccgggaggagtagtagataattaccttctccagcg +cgggtcttttaatatcacaacataaaaatactaattaatatcacacaccctcatcctcga +tggagcctagcatcatacacgtttgatagacaacgccaattttactgtaatatgatattc +gaatctagtatgtggacgctgtaccacattgtttaaaggagctccctttaccgacatgaa +cgaagcaagctttgtacaagatacgaagaactcagtactggtaactataagagacaattt +atacataaaagtgttaagaccattatataaaaagaggtatgaggtctttgtaactacaat +aatacattcatcgaacgatggagaataacagagttatttctgctgctcgagctctagttc +tgctaatttctcaatcttgatgccactcgtttgagtcttccattcgctcttaacgacgcg +tacatccctctctcctactcttacctatatcctattactggttaacctacatctccggga +aagacgtaggtaaagtggtccacgattgtattcacttataacacctagtagtactatgtg +ttgctgagagtgaggacacacttactctacgagttcaagtccatatggacattacacttt +ttcagcatctaggtgtcatgatgtattaacagccgttaggggctatttgattttatcgat +tgtcggcgtgtgtattttcaacaactaggtgctacaattcgtgaataggcatgaaaattc +aagattgcagttcctatcttgtataatctttcctttggacgagttgtaccatttcaacta +acctgcaagtggggggtcatccatatgaagatttgccaaatacctggagaccctgaaaag +tttatccagattaataataacaaacaaacctaagcgaagaacgtcagctttaataaacta +tcactatcatagaaattcctgttaattgttcttccaaacgttgaatagactatcacgggt +aatagattgaacacggagaacgtttatccggcttgtaaaatatcgtcgaatctgctgata +actcaattatattcgatggagaattcatatctaccgcttagcttttaaaaattaagtcag +attattccgccacaatgagaaggcgcgagtgcactaatcaaatcacttaggattattacg +gacgtctgcattacaatgctttggggtagggttatacaagcatatgattctttaggtctc +ttgatcgggcgtttaccaccgtagcttaatgttggcatatccgtgatcctaatattctgt +tgtcagcgtgtgtataggaatgcacaacgcaaatctttaagctgacctgttcatgaaaga +caggagacacgaggcaccacctcaattctatgcaaaactctaacatagcgtggcactatg +agtacgtgtaacgacaaggtctcatactcgatcctaagataattctcgtctggaaggttt +taatctttaactaagagtagaacttagtttattgacttttacaattaggatacggttcgc +gactctaccacagggcatcatacctggagctctgctatctcgtgaccaaagtggcagcac +acatagggtcgggtcctgcatctactgagcaatccctttaagcattcctagtttgagagc +catttagatattgctgtttaaaccgattaatggtttctattattataaagtgtaacgctc +ccattcgggacattgaaaattagcaataagacaatgtatgatattcggcgagtctcaaca +acattatggtctaccatgggacaaggggttgatatgatgaatccacaaaaaatagtcaaa +cacccatggttcgttaagtgagggtatccaggtgttataaggacgatctagaagtattca +ggtacacggtgttcagacatgctctaattgtcaggttgtttataatttaacgtatcgctc +tctattctaaataatataaaattaaccgctcgtagggatgctttccagtaaaagatacac +tatcattaaggttatgcaaatgtggcgatttgatttgaatcttagtacattcttaaactt +aaatacgtattatttaaagtaaatatattatctaaaccgcttttgtctatccacatttcg +tcgaatcacgacctcgttaatgcgacaatttacgaccctctttcatctaaagcgatcatc +tatttcttctgattgatgtaatactgacccttactccgtacatacaaatgatggtaagca +agaatgactgacgctcctgtcacctttcgtggcaatcaactggcgctggtactgaagtag +cttgaaagggatatggatgtgtatgccaggcttcattttgacaatttttctgtcctgctc +agtgttgtctgaagtcgtatcgtacacaataatgatgactctcattgtagatccaatcac +gctttcctacgctaatgaaagttctagatagtgtaggtgttagacagaggttagcgccta +catccttacacacacagtgttgaacggcaagcataatcgagtatcaatagctgtatgtat +ttgtttggaatatcatatttctcccgcctttgaacaatgatgccaaaatgtcctgcccta +gagttatgataaaataactgctgccctgtaacttaagtttacaaaccgatattcaatcgt +tgtgtcctatgaaaatatttatatttgcaccaagaaaatcatctgtgcgatgaacaaaac +acagtgatttataaatacaaagagtacatttagttaccggattgcggcttgacatttatt +ttacagaattttatcggcaaaacacttcatatgaactatcgcttcacgataagtctatga +tagactagcattcgtagagaacaggaagagcaatcattatatatgaagtgttacagtggg +tactacatatgagatcattaggtctatatccggccttcctcataagaccttggaaatatc +ttacatcagagatatcaaaggaagtatgggcgaacccagaaaaagccccaaagaatagta +attcatcggacgtaatagtctggttttaactaggggttattgatatttaagctaaaagag +ttccctgaacactcgaaatgtataatctatcccaactaaaaaagtatacctctaattcag +aaatgtcattgagattagactgatgtcaatacgctaggaggtaagacaagtagaagtttt +tgatttaggaattgaaatgtaatacctccatcttaagttctatattttaaagttttatgc +ggacttcgagtaagtgcacaaatgatggcataagtgcccagttacatgtttgcggccccg +tatgagtaatgatctgtttatcaatctctagctactatcccacgaatgcactgatgccag +tcatggcgcttacattagtcgacagaaatccgacgatacctatcacgcgtgaactgttct +ggttcttattcaattcgaagtgatctcagatacattacggccatgcttgcccttcatgtc +tgctgagcagttttgttataggctgaatctcctctaagcgaaattgataggatttttggt +ggtcgatttagtctgtacctgcttattaagattcaaaatgacctacttcttacgccgaaa +tgatagggatcggctgaggaggataaatatacgctggtgcctggtatttatccagaacaa +gttgcctgtgtatcagatgaactctaatctccgagataaaaaacaggtacgtaaaataaa +ggccgcaaagggttacatctcaggatcgtggcgtatagtccaccattagttctgacttac +ttaatatagactgaccgagattgtagtatgtggatccaagcttgccatgtaaaacatgtc +ggttagcaaaacgtataggagcatgatcaaagaagagttaattaatagtactgcactata +attgtcggcggagtaccatgagctgttgcccaattcgatgtttattaacagcacgcataa +aaaatccagacttttcaattagaattaactataaatggtccgcgaaccttaaatgatcgg +aaggacgggatctgccgttgtatagaccccaactctatctaatttttataacacctctgt +aatcaacaaatcttattatgccatcattatgtcattcgccaagtaagtccagttcgagat +tctctggaccgtgcaatagtattgtcaaattatggtaatggaatccttcttctaacaccc +ttagaaaagccacgagaattgacaagttgggcgtgcttgtccaggagcaacataagtgcc +gtttctttttacgatgatagggattcttaaagcttttctctattctagatcccagttgcc +atcatcaatatctcaattgatgctcattatatagttcttatttagtatgtccagatgtca +ctgaagatcctgcctagaaccgatattctcgacaggatcatcagttcgacggggcaaacg +cacctatgcacatccatcttgaccgtgaaacgaaaggaaagagtcagtaccgacccaatg +tggaaaaaaactcctgtccacgatatgtaggcaagttttactgcctttaattagtagtcg +attagtgtagtttgatattatctaccttatagaatgtaaacagtaacccggccttaatgg +tttggcaggattctttgtaaaagttaataatgttcataaactttatcagaaaacctgaag +tagtccgcctttcgcctgcgtaacgttgcagattaattcgttttacggagtggcttgcgt +cttgttgtccgagtacacatattgctcctctcccccactcttctaggaaaatcaattatg +ctaacctgcagaccttcttctttactatctttaatgcatgcccagtatgttcatagggta +gacttgctatctattttgtataatctacgaatgatgcttggggcgcgacttttaacaatt +aagccgttgggtataatttgagagggtgccacgatagtaagagatttccggcgtgagtaa +ggaaaatgataataggattaagcaggcgtaatagctcaccctcctcagttctccaaccct +gaaccggctaagtatgactgtgcagtattaattttgaatacatattgcagcccctaggat +acattatagatgtctctttcttacccaaactcgcccgcaccaagaaagaatgtggattcg +attgaggttaaattagccggaattacagacacagattcttgtttacaattgtgggaagaa +aaccacctcaaacgttgaaacctacattcacaaatggattacgttggggatgagaatcga +ttccggtcaaaaatcatgcccggagcaataaccaagaattcacagaggattaatacactt +ctccatgaagataggactgcttgcactatccttatctttgtgtcttccttcaagcaccaa +tcgtttggggacaaccacaattatgccaagaaataacggaaggtgttccaaatctatgag +tccgcggtttcatcgcaacgtttcactgtgggtatcatgactttggactttagatttggg +tattctagagactgtagaaagactgcaacaacaagacattcacagggcgaaacctaggaa +aggggaccgcacgttgtgctagggatgtttccttaggaatccatacatgtaagaaagaat +caaccgtaattatagtgttttcggccccttgaattacgtgcatgcctttgctaaaagacc +tctgggaaatagattgaatattctggacagcagcgaatcctgattatatctcaagcgaat +atatgacccgcaagaaggatttatactagaataagtctaagaaagggcattgggtcactt +cttccactaacacacttttatcagttttataccttgagagtcccatgcatttttatatat +atttaactttcgttgcgtaaaactttaaatatgatccgtgctctatctctaatctgaaca +acggtatcacgtcgaacaaatctagtggctacgaatcgcgtcgctaagaacggtttcttc +tgctggcgttagctacgtatcttctatgctaaaaatgtatagccccgcattagcagcaaa +accgggagaatcaaatacacatccgatgaaatcgtaacaaagataaaacaacgcgatttc +tatgtttgccaaagtgattaagttgtatcgtaggggtcagcgctgatgtcttttcagttt +gggttttggatttaccagtcttttagtttcggtactatttgatcgggacattcgtccaaa +catgatggctcattcgttctttttttcaattttaatcaaaaccttgtatttacctgatac +attaaactgagcatcgcatggaggtggagattcccatatatgtaatcatttgatatccta +ttccattctttttagttataaataaacgctccactgcacaatgggagtaggacttcacca +ataattagcatctactgtaaacaagcgccgtaacgaaatgattactgattgagaaaaata +ggtctcaacaacttttgacagatatgtatccgatacccaagcgttgctaattgcgcaaaa +gtaagtagaattacggtcgtattacttgttgccaaatggttattactccaatgggctatt +ctaatccgatggatacgtaggagagagtgtacctacaccgaaactcgtagtgggcttagt +ggctacgtagaagctgttcgggtcagttacagcgtgcgaccttgtaaaatcgatcacggt +gatgaattattgttattgtttaaaagaagtcccctgaatagcccttagataatacgaaaa +tttgttatgtccagtcgctcgtatatcaaaagattcggttaagttcgcagagttttgcca +agtttacaggtgatttactaacacttgggagggtacgtacaaccatcacctggttagcag +agaatgaattatacggtcatgtcgcgaagggcaagtgtgtgagtattgaccgagttatta +aacgtaaatgcaggcatttacgtcataggacatcgagtttgtcctttgcgaaatgttaaa +tttatggttttttccgttgagtgataatagctgcaacatgaagatagtaaaactgaggtt +aaactttcaccatattaaattatatgttcaattacgcgatgtacaaactaatgttaatca +gatttaggagcgcgcttaatatgggtccctatcccgactttgtacgagattttgataaaa +aatagtattgtaaattcatttgatggcgtagaaccgggcaaaaccttgaaaaaggacaca +tttaggatgctatttccctaagaaagcggaaaatcctggctcaatatttataatagtaat +ggttaagattgtggcccaatcgctgagtacccgtcttacgctttttccaacacataatcg +acgagaatgtatttaaatgtttgagacttacgttttccgcgtacttattattaaagtcat +tggagagggtgtcgtctgggtgtagttttctcatctgctcaggagctaaaaatgtaaatc +tattggttgtttctaattctgtcgtccgtgtaggctatttaatttttatggtacacttga +atatgtttagccataatgtagccaatactacaatatcagatacttgtatacgacctatag +acttttgccgaccgctcgtagagtgatttagaaagatgttcggatagcacagcaatcgtt +tgcgaatgtaagcatgcgaagcgagtatttaactgttgactattttgctatatgttactc +tgaatgttgttttttttaccagaatgtgttataatgatcaaccatgcacgttcctactaa +tcatataaattttgttacgtaagcttttctatgatagtggtctaaagactacccttgcat +actttaagattaagacatgcactttaggaggaactcacacgttttgagctgttctagccc +acctataagccattcgtccgcaatcccataactacaatagtcggcaatcttttattaccc +agaactaacgtttttatttcccggtacgtatcacattaatcttaatttaatgcgtgagag +taacgatgaacgaaagttatttatgtttaagccgcttcttgagaatacagattactgtta +gaatgaaggcatcataactagaacaccaacgcgcacctcgcacattactctaatagtagc +tttattcagtttaatatagacagtatttgaaccaggcgctaatgttaaggcccccttcga +aaaccttgttatgttattccatgtggtcggaggatttgcggggcgatagcgctgggcggg +gatcaacaatttcgttcatgcgagcgcccccataaccagtaggtacagttcggaaaagaa +aaccccacgcactcgctagaagtgttacaatcacatcacttcgtaccgaagggactactg +tattccgtcttggggatgtaacagactgattacagtcttatgatgaagcctcattcatct +aaaattagttgatttattccacggatactatcacactcctatagaaagagttaccaccgt +gggaagctagatataataaataaaagacatacaatattagtatggctcatgatctacact +tactcggatctctctttttttataaccagtagatcgcattacacgtattgttgttccgca +tcaggccctaggggctcaaacttccatggtggataactaaaacgtccgtcactaaacgaa +gatattaatagatgaaatacacgggtttacttgatttctgttcagtcattcacgggaaat +cctaggagtctttcataacggcggtcttagtaggaatgtagtcaagctctgtagaggtct +cgacggaattggtatttcctggcatcacaatttacctagtattggagatcacttaaaata +atgttgagataataatcaggatatttctagtatgtgacaaacctctatttagtgattgtg +attttcaattaaacaagacgtaggggtcaaattaacgactacatgttggaaagaaggccg +aattgtaatatctaactcatgtactaagaagaagtgctttcgtttaaggctttctgtcta +acattctaacgtcaattcctatgtaatactactgtaaccaagttattactcggctgcgta +gataaagtctcatgtaaatgacggtttatctgttacttttgggtttcaacctagctagga +cgccggtactaattacgacacctgcgtatagtgcagggtgttcaatgtgcctttttatgt +ccggattataaccatccctctcccacttggaatatcaccgggttcttaatgacttagttc +gtcttccttattttccgggtaagatcgctgtggaccggacccattttgatctagtctaaa +aaggtatatagcgtttcgtctggcccgcttacgttcactgaaacttagattaatcaatgc +actgcactggattaacaagaacatgttatagtgtactgacacatgttagactaagaggtc +tgttcgggttagccgacttatatgtttaaccgattttgacaactgggttgagagataaca +atgaagagtgaggactgtagaagatcttaaaactgtaccatagtgctcaattcgctaatg +gcttgaattatttaattgttctaaccctggcgtcgaatttttttggttcgaaaatactta +gcacagcgtattgttcaacgagatgcacaactgtaccgttagaaagcggcttaatgacaa +ggcagtattgtgactattgacagggaatcctaaaaagctactcgaattggtatatggaag +aggtatgtactgagaggtcgcgcctattagtcaaattctgccaaagaagagtcaaaagct +taactagtttgatggtatgaggtttaatgctaggtggtctataccaccaaaaagtatatg +ggatatcccagaatttatcgactttcaatcgtctaccgtcacgacgtacactaggcagcc +ctaatccaaaacttttgaggatgagtactgccactattatactgtaccatttgtaactta +cattttatatcttcaaagaggtagatattgtcggccattactgtcacttacactaagggt +agcttgattactgatacctctcatggtaaaaagtaatttaagaacctatttttttacata +acctctgctactaccgttagtgttttagtcggttcaagtcacaaaatccctgtagcgcac +ccctataagcagaaggaaaccttaatgcggataaaaacttttgccggaaccgttaatcct +atgagaataccactcttggaatcggtcctttaggctgaggatatagaacgaggggaacgc +atcaatctaggttaggtgagagaactttgtatcaaaacgcaagtaccatatgccgtcctc +agtaaattgccaaatgcagaaatcttacactcttttcttaactaagtatgagagcaacct +cactcctgaacagcttgttacctaacgagaagaggctttaagtagcctggagcctcaacc +ggatatccggatttgactctcatccacttacatgatgattacggtcattacatctcatga +ttttctgagtgccctatagactgggaatttaatctaccctgtttctatttgttaacaagg +agaaccactggtcaagatgacgcgcttccatttatgccaccataagtaagttctcggaac +ccttacatgattggcctaccaacctatatatgtgaccaatgtacggtacatagagtgtgg +cctatcatattcaggtcatcgagctcagtatttaaagattatatggtcgctgggggtatt +cagtgcgcgatggaagactaacattggaaatcaacggaattgacaacacgctcactttaa +taacctatctcaggataagtttaatgtaattagacggaactttctctaactccgtgtact +aactctttgaaaataatgtgggtatttttatttcatctagatttgtctgtatcgaaagaa +agtattggtccaaataatcctcagtaaaatcaagtcataaatataaaatttagatcttag +gacagaggaaagtgctttcccgagcataggatctggcctacgccagtagttcatgcttgt +gttaaaagttgttactgtttatagtccgtactcagggtagtgttcgatactcagcgggga +actgacatattacactaaggaatcaaggcccttcgtatgggtcatgtttatatatttaat +tacttacgctatttgatcgagaatagctatagtaacgtcgtaagaatgcaggatgcgatt +cgagtttgtaaattcacagatactgtgtatcatattattatagatgttaaggcatagaat +tattggtattgatgtacaaaaaattatgggtgggcagtaccgataggcattacgagcagt +gcagcttggaagaactggatgtatcctataactagtaagagccttaaaggtactacatac +ccagggatgttaccatcattaatttggccatcttcaatcttcgcaatgcatactttcttc +tacaagatgccttttagaagacaaaataagtgtcaacaataacgctgtaacttaactctg +ttgtacgtggaatcaagtctcactaaagcaactaacattccgacatgcaaacgcaggact +actagattattaaattcgccagcccgcctcgtttaatataacatcataaaaattctaagt +aatatctcacacactaatccgccatcgtccatagcatcagtcacctgtcttacacaaaca +catgtttaatcgatgttgttatgccaagctagtttcgcgaccatgtaactaattgtggaa +agctgctaccttgaacgacatcaaccatcctacctttgtacaacagaccaacatctctgt +actggtaaatagatctgaaaagttataaatataactgttttcacattgatagaaaaacag +ctatgtgctatttgtatatactataataaattaagcgaaacatggagattaaaacagtgt +tttctcatcctccacctcttgttctgctaatttataattcttgatgccactcgtgtgagt +cgtccattcgatcgtaaagaacccgacataaatagatacgacgctgaacgagatcctatt +tctcctgaaaattattagcacggtaactcctagggatagtggtactagttggtatgaacg +tataaaaacttgtactactttctcgggatgtgagggagcaaactattactcgaccagtgc +aacgcattatcgacagtaaaagttttcagctgatacctgtctggatggattatatgcagg +taggcgagagtggattgtagcgatgctcggcgggggtattttaaaaatctaggtgataaa +agtcctgtttagccaggaaaagtcatcattgcactgcatatcgtcgattagctgtcattt +cgtccactggtaccagttcaacgtacatcaaagtccgggcgcatccatatcaagttttgc +aatagtactccagaccatgaaatggttatccagattaataataacttaatatactttcac +tacatactcagcgggtattaaatttcactttatgtcaaaggactcttatgtggtcttcaa +aaaggtctagagtctatcacgcctaattgtgtgaaaaccgagtaacttgatcagccttgt +aaaatatagtagaatatgatgttaaatcatttatattccagggagattgaatagcttacg +attagctggtataatttaactcacatgattaagcaaatatctgtaggaccgagggaaaga +ataaaataaagtaccatgagttcggaacgctgcattacatggcgttgggctagcctgata +caagaagatgagtatggagctctcttcatcgggacgtgacaaccctagcgtaatcttggc +agatcccggagcagatgattatcgtctaacactgtctttaccaatgcacaacgcatagat +ttaacctgaactgttctggattcactcctgactacagcctacaactcatttctatgcata +actcttaaagacagtcgcaatatcagtacctctatacacatcggatcagactagatcata +agataagtctcctctggatccttgtattctgttaagtacactacaaatttgtttagtgtc +tgggacaattacgataagggtcgcgactagaccacagggcatatgacctccaccgctcct +agcgagtctccaatctgcaagcactcatacgctaggggcatgaatcgactgtcaatgcac +tgtaagatttacgagggtgagacccatttagatatgcctcgtttaaccgttttaggcttg +ataggatgagtttgtcgatccatcaaattcccgacattcatattgtccaataagtatatc +tagcttattcggactcgctaaactaaattatggtataaatgccgtcaaccggtgcatttg +ttcaatcaacaaattatagtcaatctcccatggggccttatggcagcgtatacagctggt +ataacgaccatatacaactatgaacggactagctgtgaactaagcagattattggatcct +tgtgtataattttaagtttcgatctatatgctatagtatagaaaatgttccgatcgtacg +cttcctttacagttaaacagtctatatcatgaagcttatccaaagctggacatttgatgg +caatcttacttaattatgaaacttaattacctattattgaaagtatttatatgatcgaat +aagatttgctctataaacaggtcgtccattcacgacctagtgattgcgtaaattgaccaa +cctaggtaatctaaagcctgcatctatttcttatcattcatgttatactgacccgttctc +agtacttaaaaatgatcgtaagcaagaatcactcacgctcatgtcacatttagtcgaaat +aaactgccgatgggaaggaagttccgtcattgcgatatcgatgtctatcccacgcgtcat +tttcaaattggttatctacggataactgtgcgatgaactactataggtcaaaattatctt +caatctcattctagatcatataaagatgtccttcgcgattgatacgtctacagtgtgttg +gtgttacacagagggtagcgactacttacttactaactctctcttgatccgcaagcataa +gccaggttaaagtgctctatctttttctgtggattataatagttataccgccttgcatct +aggtgcccattaggtaatgccctagtgttttcataaatttactcctgccatctaacgtta +ctttaatttcccagattcaataggtctctcatttgaaaattgttatatgtcaacaaagaa +tataatagctgagtggaacaatacactgtgagggagtaatacatactctaaattttcttt +acggtttgcgcctgcacagttttttttatctatgtgatccgcataaaaagtaatttcaac +gttccattcaagttaagtcttggtgacactagcattaggagagatcaccaagaccattat +ttatttagctagggtttaagtcggttagaaatatcagataatgaggtctttatccggcct +tacgcagtagaaattggaaatttcgtaaagcactgagttcaatggaagtatggccgaacc +cacataatgcacaaatcaagtcgatttcttccgtccttttagtctcctgggaactacggg +ttattcatagttaagctaaatcagttaacggaactagacaaatgtataatagttcccaaa +tatatatctataaatcttatgcagttagggaatgcagatttgaatcatggcaatacgcta +gctcggaactcaactacaagtgttggatgtacgaattcaaaggtattacatccttatgat +gttcttttttggatacttttatgacgacttccacgaagtgaaattatgttcgaatatctg +aacagttacttggttgagcccaaggatgacgaatgttctgtttataattctcgtcataat +ataaatacaagcatatgaggccagtcatggagctttcatttggactaacatttccgtaga +gtcatatcacgcctgtaatctgatccgtctttttctattcgaagtgttatcagatacatg +acgcccttgcgtgacattcatggctcctgacatcgggtcttttaggctgaatctaatcta +acccaatttgtttggattgtgggtcctccattttgtctgttaatgcttattaagattaaa +aatgtactacgtatttagacctaatgattgcgatacgctgtggaccattaatataagctg +cgccaggggatttttccagatcatctggcctgtgtatatgttcaaatctaatagccgaga +gaaattactccgacggaaaataaaggcagataagcgtttcagagcaccatcgtggcgttt +agtcaacctttagttcggaatttattaatatacaatctcactctttggacgagctcctta +aaagatgcccttgtatatcatgtcccgtacctaaaagtataccagcatcatcaaagaaca +gttaaggaatacgactgctctataattgtccgaggagtaccttctcatctgccaatagtc +gttgggttggaaaacaacgcattaatatgccacacttgtcaattagaagtttctataaag +gggacgagtaactgatttgagacctagcacggcagaggacgttcgtgtgacaacatctct +ttataagtttgagataaaatcgctaatctacaatgattatttgccaatcattatcgaatg +cgcaaagtatctcctgttcgtgattctagcctaaggccattactatggtcaaattatgct +aatcgaagcagtcttctaacacccttagaaaagcaaacactattgaatactgccgccgca +ttcgccagcaccaacataactgcacgtgcttttttccatgattggcattatgaaagattt +gatctatgattcttaccagttgcaatattcaatttagcatgtgttcctaattattgtgtt +attatggtctatctcatcatgtaaatgaagatcatgacgtcaacacagattctagtcagg +atcatcagttcctcggggaaatcgcacctaggaacagccttatgcaaccgctaaacaaag +caatgaggatgtaccgacaaaagctcgatttaaaagcctcgaaacgagatgtacgaatcg +tttactgccttttatgaggagtcgagtactgttggttcatatttgctacatgattgtatg +taataacgatcccgccctttatcggttcgatcctttatggcgataagttatgaatcgtca +gtatctttagatcaaaaactcaactagtacccagttccccggaggaacggtcatgattaa +tgcgttttacggtctcccgtccctcttcttgtcagaggaatcagtttcatccgatcccac +tcgatgattggtatagctatttgccgaaaagccacaacgtattcggtactatcttgtttg +attcccctgtatcttaattcgcgacacttgatatcttttgtgtttaatcgacgaatcatc +ctgggggcgacacttgttacaattatccagttgcgtttaatggctgtgggtcacaagatt +gttagacaggtcccgcgtgtcgtaggaaattgataattggagtttgcaggacgaatagct +cacccgcctaagtgatccaaccctcatcaggataactatcactgggcagtattatttttg +atttcatatgccaccccctaggagactgtagtcatgtatctttcttacccaatctagccc +gaaacaagaaagaatgtcgattccagtcaccttttattagaccgatttacacacaaagtg +tcttggtttaaaggctggcatgaatacatactcaaaagttgaaaacgacttgctctattc +gattaccttcgcgatctcaatcgattacgctaaattttaatgcccgctgaaatatccaac +atttaaaacaggattaattctctgatccatgaacttaggactcattgcacgtgacttatc +tttctctcttaattcatgctccaatacggtgggctaaaccacttttatcacatgaatgta +cgcaacgtgttaataagctatgagtacgcgggggcagcgaaacgggtcaatctgggtatc +ttctattgggacggtacatttcggttttatagactatgtagttacacggcatcaacatgt +aattaaaacggcgtaacctaggaaagccgaacgcaccttgggattgccatgtgtccggag +gattacatacatctaagaaacattctaaactatgtatagtcgtttacgacccttgtagta +cgtgcatcccttggcgaaaagtactctgggtattagagtgtatattatcgacagcaccga +atcctcattttatagcttgacaatttatgacccgaaagaaccttttataagtctataagt +atatctaacgcaattgcggcactgagtccactaactatctttgagcagtgttatacagtg +agacgccatggaaggggtttatatattttactgtcgttccctaaaaagttaattatcaga +cctgcgcgatctcgtagatgaacaacgcgatctagtcgaaaaatgcttgtggctaccatt +ccagtcgagatcaaccgtttctgcggatcgcgttacattccttgcttatttgcgataaat +cgatacaaccccattaccagaaaaacccggagaatcaattactctgcagatcttatacta +aaaaagagattacaacccctgttctatgtgtcccaaagtgagtaacgtggagcgttgggg +taagagcggagcgattttaactttcgcttttccattttccagtattgtactttacgttat +atttgagcggcacattcgtcaaaacatgatccatatggactgaggtgtttaaatgttaat +caaataattgtattttcagctgactttaaaatctgcagccattggaggtggagattccaa +tagatgtaagcaggtgatatcatatgcaattcttgtgacttattaagataccagacacgg +cacaatcgcagtagcacgtaaacaataatgacaatcgacggttaaattccgaacgtaaga +tatgtttacggatgcactaaaataggtagcaacaacgtttctctgagatgtataagttac +caaacactggagaattccgctaaactaaggacaatttccgtcgtattaattgttgacaaa +tggttagtaatacattcgcagtggataatccgttgcatacctagcactgagtgtaaataa +aaccaatcgactactggcatttcgggctaacgactagatgttagcctatgtgaaagcctc +acacatgcttattgccttcacggtgagcaatgtttcttattcgttattagaagtcacctg +tagagacagtagagatgacctaaatttggtttgtccagtcccgaggtgatctaatgatta +ggttaacttagaacagtggtcaattggttaaagctgatttacgaacacttccgaggggtc +gtaaaacattaaactggtgagaacagtatgatgtattcggtcatctagacaaccccatcg +ctgggagtttggacagtgttatgattcgtaaatccaccatgtgtccgaattcgaaatcct +gttgctccggggagatagggttaatttaggcttttttacggtgtggcatattagctcaaa +catcaacattcttaaaatcagcgtaaacggtcaccagttgatatttgttctgctaggaag +cgatgtacaaaataagcttaataagatttaggtccgaccttaatttcggtccatagcacc +tctttctaagtgttttgcttaaataattgtattgttattgattttctgcgagttgaacac +ggaaaataagtcaaaaaggacacttttaggttcatatgtaccgatgaatgcgcaatagaa +tcgagaaatttttagattagtaatcgtgatgattgtggccaaatcccgcactaaacggct +ttcgctgtttccaaaaaattttagtccactaggtatttaaatgttggacactgaacgtgg +aagccgtcgtattatgaaactaatggcagaggggctcctctgcgtgtactttgagcagat +gctatcgtcagaaaaaggtaaatcttttggttctttataattctggcgtccgtgtagcct +agtgaatgtgtttggttcaagtgaatttgtttagccagaatggaccaattacgtcattag +ctgttacgtctatacgaaatatagactgtggacgacccatcgtagagtcatgtagttaca +tgtgaccttagaacaccaatcgtgtgcgattgtaagcaggacaacacagtattgtactgg +tcaattggttcatagatctgactatgaatcttcgtttttgtacaacaatctcggtgaagc +ttcaaaaagcctccttcctaataatcagttaatttttcgtaaggttcctgttcgaggtta +gtcgtataaagacgaaacggccttaatgtaacattaactattccactgtaggtggatcta +acaaggttggacatgtgctaccaataagataagaatttcgtccgcaatacaatatctact +tttgtagcctatcttggattaacaacaacttacgttggtatttcaccggacgtatcaaat +gattctgattttaatgactgagagtaaacatcaacgaatcttatgtatctttaagccgct +gcttgacaagtcacattactgttagaatgaacgcttcattactacaaaacctaccaccaa +ctcccacattaatattatactagatgtttgaagtttatttgacaaaggttttcaaaaagc +acagaatcgttacgaacacgtacattaaattgttagggtattaattgtggtcggtgcatt +tccggccccatagcgctccgcggggagaaactatggccttcatgacagcccccccataac +atctaggtaatggtcggataactataaacaaccctctccagagaactgtgaaaataaaat +ctcttagtacacaagcgtatactggtttaagtcttgcccatcttaaagactcttttcact +attttcttgatgcctcattcttctaatattaggtgattttttaatccgagaatataaaaa +gacgatagaaagtgttaaaacacggcgtagcgacatattttaaagaaatgaaatactttt +tgactatccctcatgatctaaacttacgcggagctatctttttgtataacatgtacagag +aattaatccgatgcttcttccgattaaggacatagcgccgaaaacgtcatggcggcttat +cgatatcgtaacgcactataccaagtgattaagtgatcaatgaatacgggtttcgggatt +tctgttaagtcatgcacggcaaatacttggagtcttgaataacgccgcgcgtagtacgaa +ggttctcaagctcgcgtgacgtatagaccgtattgctatttcctgccttctcaattgtcc +gaggattgctgataacttaaaataaggttgagtttttaataacgatttgtcgagtttggg +aaaatcctcgtttgtgtgtttgtcattttcaagttatcaagaactacgggtataatttac +gacgtaatgttggtttgatgcccgattgcgaatatcgtacgaatggtatttgtacaactg +ctttcctttatcgattgctcgagaacattataaagtctattactatggattaagactgta +tacaagtgtttaagcggagcccgtgataatctataaggttttggtacctttatctgttac +ttttgccttgaaacatacatacgtacacgggaatatttacctaaacgccgtatagtccag +cctcgtatttgggccgtgttttgtcagcattttaaactgaaagcgcccacttgcattata +acccggtgcggaatctcttagtgactcgtcaggagtttacgcctttgagacctctcgaca +ggacccattttgatctagtcgttataggtagagtgcctttcctatcgcaccattaccttc +tagcaaacttagagtattcaatgaaatcatatcctgtttatactaaatgttataggctaa +tgacacagctgacactaagaggtctcttcgggttacccgaatgagttgtttatacgatgt +tgacaactcgggggagtcatttcaatgaagactgaggactcttgatcagattaaaacgct +taatgactgataatttagattatgccgtgtattatttaagtgggcgaaccctcccctaga +atgggtttcctgagaaaagtcttagaacacagtattctgaatccagatgcaaatcgctaa +cgttagtaagcggctgtagctcttggcagtttggtcaatagtcaatcgcaatccgtttaa +ccgtctactattcctagagcgaagagctatgttctgacacgtccccaatattaggcaaag +gctccaaaagaacagtcaattgattaactacgggcttggtttctccgtgaatccttgcgc +cgctataccacataaaaggatagcggtgataccacaagtttgcgacgttaaagcgtcgac +cctcaacaagtacactagcaaccccttagcaattaattttgtccatcactactgccaaga +gttgactggaccagttggaaatgacatttgatatattaatagagctacatattgtaccac +tttactgtcacttacactaaccctagcgtgattactcatacatatattcgtaaattctaa +gttatgatactagttttgtaaatttaatcggcgaagacacgttctcttgtacgagcttca +actaaatatttcactgtagccaaccactttaaccagaaggataccttaatgccgatataa +tattgtccaggaaacgttaatactttcacaagacaaagcttggaagaggtactttacgat +cacctgatagatcgaccggaacgattctatataggtttggtctgagaaatttgtagctaa +aaccatgttccataggaactcctctgtaatgggcaaaatgcagatagcgttcaatcgttg +cttaactatctatcacagcatcctaactcctcaacagcttctttcctaaagacatcagca +ggtaagttgacggcacccgataacccagagcacgattggaatctaatactctgtatggat +cattacgctaagtaaatataatgattttctgactcaaagttacactgcgaattttatatt +aactggttctatttgttaaataccacaacctctcgtcaacaggtcgcgatgcaagtgatc +caaaaatatctaacttataccaaccattacttctggcgcagaaaaacatagatatctgaa +caatcgaccgttaagactgtctcgccgatcttaggaacctaatactgctcagtagttatt +gtttatttgggccatccccggattatgtcagccatggaacactaaaagtcctaatctaac +ctatggacaaaaagctcacttttataaaattgctcaccttatgttgattgttatttgtcc +gaaatgtctataactcagtgtactatctattggaaaattatggccggagttttattgaat +atacttttgtatgttgagaaagaatgttgtcgtaataattatcagctggaaaatcatcta +atatatattatattgagatattacgacagacctaagtgctttcccgtcatgagcagatgg +actaacactcttggtaatccttctcgttttagttggtaatgtttagtctaagtaatatcc +cgactcttacttactcagagcggaaatgactttttaaactaacgtttaaaggcacttagt +atgcgtcagggttatttttttaattacgtacccttgtgcagagagtttagctattcgatc +ctacttagtatgaaccatgagagtacaggttggtaattcacagagaaggtcgagaagatt +atttttgatgtttaccaatactatgaggcgtattcatcgaaataattttatggctgcgca +cttcacatacgcaggaagaccactgcagcttgctagatctggatgtatcattgtacttct +aagagcctgaaaggtaatacattcccagcgagcgtaacagattgtatggggacatattca +atcttagcaatgcattcgttcttcgaaatcaggcatttttgatgtcataagttctgtcaa +ctataaccctggaactttaatctgttgttcgtcgaatcaaggatcaagaaagcttctaaa +aggcccaaagcaaaacccaccactacttcagttttaaattagaatcacaccctagggtat +tagataataattaaatgtcttaggaagagatatcaaaagatgcagacatcctcaagtgaa +taagtctccggtctttcacaaacacatggttaagcgatgtggttttgactagagacgttc +gccaccatcgtaatatttctggttacctgcgaacgtgaaccaaatcttacttcatacatt +gcttaaacagtacaacttatctcttatcctatagagatctcaaaagtttgtatttttact +ggtttcaaattgagagaaaaactgcgttctccgatttctatattattgtttaaatgatgc +caaacatccagtttaaaacacggtgtgatcagccgactcagattcgtatcctatgttaga +atgagtcatcaaactacggtcacgcgtacattacagagtaaactacacgaatgaaagaga +taagaagatgaaagagttaataggtctcctgttaattatgagaaccctaactactacgga +ttggcctactagtgggttggaacggatataaaattcgactaagttcgcggcatgtcaggc +tcctaaatatgaagagaactcggcatcgaattatccacagtaatagttggaacatgattc +ctctatgcatggtgtatatccacgtacgccagtgtgcagtgtagccatgcgaccacgggc +gttgtgaatattcttcctcagaaaaggactgttgagcaaggaattggattctgtgaacgg +aatatagtcgagtagatggaatttcctacactgcgaaaaggtcatagtaaatcaaacgcc +gcgcgcagacatatcttcttggcaattagtactccactaaatcaattggttataaacttt +tagaatatctttatataagttcactacttacgctgcgggtagtatatttaaagtgatgtc +ttaggaatcttatggcggcggaataaacggcttgactatagataccctaattctggcata +accctgtaacgtgtgaagcatgctttaatagacgactagatcagcttatagaatggatat +gactgccacattgaagagattaacattagcgggtataatgttacgaacttgtttaacaaa +atagctctaccacacacgcatagtataatataaaggtcctggagttcgctacgagcctgg +aattgcagttcccctaccctgagtaaacaagatcagtatggacctatcttctgacccacg +tgtaaaaactaccgttagcggccctgagaacggtgaagttgattatcggctaacactcgc +tttaccaaggaacaaacaattgatggaacaggtaagcggctggattctatcctgaataca +gcataataatatttgctttcaatatatagttatgacactcccaatatcactaactcttta +caaatcggatatgaagagtgaattagagatggagccgatcgttccttgtattctggtaag +tactcgactaatgtgtgtagtctaggggtaaaggtccttaaccgtcgagtctagaactca +cgcattatgaaatcctccgagcatagagactctaaattcgccaagcaataagtcccgacg +cgaaggatgagaagctcattgaactgtaacatttacgtcgggctcaccatgttacatatg +cagcgggtaaaagtttttgcctggagtggttgagtttcgcgatacataaaaggccccact +ttcatatggtcaaatatctatatcgtgctttggacgactcgataaactaaagtagcctag +taatgccctaaaccgctgcatttgtgcaataaaaaatttagagtatatataacttccgga +cgtatggctgccttgaatcctcggatatcgtccttatacaacgatgaacggtatagctcg +gaactatgcagattaggcgatccttgggttgaatttttagtttccatagatatgagttag +ttttgatatggttaccatacgtccctgcattgaaacttaatctgtatattgattgatcct +tagcaatagcggcacatttctgggcaatatgacttaattaggttacggtttttactatga +tggatacgttttatatgatagaataacagttgctatttaaacaggtactacattcaacta +atactgtttcactattgtgtccaacatagggaatatattgcctgaatagatgtattatca +ggcatcttttacgctccaggtagaactaattaaaaatgatccttagaaactttcaagcaa +cataagctaaaagttacgccaattataagccacatcggtaggatcttcaggcattcccat +atccttctctatcaatcccgtctgttgctaattggttatctaagcatatcgcggcgagca +tctacgataggtataaagttgctgctatctaattcgtcataatatatacatggaattaca +gattcatacgtcttcagtctcgtggtgtttctaagagcggacccaagaattacgtaatat +ctctctcgtgttacccaagaagttgacacgtgattgtcagctatctttttctggcgatgt +taatagttataaacaattgcatatagctgcaaattagctaatcaaatactcgtttcttaa +atgttatcagcaaagctttaggttctgtaatttcactgtgtaaagagggcgctaagttca +aaattggtttttggcaacaaacaatttaatagcgcagtgcaaaaataatatctcagggtg +taattatttctctaattggtctttacggttggaccaggcaatgggttttttatctatgtg +ataccaattaaaagtaatttcaaagtgacattaaacttaagtattgctgtcaagaccatt +acgacacttcaccaacacatttatgtattgtgctacgcggtatggcccgtagtaatttct +gatattgaccgcgttatcagcaagtacgctgtacaaatgccaaatttagtaaagctctgt +gtgcattccaaggtgcccacatcacacattatcaacatatcatgtcgttgtattacgtcc +ttttactagcctgggaaataccggtgattcagagtgaacataaatctctgaaagctacta +gacaaagctagtatagttaaaatatatatttcttttaatattaggatctttgcgattgca +catttcaagcatcgcattaacctacctccgtactcttctacaacggttgcatgtacgatt +tctatgcgatgaaatacttatgttcttagtttggggttactttgttcacctagtcctcga +acgcaaattagcttcgaatatctgaaaagtgtatgcgggcaccaaaacgatctcgattct +taggtttataattatagtcagaagataaatacatgcatatctggacactcttccacatgt +catgtcgactaactttgaactacagtcatatatagactgttatctgatccgtatgtgtct +attactactcttatctgagaaaggacccaatggagtcacagtaagcgatcatgtcatcgg +ggctttttccctgattataagattacactattgctgtgcttggggcctcctactttttct +atcttaatcattttgtacattaaaaagctaagaagtaggtacaacttatctttcccatac +gagctggaccattaatttaacagccgcaaggcgagttttaatgttaatctggaagggctt +tatgttctaagcttttagcactgagaaattaatccgtaggaaattaatcccacataaccc +ggtaagagaaccttacgccccgttactaataatgttctgcgcaatgtaggaagtgacaag +ctcactcttgcgacgagctccttaatacaggccctgcgttatattcgaccgtacctataa +ctagaccaccatcttaaatgtacagttatggttttcgacgcatagagtatgggaccacct +cgaaatgctcagctgcaaattgtactgggggtggttatcaaacatttaatatgaatctat +ggtaaagtactagtttatagatagccgaacactaaaggtttgcagaccttcctcccctga +ggaacttcgtgtcacaaattagattgagaaggtggtgataaaatcgcgtatctacaatga +tttggtgcaaatatttatcgattgcccaatcgttctactcgtactctttatagcctaacg +ccttttcttggcgctaattagcctaatccaagaaggagtctaacaaaattacttaaccat +actcttgtctattcggcccacgcatgcgcaagctcaaaaagttctcaacgggcgttttta +cttgagtcccaggaggtaacattggatctatgagtcttaacagtggaaatatgattttta +gattgtgttcagatttattgtcttattttggtctatctcatcagctatagctacataatg +acgtcttaactgtttcgactaaccttcagatctgactaccccaaatacaacatagcaaaa +gaatgatgctaacgcttaactatcctttcacgatcttaacaaaaaagctccatttaaaag +aatcgaaaacagatctaccattcgtggaatcaatttttggacgagtactggtcgggtcgt +gcttatttgctacaggattgtttcgtataacgttcaagcactttagcggttccatccttg +atggcgttaactgatgatgcgtaagtttatggtgatctaaaactctactacgaaccaggt +cccagcacgaaacgtcatctttaatgagtttttaggtctccaggcactaggctgcgaagt +ggaatatgtgtcatcagagacaaatagatgattcctatagctttttgcagttaagccact +aagtaggcggttctatagggtttcattcaaatcgatcgtaattcccgactctgcatagcg +tgggtcttgtatagaccattcttcaggcccgccacaatggtttcaagtttcaacttccgt +ttattggctgtccctcaatagagtcgttctcagggcacgactctcgttcgttattcataa +gtccagtttgatccacgaatacagaacacgcatatctgataataaaagcttaacgataac +tttcacgcgcatggtttatttttgatttattaggcaaccaaataccagaatgtagtcagc +gatatgtagtaaaatttagacaaacataaaacaaagtatcgccattacagtctcctgtta +ggagaacctttttatcaatatgtgtaggcgtgtattggcgcccttgatttaataataatt +acggctaaacgtattgatattttccaggaactgccccatctcatgagatgaccctaaatt +ttattcacacctcatttttaattcttttatatcacgattatttatctgagcaagcatctt +tgcaagcattcatagtgacggtgctgtctctatgaatgcatgctaatatacggtgcgcta +aacatattggttcaattcaatgtaagctacctcggaatttgcttgcactaagacggggaa +gccaaaacggtaaatcgccgtatatgctagtgccaagggacttgtccgttggagtcacta +tggagttacaagcattataaatctaaggaaatcgcagtatcagtccttaccccaaagata +cttcgcattccctggggtacggaccatgaaatacttctttcatacatgataaacgatgga +gactcggttaccaccctggtagttactccatcaattggagttaactaagatcgctattac +aggctttattagccaatcatcacaagcctctttttagagattcacaagttagcaaaccaa +agttcctttgataagtctttaacgagatctatcccaattccggctaggagtaaaatttat +atatttgagatcggggttaaagtcacacgcaatgcaaggggtttttatatggtaatgtcc +ttccctaattaggtaattttcagacctccgagagagagtagatcaacaacgcgttatact +cctaaaatgcttgtcgataacatgacactacagatcatccctggatgagcatcgactttc +attacttgattagttcagttaattcgtttcaaaccattttcaacaaaatcccccagtaga +tatgtatatgcacatcttagactaaataacagttttcataccctgggatttgtgtcacta +tctcaggaacgtcgagacgtcccctatcaccgcagcgagggtaactggccctgttccatt +gtaatcgatgggacgggacgttatattgcagacccaaagtagtaataaattcagccatat +ggacggagggggggaattgttaagaatataattcgattttcagctgaatgtaaaagctcc +agccattcctcctccacttgacattagttcgaagaaggtctgagaattggaattgcttgt +gacgttttttgtttccagacaaggaaatagcccagtaccaagtataatattatgacaata +gaagcttaaattcacaacgtaacatatctgttagcatgctctaatagaccgagaaaataa +gtgtctatgtgtgcgagaactgtcaattcacggcagtagtcacctaatctaacgtctagt +tcccgactatgaagtcttcacaaatggttagtaataatttcccagtggagtagaagtggc +ataacgtgcactctctgttaataatacctttagactactcccatttcgccagaacgtctt +gatggtaccctatgggaaacactcacacatgcttattgcctgcaacctcagcaatgtgtc +gtatgcggtatttctacgaacagctagtgaaaggactgatgacctaattttggtttctca +agtccagacgtgatattttgatgaccgtatctgacatctctgggcaattcggttaacctc +tggtacgaaatagtccgtcgcgtaggtaaaaatgataatgctgtcatcactatcatgttt +tagctaagctacactaccccatcgctcgcacgtggcaaagtgtgaggattccgatatcat +ccatgtgtacgaattcctaatactcttgctcagggcacttagggttattgtagcctgtgt +taccgtctcgcatattagatcattaatcaacagtcttataatcaccgtaatcggtaaaca +gttgttatttgttctgataggtagacagctaataaagatgctgttgaacagttacgtccc +acctttattgccctacagtgaaactagttcttactctgttgctgtaatatgtctagggtt +attgatttgctgccacttcaaaacggaaattaagtcattaacgaaaatggttccttcata +ggtaaagatcaatccccaattgaagccagaaattttgagatgtcgattcctgatcattcg +ccaaatttacagctcgtaaacgagttccatgtgtaaaaaaatgttgagtccactagcttg +tttattctggctcaaggtacgtggaacacgtagtattttgatactaatgccagacccgct +acgatccctgtactgtgagcagagccgatcctcagaaatagctaaatcttgtgcttcgtt +agaagtctcgactacgtgtagcctagtgtttgtgttgcgttatagtctatttgtggacac +agtatggtcaaatgacgtcttttgatctgacggcgttaacaaagatactctgggcaacac +acatacttctctcatgttgtttcttcggacctttcataacctttcctggcacatggttag +ctgcacatcacaggattgtaagggtctagtggttcagtgagcggaatatcattcgtcggt +ggtgttaatctatctcggtgtagcttataaatgcatccgtaagaatattatgtttatttg +tcggtacgttcatggtagtggtgtcgccgatttagacgtaaaggcatgtatggatcttga +tctatgcaaaggtaggtccatctatatacgttgcacagcggatacaaataagataagaat +ttactaacatttaaattttcttattgtcgagcatagattggaggaaaaacttatttactt +ggtatttaaacggaagtttctaatgtttatgattggatgcacggacagtttactgcttac +tttcttaggtttcttgaacaacaggatgcactagtaacatgtctcgttcatgcttccatt +aagttcttcttaaacttacacaaactacctaatttagagttgacgagatggttgaacgtg +ttgtgacaaacgtttgcaaaatgcacagtatcgttaccaaaaagtacatttaagtgtgtg +cgtaggaattctgctacgtccattgcaggccacattcacatcccacccctgaatatatgg +actgaatcacacacaccaaatttcatctaccttatcgtagcataactattaacaaacata +tacagacttcgcggtaaataaaatatattagtacacaaccgtatactggttgaactattg +cccagctttaagacgcttttaactaggtgcttgatcaagaagtattattatatgacggca +gtgtgtaatacctgaatagatatagacgttagattgtctgaaaacacgccgtagagacat +ttttgttagatatgtatttctttttgacgagccagcatcttagtatctgaagacgagcta +tatgtttgtagaaaatcgactgacattgtatacgaggcggcgtaagattaaccaaattcc +ccagaattagtaatggcgccttatcgatttactaacgatatataacttgtgatgttgtct +gcaatgtatacccgtgtaggctgtgctcttatcgaaggaaacgcattgaagtccaggctg +gatgaaaccaccgcgtacttccatgcgtctatacatagcgtcaccgatactacgttttgc +tatgtaatccattctaatgggtaagaggattcctcttatagtaaaatatgcttgactttt +taagaaccattgggagtggttggcaaaataatagtgggtgtctttctcagtgtatagttt +tctacaactacccctattaggttacaagtaatctggctttcttgccacttggcgatgata +gttagattcgtatttctacaacgcagttactgtatccatggcgcgagataattagatacg +atttgaatttggatgtagactcgttactactgttgtagaccagcacgtgagtatctagat +gggtttgctaccttgttagcggacttttgccgggaaaaagacatacgtacaaccgtatat +tttactataagcagtattggccaccctcgtattgcggcagggtgtgctcacctggttaaa +atgaaagagaaaaattccattttaaaacccggaggaatctattactgacgaggaaggtgt +ttaacccgttgagacatctcctaacgtaaaaggttcatattctagttattccgagagtca +ctttcctatccaaacatgaactgatagcataatgacaggttgaatggaaagcatatcctg +tttattctaaatctgtttcgctaatcaatatgctgtcacgaactcggagcttacccttac +aactatgtgttctgtttaccaggtgctaatatcccggcactcttttcatgcatgtcgctc +ctagcgtcatctgatttaatagcttaatgtctcatattttacagtagccagtgtagtatg +gaaggcggcgaaccagcccctacattgggtttcctgacataagtattacatatcacttgt +ctgattacacagcaaaatcgctaaccttactttgcgcatgtagctattggaactttgggc +tagtgtctatcccattaagtttaacagtagactagtccgtgagcgatcaccgagcttatg +tctcgtacccaagttttggatttggatcaaaaactactcgatattcatgatctacgggct +tcctttctccgggtatcattgcgccgagattaaaaataaaacgatagcgctgtgaaaaca +tgtttgacacgggatagcgtagaaactaaacaacgaatagaccatccaatttgaatttta +ttgggtccagcacttcgccatagtgttgaatggtaaagttcgaaaggaaatttgttatat +taattctgctacattttcgaccacttgtatctcaaggacaatatcccttgaggcttttag +cagaaagagatgccgtaattctaagggatgataataggttgggaaatttaagagcagtag +taacggtcgcgggttcgaccttaaactatatatttaaatctagccaaacaagttaacaac +aaccataaagttatgaccttattatattggcaagcttaacgttttaattgctctagtaat +agagtggtagaggtaagggaccatcacctgattcttcctccgcaaccattatatagacgt +gtcgtctgacaaatttcgagataaaacattcgtccttagcaacgaatatcgaatggcaat +tagccacattgagttaaatagttgaggatatttcttgcacagaatcagatctaatctaat +gattcgttactaaacacttcaccaggtatcgtgaaggctcaagattacccagagaacctt +tgcaatataagaatatgtatgcagcattaccctaagtaattatattctttttctgactca +aagtgacaagccctagtgtatattaaatcggtatatttgggaaattcctcaaactatcct +aatcaggtagccatgaaagtgatcaaaaaagttcgtacttataccatacatgaattctgg +ccaagtaaaaaatagattgcgcaaaattcgtaccttaagtctctcgccaagatattagga +tcctattactcatatcgtgtttttctttattgccgccatccccggagtatctcacccatc +cttctcttaaaggcctaatattacctatgcaaataaacatatattgttgaaaattgagaa +cctgatcgtgattcttatgtgtaccatatgtatagtaatcacgcgactatatagtgcttt +agtatcgcccgtgggtgagtgaatattctgggctagcgtgagatagtttcttgtcctaat +atttttcagatcgaatagcttctatttttgtgtttattgacatatgtcgaaactccttac +tcagtgaaagtcatgaccagatccacgaacaatcttcggaatcagtctcgttttacggcg +gaatcttgagtctaacttatatcccgtcgcttactttctaacaccccttatgtattttta +aaattacgtttattcgaacgtacttggcggaagcgttattttttgaagtaagttacattg +ggcagactcttgacattttcgatacgactttctttcatccatcacaggactcgttcgtat +tgatatcagaagctcgtgatgattagttgtcttctttaccaatactttgaggcctattct +gcgaaatttttgttgccctgcgaacttcacataccaaggaacacctcgcaacatgccttc +atatccatcgttcattgtaattcttacacaatgaatcctaagtaattacatccctgcgta +aaagatggtaggggcactgaggatatattaccaagcatttagttatgagtaatcagcaat +gtttcttgtattaagttctctaaaatagttacatcgtaatgttatctcgggttccgcgaa +taaacgagatagattcattatatatggccctaagcaaaaacctcctcgtattctgttggt +aattagaatcacacaatacgggttgagatattaattatttgtagtacgaagagatataaa +aagatgaacaattactcaagtcaagatgtatacgggatttataataaaaatcgggtagag +atctgctttgcaattcagacgtgccactaaatcgtaatatgtcgcgttacatcagaaagg +gtaactattattaattaataaagggcttaatcactacatattagatcttatccgatagtc +ttatctattcgttgtatttttaagcggttctaattcagtcattatatcagtgctccgagt +tctttattattgttttaaggatgacaaaatgcctcttgttataacgctgggagaagcaga +ctaagagtcggagcagttggtagaatgaggctgcaaaagacggtctcgacgaatggacag +actttactaaaccaatgaaagacagaagtagagcaaagtctgaagtggtatcagcttaat +tatgacaacccttaatacttccctttcgccgaatactggcgtggaaaggttttaaaagtc +gaagtagttagaggcatctctcgctcataaataggtagactactcgcaatccaatgtgac +tatgtaatactgggaacatcagtccgcgatgcagcgtgtttatcaaccgtccccactcgc +ctggggagacatgagaccacccccgtggggattattagtccgcagtaatcgactcttgac +aatccttttcgattatgtcatagcaatttacgacagttcagcgaagtgactactcggcga +aatggtattactaaagcattcgaacccacatgaatgtgattcttggcaatttctaatcca +ctaaagcttttccgttgaatctggttgtagatatttatataagttcactaattaagatca +cggtagtatattgatagtgatgtctttgcaagaggttggccgaggaatttacggattctc +tattgatacaatttgtctggcttataactcttaaggctgaaccaggcgtttttagacgac +ttgatcagctgttagaatggtttggactccctctttcatgtcagtaacatttcagccgtt +attgttacgatatgcttgaacaatattgatctaccacacacccatagtatattttatagg +tcatgctgttacctacgagcatggtattccacttcccattcaatgagtattcaacatcac +tagcctcagagatgatgacccacctctaataacgtcacgttgcggccatgtgaaacctga +acttgagtagacgatatcaagcgctttaaattgcatataacatttgagggtaaagctaag +cggatgctttatataatcaatactcaataataagatttgattgcattttagagttatgac +acgacatagttcactaacgagttactattcccagatctagactgaagtactgatcgagac +gatccttacgtcgatgatcgttagttatcgacttaggtcgggtctctagcggtattggta +cttaaccggacactatactaataacccatgatcaaagcataacagaatacagacgataat +ttcgccaacatatatgtacagaccccaagcatgagaagctcattgaaagctatcattgaa +gtcccgctcacaatgtgtcttttccagacggtttaactggttcccgggagtcctggagtt +tcgacttacataaatggaaacaatgtattttgctaatttatctatagcgtcatttggacc +aatacagaatattatgttgcctagtaatccactataacccgcaagtgctgatagaaaatt +tttagacgatttataaatgccccaagtatccctcccgtgaatcctccgttatactaatta +gtattcgttcatacgtataccgcgcatatatgaacatttggcgataaggcgcgtgaattg +ttacgtgacagagatagcagtttcttgtgatatggttaacagacgtacatgaagggaaac +tttatatctatagtgatgcttccgtagaaataccgccactggtctgccaatgatgaagta +tgtagctttaggtttgtactatgaggctttcgtttgtttgcagagtataacagttgcgag +tgaaaaaccgacgaatttatactaatacgctttcactattggctacaaaatagggaagag +tttcaatcatgagagggagtatatggatgctttgtagctaaaggtagaacgtatgtatat +gctgccgttcattcttgaaagatacataagcgataagttacgacaattataagcaacatc +cctaccttcgtaacgatttcactgttactgcgcttgaaatacactatggggctattggcg +gagagaagcagatcgcgccgagcatatacgagacctataatgttgatgatagagaaggcg +tctgaattgatacatcgaagtacactttctttcgtagtatctctcgtcctctttctatct +ccggacacaagaattaagttatatatatagagtcttaccaatcatgttgaatcctgattc +tcagagttctttggcgggccttgtgatgactgagaaacaatgcaatattgctccaaattt +cctaagcaaattctcggttatgttatgttatcagcaaagcgttacgttatgttatttaaa +tctggaatgacggagcgaagttcttatgtcggtgtgggaataattcttttgaagacagca +ctccttaaataatatcgctccgtgtttgtatttatcgaatgggtctgtaaccttgcacaa +gcaaatcggtggtgtatatatcggataacaattaatacgatgttcatagtgacagtatac +tgatcgagtcctctaaagtcaattacctcacttaacaatctcattgatgttgtgtcattc +ccggtatcgcccgtagtatgtgctctgattgaccgagtgtgaaccaaggaacatctacta +atgcctttgttaggtaagatctctctgaattccttcgtgccaacttaaaacattatcaaa +atttcttctacttggattaactacttttacgagcatggcaaattcccctgtggaagacgg +ttcattattatcggaaaccttatagaaattgcgtgttgactgaaattagatttttattgt +aagagttgcatctttgcgattcctctggtctagcttccaatgaacagtcctcccttctat +tcgacatcgggtccttcgtacatgtctttgcgatgtaataattaggttcggagtgtggcc +ttaatgggtgcaactaggaatacaacgcaaatttgctgacatgatagcaaatcggtatgc +cggcaccaaaacgtgctccttgcttagcttgtgaatgagactcagtagttaaataaatcc +atatctgcaatcgattccacaggtattgtccactatctttgaactactctaagagataca +agcttagctgagaccgaggtgtatatgactacgctgatatctgtaaggtaccaatgcagg +caaagtatgcgagaagctaataccggctgtttccagctttataagattaaaatttggctg +tcctggcggcctcagaattgttctatcgtaatcagttggttcattaattagctaagtacg +aggtacaacttatctgtcccagaacagctccacaagtttttttacagccgaaacccctgt +gtgaatcttaatatccaagcgcgttatctgattagagtttacaactcagtattttatcag +tacgttttgtttccaacattacccggtatgacaaaatgacgccacgtgtcgaataatggt +ctgaccaatgtaggaagtgaaaagataaatattgcctacacatactgaattcaggcaatg +cgttttattcgaaaggtcatataactagaaaacatgatgaattcttatcggatcctttta +ctagcatagtgttggcgaacacctcgtaatgctcagcggcaaattggactgcgggtcctt +atcatacattttttttcaatataggcgattggtctaggttagtgattccccaacacttaa +ggtttgctgacattcataccctcagcaacttcctctcaaaaattagagtgagttggtggt +cttataagaccgttgattatttgaggtggtcaaatgatggtgcgatgcacaaatcgttat +aatcgtactctgtagacaataacccattgtagtgccgattttgtgcataatacaagaagg +aggatataaaaatgacttttcaataatattggctattagcaacaagaaggagaatcctca +ttaagttagcaaccgcagggggtactgcagtccaaggaggtttcattggagagagcagta +tgaaaacggcaattatgattgtgagattcgctgaagattgtgtctctgattttcctagat +agaataagctatagctacttaatcaactcttaactgtggagactatcctgatgatctgaa +taccccatttacaaaattccatatcaatgaggctaacgcttaaatttcatttctccatcg +taacaaaaatcagcctttttatacaagacaaaacactgcttccattacgggtagcaatgg +ttgctcgactactggtagcgtcgtgatgtggtgataaagctgtcttgcgtttatacttaa +acaaattttgacctgacataatggagcgacttatcggatgttgccgatctttagggtcat +ctattaagcttatacgaaaaagggacaagcacgttacgtaatctggtaggactgggtacc +tagaaacgcaagaggaggcgaactccaatatctgtaagaacagaaaaatacaggagtcct +tttcatttttcaagttaacaatataagtaggagcttagagaggcttgcatgaaaatcgtt +aggaattacagaataggcagagagtggggcgtgtagactacattcttcaggccccacaat +atgggttataggttaaactgcactttttgcgatctcccgaaatactgtcgttctctgcga +accacgctcgttccttttgctgtagtccacgttcatccaactattcagataaacaagatc +gcagaattaaagcttaaccatatcttgatagcccatcgtgtatggggcatgtatgtgcaa +acaaaagacctcaatcttgtctgcgagagggaggaaaatttagacaaacataattcattc +tttcgactggacacgctaaggtttggacaaactttgtatctatatctggaggcctgtatt +ccagcccttcttttaataagatttacggcttaaactatggatatttgccaggaaatgaca +ctgctattgacaggaacataattttgattcaaacctcattgttaattattttatatctcc +tgtttttatatcagaatgcttctgtcctagaaggcatactcaaggtgagggctcgaggaa +tgaatcataatagaccggcccctattaatattggttcaattctttcttacataacgcgga +atttgattgcacgaacaccgggaacacataaccgtatagcgcccgttatgctagtgccta +gcgactgggaccgtggagtctatatcgtctttctaccattattaatctaaggatatacca +ctttaagtcctttcaactaacataaggcgcattccatgcgctaaggaccttgaatttatt +atttcttacatgataaaagatcgagtcgacgggaacaaaaggctacgtactcaataaagt +gcagtttactaagagccctttttctggcttgtggagactatcataacatgaagatgtttt +gacattcaatagtttgcaaaacaaacttactttgtgtagtattgaacgagatctttccaa +ttgccccatagcaggaatagttatatattgcagatcgcggtgtaacgcactccaaatcca +tcgcggtgtgtgagggtaagcgacttaaagaattacggtttttgatcaaagcacagtgag +agttgagcaaattacagttatacgacttaattcagtctccataaattgaaacgacacttc +ttaacgggaggaccagacacgttcattaagtgaggagtgcactttttgactttaaaaaca +tggtaatcaatttaaaccacttgatatgtatatgaacagatttgaagttatttctgtttt +aatacactgggagttctgtcaatatcgcaggaaccgcctgacgtcccctatcacacctca +gagggtaaagggacaggggaaagggtaatcgaggggtagggaacgtagttggcacaccca +atggacgaataaatgctgccatatccacggagggcgggattgcggttgattttaaggcga +tggtaacctgaatgtaatagatcatcaaatgcctcctccactggaaattactgcgtacat +ccgctgagaattgcaatggagtgtctcggtttttctttaaacaaaaccaaattgacaact +tcatagtataatttttgcacattacaagcgttaattaacaaacttactttgctgttagct +gcctatatttgtccgacaatataactggatatctctgcgagaactgtaaattaacggcac +ttggaacataatagttcctattggtaacgacgttgtaggcggcaattatccggtggaaga +attgacaactgcagttgaactgcatgaaagtcaaatctctcgtaagtataactttagaag +actccaaggtacccagaacctcttcagcggacacgatcgctatcaatcaataaggattat +tcactgaaaccgctcatatctggaggtggacgtttttcttcgaaaagcttgtcaaaggac +tcatcaaatttttggccgtgctaatcgacacacctgttattttcatgaccggataggaca +tctcgcggaaattcgggtaacagctgggtagatataggacctcccctacgtattaatgat +aagcctgtcataactagcttggtttaccgaagagacaataaacattcgagcgctcgtgcc +aaactcggtgcattacgtttgaataaatcggtaacatgtactattactctgcctaacggc +acttacccgtttgggtccatggggtaaccgctcgatgttgacagaattatgctaaagtcg +tttaagatcccgattaccgaaaatctggttatgtctgagcattcgtacactgcgtattaa +gatcaggttgaacaggttcctaacaaattttgtgacctaaagtgaaactaggtcgtactc +tgggcatgttttatgtcgtggcgtatgcatgtgctgacacttctaaaaccaaattaaggc +tttatccaatatgggtccttaagtgctaaacatcattcacaatttcaagacagattgttg +gtcttgtcgattccgcatctgtcgccaaattgacacatcgtaaaccaggtacatcggtaa +ttatatgttgactaaactaccgtgtgtattctggctctaggtacggcgaacaagtacgat +gtgcttaagaagccctcaccccagacgagcccgcgtaggtcacatcagcagatcctaagt +aattccgttttattgtcctgagggagtaggatcgacgaactctacaagtcgctttgtcgt +gccttataggctatttcgggtcaatgtagcgtcaaatgaactattgtcatctgtacgagt +taactaagtgtctatcgccaactaaaagacgtctcgatggttctttatgcggacctgtca +tatcattgactggcacttgcttacatccaaataacacgtttgttagcggatagtcgttaa +gtgtgcgcaagatcatgaggcggggggggtaatatttcgccctctacatgataaatgaat +aagtaagaagatgatctttttgtggcggtaccttaagcgtactcctgtcgacgagttact +actaaaggaatgtagggttctggatctatgaaaagcgacctccatatatatacgggccta +agcggagtaaaataagtgatcaatggactaacattgaaatgttagtattgtcgaccattg +agggctggtaaatcttatttacgggcgtgggaaaacgaacgtgatatggtttagcatggg +atgcaagcactcgttaatgcttactttagttggttgcgggaacaacaggaggctatacta +actggtagcgttcttgcttccattatgttattattataattaaaaataagacatatggta +gagttgtagtcagggtggatcgggttgtctataacgttggaataatcaaaactatcgtta +acaaaaacgaaatttaagtcggtgcggtggaatgcgcctacctcatgtgcaccacacatt +cacagcacacccctcattataggcaaggaagcaaacaaaaaaaagttaatcgaccgtatc +cgaccttaaattttaaaataaatagaaacacttagcggtaatgaaaagataggactaaaa +ttcactagtatcctggaacgaggcaacagagttatctagatggtaacgaggtgctgcatc +aagatgtatgatttttggtccgctgtgtggaatacctctattgatatacaagtgactttc +tcggtaataacgcacttcacaatgtgttgtttcttttctatgtattttgcaagagaaaga +agcttagtataggtacacctcagagatgtttcgtgtaaatcgtatcacatggtataactg +caggaggaacattatccaaattcaccacaattactaatccacccttttacttttactaaa +gatatattaattctcatgttgtctgaattgtataacccggtaccctgggagcgtatcgaa +ggataccaattgaagtcctcgaggcatgttacaacacacgacttccttccgtctattcag +acactcaacgagactaacttttcctaggtaatcaatgatattgggtaactcgtggcatct +tatagttattgatccggctcttttgtagatcctgtgcgactcgtgcgctaattaagactg +gctctcttgcgcaggggatacgtttattctacgtacccgatttggttactactaagcggc +ctttcttcaaacttgcagttgtgacttacattcctatttcttcaaagcagggaagggtta +cagggagagacttattgagatacgattggaatttccatgtacaatcgttaatacgcttgt +agaccagcaactcagtatagagatccgtttcctaaagggtgagcggtaggggcaaggcaa +taagaaattactaaaaccctagttgttaatataagaacgattcgaaacaataggattgcc +caagggggtgcgaacatggtgtaaatcaaagagaaataggcattgttaaaacccgcacgt +ttctagtacgcaagaggaacgtcggtaaccagttctcaaagatcctaacctaaaaggggc +ttattctactttttccgacactcaatggacgagacaaacatgaacggatagctttaggtc +tcgttgaatgcaaagaatagaatcgttattattaatcggtttccattatctatatgcggt +atagatctccgagaggaccctgtaaactagctctgcggtttaactggtgctaatagaccg +ccactatgttattgcttctagctcctagcgtcttatcatgttatacattaatgtcgcata +ttggacagtagccaggcttggatggatcgccgacaaaaagaaaagactttccctgtaagg +acttaactattacatataacttggatcattaatctgcaaattagagtaacggtctttcac +cagcttcatattccaacgtggcgctagtcgatatcccatgaagtttaaaactagaattgg +cagtctcacttcacagtgcgtatctatacgacaaaagtggtcgatttgcataaatatctt +atcgatattcaggttattaccgattccttgctaacgctagaagtcacaccagagtaataa +taattccagacacctgtgaaataatcggtcactacggatagactagtaacgataatacgt +atagtccataaaagttgaattttaggggctaaagatattagcaatactggtctagcctaa +tcgtcgatagcaaagggctgtgaggatttctcctacattttcgaccaattgtatcgatag +gaatagttacagtcacgcttgtagatgtaagagatgacgttattcttagggttcttaagt +cggggggtaatttaagaccactagtaaaggtagaggcgtacacagtaaacgatattttga +aatcgtcaaaaaaaagtttacaacatcctttaagttagcaactgattttagtggcaacct +taacggttgaattgatctactaatacaggcctacaccgaagggtacagataatgattctt +actaccctaacatgatagagtcctgtcctatctcataggtcgacattttaaattcgtaat +gagcaacgaagatcgtttcccaatttgcaacattcacttatagacttcaggttatttcgt +gctaacattaagatagaatataatcagtcgttaagaaactattatccagctttcgtcaac +cataaagattaaaaactgaaacttggcaagatatgaatagctatcctgctttaaccgatc +gtatgagatgctttgtagcaagaaaagtgactagcacttgtgtttagtaaagcgggagag +tgcggtaattaatattaatatactattaagctacacagcaaaggctgcaataatgttagt +aagtagaacataaaggtattctccacaagtaataaatagtgtgagctaattgactaactt +aactctcgcgacaagtgatgtggataagatgactcatatcgtctttttctgtagtgccga +catcccacctggatcgaacaattccttctagttatcgactttgattacctatcctattaa +acagatagggttgtaaagtcagaaaatgatcggcttgcgttggtctaccatagctagagt +tagaacgcgtagatagaggccttttgttgccaacgtgggggtgggatgagtctgggcgag +cgtgactttctttcgtgtccgaatttgtttaacatccattagattagatgtttgtgtttt +gggtctgatgtcctaactactttctcagtgaaactaatgtcatcatccaagtaaaatagt +ccgatgaagtctccgttttcggccgaagcttgtctataacgtatataaagtcgctgaatt +tagaacacaccttatctatgttgtaaagttactttattccaaaggacgtgcacgaagcgt +gagtgtgggaaggaacttaaagtcggatcactcttgtcagtgtagataagaatttctttc +atacttcactggaatccggcgtatggatatctctaccgcgtcatctggtggtgtctgcgg +taaaaagtcttgctgcacgagtctgagaaatttttggtgccatcacatcgtaactgtaca +acgaacaaatagcatcaggccttcttatccagcgtgaagtctaattatttcacaagcttt +cctaagtatgtaaatccctcacttaatgatgcttgcgccaatgaggatagaggacattgc +atgtacgtaggactattctccaaggggtcttctattttgttagcgaaaattgttacagcc +taatgttagagcggcgtacgactttataccagatactttcattagatatgcaaatatcca +attaaatcatagtagtatcgtggtatggacaatcaaaaaagacccgttgtgatatgatgt +ttttctagttcgttctcatatatatagatcaacaatgaataatctcatgatctataaccg +atgtatatttatattccggttgactgctccggtgcaattcactacggacactaatgacta +atatggcgcctttcatcagaaacgctaaatatgattaatgaattaagggagtattatcta +attattagagagtagcagttagtctgatattttcggtgtatgtgttagccgttataatgc +tgtctttttatcagtgagaacagggagtgtgtagtgttgtatgcttcactttatgactct +ggttatatccctcggagaacaagaataagagtacgagaagttcggtcattgaggatgaaa +tagaaccgctagacgaatggactcacgtttataaaactatgtatcacagtactacagcta +actctgaagtccgagaagcttttgtaggacaaaacgttataagtacctttcgcagaatac +ggccgtgcatacctgttataaggcgtagtagggacaccatgctatccctcatatagagct +acactaataccattacatggtgactatcgtttacggccatcatctgtaagcgatcatgcc +tcgttagcatccgtacaatctcgcatggcgtcactgcagaaaaaccccgtgcggattttg +agtcagaactattcgaagcttctcaatccttttccattatggcatagcaagtgacgactc +gtcagccatgggaataatagcactaatccgattacttatgaattagaacccacatgaatg +tgattctgcgaattgtctaagaatctaatgattttccggtgaatatggttgttgttattt +attgaacttatattattaacatcacccttcgttagtgatagtcagctatttccaagaggt +tccccgagcatttttaccattctctagtcatacaagttggagcgcttttaaatctttagg +ctgatcaaggcgttttgtctagaattctgcagatgttagattcgtgtgcaatccctcttg +catgtcagtaacaggtcacccgtttttcgttacatatgctggtaaaatattcatagtaat +aactacaatacttgatttgttacgtaatgctcgtacataacacaatcgtattccacggaa +cagtaaagctctattattctgatcgagcctaagagaggatcacactacgctattaaagtc +acgttcacgaaatctcaaacctcaactgctggtgaccagttatagacagtgtaattccat +attacatgtcaggcttaagctaacccgagcctttatataagctataatcaagaattagat +tggagtgcattttagacttatctatcgaaatagtgatagtaagagtttatatgacctgat +ctagactgatgttctcttccacaacagccttaaggcgtggagcctttcttatactattag +gtcgcgtcgagagccctattcgtaatgttaacgacactagactaatatacaatgagctaa +gaataacacaagtcacaagataatttacaaatcatatatctacagtccacaaccatcact +agcgattgcaaagcgttattggtactaccgctctaaatcggtatgtgcaagacgcgttaa +ctggttcaagcctctcctgctcgtgagactgaaagaaatcgaaaatatggatgtgcctaa +ttgttcttgtgagtcatgtgcaactatacagtttagtttggtcaagactatgcaactatt +aacagcatgtgcgcattgaatatttggtgtcgattgataaatgccccaacgttccatcac +gtctataagccgtgttactaatgtgtattagtgcatacctattcagaccatagttcaact +gttggactgaaggcccgtcttggggttcgtgaatgagagtgcagtttcttgtcttttcct +taactgacctaaatgaaggcaatcggtttatctagagtcatgcttaaggtgaatttcagc +caatgggctcccattgagctagtatggtgctttacctttgtaagtggtggctttccttgg +tgtgctgactttaacacggcagagtgattatccgaagaatggataataagacgctggcaa +tattggctaataaagtccgatgagtttcaatcatgactgcgaggagatccatgcggtgta +cctaaacctacatcgtatgtatttgctgacgttcattcttgatacataaagatccgatat +cggtccactttgtttaccaaaagccctaccttcgtaacgatggaaatgtgaatgagagtg +aaatacacgatggggatattgccggtgagtacaagttagaccacacattagaactgacct +atattcgtcatcatagagatggagtatgaattgattctgcgaagtacactggctttacga +gtatctagacgccgcggtatatctcccgtcaatactatgaaggtatatatatagaggctg +aaaattcatgttcaatcctctttctaagagtgagtgggagccccttctgttgtcggagta +aaaaggcattattcctcaaattgtcagaagcaaagtatacgtgatgtttgcttagaacaa +aagagttaccttagggtaggtaaatctcgattcaccgagagaagtgattttggcggtgtg +cgattaattcttttgatgacagatctcattattttatatagctccctctttgtatttaga +gtttgcgtaggtaacctggcaaaaccatatcccggggggagagtgcgctgaacattttat +acgatgtgattactcaaaggataaggttcgaggcctctatactcatggaactatcttata +attataatggatcgtggctcattccacctatccaaacttctttgtgatctgatgctacga +gtgtgaacaaacgtacatcttctaaggaatttgggacgtttcatagctcgcatttcattc +ctgaaaacttaaatatttttaaaaattgattctactgcgaggaactaaggtgtagacaag +cccttagtaaccggtggatgtcgcttcagttttatagcaaacattattcaatttcagtct +tgactgaaattagtttgttagtgttagaggtccatatgtcacatgcatatggtctagatg +ccattgtacagtaataccttagattagtattagcggcatgcgtacttggatttcacttgt +aagaatgagcttaggacggtcgcctgtagggctgcaaataggaatacttacaatttttga +tgacttgttagcatatcgctatcacccataaaaaacctgatacttgatgagcgggtgatt +gagactatgtactgatataattcaatagctccaatagatgaaacagctatgcgcctattt +atgtcaaataatcgatgtgatacaagcttagagctgaacgagcgcgagtggaattagcgg +tgatctctatcctaaaaagccacgaaatcgatcccagaagctaatacccgaggtgtcaag +cttgagttcagttaaatttgcatctcatgccccacgaagaatgggtagagagtttgaagg +tgcttctggattttcctaagtacgtggtaaaaatttgatgtaaatgaacacctcctaatg +gttgtgttaaccacaaacccctgggtgaatctgattagccaacccagtgatctgatttca +gttgtcaaatctcttttttataactaccttttgtttccataatttaaccggatctcataa +tgaacaaacgggtagaataatggtagcacatagcgagcttgtctattcagaaatatggcc +tactcagaatgtattctccaaatcagtgttatgcgaaacgtaattttacgtgtaataatg +atgatttcttatcggttccttgtactacaatactcttgcccaacaaatactaagcataac +agcaaaattcgaatccccctccttttaataaatggtttttcaatatagccgattcgtatt +cgttagtctttcaccaactattaacctggcatctaattaataaaatcaccaaaggactct +ataatatgacagtcacttcggcctcttttaagacagttgattattgcaggtccgcaattg +atggtgacatgcacaattagttagaatccgactatggagacaattaacaattgtagtgcc +catttggtccagttgacttcaaccacgagttataaaggtattttaatttatagtcgatag +taccaacaacaagcacaatcataattatgttagaaaacccagggggtaatgctctaaatc +cagctttaaggccagagtgcactatgaaatcgccattgatcattgtgtcattcgctgaac +ttggtgtctaggaggtgccgagtgagaatatcagataccttatgaagcaacgattatatc +tggactagatcatgatgatcggaataaaacattgaaataagtccttatcaaggagcataa +acattttatttaatttatacttcgtaaataaattcagaattttttttcaagacattaatc +tgagtaaatgacggctagaaagggttcctactcgaatcgtagcctacgcatgtgggcagt +aacctggcttgcgtttttactgaaacaaaggttcaccggaaagaaggctgccacttttag +cttcttgacgatctttagcgtcatatttttagattagtcgaaaaacggaaaacaaactta +acgaagctggttgcacggggtaccgagaaaccaaagagcaggacaactccttgatcggga +agaactgaaatagacagctgtcattttcattggtcaacttatcaatataacgaccaccgt +agtgacgcttgcatgaaaatactgaggatgtaaactatagccagtcaggcccgcgtgttg +actaattgatgaagcaaacaaaatagccggtattcgttaaaaggaacgggttgccagcta +cagatatactctaggtatatcccaaacaagagacgtcctttggctgttgtaatcggtcat +aatacttgtcacataaacaagatcgctgaattaaacattaaacagttagtgatacacaat +cgtggttggggctgggatgtgcaataaaaagtcatctatcgtctatcacagagcgacgta +aatttagacaaacattattatttcttgacaatggaatcgataagcgttcctctaacttgg +tatatatatctcgaccccgggattccagccattcttgtatgaagatttaaccatttaact +atgcatagttgaatggtaaggaaaatgatattgactgcaacagattttggatgcaaaaat +atttgtgaattattggttatatactggttgtatagcacaatcattaggtcctagaaggca +tactcaacctcagcgagagagctagcatgcataattgtaccgcccatattaatattcctg +aaatgatttcttacattacgcccaatttcagtcatcgaacacccccatcaatttacccga +tagagaacgtgatcatacgcaataccctatgcgaacgtccactctatagcgtctgtatac +aatgattattcgttccatttacaacgttaagtaatttaaacttacataaggacaaggaaa +tccgcgaacctcctggaatgtatgagttatttatgcagttaacttcgtctcgaccggaac +taaaggcgtcgtacgaatgaaaggccacttttagaagagacctttgtatccattgtggag +aatatcataaattcaagatggggtgtcatgctattcggtcctaaacattcttaatggctg +ttctattgttagtctgatttaaaatggaaccatagcacgaatagttagatagggctcata +cccctgtaacgatctacaaatccttccccgggtgtgtgcgttagcgacggaaagttttac +ggtttgtgatcaaagaacactcacacgtcagattattacactgatacgaattatttcagt +cgacagtaattgaatagaaacttattaacgccagcacctgacacggtaagtaaggcaggt +ctgaactgtttgactgtaaaaaaatggtaatatttttaaaaatcttgatttctatatcaa +atgatgtgtagttttttctctgttattaaaatcccagtgcgcgaaatttagatcgttacg +actcacgtacaagatcacacatcacacgcgttagcgaaagcggaatggctaatacagccc +tacgcaacgtagtgggatcaacatatggacgaatttatgctcaatgagccaacctccccc +gcattgcggttcattttaaggcctgggtaacatctatcgtttagataatcaaaggaatcc +gactatgcaattgtctgacttcatccgctctcaagtccaatgcaggcgctacgtgtttct +ttaatcaataccatattgaaatcgtaatacgataattgttgctattgactacaggttatg +aaaaaacttactttgcgggtacatgcatatttttgtaccacattattacgcgatatctct +cagtgtactctaaattaaaccctcttcgaacattttagttcctattcgtaaacacgtgct +acgcggcaatttgccggtcgtagaatggacaactccagttcaactgcatgtaactcatag +ctcgcgttagtataaattgactagtagccatgggacaaagtaactagtcagcggaaaaga +tccctttaaagatatatgcaggttgcaagcataaagctcattgctcgaggtgcaccgtgg +tattccaaaagcgtctctatcgtatcttctaattttgggccgtgagaatcgaaactactc +tgatttgctgcacacgttaggtaatatcgcccattttcccgtataagctccgtacttata +cgaactacacgaccttttaagcattagccgctcatatcgtgattcgtgtacagatgagtc +tattaaaattacagacatactccatatctcgctccttgaactttgaataatgcgctaact +tgtactatgaataggcagaacccaactttcccgtttgcgtcaagcggggaaacgatacat +gttgtcagatttatgattatctagttttagatcacgtttaccgataatcggctgtggtct +gagcagtcctacactgagtatttacttcagcttcatatcggtccgaaaaaaggttgtgac +cgaatgtcaaaatacggagtacgatgggcatcttttttcgagtcgcggttgcagggcagc +aaaaggcttaaaccatttttacgatttttactatagcggtcatgaagtgcgaaactgctt +gcaaattttctacacacattgtggctcttgtccttgaagcttatggcgaaaatttgaaac +atagtataccagggaaagcgcgaattatttggtgactaatagtccgtgggtttgagccat +atacctaacgccataaactacgtggtgctttagatgcaatctaaacagaacagaaagcgt +agcgctcatcagcacagactaactttttcagtttgagtcgccggagggacttcgagacaa +gaacgcgtcaagtcgcttgcgcggcacggattcgattgggcggctcaatcttgcctaatt +tctactattgtcagctgtacgactgtactaagtgtatagccccaaataaaagaagtatcg +atgcgtctttatgaccaaaggtcttataattgaagcgcacttccgttcatcaaattaaat +cctggcttacccgattctccggaagtctgacctagagattgacgacggccgcgtattatt +gagacctcttcaggattaatcaataacgaagtagttgatctgtttggcgacgtaccttaa +gccgactccgctacacgagtttctactaaaccaatgtagccttatgcttagatgaatacc +gtcctaattagatattccggcataacagcagtaaattatctgttcaatggacgaacattg +aattgttagtattctacacaagtcaggcctcgtaaatattaggtaaggccgtgggataac +ctacgtgatatgcttgagcttgcgttgcaagctctcgttaatcattaatttaggtgcgtg +agggttaaacaccagcatattctatatgctagacgtcttccttaaaggatcgtagtatta +taattaataataagaaatatggttgacgtctagtcagcgggcatacgctgctctatatac +tggcattattcaaaacttgacggtaaaaaaacgaattttaaggcgctcacgtcgaatgag +ccgaactcatgggaaccaaaatgtcacagaaaacacctctttattgccaagcatgcaata +aaaaaaatgttaatagtacgtttacgacattttattttataataaagagaaactattaca +cctattgatatgataggacgtaaattaacgagtagcctgcatagaggcaaatgaggtttc +tacatggtatagacctgatgctgaaacatcgatgagttttggtcccctcgctcgttgaaa +tctagtcatttactactgtctttcgagctattataccacttcactatgtggtgtttcttt +gctatgtatggggctagtcaaacatgatgactatagctacaactcagagagcgggcgtgt +taagagtatctcatgctagaactgcacgacgaacttgatacaaagtaacaacatttacga +ttccacaaggtgactttgaagaaacatagtttaattctctgcttcgatcatttctataaa +ccggtaccatcgcagcggatagatgcataacatttctactactccaggcatcttaaaaca +cacgtagtacttcactagattaagacacgataagtgtataacttggcagtgggaagcaag +gagattggcgaactcctggcatctgttacgttttgttcaggctcggttgttgataatgtc +cgactcctgccatattgaagactcgctcgagggagatcgggattcgttgattataagtac +acgtgttccgtaatactatgaggcagtgattcaaaatggcacttctgacttacatgacta +ggtattattaccacggaagcgttaaaggcacactcttatggacttaagattgcaagtgcc +ttcttctagcctgaattcgcgggttcaacacaaactctctttagacatccgttgcctaaa +ggctgagacgtaggggcaaccctttaactatgtactaaaaaactagttggtaatttaaca +acgtgtccaatcaagacgatgcaccaacgcggtgcgaaaatcgggttaagcaaacacaaa +taggaattgtgataaaccccaccttgagaggtcgcaagaccaacctcgggaacaacggct +ctaagagaataacctaaatccggatgagtagactgtgtaactctctaaagggaagtgaaa +aaaagctaagcatacatttaggtctcctgcattgcattcaattgaatcgtttgtattatg +agctgtacagtagctatatcagctatagttatcccagaggaacaggtaaactagctctga +gcgtgaaatccggatattagaacccctagatgggattgattctagctaatacaggcttat +ctggttttacagttatctagatgattggtaaggtgaaacgcttggtgccttccaccactt +aaacaaaagtattgcccgggaagctattttctaggtattataaagtcgagcattaatatc +aatttgacagtaaaggtctttcaccagcttcatatgccatagggcccatactcgatttaa +attgaacggtttaacgagtattggaactctcacttataactgagtagctatacgaaaaat +ctggtccatttccagaaatttattatcgatttgctgcttagtacccaggaagtgataacc +cttgaaggcacaacactgtaataagttttcctgtcacatctgtaatattcggtcactacg +cattcacgactaaagataattactatactaattaaaagttcaatgttagggccgaatcat +agtagaaattctcgtctagcctaatcggacttacctatgggctgtgaggatttatcagta +tgtggacaaaaatgctagagataggtatagttaaagtcaccatggtacatctatgtgagg +aagtttgtagttcgcttctttagtccgggcgtttgggatgacaactactatacgtagagc +cgtactcaggattagatagtgtgaaagagtcaaataaaagggttaatattaatttaacgt +tgcaaatgtgtttaggccaaacattaaccgttgtagggatattctaatacaggccttcac +cgaaccctaatgataatctgtcttaataacattaaatgattgtctccgctacgagctctt +agggcctcattttaaatgactaatgtccaaagaagagactttcccaatttcaatctgtca +cgtatagacggcaccttagtgagtcatatcattaagatagaagattatcaggagggaagt +ttctattatcaaccgttacgcaaccataaacttttaaatctcataatggcattgagatca +agagctttcatgatggtaaagttcgtatgtgatgctggggagctagatatcggtatacca +cttcggttgtggtaagcccgagtgggccgttagtaatattaatagacgattatccgacaa +tgcattcgctgaaataatcttacttaggagaaattaatgctatgagccaaaactatttat +gtctgtcacattattgactaaagtatctatcgacaaaactgatgtccataagttgtagca +gatagtcggtgtatggtgtcaccaatgaaaacctcgagcgaaaaatgaattatagttatc +caatttgagtaaattgcctattatacagataggcttgtttagtcagataaggttccgctt +gaggtgctctaacttagcgagagttagaaagcctagtgagaggcattttggtgccaaact +ccggctcgcatgagtaggccagagagtcactttctttcgtcgaagaagttggtgaacagc +cttttgattagttgtttgtcttgtggctatgtgctactatataagttagaacgcaaacta +atctaatcagcaaagtaaaataggaccttgaacgagacggggtacgccgttgaggctcga +gatagtagataaactagaggaatgtagataaaacattagctagggggtttagttactgga +ttacataggaagtgcaccatcacggtgtgggggttcgtacgtaaagtcgcatcaatattg +tcagtggacttaacaagttcgtgcataatgaaatcctatacggactttgcatatctctac +cgactcatctggtcgtctatgcgggtaattgtattgctccaagtggatgactattttggc +gtcccagcacatagtaaatgtaaatccttataatagcataagcaattattagactgcgtg +aagtcttagtagttctcaagctttacgttgtatgtaaataactcacgtaatcagccgtcc +ccaaatcaccattgaggtcattgaatgtacggagcactattatcaatgcggtatgcgatt +ttctgagcgattattgttaaagacttagcgttgagccccggaacacttgattacagattc +tttaaggagttatccaaatatcattttaaataatagtagtatcgtgctttggacaataaa +aaaagacccgttctcttatgttgttttgcgacgtacttctctgatatatacttcaactat +gaagattctattcatcgataacccaggtatatttatatgcccgttcactgcgcagggcaa +attatctacggacaataatgacgtagttggacccggtaagaactaacgcttaatatgatt +aaggatgtatgccagtattatcttattatgtcagagtagaagtttctctgagattttccg +tcgttgtggtacaccggatttggctctctttttagaactgagaactcggagtgtgtagtc +ttgtttccttcaatttatcaatatgcttttataccgccctcatcaactataacaggacga +caagttccgtcttgctccatcatatactaccgatacaccaatcgtatcaagtttagtata +cttgctttctctcttctacagcttactcgcttgtccgagaagcggttggtgctcataaag +ttagtagtaaatgtacaactagtagccagtccttacctgtttttacgactactacggaca +ccatgagatacagaagttagtgctacaattataccattacatgctcaatatcgttgtcgg +ccataagatcgaagagtgcatcacgcgtgtgaatacgtaaaatctaccatcccgtcaatg +cacaaaaacacactccccttgttgactaacatcttttacaagaggctaaatcattgtcca +ggatcgaataccttgtgtacaatcgtcacccatcggaagaataccacttttccgatgtag +tatgatttacaaaaaacatctatgtgagtaggccaattgtagtagaatatattcatttga +ccgtcattagccttcttcttaggttgtgtacggatagtaggtacataaaccgtcgtgtgg +catacgctgcgatttcatacagctgccaacaccttttttaccaggctagagtcagaaaag +ttggagccatgttaaatagttaccatcataaaccactgttgtctactagtctgatcagct +ttcatgcctgtgcaagcaatatggattctcacgtaatggtaacaactgttgcgttactta +ggctggttaatttgtcagagtaataaatacatgtcttgttgtgtttcctaatcctcggaa +agtacacaagcctaggaataggaaaagtaaagctcttttattctgatagtgactaactca +ggatctaaatacgcgattatactaaccttcaccaaagctcaaaaatcatctgctggtgac +cagttatagacagggtaattcaatatttaatgtctcccttaacatttcaccagcatggat +tgaagatagtataaagttttacatggcagtcattgtgtcacggttctatacaaattctga +tagttagacggtatttgaaatgtgcttctagcatggtatcttacacaactgaatgaacga +ctggagccgttcgtatactatttgcgagcctcgagaccccgtttcctaatgttaacgaat +atagtataatataaattgtgatatgaataacacaagtaactacagtttggacaattaatt +gttctaaactaaaaatcattcacttcagatggcatagagttatggctactacacatataa +agcggtatgtgaaacacccgttttagccggaaaccctctactgctcgggacaatgaatga +tttccaaaatatggatgtgcagaattgttagtgtgactcaggtccaaatagacactttag +tttcgtcaagtcgttgcaaagtttaaaaccatcgcagcattctttatttggtctacattg +agaaatgaaaaaacgtgacagaaagtctagaagaactgtgaataatgtctattactgatt +aactagtaagacattagtgcatctggtccactgaagcacccgcttggcgttaggcaatct +ctgtgaactgtcgtggctgttccggtaatgtacgaaagcaagcctataggttgatcgagt +cgcttcattaaggtcaatttcacaatatccgatcacattgtgctaggttcgtcctttacc +ttgcttagtgctgcatgtacggggtgtcatgacttgttatcggcagactctttatcccaa +gaatggataatatgtacatggaaagtgtccataattaagtcccttcactgtaaagaatga +ctgccacgtgatccatgaggtctacagaaaccgacttacttgctttttgatcaacttaat +tatggattcataaagttcagatatcggtacaattggtgtacaatatgaaattaatgagga +aacatggaaatctgaatgacagtgatagaaaagatccccatttgcccggtcagttcatgt +tacaccactcattagtactgtaagtgtttcgtcagcattgagatccacgatcatgtgttt +atgccttcgaaactggatgtacgacgatcgagacgaagaggtatatataacctaaatact +aggtacgttgttagagagacgatgaaaattaatcgtcaatacgctggcgaacactgaggg +ggacccaatgctcttctcggtctaaaaaggaatgtgtcagaaattggtcagttcaaaagt +agaccggatctttgcggagaacaattcacggaacgtagcgttgggaaatatcctttctac +cacacatcggattttcgccctctcccattatttattgtgttctcacatagaattattgtt +tagacatccctcgttgtatggagagttgcccgagcgtaaaggcataatccatataccgcc +gggtgagtgacctgaaattgtttttagttgggatttcgctatggattagcttacacgaag +agattctaatggtactataggataattataatgctgcgtggcgcagtacaccgttacaaa +cgtcgttcgcatatgtggctaacacggtgaaaatacctacatcgtatttgcaatttcggt +cgtttcatagagcgcattgaattactcaaaaattatatatgttgattatttgattagact +gcgtggaaagaaggggtactcaagccatttgtaaaagctgcatctcgcttaagtttgaga +gcttacattagtctatttcagtcttctaggaaatgtctgtgtgagtggttgtcgtccata +ggtcactggcatatgcgattcatgacatgctaaactaagaaagtagattactattaccgg +catgcctaatgcgattgcactgctatgaaggtgcggacgtcgcgcccatgtagccctgat +aataccaatacttacatttggtcagcaattctgacattatacctagcacccataaattta +ctcagacttgaggacaggctcttggagtcgatcttctgtttgtatgcatgtgatcatata +gatgaataagcgatgcgactagttagggcatagtatagatctgtgtatacagttcagctg +aacgtccgcgagtggaagtacagctgagatctatcctaaaatgcaaccatatcgttcaca +catgatatgaacccagggggaaacattgagttcagttaaattggcagcgaatcccccaag +aagaaggcggagtgacgttgaacgggcttatggtttttcagtacttcctccgtataagtt +gagcgaaatgtaaacagaataatcgttgtgttaacaacattaaaatcgcggaatatgatg +agaatacacagtgtgagcatttcacttgtaaaatatctttggtagaacttactttgcttt +aaatatgttaaaccgatctaataatctacaaaacggtagattttgcctagcacattgcgt +ccttctctattcagatagaggcaatactcagaaggttttatccaaagcactgtgttgact +aacctaagttttagtctaataatcatgattgattataggtgccgtggactacatgactcg +tccacaaataatacttagcagatcagcaattggccaagcacccgacttttatttaatggt +tgtgcaatagtccagattcgtattcgggactctttcaaataatagtttcctggcatctaa +gtaagaaaagctcataaggaagcgatattatgacacgctcttccgccgctgttttgaaac +ttgagtattgctcgtccgaaattgagggtcacttcaaaatttactgagaagacgaagatc +gactaaagttaaaatgctagtccacagttggtcaagttgaattcatccacgagttatata +gctattttaatttatagtcgagtgtacaaaaaacatccacaataagatttatcttagaat +aacaacccccgtatcatcgaaatcctccgttatggcctgactcctcgagcttatagcatt +tgtgctggcgctcttgccaggaacttgctcgcgaggtggtgacgagtgagatgatcagtt +tcattatgatgatacgattttatcgcgactagttaatcatcatagcaagtaaaatttgaa +ttatgtcattatcatgctccattaacaggttatttaattgatactgacgaaattttttca +caatgggttttctagaatttaatatcagtaattgaagccttcataggggtcctactagta +tcctacacgacgcaggtccgcagtatcctggagggacgtgttactgattaaaagggtcaa +aggaatgaaggctcacaatgttacctgcttcaccatagtgagccgatgagttttacatta +gtactaaatcccaaatcatactttacgatgaggcttgctagcgctaaagagaatacatac +accaccacatagaattgttagcgatgatatcaaatagactcctggaagtgtcagggggaa +actgttcaatatttcgtccacaggactgaccaggcatggaaaagactgacgttggaaact +ataccatctcacgcccgacgcttcactaattgatgatccaaaaaatatagcccggattcc +tgattagcaaagggttcacagagaaagatattatcgacgtatatcccaaaaaacagacgt +aatgtgcatcttcgaatcgggatgaatacttgtatcataaaaatgtgacctctagtatac +aggttaatgttagtgatacacaatactcgtgggccatgggttctcaaataaaatgtaata +ttgcgtcgatcactcacccacgtatttggtctaattatgttttatttagtgacaatccaa +tagataaccggtcctattaagggctatatttttagcgaccacgcgtttaaacaaaggatt +gtatgtagatggtaccagtttaattgccagtgggcaatcctaagcaaaatgagattctat +cctaaagtttgggcttgatataagatttcggatgtatgggttttataatcgttggagagc +tcaatcatgagctaatacatggatttcgctacctcaccgagagaccttgcatgaagaatt +ctaaccaaaagtttaataggccggattggattgagttaattaagaccttgttcagtcata +gtaaaaacccttaaattttaccgattgacaaagtgagcagtcgcaataccctatgcgaaa +cgcctcgatagtgactaggtatacaaggtttttgagttcctttgaaatagttaactaatt +taaaattaattaacgacatggaaatcacagaacctaatgctttgtaggagttatttatgc +tgtttactgcctctacaaccctaataaagcagtcctaagaatgaaacgcatcttttagtt +cagaaagtggtatccagggtggtcaatttaataaattcaacatcgggtctcaggatattc +ggtcatataatttattaagggctcttcgagtcttactctgagtgaaattggaaacagtca +tccttttcgttgtgaggcatcttacaccgctatcgatatacaatgcattccaccgcggtg +tcccgtacacaaggaaacttgttaccttggggatataagaaaactcacacgtctcattat +taaactgagtacaatttttgcacgagaaagtaatgcaatacaatatgatgaaagccagct +aatgaaaagggatggaacgcacctcggatctgttgcactggattaaaatccgattatttt +taaaaatattcagtgctagagcatatcaggtctacttttttatctggtatgtaaagccca +cggagcgatagtgagatccttacgactcaacgaaaagttataacataactcccgttagcc +aaagcccaatcccgattactgccctaccctaacgtctgccatctaaatatcgaacttgtt +atgatcaatgtgactacctcccaccctttccccttcatttgttccactggggataagcta +gcgttttcagaatcaatgcaataagaatagccaattgtctcacttcatcagagctcttgg +caattccaggcgctacgtggttctggaatatattcatttttcaaatagtaatacgtttag +tgttgctattgtctacacgtttggatattacgttatgtgagcggacatcaatagttgtct +aactctttagtaagccagagatagcactcttagcgaatggataccatcttccataagttt +agttaatagtccgaaacaactgcttcgagcatatttgaacctccttgtaggcaaatagcc +tcttcaaagcaatcttactaatagatagagtttgttttaagggactactagaaatgggac +aatcttaatagtatgacctaaactgacatttaaagatatatccaggtggcaagcataaag +atcattgcgccacctccaccgtgggattacttatcagtcgatatcctatatgctaagttt +gcgacggcagaatacaaactaagctgagttgatgctaaccttacctatgataccccattg +gaccggttaacagccctacttattccaaataaaagaacttttatgctgtagaagctatta +tagtgatgcctggtaacttcagtatattaaaatgacacacatacgccatatagagctcct +ggaactttgaataatgagcgaacttcgaagttgaagagcaagaaaccatatgtcacggtt +gcctaaagcccggtaaccagacatgtgctatcattgatcattatcgaggttttcataacc +ttgacccattatcggctgtgcgcggacaagtacttaaatcactagtttcttcacctgctt +atcggtaagaaataaggttggcaaagaatcgcataagacggacgtagagccgcagcgttg +tgcgagtccaggtgcatgcgcagcaataggattttaaattttgttccatttttaatttag +ccgtaaggatgtccgtaaatgattgaaaattggattcaatctttgggcctatgctactgg +aacctgatcgacaaaatttcaaacatacgttaactccgaaagaccgtatttttgcggcta +gaatagtcagtcgcttggagccatataccttaccacttaaacgacgtgctcctgtagttg +aaatataaacagaacacaaagactaccgatcatatcaactgaagatctttgtaactttga +ggcgaagcaccctcttcgagacaactaagagtaaagtaccgggcgccgcaaggagtcgat +tgggaccctaaatcttgacgaattgctaagaggctcagagctaccactgtaatttctcta +gagcccataataaatgaacgatacatccgtaggtagcacctaagggattataatggaagc +caaatgcagttaataatattatatactggcgtacacgattcgacggatctctcacatagt +gattcacgacccccccctttgattgacacagcgtcagcattttgcaagaacgatcttctg +catagggtgcgccaccgtaaggatgacgtcgaagctacaactgggtataatttaccatgc +ttccctgatgctgagtgcaatacactaagaatgagtttttaccccatatcaccagtattt +gttctgttattgcgaagaaatggctatgctgagttggcgactaaagtcacccatcctttt +tattaggtaaccccctcccttaaactaactgatttgctggagctgccctgcatacatata +ctttatcatttatggacgtccgtgacgcttattatccaccatagtcgatatgctacacgg +attcattaatggatcgtaggagtttaagttatatttactaagatcggtctcggctactat +cccgccttacccggcgctatttacggccatttttaatatattgacggtaattattcctat +ggtttcgaccgcacgtccttggacaagaaagaatggcaaaaaaaatgtaaaagaaaaaaa +atattgagtccctaccatcatataaaaaatatgtgatgagtaacttgacgaaatgttagt +ggttattaaagactatctattacaccttttgttttctgtcgtagtatattaaagtctaga +agccttacaggaaaatcagggttatacagccgatactccgcagcatgaatcatcgaggag +gtgtcctaccatcgcgccttgtaatcttgtctgtgtatactgtatttagaccttttatac +aaagtaaatatctcggctttatgtgattgggaggggcctactcaaacatgatgacttgac +ctaataatcactgtgcgggcgtcttatgactagctattccttgaaatccaccaccaaatg +gttaatatgtaaaaactttgacgatgaaacaaggtgaatgtgtagttactttgtgtaatt +agctgcgtcgagcattgcttgtaaaaccgtcaatcgcacacgttacttccataaaatttc +tacgaatacacccttcttaaaaaaaacgtaggaattcacgagtttaacaaacgataactg +tataaagtggaagtccgaagaaagcagatgcccgaactactcgaagatgtttcgttttct +taaccataggggcttcttaatggcccactacgcacattttgttcaagcccgagagggaca +tccccattacgggagtattactaaaactgttccgtaatacgttcagcaagggatgaaaaa +ggccactgctcaagttattgacgtgggagtattacatcggaagcctgaatcccacactat +gatggtctgtacaggcctagggactgcgtctagacggtattaccggcttctaatcatacg +atcgtgagtcttaacgggaagtaaggctcacacctaccccaaaccatttatctatgtaag +tataaaattgtgcgtaagtgttcaaagtggacaataaagacgtggcaaaaacccccgcac +ataagccgctttagatttcacaaataccaatgcggttaaaaacatccttgagtcgtacat +acaccatactcgcgttaaacggatataacagaagataataaatccggatgtggagtcggt +gtaactatagaaagccaagtgaaataatgcttaccagtcatttagctatacggctttcat +ttcatgtcaagagggtggagtttgacctgtacagttgatatatcaccgatacttagaact +cacctaaagctaaaattgctcgcagcgtgtaatccgcatattacaaacaatagatgggat +tcattatacataagacacgatgatctgctttttcaggttgcgagatgttgcctatcgtca +atcgagtcctgccttacaccacttaaacaaaagtattgacagggaacctattttcgaggt +attatatagtccagcttgaatatcaatttgacagttaacctagtgaaaatcagtaagagg +aaatacgccacattctccagtgaaattctacgggttatcgtctagtccaactatcaatta +taactcacgagatataagtaaattctcgtacttggcctgatttttattatactttggatc +cttagtaaacaggaagggagaaaccttcaacgaaaaacactggattttgttttactctca +aagctcttatatgacggaaataccctgtcaagtcttaactttattactagactaatgaaa +tgggcttggggtggccagaatcatagtacaatttagcggatacactattcggactttcct +atcggctgtctggttggataagtatggggactaataggctagacatacctatacttaaac +tatacaggcgtcatctatctctgcaactttggagttccctgatgttctcccgccctttgg +gttcacatcttctataccgacacccctaataacgattagtttgtgggttagagtaaatta +atacggttaatattaatgtatcgttgaaaagctggtgtcgccaataaggtaaccggctag +gcagagtatatgtcacgaagtataactaccctaatgataagctgtaggaataaaattaat +gctgtctctaagcgaagagatatttccgactctgttttaatgacgaatctcattacttct +gacttgcaaatgttcaatatggcacggtttcacggcacctttgtgacgcatataatgaac +ttagaagattataacgacggaactttatatgataatccgttacgattaaagaatctgtta +aatatcataatggcattcagttctagaccgtgcatcatggtaaacttactttctctgcat +ggcgacatacatttcgctattcaaattcgcgtgtggttacacccactcgcacctttggaa +tattaagagaagatgatcagaaaatccattcgctcaatttttctgacgtacgtctaattt +atcctaggagacaaatcgttttatgtctctcacatttttgaagaaaggttcgagagacaa +tactcaggtcctgaactgctagaagatactcggtggagcgtggcaacaatgaaaaactcg +tgacataaatgaatgatacttttccaagttcagttaagtgaatatgtttaacatacccgg +cttttcgatcttaagctgacgctggacgtgcgagtaatgtcagtctcttacatacactag +tgactccaagtttcgtcaaaaacgccccctcccttctcgagcccactcacgctatgtatt +gacgcgaacttgttcgggatcagacttttcaggagttcggtcgcgtgtccctatgtgcta +atatataagttagatcgcattagatgctaatctgaatacttatagacgaccttcaacgag +aacgggtaccaccttgaggctagagttaggtgtgaaacgacaggtagggacatataaaat +ttgagtgcggctttagttaagggtttaattacctactcaaacatcacgctcgcgcccttc +gtacgtaatcgaccatctagaggctaaggggactgtactaggtagtgattaatgatatcc +tagacgcacgtgccttagatcttcagactctgatggtccgcgatcaccgtaattgtagtc +ctccaactcgatcactttgttggcgtcaaagaaattacgatatctaaatacttataatac +aataaccaaggatgagaatgactcatcgcgttggagttatattgcttgaagttctatgga +atgaaagcacgttatctgccgtcccaatatctccagtgagctaattcattggacggtcca +ctttgatcaatccccgaggagatgttcggacactttagtctgtaacacttagcgttgaga +ccacgaacaattgattactcagtcttgaaggtgttttccaaagttcattttaaataagac +tacgataggcctttcctattgatataaactacccggctctgttgttcgtgtgagtcgtac +ttctctgtgtttttctgattatagcaagattcgattcttagtgtaaacagcgatttttat +ttgacccgtcaatgagaagcgcataggatctaagcaaaattatcaagttgtgccacaagg +taagatctttccagttattgcaggtaggatgtatcccacgttgatagtatgaggtctgac +gtcaactgtctaggagagttgaccgcgtgcgggtacaccggatttgcatcgatgttgaga +acgcagaactcccactgtcgtggcggcgttcctgatatttagcaagaggcgttgataaag +ccctcatcatctagatctcgacctcatctgccctcttgctccatcattttctacacagac +tactttcctatctacgttagtataattgctttctatcttagtatcatttagagcttctcc +gtcaacaggttcgtgctattaaagttagtacgaaagggacaacttgtagcaacgcattta +atcggttttcgactacttcgcacaaaatcagataaagaagtttgtcattctattagacat +tgaattgcgcaattgacttgtaccacttatgatcgaacactgaatcaagactgtgattaa +ctaaaatagacaagccactatatcaactaataaaaacgcccctggtggtcgaacatagtt +gactacaggataattaattggactggagccattacattctctacaatcgtatcacttccc +aagtagacaactttgaccttgtagtttcatgtacaaaaaaatgctttcgcaggagcacat +tggtagttcaatagtttcatgggaacctcttgagccgtcttctgtgggtgtgttcggata +gtaggtactgataaagtcgtgtcgctttcgatgagagggaattcaccggaaaacaccttg +gttaacaggatagtctatgtaaacttcgagacatgtttaagagttaccagcttaatccac +ggtgctctactagtatcatcagctgtcttgcctcgcctagaaatatgcattctatcgtta +tcctatcaacggttgccgtactgagcagccttattgtggaagagtaatatataaatgtag +tcttgtctttacgaagcagacgtaagtaataatgacttggaataccaaaactaaacatag +tggattatcatactcaagaactctccagataaataacagtttttacgatacgtcaccaat +gagcttaaagattaggatcctcaaaactgatacaaacgctaattcatttgttattggatc +cagtatcagttaaactgaatggagtgaagattgtagaatgttgttctggcctcgcatggg +gtctaggtgatatacaatttctcatacttacacggtagtggaaatctgattctagcttcg +tagctgactatactcaaggaaccactgctcaaggtaggagactagttccgaccctacagt +caaagtggccgaagcttaaactatagactagttgttaaatgctgatttcaagatatcatc +tatatacagtttggacaattatgtgtgcgaaactaaaattcatgctattcagatggattt +cacttatgccttagaaacagatattgcccgagctcaatcaacagttttagccggaaacaa +tcgaagcatagggacaatgtatcttttcctaaattgccatgtgcagatttctgagtgtca +cgaagcgcataatagaatcttgtgttgcctcaactcgttgaaaagtttaaaacaatcgca +gcagtctttttggggtctactgtgtgtttgcaaaataactgaaagaaacgcttgaacaac +tctgaagtagctcgagtactcattaaagtgtaacacattagtgaatatcggccaatgaac +caaacgcttcccggtacgctatctctctcatcgggaggcgatgtgcaggttatctacgaa +agcatccctttacgttgagagtgtcgatgcatgaacctcattgtaacaatagcccagcaa +attctcatacgtgcctcagggtccgggcgtactcctccatggaagggcgcgcatctagtg +ttataccaactcgctttttaactactatgctgtagttctacaggcatagtggccagtatt +ttctaacttctctggatagatgctctcactcctcatccatcacggcttcagtttacgtct +tacttgcttgttcagcaacggatggaggcattaagtatcttcactgttccctaaaattgc +tgttcaatatcaaagtaaggacgatacagggaaagctcaagcacactcattgaatactgc +cccagttgcaacctcacttaatctgacaaaaataatgactactctaagtgttgcggaagc +agtctcttccacgagcttgtctgtatcacttcgtataggcatgtaactcgatagacacga +acaccgagtgagaaactatattcttgcttccgtgtgtgtgacaccaggtaattgatgcgg +atataagctggagatcactcacgcccacacaaggcgctgctacctctttattccaatgtg +taagaatttgctaacttcatttctagaccgcagctttgcggtcataatttcacggtacgg +acccttgggttagagacttgataacacacttcgcagtttccaccgcgcacatgttttagt +ggcttctaacatagaatttttgttgtgacataaagagtgcgtgggagacttgcccgaccg +ttaagccataatcaattgaaagccccgtgagtcacatctaattggttgtactgcgcattt +agctatcctttagctgactcgaagagattcgattcctaatataggttaattagatggctg +ccgcgcgaagtaaaacgtgaaaaacgtagtgcgcagatctgcataactcgcgcttaatta +cttatgagtagttccaagttcgctacgttatgagagagattggaattaagcaaatatgtt +ttatggtgattttgggatgagaaggactgctaagtacggctactaaacaaatttctaaaa +ccgccatctaccttatcttggagacatttaagttgtatatgtcactagtctagcttttgt +ctgtgggacgcgttctcggaatgagggaaatgcaagagccgattcatcaaatgcttatct +aagaaagtagtggactattacaccaagcacgaatgccagggaactgctttcttgctcagg +acctcgcgacaaggtaccccgcataagtcctagaattacatttggtcagcaatgctgaca +tttgaccgtgaaaacataattttaatcagaaggcagctcacccgcttgctctagatctta +tctttgtatgaatgtcagaatttactgcaatatccgttccgaatagtgagggcttagtat +agttctctgtatacaggtcacatcaaactccccctgtcctagtacagctctgagctttaa +ttaattgcatacatttccttcaatcatcagatgaaaacaccgcgaatcatgctcttctcg +tatagggcaagagaagcaacaaacaactagcccgactcacgttcatccgccgtatccttg +ttcagttcttactccgtattaggtcagcgaaatctaatcagaataatcggtcgcgtatca +aaattaaaatcccgcttgaggttgacaattaaaacgctgagcagttatcggctattagat +agtggggtgaaagtaattggctggaattatgttaaaacgtgatattaagctaaaatacgc +tacttgttgccgacctaattcagtcattcgatattcagttagagccaagaataacaagct +tgtataaattgaacggggtgcactaaacgatgtgttactctaatattcagcttggagtat +acctgaaggcgaattcatgtatcggccaataataagacgttgaagatcacaatttggact +agcaaaagaaggtgatttatgcgtggggattgagtccactgtacgagtacggtctctgga +aaattataggttcagggaatataaggaagtaaagataattaccaagagatttttggtatc +gctatgacccagaggtgttctaacgtctgttttgatccgcagaatttctgcctcaatgca +tatttgacggacttgaactagagcctctaaagttaaatggcgacgcaactgttcctaaac +ttcaattattactactctttttttcctagggtattgtagaggccagtggacaaaataaat +caaatttaagatgtttcggacattaacatcccccgtagcatagaaatcatcagttatcca +atctctcatcgagcttttacaatttctgctggcgctatggacagcatatgccgcgagacc +tccgcaagactcacttgatcactgtaagtatcttcattagaggttagagcctatagttaa +gctgctgacctagtaaaattggtattttctaattttattgctcaagttaaaggttagtga +agggataatgacgttatttttgaacaatgggttgtattcaattttatatcacgaatggaa +cccttcattcccggcataatactagacgacacgaacaagctccgatctatcagccaggca +cgtgttaaggtttaattccggcaaaccaatgaagcatcaaaaggtgacctgatgcaactt +agggtcacgatgagtttttcaggactacttattacctattaataagttaacatgagcctt +cataccccgtaagacaatacatactccaccaattagaattctgagccatcttatcttttt +gtatcatcgaagggtatggccgaataggttaattagttactcctaacgtctctacaggca +tgcatttgacgcaccttcgaaaatagtcaatctctcgccacacgcgtctagtatgcagca +tcaaaaatatagtccacggtttccggattaccaaacgcggcaaagagaaacattgtatcg +acggagataacttaatacagaaggaaggggcatcttcgaatacggatgaataattctatc +tgtttattctgacatcttgttttcaggttaatcttacgcattcaaatgacgcctgcccca +tgcgtgcgcaattattttctaatattgacgagagcaatctcactccttttgggtctattt +atgttttattgaggcacaagcctatacagaacaggtactattaaggccgtgagtgtgaga +ctcaaaccgtggaaacaaaggatgggttgttcttggtacaagttttagtgcatgtgggca +atccttaccaaaatcagatgctatccttaactttgggctgcatttaagatggcggttgga +ggcctgtgagaatcctgcgtgtcatctttaatgaccgaattcatccatgtagattcagat +cacacactcattccttgatgttgtctaaacaaaagttgttgtggacgcattggagggagt +taagtaacaacttgggatcgcatacttataaaaattatatgttaaactttcacaaacgct +gaagtccaaagtaactagcccaaacgcctcgagagtcactaggtattaatggtgtttgag +ttcctgtgaaatagtgttcgaaggtaaaatttatgtaccaaatcgaaagaacacttaata +aggcttgcttgcacggaggtatgatgtttactgactctacaaccctaattttccagtacg +tacattcattccaataggttagttctcaaagtgctatacaggctcctcaattgatgatat +gcttcagccgctctatggatattagctcattttatttaggaagcccgcttagaggcttac +tatgagggaaatgccaaaatgtcatacttttcggtgtgtcccatatgacaccgctttaca +tagaatttgaattaaaacgcgctctcccgttcactaccatacttggtaccgtgcgcatat +tacatatagatataggatcattttttaaagctgtactaggtttgatcgacaatcttatgc +tatactatatgatgtaaccctcataatcaataccgatcgtacgatcctagcataggtggc +aagcgattttatgccgattattgtgttaaatagtctgtgagtgtgattatcagggctacg +ttggtagaggggttgtatagacctcgcacacattgtgacatacttaacaatatacgaaaa +ctgatataataaatccccttacccaaacaccaatcccgttgaatcaactaccataacgtc +tcccatataaattgcctacttgtttgcataaatctgaatacataacaccattgcaccttc +ttgtgttccaatcccgttaagattgccttgtcagatgatatgcaagaacaatagcatttg +ctagcaattattaacagctcttcgaattgcctccacataacgcgggagggtatattttaa +tttggcaaatactaagtactgttggcgtcatatgctattaacggttggatattaagttat +gtcagccgtaagcaagagtgggcgaaatattttgttacccagtgagagcactcttagagt +ttggatacaataggccatatgttgacttaagaggacgtaactacgccgtacaccattgtt +caaccgacttcttggcaaatagaatcgtattagcaatcttaagaatagagacacgttcgt +gttagggtatactacaaatccgaaaatcttaagaggatcacctaaactgaaatttataca +tatttcaacgtggatagatttaacataattcagccacctccaacctgggagtaattttca +gtagatttactagatgattagtggcccaacgcacttgactatataagatctggggatcct +aacctgacctatgagacaaaattggaaacgttaacagcccttatgtgtacaaagaaaagt +aagttgttgctgttcaacagatgatagtcatgacgcgtaacttcactatagtaaattgaa +acaaatacgcaatttagacagaatggtacggtcatgaatgacagtaattcgaagtgctag +accaacttaaaataggtaaacgtgcccgaaaccccccttaacagaaagctgctatcatgg +tgcagtatcgacgtgttcagaaacttgtaacttttgagcaggtccgagcacatggaagta +tatcacgtgtttctgaaccggcttatccctaagatatatccgtcgcaaactttcgattta +gtcccacgtagagcccaagcgttgtgcgactccacgtgcatgcccagaaatacgagttta +aatttggttacatggttaattttgaccgaagcatcgcactttatgattgataattggatt +caatatgtcgccctatgcgaatgcaacatgatccacaatttggctataagacgtttaatc +cgtatcacactttgtttgcggctagtatagtaacgcccgtgcaccaagagtcagtaacaa +ttataagtactccgcaggtacttcaaatataaaaactaatcaaacacgacccatatgatc +atctgaagatatttggaactttctcgacaaccaccctcgtactcaatacttacactaatc +gacaggcacacgcaacgtgtacagtcgcaccatattgagtcaagatttgcttagtggcga +tgagcgtacacgcttatttctctagtcacaattagttatctacgagacatcacgagggag +caaataagcgatgttatggctacacataggcacgtatgaatatgatataagccagttaaa +cagtcgaaccatcgagcaaattctcatgcaccaacccacacgttgaggcacaaagagtaa +gctgtttgaatgtaacttcttctgctgagcgggccccaacgtaaggatcaactagaagag +aaaactcggtattagtttaaatgcgtcacggagcatgagtgcatttcactaagaatgtct +gtgtaaccaatataacatctatttgttatctgattgcctacttatggctttgcggtcgtg +gcgactaatgtctccaatccttttgaggtcggtaccaactccctttaaattacgctgtgc +aggctcatgcactgcatacatatacggtagcaggtagggacctcacgcacccttattata +atcaatagtagttatcagtcaacgaggcaggaatgctgaggtcgaggtgttggtatattt +tctatgtgccgtctaggcgactatcacgcattaccaggcgagatttaagccaattttgaa +tatagtcaacgtaatttttactatgggttccaccgaaacgccttgcacaactaagaatcc +cataaaatatcgatatcaaataaaagattgtgtcaataccttcatatatattttttcggt +tgactaacgtgaactaaggttaggggttttgtatgtctatataggaaacagtttcttttc +tgtcctactttagtaaagtcttcaagccttactccaaaatcacggtgattaagccgttac +tcagcagcatgattctgcctgctcgggtcctaaaatccagccttgtaagagtcgctgtgt +attagctagggagacctttgttaaaaaggatatatcgcggcgggatgtgagtgcgtggcg +catactcaatcttcagctcgtgtcattataatatctctcccccacgcttttcactagata +tgccgtgtaagcaaacaccttatgcttaatttcgaaaatattggtacttgaaaaaagctg +taggggtacttaatgtctggtaggagatcaggagagaattgagtgtaaaaccgtaaagcc +ctcacctgacttcatgtaaatggcttagaagactccatgatttaataaatactacgaagg +aaagactggatctaaagataactctagtaaggccaactcccttcaatgctgttgccagtt +ataatccaagagctgtccttttctgaaccatagcggcttctgaagcgaactagaagcaaa +gttggttctagccagacagccacataccctgtacgggtgtattactaaaactggtccggt +attagttcaccaagggaggaattaggcaaaggatctaggtatgcaagtcggagtattaca +tccctaccctgaatccatcaataggttcctctgtactggccttcgcaatgagtattcaag +gttgtacagccgtataataataagatagtgactatgaacgggaagtaacccgctcacctt +ccccaaaacattgttatatctaagtattaaagtctgccgtagtgttaatactcgaaaata +aacaactggcaaattacaccgcacttaagccgcttttgatttatatttttccaatgcgct +tttaaaaataattcagtcctacatactaattaagacccttaaacggagatatcacaagtt +aagttttaaccatctcgactaggtggaactatagatacccaactcaatttatcattacct +gtaatgttcctagaaggattgcatttcatgtcaagacggtggagtttcacagcgaaactt +cagtgtgaacagattctgagaaatcacctaaacctattagtcagagcacccggttagaac +cagttgtcaaaaaatagagcggttgcatgagacagaagtaacgatgagatccgttgtaac +gttgagacatctggcctatcgtcaatacagtcctcccttaaaaatatttttaaatactag +gcaaacccaacataggttagtcctatgtgatacgccacatggtatatcattttgtaacgt +tacctagggataatcaggaagtggaattacgcaaaagtagacagtgaaatgcttagggtt +atagtctagtccaaagataaaggataaagcacgtcagagaactatattagccgaatggga +atcattgttaggagactgtggatcatgtctaaaaagcaacgcagaaacagtcatcgaaaa +aatctcgtttttgtttgaatctaaaagagctttgatgaccgatagtacctgtatactagt +tactgtattacgtgtctaatgatttcggattggggtccccagaatcagacgtcattgtag +acgattcaagtttaccaatttaatttcccagctctccttggagaactatcgccaataatt +gcagtcactttccttttctgaaacgataaagccgtcagagttctctgcaacgttggactt +acctgaggttctaacccactttcggttctaatagtagttaacgacacaacgaataacctt +tactgtggggctttcacgatattttttcgcttattattaatggttacgtcataagctggt +gtccaaattaaggttaccggcttcgcagagtagttgtatccaagtataacttccctaatc +ataagatcgaggtagaaaattaatgctgtctctaaccgaacagatatgtcccactatgtg +gtatggacgttgctaattacttctgaagggaaattggtcattatggatacgtgtctacca +tcaggtcggacgcagatatggttctgtcttcagttgatccaccgttctttataggataat +aactgacgattaaagattatggtaaatagattaagccaattctcttcttgtcagtgaagc +atccttaactgacttgctctgcagcccctcatacatttagctattcaaagtaccggctcg +tttcaaactctcccacctttggaagaggttgtcaacttgataagtatatcatttacagca +ttttttcggacgtacctctaatgtttcattgcagaaaattagttttttctatcgcacatt +ttgcaagtaacgttagagacacaattatctgcgaatgaactgctagatctgacgaccggg +agcctcgcaaatatcaaaaaagactgacatatatcaaggagtcgttgacaagtgctggta +agtcaattggtttatctgtcccggcgtttcgatcttaagctgaccatgcacggcagagta +atgtcactctcgttcttacaagtctgtctccaagggtcggcaaaaaagacccctccattc +tcgagcccactcacgatatgtagggacgacaacttgtgcggcttatgaattgtctggact +gcgggcgagggtccatatctccgaagttagaagggacatacctttagatgataagatcaa +ttcttattgacgaaattcatccacaacggggaacaacttcaccctagacttacgtctgaa +aagacacctagcgtcttataaaaggtcagtgccccgtttcgtaaggctggaattacctac +gcaaacttaaacctcgcgcccttccttacgtatcgacaagatagaggctatcgcgaatgt +actacggaggcatgaatcatatactagaaccaagtgcctgtgatattaacaagatgatcc +gacgcgagcaccgtaattctaggcataaaactccagcaatttgggggccgaaaacaaatg +acgttagctaattaattatatgacatgatcaaaggaggtcaatcacgcatcgagttcgac +gtatattcattgaacttcgtgcgtttgaaagaaacttttatgaaggcaaaattgatcctg +tctcctatttcatgcgtacctcctagttgataattccccgagcagtggttaggacacttt +tgtcggtatcaagttccggtctcaaaacgtaaaattctgtaatctgtatggatggtctgt +gaattagttaatttttatgaagtcgtcgagacgcagttcctattgatttattctaaacgg +agatgtgcttcgtgggactcggaagtagatctgtgtttatgattattgctactttagatg +ctgactgttaactccgtgttgtttttcaaccgtatatcacaaccgaattggatagaacct +atagtttcaagttctgccacaaggtatcatatttacagttagtgctggttgcttctttca +aacgtggtgagtttgtgctatcacgtcaacggtagagctcagtggaccgagtgcgcgttc +aaccctgttccagagagggtgtgatagcacatataccacgctcgtcgaggcgttcatgat +agtttgcaagagccggtgttaaacacatattattattgttatccaactaatcggacctat +gcataaagcattgtctaaacagaataattgcctatatacggtagttttagtgatttatat +cttagtatcagttagagcttcgaactcttcaggttcctcatatttaacgttcttcgaaag +cgaaaacttctacaaacgaatgtaagcggttttccaagtagtacctataaatcacagaaa +gatctgtctcagtatagttgaaatggtattcagctagtgacgtgtaccaattatcatagt +tcactcaagcaagacgctcattaacgaatatagacaagacactatatcatataataaaaa +agaacatggtgctcgaacatagttgaattcaccatattgaaggggaatgctgacatgtaa +ttcgctactagacgatcaattccctacttgtcaaagttgaactggtacgttcttggaatt +aaatatgattgcgctggaccaaattgcgacttcttgagtttcagggcaaacgattgagcc +ggaggatgtccgtctcttacctttcttgcttatgataaacgacggtccctgtacatcact +gggaattctcagcaaaaataattgggtaaatcgagactcgatgtattcggccacaaaggt +gttagacgttaaagattattcaacggggcgataataggatcataaccggtatgcaagcgc +attgaaagagccatgagatccttatccgataaacgctgcacggtatgtgcagccttattg +tcgatcacgaatttataaatgtagtctgggctgtaagttgaagacctaagttataatgaa +gtgcaataccaaatcgattcatagtggattatcagactcaagatatctcctgataaatta +cagttgttaagatacggataaaatgagatttaagattagcagcctctaatctgtttcaat +cccgttggaatgtggtatgcgatcaaggttaagttaaaatcaagcctgtcttcagtcttg +attcttgttctgccatcgcatgcggtctacgtgagttaatatgtagcttacgttctagct +tgtgctaatctgagtatagattcgtagaggaatattatcaagcttccacgcctcaacgta +cgtgtattggtcacacaagacactaaaagtggaagtagcgtaaactatagtctagttgtt +aaatgctcagttcttgttatattcgatatactcttggctaatttatgtctgagtatataa +aattaatgatattaacttgcatttcacggatcccttagaaaaagattttgaccgagcgca +ttataaacggttacaccgaatcaatagaagcatacccaatagctttctttgaatttattg +cctgcgcaacttggctgactctctagatccgaataattctatatggtcgtgacgaaacta +gttcattactgtttaaaatgccaacatgtcttttgggccgataatggctctttgcaaaat +tactcaatgatacgattgatcaaagcggtagttgctagtggtagcatgtaagtctatcaa +atgtctgattatccgaaaatcttccaaaagagtccacgtaccatatctatctcatagcga +cgcgaggggaaccttatctaactatcattccatttaccgggtgactctcgatgcaggatc +cgattgggataaattgcccagaaatggctcattcctgactaagggtaaggccgttctcag +caagggaaccccgcgaatctaggcttataccatctagattgttaactacttgcctgtagt +tctacagccatactggacagttgtttctaaatgatcgggattcatgctagcactcctctg +aatgcaccgcgtaagtttaactattacgtccgtgggcagataaggatggaggctgtatgt +atcttaactgttacctaatatggctggtaattatcaaagtaaggaccttaatgccatagc +gctagcaatcgctttgtatactgaccatgtgccaacctctcttaatctgtaaaatataat +gtcttagctaactgtggacgatcatgtctctgcctagagcttcgctgtatcaattcctat +agccagcgtactagtgacacaacaacaccgtgtgagaaaagatattagtccttacgtctg +tctctctacagcttattgatgaggattgaacatggacatatagctccccctcaaaagcag +atgctacctctttattccattctcgaacatttgccgaacttaatttcgacaaacctgagg +tcacgtcttaatttatcggtaacgtcacgtccctttgagactggataaatatattaccag +gggccaacgagcaattgttggaggcgcttctataatacaaggtgtcttgtcaaagaaaga +cggcgtgcgtctcgtgcaactcacttaaccaatattaatgtgaaacccccctctctcaca +tcttatgcggtgtactgccctggtacatttcctgtacaggactccaacagtgtagattcc +taagatagctgttggagttgcctcacgccagatcgaaaaactgaataaactagtgagctg +agctgcagaaataccgcttaattacttatgactagttcaaagggacctacgtgatgtcag +acattgcaaggaagaaattaggtttgtgcgtcattttggctggactagcactccttactt +cccctactattcaaatgtcgtaaacagcatgagacaggatcgtgctgacatttaaggtct +attgggaacgaggctacctttggtcgcgcgctcgcgttctccgaatgaccgaaatgcatg +agcacagtatgcaattgcttatagatctaaggtctggtcgttgaaaccaagcacgtaggc +ctgggaaatcagttcttcctcagcaactacacaaaagcgtccaagcattagtacttgtag +taaatgtccgaacctatgcgctcatttgaaagtcaaaaaatatttttaagcagtaggcac +ctaacccgattcctctacttagtagctttctttgattctcagaattgactgcaatatcac +tgcacaattctgtgccattactagacttctctgtattaacgtctcatcttactaacactc +gcctaggacacatctgagagtgaagtatttcaatacatttactgaaatcttcagttctaa +aatccccgaataaggctcttatcggtttggccaacacaagaaaaaaacttcttgcaccac +tcaccttcatacgcaggagcctggggaacttagtaataactatttcggcagacaaagctt +ataacaagttgccggcgcgtataatatttaaaagaccccttgagctgctcaattaaaacg +ctcacctggtataggctattagatagtgccgtcttagtaaggggcgggaattatcggata +aactgatattttgataaaataaccgacttgttcacgacataagtcactaaggagatttta +tctttctccaaagtatatcttccttggataatttcaaagcgctgcaatttaagttctgtt +actagtttatgctgctgggaggtgaccggaaggcgtagtaatctagaggcaaattataag +aagttcatcatatcattttcgactacaaaaacaaggtgttgtatgccggcgcattgtgta +aactggacgagtaccctagatggaaaattatacgttaagccaagatttcgatgtaatgat +aattacctacacatttttgctatccataggaacaagagctgttctataggctcgtggcat +acgaacatttgctgccgctatgaatattggaagctcttcaactacagactctattcttaa +ttgccgtcgaaaatgggccgaatcggctattattaatactcggtttttccgaggggattg +ttgtcgacagtcgtaattattattaatattgatgttggtgaggtcatttaaatacaacct +tgcagacaatgaataagggatccaatctctcatactccttttacaattgctcatgcccct +atgcaaaccttatgccgccacacctccgcaactctctcttctgaactgtaagtagcttca +ttactggtttgagactatactgaagctgatgacattctaaaatggctattttcgaatgtg +attcataatgtttatcgtttgggatggcagaatcacgttatttttgatatagcccgggta +ttctattgtatagaacgtatgctacaagtcattccccgaagaagactagaagtaaacaac +atgcgaccatcgttaagccacgcaaggctgtagctttatttcccgataacctatcttcca +taaatagcggacagcaggatactgacgctcaacatcagtggttatggtctaatttttaac +ttttaataaggtaacttcagcaggcatacacagtaactctttaatttataatcaaattag +aagtctgacacttcttatatttttctatcatccaacgcgatcgcccattagcttattgtg +ttactaataacgtatctaaaccaatccttttcaagctactgcctatattgtcaatatata +caaacaacaggatagtaggctgcttaaaaaatattgtcaaccgtgtacgctttacaatac +ccggaaatcacaaactttgtagacaacgagtgaaatttatacactacgaagggccagcgt +acaagacccatgaattaggcgatatgtttattctgacatattggtttatccttaatctgt +cgctgtaaaatgaagccgcccccatccctgcgaattttttttcgaagattcacgactgaa +atataaatacgtttggctatatttatgttggagggaggcaatagcctttactgttaaccg +aagatttagccagtgagtgtgacactaaaacactggaataaatgcaggcgttcttctggg +taaaaggtttagtcaatctcgcctataagttcatatagctctggatataattatctggcc +catgcatttatcatggcgcttggtgccctgtgtgaagccggcctctcatattgaaggtcc +gaagtattccatgtacattaagatcactctctcattcatgcatcttggcttaacaaatct +ggttgtccaagctttccaggcacgtatggtacaaattcggatcgaatacttataaaaatg +atatgttaaactgtctaaaacgctcatctacaaagtaaagtgcactaaccaatagagtct +caagaccgtgtaatgctggtgcactgaatgtgtaatacggttagaagggattagttatgt +tacaaatccattgaaaacttaagaagcattgcgtgctcggagggtgcatcttttatcaag +agactaacattattttcaacgacgtacatgctttacaatagggtacttatcaaacgccga +gaaacgcgcctatagtgatgttatgattatgacccgatatccattggaccgaattttatg +taggttcccagcgtactcgcgtaatatctcggtattgccataatgtaatacttgtcggtc +tctcccagatgaaaaagcgttacagagtatttcaatgaaaaacagcgcgcaacgtcaata +cctttaggggtaacggccgctgatttcatatagatatacgataagttggtatagctctac +taggtggcatccacaatcgttgcatttactatagctggttacaatcataatctataccgt +tccttacatactaccatagcgggatagcgtttttttgccgttgattgggtttaagaggat +gtcagtctcattatatccgattcggtgggagagccgttgttttcaaatcgcacactttgt +gacataatgtacaagataacaaaactgatataagatataaactgtcaatatcaccttgac +acttgaatcaaagtaaattaactcgcaaatataatttgactaattgggtgcagatttctc +aattaataaaaaaatggcaccggatgggcttacaagccccttatcattcacttgtatcat +gatttccaagaacaatagaatttgctagcaagtatgaacagagattcgaattgcatccac +agtacgccggagcgtttattttaatgtggatatgacgatgtactgttggcggcatttgct +agtaaccggtccttatttacgtagcgcacacgtaagcatgtctgggagaaatatggtggt +acaatctcagagaaagattacagtttggtttaaataggacttatcgggtcggaagtggaa +cttaataagcagtacacaattgggcaacagacgtcttgcctattacaataggattacaat +gcgttagatttcagacacgttcgtgtttggctattcgtcaattccctaaatagttagacg +atcaactattatcaaagtgattctttgttcatcctccattcatgtaacagatggcacact +acgcataacgccgaggaattttaacgagatttaagagagcagttcgggcacaacccactt +gactttataacagctcggcagcataaacggtaatatgtgacaaatttccaaacgttataa +gaacgtatgtgtacttagaaaactaagtggttcatgttcaacagatgtgacgcagcaagc +ctaacttatctattggttttgctataaaagaacaaagttacacagaatcctaagggcttg +tttcacacttatgcctagtgcttcaccatcttaaaatagcgaaaccggcacgaatcaaac +cttaaaacaatgcgcagatattggtgatggtgactccgggtatgataatggtaactgttg +accagcgcccacctcatcgaagtatagaaagtggttaggataaggatgagaccgaactta +tttccggccataactttagattttctacctagtacacaacatcagggcggacacgaaacc +gccatcacatcatataccaggtttaatttgcttaatgggggaagtgtcaacgaaccttcg +aactttagcaggcatatggccattatatatggccccagagcagaatgctacagcagacaa +aatttggatttatgtagtttaatacctatcaaacttggtgtgaccatacttgtctaacga +cagtgcacaaagtgtaagttacaattattactactcagcagcttctgcaatgataaaatc +ttatcatacacgtcacatatgataatatctacttagggggaacgggctccacaacctaca +tagtactcaatacttacactattcgacaggcacaccaaacctgtacagtcccaaaagatt +gagtcaactttgcagtactgcagatcacagtaatagcttagttagcgagtcaaaattagt +tttctacgagactgcacgaccgtgcaaatttccgatgtgttggctacaaatagcaacgta +tgaatttgtttgaagccacgtaaactgtacaaccttagagataagtctcaggctactaaa +aacacgttgtggcactaacaggatcatggttgattcttacttattcggctgaccggccca +ataagtaaccttcaactagaacagaataatcgggagtagtttaattcagtcaaggtgcag +gtctcattgtaactaacaagctctgtgtaaccaagttaaaatcgttttcttagcggattc +cctacttatggatttgagctcgtccacaatattcgatacaagaagtttgtggtccgtaac +aacgaaattttaattacgctgtgcagcctcatccaaggaattaatagaaggttgatggta +ggctccgaacgctccatgattataatcaagtggactgtgcagtaaacgaggaaggtatcc +tgacgtcgtggtgttcgtttttgttatttgtgccctatacgagtagataaaccatgaaca +gcacagtgtgaacccatggttgattttaggctaccttatttttaatttccgttacacaga +aacgaattccacaactaacatgccattaatttttcgatatcttataaaagatggtcgaaa +ttcattcatttattttttttcggttctcgaaagtcaactaagctgtcgcgttttgtttct +ctttagaggtaaaagtggctttgatctcctacgtttggatactagtcaaccattactcca +tttgatccgtgagtatcacctgtctaacatccagcattatgactcctcggcgaagaaaag +acacacttcttagagtcgatgtgtattagctagggacacagttgtttaatacgatagtga +gcccagggagggcagtgcgtcccccagtagatttattcagctagtgtaagtataagatat +ctcacccacgaggttcaagtgatatgcagtcttagaataatacttatcctgaatttcgat +attatgggtacttcaataatccgctagcgctactttatgtctcgttggacagcaggacac +atggcagtcttaaacactaaagacatcacctgaatgaatgtaatgggattacaagaatca +atgaggtattatatacgacgtaggaaactctggatatatacagtaatctagttacgccat +cgcacttcattcctctggaaacttagaagacatcagctgtacgtggaggaaccagacccc +cgtatgtagccaaatagaaccaaagttgcttatacaaacacacccaatgacaatggaccg +ctggagttcgtaaactcggaacgtagtactgcacaaacccagcatttagcaataggagct +acgtatgcaactcccacgtggtaataccttcaagctatcaatatataggtgcctagctaa +tcgcattcgcaagcagtattcaagcttgtaaaccagtataataattacagaggctctatg +aaacccaactttccagctaaaagtcccaattaaatggttatttcgtacttttaaagtcgc +ccgttctgttattacgcgaattgattctactccaaaattaaacacaaattatcaaccgtt +tcatttatatttgtcaatgcagctgtttaaaataaggctctactaaattataattaagac +acttattaccagatttctctagttaagtttgaaccagctcgactaccgcgaaagatacat +tcccttctctatttttcagttcatctatgggtcagagaagcattgaatttattctattca +ccctcgtcgttcacagcgaatcgtcagtgtgatcagtgtatgagaaatatcctaaaccgt +ttagtcagaccacacgcttagaacaagtggtctaaaaagactgccctggaaggagtaaga +agtatacagctgatccggtgtatccttcagtcatctgccctatactaattacacgacgca +aggaaaaataggtttattttctaggcaaacccttcataggtgactccgatgtgttacgaa +tcatgcttgagaatgtgctatcgttaccgacggataataacgatctccaatgaaccaaat +gtagaatgtctattgattacccttttactattcgacttagagataggagatagaacctca +gtgtacttttttagccgaatgggaatctttgggaggtgaatggccataaggtcgtaaatc +caaccctcttaaagtcttccatattatatcgttgttcgtggaatcgataacagatttgtt +gacccatagtaaatgtatactagtttatgttgtaagtgtagattgttttccgattgccgt +ccaaactttatgtcgtaattgtagaccagtaaagttgaccaaggtaagtgcccagcgatc +ctgcgagatcgatcgccaatttttccagtcactgtaagtgtaggtttagataaagccgta +tgagttatatcataagggcctcggaaagcagcttcgaaccaaagttcccttataatagta +gtttaactataaaagtatatactggtctgtcgccctttcacgatttgttttaccggttta +tgaagcgttacgtcattagagcggctccaatttaaggttaacggcttccatgtgtagttg +tatacaaggataacttaaagtatctgttcagcgagctagttaagttatcctcgatagaac +acaactcagaggtcccaagatcgggtttgcaacttgctaatttattctcaaggcaaattg +ggaattatcgatacctgtataccataaggtcgctcgatgtgatgcttatgtcttctggtg +atcctaccttagttagtgctgattaacggaacattaatgtttatcgttttgagatttagc +caattctctgattctaactcaagatgccttatctgacgtgctatgcagcccctaagtatt +ttacattgtaataggacacgctcctttaaaactcgccaaaaggtcgttgtggttctctac +tggttaactatataatttacagctttgttgagctagttcctctttggtttaagtcctcaa +tattagttggttcgagcgataagttggctagttaccttagtcactatattagatccgaat +gttatgcttcatctgaagaccgccaccctccaaaatttcttttaagactcacttattgca +aggtgtaggtgaattcggctcgtttctcaagtggtgtatctgtacacgagtttccatatt +ttcatcaacagccaccgcacacttatgtcactctaggtattaaaagtcgctctacaaggg +gacgcaattaagaaacagacatgctagtcaaaaataaacatagcgaggcaccactaattc +ggccgcttatcaatgggatgctctgcgcgagacgcgccagagctcagtagttagttcgga +catacatttacttcagatgatcaattagttttctacaaatgcttactctaccccgaaaaa +agtcaccagactcttacgtctctttagtatccttccgtcttatataaggtcagtcccccg +tttcggtaccctggaatttactaagaataatgaaacagcccccaaggacgtacgtttaca +aatgatagaccagatcgcctagcttattccgacgcatgttgcatagaattgaaccaacgg +aatgtgagagtaactagatgagccgaccacagcacccgtttgcgtcgcagaatacgcctg +atagttcggccacgaaatcatatgtcctttgagtattaagtatttgtaatgatcaatcga +gctcaagcaagcttacacttcctcggatattcagggaacttagtgcctttgaaagatacg +ttgatcaacgaaaaattgataatggctcatatggaatgcctacctcatagtgctgaatta +acacagcactgcggacctaacttttcgaggtttcaagttcacgtctcaaaacctaatagg +ctggaatatgtagggatcctcggtgaatttgtgattgggtttgttgtagtactgaccaag +tgaatattctttttttctaaaagcagatctgctgccgggcactacgaaggagatctctgt +gtatcattattgcttcttgacatgatgactcttaaatcactgtgggtgtgcaaaacgata +gcacaacccaattcgatagtacatattgttgatacttcgcactaaaccgttcatatttaa +aggttgtgctccttccttcgttaaatactggtgacttggtcctatctactattagctaga +cctctggggaaccacgcccccgtaaaacctgtgcaagagagggggtcatacatcttagac +atcgcgcctccaccagggaagcattgggtgattgaccaggtgtgtaacaaatatgattat +tcttatactaatattagcaaagatgcataatgatttgtattaaatgtataattgaattga +taagggtcttttagtcagtgatagagtagtataaggtagacattagaactcttaaccgga +cgcagatttttcggtcttagtaagccaattagtcgacaaaacaaggtaagagcggttact +agtagtacctataatgcactgaatcttcggtcgaagtatagttctaatgctatgcagatt +gtgacggcgacaaatgttcagacttatatcatgaaacaagctcttgtaagtattgacaaa +tgaaaagattgaatatttttaaatacaaaatgcgcctacttattaggggaattaaccaga +ttgaaggccaatcctcacatgtaatgagataatagacgataaatgaaattcttgtaatag +ttgaactgctacgtgatgggtattatatatgattgagatcctccaattgccgacgtcttg +tcttgatgcccaaaagattgtcaacgaggagctccctcgcgtacctgtcgtccgtatcat +aaacgacgcgacatgtacagcactccgaagtataagcaataataatgcgggtaatccaga +ctagatcttttcggactcaatgcggtttcacggtaaacatgattaataccggagagtagt +cgagcttatcagcgatgcaagcgaattcattgtgccaggagatacgttgcagataaaacc +ggcaacgtatgtcaacaagttttggcgatctcgttgtttgtattcgacgaggcgcgggaa +cttcaagaactatcgtatattcaagtccattaccttttagtttcagactggtggagctga +ctaaagttatatcatcattttgtacactggtttagttaacgataatttcagatttaacat +gaccagacgataatcgctgtatatccagttggaatgtggtttgccagaaaggttaactta +taatcaagcctctcttcagtcttgattcgtcgtatcccatccattgcgctatacctcagt +gtatttggagctgtagttataccgtgtgctaagatcagtagacatgacgagagcaatatt +atctaccttacaagcatcaacggacgtctagtcggaacaaaagactctaaaactcgaact +tcaggttaatatactatagttctgtattcagcagttattcttatattcgatattatcttg +cctattggatgtctgactttagtatattaatcatagtatctgccatgtaaaggtgccagt +actaaatctgtttcacagtgcgaattataaacggttacaaccattaaagacaacaagacc +ctatagctttatttgaattttgtcaatgcgcaacttggagctcgcgatacatcccaatta +gtctatagggtcgggacgattctacggcatttctggttataatgacaacatggattgtgg +cccgagaatcgctctttcattaattaagcaatcattacagtcttataagcgctacttccg +agtggtagcaggtaactcgatataaggtcgcatgagccgaatagcttaaaaaacaggcca +ccgaacattgatagagaataccgaccacagcgcaacctttgattactttcattaaattgt +acggctcactcgacatcaagcttaagattgcgataatgtgaactcaaatggatcagtact +gaagaaccgtaacccacttcgcagaaagcgtacccagagaagatacgctgttacaatata +cagggtgaaattattgcctgttcttcgtaaccatttcgccaaacttggttagaaatgata +gccattcatgatagaaataagctgaatgataccagtatctttaactatgtagtcaggggg +aagataacgatggtccatgtatgtttctgatatgtgacagtattggccgcgtaatttgct +aacgaagctacttaatgcctttgagcttcatatagatttctttaatcaaaatcggcaaaa +agatagtatgagctataatatatgctagtagagaactctggaccatcatctatatgaata +ctgattcgagcgtgcaattactttagcctgcgtactactgactctacaaaacactctgag +ataagtttgtagtcagtaagtcgctctctataaaccttttggatgaccattgtacagcca +cttatagatcccaataaatagcacaggagacagagtttttcaatgctcgatcatttgccg +atagtattttcgtctaacctcagggcacctattatttgatacctaacctaacggcccttt +cacaatggagaaatatatgacatcgggacaaacacaaatggtgggtggccaggagatatg +acatggtggcgtctctaagaaacacggactccctctaggcaaactcacgtaaccaatttt +aatgtcaaacaaaacgctcgaaaagattttgccgtgtaatgacctggtacattgactggt +caggaatacatcactgtagttgccgtagtgtcctgttggtgttccatcaagacacatcgt +ataacgcaatttacgacggacatcagatcaagttatacagattatttaagtatcacgtgt +gcattgggacataagggatctcacacatgccttggaacatttttgctttgtgccgctttt +tcgctgcactaccaatccttacttaccagtatattcaaaggtcgttaacagaatgagaaa +ggttagggctctaagttatcgtcgattgggatagacgagacatttgcgagcgccctccac +ggatacgaatctcccatatcaatgtgaactggatgctatgcagtttagttcttacgtctc +ctagtggtaaaaatcaaagtagcactcgcatagcagttattcagaacctaatacacaaaa +ccgtcaaacattttctaattctaggtatgggccgatcataggagctaaggtgaaactcat +aaatgttttgttagatctagcatcctaaaaagatgcatatactgagtagctggcgtgcat +tctctcaattgtatcctttttaactgaactagtcggtcccatttcgtgactgagatctat +taaccgataagattaataacactcgcattcgtatcagctcagagtgaagtttttcaataa +tttgactgatatattaacttctaaaataaccctttaagcctcggatccgtttcccaatca +catcaaaaattcttattccaactatctacggattaacaacgtgcatggggatcgtagtaa +gaacttgttccgatcactttgagtatatcaagttgacggcccggttattattgaatagaa +acattcacctgctaaattaaataccgcacatcggatacccgatttcagagggccgtctta +ctaagggcaggctttgttcggtttaactgagatgttcattattttacagtatgcttcaac +taatatgtaacgaaggacagtggatctgtctccatagtagatcttcagtcgtgaatttca +taccgctcctatttaagttcgcgttcgagttgttgatcatggcacgtgaaagcaacccct +agtattctagacgaaaattttttctagttcatctgataatttgccaattcaaaaacaacc +gctggtttcccggcgcattctctaaaatggaagtcgaacctagagccattatttgtcggt +aacccatgagttccttcttttcagaagttaatacactgtggtcctatacagaggaaaaac +agcggttatatacgatcgtggcataacaacattggatcaagatagcaatttggctaccta +ttctaattctcactagattcggtattccactacaatatcggcagattaggattggatgaa +taatcggtgtttaagtccggttgcgtctccaatctcctaatttttattaatattgatctt +ggtgacctattgtaaataaaaacttcaagactttgaataacggtgaaaagatagaagact +catttgaaaatggatcatccacagatccaaacattagcaagacactaatccccaactagc +tattctgatcgcgatcgtgctgcagtactcctgtcacaatagtctgttcatgatctaatt +ctttttgggctttgttcgatggtgattcagaatctttatccggtcgcttccctgtagcta +ctttgtggggatattgcccggggattatagggttgagatcgtttcctaaaagtatttaaa +ccaagtagacttcaactaaactacatcagaacatcgtgaagacaccatacgcggtacctt +tatttaccgataacatttcttcaagaaataccggtaagcagcataatgaccctaaacagc +tcggggtatcgtcgtagttttaaattttatttaggttactgctcaaggaataaaaactaa +ctatttaatttataataatattacaaggctcacactgattagatttgtctataagacttc +gcgatcccccattaccggattgtcttaagaataaactagataaaccatgcattttctaga +taaggcctttagtctaattagatacaaaaaacacgatagttgcatccttaatttattgtg +tcaaacctggaaccttttaattacccgcaaatcactttatgtcgagactacctctgaaat +ttattatctacctaccgcatgaggacttgaaccatcttgtaggagttatgtttattagct +aagattcgtttatcctgtagcggtccatgtatattcaacaagcaaaaagcactcagaatt +gtttttagttgagtcaagactgatatataaataagtttccctagttttttcgtggtggga +cgatattgaattgaatcttaaccgaagagtttcccactctgtcgcacaataatacacgcc +aatatttccagccctgcttatgccttaatcggttactcaatctcccattgaagttcattt +tgatctgcatagaagtttcgggcccagccttttttctgccaccttcctccaagctctgta +gacgcactctaagattgatgctcacatgtattaattctacattaacataaatatataagt +catgcatcttcgagtaaaatatctggttctccaacatgtcctggcacgtatcgttataat +gcccatacatgtagtattaaaatgattgggttaactggatattaagatcatcgaaattgt +aaagtcaaattaacaatactgtctcaagaccgtgtattcctcgtgctcggaagggctatt +acgcttacttccgttttggtatcttaatatgactttcaaaaattaagttgcagtgagtcc +tacctgcgtgcatcggttagcaagagtataaaagttgtttaaacgaactacttgctttac +aataccggtcgtatatatcgccgtgaatccagaagattgtcttctttggattatcaaccg +agatcctgtggaccgatgttttgggaccttcacagaggactccaggtagagctcgctttt +gcattaatctaagaattgtacctctctaaaagatctaaaacagtgaatgtgtatttcatg +gaaaaacacagagaaacgtaaattactttaggccgaaaggcacatgagttattatacata +tacgagatggtggtatacatcgaattcggggcatacactatagttgcattgtatttagct +gctttaaataatatgatattaccttccttacataagacattaccggcataccctggtttt +caacttgtggggctttttgacgatcgcactctcatttgatccgagtagggcggtgacccc +tgcttttcaaatacaaaaatttcgctatgaaggtaatagattacttttcgctgttatgat +agaaacggtaaatttaaaattgaaacttctagaaaagtaaagtaacgagaaatgattttg +tgaataatgcggtcatgattgcgcaagtaagaaaaaaaggcaaaaggatgcgcggaatag +aaacttatcagtcacgggtatcttgatttcattcttcttgtcaattgccgacataggatg +aaatcagattccaatgcaatacacagtaacccccacccttgattgtaatgtcgatttgaa +gttgtacgcgtcgacgaagtggatagtatacgggccttttgtacggtgcgatcaactatg +aatctcggcgagttagatggtcgtacaatctcacacatagaggtcacttgcctgtaatga +cgaattttcggctaggtactcgaactttattagaagtaaaaatgtgggcaaaagaaggat +tccattttacaagacgattacaatgagttacatgtctctcaacgtagtctttccctagta +gtctttgaactatttaggtactccagaaaattttagcaaagggtttctgtgtgaatccgc +cattcatgtttatgatggaacaataagaataacgccctcgtatgttatcgacagtgaagt +cagcagttcggccaaaaacatattcaatttagtacagatccccagaagttaagctaagtg +ctctaaaatggcctaaacggttatcaaagtaggtctaattactatactaacgggtgcatc +gtaataactgctgtcgatgcaacactatatgatagtgtcgttttgctatatatgtacaat +gtgacaaagaagccttagcgattcttgcaaacttaggacttcggattctcaatcttaaat +gtccgaaaacgcaaagattcaaaaatttaatctatgagcagatatgcctgatggtgacta +cgcgtatgttaaggctaaatgttgacaaccgcacacataatcgaactattgatagtcggg +agcataaccaggtgaacgtactttgttcacgacatttattgacatgttctaaatacgtct +caaaatcacggcgcactagaaaacgcaatcaaatcattgtcctggtttaagggccgtaat +gccggtagtgtcaaacttcatgagaactttagctggcttttggccagtatttagggacca +agagcactagccttaagctgaatattttgccatttatctactgttataactttaaaactt +ggtggcaccagacttgtcgatacacacgcatcaatctgtaacgtaaaaggtttactaaga +acaagcgtaggaattgagtttatattatatttaaactaaaagatgatattagcttctgag +ggcgatagggctccaaatcataaagaggaatatattattacacgattagaaacccacaac +atacctcgaatcgcccaaaagtttgacgaaacttggcagtactccacatctcagtaatac +agttgggagagtctcaaatgttgttttattactcaatgaaccaccctcataatttcactg +ctgttccattaaatttgcaaacgatcatttgctttgaagaaacgtaaaatcgacaaaatt +acagataagtagatgcataataaaaaaaactgctcgctataacacgatcatcgtgcattc +ttacttaggagcatcacccgcacaataacgtaccttaaactacaacactattagaccgag +tactgtaattcacgaaagctcaagctcgcattgtaaagaacttgctctctcgtaaaatgt +gataatagtttgcggagaggattcaattattttccattgcacctactccactagattcga +taaaagaaggtggtcctcccttaaaaagaaatgttaagtaacatcggaaccataagcaaa +gcatgtaagtgaaccgtcatccttccctaagaaacataaaggtttttaataatgtcgact +gtgaactataactgcatcctttcctgacctactccggttccttgttgttatttctgaacg +agaccagtagataaacaatgtaaaccacagtgggtaccaatggtgcatgtgacgctaccg +ttgttttaagtgcccgtacaaacataagaagtcataatcttacttgaaattaattttgcc +ttttattttttttcaggctcgaaattaatgatttgttttttttgaccttctagttacgct +aatatgcggtcgcctgtggtttctattgagtcctataacgggatgggatctaatacgttt +ggttactagtaaacaaggtataaatttgataccggagtatcaactgtataacatcaagct +ttatgactcatacgcgaagtaatgacacaaggctttcaggagatcgcgagtacagagcca +ctaaggggtgtattacgatagtgacaccaccgagcgcactcactccccaagtagatttat +gatcctacgctaagtattagatatataaccaaagaggttctagtcagtgcaactcttaga +ataataattagccggttttgcctttttaggcctaatgcaatattcagctagcccttatgt +atctcgcgttccacagcaccactcatggcacgcgtttaaactaatcaaatataatctatg +aatgttatgccagtacttgaataaatcaggttttttataagtccttgcatactctcgtta +tatactgttagagtcttaccccatagaaattctttcatctgcaaacttagaagaattctc +agctacggggagcataaagtccccaggatgttgacaaatacaacaaatgtggcttataca +aacactccatatgaaaatcgaaccctcgtggtagttttagccgaaccttgtacggataaa +tccctccattttccaatagcagatacctatcctactacctcgtggtattaaattaaagct +tgaaatatagagctgcatagcttatccaattcccaagcacgagtctaccgtcgtaaccac +gatttgatttacagacgctagagcaaacccatctttaaacatataagtaaaaattaaagg +gtgagtgcgtacgtgtttactagcaacttcgcttattaagacaattgtttataagccata +attaaaaacatatgttcaacaggttcattgatatttgtaattgcacaggtttttaataag +gatctacgtaagtataatgaacaaactttttaccagagttatattctgtactttgaaaat +gctcctctaccgccttagagactttcaattagattttttgcagttaatctatgcgtaagt +gaaccatgcaagggatgcgattcaaccgcctcgtgctaaccctatcgtctgtctcataac +tgtaggtctaatataattttcagttttcgaacacataaccctttgaaaatctgctattta +atgtctcacctgcatgcactatcttctatactgctcagaacggctatacgtcactatgct +ccaagtgacgatttaaacgaagcaaggaataataggtttattttagtgcaaaacaattaa +gtgcggactacgtgctctttacaataagccttgtgattgggctataggttaagtcccata +ttaacgatctccaatgtacaaaatcgacaatcgctttgcattacccggttactagtcgaa +ttacagatagctgttagatactcactctaattttggacaacaatcccaatcttggggtcg +tctatcgcctgaagctcgtaaatccttccatcttaaacgattacatattatagacttgtt +cggggtagagatatcacagttgtgcaaacattgtaaatcgatactagtttatgttggtag +tctagttgcttttaccattccccgaaaaacttgatctactatttcgacaacagtaaactt +gaactaggtaagtgaaaacagagaatgcctcatagtgccactatttgtccactatatgta +agtgtagctttacataatccactatgactgagatcattacggcctaggaaagcagcgtag +aaaaaaagggcccggatattacgactgtaactataaaactagttactggtagcgcgccat +gtatagatttgttttaccggttgtggttgcgttaacgaatttcagccgcgaaaattgatc +cgttaaccagtccatctcgacttctataaaacgataaagtaaagttgatgttcagcctcc +ttcttatggttgcatcgagagtacactactcagtgggaaatagatcggggttcctacttc +agattgtattatctaggcaattgccgattgtgccatacctggataaaataagctacctac +atgtgatgcttatctattatcgtcatactaccttagggtgtcctgttgaacgctacatta +atctttagccgtttgagatgttccaatggataggagtctaacgcatgatgaagtttagga +aggcagagcatcccactaagtatgtgacagtgtatttcgaaacgagacgttataaataga +aaaaaggtccttctggttctattctgctgaactattgaatggaaagattggttgacctac +gtactatttgcttgaagtcatcaatttgacggggtgagagacatatggtgcatactttac +ggactctatattttagatcagaagcttagcagtcttctctacaccccctcacgacataat +tgcttttaagaatctatgtttgattcctctacgggaattcggatccgttcgcatgtgcgg +tttatctaaaccaggggacatatgttcagctaaagcatacgaacactttgctaactagac +gtatgtatagtagctataaatcccgacgatatttacaaaaagaaatgagactcaaatata +tacatagcgaccctacacttattcgcaccctgatctaggcgatcctagcacccacacccg +aaagtgagcactagtgtcttccgtattaaatttactgcagttgagattttagttgtctac +taaggattactctaacccgtaataaggatcaagactcggtactagctttactatcattcc +ctatgtgttttcctaactcacaagggtacgtaccagcctatgtaattacaataatgataa +agacacaaaggaagtaactttacaaatgagtctccagttacactagcttagtccctccca +tcttgctttgaagtctaaatacgcaatctctgaggatatacagcagaagaacactcataa +cgttggagtccaagaattagactcatagggcccccaacatttaatatgtactgtgagttt +gaaggtgttctattgttaattcctgctcttgatacatgacacgtactccgtgtttaaggc +ttcggactgactttctttcataagttgagcaacgaaaatttcagaatcgataagttggat +tcactaactaatacggctgattgaaaactccactccggacctatatggtcgacctttata +cgtaaccgatataaaacttataggctggtatatcgagccttcctagcgcaatttcggatg +gggtttcttctactactcaacaacggaatagtctttgtttagtaaaccagagctcaggac +gcccaatacgtaggagagcgctgtggagcatgtgtcattatggactggagcactcttaaa +tcactctgcgtgtgctaaacgatagatcataacatgtcctgagtaaattttcttgatacg +tcgcaatataccgttattagttaaacgttctcatccgtcatgcgtgaaatacggctgtcg +tgctcagatatactattagcgactcatctcgcctaacacgcacacgtataaactcggaat +gactgccgctcttacatattagaaatacagactacaccacggaagcattgggtcattctc +aaccgctgtataaaagatgattagtcttataataagattaccaaagaggcagaatcatgg +gtagtaaatctattattcaagtgattaccgtcgtgtaggcagggagtgaggacgagatgg +tactcaggacaaatattaaccggacgaagtggtttacgtcgtactttcactattagtagt +aaatacaaggtaacaccggggaatagtactaaatataatgatatctatcttcgggagaac +gagtcgtctattgctttgaacattctcaaggcgtaaaatgtgctgacttatagcatgata +caaccgattgttacttttgtctattcaaaagattgaatagttttttatacaaaagccgca +tacttatgacggctagtatacagtttcatcccctagcatcaatgctatggacagtattga +acttataggaaattcttctaatagggcaaatccgtcgtgatgcctattttttttcagtca +catcctcaaatggcactagtattgtcgggatcccattaacaggctcaaccacgagctcac +gcgaggacatgtagtccgtatctttaacgaagcgacagcgacagaactcccatggataac +caattataaggcccgtaatcctctagacatcgtttaccaataaatccgctttctccgtaa +tcatgttgaataccccagagtagtccagatgataaccgatgaaacacaagtctttctcaa +tgcacttacggtgaacttattaccgccaacgtagctcatcaaggttgcgacatctagttg +tgtgtttgcgacgagcccagcgaacttcatcaactttcgtatattcaacgccttgtaatt +ttactttaagacgcctggtgatgtagattcttagataatcagtttgttatcggctgtact +ttaccataatttcacaggtttcaggtcaagaagattatagctgtatatacagttccatgc +tcggtgcacagaaacgtgatcggataataatcaatcgcttatgtcgtctttaggcgtatc +caatacatgccccgataccgcagtgtatttcgacatgtaggtataccgtcgcatttgagc +tcgagtcaggacgtcagctagattagattccttaatagaatataccgacctctagtccga +actaaactatagataacgccaacttcaggttaattgtctagtcgtctgtttgcagatggg +attcttagatgagtgagtatcggccatattggttcgagcactttagtttttgatgcatag +gatatgcaatgtatagctgaaagtactttatctgtttcaaactcacattgattaaaccgg +taaacctttaaagactacaagaaaatattcagtgagggcaattttgtcaatcacaatctt +ccagctagagatacttcacaatttgtcttgaggctacgcaacattagacggattttcgcg +ttttattgaaataatcgaggggcccaagagtatccatagttcattttgtaagatttcttt +acaggcttattacagcttcttcagactcctacatgcttacgagttatatgctagcatgtg +aacaatagattaatatacaggaaaacgtacattgagagagatgaccctacacagcgcaac +cgttgagtactttcattaaagggtaacgctctcgagacagcatccttaagatggccttat +tgtcaaatcatttgcagaagtacgcaagatccctaaccaacgtagaagaatccctacaaa +cacatgagacgcggtgaaaatagacagggtgttagtattcaatcttcggagtatcaattt +cgccaatcttggtgagaaagcataccctttcttcagagaaagaagatcaatcataacact +atctttaacgaggtacgcacgcgcatcattacctgcctccatggatctttaggatagcgg +aaagtattggcagcgtattgtgatttcgttcctactttatcaatttcacattcatataca +tgtcttttatcaaaatcgccaataagataggatgagctatattagatgctagtagagttc +gcgccaacatcatcgataggaatactcaggacagcgtgataggacttttcaatccctaat +actctctataattataactctctcttaagtttggaggcagtaacgcgctctatataatca +gtttgctgcaccattcttcagcctctgatacatacaaataaattccacagcagtaagagg +gtttaattgagacatcttgggaacttaggattttactctaacatcaccgaaacgattatt +ggataccgtacctaaacgaactttctcaaggcagtaatataggacatccgcaataacaca +aatgctgcctccccaggagttatgtcttcctggaggctatatcttacacccactcactat +aggcaaactaaagtttaaatgttgattgtctaaaaaaaagatagataagagttggccggc +gtagcacatgcgaaagtgaatcgtaagctataattctctggacttgaagttctgtcctgt +tcctctgcaagaaacaaacttcctttaaagctatttacgacgcacatctcagcaagttat +aaacatgttggaagtttctagtcggaattcccaaagaacggatctatctaatgcattcct +acatttttcctgtctgccgatggtgccatcctattcaaagaatttcttaaaagtagatta +aatgggacttttaacaatgagtaaccttacgcctctaagggttcctcgagtgccatacac +cagtcaggtccgagccacatacacggagaacattctaacatagcattctcaactcgatca +tttgcaggttacttctttcctatcctagtgctaaaaatcatacttgcaatcccatagcac +ggattaagaacctaagaaacaattcagtaaaacatgttcgaattcttggtatgggaacat +cattgcagctatggtctaacgcattaatgtttgggtacatcttccatcatataaacagga +agagtctgacgacagggagtgcttgcgatcatgtctatcattgtgaaatcaaattgtagc +tcacatgtcgtctatgagagcgtgtatccgataagatttagaaaaatagaagtcgtataa +gatctcactgaacttttgaatgaatgtgaagcatatatgatctgctttaataaaacttta +tccataggatacgtttccaaatcaattcaataattattagtcaaaatagataaggatgaa +caacctgaaggccgatcggacgtagaaagtggtcccatcactttgagttgatattgttga +accacacgttattatggttttcaaacagtctcaggatattgtatatacagataatccgat +accagttgtctgacgcccctcttacgtaccccaccctttgtgacgtttaaagcagttgtt +cagtattttaaactaggcggcaactaatttggaaagaagcacagtggatatgtctaaatt +cttgttattcaggcctgaatttaatacaccgcatagttaacttcgcggtagagttgttca +tcatgcctcctctaagctaccacttctatgatacaccaatagttgttctacggaatctga +taattggccaagtcataaacttccgctgcgttcaacccccttgctcgaatatccaactcg +aaaagacagccttttggtgtccggaacaaatcagttacttcttttctgatgttaattctc +tgtggtcagatacagaccaaaaactccgcggatttaccatcctccaagaacaaatttgca +tcaacatagcattttggctacatattctaagtctcaatagtttaggttttcaactacatt +atcccaacattaggattggaggaataatagctgggtaagtccccttgcgtctacaatcga +ctattttttatgaatatgcttctgccgcacctatggttattaaaaaagtcatgactttga +agaaccctgaaaagatagatgaatcaggtgtaatggcagcagccaaagagcatataatta +gcaacactctaagaacattatagatatgatgatagcgatcgtcatgatgttatccggtca +caatagtagcttcatcagctaattcgttttgccagtggtgacttgcgctggaagaatcgt +tatacggtcccttccctcttgatacggtgggggcttattcaaccgcgtggattgggttgt +catacttgcattaaacgatgtaaaccatctagtagtcaactatactaaatcacaaaatag +tgatcaatacatacccgcttcatggttttaaccatttaattgattaaagatattccgcta +agaaccattatctacctaaactgatcgccgtatcctagtagtttgaaatttgatgtaccg +taatgatcaacgaagtaaaacgttatattgtatgtagaataataggtcttggagctaaat +gatgtgattggtagtgaagacttacccttacaactttaccggtttctcggaagaatatac +tagagaatcaatgcatgggctacataagcactttagtctaatgagataaaaaatacacga +gtcttccatcatgaattttttgtcgaaaaactcgaacctggtaatttaaaccatatatct +ttatgtcgtcaataactctcatatgttttatataacttcccaatcacgacttgtaactgc +ttgttcgactgagctgtttgagctatgaggccgggatccggttgagctacatctatttgc +tacaagaaaaatgaaagcacatttgttgggagttctggctacactcatagagaaataagt +ggcccgagtgggtgcggcctgcctccatattcaagtgtatcttaaaccaagtggttccaa +cgctcgcgctaaagaattaaagcctttatttcctccacggagtagcccgtaatccggttc +gaaagagaccattgaagttaattttcatatccagtgaagtttaggcacaagcatgtgttc +tgccacatgcctcaaagcgctcttcaaccaagatatgattcatcctaacttcgatgaatg +cgtctgtaacataaatatagaaggaatgattcggcgagttaattttcgccttctccaaca +tggcatccctacgttcgttataaggaccatacatgtaggttttaaaggtttgcggttaat +cgatatttacatcatagaaattctatagtcaaatttacaagactctagatactcactcgt +tgcagccggctaggaagcgctttgtaccttacttcccttttcgttgcgtaatatgaattt +catatagtaagttcaaggcactcatacctccgtgaagagggtagatagactattaaagtt +gtttaatagtacgtattgatggaaatgacccgtaggagatttaccactcaatccacaaga +ttcgctgctgtgcattatcaaaacagtgcatgtcgaaacatgggttgggtccttcaaaca +cgaatccaggtagagatacctttgcaatttttcgatgaaggcgaccgagataaatgagct +ataacactgtatgtcttttgattgctataaaacacagaaacggatattaatttaggccgt +aaccaacatctgttatttgacatagaacagatggtcctttacagcgtattccggccttaa +tattgaggtccagtgtattgtcctcctttaaagaagttgattgtaactgacttaaataag +acatgtcacccattcactgggttgcaactgctggccctttttgtccatcgcacgctaatg +tgataacagtaccgccctcacacctgcgtttaaaagacataaatgtcgctatgaaggtta +ttcattaattttagctgttttcttagaaaaggtaaatttaaaattgaaaaggctagaaaa +ctaaagttacgacaaatgtgtttgtcaagtaggcgggcatcattgagattgtaagaaata +aagccataaccagccccggaatagaaaatgttaaggaaaggcgatcttctttgaattctt +attgtcaagtgcagtcatacgttcttatcagaggacattgcaataaaatctaacaccctc +ccttgtgtggttgggccatttgtacttcgaagcgtccaccatgtgcagaggataacggaa +tgtggttccgtcccataaacgatcattctcgcccacttagtggcgcggtaaatcgctctc +atagaggtaactggcctgtaatgtccaatgttaggctaccttctccaactttagtacaac +gaataatgtccgattaacaaggagtcaatttgtcatgaccagttcattcaggtacttgta +tctatacggacgcgttccagagtagtatttgaaattttgaggttctactgataagtttag +ctatcgctgtatgtctgaataagaatttaatgtttatcttcgataaataacaattaacaa +ctcctaggtgatacactgtgaagtctgctgttccccaaattacatatgctattttgttca +cataccatgaagttaagctaagtgctctataatggcataaacggttatcaaactagctcg +aatttcttttattacgccggaagcggattaactgctgtagatcaaacacgttaggatagt +gtcgttttcatatatatctaaattcggtctaacatgcattacccatgcttgataacgtag +cacttcgcagtctaattatgtaatgtccgtttaaccaaactttaaaaaagtttatctatc +accagtgatgcctcatcgtgactacccggatctttagcctttagggtctaaacagaacta +atattactacgtgtcatactccggagcttaaccaggtgaaacttatttgttaaccaaatt +tagtgacagggtagaaatacgtatcaaattaacccagcaatacaataagcatgaaaataa +ttgtaatcgggtttgggccggaatcccgcttggcgaaaacttaatgacatagtgtgatgc +attttgcactggattgagccacaaactcaactagcattatgctcaatatttggccagtgt +tctacggtttgaaatttataaaggccgcgcaaaagtcttgtagttacaaacgcataaatc +tcgaacgtaataggtttaattagaacatccgtaggatttctgtttatagtagatttatac +taaatgttctgattagattctgacggccttacccatacaattaataaagacgaatatatt +agttatagtttactatccaaataaattaagcgaatcgaaataaactgtcacgatactggg +cagttatcaacttatcacttatacagttcggacactctatattggtctgtgagtactcta +tcaaactaactcataagttaactgcgcttccattaaatttcaatacgttcttgtgctgtg +tacaaacctataatcgaataaatgacacatatggagatgcataataaaaaaaacggctcc +atatttctcgttaatcgggcattcttaaggaggagcatctcaccaaaaataacgttcctg +ataagtcttaactattagaccgtcttcgggaatgaacgaaacctcaagctagcatggtat +agttcttgatagcgcgtaaattctgataatactgggcggacagctggaaattagttgcca +gtgcacctacgcaaatagtttacataaatcaacgggctccgaacgtaaatacaaagggtt +agttacatcgcaacaagatgaaaagcatgtatgtctaccgtcatccgtccctaacaaaca +taaaggtggtgaagaatctcgtaggtcaactataactccatccttgaagcaactactccg +cgtccgtgtgcgtagttcgcaacgagaacactactgaaaaaagctaaacaactctcggta +caaatgcggcttgtgtcgataaagttggtggtagtgcacggaataacataacaaggaata +ttatttattcaaattttttgtgactgttatttgttttctgcctagaatgtaaggatgtgt +tttttgtgacctgatagttacgcttatttcaggtccacggtgcgtgagagtgtgtcctat +aacggcaggggagcgaagtagtgtcctttagactattcaaggtagaattttgataacgct +ctataaaaggtagaaaatcatgattgagcaataagaccccaacttatcaaaaaaggagtt +ctcgacagcgcgtgtacagtccctataacggctgtatttcctgtgtcacaacaccctccc +atcgcactcaaaatgtagatttatgatcagacgctaacttgttcttagagaaaaatacac +gggatactctgtgcaacgatttcattaataaggtgcagcttgggacttttttggccgtag +gctttattaacattcacagtaggtagcgagacttcctatgaaccaatcatgccacgcgtt +ttaacgtttcaaatataagctaggaagcgtttgccaggacttctataatgcaccgttttt +tttagtacttccttactagccttagtttatgttagagtctttccaattacaaaggattga +atagccaaaatttctacaattctcagcgaacgccagcttaatctaaacacgagcttcaaa +tattctacatatcggcaggagtcaatatataaatatgaaaatcgtaccatcctcgtactt +ttagaccaaacgtcttcggataattaaatcctttttcaattaccacagtacgtgcattag +aactactgctatgaaagtaaaccttgaaatatagtcctcaagagcgtatccaagtacatt +gcacgtgtatacagtcgtataaacgagttgatgttctgacgctagagcttaccattcgtt +aaacagataactaaaatttaatggctgagtgacttagtgttttcgacaaacgtcgcggat +gtagactattgtttataagcaatttttaaaaacatatgttcaaaacggtatgggatatgt +cgaattccacaggggtttatgtaccatagaagtatgtataaggtactaaaggtttaaatc +tgtgatattcggttcggtgaaaatcagactagtcacacttagtgtctgtaaattagattg +ggtgaaggtaagcgatcccgaactctacaaggcatgggatgagattctaccgactccgga +taacactttacgatcgcgcataactctagctcttagataagtttaacttgtcgatctcat +aaacagttcaaaatctgcgatttattgtatcaaatccatcctctatcttctataatcatc +tgaaccgcgatacggcactatgagccaagtgaagattgaatccaagaaagctataattgg +tttattttagtccatttaaattaagtccggtataagtgctctgtacaatatgcagtctca +tgggcatatacgttaactaccttttgatacttcgaattggtaaaatatcgactatcgatt +tgcagtaaaaggtgtagagtccaattactctttcctgttacatacgatctcttagtttgg +acaactagcccatgatggcgctcctctagcgcatgaacctactttataattacatcttta +tcgatgaatttttttagactgcggaggccttgagttttaacagggctgctaaatttctta +agcgattagacggtagcgtcgtacgctacttgcttggaacaggcaccgaaaatattgatc +tactattgcgtcaactctattctgctaatagcgatggcaaatcacagaagccctcttagt +gacaatagttgtcaactatatctaagtcgacctttactgtatcaacgatcacggagagaa +ttaccgaatacgaaacctcaggactaaaaaacggaaaggatttgtcgacggtaaatataa +tacttgttaagggtagcgacacaggtatactttgggtgtaaacgtggtgcttcccggaac +gattttcagaccagaaaattgttccggtaaccaggaaatctcgtctgcgttaattcgtgt +tagtaaacttgatcttcagactccttcttttcgttgcagcgagacttaaattatatctgc +gaaatagtgccccgtgcatacttcagatggtaggagataccatttggcccattgtgactt +tacgcgattaattaaccgacatacatctgttcctgagctatgatcgtctgaataaattac +ggtctcctcttgatacctaatggtttctggagacgtttctcatgttcaaatggatagcag +gagatcgcttcatcaagtttagctacgcagagcatcaaaatatgtatgggaaagtcgatt +tccaaaccagaagggataaagagaaataacggacttctccgtagattagcctgatatttt +gatgggaatcatggcggcacatacgtaagagttgcgtgaacgaatattttggacggcggg +agacacatatcggccattcgttaaggtctctatattggacatcacaagcttagcagtatg +agctactaacactcaagacattattgattttttcaagatatgtttcattcctctaccgct +attcccatacgttcgattcgccgggtgagcgaaaccacgggactgaggttaagctaatca +ataacaactcgttgcgatagagacctatgtatactagagagaattccccaacatttttac +aaaaacaaagcagactaaaatagatacagtccctccatacaattaggaccaacatgttat +tgccgatcctagcacacacaccacaaactcagaacttctgtcttacctatgaaagggtct +gcacttctgattgtacgtgtctaattagcattaatattaaaactaattaggataaactat +aggtacgagctttactataagtcactaggtgttttccgatcgaaaaacgggaccttcaag +ccttggtaagtacatttaggataaagaaaaaaaggaaggtacgtgactaatctgtctaaa +ctgacaatagagtagtacctacatgcttcatgtcaagtcttaatacgcaagcgctctcgt +tatactgctcaacaaaactcataaagttggactccatcatttagaatcatagggaccaaa +acatttatttgctactgtcactttgtaggtgttctattctgaattcctcatattgataca +tgaatcggaatacctgtggatcccttaggacgcacgtgctttctttacgtcagaatacat +attgtcagaatcgagaagttccatgcaattaagaattcgcctctttgaaaactcatatcc +ccacatatagggtccaccgttattcggaaacgatataataattattccagcgttgagcgt +cccttaagagcgcattttcgcttggcctttcttctacgactctacaacgcaagtggctgt +gtggagtttaccacagcgcagcaccccatagaactacctctgagagcgcgagatggtggc +agtatgctctgcagctagcgtttagaacgcgcccgcgcattaaccagtcatattaaaatg +gactgtcttaattgtcggcattaggagcaatattaactgatgagggtatcggtcgcagaa +gtaatgacggaaatacgcctctagtccgcagagatacgattacagactcagatcccctaa +caagcaaaacgattaaatcggaatcactccccctatgacatatttgaaatacacaagaaa +ccacgcaacatgtcccgcattctcaaccgcgctttataagatgttgagtctgagaattag +atgacctaactgcaagaatcatggcgagtttatctagtaggcaagtctgtaccctagggt +tcgaacgctgtgacgtcgtgatcggtctaaggacttagatgataaccaagaactggttta +ccgagtactttcactattaggagtaattacatgcgttcaccgcggaatacgacgaaattt +tttcatatctttatgagcgagatcgtgtcgtctttgcattgcaacagtcgctaccagtaa +ttgctgatcaattatagattcattatacagatgcttacttttctctattcaatactgtca +tgagttgtttttaaataagcaccagaattatgtcgcctagtataatcttgcttccacttg +aatcaatgcgatggacagtattctactgattgcaaagtagtctatttcggcttagcagta +cgcatgcctatttttttgcaggcacagaataatatgcaactaggattctcggcatccaat +taacaggctaaaacaccaccgaaagacaggtaatctacgaagttgatgtttactacagaa +agcgaatgatatcacttggagaacattttagatgcccccttttaatctagactgagtgta +ccaatatatcaccggtctaccgaatcagcttgaataaaccactctagtactcatgataac +cgagcatacacatgtatttctcaatgcactgaaggtgaactgtttacaccataccttgcg +aatcaacgtggcgacttatacttctgtctttgagtacagcacaccctaatgaatctaagt +tagttgttgatacgaattgtaatttgactggatctcgcctcctcatctagattcttagag +aagatgtttcttatagccggtactgtaactttattgatctggtttatggtaatcaacatt +ttacctctatttaaacgtccttgcgccgtgcactcaatcctgatcggtttagattcaagc +gattatcgagtctggaggccgagaaaagaaatgcacagagtaagctctctattgcgacat +ctacgtagaaactcgcatttcagatcgagtaagcaactctcattgtgttgattcagtaat +acaagattacctacgcttctacgaaatatactatagatttagcctacgtcacctttagtg +tcgagtcggagctttgaagatcggatgcggtgtggactgtgtataggcaattttgctgcg +agctcgtgacttttggttgatgtcgatatcaatgggatacctcaaacgtctttatctctg +gataactcacattgagtataccggtaaaaatttattctattcatctaaatagtcagtgag +ggctagggtcgcaatcacattaggccacatacacatacttaacatgttctattgacccga +cccaactttagtagcattgtagccgtttatgcaaatatgccaggcgccaaacactagcca +gagggcattttgttacatttatttaatcgattattacacagtcggaacacgcctacatgc +gttcgacttatttgcgacatggtcaacaattcagtaatttaatccaaaacctaaagtcag +agacatgacactaaaatcacattaaggtcagttagtgaaggaatggctaaccagctagag +aatgcatcattaacaggcacttattgtcaaatattttccagatctaagcaacatcacgtt +aaaaagtacaacaatcacttaaaacacatcagtccaggtgtaattagaaagccgcttagt +aggcaagcgtaggagtataaatgtagacaatagtcgggacttagcagacactggatgcag +tcatagaagatcttgcataacacgttagggttagagctacgaacgcccatcattaactgc +ctaaagcgtgcgtgagcttagcgctaacttttccaacacgtttgtgatttcgttcataat +gtatcaatttcacagtcatatacagggagtgtagaaaaatcgcaattaacatacgttgac +ctatttttgttcagagttcagttagagcctaatgattcgagagcaataatcaggacagcc +tcataggaagtgtcaatcacttagaagctatattattataaatcgctctttactgtcgtc +gaaggaacgagcgagagagaatcagttgcctgcaactggcttaacaatatgatacataaa +aatattttcatcaccactaagacggtggaattcagacttattggcaacttaggatgggac +tattaaataacccataagatgttgggataaagttacgaaacgaaagggatatagcctgtt +agataggaaatccccaataaaacatagccggcctccacagcagtgatctattccgccacg +cgatatctttataccacgcaatataccaataataaaggttaaatgtggttgcgatttaaa +aaagatacatatcagttgcaccgcgtagcaaatccgtatgtgaagcgtaacctagaatta +tagcgtctgcaagttctctaagcttcctctgcaagatacaatatgactttttagcttttt +tactaccaaatctcagaatcttagaaacaggttggtacgtgctactcggaattcccaaag +taccctgctatatatgccattccttcattggtccgggctcaccatggggccatcatagta +atagaaggtagtaaaactagttgatttccgacttttaacaatcactatcctgacccagat +atgggttccgactggcccttactccagtaagggcagacacacagacaacgagaacttgat +aactttgaattctcaaatcgatcattgcaacgtgacttatttactagcctactcctataa +ttcatacgtcaaatacatttcaacggaggaagataataagtaaatattcactaaataatg +gtcgaaggagtcctttgccaacataagtccacatatgcgctatagattttttcttggggt +tcatattcaataagataaacagcaagagtatcacgtcagcgagtcattgagatcttggct +agcattgtgatagcatattctacctaaatggtagtctagcacagagtggataagatatca +gttagatatagacaagtactataacagatctcgcttcgttggattgtatggctagctttg +atgatatgattttataaaaattgatccagacctgacctggccaattatattcatttttta +tgagtaaaaatagataaccatgaaaatactcaagccccttaggacgtacaaagtggtaac +ataaatttcaggtgttattctgcaaccacacctgttttgggttttcaaaaaggctaagca +gattggttttacagataatccctgaacactggtatctcccaacgatgtcgttcccaaccc +ttgctgaccttttaagctctgctgaagttttgtaaactaggcggaaaatatgttcgatag +atccactcgcctgaggtagaaattcgtcttagtaacgcctctttggattacacagaatag +tgtactgacacgtacactgctgcagcagccatacgctaacattaaaattcgttgagtcta +catttgttgttattcggattatgttattgggaatagtatttttattcccctgcgtgaaac +cacatggatagattagcctactcctaaagactcccttttggtctacggttcaattctctt +actgagtttatgttcgtaattatatcggcgcagtgaatctcctaattatcaccggagtta +ccagacgccatgaacttatggccagaaacattgcatgtggcctacataggattagtatca +agagtttacgtttgcaacgacatttgaccaacttgaccattcctgcttgtagaccgcggg +aactcccctgcacgcgactatagaagttggtggtggatgtggcttatgccgcaaatatgg +ttttgaaaaaagtaatctattgcttgatacctgaattgagacatgtataagggctattgc +cagatgaaaaactgcatataaggtcaaacaatataagaacattatacataggatcttagc +gttcctcaggatggtatacgctataaagtctagcttcagcagctaaggagttttgccagt +gcggacttccgctggaagattaggtttaaccgccctgacatcttcataaggtcgggcctg +attcaaacccctggagtgccgtctcatacttgaattaatcgatggaaaacttcttctagt +ctaatattattattaacaaatgacggttcaataaataacaccgtaagggtgggaaactgt +taagtgatgaatcattttaacctatcatccattagctacagataatgataccccgatccg +actagggggtaagtggttgttccgttaggataaaccatgtaaaacgttagagggtttgta +gattaattggtattccagataaatgaggtcagggcgagtgatcaattacactgaaaaatt +gtcagcttgcgcggtagttgttaagacagtataaatgaaggggattcagaagcaagtttc +tcgattgactgaatttataaaccagtcgtcaatcatgatttttgtgtcgattaaagccta +aatggtaatttaaaccattgatatttatcgagtctataaatatctttggttgtatattac +ttcacaatcaccaattctaaatgattcttccactgtgcgggtggagatatcaggacgggt +taaggttgacctacatcgttttgatacaacaaaaatcaaagcacatggctggggacttct +cgatactatctttgagatagtacgggcaagagtgggtgacgcctccctacattttcaagt +ctatcggataacttctcggtaaaacgctcgcgatatagttttaaagcattgatttaatcc +acgcaggagcaagttttaccggtcgaatgagaaaattcaacgtaagtgtcatatccagtc +atggttagccaaaagcatgggttatccaaaaggaataaaacagctcttcaacaaagagat +gaggcttcataacttcgatgaatgcgtatggttctgatatatagatcgatgcatgaggac +actttattttagccggcgaattaatggaatccatacgttacttatttggacatgacttct +aggtgtttttgctgtcccgtttagcgatatttacagattagtatttcgtttctcatagtt +aattgtatctagatactaactcgttgaagacgcataccttgccatttgtacaggacttaa +ctgttccgtgcgtaatttgaatttcttataggttcttcaaggcacgaatacctcactcat +gaccgttcatactctagttaaggtcgggaatactacgtatgcagggaattgtaacctagg +agatttacaactctttaaacaagagtcgctgaggtccaggatcaaaacactgaatctcct +aacttcgggtgcctccgtaaatcacctagaaacctactcatacatttgcaattttgagat +gtaggcgaaagagagaaatctgctttttaacggtatctcttgggattccttttaaaaaca +cataacgatagtaatgtaccaagtaaccaaaagctgggatgtgtctgtgtactgatccgc +cgtgtcagagtagtccgccatgaatattgacgtcaaggctagtgtcatcaggtattgatg +ttcattgtaaatgaaggaatgaactaatgtcaccaagtaaagggggtgaaaatgctcccc +agggttctacagacatagagatggtcagaacacgacccccctctcaacgcagtgtatttg +aaatatatggacatatctaccttattctgtaattttagatgtgttctgtgtataccgata +ttgataagtcaataggcttgattacgtatcttaagacaaatctgtttcgcaagtaggacc +gcatctttcagattgtttctttttatgccataacctgcccaggaattcaaaaggttatcg +atacccgatatgctgtgaattattattctaatggccactcattcctgcttatatctggaa +ttggcatgaatatcttacaacctaaagtctggcgttgcgccagttctacttcgtaccgga +caccatctccagtcgttaaccgaaggtgggtacgtcacataaaagttcattagaccacac +tttgtgccgacgtatatagatatattacacgtatagggaatgttttctcctaggtgaccc +gaccttctactaaggttgtacatcgtataatggcccattaactacgaggaaagtggtatt +gacctggtaatgcacgttcttcgatatataccgacgaggtaaagtctactattgcaaagt +ttgacgttatactgataagtttagatttccctggatcgcgcatgaacaatgtatgcgtta +tctgccatatataacatgttacaaatccttggggatactatcgctactatcatcggacca +aaattaaataggctagtgtcttatcagaacatcatgtttaccgaactgatctattttcca +atttaagctgatattacgtccgcgtatttattttagttccccggatgacgattatctgag +ctacatcatacaagttagcatactcgccggtgcattgatttcttatttcgctatatcttc +aagttcacaggcttcatatagttccaattagcagtataattaggttttgtaactttaacc +atactttataaaaggttatattgcacaactgatcaagcatccgctataacccgagcttta +ccagttagcggctaataacaaataagatgacttcgtgtcatacgaccgtcatgatcatgc +tctaacttaggtgggaaccaaatttaggcaatgggtagtaataagtataaaatgatacca +catatactataacaatgaaattatttgtaatccggtttgccaacgtatcccccttcgcga +taaattaatgacatagggtcatccatgtgccaatcgtgtgtgccaaaatctcaaattcaa +ttatcatcaatattggccaagtgttataagcgttgaaagtgatataggccgccaaaaagt +agtctacttaaaaaccaatatttatcgttcgttattgctggtagtacaacatcacgagca +tttctcttttgagttgatttatactatatctgctgatgtgattatgtcccacttacccag +aatattaagaaagtcctagattgtaggtatacttgactataaatataatttaagactata +caaataatctggctacattatgccatcgtagaaactgataacgtagtaacgtcggacact +agattttggtcggggagtaatctagcatactaacgaatttgttaaatccgctgaaagtat +atgtcattacctgcttggcctgtcttcaatacgtttagactattaaggactcatttcgag +atccagtattaattatacgcatccatatttatactgaagacggattgagttaggacgaca +agctaaacaaatattaagttaaggattagtattatattgtagaaactcgtcgggttggaa +cgattcatcatcatagaatgcgttacttattcagagagacttaattcggttatgactggc +agctcacctggaaagtaggtgaaaggcaacagaagaatattgttgactgaattctacggg +ctacgaacgtaattacaaagcggttcgtaaagagcataaagatcaatacaatggatctct +acagtattacgtaaataacatacataaacctggtgttgattcgactagctcatagattaa +tcattaattgaagctacgaagacgcggaagtctgcggagtgagcaaacagtaatcgactg +ataaatgcttataatatcgcgcttaaatgccgcatggtgtacattaacgtgggggtagtc +aaaggaatatatttactaggaatattagttatgcaaatgttgtgtcaatgtgatgtgttt +tatccagacattggatgcatggctgtgggggcacaggatacttaccattagttcacctac +aagcggcgtgagagggtctcagttttagccagcgcagagaagtacgggcctttagacgat +taatgctagaattgtcataaacctcgtgaaaagctagttaataatcatggtgctagaaga +acacaacttttctataaaccagttctcgactgacagtcgtaactcactatatcgccgctt +tgtactgtcgcaaaaaaacctcacatagaaagaaaaatctactgggtgcatcagtagaga +tcgtgttctgagagataaatacaccggatacgatctgcatcgagttcatgtattaggtca +agcttgggactgttgtgccagtagcattttttaacagtcaaagtagggtgagacacgtca +tatcataatatatgccatcgaggtttaaagtttatatgataagctagcatgcgttgcaat +cgtattcttgaatgctccgtggtttgtactaattcctttatagactgagtgtatcgtaca +ctcggtacaattacaaaggatggaagagcaaataggtcttcaattataacagtaccccac +cttaatctaaaaaccagcttcaattagtattaatttcgccaggagtatatatataaatat +ctaaagactaaaagactcgtacttttacaacttacgtcgtagcataattaaatcatgggt +aaatgtcatcagtaagtgcattagaaatactcctttgtaaggatacagtgaatgtgtctc +agcaagtcagtagaaatggaaattcatactcgattaaggcctataaaactgttgttggta +tctacagagtgattaaaattagtgaatcagattacgaaaatgttttcccgctcgcactta +cgcgtttagacaaaagtacaggtggtacaattggctgtagtagaattttggtataaaata +ggtgataaaccggatgggtgtgggcgaattcaaaagcggtttttgttccatagaactatg +tagttggttataaaggttgtaatctcggagattaggttagggcttaatcagaatagtaac +aatttctctatgtaaagtacagtgggtgatcgtatgagttcacgaactcttaatgccatg +cctggacaggataaacaatacgcatataacttgacgatcgagcttatatcgacctatttg +agaagtttaacgggtcgatataatatacaggtcttaatagccgattttttctagaaaagc +aatcctatatcttagttaatcagatcaaccccgtgaacgatatatcagcaaactgaacat +tgtatacaacattcctttttgtccgggtggggactccatttaaagtatctcacctagaac +tcagcggtaatagatgcagtctcttgcccagttacggtaactaaatgttgatacttagaa +ttgctaaattttagtctagacatttccaggtaaaccggtagacgacaatttctctgtcat +ctgtcataagatcgcttagtgtgctcaaattgcaattgagggccctactatagacaatca +tcagactttttaattaaatagttttccatgaatgtgttgtcaaggcggaccccttcactt +ttatcacggctcataaatgtcgtatgactgtagtcggtagcggccttcgagtcttcaggg +gaaatggaaaagaaattaggcttctaagatggactataatcgattaggctaattccgttc +gcaaatcacagaagcaatcttactcaaaattgttggaatcgatagcgaacgcgaccgtga +atgtttaaaagtgctcgcacagaattacccaatacctatcatcacgacttaaatacccaa +agcagttgtagtcgcgtaatagattaagtctgaagcctagagacaaagggatactgggcg +gggaaacctgctccttcacggtaacatggtaacaacagaatttggttaaggttaaaacga +aatatactcggagtgaattactgttaggtttcgtcatcggatcaataagtagtttccgtg +aagacactcttatattagatctccgaaattctgacccgtgcattaggcacttggtaggag +attccatttggaacttgctcaatgtaagccagtaatgttccgaaataattcgctgcagga +gcgaggagccgctgaataaaggaccctcgcatcttgttaccttatggttgagggtcaccg +ttctctgcgtcaattccagagctggagatacattcatcaacgttacctacgcacagaata +aaaagatcgagcgctaactcgttttcctaaacacaacggatttagacaaattaccgaatg +cgccggagagtagcatcttagtgtcatgcctatcatggcggctcagtacgaagagttcag +gcatcgaatattgtggtagcccgcactcaaagttccgccattaggtaagctatatattgt +ggtcagaacttgaggacaactatgagctactaaaaataaacaattttgtcatttgttcta +gatatgtggcattcatcgaacgcttgtaccagaagttacattcgcagcgtgagcgaataa +acccgaatgagcgtaacattatcaataacatatagttcagatagagaacgaggtattcga +cagagaattacccaacattggttattaatctatgcagaataatttagataatgtcactac +ataatattaggaccaaaaggtgattccccagaagacaaaacaataaacaatctcacatat +tcgctagtacctatgtatgggtatgatcttctgattggacggggataatttccaggtata +ttaaaacttattaccataatctagacctaagagaggttatataagtaaagagctgtgttc +cgatagaaaaacccgaccttaaagacttgcgaagtaaattttgctttaacaaaaaaacct +acgtaagggaatattctgtataaactgaaaagtcaggtgtaactacatgagtcatgtctt +cgattaattacaatgcgatctcgttattctgatcaactaatatcataaactgccactaca +tcttgtacaatcattcgcaacaatacttttatgtgctaaggtcacgtgcttcctctgcta +tgctgatttaatcagattcataaaggaatacgaataactctggatccattaccacgcaag +ggatttatttacggctgattactttttggctgttgacagaactgccatgaaagtaagatg +tcgcatcttgcataaataatagcacctaatatagccgacaaagtgattccgataacagat +tttaagttgtccagccttgagactccatgaagaccgcttgggagcttccccgtgattaga +agaatctaaatcccaagtggatggggggagtttaaatctcagcaccaacaaatagtactt +cctctcagagcgcgtcatggtcgaaggagcctatcctgatagaggtttgaaagcgcacgc +gcatttaactgtcatattaaattggaatctcgtaagtgtcggcagtacgacaaattttaa +ctgatgtcggtatacggagaagaaggaagcacgcattgaagcagctacgcagaactgaga +agatgacactctaagatacaattaatacaaaaacgttttaagcccaatctatcaacagat +gtaagatgtctaatacacaagaataaaaccttcatgtcccgatgtataataacagcttta +tttctgctggtcgaggtgaagtagtggaaattactccatcttgctgcgcgtctttatagt +gttggctactctgtaaccgacgcgtccatccctctctcctagtgatccgtatatccaatt +agaggataaccaacatctgcgttaccgacgaatttaaatttttcgactatttaattccgt +tcaaacccgtattcgtagtaagtgtttcatagatttatgaccgacatcgtgtacgagttg +cagtgcatatgtagataccactaattgctgatctaggatacatgctttataaacatgctt +acttggctattttatttactgtcatgtgggggtttttattttcaacaagtatgtgctacc +attggataatctggcttcaaattgaagatatgcgttccaaacttgtctactgtttgctaa +gtaggagttgtcccattagaactacgcagcacgtggtttgtgatcgaaaagaataattgg +caaatacgaggctagccttcaaatttaatgcagattactcctcagaaacacacgtaagcg +acgaacgtgatgtttactacacaatgcgtatcatagaaattcgtgataatttttgttcca +acctttgaatctagactgagtggaaaaagatttcaccgggataccgtttatgctggtttt +aaaaactcgtcgaatcatcttataactgcattcaaatggatttctcaatcatctgtacgt +caactgttttaacaataacgtcagaataaaccggcacaatgagacggcggtctttcacta +caccacacccttaggattataagtgacgtgtggattcgaattctaaggtgacgggatcta +caagcctcagctacattaggtctgaagatctttcgtatagccgcgtatgttactgtttgg +atatgggttatgctaatcaacagttgacagcgagtgaaacggccttgcgacctgaaatct +ttacggttaccttttgattcaagacaggatcgacgatggaccacgtgaaatgaattcaaa +actgtaacatcgcttgtgcctcagcgaccgagtaacgacaagttcacatcctctatgcaa +ctatcattgtggtcattaaggtattcaagattaactaagagtcgaccatatattctagag +ttttacaattaggaaccgttagtctagactaggagcgtgcaacatcgcaggaggtgtgga +ctgtcttgacccaagttgcctgacacatagtgtcttttgcttcatgtccttagcaatgcg +atacctcaatcgtagttttatcgggataaataacatggtgtttaaccctattaatggttt +ctattaatctaaattgtaaggcagcccttgggtcgaaagcacattaggccacatacacag +tatgaaattgttcgagtgtccagaccataattgactaccatggtacacggtgttgctatt +atgactcccgcaaaactcttgacagagggaattttggtacattgatgtaatcgatgattt +aacagtaggaactagacgtcatccgttagactgagttccgacatgctcaaattgtcagga +tttttatccaataactaatggctctcacatgtaaataaaatcacattaacgtcacttagt +gatggattcgctaaacagatagactatcattcatgaactggcactgtttcgattatattt +gcaacatcgaacatacttaaagttaaatacgacatcattcaattaaaaaaattcagtaca +cctctaatgagtatcccgctttggaggaaagagtagcactttaaatggacaatttaggcc +ggactttcctgtaaatggatgaagtcattgtacagcttgaataaatcgttagggttagtc +cttacatccaccatatgttaatgaataaagcctgagggaccttagagctaacttgtccaa +cacgttgctcatttacttaataaggttgaaatgtatcagtaagtgacagcgagtgtagat +tttgaccatttaactgaccttcacagttttgtcttcagacgtcacttacaccataatgat +gacagagcttgtagatgcacacactcattcctagtgtaaatcaagtagtagctagattat +tataaagagatattttctggcgtcgaacgtaacacagagagagtataaggggcatgataa +tggcttatcaatatgtgtaagaaaaagtttttaatatcatctaactcggtggaatgcaca +cttatggccaactgaccttgggacgagttaagataccataagaggttgcctgtaagttaa +gataacaaagggatattccatctttgtgtgctaagaacctatttatatttgcagccataa +aaacctctgtgctatgcagccaccagagttatttatacaaagaaagagaccatttagata +cgttaattctgcttgcgatttattaaacagacatttcacgtccaaccactacaaaagccc +tatcgcaagacgatcattgtattatagcctatgcaacgtagctaagcggccgaggaatca +taaaatatgaattgttacattgtttactacatatgatcacaatctttgtaaaaggttcgt +tcgtgatactaccatgtacctaactaacctgagatatatgcaatgacttatggggtcagc +gcgcaacatccgcaaagcatagtaatacaaggtaggaaaacttctggatttcccaaggtt +ataatgctctatactgaccaagagatccgttacgactcgcaatgaatactctaagggcac +tcacaaagaaaaccactaattgataaatttcaatgataatatcctgaattgcatcgtgta +tgagttacgagaagtcgcatttaatgaattagtcatagaaatgtcatagcaggaacataa +ttactatattttaacgatttaatcgtagttggagtcctttcccaaattatgtcatcagtt +ccgatttagatgttttcgggcccttcttagtaaagaagttaatatccaagactagctcct +cacccacgcatgcacatattcgcgagaagtctgatagaatattcgacagaaatgcgactc +tagctcacactcgttaactgatcaggtacttatagacaagtacgttatcagatatcgctt +cggggcattgttgcgctacctttgtgcatagcagttttgaaaaattgttcaagacctgaa +cgggaaaatgatattatttttttaggaggaataatacagtaccatgtaaatactcaacca +ccttacgtacttcttacgccgaacatatatggcacgtgttattcggctaacaaaactgtt +gtgccttttctataaggataagcagattcgttttaaacatatgacctgtaaactgggatc +tacaaaagaggtacttaaaataaattgcgcaacggtttagatctgcggatctttggttaa +agagcaccattagatgtgccatacttcctatcgcctgagcgagaatttagtctgaggaac +cactcttgggatttaaaacaattcggttaggacacctactcggcggatgaagcaatacga +taacattaaaagtcgttcagtctaattttggtcgtagtacgatgagctgatggccaattg +tatttttattaacagcactgaaacaaaatggagactttagactaatactaaagtctcaat +gttcgtcgaaccttaaatgctcggaatgaggggatcttcggaagtatagcgccgaagtgt +atctcattattataacaccagtgtacagacgacatctaattatggccagaaactgtcatt +gtgccattaagaggattagtagatagtctggaccgtggaatagaattttgaccaaattga +ccagtcctgcttgtagacagcgcgatctaaactgcacgagaatatacaagttggtggtgc +ttgtggctgagcacgctaagatgcgtttgtttttacgattctagtgcttcttaacgcaat +tcagtcttctagatccgctattccaacatcaatatctcaatttaaggtcaatatatataa +caaaattagacagagcagctgacacttacgaagcatcgtagaaccgatatagtcgacctt +atgatgatatggacgtgtccaagtccgcacttccgatgcatcttgacggtgaaccgaaat +gaaatcttcattagggcccccatgtgtcaaaccactcgagtcccgtctctgaagtcaagt +attactgcgaaaaattcgtctactattagtttattatgaacttatgacgcttaaataaat +taaacagtaagcctgggaaaatgttaaggcaggaatctttgtaacagttcataatgttgc +taaagattatcagaccccgtgaagacttcgggctttgggcttcgtaccgtagcataatac +atctatatagttagaggcttgcgtgttgttgtgctattccacatatagcagctctgggcg +actcttcaatgaaaatgaaaaatggtaacctggcgacctacttgttaagtcagtttaatt +caaggggattaagtaccaagggtcgagtttctctgtatttattatactgtaggcaagaag +cttttttggcgagatttaagacttaagcctatggtaaaaatttgatagtgagcgactata +gtaagagatttgggtggttagtaattaaaattctcctatgctaaatcaggcgtacaatct +gagggtgcacatttctcgacgcgtgaaccttcaccgaaagcgtgtggattatacaaattt +caaacatattggcggggcacttatccataatagatttctgtttgtacgccaaactctgcc +tcacccctccataaattgtattggctagaggttaaattctccgtaaatagagacacatat +agttttatacaattgtttgaatcaaagcacgagaaacttttaaccgtacattgacaaatg +tcttcggatggggcagagcatctcttcgtgacccaaatcaatcgctgagcaataagcaag +aaaacacagattatacaaagagatctggatgaagatattcgtgcaatcactatcgttatg +ttagagagttccatgcatgaggactcgttttttgaccaggagaattaagccaagaaataa +ctgacgtatttccaaatgaattctacgtgtttttcctgtcacctttagccagtgttaaag +atgactatggagtttcgaataggttattctatagacattataacgagtggaacacccata +ccttcacagtgctaaaggtaggaacgggtacgtcaggtagttcaagggattttaggttct +taatccaacgaagaaataacgcatcacccgtcattctattgttttcgtcgggattactta +gtaggcagggtattctaacctacctgagttacaaatctttaaaaaactggccatgaggtc +atggtgataaaatctgaatcgcctaaattcgcgtccctaaggaaatatactagaatccgt +ctcagaaagtgcaaaggttgacttcttcccctaacacagaattctcagttttatagctat +ctagtggcattcctttttataaaactttacgtttgtaagggtccaactttacaaaagctc +ggatgtgtatgtgtaatcttccgccgtgtaagacttggaacccatgtatattgacggcat +ggcgtggctaagcaggtattgatcttcagtgtaaagcaaggtatgttctaatctaacaat +gtaaagccggggattagccgccaaaggggtctaatgacatagagatgctctgaaatcgta +ccaactataaaagcacgggatttgaaatatagcgacagatcttccgtattctgttagttg +acatctgtgctgtctttaccgattgtgatttggctttagcagtcatttagtttcgttact +cattgctcgtgcgatagttccaccgaatatggcacattcgttctttttttccattttact +gcaaaccttttcaaaagctgatcgataccactgatgatggcattgattagtcgattggca +actatgtcctgcttatatctccaattgcattgaatatagtaaaaaataaaggctcgcctt +cccaatgggctacggagtacacgaaaaaatcgcaactcgtttaaccaagcgccgtaccta +acatataagtgattgagacaaatagttctccagacgtattgagatatatgtctcctatag +gcaagcgtttctaattgctgaccagaaattagaattaggttgttaatactatattcgacc +attttattccacgaatgtgctattctactggtattgctccgtatgcgatatataaccaac +acggaaagtcgtcgattgcaaagtggctccgtagaatcatttctggtcatttaccgggag +cgcgcttgaacaatggatgcggtatctgccatattgttattgttaaaaagacttccgctt +actatcgcttcgatcatcggaaaaatattaatgaggattgggtcgtataagaaaatcatc +ttttcagttcgcagatttttgccaatttaaccggttatttcgtcagacttggtagtgtag +ttacaagcatcacgattatatcagctacagaattaaactgtcctgactcgacggggcagt +gtgtgagtattgcgctatatattcaaggtaacaggaggcatataggtcatagtacaagga +taatgaggtttgctaactttaaaaattattgatttaacggttgattgaaaatctctgcaa +gatgacgctagaacacctgatgttcaagtttgccgataataacatataagatgaattact +gtctttagaccctcatgttaatccgctaacttagggcggaaacaatgttaggctatgcgg +agtaagtactatattatgataccacatagaatttaacattcatatgatgtctaatacccg +ttcccaaccttgcaaccgtcccgattaattaagcaattacggtcatcaatgggccaatcc +tgtctcaaaaattatcatattcaaggttcagctattttggcaatgggtgagtaccgttct +tagtgatttacgaacccataatctaggcgacttaatatacaagatttagagttacgtttt +ccgggtagtacatattaacgaccatggatcgggtgaggtgttgtattagttatctgatct +tgtcagtagctcccaatgtcccagaatattatgtttctactagagtgttcgtatactgga +atttaaatattatgtaagactagacaaattttatggatacattaggccatcgtagaatat +gatatagttgtaacgtccctctatagattttcggagggcaggtatattgcttaataaaga +tgttcggaaatcagcggaaaggatttgtaattaactgatgcgcagcgcttaaataagttt +agactattaagctatatgttcgacagcatgtagttttttttaccagaaagtgttatactg +atgacccatggaggtagctcctcatgataaaaatattgttacttaagcattactattata +gtgttcaaactagtaccgttgcatactttaagaatcagacatggcgtttcttatgcagac +acacttttttagctgttgacgcccacctcacatccatagtaggtcaatcgcataagaaca +atattctggactgttttattacccagaagaaagttttttctttccggttcgttaagacaa +taaagatcatttcattcgttctcttaacgatgaactaaagtacttaaagtatccgcctct +tgtttcgactagcgcatagtgtaataattaaggcaagataagaagaacaggaacgcgcac +gtcggagataactctaatagtctctttattccgtttaatatagcccgtaattgcaccatg +cgctacagtaacggccgccttcgcaaacctatttatgtaattccaagtttaggtatgcaa +tggttggggcaatgtgaggggttttatcaagactttcgttgcttcgcggggggcgcaaag +cagactttacagtagttaaccgaaaaccgcagggagtcgctctaagtgttaccaacccct +cactactacgcgaaggtactcgattattccttgaatgggctgaaacatcgtgattagcgt +cttatgattcaggctgatagaagaaaacttattttctatattccacgtatacaatcacac +tcgtaactaaatagttcccagcgttgtaatgtcgctataataaataaaatacaaagaaaa +ttcgtctgggtgcataagtacagttagtcgtctgtcacataaataatccgcagtcgatct +cattacaggtattgttgttggtcaaccttcgcaaggtggtccaagtagcattgttgaaca +gtaaaactaccgtcacacaaggaatatcataatagatgccatacacggttttacttgata +tgtttacagtccttgagttgcaatcgtagtattgtttcatccggggtgtgtacgaagtaa +tttagacaaggtgtgtagcggtcactaggtaaaatgacttaggatggatgagcatttagg +tattctatgataacactaaccatcatgtttctaaaatcctcaggaaatttgtattatttt +accaacctgtatttatagaaagtgcttttgacttaaagaagccgaagtgttcaaattaag +gagtacctgattgaaagaatggggaattgtaatctgtaactcaattacaaataagccgtt +ctaaggattaaggctttgtgtctaagcaactcacgtgaattcgaaattcatactcgatta +acgactttaatactcttctgcgtatctacagactcatttaaattacggaatatgttttcg +tttttggtttccagctcgcacgtacgcgtttacaaataaggacacctggtacaattggct +ggagtacaatgttggtttttatttgctgattatcccgatccctgtgggcgttggcataac +cgggttttcttcaagactactttcgtgttgcttatatacctggtaatatcggtgagtagc +ttagggcttaatcacaatactaacaagttctctatggattggacagggcggcatccgttg +actgaacgatctattaatccattccctgcactggataaacaagacccatttaaattgacc +atagagatgttagcgtcatatttctgttcgtgatagggtacatatattataaacggatta +tgagcagtggttttctagaaaagcattcatagttaggagtgtatcagatcataccactga +accatagagcacaattctctactggctatacttcattcctttttgtccgggtggggacga +aatttaaaggttctaacctagaacgcagagcgaattgatcaaggcgctggccaagtgaac +ggttctaaatgttcttaatgagaattgcgtattttgactattgacagggcatcgtaaacc +gctactcgacttggtatctgtaatctgtatgtagatagagtacgggcctataattcaaat +tcagccaccgaagattcacaatcttcagacgtttgaaggaaagaggtttactggtatgtg +gtgtcaagccccacccattctctgttatatccgagcattaatgtagtttcactgtactac +ggtcacgccgtagagtcggcagggcaaatccaaaacaatttaggctgagaagtggcacta +taatagtttagcctaagtcccttcgctaataactcaacaaagatgacgcaaaagtcggcg +aatagattgcgttcgcgtaagggtatcttgaatactgatagctctcatggtaccaagaac +tttcataacctctttatttaccaaacctgttctactagcgttagtgttttagtctgtagc +cgacacaaaaaccgagaatggccggcgtaaccggcgcctgcaagctaacatgggatcaaa +actattggcttaacgtttaatcgaatgagactagcactgtattactctttcgtttcggca +gcggatcaataaggaggtgacggcatcactctcttatagtagatatcacttattctcaca +acggaagtaggatcttccgtcctcattaaatttgcaactggctcaatgtaacactgtaat +gttaacaaagtatgagctgaaggtcagagcagacgatgtagtaaggtccctcgaagctgc +ttacagtatccttgaggctcaacgggctatgcggaaattccagacctcgagttacattat +gaaacgtgtcattccatctcattaaatagttcgtgccctatcgccttgtaatataaacaa +ccgtttttgtctattttcccaaggagaaggagagtagcagcttagtggcttgcctatatg +gccccctaagtacgtactcggcacgcttagaagattgggctaccccgcactatatgttcc +caaagtaggtaacctagatagtgtcgtatgaaattcaggtcatcgatgagagtataaaaa +tatacaattttggcaggggttatacattgcgggcatgaagagtaacattggacatgaacg +gacattcgaaccctgtgagtttaataccctatctccggatcattataaagtaaatatacg +tcacttactctacgtgcgtttagacagtctttgaaactaaattggttatttttctttcat +ctagatttgtctgtatctaactaaattatagttccacataaagctgattcaactgaagac +ataaatataaactttctaacatagtagcgaggaaagagctatgcctagcatcggatcatg +cgtccgcgagtagttcctggtagagttaaaagtttttccagaatctagaccgaacacagg +gtagtgaacgaaagtgcgcggtgaacatacataataccgaacgtaaacaattccgttcgt +attgttgctgtatctatatttcctacgtaaggctatttgatctataatatgaaaagtcac +gtcgaaataaatcaggaagcgcttcgagtatgtacattcagatctccttagtatcatcaa +attatagattttacggccacgaattattggtctagatgtcccaaaaataatttgatgtca +gtagcgatcgtgcttcctcggagttgaggttggaagaagagtcattatgctataccaaga +actctccatccagtacctagaaaggcaggtatgtaccgctcattaattttgcgatcttga +cagatctgcatgcaaagtaacttgtaccagatggcttttataatagaaactaagtttccc +gaataacggtgtacgataacagatttttaggtgtacagacgtctgactcaatgaacacac +attgggacctgccccgggaggagtagtagataattaccttctccagcgcgggtcttttaa +tatcacaacataaaaatactaattaatatcacacaccctcatcctcgatggagcctagca +tcatacacgtttgatagacaacgccaattttactgtaatatgatattcgaatctagtatg +tggacgctgtaccacattgtttaaaggagctccctttaccgacatgaacgaagcaagctt +tgtacaagatacgaagaactcagtactggtaactataagagacaatttatacataaaagt +gttaagaccattatataaaaagaggtatgaggtctttgtaactacaataatacattcatc +gaacgatggagaataacagagttatttctgctgctcgagctctagttctgctaatttctc +aatcttgatgccactcgtttgagtcttccattcgctcttaacgacgcgtacatccctctc +tcctactcttacctatatcctattactggttaacctacatctccgggaaagacgtaggta +aagtggtccacgattgtattcacttataacacctagtagtactatgtgttgctgagagtg +aggacacacttactctacgagttcaagtccatatggacattacactttttcagcatctag +gtgtcatgatgtattaacagccgttaggggctatttgattttatcgattgtcggcgtgtg +tattttcaacaactaggtgctacaattcgtgaataggcatgaaaattcaagattgcagtt +cctatcttgtataatctttcctttggacgagttgtaccatttcaactaacctgcaagtgg +ggggtcatccatatgaagatttgccaaatacctggagaccctgaaaagtttatccagatt +aataataacaaacaaacctaagcgaagaacgtcagctttaataaactatcactatcatag +aaattcctgttaattgttcttccaaacgttgaatagactatcacgggtaatagattgaac +acggagaacgtttatccggcttgtaaaatatcgtcgaatctgctgataactcaattatat +tcgatggagaattcatatctaccgcttagcttttaaaaattaagtcagattattccgcca +caatgagaaggcgcgagtgcactaatcaaatcacttaggattattacggacgtctgcatt +acaatgctttggggtagggttatacaagcatatgattctttaggtctcttgatcgggcgt +ttaccaccgtagcttaatgttggcatatccgtgatcctaatattctgttgtcagcgtgtg +tataggaatgcacaacgcaaatctttaagctgacctgttcatgaaagacaggagacacga +ggcaccacctcaattctatgcaaaactctaacatagcgtggcactatgagtacgtgtaac +gacaaggtctcatactcgatcctaagataattctcgtctggaaggttttaatctttaact +aagagtagaacttagtttattgacttttacaattaggatacggttcgcgactctaccaca +gggcatcatacctggagctctgctatctcgtgaccaaagtggcagcacacatagggtcgg +gtcctgcatctactgagcaatccctttaagcattcctagtttgagagccatttagatatt +gctgtttaaaccgattaatggtttctattattataaagtgtaacgctcccattcgggaca +ttgaaaattagcaataagacaatgtatgatattcggcgagtctcaacaacattatggtct +accatgggacaaggggttgatatgatgaatccacaaaaaatagtcaaacacccatggttc +gttaagtgagggtatccaggtgttataaggacgatctagaagtattcaggtacacggtgt +tcagacatgctctaattgtcaggttgtttataatttaacgtatcgctctctattctaaat +aatataaaattaaccgctcgtagggatgctttccagtaaaagatacactatcattaaggt +tatgcaaatgtggcgatttgatttgaatcttagtacattcttaaacttaaatacgtatta +tttaaagtaaatatattatctaaaccgcttttgtctatccacatttcgtcgaatcacgac +ctcgttaatgcgacaatttacgaccctctttcatctaaagcgatcatctatttcttctga +ttgatgtaatactgacccttactccgtacatacaaatgatggtaagcaagaatgactgac +gctcctgtcacctttcgtggcaatcaactggcgctggtactgaagtagcttgaaagggat +atggatgtgtatgccaggcttcattttgacaatttttctgtcctgctcagtgttgtctga +agtcgtatcgtacacaataatgatgactctcattgtagatccaatcacgctttcctacgc +taatgaaagttctagatagtgtaggtgttagacagaggttagcgcctacatccttacaca +cacagtgttgaacggcaagcataatcgagtatcaatagctgtatgtatttgtttggaata +tcatatttctcccgcctttgaacaatgatgccaaaatgtcctgccctagagttatgataa +aataactgctgccctgtaacttaagtttacaaaccgatattcaatcgttgtgtcctatga +aaatatttatatttgcaccaagaaaatcatctgtgcgatgaacaaaacacagtgatttat +aaatacaaagagtacatttagttaccggattgcggcttgacatttattttacagaatttt +atcggcaaaacacttcatatgaactatcgcttcacgataagtctatgatagactagcatt +cgtagagaacaggaagagcaatcattatatatgaagtgttacagtgggtactacatatga +gatcattaggtctatatccggccttcctcataagaccttggaaatatcttacatcagaga +tatcaaaggaagtatgggcgaacccagaaaaagccccaaagaatagtaattcatcggacg +taatagtctggttttaactaggggttattgatatttaagctaaaagagttccctgaacac +tcgaaatgtataatctatcccaactaaaaaagtatacctctaattcagaaatgtcattga +gattagactgatgtcaatacgctaggaggtaagacaagtagaagtttttgatttaggaat +tgaaatgtaatacctccatcttaagttctatattttaaagttttatgcggacttcgagta +agtgcacaaatgatggcataagtgcccagttacatgtttgcggccccgtatgagtaatga +tctgtttatcaatctctagctactatcccacgaatgcactgatgccagtcatggcgctta +cattagtcgacagaaatccgacgatacctatcacgcgtgaactgttctggttcttattca +attcgaagtgatctcagatacattacggccatgcttgcccttcatgtctgctgagcagtt +ttgttataggctgaatctcctctaagcgaaattgataggatttttggtggtcgatttagt +ctgtacctgcttattaagattcaaaatgacctacttcttacgccgaaatgatagggatcg +gctgaggaggataaatatacgctggtgcctggtatttatccagaacaagttgcctgtgta +tcagatgaactctaatctccgagataaaaaacaggtacgtaaaataaaggccgcaaaggg +ttacatctcaggatcgtggcgtatagtccaccattagttctgacttacttaatatagact +gaccgagattgtagtatgtggatccaagcttgccatgtaaaacatgtcggttagcaaaac +gtataggagcatgatcaaagaagagttaattaatagtactgcactataattgtcggcgga +gtaccatgagctgttgcccaattcgatgtttattaacagcacgcataaaaaatccagact +tttcaattagaattaactataaatggtccgcgaaccttaaatgatcggaaggacgggatc +tgccgttgtatagaccccaactctatctaatttttataacacctctgtaatcaacaaatc +ttattatgccatcattatgtcattcgccaagtaagtccagttcgagattctctggaccgt +gcaatagtattgtcaaattatggtaatggaatccttcttctaacacccttagaaaagcca +cgagaattgacaagttgggcgtgcttgtccaggagcaacataagtgccgtttctttttac +gatgatagggattcttaaagcttttctctattctagatcccagttgccatcatcaatatc +tcaattgatgctcattatatagttcttatttagtatgtccagatgtcactgaagatcctg +cctagaaccgatattctcgacaggatcatcagttcgacggggcaaacgcacctatgcaca +tccatcttgaccgtgaaacgaaaggaaagagtcagtaccgacccaatgtggaaaaaaact +cctgtccacgatatgtaggcaagttttactgcctttaattagtagtcgattagtgtagtt +tgatattatctaccttatagaatgtaaacagtaacccggccttaatggtttggcaggatt +ctttgtaaaagttaataatgttcataaactttatcagaaaacctgaagtagtccgccttt +cgcctgcgtaacgttgcagattaattcgttttacggagtggcttgcgtcttgttgtccga +gtacacatattgctcctctcccccactcttctaggaaaatcaattatgctaacctgcaga +ccttcttctttactatctttaatgcatgcccagtatgttcatagggtagacttgctatct +attttgtataatctacgaatgatgcttggggcgcgacttttaacaattaagccgttgggt +ataatttgagagggtgccacgatagtaagagatttccggcgtgagtaaggaaaatgataa +taggattaagcaggcgtaatagctcaccctcctcagttctccaaccctgaaccggctaag +tatgactgtgcagtattaattttgaatacatattgcagcccctaggatacattatagatg +tctctttcttacccaaactcgcccgcaccaagaaagaatgtggattcgattgaggttaaa +ttagccggaattacagacacagattcttgtttacaattgtgggaagaaaaccacctcaaa +cgttgaaacctacattcacaaatggattacgttggggatgagaatcgattccggtcaaaa +atcatgcccggagcaataaccaagaattcacagaggattaatacacttctccatgaagat +aggactgcttgcactatccttatctttgtgtcttccttcaagcaccaatcgtttggggac +aaccacaattatgccaagaaataacggaaggtgttccaaatctatgagtccgcggtttca +tcgcaacgtttcactgtgggtatcatgactttggactttagatttgggtattctagagac +tgtagaaagactgcaacaacaagacattcacagggcgaaacctaggaaaggggaccgcac +gttgtgctagggatgtttccttaggaatccatacatgtaagaaagaatcaaccgtaatta +tagtgttttcggccccttgaattacgtgcatgcctttgctaaaagacctctgggaaatag +attgaatattctggacagcagcgaatcctgattatatctcaagcgaatatatgacccgca +agaaggatttatactagaataagtctaagaaagggcattgggtcacttcttccactaaca +cacttttatcagttttataccttgagagtcccatgcatttttatatatatttaactttcg +ttgcgtaaaactttaaatatgatccgtgctctatctctaatctgaacaacggtatcacgt +cgaacaaatctagtggctacgaatcgcgtcgctaagaacggtttcttctgctggcgttag +ctacgtatcttctatgctaaaaatgtatagccccgcattagcagcaaaaccgggagaatc +aaatacacatccgatgaaatcgtaacaaagataaaacaacgcgatttctatgtttgccaa +agtgattaagttgtatcgtaggggtcagcgctgatgtcttttcagtttgggttttggatt +taccagtcttttagtttcggtactatttgatcgggacattcgtccaaacatgatggctca +ttcgttctttttttcaattttaatcaaaaccttgtatttacctgatacattaaactgagc +atcgcatggaggtggagattcccatatatgtaatcatttgatatcctattccattctttt +tagttataaataaacgctccactgcacaatgggagtaggacttcaccaataattagcatc +tactgtaaacaagcgccgtaacgaaatgattactgattgagaaaaataggtctcaacaac +ttttgacagatatgtatccgatacccaagcgttgctaattgcgcaaaagtaagtagaatt +acggtcgtattacttgttgccaaatggttattactccaatgggctattctaatccgatgg +atacgtaggagagagtgtacctacaccgaaactcgtagtgggcttagtggctacgtagaa +gctgttcgggtcagttacagcgtgcgaccttgtaaaatcgatcacggtgatgaattattg +ttattgtttaaaagaagtcccctgaatagcccttagataatacgaaaatttgttatgtcc +agtcgctcgtatatcaaaagattcggttaagttcgcagagttttgccaagtttacaggtg +atttactaacacttgggagggtacgtacaaccatcacctggttagcagagaatgaattat +acggtcatgtcgcgaagggcaagtgtgtgagtattgaccgagttattaaacgtaaatgca +ggcatttacgtcataggacatcgagtttgtcctttgcgaaatgttaaatttatggttttt +tccgttgagtgataatagctgcaacatgaagatagtaaaactgaggttaaactttcacca +tattaaattatatgttcaattacgcgatgtacaaactaatgttaatcagatttaggagcg +cgcttaatatgggtccctatcccgactttgtacgagattttgataaaaaatagtattgta +aattcatttgatggcgtagaaccgggcaaaaccttgaaaaaggacacatttaggatgcta +tttccctaagaaagcggaaaatcctggctcaatatttataatagtaatggttaagattgt +ggcccaatcgctgagtacccgtcttacgctttttccaacacataatcgacgagaatgtat +ttaaatgtttgagacttacgttttccgcgtacttattattaaagtcattggagagggtgt +cgtctgggtgtagttttctcatctgctcaggagctaaaaatgtaaatctattggttgttt +ctaattctgtcgtccgtgtaggctatttaatttttatggtacacttgaatatgtttagcc +ataatgtagccaatactacaatatcagatacttgtatacgacctatagacttttgccgac +cgctcgtagagtgatttagaaagatgttcggatagcacagcaatcgtttgcgaatgtaag +catgcgaagcgagtatttaactgttgactattttgctatatgttactctgaatgttgttt +tttttaccagaatgtgttataatgatcaaccatgcacgttcctactaatcatataaattt +tgttacgtaagcttttctatgatagtggtctaaagactacccttgcatactttaagatta +agacatgcactttaggaggaactcacacgttttgagctgttctagcccacctataagcca +ttcgtccgcaatcccataactacaatagtcggcaatcttttattacccagaactaacgtt +tttatttcccggtacgtatcacattaatcttaatttaatgcgtgagagtaacgatgaacg +aaagttatttatgtttaagccgcttcttgagaatacagattactgttagaatgaaggcat +cataactagaacaccaacgcgcacctcgcacattactctaatagtagctttattcagttt +aatatagacagtatttgaaccaggcgctaatgttaaggcccccttcgaaaaccttgttat +gttattccatgtggtcggaggatttgcggggcgatagcgctgggcggggatcaacaattt +cgttcatgcgagcgcccccataaccagtaggtacagttcggaaaagaaaaccccacgcac +tcgctagaagtgttacaatcacatcacttcgtaccgaagggactactgtattccgtcttg +gggatgtaacagactgattacagtcttatgatgaagcctcattcatctaaaattagttga +tttattccacggatactatcacactcctatagaaagagttaccaccgtgggaagctagat +ataataaataaaagacatacaatattagtatggctcatgatctacacttactcggatctc +tctttttttataaccagtagatcgcattacacgtattgttgttccgcatcaggccctagg +ggctcaaacttccatggtggataactaaaacgtccgtcactaaacgaagatattaataga +tgaaatacacgggtttacttgatttctgttcagtcattcacgggaaatcctaggagtctt +tcataacggcggtcttagtaggaatgtagtcaagctctgtagaggtctcgacggaattgg +tatttcctggcatcacaatttacctagtattggagatcacttaaaataatgttgagataa +taatcaggatatttctagtatgtgacaaacctctatttagtgattgtgattttcaattaa +acaagacgtaggggtcaaattaacgactacatgttggaaagaaggccgaattgtaatatc +taactcatgtactaagaagaagtgctttcgtttaaggctttctgtctaacattctaacgt +caattcctatgtaatactactgtaaccaagttattactcggctgcgtagataaagtctca +tgtaaatgacggtttatctgttacttttgggtttcaacctagctaggacgccggtactaa +ttacgacacctgcgtatagtgcagggtgttcaatgtgcctttttatgtccggattataac +catccctctcccacttggaatatcaccgggttcttaatgacttagttcgtcttccttatt +ttccgggtaagatcgctgtggaccggacccattttgatctagtctaaaaaggtatatagc +gtttcgtctggcccgcttacgttcactgaaacttagattaatcaatgcactgcactggat +taacaagaacatgttatagtgtactgacacatgttagactaagaggtctgttcgggttag +ccgacttatatgtttaaccgattttgacaactgggttgagagataacaatgaagagtgag +gactgtagaagatcttaaaactgtaccatagtgctcaattcgctaatggcttgaattatt +taattgttctaaccctggcgtcgaatttttttggttcgaaaatacttagcacagcgtatt +gttcaacgagatgcacaactgtaccgttagaaagcggcttaatgacaaggcagtattgtg +actattgacagggaatcctaaaaagctactcgaattggtatatggaagaggtatgtactg +agaggtcgcgcctattagtcaaattctgccaaagaagagtcaaaagcttaactagtttga +tggtatgaggtttaatgctaggtggtctataccaccaaaaagtatatgggatatcccaga +atttatcgactttcaatcgtctaccgtcacgacgtacactaggcagccctaatccaaaac +ttttgaggatgagtactgccactattatactgtaccatttgtaacttacattttatatct +tcaaagaggtagatattgtcggccattactgtcacttacactaagggtagcttgattact +gatacctctcatggtaaaaagtaatttaagaacctatttttttacataacctctgctact +accgttagtgttttagtcggttcaagtcacaaaatccctgtagcgcacccctataagcag +aaggaaaccttaatgcggataaaaacttttgccggaaccgttaatcctatgagaatacca +ctcttggaatcggtcctttaggctgaggatatagaacgaggggaacgcatcaatctaggt +taggtgagagaactttgtatcaaaacgcaagtaccatatgccgtcctcagtaaattgcca +aatgcagaaatcttacactcttttcttaactaagtatgagagcaacctcactcctgaaca +gcttgttacctaacgagaagaggctttaagtagcctggagcctcaaccggatatccggat +ttgactctcatccacttacatgatgattacggtcattacatctcatgattttctgagtgc +cctatagactgggaatttaatctaccctgtttctatttgttaacaaggagaaccactggt +caagatgacgcgcttccatttatgccaccataagtaagttctcggaacccttacatgatt +ggcctaccaacctatatatgtgaccaatgtacggtacatagagtgtggcctatcatattc +aggtcatcgagctcagtatttaaagattatatggtcgctgggggtattcagtgcgcgatg +gaagactaacattggaaatcaacggaattgacaacacgctcactttaataacctatctca +ggataagtttaatgtaattagacggaactttctctaactccgtgtactaactctttgaaa +ataatgtgggtatttttatttcatctagatttgtctgtatcgaaagaaagtattggtcca +aataatcctcagtaaaatcaagtcataaatataaaatttagatcttaggacagaggaaag +tgctttcccgagcataggatctggcctacgccagtagttcatgcttgtgttaaaagttgt +tactgtttatagtccgtactcagggtagtgttcgatactcagcggggaactgacatatta +cactaaggaatcaaggcccttcgtatgggtcatgtttatatatttaattacttacgctat +ttgatcgagaatagctatagtaacgtcgtaagaatgcaggatgcgattcgagtttgtaaa +ttcacagatactgtgtatcatattattatagatgttaaggcatagaattattggtattga +tgtacaaaaaattatgggtgggcagtaccgataggcattacgagcagtgcagcttggaag +aactggatgtatcctataactagtaagagccttaaaggtactacatacccagggatgtta +ccatcattaatttggccatcttcaatcttcgcaatgcatactttcttctacaagatgcct +tttagaagacaaaataagtgtcaacaataacgctgtaacttaactctgttgtacgtggaa +tcaagtctcactaaagcaactaacattccgacatgcaaacgcaggactactagattatta +aattcgccagcccgcctcgtttaatataacatcataaaaattctaagtaatatctcacac +actaatccgccatcgtccatagcatcagtcacctgtcttacacaaacacatgtttaatcg +atgttgttatgccaagctagtttcgcgaccatgtaactaattgtggaaagctgctacctt +gaacgacatcaaccatcctacctttgtacaacagaccaacatctctgtactggtaaatag +atctgaaaagttataaatataactgttttcacattgatagaaaaacagctatgtgctatt +tgtatatactataataaattaagcgaaacatggagattaaaacagtgttttctcatcctc +cacctcttgttctgctaatttataattcttgatgccactcgtgtgagtcgtccattcgat +cgtaaagaacccgacataaatagatacgacgctgaacgagatcctatttctcctgaaaat +tattagcacggtaactcctagggatagtggtactagttggtatgaacgtataaaaacttg +tactactttctcgggatgtgagggagcaaactattactcgaccagtgcaacgcattatcg +acagtaaaagttttcagctgatacctgtctggatggattatatgcaggtaggcgagagtg +gattgtagcgatgctcggcgggggtattttaaaaatctaggtgataaaagtcctgtttag +ccaggaaaagtcatcattgcactgcatatcgtcgattagctgtcatttcgtccactggta +ccagttcaacgtacatcaaagtccgggcgcatccatatcaagttttgcaatagtactcca +gaccatgaaatggttatccagattaataataacttaatatactttcactacatactcagc +gggtattaaatttcactttatgtcaaaggactcttatgtggtcttcaaaaaggtctagag +tctatcacgcctaattgtgtgaaaaccgagtaacttgatcagccttgtaaaatatagtag +aatatgatgttaaatcatttatattccagggagattgaatagcttacgattagctggtat +aatttaactcacatgattaagcaaatatctgtaggaccgagggaaagaataaaataaagt +accatgagttcggaacgctgcattacatggcgttgggctagcctgatacaagaagatgag +tatggagctctcttcatcgggacgtgacaaccctagcgtaatcttggcagatcccggagc +agatgattatcgtctaacactgtctttaccaatgcacaacgcatagatttaacctgaact +gttctggattcactcctgactacagcctacaactcatttctatgcataactcttaaagac +agtcgcaatatcagtacctctatacacatcggatcagactagatcataagataagtctcc +tctggatccttgtattctgttaagtacactacaaatttgtttagtgtctgggacaattac +gataagggtcgcgactagaccacagggcatatgacctccaccgctcctagcgagtctcca +atctgcaagcactcatacgctaggggcatgaatcgactgtcaatgcactgtaagatttac +gagggtgagacccatttagatatgcctcgtttaaccgttttaggcttgataggatgagtt +tgtcgatccatcaaattcccgacattcatattgtccaataagtatatctagcttattcgg +actcgctaaactaaattatggtataaatgccgtcaaccggtgcatttgttcaatcaacaa +attatagtcaatctcccatggggccttatggcagcgtatacagctggtataacgaccata +tacaactatgaacggactagctgtgaactaagcagattattggatccttgtgtataattt +taagtttcgatctatatgctatagtatagaaaatgttccgatcgtacgcttcctttacag +ttaaacagtctatatcatgaagcttatccaaagctggacatttgatggcaatcttactta +attatgaaacttaattacctattattgaaagtatttatatgatcgaataagatttgctct +ataaacaggtcgtccattcacgacctagtgattgcgtaaattgaccaacctaggtaatct +aaagcctgcatctatttcttatcattcatgttatactgacccgttctcagtacttaaaaa +tgatcgtaagcaagaatcactcacgctcatgtcacatttagtcgaaataaactgccgatg +ggaaggaagttccgtcattgcgatatcgatgtctatcccacgcgtcattttcaaattggt +tatctacggataactgtgcgatgaactactataggtcaaaattatcttcaatctcattct +agatcatataaagatgtccttcgcgattgatacgtctacagtgtgttggtgttacacaga +gggtagcgactacttacttactaactctctcttgatccgcaagcataagccaggttaaag +tgctctatctttttctgtggattataatagttataccgccttgcatctaggtgcccatta +ggtaatgccctagtgttttcataaatttactcctgccatctaacgttactttaatttccc +agattcaataggtctctcatttgaaaattgttatatgtcaacaaagaatataatagctga +gtggaacaatacactgtgagggagtaatacatactctaaattttctttacggtttgcgcc +tgcacagttttttttatctatgtgatccgcataaaaagtaatttcaacgttccattcaag +ttaagtcttggtgacactagcattaggagagatcaccaagaccattatttatttagctag +ggtttaagtcggttagaaatatcagataatgaggtctttatccggccttacgcagtagaa +attggaaatttcgtaaagcactgagttcaatggaagtatggccgaacccacataatgcac +aaatcaagtcgatttcttccgtccttttagtctcctgggaactacgggttattcatagtt +aagctaaatcagttaacggaactagacaaatgtataatagttcccaaatatatatctata +aatcttatgcagttagggaatgcagatttgaatcatggcaatacgctagctcggaactca +actacaagtgttggatgtacgaattcaaaggtattacatccttatgatgttcttttttgg +atacttttatgacgacttccacgaagtgaaattatgttcgaatatctgaacagttacttg +gttgagcccaaggatgacgaatgttctgtttataattctcgtcataatataaatacaagc +atatgaggccagtcatggagctttcatttggactaacatttccgtagagtcatatcacgc +ctgtaatctgatccgtctttttctattcgaagtgttatcagatacatgacgcccttgcgt +gacattcatggctcctgacatcgggtcttttaggctgaatctaatctaacccaatttgtt +tggattgtgggtcctccattttgtctgttaatgcttattaagattaaaaatgtactacgt +atttagacctaatgattgcgatacgctgtggaccattaatataagctgcgccaggggatt +tttccagatcatctggcctgtgtatatgttcaaatctaatagccgagagaaattactccg +acggaaaataaaggcagataagcgtttcagagcaccatcgtggcgtttagtcaaccttta +gttcggaatttattaatatacaatctcactctttggacgagctccttaaaagatgccctt +gtatatcatgtcccgtacctaaaagtataccagcatcatcaaagaacagttaaggaatac +gactgctctataattgtccgaggagtaccttctcatctgccaatagtcgttgggttggaa +aacaacgcattaatatgccacacttgtcaattagaagtttctataaaggggacgagtaac +tgatttgagacctagcacggcagaggacgttcgtgtgacaacatctctttataagtttga +gataaaatcgctaatctacaatgattatttgccaatcattatcgaatgcgcaaagtatct +cctgttcgtgattctagcctaaggccattactatggtcaaattatgctaatcgaagcagt +cttctaacacccttagaaaagcaaacactattgaatactgccgccgcattcgccagcacc +aacataactgcacgtgcttttttccatgattggcattatgaaagatttgatctatgattc +ttaccagttgcaatattcaatttagcatgtgttcctaattattgtgttattatggtctat +ctcatcatgtaaatgaagatcatgacgtcaacacagattctagtcaggatcatcagttcc +tcggggaaatcgcacctaggaacagccttatgcaaccgctaaacaaagcaatgaggatgt +accgacaaaagctcgatttaaaagcctcgaaacgagatgtacgaatcgtttactgccttt +tatgaggagtcgagtactgttggttcatatttgctacatgattgtatgtaataacgatcc +cgccctttatcggttcgatcctttatggcgataagttatgaatcgtcagtatctttagat +caaaaactcaactagtacccagttccccggaggaacggtcatgattaatgcgttttacgg +tctcccgtccctcttcttgtcagaggaatcagtttcatccgatcccactcgatgattggt +atagctatttgccgaaaagccacaacgtattcggtactatcttgtttgattcccctgtat +cttaattcgcgacacttgatatcttttgtgtttaatcgacgaatcatcctgggggcgaca +cttgttacaattatccagttgcgtttaatggctgtgggtcacaagattgttagacaggtc +ccgcgtgtcgtaggaaattgataattggagtttgcaggacgaatagctcacccgcctaag +tgatccaaccctcatcaggataactatcactgggcagtattatttttgatttcatatgcc +accccctaggagactgtagtcatgtatctttcttacccaatctagcccgaaacaagaaag +aatgtcgattccagtcaccttttattagaccgatttacacacaaagtgtcttggtttaaa +ggctggcatgaatacatactcaaaagttgaaaacgacttgctctattcgattaccttcgc +gatctcaatcgattacgctaaattttaatgcccgctgaaatatccaacatttaaaacagg +attaattctctgatccatgaacttaggactcattgcacgtgacttatctttctctcttaa +ttcatgctccaatacggtgggctaaaccacttttatcacatgaatgtacgcaacgtgtta +ataagctatgagtacgcgggggcagcgaaacgggtcaatctgggtatcttctattgggac +ggtacatttcggttttatagactatgtagttacacggcatcaacatgtaattaaaacggc +gtaacctaggaaagccgaacgcaccttgggattgccatgtgtccggaggattacatacat +ctaagaaacattctaaactatgtatagtcgtttacgacccttgtagtacgtgcatccctt +ggcgaaaagtactctgggtattagagtgtatattatcgacagcaccgaatcctcatttta +tagcttgacaatttatgacccgaaagaaccttttataagtctataagtatatctaacgca +attgcggcactgagtccactaactatctttgagcagtgttatacagtgagacgccatgga +aggggtttatatattttactgtcgttccctaaaaagttaattatcagacctgcgcgatct +cgtagatgaacaacgcgatctagtcgaaaaatgcttgtggctaccattccagtcgagatc +aaccgtttctgcggatcgcgttacattccttgcttatttgcgataaatcgatacaacccc +attaccagaaaaacccggagaatcaattactctgcagatcttatactaaaaaagagatta +caacccctgttctatgtgtcccaaagtgagtaacgtggagcgttggggtaagagcggagc +gattttaactttcgcttttccattttccagtattgtactttacgttatatttgagcggca +cattcgtcaaaacatgatccatatggactgaggtgtttaaatgttaatcaaataattgta +ttttcagctgactttaaaatctgcagccattggaggtggagattccaatagatgtaagca +ggtgatatcatatgcaattcttgtgacttattaagataccagacacggcacaatcgcagt +agcacgtaaacaataatgacaatcgacggttaaattccgaacgtaagatatgtttacgga +tgcactaaaataggtagcaacaacgtttctctgagatgtataagttaccaaacactggag +aattccgctaaactaaggacaatttccgtcgtattaattgttgacaaatggttagtaata +cattcgcagtggataatccgttgcatacctagcactgagtgtaaataaaaccaatcgact +actggcatttcgggctaacgactagatgttagcctatgtgaaagcctcacacatgcttat +tgccttcacggtgagcaatgtttcttattcgttattagaagtcacctgtagagacagtag +agatgacctaaatttggtttgtccagtcccgaggtgatctaatgattaggttaacttaga +acagtggtcaattggttaaagctgatttacgaacacttccgaggggtcgtaaaacattaa +actggtgagaacagtatgatgtattcggtcatctagacaaccccatcgctgggagtttgg +acagtgttatgattcgtaaatccaccatgtgtccgaattcgaaatcctgttgctccgggg +agatagggttaatttaggcttttttacggtgtggcatattagctcaaacatcaacattct +taaaatcagcgtaaacggtcaccagttgatatttgttctgctaggaagcgatgtacaaaa +taagcttaataagatttaggtccgaccttaatttcggtccatagcacctctttctaagtg +ttttgcttaaataattgtattgttattgattttctgcgagttgaacacggaaaataagtc +aaaaaggacacttttaggttcatatgtaccgatgaatgcgcaatagaatcgagaaatttt +tagattagtaatcgtgatgattgtggccaaatcccgcactaaacggctttcgctgtttcc +aaaaaattttagtccactaggtatttaaatgttggacactgaacgtggaagccgtcgtat +tatgaaactaatggcagaggggctcctctgcgtgtactttgagcagatgctatcgtcaga +aaaaggtaaatcttttggttctttataattctggcgtccgtgtagcctagtgaatgtgtt +tggttcaagtgaatttgtttagccagaatggaccaattacgtcattagctgttacgtcta +tacgaaatatagactgtggacgacccatcgtagagtcatgtagttacatgtgaccttaga +acaccaatcgtgtgcgattgtaagcaggacaacacagtattgtactggtcaattggttca +tagatctgactatgaatcttcgtttttgtacaacaatctcggtgaagcttcaaaaagcct +ccttcctaataatcagttaatttttcgtaaggttcctgttcgaggttagtcgtataaaga +cgaaacggccttaatgtaacattaactattccactgtaggtggatctaacaaggttggac +atgtgctaccaataagataagaatttcgtccgcaatacaatatctacttttgtagcctat +cttggattaacaacaacttacgttggtatttcaccggacgtatcaaatgattctgatttt +aatgactgagagtaaacatcaacgaatcttatgtatctttaagccgctgcttgacaagtc +acattactgttagaatgaacgcttcattactacaaaacctaccaccaactcccacattaa +tattatactagatgtttgaagtttatttgacaaaggttttcaaaaagcacagaatcgtta +cgaacacgtacattaaattgttagggtattaattgtggtcggtgcatttccggccccata +gcgctccgcggggagaaactatggccttcatgacagcccccccataacatctaggtaatg +gtcggataactataaacaaccctctccagagaactgtgaaaataaaatctcttagtacac +aagcgtatactggtttaagtcttgcccatcttaaagactcttttcactattttcttgatg +cctcattcttctaatattaggtgattttttaatccgagaatataaaaagacgatagaaag +tgttaaaacacggcgtagcgacatattttaaagaaatgaaatactttttgactatccctc +atgatctaaacttacgcggagctatctttttgtataacatgtacagagaattaatccgat +gcttcttccgattaaggacatagcgccgaaaacgtcatggcggcttatcgatatcgtaac +gcactataccaagtgattaagtgatcaatgaatacgggtttcgggatttctgttaagtca +tgcacggcaaatacttggagtcttgaataacgccgcgcgtagtacgaaggttctcaagct +cgcgtgacgtatagaccgtattgctatttcctgccttctcaattgtccgaggattgctga +taacttaaaataaggttgagtttttaataacgatttgtcgagtttgggaaaatcctcgtt +tgtgtgtttgtcattttcaagttatcaagaactacgggtataatttacgacgtaatgttg +gtttgatgcccgattgcgaatatcgtacgaatggtatttgtacaactgctttcctttatc +gattgctcgagaacattataaagtctattactatggattaagactgtatacaagtgttta +agcggagcccgtgataatctataaggttttggtacctttatctgttacttttgccttgaa +acatacatacgtacacgggaatatttacctaaacgccgtatagtccagcctcgtatttgg +gccgtgttttgtcagcattttaaactgaaagcgcccacttgcattataacccggtgcgga +atctcttagtgactcgtcaggagtttacgcctttgagacctctcgacaggacccattttg +atctagtcgttataggtagagtgcctttcctatcgcaccattaccttctagcaaacttag +agtattcaatgaaatcatatcctgtttatactaaatgttataggctaatgacacagctga +cactaagaggtctcttcgggttacccgaatgagttgtttatacgatgttgacaactcggg +ggagtcatttcaatgaagactgaggactcttgatcagattaaaacgcttaatgactgata +atttagattatgccgtgtattatttaagtgggcgaaccctcccctagaatgggtttcctg +agaaaagtcttagaacacagtattctgaatccagatgcaaatcgctaacgttagtaagcg +gctgtagctcttggcagtttggtcaatagtcaatcgcaatccgtttaaccgtctactatt +cctagagcgaagagctatgttctgacacgtccccaatattaggcaaaggctccaaaagaa +cagtcaattgattaactacgggcttggtttctccgtgaatccttgcgccgctataccaca +taaaaggatagcggtgataccacaagtttgcgacgttaaagcgtcgaccctcaacaagta +cactagcaaccccttagcaattaattttgtccatcactactgccaagagttgactggacc +agttggaaatgacatttgatatattaatagagctacatattgtaccactttactgtcact +tacactaaccctagcgtgattactcatacatatattcgtaaattctaagttatgatacta +gttttgtaaatttaatcggcgaagacacgttctcttgtacgagcttcaactaaatatttc +actgtagccaaccactttaaccagaaggataccttaatgccgatataatattgtccagga +aacgttaatactttcacaagacaaagcttggaagaggtactttacgatcacctgatagat +cgaccggaacgattctatataggtttggtctgagaaatttgtagctaaaaccatgttcca +taggaactcctctgtaatgggcaaaatgcagatagcgttcaatcgttgcttaactatcta +tcacagcatcctaactcctcaacagcttctttcctaaagacatcagcaggtaagttgacg +gcacccgataacccagagcacgattggaatctaatactctgtatggatcattacgctaag +taaatataatgattttctgactcaaagttacactgcgaattttatattaactggttctat +ttgttaaataccacaacctctcgtcaacaggtcgcgatgcaagtgatccaaaaatatcta +acttataccaaccattacttctggcgcagaaaaacatagatatctgaacaatcgaccgtt +aagactgtctcgccgatcttaggaacctaatactgctcagtagttattgtttatttgggc +catccccggattatgtcagccatggaacactaaaagtcctaatctaacctatggacaaaa +agctcacttttataaaattgctcaccttatgttgattgttatttgtccgaaatgtctata +actcagtgtactatctattggaaaattatggccggagttttattgaatatacttttgtat +gttgagaaagaatgttgtcgtaataattatcagctggaaaatcatctaatatatattata +ttgagatattacgacagacctaagtgctttcccgtcatgagcagatggactaacactctt +ggtaatccttctcgttttagttggtaatgtttagtctaagtaatatcccgactcttactt +actcagagcggaaatgactttttaaactaacgtttaaaggcacttagtatgcgtcagggt +tatttttttaattacgtacccttgtgcagagagtttagctattcgatcctacttagtatg +aaccatgagagtacaggttggtaattcacagagaaggtcgagaagattatttttgatgtt +taccaatactatgaggcgtattcatcgaaataattttatggctgcgcacttcacatacgc +aggaagaccactgcagcttgctagatctggatgtatcattgtacttctaagagcctgaaa +ggtaatacattcccagcgagcgtaacagattgtatggggacatattcaatcttagcaatg +cattcgttcttcgaaatcaggcatttttgatgtcataagttctgtcaactataaccctgg +aactttaatctgttgttcgtcgaatcaaggatcaagaaagcttctaaaaggcccaaagca +aaacccaccactacttcagttttaaattagaatcacaccctagggtattagataataatt +aaatgtcttaggaagagatatcaaaagatgcagacatcctcaagtgaataagtctccggt +ctttcacaaacacatggttaagcgatgtggttttgactagagacgttcgccaccatcgta +atatttctggttacctgcgaacgtgaaccaaatcttacttcatacattgcttaaacagta +caacttatctcttatcctatagagatctcaaaagtttgtatttttactggtttcaaattg +agagaaaaactgcgttctccgatttctatattattgtttaaatgatgccaaacatccagt +ttaaaacacggtgtgatcagccgactcagattcgtatcctatgttagaatgagtcatcaa +actacggtcacgcgtacattacagagtaaactacacgaatgaaagagataagaagatgaa +agagttaataggtctcctgttaattatgagaaccctaactactacggattggcctactag +tgggttggaacggatataaaattcgactaagttcgcggcatgtcaggctcctaaatatga +agagaactcggcatcgaattatccacagtaatagttggaacatgattcctctatgcatgg +tgtatatccacgtacgccagtgtgcagtgtagccatgcgaccacgggcgttgtgaatatt +cttcctcagaaaaggactgttgagcaaggaattggattctgtgaacggaatatagtcgag +tagatggaatttcctacactgcgaaaaggtcatagtaaatcaaacgccgcgcgcagacat +atcttcttggcaattagtactccactaaatcaattggttataaacttttagaatatcttt +atataagttcactacttacgctgcgggtagtatatttaaagtgatgtcttaggaatctta +tggcggcggaataaacggcttgactatagataccctaattctggcataaccctgtaacgt +gtgaagcatgctttaatagacgactagatcagcttatagaatggatatgactgccacatt +gaagagattaacattagcgggtataatgttacgaacttgtttaacaaaatagctctacca +cacacgcatagtataatataaaggtcctggagttcgctacgagcctggaattgcagttcc +cctaccctgagtaaacaagatcagtatggacctatcttctgacccacgtgtaaaaactac +cgttagcggccctgagaacggtgaagttgattatcggctaacactcgctttaccaaggaa +caaacaattgatggaacaggtaagcggctggattctatcctgaatacagcataataatat +ttgctttcaatatatagttatgacactcccaatatcactaactctttacaaatcggatat +gaagagtgaattagagatggagccgatcgttccttgtattctggtaagtactcgactaat +gtgtgtagtctaggggtaaaggtccttaaccgtcgagtctagaactcacgcattatgaaa +tcctccgagcatagagactctaaattcgccaagcaataagtcccgacgcgaaggatgaga +agctcattgaactgtaacatttacgtcgggctcaccatgttacatatgcagcgggtaaaa +gtttttgcctggagtggttgagtttcgcgatacataaaaggccccactttcatatggtca +aatatctatatcgtgctttggacgactcgataaactaaagtagcctagtaatgccctaaa +ccgctgcatttgtgcaataaaaaatttagagtatatataacttccggacgtatggctgcc +ttgaatcctcggatatcgtccttatacaacgatgaacggtatagctcggaactatgcaga +ttaggcgatccttgggttgaatttttagtttccatagatatgagttagttttgatatggt +taccatacgtccctgcattgaaacttaatctgtatattgattgatccttagcaatagcgg +cacatttctgggcaatatgacttaattaggttacggtttttactatgatggatacgtttt +atatgatagaataacagttgctatttaaacaggtactacattcaactaatactgtttcac +tattgtgtccaacatagggaatatattgcctgaatagatgtattatcaggcatcttttac +gctccaggtagaactaattaaaaatgatccttagaaactttcaagcaacataagctaaaa +gttacgccaattataagccacatcggtaggatcttcaggcattcccatatccttctctat +caatcccgtctgttgctaattggttatctaagcatatcgcggcgagcatctacgataggt +ataaagttgctgctatctaattcgtcataatatatacatggaattacagattcatacgtc +ttcagtctcgtggtgtttctaagagcggacccaagaattacgtaatatctctctcgtgtt +acccaagaagttgacacgtgattgtcagctatctttttctggcgatgttaatagttataa +acaattgcatatagctgcaaattagctaatcaaatactcgtttcttaaatgttatcagca +aagctttaggttctgtaatttcactgtgtaaagagggcgctaagttcaaaattggttttt +ggcaacaaacaatttaatagcgcagtgcaaaaataatatctcagggtgtaattatttctc +taattggtctttacggttggaccaggcaatgggttttttatctatgtgataccaattaaa +agtaatttcaaagtgacattaaacttaagtattgctgtcaagaccattacgacacttcac +caacacatttatgtattgtgctacgcggtatggcccgtagtaatttctgatattgaccgc +gttatcagcaagtacgctgtacaaatgccaaatttagtaaagctctgtgtgcattccaag +gtgcccacatcacacattatcaacatatcatgtcgttgtattacgtccttttactagcct +gggaaataccggtgattcagagtgaacataaatctctgaaagctactagacaaagctagt +atagttaaaatatatatttcttttaatattaggatctttgcgattgcacatttcaagcat +cgcattaacctacctccgtactcttctacaacggttgcatgtacgatttctatgcgatga +aatacttatgttcttagtttggggttactttgttcacctagtcctcgaacgcaaattagc +ttcgaatatctgaaaagtgtatgcgggcaccaaaacgatctcgattcttaggtttataat +tatagtcagaagataaatacatgcatatctggacactcttccacatgtcatgtcgactaa +ctttgaactacagtcatatatagactgttatctgatccgtatgtgtctattactactctt +atctgagaaaggacccaatggagtcacagtaagcgatcatgtcatcggggctttttccct +gattataagattacactattgctgtgcttggggcctcctactttttctatcttaatcatt +ttgtacattaaaaagctaagaagtaggtacaacttatctttcccatacgagctggaccat +taatttaacagccgcaaggcgagttttaatgttaatctggaagggctttatgttctaagc +ttttagcactgagaaattaatccgtaggaaattaatcccacataacccggtaagagaacc +ttacgccccgttactaataatgttctgcgcaatgtaggaagtgacaagctcactcttgcg +acgagctccttaatacaggccctgcgttatattcgaccgtacctataactagaccaccat +cttaaatgtacagttatggttttcgacgcatagagtatgggaccacctcgaaatgctcag +ctgcaaattgtactgggggtggttatcaaacatttaatatgaatctatggtaaagtacta +gtttatagatagccgaacactaaaggtttgcagaccttcctcccctgaggaacttcgtgt +cacaaattagattgagaaggtggtgataaaatcgcgtatctacaatgatttggtgcaaat +atttatcgattgcccaatcgttctactcgtactctttatagcctaacgccttttcttggc +gctaattagcctaatccaagaaggagtctaacaaaattacttaaccatactcttgtctat +tcggcccacgcatgcgcaagctcaaaaagttctcaacgggcgtttttacttgagtcccag +gaggtaacattggatctatgagtcttaacagtggaaatatgatttttagattgtgttcag +atttattgtcttattttggtctatctcatcagctatagctacataatgacgtcttaactg +tttcgactaaccttcagatctgactaccccaaatacaacatagcaaaagaatgatgctaa +cgcttaactatcctttcacgatcttaacaaaaaagctccatttaaaagaatcgaaaacag +atctaccattcgtggaatcaatttttggacgagtactggtcgggtcgtgcttatttgcta +caggattgtttcgtataacgttcaagcactttagcggttccatccttgatggcgttaact +gatgatgcgtaagtttatggtgatctaaaactctactacgaaccaggtcccagcacgaaa +cgtcatctttaatgagtttttaggtctccaggcactaggctgcgaagtggaatatgtgtc +atcagagacaaatagatgattcctatagctttttgcagttaagccactaagtaggcggtt +ctatagggtttcattcaaatcgatcgtaattcccgactctgcatagcgtgggtcttgtat +agaccattcttcaggcccgccacaatggtttcaagtttcaacttccgtttattggctgtc +cctcaatagagtcgttctcagggcacgactctcgttcgttattcataagtccagtttgat +ccacgaatacagaacacgcatatctgataataaaagcttaacgataactttcacgcgcat +ggtttatttttgatttattaggcaaccaaataccagaatgtagtcagcgatatgtagtaa +aatttagacaaacataaaacaaagtatcgccattacagtctcctgttaggagaacctttt +tatcaatatgtgtaggcgtgtattggcgcccttgatttaataataattacggctaaacgt +attgatattttccaggaactgccccatctcatgagatgaccctaaattttattcacacct +catttttaattcttttatatcacgattatttatctgagcaagcatctttgcaagcattca +tagtgacggtgctgtctctatgaatgcatgctaatatacggtgcgctaaacatattggtt +caattcaatgtaagctacctcggaatttgcttgcactaagacggggaagccaaaacggta +aatcgccgtatatgctagtgccaagggacttgtccgttggagtcactatggagttacaag +cattataaatctaaggaaatcgcagtatcagtccttaccccaaagatacttcgcattccc +tggggtacggaccatgaaatacttctttcatacatgataaacgatggagactcggttacc +accctggtagttactccatcaattggagttaactaagatcgctattacaggctttattag +ccaatcatcacaagcctctttttagagattcacaagttagcaaaccaaagttcctttgat +aagtctttaacgagatctatcccaattccggctaggagtaaaatttatatatttgagatc +ggggttaaagtcacacgcaatgcaaggggtttttatatggtaatgtccttccctaattag +gtaattttcagacctccgagagagagtagatcaacaacgcgttatactcctaaaatgctt +gtcgataacatgacactacagatcatccctggatgagcatcgactttcattacttgatta +gttcagttaattcgtttcaaaccattttcaacaaaatcccccagtagatatgtatatgca +catcttagactaaataacagttttcataccctgggatttgtgtcactatctcaggaacgt +cgagacgtcccctatcaccgcagcgagggtaactggccctgttccattgtaatcgatggg +acgggacgttatattgcagacccaaagtagtaataaattcagccatatggacggaggggg +ggaattgttaagaatataattcgattttcagctgaatgtaaaagctccagccattcctcc +tccacttgacattagttcgaagaaggtctgagaattggaattgcttgtgacgttttttgt +ttccagacaaggaaatagcccagtaccaagtataatattatgacaatagaagcttaaatt +cacaacgtaacatatctgttagcatgctctaatagaccgagaaaataagtgtctatgtgt +gcgagaactgtcaattcacggcagtagtcacctaatctaacgtctagttcccgactatga +agtcttcacaaatggttagtaataatttcccagtggagtagaagtggcataacgtgcact +ctctgttaataatacctttagactactcccatttcgccagaacgtcttgatggtacccta +tgggaaacactcacacatgcttattgcctgcaacctcagcaatgtgtcgtatgcggtatt +tctacgaacagctagtgaaaggactgatgacctaattttggtttctcaagtccagacgtg +atattttgatgaccgtatctgacatctctgggcaattcggttaacctctggtacgaaata +gtccgtcgcgtaggtaaaaatgataatgctgtcatcactatcatgttttagctaagctac +actaccccatcgctcgcacgtggcaaagtgtgaggattccgatatcatccatgtgtacga +attcctaatactcttgctcagggcacttagggttattgtagcctgtgttaccgtctcgca +tattagatcattaatcaacagtcttataatcaccgtaatcggtaaacagttgttatttgt +tctgataggtagacagctaataaagatgctgttgaacagttacgtcccacctttattgcc +ctacagtgaaactagttcttactctgttgctgtaatatgtctagggttattgatttgctg +ccacttcaaaacggaaattaagtcattaacgaaaatggttccttcataggtaaagatcaa +tccccaattgaagccagaaattttgagatgtcgattcctgatcattcgccaaatttacag +ctcgtaaacgagttccatgtgtaaaaaaatgttgagtccactagcttgtttattctggct +caaggtacgtggaacacgtagtattttgatactaatgccagacccgctacgatccctgta +ctgtgagcagagccgatcctcagaaatagctaaatcttgtgcttcgttagaagtctcgac +tacgtgtagcctagtgtttgtgttgcgttatagtctatttgtggacacagtatggtcaaa +tgacgtcttttgatctgacggcgttaacaaagatactctgggcaacacacatacttctct +catgttgtttcttcggacctttcataacctttcctggcacatggttagctgcacatcaca +ggattgtaagggtctagtggttcagtgagcggaatatcattcgtcggtggtgttaatcta +tctcggtgtagcttataaatgcatccgtaagaatattatgtttatttgtcggtacgttca +tggtagtggtgtcgccgatttagacgtaaaggcatgtatggatcttgatctatgcaaagg +taggtccatctatatacgttgcacagcggatacaaataagataagaatttactaacattt +aaattttcttattgtcgagcatagattggaggaaaaacttatttacttggtatttaaacg +gaagtttctaatgtttatgattggatgcacggacagtttactgcttactttcttaggttt +cttgaacaacaggatgcactagtaacatgtctcgttcatgcttccattaagttcttctta +aacttacacaaactacctaatttagagttgacgagatggttgaacgtgttgtgacaaacg +tttgcaaaatgcacagtatcgttaccaaaaagtacatttaagtgtgtgcgtaggaattct +gctacgtccattgcaggccacattcacatcccacccctgaatatatggactgaatcacac +acaccaaatttcatctaccttatcgtagcataactattaacaaacatatacagacttcgc +ggtaaataaaatatattagtacacaaccgtatactggttgaactattgcccagctttaag +acgcttttaactaggtgcttgatcaagaagtattattatatgacggcagtgtgtaatacc +tgaatagatatagacgttagattgtctgaaaacacgccgtagagacatttttgttagata +tgtatttctttttgacgagccagcatcttagtatctgaagacgagctatatgtttgtaga +aaatcgactgacattgtatacgaggcggcgtaagattaaccaaattccccagaattagta +atggcgccttatcgatttactaacgatatataacttgtgatgttgtctgcaatgtatacc +cgtgtaggctgtgctcttatcgaaggaaacgcattgaagtccaggctggatgaaaccacc +gcgtacttccatgcgtctatacatagcgtcaccgatactacgttttgctatgtaatccat +tctaatgggtaagaggattcctcttatagtaaaatatgcttgactttttaagaaccattg +ggagtggttggcaaaataatagtgggtgtctttctcagtgtatagttttctacaactacc +cctattaggttacaagtaatctggctttcttgccacttggcgatgatagttagattcgta +tttctacaacgcagttactgtatccatggcgcgagataattagatacgatttgaatttgg +atgtagactcgttactactgttgtagaccagcacgtgagtatctagatgggtttgctacc +ttgttagcggacttttgccgggaaaaagacatacgtacaaccgtatattttactataagc +agtattggccaccctcgtattgcggcagggtgtgctcacctggttaaaatgaaagagaaa +aattccattttaaaacccggaggaatctattactgacgaggaaggtgtttaacccgttga +gacatctcctaacgtaaaaggttcatattctagttattccgagagtcactttcctatcca +aacatgaactgatagcataatgacaggttgaatggaaagcatatcctgtttattctaaat +ctgtttcgctaatcaatatgctgtcacgaactcggagcttacccttacaactatgtgttc +tgtttaccaggtgctaatatcccggcactcttttcatgcatgtcgctcctagcgtcatct +gatttaatagcttaatgtctcatattttacagtagccagtgtagtatggaaggcggcgaa +ccagcccctacattgggtttcctgacataagtattacatatcacttgtctgattacacag +caaaatcgctaaccttactttgcgcatgtagctattggaactttgggctagtgtctatcc +cattaagtttaacagtagactagtccgtgagcgatcaccgagcttatgtctcgtacccaa +gttttggatttggatcaaaaactactcgatattcatgatctacgggcttcctttctccgg +gtatcattgcgccgagattaaaaataaaacgatagcgctgtgaaaacatgtttgacacgg +gatagcgtagaaactaaacaacgaatagaccatccaatttgaattttattgggtccagca +cttcgccatagtgttgaatggtaaagttcgaaaggaaatttgttatattaattctgctac +attttcgaccacttgtatctcaaggacaatatcccttgaggcttttagcagaaagagatg +ccgtaattctaagggatgataataggttgggaaatttaagagcagtagtaacggtcgcgg +gttcgaccttaaactatatatttaaatctagccaaacaagttaacaacaaccataaagtt +atgaccttattatattggcaagcttaacgttttaattgctctagtaatagagtggtagag +gtaagggaccatcacctgattcttcctccgcaaccattatatagacgtgtcgtctgacaa +atttcgagataaaacattcgtccttagcaacgaatatcgaatggcaattagccacattga +gttaaatagttgaggatatttcttgcacagaatcagatctaatctaatgattcgttacta +aacacttcaccaggtatcgtgaaggctcaagattacccagagaacctttgcaatataaga +atatgtatgcagcattaccctaagtaattatattctttttctgactcaaagtgacaagcc +ctagtgtatattaaatcggtatatttgggaaattcctcaaactatcctaatcaggtagcc +atgaaagtgatcaaaaaagttcgtacttataccatacatgaattctggccaagtaaaaaa +tagattgcgcaaaattcgtaccttaagtctctcgccaagatattaggatcctattactca +tatcgtgtttttctttattgccgccatccccggagtatctcacccatccttctcttaaag +gcctaatattacctatgcaaataaacatatattgttgaaaattgagaacctgatcgtgat +tcttatgtgtaccatatgtatagtaatcacgcgactatatagtgctttagtatcgcccgt +gggtgagtgaatattctgggctagcgtgagatagtttcttgtcctaatatttttcagatc +gaatagcttctatttttgtgtttattgacatatgtcgaaactccttactcagtgaaagtc +atgaccagatccacgaacaatcttcggaatcagtctcgttttacggcggaatcttgagtc +taacttatatcccgtcgcttactttctaacaccccttatgtatttttaaaattacgttta +ttcgaacgtacttggcggaagcgttattttttgaagtaagttacattgggcagactcttg +acattttcgatacgactttctttcatccatcacaggactcgttcgtattgatatcagaag +ctcgtgatgattagttgtcttctttaccaatactttgaggcctattctgcgaaatttttg +ttgccctgcgaacttcacataccaaggaacacctcgcaacatgccttcatatccatcgtt +cattgtaattcttacacaatgaatcctaagtaattacatccctgcgtaaaagatggtagg +ggcactgaggatatattaccaagcatttagttatgagtaatcagcaatgtttcttgtatt +aagttctctaaaatagttacatcgtaatgttatctcgggttccgcgaataaacgagatag +attcattatatatggccctaagcaaaaacctcctcgtattctgttggtaattagaatcac +acaatacgggttgagatattaattatttgtagtacgaagagatataaaaagatgaacaat +tactcaagtcaagatgtatacgggatttataataaaaatcgggtagagatctgctttgca +attcagacgtgccactaaatcgtaatatgtcgcgttacatcagaaagggtaactattatt +aattaataaagggcttaatcactacatattagatcttatccgatagtcttatctattcgt +tgtatttttaagcggttctaattcagtcattatatcagtgctccgagttctttattattg +ttttaaggatgacaaaatgcctcttgttataacgctgggagaagcagactaagagtcgga +gcagttggtagaatgaggctgcaaaagacggtctcgacgaatggacagactttactaaac +caatgaaagacagaagtagagcaaagtctgaagtggtatcagcttaattatgacaaccct +taatacttccctttcgccgaatactggcgtggaaaggttttaaaagtcgaagtagttaga +ggcatctctcgctcataaataggtagactactcgcaatccaatgtgactatgtaatactg +ggaacatcagtccgcgatgcagcgtgtttatcaaccgtccccactcgcctggggagacat +gagaccacccccgtggggattattagtccgcagtaatcgactcttgacaatccttttcga +ttatgtcatagcaatttacgacagttcagcgaagtgactactcggcgaaatggtattact +aaagcattcgaacccacatgaatgtgattcttggcaatttctaatccactaaagcttttc +cgttgaatctggttgtagatatttatataagttcactaattaagatcacggtagtatatt +gatagtgatgtctttgcaagaggttggccgaggaatttacggattctctattgatacaat +ttgtctggcttataactcttaaggctgaaccaggcgtttttagacgacttgatcagctgt +tagaatggtttggactccctctttcatgtcagtaacatttcagccgttattgttacgata +tgcttgaacaatattgatctaccacacacccatagtatattttataggtcatgctgttac +ctacgagcatggtattccacttcccattcaatgagtattcaacatcactagcctcagaga +tgatgacccacctctaataacgtcacgttgcggccatgtgaaacctgaacttgagtagac +gatatcaagcgctttaaattgcatataacatttgagggtaaagctaagcggatgctttat +ataatcaatactcaataataagatttgattgcattttagagttatgacacgacatagttc +actaacgagttactattcccagatctagactgaagtactgatcgagacgatccttacgtc +gatgatcgttagttatcgacttaggtcgggtctctagcggtattggtacttaaccggaca +ctatactaataacccatgatcaaagcataacagaatacagacgataatttcgccaacata +tatgtacagaccccaagcatgagaagctcattgaaagctatcattgaagtcccgctcaca +atgtgtcttttccagacggtttaactggttcccgggagtcctggagtttcgacttacata +aatggaaacaatgtattttgctaatttatctatagcgtcatttggaccaatacagaatat +tatgttgcctagtaatccactataacccgcaagtgctgatagaaaatttttagacgattt +ataaatgccccaagtatccctcccgtgaatcctccgttatactaattagtattcgttcat +acgtataccgcgcatatatgaacatttggcgataaggcgcgtgaattgttacgtgacaga +gatagcagtttcttgtgatatggttaacagacgtacatgaagggaaactttatatctata +gtgatgcttccgtagaaataccgccactggtctgccaatgatgaagtatgtagctttagg +tttgtactatgaggctttcgtttgtttgcagagtataacagttgcgagtgaaaaaccgac +gaatttatactaatacgctttcactattggctacaaaatagggaagagtttcaatcatga +gagggagtatatggatgctttgtagctaaaggtagaacgtatgtatatgctgccgttcat +tcttgaaagatacataagcgataagttacgacaattataagcaacatccctaccttcgta +acgatttcactgttactgcgcttgaaatacactatggggctattggcggagagaagcaga +tcgcgccgagcatatacgagacctataatgttgatgatagagaaggcgtctgaattgata +catcgaagtacactttctttcgtagtatctctcgtcctctttctatctccggacacaaga +attaagttatatatatagagtcttaccaatcatgttgaatcctgattctcagagttcttt +ggcgggccttgtgatgactgagaaacaatgcaatattgctccaaatttcctaagcaaatt +ctcggttatgttatgttatcagcaaagcgttacgttatgttatttaaatctggaatgacg +gagcgaagttcttatgtcggtgtgggaataattcttttgaagacagcactccttaaataa +tatcgctccgtgtttgtatttatcgaatgggtctgtaaccttgcacaagcaaatcggtgg +tgtatatatcggataacaattaatacgatgttcatagtgacagtatactgatcgagtcct +ctaaagtcaattacctcacttaacaatctcattgatgttgtgtcattcccggtatcgccc +gtagtatgtgctctgattgaccgagtgtgaaccaaggaacatctactaatgcctttgtta +ggtaagatctctctgaattccttcgtgccaacttaaaacattatcaaaatttcttctact +tggattaactacttttacgagcatggcaaattcccctgtggaagacggttcattattatc +ggaaaccttatagaaattgcgtgttgactgaaattagatttttattgtaagagttgcatc +tttgcgattcctctggtctagcttccaatgaacagtcctcccttctattcgacatcgggt +ccttcgtacatgtctttgcgatgtaataattaggttcggagtgtggccttaatgggtgca +actaggaatacaacgcaaatttgctgacatgatagcaaatcggtatgccggcaccaaaac +gtgctccttgcttagcttgtgaatgagactcagtagttaaataaatccatatctgcaatc +gattccacaggtattgtccactatctttgaactactctaagagatacaagcttagctgag +accgaggtgtatatgactacgctgatatctgtaaggtaccaatgcaggcaaagtatgcga +gaagctaataccggctgtttccagctttataagattaaaatttggctgtcctggcggcct +cagaattgttctatcgtaatcagttggttcattaattagctaagtacgaggtacaactta +tctgtcccagaacagctccacaagtttttttacagccgaaacccctgtgtgaatcttaat +atccaagcgcgttatctgattagagtttacaactcagtattttatcagtacgttttgttt +ccaacattacccggtatgacaaaatgacgccacgtgtcgaataatggtctgaccaatgta +ggaagtgaaaagataaatattgcctacacatactgaattcaggcaatgcgttttattcga +aaggtcatataactagaaaacatgatgaattcttatcggatccttttactagcatagtgt +tggcgaacacctcgtaatgctcagcggcaaattggactgcgggtccttatcatacatttt +ttttcaatataggcgattggtctaggttagtgattccccaacacttaaggtttgctgaca +ttcataccctcagcaacttcctctcaaaaattagagtgagttggtggtcttataagaccg +ttgattatttgaggtggtcaaatgatggtgcgatgcacaaatcgttataatcgtactctg +tagacaataacccattgtagtgccgattttgtgcataatacaagaaggaggatataaaaa +tgacttttcaataatattggctattagcaacaagaaggagaatcctcattaagttagcaa +ccgcagggggtactgcagtccaaggaggtttcattggagagagcagtatgaaaacggcaa +ttatgattgtgagattcgctgaagattgtgtctctgattttcctagatagaataagctat +agctacttaatcaactcttaactgtggagactatcctgatgatctgaataccccatttac +aaaattccatatcaatgaggctaacgcttaaatttcatttctccatcgtaacaaaaatca +gcctttttatacaagacaaaacactgcttccattacgggtagcaatggttgctcgactac +tggtagcgtcgtgatgtggtgataaagctgtcttgcgtttatacttaaacaaattttgac +ctgacataatggagcgacttatcggatgttgccgatctttagggtcatctattaagctta +tacgaaaaagggacaagcacgttacgtaatctggtaggactgggtacctagaaacgcaag +aggaggcgaactccaatatctgtaagaacagaaaaatacaggagtccttttcatttttca +agttaacaatataagtaggagcttagagaggcttgcatgaaaatcgttaggaattacaga +ataggcagagagtggggcgtgtagactacattcttcaggccccacaatatgggttatagg +ttaaactgcactttttgcgatctcccgaaatactgtcgttctctgcgaaccacgctcgtt +ccttttgctgtagtccacgttcatccaactattcagataaacaagatcgcagaattaaag +cttaaccatatcttgatagcccatcgtgtatggggcatgtatgtgcaaacaaaagacctc +aatcttgtctgcgagagggaggaaaatttagacaaacataattcattctttcgactggac +acgctaaggtttggacaaactttgtatctatatctggaggcctgtattccagcccttctt +ttaataagatttacggcttaaactatggatatttgccaggaaatgacactgctattgaca +ggaacataattttgattcaaacctcattgttaattattttatatctcctgtttttatatc +agaatgcttctgtcctagaaggcatactcaaggtgagggctcgaggaatgaatcataata +gaccggcccctattaatattggttcaattctttcttacataacgcggaatttgattgcac +gaacaccgggaacacataaccgtatagcgcccgttatgctagtgcctagcgactgggacc +gtggagtctatatcgtctttctaccattattaatctaaggatataccactttaagtcctt +tcaactaacataaggcgcattccatgcgctaaggaccttgaatttattatttcttacatg +ataaaagatcgagtcgacgggaacaaaaggctacgtactcaataaagtgcagtttactaa +gagccctttttctggcttgtggagactatcataacatgaagatgttttgacattcaatag +tttgcaaaacaaacttactttgtgtagtattgaacgagatctttccaattgccccatagc +aggaatagttatatattgcagatcgcggtgtaacgcactccaaatccatcgcggtgtgtg +agggtaagcgacttaaagaattacggtttttgatcaaagcacagtgagagttgagcaaat +tacagttatacgacttaattcagtctccataaattgaaacgacacttcttaacgggagga +ccagacacgttcattaagtgaggagtgcactttttgactttaaaaacatggtaatcaatt +taaaccacttgatatgtatatgaacagatttgaagttatttctgttttaatacactggga +gttctgtcaatatcgcaggaaccgcctgacgtcccctatcacacctcagagggtaaaggg +acaggggaaagggtaatcgaggggtagggaacgtagttggcacacccaatggacgaataa +atgctgccatatccacggagggcgggattgcggttgattttaaggcgatggtaacctgaa +tgtaatagatcatcaaatgcctcctccactggaaattactgcgtacatccgctgagaatt +gcaatggagtgtctcggtttttctttaaacaaaaccaaattgacaacttcatagtataat +ttttgcacattacaagcgttaattaacaaacttactttgctgttagctgcctatatttgt +ccgacaatataactggatatctctgcgagaactgtaaattaacggcacttggaacataat +agttcctattggtaacgacgttgtaggcggcaattatccggtggaagaattgacaactgc +agttgaactgcatgaaagtcaaatctctcgtaagtataactttagaagactccaaggtac +ccagaacctcttcagcggacacgatcgctatcaatcaataaggattattcactgaaaccg +ctcatatctggaggtggacgtttttcttcgaaaagcttgtcaaaggactcatcaaatttt +tggccgtgctaatcgacacacctgttattttcatgaccggataggacatctcgcggaaat +tcgggtaacagctgggtagatataggacctcccctacgtattaatgataagcctgtcata +actagcttggtttaccgaagagacaataaacattcgagcgctcgtgccaaactcggtgca +ttacgtttgaataaatcggtaacatgtactattactctgcctaacggcacttacccgttt +gggtccatggggtaaccgctcgatgttgacagaattatgctaaagtcgtttaagatcccg +attaccgaaaatctggttatgtctgagcattcgtacactgcgtattaagatcaggttgaa +caggttcctaacaaattttgtgacctaaagtgaaactaggtcgtactctgggcatgtttt +atgtcgtggcgtatgcatgtgctgacacttctaaaaccaaattaaggctttatccaatat +gggtccttaagtgctaaacatcattcacaatttcaagacagattgttggtcttgtcgatt +ccgcatctgtcgccaaattgacacatcgtaaaccaggtacatcggtaattatatgttgac +taaactaccgtgtgtattctggctctaggtacggcgaacaagtacgatgtgcttaagaag +ccctcaccccagacgagcccgcgtaggtcacatcagcagatcctaagtaattccgtttta +ttgtcctgagggagtaggatcgacgaactctacaagtcgctttgtcgtgccttataggct +atttcgggtcaatgtagcgtcaaatgaactattgtcatctgtacgagttaactaagtgtc +tatcgccaactaaaagacgtctcgatggttctttatgcggacctgtcatatcattgactg +gcacttgcttacatccaaataacacgtttgttagcggatagtcgttaagtgtgcgcaaga +tcatgaggcggggggggtaatatttcgccctctacatgataaatgaataagtaagaagat +gatctttttgtggcggtaccttaagcgtactcctgtcgacgagttactactaaaggaatg +tagggttctggatctatgaaaagcgacctccatatatatacgggcctaagcggagtaaaa +taagtgatcaatggactaacattgaaatgttagtattgtcgaccattgagggctggtaaa +tcttatttacgggcgtgggaaaacgaacgtgatatggtttagcatgggatgcaagcactc +gttaatgcttactttagttggttgcgggaacaacaggaggctatactaactggtagcgtt +cttgcttccattatgttattattataattaaaaataagacatatggtagagttgtagtca +gggtggatcgggttgtctataacgttggaataatcaaaactatcgttaacaaaaacgaaa +tttaagtcggtgcggtggaatgcgcctacctcatgtgcaccacacattcacagcacaccc +ctcattataggcaaggaagcaaacaaaaaaaagttaatcgaccgtatccgaccttaaatt +ttaaaataaatagaaacacttagcggtaatgaaaagataggactaaaattcactagtatc +ctggaacgaggcaacagagttatctagatggtaacgaggtgctgcatcaagatgtatgat +ttttggtccgctgtgtggaatacctctattgatatacaagtgactttctcggtaataacg +cacttcacaatgtgttgtttcttttctatgtattttgcaagagaaagaagcttagtatag +gtacacctcagagatgtttcgtgtaaatcgtatcacatggtataactgcaggaggaacat +tatccaaattcaccacaattactaatccacccttttacttttactaaagatatattaatt +ctcatgttgtctgaattgtataacccggtaccctgggagcgtatcgaaggataccaattg +aagtcctcgaggcatgttacaacacacgacttccttccgtctattcagacactcaacgag +actaacttttcctaggtaatcaatgatattgggtaactcgtggcatcttatagttattga +tccggctcttttgtagatcctgtgcgactcgtgcgctaattaagactggctctcttgcgc +aggggatacgtttattctacgtacccgatttggttactactaagcggcctttcttcaaac +ttgcagttgtgacttacattcctatttcttcaaagcagggaagggttacagggagagact +tattgagatacgattggaatttccatgtacaatcgttaatacgcttgtagaccagcaact +cagtatagagatccgtttcctaaagggtgagcggtaggggcaaggcaataagaaattact +aaaaccctagttgttaatataagaacgattcgaaacaataggattgcccaagggggtgcg +aacatggtgtaaatcaaagagaaataggcattgttaaaacccgcacgtttctagtacgca +agaggaacgtcggtaaccagttctcaaagatcctaacctaaaaggggcttattctacttt +ttccgacactcaatggacgagacaaacatgaacggatagctttaggtctcgttgaatgca +aagaatagaatcgttattattaatcggtttccattatctatatgcggtatagatctccga +gaggaccctgtaaactagctctgcggtttaactggtgctaatagaccgccactatgttat +tgcttctagctcctagcgtcttatcatgttatacattaatgtcgcatattggacagtagc +caggcttggatggatcgccgacaaaaagaaaagactttccctgtaaggacttaactatta +catataacttggatcattaatctgcaaattagagtaacggtctttcaccagcttcatatt +ccaacgtggcgctagtcgatatcccatgaagtttaaaactagaattggcagtctcacttc +acagtgcgtatctatacgacaaaagtggtcgatttgcataaatatcttatcgatattcag +gttattaccgattccttgctaacgctagaagtcacaccagagtaataataattccagaca +cctgtgaaataatcggtcactacggatagactagtaacgataatacgtatagtccataaa +agttgaattttaggggctaaagatattagcaatactggtctagcctaatcgtcgatagca +aagggctgtgaggatttctcctacattttcgaccaattgtatcgataggaatagttacag +tcacgcttgtagatgtaagagatgacgttattcttagggttcttaagtcggggggtaatt +taagaccactagtaaaggtagaggcgtacacagtaaacgatattttgaaatcgtcaaaaa +aaagtttacaacatcctttaagttagcaactgattttagtggcaaccttaacggttgaat +tgatctactaatacaggcctacaccgaagggtacagataatgattcttactaccctaaca +tgatagagtcctgtcctatctcataggtcgacattttaaattcgtaatgagcaacgaaga +tcgtttcccaatttgcaacattcacttatagacttcaggttatttcgtgctaacattaag +atagaatataatcagtcgttaagaaactattatccagctttcgtcaaccataaagattaa +aaactgaaacttggcaagatatgaatagctatcctgctttaaccgatcgtatgagatgct +ttgtagcaagaaaagtgactagcacttgtgtttagtaaagcgggagagtgcggtaattaa +tattaatatactattaagctacacagcaaaggctgcaataatgttagtaagtagaacata +aaggtattctccacaagtaataaatagtgtgagctaattgactaacttaactctcgcgac +aagtgatgtggataagatgactcatatcgtctttttctgtagtgccgacatcccacctgg +atcgaacaattccttctagttatcgactttgattacctatcctattaaacagatagggtt +gtaaagtcagaaaatgatcggcttgcgttggtctaccatagctagagttagaacgcgtag +atagaggccttttgttgccaacgtgggggtgggatgagtctgggcgagcgtgactttctt +tcgtgtccgaatttgtttaacatccattagattagatgtttgtgttttgggtctgatgtc +ctaactactttctcagtgaaactaatgtcatcatccaagtaaaatagtccgatgaagtct +ccgttttcggccgaagcttgtctataacgtatataaagtcgctgaatttagaacacacct +tatctatgttgtaaagttactttattccaaaggacgtgcacgaagcgtgagtgtgggaag +gaacttaaagtcggatcactcttgtcagtgtagataagaatttctttcatacttcactgg +aatccggcgtatggatatctctaccgcgtcatctggtggtgtctgcggtaaaaagtcttg +ctgcacgagtctgagaaatttttggtgccatcacatcgtaactgtacaacgaacaaatag +catcaggccttcttatccagcgtgaagtctaattatttcacaagctttcctaagtatgta +aatccctcacttaatgatgcttgcgccaatgaggatagaggacattgcatgtacgtagga +ctattctccaaggggtcttctattttgttagcgaaaattgttacagcctaatgttagagc +ggcgtacgactttataccagatactttcattagatatgcaaatatccaattaaatcatag +tagtatcgtggtatggacaatcaaaaaagacccgttgtgatatgatgtttttctagttcg +ttctcatatatatagatcaacaatgaataatctcatgatctataaccgatgtatatttat +attccggttgactgctccggtgcaattcactacggacactaatgactaatatggcgcctt +tcatcagaaacgctaaatatgattaatgaattaagggagtattatctaattattagagag +tagcagttagtctgatattttcggtgtatgtgttagccgttataatgctgtctttttatc +agtgagaacagggagtgtgtagtgttgtatgcttcactttatgactctggttatatccct +cggagaacaagaataagagtacgagaagttcggtcattgaggatgaaatagaaccgctag +acgaatggactcacgtttataaaactatgtatcacagtactacagctaactctgaagtcc +gagaagcttttgtaggacaaaacgttataagtacctttcgcagaatacggccgtgcatac +ctgttataaggcgtagtagggacaccatgctatccctcatatagagctacactaatacca +ttacatggtgactatcgtttacggccatcatctgtaagcgatcatgcctcgttagcatcc +gtacaatctcgcatggcgtcactgcagaaaaaccccgtgcggattttgagtcagaactat +tcgaagcttctcaatccttttccattatggcatagcaagtgacgactcgtcagccatggg +aataatagcactaatccgattacttatgaattagaacccacatgaatgtgattctgcgaa +ttgtctaagaatctaatgattttccggtgaatatggttgttgttatttattgaacttata +ttattaacatcacccttcgttagtgatagtcagctatttccaagaggttccccgagcatt +tttaccattctctagtcatacaagttggagcgcttttaaatctttaggctgatcaaggcg +ttttgtctagaattctgcagatgttagattcgtgtgcaatccctcttgcatgtcagtaac +aggtcacccgtttttcgttacatatgctggtaaaatattcatagtaataactacaatact +tgatttgttacgtaatgctcgtacataacacaatcgtattccacggaacagtaaagctct +attattctgatcgagcctaagagaggatcacactacgctattaaagtcacgttcacgaaa +tctcaaacctcaactgctggtgaccagttatagacagtgtaattccatattacatgtcag +gcttaagctaacccgagcctttatataagctataatcaagaattagattggagtgcattt +tagacttatctatcgaaatagtgatagtaagagtttatatgacctgatctagactgatgt +tctcttccacaacagccttaaggcgtggagcctttcttatactattaggtcgcgtcgaga +gccctattcgtaatgttaacgacactagactaatatacaatgagctaagaataacacaag +tcacaagataatttacaaatcatatatctacagtccacaaccatcactagcgattgcaaa +gcgttattggtactaccgctctaaatcggtatgtgcaagacgcgttaactggttcaagcc +tctcctgctcgtgagactgaaagaaatcgaaaatatggatgtgcctaattgttcttgtga +gtcatgtgcaactatacagtttagtttggtcaagactatgcaactattaacagcatgtgc +gcattgaatatttggtgtcgattgataaatgccccaacgttccatcacgtctataagccg +tgttactaatgtgtattagtgcatacctattcagaccatagttcaactgttggactgaag +gcccgtcttggggttcgtgaatgagagtgcagtttcttgtcttttccttaactgacctaa +atgaaggcaatcggtttatctagagtcatgcttaaggtgaatttcagccaatgggctccc +attgagctagtatggtgctttacctttgtaagtggtggctttccttggtgtgctgacttt +aacacggcagagtgattatccgaagaatggataataagacgctggcaatattggctaata +aagtccgatgagtttcaatcatgactgcgaggagatccatgcggtgtacctaaacctaca +tcgtatgtatttgctgacgttcattcttgatacataaagatccgatatcggtccactttg +tttaccaaaagccctaccttcgtaacgatggaaatgtgaatgagagtgaaatacacgatg +gggatattgccggtgagtacaagttagaccacacattagaactgacctatattcgtcatc +atagagatggagtatgaattgattctgcgaagtacactggctttacgagtatctagacgc +cgcggtatatctcccgtcaatactatgaaggtatatatatagaggctgaaaattcatgtt +caatcctctttctaagagtgagtgggagccccttctgttgtcggagtaaaaaggcattat +tcctcaaattgtcagaagcaaagtatacgtgatgtttgcttagaacaaaagagttacctt +agggtaggtaaatctcgattcaccgagagaagtgattttggcggtgtgcgattaattctt +ttgatgacagatctcattattttatatagctccctctttgtatttagagtttgcgtaggt +aacctggcaaaaccatatcccggggggagagtgcgctgaacattttatacgatgtgatta +ctcaaaggataaggttcgaggcctctatactcatggaactatcttataattataatggat +cgtggctcattccacctatccaaacttctttgtgatctgatgctacgagtgtgaacaaac +gtacatcttctaaggaatttgggacgtttcatagctcgcatttcattcctgaaaacttaa +atatttttaaaaattgattctactgcgaggaactaaggtgtagacaagcccttagtaacc +ggtggatgtcgcttcagttttatagcaaacattattcaatttcagtcttgactgaaatta +gtttgttagtgttagaggtccatatgtcacatgcatatggtctagatgccattgtacagt +aataccttagattagtattagcggcatgcgtacttggatttcacttgtaagaatgagctt +aggacggtcgcctgtagggctgcaaataggaatacttacaatttttgatgacttgttagc +atatcgctatcacccataaaaaacctgatacttgatgagcgggtgattgagactatgtac +tgatataattcaatagctccaatagatgaaacagctatgcgcctatttatgtcaaataat +cgatgtgatacaagcttagagctgaacgagcgcgagtggaattagcggtgatctctatcc +taaaaagccacgaaatcgatcccagaagctaatacccgaggtgtcaagcttgagttcagt +taaatttgcatctcatgccccacgaagaatgggtagagagtttgaaggtgcttctggatt +ttcctaagtacgtggtaaaaatttgatgtaaatgaacacctcctaatggttgtgttaacc +acaaacccctgggtgaatctgattagccaacccagtgatctgatttcagttgtcaaatct +cttttttataactaccttttgtttccataatttaaccggatctcataatgaacaaacggg +tagaataatggtagcacatagcgagcttgtctattcagaaatatggcctactcagaatgt +attctccaaatcagtgttatgcgaaacgtaattttacgtgtaataatgatgatttcttat +cggttccttgtactacaatactcttgcccaacaaatactaagcataacagcaaaattcga +atccccctccttttaataaatggtttttcaatatagccgattcgtattcgttagtctttc +accaactattaacctggcatctaattaataaaatcaccaaaggactctataatatgacag +tcacttcggcctcttttaagacagttgattattgcaggtccgcaattgatggtgacatgc +acaattagttagaatccgactatggagacaattaacaattgtagtgcccatttggtccag +ttgacttcaaccacgagttataaaggtattttaatttatagtcgatagtaccaacaacaa +gcacaatcataattatgttagaaaacccagggggtaatgctctaaatccagctttaaggc +cagagtgcactatgaaatcgccattgatcattgtgtcattcgctgaacttggtgtctagg +aggtgccgagtgagaatatcagataccttatgaagcaacgattatatctggactagatca +tgatgatcggaataaaacattgaaataagtccttatcaaggagcataaacattttattta +atttatacttcgtaaataaattcagaattttttttcaagacattaatctgagtaaatgac +ggctagaaagggttcctactcgaatcgtagcctacgcatgtgggcagtaacctggcttgc +gtttttactgaaacaaaggttcaccggaaagaaggctgccacttttagcttcttgacgat +ctttagcgtcatatttttagattagtcgaaaaacggaaaacaaacttaacgaagctggtt +gcacggggtaccgagaaaccaaagagcaggacaactccttgatcgggaagaactgaaata +gacagctgtcattttcattggtcaacttatcaatataacgaccaccgtagtgacgcttgc +atgaaaatactgaggatgtaaactatagccagtcaggcccgcgtgttgactaattgatga +agcaaacaaaatagccggtattcgttaaaaggaacgggttgccagctacagatatactct +aggtatatcccaaacaagagacgtcctttggctgttgtaatcggtcataatacttgtcac +ataaacaagatcgctgaattaaacattaaacagttagtgatacacaatcgtggttggggc +tgggatgtgcaataaaaagtcatctatcgtctatcacagagcgacgtaaatttagacaaa +cattattatttcttgacaatggaatcgataagcgttcctctaacttggtatatatatctc +gaccccgggattccagccattcttgtatgaagatttaaccatttaactatgcatagttga +atggtaaggaaaatgatattgactgcaacagattttggatgcaaaaatatttgtgaatta +ttggttatatactggttgtatagcacaatcattaggtcctagaaggcatactcaacctca +gcgagagagctagcatgcataattgtaccgcccatattaatattcctgaaatgatttctt +acattacgcccaatttcagtcatcgaacacccccatcaatttacccgatagagaacgtga +tcatacgcaataccctatgcgaacgtccactctatagcgtctgtatacaatgattattcg +ttccatttacaacgttaagtaatttaaacttacataaggacaaggaaatccgcgaacctc +ctggaatgtatgagttatttatgcagttaacttcgtctcgaccggaactaaaggcgtcgt +acgaatgaaaggccacttttagaagagacctttgtatccattgtggagaatatcataaat +tcaagatggggtgtcatgctattcggtcctaaacattcttaatggctgttctattgttag +tctgatttaaaatggaaccatagcacgaatagttagatagggctcatacccctgtaacga +tctacaaatccttccccgggtgtgtgcgttagcgacggaaagttttacggtttgtgatca +aagaacactcacacgtcagattattacactgatacgaattatttcagtcgacagtaattg +aatagaaacttattaacgccagcacctgacacggtaagtaaggcaggtctgaactgtttg +actgtaaaaaaatggtaatatttttaaaaatcttgatttctatatcaaatgatgtgtagt +tttttctctgttattaaaatcccagtgcgcgaaatttagatcgttacgactcacgtacaa +gatcacacatcacacgcgttagcgaaagcggaatggctaatacagccctacgcaacgtag +tgggatcaacatatggacgaatttatgctcaatgagccaacctcccccgcattgcggttc +attttaaggcctgggtaacatctatcgtttagataatcaaaggaatccgactatgcaatt +gtctgacttcatccgctctcaagtccaatgcaggcgctacgtgtttctttaatcaatacc +atattgaaatcgtaatacgataattgttgctattgactacaggttatgaaaaaacttact +ttgcgggtacatgcatatttttgtaccacattattacgcgatatctctcagtgtactcta +aattaaaccctcttcgaacattttagttcctattcgtaaacacgtgctacgcggcaattt +gccggtcgtagaatggacaactccagttcaactgcatgtaactcatagctcgcgttagta +taaattgactagtagccatgggacaaagtaactagtcagcggaaaagatccctttaaaga +tatatgcaggttgcaagcataaagctcattgctcgaggtgcaccgtggtattccaaaagc +gtctctatcgtatcttctaattttgggccgtgagaatcgaaactactctgatttgctgca +cacgttaggtaatatcgcccattttcccgtataagctccgtacttatacgaactacacga +ccttttaagcattagccgctcatatcgtgattcgtgtacagatgagtctattaaaattac +agacatactccatatctcgctccttgaactttgaataatgcgctaacttgtactatgaat +aggcagaacccaactttcccgtttgcgtcaagcggggaaacgatacatgttgtcagattt +atgattatctagttttagatcacgtttaccgataatcggctgtggtctgagcagtcctac +actgagtatttacttcagcttcatatcggtccgaaaaaaggttgtgaccgaatgtcaaaa +tacggagtacgatgggcatcttttttcgagtcgcggttgcagggcagcaaaaggcttaaa +ccatttttacgatttttactatagcggtcatgaagtgcgaaactgcttgcaaattttcta +cacacattgtggctcttgtccttgaagcttatggcgaaaatttgaaacatagtataccag +ggaaagcgcgaattatttggtgactaatagtccgtgggtttgagccatatacctaacgcc +ataaactacgtggtgctttagatgcaatctaaacagaacagaaagcgtagcgctcatcag +cacagactaactttttcagtttgagtcgccggagggacttcgagacaagaacgcgtcaag +tcgcttgcgcggcacggattcgattgggcggctcaatcttgcctaatttctactattgtc +agctgtacgactgtactaagtgtatagccccaaataaaagaagtatcgatgcgtctttat +gaccaaaggtcttataattgaagcgcacttccgttcatcaaattaaatcctggcttaccc +gattctccggaagtctgacctagagattgacgacggccgcgtattattgagacctcttca +ggattaatcaataacgaagtagttgatctgtttggcgacgtaccttaagccgactccgct +acacgagtttctactaaaccaatgtagccttatgcttagatgaataccgtcctaattaga +tattccggcataacagcagtaaattatctgttcaatggacgaacattgaattgttagtat +tctacacaagtcaggcctcgtaaatattaggtaaggccgtgggataacctacgtgatatg +cttgagcttgcgttgcaagctctcgttaatcattaatttaggtgcgtgagggttaaacac +cagcatattctatatgctagacgtcttccttaaaggatcgtagtattataattaataata +agaaatatggttgacgtctagtcagcgggcatacgctgctctatatactggcattattca +aaacttgacggtaaaaaaacgaattttaaggcgctcacgtcgaatgagccgaactcatgg +gaaccaaaatgtcacagaaaacacctctttattgccaagcatgcaataaaaaaaatgtta +atagtacgtttacgacattttattttataataaagagaaactattacacctattgatatg +ataggacgtaaattaacgagtagcctgcatagaggcaaatgaggtttctacatggtatag +acctgatgctgaaacatcgatgagttttggtcccctcgctcgttgaaatctagtcattta +ctactgtctttcgagctattataccacttcactatgtggtgtttctttgctatgtatggg +gctagtcaaacatgatgactatagctacaactcagagagcgggcgtgttaagagtatctc +atgctagaactgcacgacgaacttgatacaaagtaacaacatttacgattccacaaggtg +actttgaagaaacatagtttaattctctgcttcgatcatttctataaaccggtaccatcg +cagcggatagatgcataacatttctactactccaggcatcttaaaacacacgtagtactt +cactagattaagacacgataagtgtataacttggcagtgggaagcaaggagattggcgaa +ctcctggcatctgttacgttttgttcaggctcggttgttgataatgtccgactcctgcca +tattgaagactcgctcgagggagatcgggattcgttgattataagtacacgtgttccgta +atactatgaggcagtgattcaaaatggcacttctgacttacatgactaggtattattacc +acggaagcgttaaaggcacactcttatggacttaagattgcaagtgccttcttctagcct +gaattcgcgggttcaacacaaactctctttagacatccgttgcctaaaggctgagacgta +ggggcaaccctttaactatgtactaaaaaactagttggtaatttaacaacgtgtccaatc +aagacgatgcaccaacgcggtgcgaaaatcgggttaagcaaacacaaataggaattgtga +taaaccccaccttgagaggtcgcaagaccaacctcgggaacaacggctctaagagaataa +cctaaatccggatgagtagactgtgtaactctctaaagggaagtgaaaaaaagctaagca +tacatttaggtctcctgcattgcattcaattgaatcgtttgtattatgagctgtacagta +gctatatcagctatagttatcccagaggaacaggtaaactagctctgagcgtgaaatccg +gatattagaacccctagatgggattgattctagctaatacaggcttatctggttttacag +ttatctagatgattggtaaggtgaaacgcttggtgccttccaccacttaaacaaaagtat +tgcccgggaagctattttctaggtattataaagtcgagcattaatatcaatttgacagta +aaggtctttcaccagcttcatatgccatagggcccatactcgatttaaattgaacggttt +aacgagtattggaactctcacttataactgagtagctatacgaaaaatctggtccatttc +cagaaatttattatcgatttgctgcttagtacccaggaagtgataacccttgaaggcaca +acactgtaataagttttcctgtcacatctgtaatattcggtcactacgcattcacgacta +aagataattactatactaattaaaagttcaatgttagggccgaatcatagtagaaattct +cgtctagcctaatcggacttacctatgggctgtgaggatttatcagtatgtggacaaaaa +tgctagagataggtatagttaaagtcaccatggtacatctatgtgaggaagtttgtagtt +cgcttctttagtccgggcgtttgggatgacaactactatacgtagagccgtactcaggat +tagatagtgtgaaagagtcaaataaaagggttaatattaatttaacgttgcaaatgtgtt +taggccaaacattaaccgttgtagggatattctaatacaggccttcaccgaaccctaatg +ataatctgtcttaataacattaaatgattgtctccgctacgagctcttagggcctcattt +taaatgactaatgtccaaagaagagactttcccaatttcaatctgtcacgtatagacggc +accttagtgagtcatatcattaagatagaagattatcaggagggaagtttctattatcaa +ccgttacgcaaccataaacttttaaatctcataatggcattgagatcaagagctttcatg +atggtaaagttcgtatgtgatgctggggagctagatatcggtataccacttcggttgtgg +taagcccgagtgggccgttagtaatattaatagacgattatccgacaatgcattcgctga +aataatcttacttaggagaaattaatgctatgagccaaaactatttatgtctgtcacatt +attgactaaagtatctatcgacaaaactgatgtccataagttgtagcagatagtcggtgt +atggtgtcaccaatgaaaacctcgagcgaaaaatgaattatagttatccaatttgagtaa +attgcctattatacagataggcttgtttagtcagataaggttccgcttgaggtgctctaa +cttagcgagagttagaaagcctagtgagaggcattttggtgccaaactccggctcgcatg +agtaggccagagagtcactttctttcgtcgaagaagttggtgaacagccttttgattagt +tgtttgtcttgtggctatgtgctactatataagttagaacgcaaactaatctaatcagca +aagtaaaataggaccttgaacgagacggggtacgccgttgaggctcgagatagtagataa +actagaggaatgtagataaaacattagctagggggtttagttactggattacataggaag +tgcaccatcacggtgtgggggttcgtacgtaaagtcgcatcaatattgtcagtggactta +acaagttcgtgcataatgaaatcctatacggactttgcatatctctaccgactcatctgg +tcgtctatgcgggtaattgtattgctccaagtggatgactattttggcgtcccagcacat +agtaaatgtaaatccttataatagcataagcaattattagactgcgtgaagtcttagtag +ttctcaagctttacgttgtatgtaaataactcacgtaatcagccgtccccaaatcaccat +tgaggtcattgaatgtacggagcactattatcaatgcggtatgcgattttctgagcgatt +attgttaaagacttagcgttgagccccggaacacttgattacagattctttaaggagtta +tccaaatatcattttaaataatagtagtatcgtgctttggacaataaaaaaagacccgtt +ctcttatgttgttttgcgacgtacttctctgatatatacttcaactatgaagattctatt +catcgataacccaggtatatttatatgcccgttcactgcgcagggcaaattatctacgga +caataatgacgtagttggacccggtaagaactaacgcttaatatgattaaggatgtatgc +cagtattatcttattatgtcagagtagaagtttctctgagattttccgtcgttgtggtac +accggatttggctctctttttagaactgagaactcggagtgtgtagtcttgtttccttca +atttatcaatatgcttttataccgccctcatcaactataacaggacgacaagttccgtct +tgctccatcatatactaccgatacaccaatcgtatcaagtttagtatacttgctttctct +cttctacagcttactcgcttgtccgagaagcggttggtgctcataaagttagtagtaaat +gtacaactagtagccagtccttacctgtttttacgactactacggacaccatgagataca +gaagttagtgctacaattataccattacatgctcaatatcgttgtcggccataagatcga +agagtgcatcacgcgtgtgaatacgtaaaatctaccatcccgtcaatgcacaaaaacaca +ctccccttgttgactaacatcttttacaagaggctaaatcattgtccaggatcgaatacc +ttgtgtacaatcgtcacccatcggaagaataccacttttccgatgtagtatgatttacaa +aaaacatctatgtgagtaggccaattgtagtagaatatattcatttgaccgtcattagcc +ttcttcttaggttgtgtacggatagtaggtacataaaccgtcgtgtggcatacgctgcga +tttcatacagctgccaacaccttttttaccaggctagagtcagaaaagttggagccatgt +taaatagttaccatcataaaccactgttgtctactagtctgatcagctttcatgcctgtg +caagcaatatggattctcacgtaatggtaacaactgttgcgttacttaggctggttaatt +tgtcagagtaataaatacatgtcttgttgtgtttcctaatcctcggaaagtacacaagcc +taggaataggaaaagtaaagctcttttattctgatagtgactaactcaggatctaaatac +gcgattatactaaccttcaccaaagctcaaaaatcatctgctggtgaccagttatagaca +gggtaattcaatatttaatgtctcccttaacatttcaccagcatggattgaagatagtat +aaagttttacatggcagtcattgtgtcacggttctatacaaattctgatagttagacggt +atttgaaatgtgcttctagcatggtatcttacacaactgaatgaacgactggagccgttc +gtatactatttgcgagcctcgagaccccgtttcctaatgttaacgaatatagtataatat +aaattgtgatatgaataacacaagtaactacagtttggacaattaattgttctaaactaa +aaatcattcacttcagatggcatagagttatggctactacacatataaagcggtatgtga +aacacccgttttagccggaaaccctctactgctcgggacaatgaatgatttccaaaatat +ggatgtgcagaattgttagtgtgactcaggtccaaatagacactttagtttcgtcaagtc +gttgcaaagtttaaaaccatcgcagcattctttatttggtctacattgagaaatgaaaaa +acgtgacagaaagtctagaagaactgtgaataatgtctattactgattaactagtaagac +attagtgcatctggtccactgaagcacccgcttggcgttaggcaatctctgtgaactgtc +gtggctgttccggtaatgtacgaaagcaagcctataggttgatcgagtcgcttcattaag +gtcaatttcacaatatccgatcacattgtgctaggttcgtcctttaccttgcttagtgct +gcatgtacggggtgtcatgacttgttatcggcagactctttatcccaagaatggataata +tgtacatggaaagtgtccataattaagtcccttcactgtaaagaatgactgccacgtgat +ccatgaggtctacagaaaccgacttacttgctttttgatcaacttaattatggattcata +aagttcagatatcggtacaattggtgtacaatatgaaattaatgaggaaacatggaaatc +tgaatgacagtgatagaaaagatccccatttgcccggtcagttcatgttacaccactcat +tagtactgtaagtgtttcgtcagcattgagatccacgatcatgtgtttatgccttcgaaa +ctggatgtacgacgatcgagacgaagaggtatatataacctaaatactaggtacgttgtt +agagagacgatgaaaattaatcgtcaatacgctggcgaacactgagggggacccaatgct +cttctcggtctaaaaaggaatgtgtcagaaattggtcagttcaaaagtagaccggatctt +tgcggagaacaattcacggaacgtagcgttgggaaatatcctttctaccacacatcggat +tttcgccctctcccattatttattgtgttctcacatagaattattgtttagacatccctc +gttgtatggagagttgcccgagcgtaaaggcataatccatataccgccgggtgagtgacc +tgaaattgtttttagttgggatttcgctatggattagcttacacgaagagattctaatgg +tactataggataattataatgctgcgtggcgcagtacaccgttacaaacgtcgttcgcat +atgtggctaacacggtgaaaatacctacatcgtatttgcaatttcggtcgtttcatagag +cgcattgaattactcaaaaattatatatgttgattatttgattagactgcgtggaaagaa +ggggtactcaagccatttgtaaaagctgcatctcgcttaagtttgagagcttacattagt +ctatttcagtcttctaggaaatgtctgtgtgagtggttgtcgtccataggtcactggcat +atgcgattcatgacatgctaaactaagaaagtagattactattaccggcatgcctaatgc +gattgcactgctatgaaggtgcggacgtcgcgcccatgtagccctgataataccaatact +tacatttggtcagcaattctgacattatacctagcacccataaatttactcagacttgag +gacaggctcttggagtcgatcttctgtttgtatgcatgtgatcatatagatgaataagcg +atgcgactagttagggcatagtatagatctgtgtatacagttcagctgaacgtccgcgag +tggaagtacagctgagatctatcctaaaatgcaaccatatcgttcacacatgatatgaac +ccagggggaaacattgagttcagttaaattggcagcgaatcccccaagaagaaggcggag +tgacgttgaacgggcttatggtttttcagtacttcctccgtataagttgagcgaaatgta +aacagaataatcgttgtgttaacaacattaaaatcgcggaatatgatgagaatacacagt +gtgagcatttcacttgtaaaatatctttggtagaacttactttgctttaaatatgttaaa +ccgatctaataatctacaaaacggtagattttgcctagcacattgcgtccttctctattc +agatagaggcaatactcagaaggttttatccaaagcactgtgttgactaacctaagtttt +agtctaataatcatgattgattataggtgccgtggactacatgactcgtccacaaataat +acttagcagatcagcaattggccaagcacccgacttttatttaatggttgtgcaatagtc +cagattcgtattcgggactctttcaaataatagtttcctggcatctaagtaagaaaagct +cataaggaagcgatattatgacacgctcttccgccgctgttttgaaacttgagtattgct +cgtccgaaattgagggtcacttcaaaatttactgagaagacgaagatcgactaaagttaa +aatgctagtccacagttggtcaagttgaattcatccacgagttatatagctattttaatt +tatagtcgagtgtacaaaaaacatccacaataagatttatcttagaataacaacccccgt +atcatcgaaatcctccgttatggcctgactcctcgagcttatagcatttgtgctggcgct +cttgccaggaacttgctcgcgaggtggtgacgagtgagatgatcagtttcattatgatga +tacgattttatcgcgactagttaatcatcatagcaagtaaaatttgaattatgtcattat +catgctccattaacaggttatttaattgatactgacgaaattttttcacaatgggttttc +tagaatttaatatcagtaattgaagccttcataggggtcctactagtatcctacacgacg +caggtccgcagtatcctggagggacgtgttactgattaaaagggtcaaaggaatgaaggc +tcacaatgttacctgcttcaccatagtgagccgatgagttttacattagtactaaatccc +aaatcatactttacgatgaggcttgctagcgctaaagagaatacatacaccaccacatag +aattgttagcgatgatatcaaatagactcctggaagtgtcagggggaaactgttcaatat +ttcgtccacaggactgaccaggcatggaaaagactgacgttggaaactataccatctcac +gcccgacgcttcactaattgatgatccaaaaaatatagcccggattcctgattagcaaag +ggttcacagagaaagatattatcgacgtatatcccaaaaaacagacgtaatgtgcatctt +cgaatcgggatgaatacttgtatcataaaaatgtgacctctagtatacaggttaatgtta +gtgatacacaatactcgtgggccatgggttctcaaataaaatgtaatattgcgtcgatca +ctcacccacgtatttggtctaattatgttttatttagtgacaatccaatagataaccggt +cctattaagggctatatttttagcgaccacgcgtttaaacaaaggattgtatgtagatgg +taccagtttaattgccagtgggcaatcctaagcaaaatgagattctatcctaaagtttgg +gcttgatataagatttcggatgtatgggttttataatcgttggagagctcaatcatgagc +taatacatggatttcgctacctcaccgagagaccttgcatgaagaattctaaccaaaagt +ttaataggccggattggattgagttaattaagaccttgttcagtcatagtaaaaaccctt +aaattttaccgattgacaaagtgagcagtcgcaataccctatgcgaaacgcctcgatagt +gactaggtatacaaggtttttgagttcctttgaaatagttaactaatttaaaattaatta +acgacatggaaatcacagaacctaatgctttgtaggagttatttatgctgtttactgcct +ctacaaccctaataaagcagtcctaagaatgaaacgcatcttttagttcagaaagtggta +tccagggtggtcaatttaataaattcaacatcgggtctcaggatattcggtcatataatt +tattaagggctcttcgagtcttactctgagtgaaattggaaacagtcatccttttcgttg +tgaggcatcttacaccgctatcgatatacaatgcattccaccgcggtgtcccgtacacaa +ggaaacttgttaccttggggatataagaaaactcacacgtctcattattaaactgagtac +aatttttgcacgagaaagtaatgcaatacaatatgatgaaagccagctaatgaaaaggga +tggaacgcacctcggatctgttgcactggattaaaatccgattatttttaaaaatattca +gtgctagagcatatcaggtctacttttttatctggtatgtaaagcccacggagcgatagt +gagatccttacgactcaacgaaaagttataacataactcccgttagccaaagcccaatcc +cgattactgccctaccctaacgtctgccatctaaatatcgaacttgttatgatcaatgtg +actacctcccaccctttccccttcatttgttccactggggataagctagcgttttcagaa +tcaatgcaataagaatagccaattgtctcacttcatcagagctcttggcaattccaggcg +ctacgtggttctggaatatattcatttttcaaatagtaatacgtttagtgttgctattgt +ctacacgtttggatattacgttatgtgagcggacatcaatagttgtctaactctttagta +agccagagatagcactcttagcgaatggataccatcttccataagtttagttaatagtcc +gaaacaactgcttcgagcatatttgaacctccttgtaggcaaatagcctcttcaaagcaa +tcttactaatagatagagtttgttttaagggactactagaaatgggacaatcttaatagt +atgacctaaactgacatttaaagatatatccaggtggcaagcataaagatcattgcgcca +cctccaccgtgggattacttatcagtcgatatcctatatgctaagtttgcgacggcagaa +tacaaactaagctgagttgatgctaaccttacctatgataccccattggaccggttaaca +gccctacttattccaaataaaagaacttttatgctgtagaagctattatagtgatgcctg +gtaacttcagtatattaaaatgacacacatacgccatatagagctcctggaactttgaat +aatgagcgaacttcgaagttgaagagcaagaaaccatatgtcacggttgcctaaagcccg +gtaaccagacatgtgctatcattgatcattatcgaggttttcataaccttgacccattat +cggctgtgcgcggacaagtacttaaatcactagtttcttcacctgcttatcggtaagaaa +taaggttggcaaagaatcgcataagacggacgtagagccgcagcgttgtgcgagtccagg +tgcatgcgcagcaataggattttaaattttgttccatttttaatttagccgtaaggatgt +ccgtaaatgattgaaaattggattcaatctttgggcctatgctactggaacctgatcgac +aaaatttcaaacatacgttaactccgaaagaccgtatttttgcggctagaatagtcagtc +gcttggagccatataccttaccacttaaacgacgtgctcctgtagttgaaatataaacag +aacacaaagactaccgatcatatcaactgaagatctttgtaactttgaggcgaagcaccc +tcttcgagacaactaagagtaaagtaccgggcgccgcaaggagtcgattgggaccctaaa +tcttgacgaattgctaagaggctcagagctaccactgtaatttctctagagcccataata +aatgaacgatacatccgtaggtagcacctaagggattataatggaagccaaatgcagtta +ataatattatatactggcgtacacgattcgacggatctctcacatagtgattcacgaccc +ccccctttgattgacacagcgtcagcattttgcaagaacgatcttctgcatagggtgcgc +caccgtaaggatgacgtcgaagctacaactgggtataatttaccatgcttccctgatgct +gagtgcaatacactaagaatgagtttttaccccatatcaccagtatttgttctgttattg +cgaagaaatggctatgctgagttggcgactaaagtcacccatcctttttattaggtaacc +ccctcccttaaactaactgatttgctggagctgccctgcatacatatactttatcattta +tggacgtccgtgacgcttattatccaccatagtcgatatgctacacggattcattaatgg +atcgtaggagtttaagttatatttactaagatcggtctcggctactatcccgccttaccc +ggcgctatttacggccatttttaatatattgacggtaattattcctatggtttcgaccgc +acgtccttggacaagaaagaatggcaaaaaaaatgtaaaagaaaaaaaatattgagtccc +taccatcatataaaaaatatgtgatgagtaacttgacgaaatgttagtggttattaaaga +ctatctattacaccttttgttttctgtcgtagtatattaaagtctagaagccttacagga +aaatcagggttatacagccgatactccgcagcatgaatcatcgaggaggtgtcctaccat +cgcgccttgtaatcttgtctgtgtatactgtatttagaccttttatacaaagtaaatatc +tcggctttatgtgattgggaggggcctactcaaacatgatgacttgacctaataatcact +gtgcgggcgtcttatgactagctattccttgaaatccaccaccaaatggttaatatgtaa +aaactttgacgatgaaacaaggtgaatgtgtagttactttgtgtaattagctgcgtcgag +cattgcttgtaaaaccgtcaatcgcacacgttacttccataaaatttctacgaatacacc +cttcttaaaaaaaacgtaggaattcacgagtttaacaaacgataactgtataaagtggaa +gtccgaagaaagcagatgcccgaactactcgaagatgtttcgttttcttaaccatagggg +cttcttaatggcccactacgcacattttgttcaagcccgagagggacatccccattacgg +gagtattactaaaactgttccgtaatacgttcagcaagggatgaaaaaggccactgctca +agttattgacgtgggagtattacatcggaagcctgaatcccacactatgatggtctgtac +aggcctagggactgcgtctagacggtattaccggcttctaatcatacgatcgtgagtctt +aacgggaagtaaggctcacacctaccccaaaccatttatctatgtaagtataaaattgtg +cgtaagtgttcaaagtggacaataaagacgtggcaaaaacccccgcacataagccgcttt +agatttcacaaataccaatgcggttaaaaacatccttgagtcgtacatacaccatactcg +cgttaaacggatataacagaagataataaatccggatgtggagtcggtgtaactatagaa +agccaagtgaaataatgcttaccagtcatttagctatacggctttcatttcatgtcaaga +gggtggagtttgacctgtacagttgatatatcaccgatacttagaactcacctaaagcta +aaattgctcgcagcgtgtaatccgcatattacaaacaatagatgggattcattatacata +agacacgatgatctgctttttcaggttgcgagatgttgcctatcgtcaatcgagtcctgc +cttacaccacttaaacaaaagtattgacagggaacctattttcgaggtattatatagtcc +agcttgaatatcaatttgacagttaacctagtgaaaatcagtaagaggaaatacgccaca +ttctccagtgaaattctacgggttatcgtctagtccaactatcaattataactcacgaga +tataagtaaattctcgtacttggcctgatttttattatactttggatccttagtaaacag +gaagggagaaaccttcaacgaaaaacactggattttgttttactctcaaagctcttatat +gacggaaataccctgtcaagtcttaactttattactagactaatgaaatgggcttggggt +ggccagaatcatagtacaatttagcggatacactattcggactttcctatcggctgtctg +gttggataagtatggggactaataggctagacatacctatacttaaactatacaggcgtc +atctatctctgcaactttggagttccctgatgttctcccgccctttgggttcacatcttc +tataccgacacccctaataacgattagtttgtgggttagagtaaattaatacggttaata +ttaatgtatcgttgaaaagctggtgtcgccaataaggtaaccggctaggcagagtatatg +tcacgaagtataactaccctaatgataagctgtaggaataaaattaatgctgtctctaag +cgaagagatatttccgactctgttttaatgacgaatctcattacttctgacttgcaaatg +ttcaatatggcacggtttcacggcacctttgtgacgcatataatgaacttagaagattat +aacgacggaactttatatgataatccgttacgattaaagaatctgttaaatatcataatg +gcattcagttctagaccgtgcatcatggtaaacttactttctctgcatggcgacatacat +ttcgctattcaaattcgcgtgtggttacacccactcgcacctttggaatattaagagaag +atgatcagaaaatccattcgctcaatttttctgacgtacgtctaatttatcctaggagac +aaatcgttttatgtctctcacatttttgaagaaaggttcgagagacaatactcaggtcct +gaactgctagaagatactcggtggagcgtggcaacaatgaaaaactcgtgacataaatga +atgatacttttccaagttcagttaagtgaatatgtttaacatacccggcttttcgatctt +aagctgacgctggacgtgcgagtaatgtcagtctcttacatacactagtgactccaagtt +tcgtcaaaaacgccccctcccttctcgagcccactcacgctatgtattgacgcgaacttg +ttcgggatcagacttttcaggagttcggtcgcgtgtccctatgtgctaatatataagtta +gatcgcattagatgctaatctgaatacttatagacgaccttcaacgagaacgggtaccac +cttgaggctagagttaggtgtgaaacgacaggtagggacatataaaatttgagtgcggct +ttagttaagggtttaattacctactcaaacatcacgctcgcgcccttcgtacgtaatcga +ccatctagaggctaaggggactgtactaggtagtgattaatgatatcctagacgcacgtg +ccttagatcttcagactctgatggtccgcgatcaccgtaattgtagtcctccaactcgat +cactttgttggcgtcaaagaaattacgatatctaaatacttataatacaataaccaagga +tgagaatgactcatcgcgttggagttatattgcttgaagttctatggaatgaaagcacgt +tatctgccgtcccaatatctccagtgagctaattcattggacggtccactttgatcaatc +cccgaggagatgttcggacactttagtctgtaacacttagcgttgagaccacgaacaatt +gattactcagtcttgaaggtgttttccaaagttcattttaaataagactacgataggcct +ttcctattgatataaactacccggctctgttgttcgtgtgagtcgtacttctctgtgttt +ttctgattatagcaagattcgattcttagtgtaaacagcgatttttatttgacccgtcaa +tgagaagcgcataggatctaagcaaaattatcaagttgtgccacaaggtaagatctttcc +agttattgcaggtaggatgtatcccacgttgatagtatgaggtctgacgtcaactgtcta +ggagagttgaccgcgtgcgggtacaccggatttgcatcgatgttgagaacgcagaactcc +cactgtcgtggcggcgttcctgatatttagcaagaggcgttgataaagccctcatcatct +agatctcgacctcatctgccctcttgctccatcattttctacacagactactttcctatc +tacgttagtataattgctttctatcttagtatcatttagagcttctccgtcaacaggttc +gtgctattaaagttagtacgaaagggacaacttgtagcaacgcatttaatcggttttcga +ctacttcgcacaaaatcagataaagaagtttgtcattctattagacattgaattgcgcaa +ttgacttgtaccacttatgatcgaacactgaatcaagactgtgattaactaaaatagaca +agccactatatcaactaataaaaacgcccctggtggtcgaacatagttgactacaggata +attaattggactggagccattacattctctacaatcgtatcacttcccaagtagacaact +ttgaccttgtagtttcatgtacaaaaaaatgctttcgcaggagcacattggtagttcaat +agtttcatgggaacctcttgagccgtcttctgtgggtgtgttcggatagtaggtactgat +aaagtcgtgtcgctttcgatgagagggaattcaccggaaaacaccttggttaacaggata +gtctatgtaaacttcgagacatgtttaagagttaccagcttaatccacggtgctctacta +gtatcatcagctgtcttgcctcgcctagaaatatgcattctatcgttatcctatcaacgg +ttgccgtactgagcagccttattgtggaagagtaatatataaatgtagtcttgtctttac +gaagcagacgtaagtaataatgacttggaataccaaaactaaacatagtggattatcata +ctcaagaactctccagataaataacagtttttacgatacgtcaccaatgagcttaaagat +taggatcctcaaaactgatacaaacgctaattcatttgttattggatccagtatcagtta +aactgaatggagtgaagattgtagaatgttgttctggcctcgcatggggtctaggtgata +tacaatttctcatacttacacggtagtggaaatctgattctagcttcgtagctgactata +ctcaaggaaccactgctcaaggtaggagactagttccgaccctacagtcaaagtggccga +agcttaaactatagactagttgttaaatgctgatttcaagatatcatctatatacagttt +ggacaattatgtgtgcgaaactaaaattcatgctattcagatggatttcacttatgcctt +agaaacagatattgcccgagctcaatcaacagttttagccggaaacaatcgaagcatagg +gacaatgtatcttttcctaaattgccatgtgcagatttctgagtgtcacgaagcgcataa +tagaatcttgtgttgcctcaactcgttgaaaagtttaaaacaatcgcagcagtctttttg +gggtctactgtgtgtttgcaaaataactgaaagaaacgcttgaacaactctgaagtagct +cgagtactcattaaagtgtaacacattagtgaatatcggccaatgaaccaaacgcttccc +ggtacgctatctctctcatcgggaggcgatgtgcaggttatctacgaaagcatcccttta +cgttgagagtgtcgatgcatgaacctcattgtaacaatagcccagcaaattctcatacgt +gcctcagggtccgggcgtactcctccatggaagggcgcgcatctagtgttataccaactc +gctttttaactactatgctgtagttctacaggcatagtggccagtattttctaacttctc +tggatagatgctctcactcctcatccatcacggcttcagtttacgtcttacttgcttgtt +cagcaacggatggaggcattaagtatcttcactgttccctaaaattgctgttcaatatca +aagtaaggacgatacagggaaagctcaagcacactcattgaatactgccccagttgcaac +ctcacttaatctgacaaaaataatgactactctaagtgttgcggaagcagtctcttccac +gagcttgtctgtatcacttcgtataggcatgtaactcgatagacacgaacaccgagtgag +aaactatattcttgcttccgtgtgtgtgacaccaggtaattgatgcggatataagctgga +gatcactcacgcccacacaaggcgctgctacctctttattccaatgtgtaagaatttgct +aacttcatttctagaccgcagctttgcggtcataatttcacggtacggacccttgggtta +gagacttgataacacacttcgcagtttccaccgcgcacatgttttagtggcttctaacat +agaatttttgttgtgacataaagagtgcgtgggagacttgcccgaccgttaagccataat +caattgaaagccccgtgagtcacatctaattggttgtactgcgcatttagctatccttta +gctgactcgaagagattcgattcctaatataggttaattagatggctgccgcgcgaagta +aaacgtgaaaaacgtagtgcgcagatctgcataactcgcgcttaattacttatgagtagt +tccaagttcgctacgttatgagagagattggaattaagcaaatatgttttatggtgattt +tgggatgagaaggactgctaagtacggctactaaacaaatttctaaaaccgccatctacc +ttatcttggagacatttaagttgtatatgtcactagtctagcttttgtctgtgggacgcg +ttctcggaatgagggaaatgcaagagccgattcatcaaatgcttatctaagaaagtagtg +gactattacaccaagcacgaatgccagggaactgctttcttgctcaggacctcgcgacaa +ggtaccccgcataagtcctagaattacatttggtcagcaatgctgacatttgaccgtgaa +aacataattttaatcagaaggcagctcacccgcttgctctagatcttatctttgtatgaa +tgtcagaatttactgcaatatccgttccgaatagtgagggcttagtatagttctctgtat +acaggtcacatcaaactccccctgtcctagtacagctctgagctttaattaattgcatac +atttccttcaatcatcagatgaaaacaccgcgaatcatgctcttctcgtatagggcaaga +gaagcaacaaacaactagcccgactcacgttcatccgccgtatccttgttcagttcttac +tccgtattaggtcagcgaaatctaatcagaataatcggtcgcgtatcaaaattaaaatcc +cgcttgaggttgacaattaaaacgctgagcagttatcggctattagatagtggggtgaaa +gtaattggctggaattatgttaaaacgtgatattaagctaaaatacgctacttgttgccg +acctaattcagtcattcgatattcagttagagccaagaataacaagcttgtataaattga +acggggtgcactaaacgatgtgttactctaatattcagcttggagtatacctgaaggcga +attcatgtatcggccaataataagacgttgaagatcacaatttggactagcaaaagaagg +tgatttatgcgtggggattgagtccactgtacgagtacggtctctggaaaattataggtt +cagggaatataaggaagtaaagataattaccaagagatttttggtatcgctatgacccag +aggtgttctaacgtctgttttgatccgcagaatttctgcctcaatgcatatttgacggac +ttgaactagagcctctaaagttaaatggcgacgcaactgttcctaaacttcaattattac +tactctttttttcctagggtattgtagaggccagtggacaaaataaatcaaatttaagat +gtttcggacattaacatcccccgtagcatagaaatcatcagttatccaatctctcatcga +gcttttacaatttctgctggcgctatggacagcatatgccgcgagacctccgcaagactc +acttgatcactgtaagtatcttcattagaggttagagcctatagttaagctgctgaccta +gtaaaattggtattttctaattttattgctcaagttaaaggttagtgaagggataatgac +gttatttttgaacaatgggttgtattcaattttatatcacgaatggaacccttcattccc +ggcataatactagacgacacgaacaagctccgatctatcagccaggcacgtgttaaggtt +taattccggcaaaccaatgaagcatcaaaaggtgacctgatgcaacttagggtcacgatg +agtttttcaggactacttattacctattaataagttaacatgagccttcataccccgtaa +gacaatacatactccaccaattagaattctgagccatcttatctttttgtatcatcgaag +ggtatggccgaataggttaattagttactcctaacgtctctacaggcatgcatttgacgc +accttcgaaaatagtcaatctctcgccacacgcgtctagtatgcagcatcaaaaatatag +tccacggtttccggattaccaaacgcggcaaagagaaacattgtatcgacggagataact +taatacagaaggaaggggcatcttcgaatacggatgaataattctatctgtttattctga +catcttgttttcaggttaatcttacgcattcaaatgacgcctgccccatgcgtgcgcaat +tattttctaatattgacgagagcaatctcactccttttgggtctatttatgttttattga +ggcacaagcctatacagaacaggtactattaaggccgtgagtgtgagactcaaaccgtgg +aaacaaaggatgggttgttcttggtacaagttttagtgcatgtgggcaatccttaccaaa +atcagatgctatccttaactttgggctgcatttaagatggcggttggaggcctgtgagaa +tcctgcgtgtcatctttaatgaccgaattcatccatgtagattcagatcacacactcatt +ccttgatgttgtctaaacaaaagttgttgtggacgcattggagggagttaagtaacaact +tgggatcgcatacttataaaaattatatgttaaactttcacaaacgctgaagtccaaagt +aactagcccaaacgcctcgagagtcactaggtattaatggtgtttgagttcctgtgaaat +agtgttcgaaggtaaaatttatgtaccaaatcgaaagaacacttaataaggcttgcttgc +acggaggtatgatgtttactgactctacaaccctaattttccagtacgtacattcattcc +aataggttagttctcaaagtgctatacaggctcctcaattgatgatatgcttcagccgct +ctatggatattagctcattttatttaggaagcccgcttagaggcttactatgagggaaat +gccaaaatgtcatacttttcggtgtgtcccatatgacaccgctttacatagaatttgaat +taaaacgcgctctcccgttcactaccatacttggtaccgtgcgcatattacatatagata +taggatcattttttaaagctgtactaggtttgatcgacaatcttatgctatactatatga +tgtaaccctcataatcaataccgatcgtacgatcctagcataggtggcaagcgattttat +gccgattattgtgttaaatagtctgtgagtgtgattatcagggctacgttggtagagggg +ttgtatagacctcgcacacattgtgacatacttaacaatatacgaaaactgatataataa +atccccttacccaaacaccaatcccgttgaatcaactaccataacgtctcccatataaat +tgcctacttgtttgcataaatctgaatacataacaccattgcaccttcttgtgttccaat +cccgttaagattgccttgtcagatgatatgcaagaacaatagcatttgctagcaattatt +aacagctcttcgaattgcctccacataacgcgggagggtatattttaatttggcaaatac +taagtactgttggcgtcatatgctattaacggttggatattaagttatgtcagccgtaag +caagagtgggcgaaatattttgttacccagtgagagcactcttagagtttggatacaata +ggccatatgttgacttaagaggacgtaactacgccgtacaccattgttcaaccgacttct +tggcaaatagaatcgtattagcaatcttaagaatagagacacgttcgtgttagggtatac +tacaaatccgaaaatcttaagaggatcacctaaactgaaatttatacatatttcaacgtg +gatagatttaacataattcagccacctccaacctgggagtaattttcagtagatttacta +gatgattagtggcccaacgcacttgactatataagatctggggatcctaacctgacctat +gagacaaaattggaaacgttaacagcccttatgtgtacaaagaaaagtaagttgttgctg +ttcaacagatgatagtcatgacgcgtaacttcactatagtaaattgaaacaaatacgcaa +tttagacagaatggtacggtcatgaatgacagtaattcgaagtgctagaccaacttaaaa +taggtaaacgtgcccgaaaccccccttaacagaaagctgctatcatggtgcagtatcgac +gtgttcagaaacttgtaacttttgagcaggtccgagcacatggaagtatatcacgtgttt +ctgaaccggcttatccctaagatatatccgtcgcaaactttcgatttagtcccacgtaga +gcccaagcgttgtgcgactccacgtgcatgcccagaaatacgagtttaaatttggttaca +tggttaattttgaccgaagcatcgcactttatgattgataattggattcaatatgtcgcc +ctatgcgaatgcaacatgatccacaatttggctataagacgtttaatccgtatcacactt +tgtttgcggctagtatagtaacgcccgtgcaccaagagtcagtaacaattataagtactc +cgcaggtacttcaaatataaaaactaatcaaacacgacccatatgatcatctgaagatat +ttggaactttctcgacaaccaccctcgtactcaatacttacactaatcgacaggcacacg +caacgtgtacagtcgcaccatattgagtcaagatttgcttagtggcgatgagcgtacacg +cttatttctctagtcacaattagttatctacgagacatcacgagggagcaaataagcgat +gttatggctacacataggcacgtatgaatatgatataagccagttaaacagtcgaaccat +cgagcaaattctcatgcaccaacccacacgttgaggcacaaagagtaagctgtttgaatg +taacttcttctgctgagcgggccccaacgtaaggatcaactagaagagaaaactcggtat +tagtttaaatgcgtcacggagcatgagtgcatttcactaagaatgtctgtgtaaccaata +taacatctatttgttatctgattgcctacttatggctttgcggtcgtggcgactaatgtc +tccaatccttttgaggtcggtaccaactccctttaaattacgctgtgcaggctcatgcac +tgcatacatatacggtagcaggtagggacctcacgcacccttattataatcaatagtagt +tatcagtcaacgaggcaggaatgctgaggtcgaggtgttggtatattttctatgtgccgt +ctaggcgactatcacgcattaccaggcgagatttaagccaattttgaatatagtcaacgt +aatttttactatgggttccaccgaaacgccttgcacaactaagaatcccataaaatatcg +atatcaaataaaagattgtgtcaataccttcatatatattttttcggttgactaacgtga +actaaggttaggggttttgtatgtctatataggaaacagtttcttttctgtcctacttta +gtaaagtcttcaagccttactccaaaatcacggtgattaagccgttactcagcagcatga +ttctgcctgctcgggtcctaaaatccagccttgtaagagtcgctgtgtattagctaggga +gacctttgttaaaaaggatatatcgcggcgggatgtgagtgcgtggcgcatactcaatct +tcagctcgtgtcattataatatctctcccccacgcttttcactagatatgccgtgtaagc +aaacaccttatgcttaatttcgaaaatattggtacttgaaaaaagctgtaggggtactta +atgtctggtaggagatcaggagagaattgagtgtaaaaccgtaaagccctcacctgactt +catgtaaatggcttagaagactccatgatttaataaatactacgaaggaaagactggatc +taaagataactctagtaaggccaactcccttcaatgctgttgccagttataatccaagag +ctgtccttttctgaaccatagcggcttctgaagcgaactagaagcaaagttggttctagc +cagacagccacataccctgtacgggtgtattactaaaactggtccggtattagttcacca +agggaggaattaggcaaaggatctaggtatgcaagtcggagtattacatccctaccctga +atccatcaataggttcctctgtactggccttcgcaatgagtattcaaggttgtacagccg +tataataataagatagtgactatgaacgggaagtaacccgctcaccttccccaaaacatt +gttatatctaagtattaaagtctgccgtagtgttaatactcgaaaataaacaactggcaa +attacaccgcacttaagccgcttttgatttatatttttccaatgcgcttttaaaaataat +tcagtcctacatactaattaagacccttaaacggagatatcacaagttaagttttaacca +tctcgactaggtggaactatagatacccaactcaatttatcattacctgtaatgttccta +gaaggattgcatttcatgtcaagacggtggagtttcacagcgaaacttcagtgtgaacag +attctgagaaatcacctaaacctattagtcagagcacccggttagaaccagttgtcaaaa +aatagagcggttgcatgagacagaagtaacgatgagatccgttgtaacgttgagacatct +ggcctatcgtcaatacagtcctcccttaaaaatatttttaaatactaggcaaacccaaca +taggttagtcctatgtgatacgccacatggtatatcattttgtaacgttacctagggata +atcaggaagtggaattacgcaaaagtagacagtgaaatgcttagggttatagtctagtcc +aaagataaaggataaagcacgtcagagaactatattagccgaatgggaatcattgttagg +agactgtggatcatgtctaaaaagcaacgcagaaacagtcatcgaaaaaatctcgttttt +gtttgaatctaaaagagctttgatgaccgatagtacctgtatactagttactgtattacg +tgtctaatgatttcggattggggtccccagaatcagacgtcattgtagacgattcaagtt +taccaatttaatttcccagctctccttggagaactatcgccaataattgcagtcactttc +cttttctgaaacgataaagccgtcagagttctctgcaacgttggacttacctgaggttct +aacccactttcggttctaatagtagttaacgacacaacgaataacctttactgtggggct +ttcacgatattttttcgcttattattaatggttacgtcataagctggtgtccaaattaag +gttaccggcttcgcagagtagttgtatccaagtataacttccctaatcataagatcgagg +tagaaaattaatgctgtctctaaccgaacagatatgtcccactatgtggtatggacgttg +ctaattacttctgaagggaaattggtcattatggatacgtgtctaccatcaggtcggacg +cagatatggttctgtcttcagttgatccaccgttctttataggataataactgacgatta +aagattatggtaaatagattaagccaattctcttcttgtcagtgaagcatccttaactga +cttgctctgcagcccctcatacatttagctattcaaagtaccggctcgtttcaaactctc +ccacctttggaagaggttgtcaacttgataagtatatcatttacagcattttttcggacg +tacctctaatgtttcattgcagaaaattagttttttctatcgcacattttgcaagtaacg +ttagagacacaattatctgcgaatgaactgctagatctgacgaccgggagcctcgcaaat +atcaaaaaagactgacatatatcaaggagtcgttgacaagtgctggtaagtcaattggtt +tatctgtcccggcgtttcgatcttaagctgaccatgcacggcagagtaatgtcactctcg +ttcttacaagtctgtctccaagggtcggcaaaaaagacccctccattctcgagcccactc +acgatatgtagggacgacaacttgtgcggcttatgaattgtctggactgcgggcgagggt +ccatatctccgaagttagaagggacatacctttagatgataagatcaattcttattgacg +aaattcatccacaacggggaacaacttcaccctagacttacgtctgaaaagacacctagc +gtcttataaaaggtcagtgccccgtttcgtaaggctggaattacctacgcaaacttaaac +ctcgcgcccttccttacgtatcgacaagatagaggctatcgcgaatgtactacggaggca +tgaatcatatactagaaccaagtgcctgtgatattaacaagatgatccgacgcgagcacc +gtaattctaggcataaaactccagcaatttgggggccgaaaacaaatgacgttagctaat +taattatatgacatgatcaaaggaggtcaatcacgcatcgagttcgacgtatattcattg +aacttcgtgcgtttgaaagaaacttttatgaaggcaaaattgatcctgtctcctatttca +tgcgtacctcctagttgataattccccgagcagtggttaggacacttttgtcggtatcaa +gttccggtctcaaaacgtaaaattctgtaatctgtatggatggtctgtgaattagttaat +ttttatgaagtcgtcgagacgcagttcctattgatttattctaaacggagatgtgcttcg +tgggactcggaagtagatctgtgtttatgattattgctactttagatgctgactgttaac +tccgtgttgtttttcaaccgtatatcacaaccgaattggatagaacctatagtttcaagt +tctgccacaaggtatcatatttacagttagtgctggttgcttctttcaaacgtggtgagt +ttgtgctatcacgtcaacggtagagctcagtggaccgagtgcgcgttcaaccctgttcca +gagagggtgtgatagcacatataccacgctcgtcgaggcgttcatgatagtttgcaagag +ccggtgttaaacacatattattattgttatccaactaatcggacctatgcataaagcatt +gtctaaacagaataattgcctatatacggtagttttagtgatttatatcttagtatcagt +tagagcttcgaactcttcaggttcctcatatttaacgttcttcgaaagcgaaaacttcta +caaacgaatgtaagcggttttccaagtagtacctataaatcacagaaagatctgtctcag +tatagttgaaatggtattcagctagtgacgtgtaccaattatcatagttcactcaagcaa +gacgctcattaacgaatatagacaagacactatatcatataataaaaaagaacatggtgc +tcgaacatagttgaattcaccatattgaaggggaatgctgacatgtaattcgctactaga +cgatcaattccctacttgtcaaagttgaactggtacgttcttggaattaaatatgattgc +gctggaccaaattgcgacttcttgagtttcagggcaaacgattgagccggaggatgtccg +tctcttacctttcttgcttatgataaacgacggtccctgtacatcactgggaattctcag +caaaaataattgggtaaatcgagactcgatgtattcggccacaaaggtgttagacgttaa +agattattcaacggggcgataataggatcataaccggtatgcaagcgcattgaaagagcc +atgagatccttatccgataaacgctgcacggtatgtgcagccttattgtcgatcacgaat +ttataaatgtagtctgggctgtaagttgaagacctaagttataatgaagtgcaataccaa +atcgattcatagtggattatcagactcaagatatctcctgataaattacagttgttaaga +tacggataaaatgagatttaagattagcagcctctaatctgtttcaatcccgttggaatg +tggtatgcgatcaaggttaagttaaaatcaagcctgtcttcagtcttgattcttgttctg +ccatcgcatgcggtctacgtgagttaatatgtagcttacgttctagcttgtgctaatctg +agtatagattcgtagaggaatattatcaagcttccacgcctcaacgtacgtgtattggtc +acacaagacactaaaagtggaagtagcgtaaactatagtctagttgttaaatgctcagtt +cttgttatattcgatatactcttggctaatttatgtctgagtatataaaattaatgatat +taacttgcatttcacggatcccttagaaaaagattttgaccgagcgcattataaacggtt +acaccgaatcaatagaagcatacccaatagctttctttgaatttattgcctgcgcaactt +ggctgactctctagatccgaataattctatatggtcgtgacgaaactagttcattactgt +ttaaaatgccaacatgtcttttgggccgataatggctctttgcaaaattactcaatgata +cgattgatcaaagcggtagttgctagtggtagcatgtaagtctatcaaatgtctgattat +ccgaaaatcttccaaaagagtccacgtaccatatctatctcatagcgacgcgaggggaac +cttatctaactatcattccatttaccgggtgactctcgatgcaggatccgattgggataa +attgcccagaaatggctcattcctgactaagggtaaggccgttctcagcaagggaacccc +gcgaatctaggcttataccatctagattgttaactacttgcctgtagttctacagccata +ctggacagttgtttctaaatgatcgggattcatgctagcactcctctgaatgcaccgcgt +aagtttaactattacgtccgtgggcagataaggatggaggctgtatgtatcttaactgtt +acctaatatggctggtaattatcaaagtaaggaccttaatgccatagcgctagcaatcgc +tttgtatactgaccatgtgccaacctctcttaatctgtaaaatataatgtcttagctaac +tgtggacgatcatgtctctgcctagagcttcgctgtatcaattcctatagccagcgtact +agtgacacaacaacaccgtgtgagaaaagatattagtccttacgtctgtctctctacagc +ttattgatgaggattgaacatggacatatagctccccctcaaaagcagatgctacctctt +tattccattctcgaacatttgccgaacttaatttcgacaaacctgaggtcacgtcttaat +ttatcggtaacgtcacgtccctttgagactggataaatatattaccaggggccaacgagc +aattgttggaggcgcttctataatacaaggtgtcttgtcaaagaaagacggcgtgcgtct +cgtgcaactcacttaaccaatattaatgtgaaacccccctctctcacatcttatgcggtg +tactgccctggtacatttcctgtacaggactccaacagtgtagattcctaagatagctgt +tggagttgcctcacgccagatcgaaaaactgaataaactagtgagctgagctgcagaaat +accgcttaattacttatgactagttcaaagggacctacgtgatgtcagacattgcaagga +agaaattaggtttgtgcgtcattttggctggactagcactccttacttcccctactattc +aaatgtcgtaaacagcatgagacaggatcgtgctgacatttaaggtctattgggaacgag +gctacctttggtcgcgcgctcgcgttctccgaatgaccgaaatgcatgagcacagtatgc +aattgcttatagatctaaggtctggtcgttgaaaccaagcacgtaggcctgggaaatcag +ttcttcctcagcaactacacaaaagcgtccaagcattagtacttgtagtaaatgtccgaa +cctatgcgctcatttgaaagtcaaaaaatatttttaagcagtaggcacctaacccgattc +ctctacttagtagctttctttgattctcagaattgactgcaatatcactgcacaattctg +tgccattactagacttctctgtattaacgtctcatcttactaacactcgcctaggacaca +tctgagagtgaagtatttcaatacatttactgaaatcttcagttctaaaatccccgaata +aggctcttatcggtttggccaacacaagaaaaaaacttcttgcaccactcaccttcatac +gcaggagcctggggaacttagtaataactatttcggcagacaaagcttataacaagttgc +cggcgcgtataatatttaaaagaccccttgagctgctcaattaaaacgctcacctggtat +aggctattagatagtgccgtcttagtaaggggcgggaattatcggataaactgatatttt +gataaaataaccgacttgttcacgacataagtcactaaggagattttatctttctccaaa +gtatatcttccttggataatttcaaagcgctgcaatttaagttctgttactagtttatgc +tgctgggaggtgaccggaaggcgtagtaatctagaggcaaattataagaagttcatcata +tcattttcgactacaaaaacaaggtgttgtatgccggcgcattgtgtaaactggacgagt +accctagatggaaaattatacgttaagccaagatttcgatgtaatgataattacctacac +atttttgctatccataggaacaagagctgttctataggctcgtggcatacgaacatttgc +tgccgctatgaatattggaagctcttcaactacagactctattcttaattgccgtcgaaa +atgggccgaatcggctattattaatactcggtttttccgaggggattgttgtcgacagtc +gtaattattattaatattgatgttggtgaggtcatttaaatacaaccttgcagacaatga +ataagggatccaatctctcatactccttttacaattgctcatgcccctatgcaaacctta +tgccgccacacctccgcaactctctcttctgaactgtaagtagcttcattactggtttga +gactatactgaagctgatgacattctaaaatggctattttcgaatgtgattcataatgtt +tatcgtttgggatggcagaatcacgttatttttgatatagcccgggtattctattgtata +gaacgtatgctacaagtcattccccgaagaagactagaagtaaacaacatgcgaccatcg +ttaagccacgcaaggctgtagctttatttcccgataacctatcttccataaatagcggac +agcaggatactgacgctcaacatcagtggttatggtctaatttttaacttttaataaggt +aacttcagcaggcatacacagtaactctttaatttataatcaaattagaagtctgacact +tcttatatttttctatcatccaacgcgatcgcccattagcttattgtgttactaataacg +tatctaaaccaatccttttcaagctactgcctatattgtcaatatatacaaacaacagga +tagtaggctgcttaaaaaatattgtcaaccgtgtacgctttacaatacccggaaatcaca +aactttgtagacaacgagtgaaatttatacactacgaagggccagcgtacaagacccatg +aattaggcgatatgtttattctgacatattggtttatccttaatctgtcgctgtaaaatg +aagccgcccccatccctgcgaattttttttcgaagattcacgactgaaatataaatacgt +ttggctatatttatgttggagggaggcaatagcctttactgttaaccgaagatttagcca +gtgagtgtgacactaaaacactggaataaatgcaggcgttcttctgggtaaaaggtttag +tcaatctcgcctataagttcatatagctctggatataattatctggcccatgcatttatc +atggcgcttggtgccctgtgtgaagccggcctctcatattgaaggtccgaagtattccat +gtacattaagatcactctctcattcatgcatcttggcttaacaaatctggttgtccaagc +tttccaggcacgtatggtacaaattcggatcgaatacttataaaaatgatatgttaaact +gtctaaaacgctcatctacaaagtaaagtgcactaaccaatagagtctcaagaccgtgta +atgctggtgcactgaatgtgtaatacggttagaagggattagttatgttacaaatccatt +gaaaacttaagaagcattgcgtgctcggagggtgcatcttttatcaagagactaacatta +ttttcaacgacgtacatgctttacaatagggtacttatcaaacgccgagaaacgcgccta +tagtgatgttatgattatgacccgatatccattggaccgaattttatgtaggttcccagc +gtactcgcgtaatatctcggtattgccataatgtaatacttgtcggtctctcccagatga +aaaagcgttacagagtatttcaatgaaaaacagcgcgcaacgtcaatacctttaggggta +acggccgctgatttcatatagatatacgataagttggtatagctctactaggtggcatcc +acaatcgttgcatttactatagctggttacaatcataatctataccgttccttacatact +accatagcgggatagcgtttttttgccgttgattgggtttaagaggatgtcagtctcatt +atatccgattcggtgggagagccgttgttttcaaatcgcacactttgtgacataatgtac +aagataacaaaactgatataagatataaactgtcaatatcaccttgacacttgaatcaaa +gtaaattaactcgcaaatataatttgactaattgggtgcagatttctcaattaataaaaa +aatggcaccggatgggcttacaagccccttatcattcacttgtatcatgatttccaagaa +caatagaatttgctagcaagtatgaacagagattcgaattgcatccacagtacgccggag +cgtttattttaatgtggatatgacgatgtactgttggcggcatttgctagtaaccggtcc +ttatttacgtagcgcacacgtaagcatgtctgggagaaatatggtggtacaatctcagag +aaagattacagtttggtttaaataggacttatcgggtcggaagtggaacttaataagcag +tacacaattgggcaacagacgtcttgcctattacaataggattacaatgcgttagatttc +agacacgttcgtgtttggctattcgtcaattccctaaatagttagacgatcaactattat +caaagtgattctttgttcatcctccattcatgtaacagatggcacactacgcataacgcc +gaggaattttaacgagatttaagagagcagttcgggcacaacccacttgactttataaca +gctcggcagcataaacggtaatatgtgacaaatttccaaacgttataagaacgtatgtgt +acttagaaaactaagtggttcatgttcaacagatgtgacgcagcaagcctaacttatcta +ttggttttgctataaaagaacaaagttacacagaatcctaagggcttgtttcacacttat +gcctagtgcttcaccatcttaaaatagcgaaaccggcacgaatcaaaccttaaaacaatg +cgcagatattggtgatggtgactccgggtatgataatggtaactgttgaccagcgcccac +ctcatcgaagtatagaaagtggttaggataaggatgagaccgaacttatttccggccata +actttagattttctacctagtacacaacatcagggcggacacgaaaccgccatcacatca +tataccaggtttaatttgcttaatgggggaagtgtcaacgaaccttcgaactttagcagg +catatggccattatatatggccccagagcagaatgctacagcagacaaaatttggattta +tgtagtttaatacctatcaaacttggtgtgaccatacttgtctaacgacagtgcacaaag +tgtaagttacaattattactactcagcagcttctgcaatgataaaatcttatcatacacg +tcacatatgataatatctacttagggggaacgggctccacaacctacatagtactcaata +cttacactattcgacaggcacaccaaacctgtacagtcccaaaagattgagtcaactttg +cagtactgcagatcacagtaatagcttagttagcgagtcaaaattagttttctacgagac +tgcacgaccgtgcaaatttccgatgtgttggctacaaatagcaacgtatgaatttgtttg +aagccacgtaaactgtacaaccttagagataagtctcaggctactaaaaacacgttgtgg +cactaacaggatcatggttgattcttacttattcggctgaccggcccaataagtaacctt +caactagaacagaataatcgggagtagtttaattcagtcaaggtgcaggtctcattgtaa +ctaacaagctctgtgtaaccaagttaaaatcgttttcttagcggattccctacttatgga +tttgagctcgtccacaatattcgatacaagaagtttgtggtccgtaacaacgaaatttta +attacgctgtgcagcctcatccaaggaattaatagaaggttgatggtaggctccgaacgc +tccatgattataatcaagtggactgtgcagtaaacgaggaaggtatcctgacgtcgtggt +gttcgtttttgttatttgtgccctatacgagtagataaaccatgaacagcacagtgtgaa +cccatggttgattttaggctaccttatttttaatttccgttacacagaaacgaattccac +aactaacatgccattaatttttcgatatcttataaaagatggtcgaaattcattcattta +ttttttttcggttctcgaaagtcaactaagctgtcgcgttttgtttctctttagaggtaa +aagtggctttgatctcctacgtttggatactagtcaaccattactccatttgatccgtga +gtatcacctgtctaacatccagcattatgactcctcggcgaagaaaagacacacttctta +gagtcgatgtgtattagctagggacacagttgtttaatacgatagtgagcccagggaggg +cagtgcgtcccccagtagatttattcagctagtgtaagtataagatatctcacccacgag +gttcaagtgatatgcagtcttagaataatacttatcctgaatttcgatattatgggtact +tcaataatccgctagcgctactttatgtctcgttggacagcaggacacatggcagtctta +aacactaaagacatcacctgaatgaatgtaatgggattacaagaatcaatgaggtattat +atacgacgtaggaaactctggatatatacagtaatctagttacgccatcgcacttcattc +ctctggaaacttagaagacatcagctgtacgtggaggaaccagacccccgtatgtagcca +aatagaaccaaagttgcttatacaaacacacccaatgacaatggaccgctggagttcgta +aactcggaacgtagtactgcacaaacccagcatttagcaataggagctacgtatgcaact +cccacgtggtaataccttcaagctatcaatatataggtgcctagctaatcgcattcgcaa +gcagtattcaagcttgtaaaccagtataataattacagaggctctatgaaacccaacttt +ccagctaaaagtcccaattaaatggttatttcgtacttttaaagtcgcccgttctgttat +tacgcgaattgattctactccaaaattaaacacaaattatcaaccgtttcatttatattt +gtcaatgcagctgtttaaaataaggctctactaaattataattaagacacttattaccag +atttctctagttaagtttgaaccagctcgactaccgcgaaagatacattcccttctctat +ttttcagttcatctatgggtcagagaagcattgaatttattctattcaccctcgtcgttc +acagcgaatcgtcagtgtgatcagtgtatgagaaatatcctaaaccgtttagtcagacca +cacgcttagaacaagtggtctaaaaagactgccctggaaggagtaagaagtatacagctg +atccggtgtatccttcagtcatctgccctatactaattacacgacgcaaggaaaaatagg +tttattttctaggcaaacccttcataggtgactccgatgtgttacgaatcatgcttgaga +atgtgctatcgttaccgacggataataacgatctccaatgaaccaaatgtagaatgtcta +ttgattacccttttactattcgacttagagataggagatagaacctcagtgtactttttt +agccgaatgggaatctttgggaggtgaatggccataaggtcgtaaatccaaccctcttaa +agtcttccatattatatcgttgttcgtggaatcgataacagatttgttgacccatagtaa +atgtatactagtttatgttgtaagtgtagattgttttccgattgccgtccaaactttatg +tcgtaattgtagaccagtaaagttgaccaaggtaagtgcccagcgatcctgcgagatcga +tcgccaatttttccagtcactgtaagtgtaggtttagataaagccgtatgagttatatca +taagggcctcggaaagcagcttcgaaccaaagttcccttataatagtagtttaactataa +aagtatatactggtctgtcgccctttcacgatttgttttaccggtttatgaagcgttacg +tcattagagcggctccaatttaaggttaacggcttccatgtgtagttgtatacaaggata +acttaaagtatctgttcagcgagctagttaagttatcctcgatagaacacaactcagagg +tcccaagatcgggtttgcaacttgctaatttattctcaaggcaaattgggaattatcgat +acctgtataccataaggtcgctcgatgtgatgcttatgtcttctggtgatcctaccttag +ttagtgctgattaacggaacattaatgtttatcgttttgagatttagccaattctctgat +tctaactcaagatgccttatctgacgtgctatgcagcccctaagtattttacattgtaat +aggacacgctcctttaaaactcgccaaaaggtcgttgtggttctctactggttaactata +taatttacagctttgttgagctagttcctctttggtttaagtcctcaatattagttggtt +cgagcgataagttggctagttaccttagtcactatattagatccgaatgttatgcttcat +ctgaagaccgccaccctccaaaatttcttttaagactcacttattgcaaggtgtaggtga +attcggctcgtttctcaagtggtgtatctgtacacgagtttccatattttcatcaacagc +caccgcacacttatgtcactctaggtattaaaagtcgctctacaaggggacgcaattaag +aaacagacatgctagtcaaaaataaacatagcgaggcaccactaattcggccgcttatca +atgggatgctctgcgcgagacgcgccagagctcagtagttagttcggacatacatttact +tcagatgatcaattagttttctacaaatgcttactctaccccgaaaaaagtcaccagact +cttacgtctctttagtatccttccgtcttatataaggtcagtcccccgtttcggtaccct +ggaatttactaagaataatgaaacagcccccaaggacgtacgtttacaaatgatagacca +gatcgcctagcttattccgacgcatgttgcatagaattgaaccaacggaatgtgagagta +actagatgagccgaccacagcacccgtttgcgtcgcagaatacgcctgatagttcggcca +cgaaatcatatgtcctttgagtattaagtatttgtaatgatcaatcgagctcaagcaagc +ttacacttcctcggatattcagggaacttagtgcctttgaaagatacgttgatcaacgaa +aaattgataatggctcatatggaatgcctacctcatagtgctgaattaacacagcactgc +ggacctaacttttcgaggtttcaagttcacgtctcaaaacctaataggctggaatatgta +gggatcctcggtgaatttgtgattgggtttgttgtagtactgaccaagtgaatattcttt +ttttctaaaagcagatctgctgccgggcactacgaaggagatctctgtgtatcattattg +cttcttgacatgatgactcttaaatcactgtgggtgtgcaaaacgatagcacaacccaat +tcgatagtacatattgttgatacttcgcactaaaccgttcatatttaaaggttgtgctcc +ttccttcgttaaatactggtgacttggtcctatctactattagctagacctctggggaac +cacgcccccgtaaaacctgtgcaagagagggggtcatacatcttagacatcgcgcctcca +ccagggaagcattgggtgattgaccaggtgtgtaacaaatatgattattcttatactaat +attagcaaagatgcataatgatttgtattaaatgtataattgaattgataagggtctttt +agtcagtgatagagtagtataaggtagacattagaactcttaaccggacgcagatttttc +ggtcttagtaagccaattagtcgacaaaacaaggtaagagcggttactagtagtacctat +aatgcactgaatcttcggtcgaagtatagttctaatgctatgcagattgtgacggcgaca +aatgttcagacttatatcatgaaacaagctcttgtaagtattgacaaatgaaaagattga +atatttttaaatacaaaatgcgcctacttattaggggaattaaccagattgaaggccaat +cctcacatgtaatgagataatagacgataaatgaaattcttgtaatagttgaactgctac +gtgatgggtattatatatgattgagatcctccaattgccgacgtcttgtcttgatgccca +aaagattgtcaacgaggagctccctcgcgtacctgtcgtccgtatcataaacgacgcgac +atgtacagcactccgaagtataagcaataataatgcgggtaatccagactagatcttttc +ggactcaatgcggtttcacggtaaacatgattaataccggagagtagtcgagcttatcag +cgatgcaagcgaattcattgtgccaggagatacgttgcagataaaaccggcaacgtatgt +caacaagttttggcgatctcgttgtttgtattcgacgaggcgcgggaacttcaagaacta +tcgtatattcaagtccattaccttttagtttcagactggtggagctgactaaagttatat +catcattttgtacactggtttagttaacgataatttcagatttaacatgaccagacgata +atcgctgtatatccagttggaatgtggtttgccagaaaggttaacttataatcaagcctc +tcttcagtcttgattcgtcgtatcccatccattgcgctatacctcagtgtatttggagct +gtagttataccgtgtgctaagatcagtagacatgacgagagcaatattatctaccttaca +agcatcaacggacgtctagtcggaacaaaagactctaaaactcgaacttcaggttaatat +actatagttctgtattcagcagttattcttatattcgatattatcttgcctattggatgt +ctgactttagtatattaatcatagtatctgccatgtaaaggtgccagtactaaatctgtt +tcacagtgcgaattataaacggttacaaccattaaagacaacaagaccctatagctttat +ttgaattttgtcaatgcgcaacttggagctcgcgatacatcccaattagtctatagggtc +gggacgattctacggcatttctggttataatgacaacatggattgtggcccgagaatcgc +tctttcattaattaagcaatcattacagtcttataagcgctacttccgagtggtagcagg +taactcgatataaggtcgcatgagccgaatagcttaaaaaacaggccaccgaacattgat +agagaataccgaccacagcgcaacctttgattactttcattaaattgtacggctcactcg +acatcaagcttaagattgcgataatgtgaactcaaatggatcagtactgaagaaccgtaa +cccacttcgcagaaagcgtacccagagaagatacgctgttacaatatacagggtgaaatt +attgcctgttcttcgtaaccatttcgccaaacttggttagaaatgatagccattcatgat +agaaataagctgaatgataccagtatctttaactatgtagtcagggggaagataacgatg +gtccatgtatgtttctgatatgtgacagtattggccgcgtaatttgctaacgaagctact +taatgcctttgagcttcatatagatttctttaatcaaaatcggcaaaaagatagtatgag +ctataatatatgctagtagagaactctggaccatcatctatatgaatactgattcgagcg +tgcaattactttagcctgcgtactactgactctacaaaacactctgagataagtttgtag +tcagtaagtcgctctctataaaccttttggatgaccattgtacagccacttatagatccc +aataaatagcacaggagacagagtttttcaatgctcgatcatttgccgatagtattttcg +tctaacctcagggcacctattatttgatacctaacctaacggccctttcacaatggagaa +atatatgacatcgggacaaacacaaatggtgggtggccaggagatatgacatggtggcgt +ctctaagaaacacggactccctctaggcaaactcacgtaaccaattttaatgtcaaacaa +aacgctcgaaaagattttgccgtgtaatgacctggtacattgactggtcaggaatacatc +actgtagttgccgtagtgtcctgttggtgttccatcaagacacatcgtataacgcaattt +acgacggacatcagatcaagttatacagattatttaagtatcacgtgtgcattgggacat +aagggatctcacacatgccttggaacatttttgctttgtgccgctttttcgctgcactac +caatccttacttaccagtatattcaaaggtcgttaacagaatgagaaaggttagggctct +aagttatcgtcgattgggatagacgagacatttgcgagcgccctccacggatacgaatct +cccatatcaatgtgaactggatgctatgcagtttagttcttacgtctcctagtggtaaaa +atcaaagtagcactcgcatagcagttattcagaacctaatacacaaaaccgtcaaacatt +ttctaattctaggtatgggccgatcataggagctaaggtgaaactcataaatgttttgtt +agatctagcatcctaaaaagatgcatatactgagtagctggcgtgcattctctcaattgt +atcctttttaactgaactagtcggtcccatttcgtgactgagatctattaaccgataaga +ttaataacactcgcattcgtatcagctcagagtgaagtttttcaataatttgactgatat +attaacttctaaaataaccctttaagcctcggatccgtttcccaatcacatcaaaaattc +ttattccaactatctacggattaacaacgtgcatggggatcgtagtaagaacttgttccg +atcactttgagtatatcaagttgacggcccggttattattgaatagaaacattcacctgc +taaattaaataccgcacatcggatacccgatttcagagggccgtcttactaagggcaggc +tttgttcggtttaactgagatgttcattattttacagtatgcttcaactaatatgtaacg +aaggacagtggatctgtctccatagtagatcttcagtcgtgaatttcataccgctcctat +ttaagttcgcgttcgagttgttgatcatggcacgtgaaagcaacccctagtattctagac +gaaaattttttctagttcatctgataatttgccaattcaaaaacaaccgctggtttcccg +gcgcattctctaaaatggaagtcgaacctagagccattatttgtcggtaacccatgagtt +ccttcttttcagaagttaatacactgtggtcctatacagaggaaaaacagcggttatata +cgatcgtggcataacaacattggatcaagatagcaatttggctacctattctaattctca +ctagattcggtattccactacaatatcggcagattaggattggatgaataatcggtgttt +aagtccggttgcgtctccaatctcctaatttttattaatattgatcttggtgacctattg +taaataaaaacttcaagactttgaataacggtgaaaagatagaagactcatttgaaaatg +gatcatccacagatccaaacattagcaagacactaatccccaactagctattctgatcgc +gatcgtgctgcagtactcctgtcacaatagtctgttcatgatctaattctttttgggctt +tgttcgatggtgattcagaatctttatccggtcgcttccctgtagctactttgtggggat +attgcccggggattatagggttgagatcgtttcctaaaagtatttaaaccaagtagactt +caactaaactacatcagaacatcgtgaagacaccatacgcggtacctttatttaccgata +acatttcttcaagaaataccggtaagcagcataatgaccctaaacagctcggggtatcgt +cgtagttttaaattttatttaggttactgctcaaggaataaaaactaactatttaattta +taataatattacaaggctcacactgattagatttgtctataagacttcgcgatcccccat +taccggattgtcttaagaataaactagataaaccatgcattttctagataaggcctttag +tctaattagatacaaaaaacacgatagttgcatccttaatttattgtgtcaaacctggaa +ccttttaattacccgcaaatcactttatgtcgagactacctctgaaatttattatctacc +taccgcatgaggacttgaaccatcttgtaggagttatgtttattagctaagattcgttta +tcctgtagcggtccatgtatattcaacaagcaaaaagcactcagaattgtttttagttga +gtcaagactgatatataaataagtttccctagttttttcgtggtgggacgatattgaatt +gaatcttaaccgaagagtttcccactctgtcgcacaataatacacgccaatatttccagc +cctgcttatgccttaatcggttactcaatctcccattgaagttcattttgatctgcatag +aagtttcgggcccagccttttttctgccaccttcctccaagctctgtagacgcactctaa +gattgatgctcacatgtattaattctacattaacataaatatataagtcatgcatcttcg +agtaaaatatctggttctccaacatgtcctggcacgtatcgttataatgcccatacatgt +agtattaaaatgattgggttaactggatattaagatcatcgaaattgtaaagtcaaatta +acaatactgtctcaagaccgtgtattcctcgtgctcggaagggctattacgcttacttcc +gttttggtatcttaatatgactttcaaaaattaagttgcagtgagtcctacctgcgtgca +tcggttagcaagagtataaaagttgtttaaacgaactacttgctttacaataccggtcgt +atatatcgccgtgaatccagaagattgtcttctttggattatcaaccgagatcctgtgga +ccgatgttttgggaccttcacagaggactccaggtagagctcgcttttgcattaatctaa +gaattgtacctctctaaaagatctaaaacagtgaatgtgtatttcatggaaaaacacaga +gaaacgtaaattactttaggccgaaaggcacatgagttattatacatatacgagatggtg +gtatacatcgaattcggggcatacactatagttgcattgtatttagctgctttaaataat +atgatattaccttccttacataagacattaccggcataccctggttttcaacttgtgggg +ctttttgacgatcgcactctcatttgatccgagtagggcggtgacccctgcttttcaaat +acaaaaatttcgctatgaaggtaatagattacttttcgctgttatgatagaaacggtaaa +tttaaaattgaaacttctagaaaagtaaagtaacgagaaatgattttgtgaataatgcgg +tcatgattgcgcaagtaagaaaaaaaggcaaaaggatgcgcggaatagaaacttatcagt +cacgggtatcttgatttcattcttcttgtcaattgccgacataggatgaaatcagattcc +aatgcaatacacagtaacccccacccttgattgtaatgtcgatttgaagttgtacgcgtc +gacgaagtggatagtatacgggccttttgtacggtgcgatcaactatgaatctcggcgag +ttagatggtcgtacaatctcacacatagaggtcacttgcctgtaatgacgaattttcggc +taggtactcgaactttattagaagtaaaaatgtgggcaaaagaaggattccattttacaa +gacgattacaatgagttacatgtctctcaacgtagtctttccctagtagtctttgaacta +tttaggtactccagaaaattttagcaaagggtttctgtgtgaatccgccattcatgttta +tgatggaacaataagaataacgccctcgtatgttatcgacagtgaagtcagcagttcggc +caaaaacatattcaatttagtacagatccccagaagttaagctaagtgctctaaaatggc +ctaaacggttatcaaagtaggtctaattactatactaacgggtgcatcgtaataactgct +gtcgatgcaacactatatgatagtgtcgttttgctatatatgtacaatgtgacaaagaag +ccttagcgattcttgcaaacttaggacttcggattctcaatcttaaatgtccgaaaacgc +aaagattcaaaaatttaatctatgagcagatatgcctgatggtgactacgcgtatgttaa +ggctaaatgttgacaaccgcacacataatcgaactattgatagtcgggagcataaccagg +tgaacgtactttgttcacgacatttattgacatgttctaaatacgtctcaaaatcacggc +gcactagaaaacgcaatcaaatcattgtcctggtttaagggccgtaatgccggtagtgtc +aaacttcatgagaactttagctggcttttggccagtatttagggaccaagagcactagcc +ttaagctgaatattttgccatttatctactgttataactttaaaacttggtggcaccaga +cttgtcgatacacacgcatcaatctgtaacgtaaaaggtttactaagaacaagcgtagga +attgagtttatattatatttaaactaaaagatgatattagcttctgagggcgatagggct +ccaaatcataaagaggaatatattattacacgattagaaacccacaacatacctcgaatc +gcccaaaagtttgacgaaacttggcagtactccacatctcagtaatacagttgggagagt +ctcaaatgttgttttattactcaatgaaccaccctcataatttcactgctgttccattaa +atttgcaaacgatcatttgctttgaagaaacgtaaaatcgacaaaattacagataagtag +atgcataataaaaaaaactgctcgctataacacgatcatcgtgcattcttacttaggagc +atcacccgcacaataacgtaccttaaactacaacactattagaccgagtactgtaattca +cgaaagctcaagctcgcattgtaaagaacttgctctctcgtaaaatgtgataatagtttg +cggagaggattcaattattttccattgcacctactccactagattcgataaaagaaggtg +gtcctcccttaaaaagaaatgttaagtaacatcggaaccataagcaaagcatgtaagtga +accgtcatccttccctaagaaacataaaggtttttaataatgtcgactgtgaactataac +tgcatcctttcctgacctactccggttccttgttgttatttctgaacgagaccagtagat +aaacaatgtaaaccacagtgggtaccaatggtgcatgtgacgctaccgttgttttaagtg +cccgtacaaacataagaagtcataatcttacttgaaattaattttgccttttattttttt +tcaggctcgaaattaatgatttgttttttttgaccttctagttacgctaatatgcggtcg +cctgtggtttctattgagtcctataacgggatgggatctaatacgtttggttactagtaa +acaaggtataaatttgataccggagtatcaactgtataacatcaagctttatgactcata +cgcgaagtaatgacacaaggctttcaggagatcgcgagtacagagccactaaggggtgta +ttacgatagtgacaccaccgagcgcactcactccccaagtagatttatgatcctacgcta +agtattagatatataaccaaagaggttctagtcagtgcaactcttagaataataattagc +cggttttgcctttttaggcctaatgcaatattcagctagcccttatgtatctcgcgttcc +acagcaccactcatggcacgcgtttaaactaatcaaatataatctatgaatgttatgcca +gtacttgaataaatcaggttttttataagtccttgcatactctcgttatatactgttaga +gtcttaccccatagaaattctttcatctgcaaacttagaagaattctcagctacggggag +cataaagtccccaggatgttgacaaatacaacaaatgtggcttatacaaacactccatat +gaaaatcgaaccctcgtggtagttttagccgaaccttgtacggataaatccctccatttt +ccaatagcagatacctatcctactacctcgtggtattaaattaaagcttgaaatatagag +ctgcatagcttatccaattcccaagcacgagtctaccgtcgtaaccacgatttgatttac +agacgctagagcaaacccatctttaaacatataagtaaaaattaaagggtgagtgcgtac +gtgtttactagcaacttcgcttattaagacaattgtttataagccataattaaaaacata +tgttcaacaggttcattgatatttgtaattgcacaggtttttaataaggatctacgtaag +tataatgaacaaactttttaccagagttatattctgtactttgaaaatgctcctctaccg +ccttagagactttcaattagattttttgcagttaatctatgcgtaagtgaaccatgcaag +ggatgcgattcaaccgcctcgtgctaaccctatcgtctgtctcataactgtaggtctaat +ataattttcagttttcgaacacataaccctttgaaaatctgctatttaatgtctcacctg +catgcactatcttctatactgctcagaacggctatacgtcactatgctccaagtgacgat +ttaaacgaagcaaggaataataggtttattttagtgcaaaacaattaagtgcggactacg +tgctctttacaataagccttgtgattgggctataggttaagtcccatattaacgatctcc +aatgtacaaaatcgacaatcgctttgcattacccggttactagtcgaattacagatagct +gttagatactcactctaattttggacaacaatcccaatcttggggtcgtctatcgcctga +agctcgtaaatccttccatcttaaacgattacatattatagacttgttcggggtagagat +atcacagttgtgcaaacattgtaaatcgatactagtttatgttggtagtctagttgcttt +taccattccccgaaaaacttgatctactatttcgacaacagtaaacttgaactaggtaag +tgaaaacagagaatgcctcatagtgccactatttgtccactatatgtaagtgtagcttta +cataatccactatgactgagatcattacggcctaggaaagcagcgtagaaaaaaagggcc +cggatattacgactgtaactataaaactagttactggtagcgcgccatgtatagatttgt +tttaccggttgtggttgcgttaacgaatttcagccgcgaaaattgatccgttaaccagtc +catctcgacttctataaaacgataaagtaaagttgatgttcagcctccttcttatggttg +catcgagagtacactactcagtgggaaatagatcggggttcctacttcagattgtattat +ctaggcaattgccgattgtgccatacctggataaaataagctacctacatgtgatgctta +tctattatcgtcatactaccttagggtgtcctgttgaacgctacattaatctttagccgt +ttgagatgttccaatggataggagtctaacgcatgatgaagtttaggaaggcagagcatc +ccactaagtatgtgacagtgtatttcgaaacgagacgttataaatagaaaaaaggtcctt +ctggttctattctgctgaactattgaatggaaagattggttgacctacgtactatttgct +tgaagtcatcaatttgacggggtgagagacatatggtgcatactttacggactctatatt +ttagatcagaagcttagcagtcttctctacaccccctcacgacataattgcttttaagaa +tctatgtttgattcctctacgggaattcggatccgttcgcatgtgcggtttatctaaacc +aggggacatatgttcagctaaagcatacgaacactttgctaactagacgtatgtatagta +gctataaatcccgacgatatttacaaaaagaaatgagactcaaatatatacatagcgacc +ctacacttattcgcaccctgatctaggcgatcctagcacccacacccgaaagtgagcact +agtgtcttccgtattaaatttactgcagttgagattttagttgtctactaaggattactc +taacccgtaataaggatcaagactcggtactagctttactatcattccctatgtgttttc +ctaactcacaagggtacgtaccagcctatgtaattacaataatgataaagacacaaagga +agtaactttacaaatgagtctccagttacactagcttagtccctcccatcttgctttgaa +gtctaaatacgcaatctctgaggatatacagcagaagaacactcataacgttggagtcca +agaattagactcatagggcccccaacatttaatatgtactgtgagtttgaaggtgttcta +ttgttaattcctgctcttgatacatgacacgtactccgtgtttaaggcttcggactgact +ttctttcataagttgagcaacgaaaatttcagaatcgataagttggattcactaactaat +acggctgattgaaaactccactccggacctatatggtcgacctttatacgtaaccgatat +aaaacttataggctggtatatcgagccttcctagcgcaatttcggatggggtttcttcta +ctactcaacaacggaatagtctttgtttagtaaaccagagctcaggacgcccaatacgta +ggagagcgctgtggagcatgtgtcattatggactggagcactcttaaatcactctgcgtg +tgctaaacgatagatcataacatgtcctgagtaaattttcttgatacgtcgcaatatacc +gttattagttaaacgttctcatccgtcatgcgtgaaatacggctgtcgtgctcagatata +ctattagcgactcatctcgcctaacacgcacacgtataaactcggaatgactgccgctct +tacatattagaaatacagactacaccacggaagcattgggtcattctcaaccgctgtata +aaagatgattagtcttataataagattaccaaagaggcagaatcatgggtagtaaatcta +ttattcaagtgattaccgtcgtgtaggcagggagtgaggacgagatggtactcaggacaa +atattaaccggacgaagtggtttacgtcgtactttcactattagtagtaaatacaaggta +acaccggggaatagtactaaatataatgatatctatcttcgggagaacgagtcgtctatt +gctttgaacattctcaaggcgtaaaatgtgctgacttatagcatgatacaaccgattgtt +acttttgtctattcaaaagattgaatagttttttatacaaaagccgcatacttatgacgg +ctagtatacagtttcatcccctagcatcaatgctatggacagtattgaacttataggaaa +ttcttctaatagggcaaatccgtcgtgatgcctattttttttcagtcacatcctcaaatg +gcactagtattgtcgggatcccattaacaggctcaaccacgagctcacgcgaggacatgt +agtccgtatctttaacgaagcgacagcgacagaactcccatggataaccaattataaggc +ccgtaatcctctagacatcgtttaccaataaatccgctttctccgtaatcatgttgaata +ccccagagtagtccagatgataaccgatgaaacacaagtctttctcaatgcacttacggt +gaacttattaccgccaacgtagctcatcaaggttgcgacatctagttgtgtgtttgcgac +gagcccagcgaacttcatcaactttcgtatattcaacgccttgtaattttactttaagac +gcctggtgatgtagattcttagataatcagtttgttatcggctgtactttaccataattt +cacaggtttcaggtcaagaagattatagctgtatatacagttccatgctcggtgcacaga +aacgtgatcggataataatcaatcgcttatgtcgtctttaggcgtatccaatacatgccc +cgataccgcagtgtatttcgacatgtaggtataccgtcgcatttgagctcgagtcaggac +gtcagctagattagattccttaatagaatataccgacctctagtccgaactaaactatag +ataacgccaacttcaggttaattgtctagtcgtctgtttgcagatgggattcttagatga +gtgagtatcggccatattggttcgagcactttagtttttgatgcataggatatgcaatgt +atagctgaaagtactttatctgtttcaaactcacattgattaaaccggtaaacctttaaa +gactacaagaaaatattcagtgagggcaattttgtcaatcacaatcttccagctagagat +acttcacaatttgtcttgaggctacgcaacattagacggattttcgcgttttattgaaat +aatcgaggggcccaagagtatccatagttcattttgtaagatttctttacaggcttatta +cagcttcttcagactcctacatgcttacgagttatatgctagcatgtgaacaatagatta +atatacaggaaaacgtacattgagagagatgaccctacacagcgcaaccgttgagtactt +tcattaaagggtaacgctctcgagacagcatccttaagatggccttattgtcaaatcatt +tgcagaagtacgcaagatccctaaccaacgtagaagaatccctacaaacacatgagacgc +ggtgaaaatagacagggtgttagtattcaatcttcggagtatcaatttcgccaatcttgg +tgagaaagcataccctttcttcagagaaagaagatcaatcataacactatctttaacgag +gtacgcacgcgcatcattacctgcctccatggatctttaggatagcggaaagtattggca +gcgtattgtgatttcgttcctactttatcaatttcacattcatatacatgtcttttatca +aaatcgccaataagataggatgagctatattagatgctagtagagttcgcgccaacatca +tcgataggaatactcaggacagcgtgataggacttttcaatccctaatactctctataat +tataactctctcttaagtttggaggcagtaacgcgctctatataatcagtttgctgcacc +attcttcagcctctgatacatacaaataaattccacagcagtaagagggtttaattgaga +catcttgggaacttaggattttactctaacatcaccgaaacgattattggataccgtacc +taaacgaactttctcaaggcagtaatataggacatccgcaataacacaaatgctgcctcc +ccaggagttatgtcttcctggaggctatatcttacacccactcactataggcaaactaaa +gtttaaatgttgattgtctaaaaaaaagatagataagagttggccggcgtagcacatgcg +aaagtgaatcgtaagctataattctctggacttgaagttctgtcctgttcctctgcaaga +aacaaacttcctttaaagctatttacgacgcacatctcagcaagttataaacatgttgga +agtttctagtcggaattcccaaagaacggatctatctaatgcattcctacatttttcctg +tctgccgatggtgccatcctattcaaagaatttcttaaaagtagattaaatgggactttt +aacaatgagtaaccttacgcctctaagggttcctcgagtgccatacaccagtcaggtccg +agccacatacacggagaacattctaacatagcattctcaactcgatcatttgcaggttac +ttctttcctatcctagtgctaaaaatcatacttgcaatcccatagcacggattaagaacc +taagaaacaattcagtaaaacatgttcgaattcttggtatgggaacatcattgcagctat +ggtctaacgcattaatgtttgggtacatcttccatcatataaacaggaagagtctgacga +cagggagtgcttgcgatcatgtctatcattgtgaaatcaaattgtagctcacatgtcgtc +tatgagagcgtgtatccgataagatttagaaaaatagaagtcgtataagatctcactgaa +cttttgaatgaatgtgaagcatatatgatctgctttaataaaactttatccataggatac +gtttccaaatcaattcaataattattagtcaaaatagataaggatgaacaacctgaaggc +cgatcggacgtagaaagtggtcccatcactttgagttgatattgttgaaccacacgttat +tatggttttcaaacagtctcaggatattgtatatacagataatccgataccagttgtctg +acgcccctcttacgtaccccaccctttgtgacgtttaaagcagttgttcagtattttaaa +ctaggcggcaactaatttggaaagaagcacagtggatatgtctaaattcttgttattcag +gcctgaatttaatacaccgcatagttaacttcgcggtagagttgttcatcatgcctcctc +taagctaccacttctatgatacaccaatagttgttctacggaatctgataattggccaag +tcataaacttccgctgcgttcaacccccttgctcgaatatccaactcgaaaagacagcct +tttggtgtccggaacaaatcagttacttcttttctgatgttaattctctgtggtcagata +cagaccaaaaactccgcggatttaccatcctccaagaacaaatttgcatcaacatagcat +tttggctacatattctaagtctcaatagtttaggttttcaactacattatcccaacatta +ggattggaggaataatagctgggtaagtccccttgcgtctacaatcgactattttttatg +aatatgcttctgccgcacctatggttattaaaaaagtcatgactttgaagaaccctgaaa +agatagatgaatcaggtgtaatggcagcagccaaagagcatataattagcaacactctaa +gaacattatagatatgatgatagcgatcgtcatgatgttatccggtcacaatagtagctt +catcagctaattcgttttgccagtggtgacttgcgctggaagaatcgttatacggtccct +tccctcttgatacggtgggggcttattcaaccgcgtggattgggttgtcatacttgcatt +aaacgatgtaaaccatctagtagtcaactatactaaatcacaaaatagtgatcaatacat +acccgcttcatggttttaaccatttaattgattaaagatattccgctaagaaccattatc +tacctaaactgatcgccgtatcctagtagtttgaaatttgatgtaccgtaatgatcaacg +aagtaaaacgttatattgtatgtagaataataggtcttggagctaaatgatgtgattggt +agtgaagacttacccttacaactttaccggtttctcggaagaatatactagagaatcaat +gcatgggctacataagcactttagtctaatgagataaaaaatacacgagtcttccatcat +gaattttttgtcgaaaaactcgaacctggtaatttaaaccatatatctttatgtcgtcaa +taactctcatatgttttatataacttcccaatcacgacttgtaactgcttgttcgactga +gctgtttgagctatgaggccgggatccggttgagctacatctatttgctacaagaaaaat +gaaagcacatttgttgggagttctggctacactcatagagaaataagtggcccgagtggg +tgcggcctgcctccatattcaagtgtatcttaaaccaagtggttccaacgctcgcgctaa +agaattaaagcctttatttcctccacggagtagcccgtaatccggttcgaaagagaccat +tgaagttaattttcatatccagtgaagtttaggcacaagcatgtgttctgccacatgcct +caaagcgctcttcaaccaagatatgattcatcctaacttcgatgaatgcgtctgtaacat +aaatatagaaggaatgattcggcgagttaattttcgccttctccaacatggcatccctac +gttcgttataaggaccatacatgtaggttttaaaggtttgcggttaatcgatatttacat +catagaaattctatagtcaaatttacaagactctagatactcactcgttgcagccggcta +ggaagcgctttgtaccttacttcccttttcgttgcgtaatatgaatttcatatagtaagt +tcaaggcactcatacctccgtgaagagggtagatagactattaaagttgtttaatagtac +gtattgatggaaatgacccgtaggagatttaccactcaatccacaagattcgctgctgtg +cattatcaaaacagtgcatgtcgaaacatgggttgggtccttcaaacacgaatccaggta +gagatacctttgcaatttttcgatgaaggcgaccgagataaatgagctataacactgtat +gtcttttgattgctataaaacacagaaacggatattaatttaggccgtaaccaacatctg +ttatttgacatagaacagatggtcctttacagcgtattccggccttaatattgaggtcca +gtgtattgtcctcctttaaagaagttgattgtaactgacttaaataagacatgtcaccca +ttcactgggttgcaactgctggccctttttgtccatcgcacgctaatgtgataacagtac +cgccctcacacctgcgtttaaaagacataaatgtcgctatgaaggttattcattaatttt +agctgttttcttagaaaaggtaaatttaaaattgaaaaggctagaaaactaaagttacga +caaatgtgtttgtcaagtaggcgggcatcattgagattgtaagaaataaagccataacca +gccccggaatagaaaatgttaaggaaaggcgatcttctttgaattcttattgtcaagtgc +agtcatacgttcttatcagaggacattgcaataaaatctaacaccctcccttgtgtggtt +gggccatttgtacttcgaagcgtccaccatgtgcagaggataacggaatgtggttccgtc +ccataaacgatcattctcgcccacttagtggcgcggtaaatcgctctcatagaggtaact +ggcctgtaatgtccaatgttaggctaccttctccaactttagtacaacgaataatgtccg +attaacaaggagtcaatttgtcatgaccagttcattcaggtacttgtatctatacggacg +cgttccagagtagtatttgaaattttgaggttctactgataagtttagctatcgctgtat +gtctgaataagaatttaatgtttatcttcgataaataacaattaacaactcctaggtgat +acactgtgaagtctgctgttccccaaattacatatgctattttgttcacataccatgaag +ttaagctaagtgctctataatggcataaacggttatcaaactagctcgaatttcttttat +tacgccggaagcggattaactgctgtagatcaaacacgttaggatagtgtcgttttcata +tatatctaaattcggtctaacatgcattacccatgcttgataacgtagcacttcgcagtc +taattatgtaatgtccgtttaaccaaactttaaaaaagtttatctatcaccagtgatgcc +tcatcgtgactacccggatctttagcctttagggtctaaacagaactaatattactacgt +gtcatactccggagcttaaccaggtgaaacttatttgttaaccaaatttagtgacagggt +agaaatacgtatcaaattaacccagcaatacaataagcatgaaaataattgtaatcgggt +ttgggccggaatcccgcttggcgaaaacttaatgacatagtgtgatgcattttgcactgg +attgagccacaaactcaactagcattatgctcaatatttggccagtgttctacggtttga +aatttataaaggccgcgcaaaagtcttgtagttacaaacgcataaatctcgaacgtaata +ggtttaattagaacatccgtaggatttctgtttatagtagatttatactaaatgttctga +ttagattctgacggccttacccatacaattaataaagacgaatatattagttatagttta +ctatccaaataaattaagcgaatcgaaataaactgtcacgatactgggcagttatcaact +tatcacttatacagttcggacactctatattggtctgtgagtactctatcaaactaactc +ataagttaactgcgcttccattaaatttcaatacgttcttgtgctgtgtacaaacctata +atcgaataaatgacacatatggagatgcataataaaaaaaacggctccatatttctcgtt +aatcgggcattcttaaggaggagcatctcaccaaaaataacgttcctgataagtcttaac +tattagaccgtcttcgggaatgaacgaaacctcaagctagcatggtatagttcttgatag +cgcgtaaattctgataatactgggcggacagctggaaattagttgccagtgcacctacgc +aaatagtttacataaatcaacgggctccgaacgtaaatacaaagggttagttacatcgca +acaagatgaaaagcatgtatgtctaccgtcatccgtccctaacaaacataaaggtggtga +agaatctcgtaggtcaactataactccatccttgaagcaactactccgcgtccgtgtgcg +tagttcgcaacgagaacactactgaaaaaagctaaacaactctcggtacaaatgcggctt +gtgtcgataaagttggtggtagtgcacggaataacataacaaggaatattatttattcaa +attttttgtgactgttatttgttttctgcctagaatgtaaggatgtgttttttgtgacct +gatagttacgcttatttcaggtccacggtgcgtgagagtgtgtcctataacggcagggga +gcgaagtagtgtcctttagactattcaaggtagaattttgataacgctctataaaaggta +gaaaatcatgattgagcaataagaccccaacttatcaaaaaaggagttctcgacagcgcg +tgtacagtccctataacggctgtatttcctgtgtcacaacaccctcccatcgcactcaaa +atgtagatttatgatcagacgctaacttgttcttagagaaaaatacacgggatactctgt +gcaacgatttcattaataaggtgcagcttgggacttttttggccgtaggctttattaaca +ttcacagtaggtagcgagacttcctatgaaccaatcatgccacgcgttttaacgtttcaa +atataagctaggaagcgtttgccaggacttctataatgcaccgttttttttagtacttcc +ttactagccttagtttatgttagagtctttccaattacaaaggattgaatagccaaaatt +tctacaattctcagcgaacgccagcttaatctaaacacgagcttcaaatattctacatat +cggcaggagtcaatatataaatatgaaaatcgtaccatcctcgtacttttagaccaaacg +tcttcggataattaaatcctttttcaattaccacagtacgtgcattagaactactgctat +gaaagtaaaccttgaaatatagtcctcaagagcgtatccaagtacattgcacgtgtatac +agtcgtataaacgagttgatgttctgacgctagagcttaccattcgttaaacagataact +aaaatttaatggctgagtgacttagtgttttcgacaaacgtcgcggatgtagactattgt +ttataagcaatttttaaaaacatatgttcaaaacggtatgggatatgtcgaattccacag +gggtttatgtaccatagaagtatgtataaggtactaaaggtttaaatctgtgatattcgg +ttcggtgaaaatcagactagtcacacttagtgtctgtaaattagattgggtgaaggtaag +cgatcccgaactctacaaggcatgggatgagattctaccgactccggataacactttacg +atcgcgcataactctagctcttagataagtttaacttgtcgatctcataaacagttcaaa +atctgcgatttattgtatcaaatccatcctctatcttctataatcatctgaaccgcgata +cggcactatgagccaagtgaagattgaatccaagaaagctataattggtttattttagtc +catttaaattaagtccggtataagtgctctgtacaatatgcagtctcatgggcatatacg +ttaactaccttttgatacttcgaattggtaaaatatcgactatcgatttgcagtaaaagg +tgtagagtccaattactctttcctgttacatacgatctcttagtttggacaactagccca +tgatggcgctcctctagcgcatgaacctactttataattacatctttatcgatgaatttt +tttagactgcggaggccttgagttttaacagggctgctaaatttcttaagcgattagacg +gtagcgtcgtacgctacttgcttggaacaggcaccgaaaatattgatctactattgcgtc +aactctattctgctaatagcgatggcaaatcacagaagccctcttagtgacaatagttgt +caactatatctaagtcgacctttactgtatcaacgatcacggagagaattaccgaatacg +aaacctcaggactaaaaaacggaaaggatttgtcgacggtaaatataatacttgttaagg +gtagcgacacaggtatactttgggtgtaaacgtggtgcttcccggaacgattttcagacc +agaaaattgttccggtaaccaggaaatctcgtctgcgttaattcgtgttagtaaacttga +tcttcagactccttcttttcgttgcagcgagacttaaattatatctgcgaaatagtgccc +cgtgcatacttcagatggtaggagataccatttggcccattgtgactttacgcgattaat +taaccgacatacatctgttcctgagctatgatcgtctgaataaattacggtctcctcttg +atacctaatggtttctggagacgtttctcatgttcaaatggatagcaggagatcgcttca +tcaagtttagctacgcagagcatcaaaatatgtatgggaaagtcgatttccaaaccagaa +gggataaagagaaataacggacttctccgtagattagcctgatattttgatgggaatcat +ggcggcacatacgtaagagttgcgtgaacgaatattttggacggcgggagacacatatcg +gccattcgttaaggtctctatattggacatcacaagcttagcagtatgagctactaacac +tcaagacattattgattttttcaagatatgtttcattcctctaccgctattcccatacgt +tcgattcgccgggtgagcgaaaccacgggactgaggttaagctaatcaataacaactcgt +tgcgatagagacctatgtatactagagagaattccccaacatttttacaaaaacaaagca +gactaaaatagatacagtccctccatacaattaggaccaacatgttattgccgatcctag +cacacacaccacaaactcagaacttctgtcttacctatgaaagggtctgcacttctgatt +gtacgtgtctaattagcattaatattaaaactaattaggataaactataggtacgagctt +tactataagtcactaggtgttttccgatcgaaaaacgggaccttcaagccttggtaagta +catttaggataaagaaaaaaaggaaggtacgtgactaatctgtctaaactgacaatagag +tagtacctacatgcttcatgtcaagtcttaatacgcaagcgctctcgttatactgctcaa +caaaactcataaagttggactccatcatttagaatcatagggaccaaaacatttatttgc +tactgtcactttgtaggtgttctattctgaattcctcatattgatacatgaatcggaata +cctgtggatcccttaggacgcacgtgctttctttacgtcagaatacatattgtcagaatc +gagaagttccatgcaattaagaattcgcctctttgaaaactcatatccccacatataggg +tccaccgttattcggaaacgatataataattattccagcgttgagcgtcccttaagagcg +cattttcgcttggcctttcttctacgactctacaacgcaagtggctgtgtggagtttacc +acagcgcagcaccccatagaactacctctgagagcgcgagatggtggcagtatgctctgc +agctagcgtttagaacgcgcccgcgcattaaccagtcatattaaaatggactgtcttaat +tgtcggcattaggagcaatattaactgatgagggtatcggtcgcagaagtaatgacggaa +atacgcctctagtccgcagagatacgattacagactcagatcccctaacaagcaaaacga +ttaaatcggaatcactccccctatgacatatttgaaatacacaagaaaccacgcaacatg +tcccgcattctcaaccgcgctttataagatgttgagtctgagaattagatgacctaactg +caagaatcatggcgagtttatctagtaggcaagtctgtaccctagggttcgaacgctgtg +acgtcgtgatcggtctaaggacttagatgataaccaagaactggtttaccgagtactttc +actattaggagtaattacatgcgttcaccgcggaatacgacgaaattttttcatatcttt +atgagcgagatcgtgtcgtctttgcattgcaacagtcgctaccagtaattgctgatcaat +tatagattcattatacagatgcttacttttctctattcaatactgtcatgagttgttttt +aaataagcaccagaattatgtcgcctagtataatcttgcttccacttgaatcaatgcgat +ggacagtattctactgattgcaaagtagtctatttcggcttagcagtacgcatgcctatt +tttttgcaggcacagaataatatgcaactaggattctcggcatccaattaacaggctaaa +acaccaccgaaagacaggtaatctacgaagttgatgtttactacagaaagcgaatgatat +cacttggagaacattttagatgcccccttttaatctagactgagtgtaccaatatatcac +cggtctaccgaatcagcttgaataaaccactctagtactcatgataaccgagcatacaca +tgtatttctcaatgcactgaaggtgaactgtttacaccataccttgcgaatcaacgtggc +gacttatacttctgtctttgagtacagcacaccctaatgaatctaagttagttgttgata +cgaattgtaatttgactggatctcgcctcctcatctagattcttagagaagatgtttctt +atagccggtactgtaactttattgatctggtttatggtaatcaacattttacctctattt +aaacgtccttgcgccgtgcactcaatcctgatcggtttagattcaagcgattatcgagtc +tggaggccgagaaaagaaatgcacagagtaagctctctattgcgacatctacgtagaaac +tcgcatttcagatcgagtaagcaactctcattgtgttgattcagtaatacaagattacct +acgcttctacgaaatatactatagatttagcctacgtcacctttagtgtcgagtcggagc +tttgaagatcggatgcggtgtggactgtgtataggcaattttgctgcgagctcgtgactt +ttggttgatgtcgatatcaatgggatacctcaaacgtctttatctctggataactcacat +tgagtataccggtaaaaatttattctattcatctaaatagtcagtgagggctagggtcgc +aatcacattaggccacatacacatacttaacatgttctattgacccgacccaactttagt +agcattgtagccgtttatgcaaatatgccaggcgccaaacactagccagagggcattttg +ttacatttatttaatcgattattacacagtcggaacacgcctacatgcgttcgacttatt +tgcgacatggtcaacaattcagtaatttaatccaaaacctaaagtcagagacatgacact +aaaatcacattaaggtcagttagtgaaggaatggctaaccagctagagaatgcatcatta +acaggcacttattgtcaaatattttccagatctaagcaacatcacgttaaaaagtacaac +aatcacttaaaacacatcagtccaggtgtaattagaaagccgcttagtaggcaagcgtag +gagtataaatgtagacaatagtcgggacttagcagacactggatgcagtcatagaagatc +ttgcataacacgttagggttagagctacgaacgcccatcattaactgcctaaagcgtgcg +tgagcttagcgctaacttttccaacacgtttgtgatttcgttcataatgtatcaatttca +cagtcatatacagggagtgtagaaaaatcgcaattaacatacgttgacctatttttgttc +agagttcagttagagcctaatgattcgagagcaataatcaggacagcctcataggaagtg +tcaatcacttagaagctatattattataaatcgctctttactgtcgtcgaaggaacgagc +gagagagaatcagttgcctgcaactggcttaacaatatgatacataaaaatattttcatc +accactaagacggtggaattcagacttattggcaacttaggatgggactattaaataacc +cataagatgttgggataaagttacgaaacgaaagggatatagcctgttagataggaaatc +cccaataaaacatagccggcctccacagcagtgatctattccgccacgcgatatctttat +accacgcaatataccaataataaaggttaaatgtggttgcgatttaaaaaagatacatat +cagttgcaccgcgtagcaaatccgtatgtgaagcgtaacctagaattatagcgtctgcaa +gttctctaagcttcctctgcaagatacaatatgactttttagcttttttactaccaaatc +tcagaatcttagaaacaggttggtacgtgctactcggaattcccaaagtaccctgctata +tatgccattccttcattggtccgggctcaccatggggccatcatagtaatagaaggtagt +aaaactagttgatttccgacttttaacaatcactatcctgacccagatatgggttccgac +tggcccttactccagtaagggcagacacacagacaacgagaacttgataactttgaattc +tcaaatcgatcattgcaacgtgacttatttactagcctactcctataattcatacgtcaa +atacatttcaacggaggaagataataagtaaatattcactaaataatggtcgaaggagtc +ctttgccaacataagtccacatatgcgctatagattttttcttggggttcatattcaata +agataaacagcaagagtatcacgtcagcgagtcattgagatcttggctagcattgtgata +gcatattctacctaaatggtagtctagcacagagtggataagatatcagttagatataga +caagtactataacagatctcgcttcgttggattgtatggctagctttgatgatatgattt +tataaaaattgatccagacctgacctggccaattatattcattttttatgagtaaaaata +gataaccatgaaaatactcaagccccttaggacgtacaaagtggtaacataaatttcagg +tgttattctgcaaccacacctgttttgggttttcaaaaaggctaagcagattggttttac +agataatccctgaacactggtatctcccaacgatgtcgttcccaacccttgctgaccttt +taagctctgctgaagttttgtaaactaggcggaaaatatgttcgatagatccactcgcct +gaggtagaaattcgtcttagtaacgcctctttggattacacagaatagtgtactgacacg +tacactgctgcagcagccatacgctaacattaaaattcgttgagtctacatttgttgtta +ttcggattatgttattgggaatagtatttttattcccctgcgtgaaaccacatggataga +ttagcctactcctaaagactcccttttggtctacggttcaattctcttactgagtttatg +ttcgtaattatatcggcgcagtgaatctcctaattatcaccggagttaccagacgccatg +aacttatggccagaaacattgcatgtggcctacataggattagtatcaagagtttacgtt +tgcaacgacatttgaccaacttgaccattcctgcttgtagaccgcgggaactcccctgca +cgcgactatagaagttggtggtggatgtggcttatgccgcaaatatggttttgaaaaaag +taatctattgcttgatacctgaattgagacatgtataagggctattgccagatgaaaaac +tgcatataaggtcaaacaatataagaacattatacataggatcttagcgttcctcaggat +ggtatacgctataaagtctagcttcagcagctaaggagttttgccagtgcggacttccgc +tggaagattaggtttaaccgccctgacatcttcataaggtcgggcctgattcaaacccct +ggagtgccgtctcatacttgaattaatcgatggaaaacttcttctagtctaatattatta +ttaacaaatgacggttcaataaataacaccgtaagggtgggaaactgttaagtgatgaat +cattttaacctatcatccattagctacagataatgataccccgatccgactagggggtaa +gtggttgttccgttaggataaaccatgtaaaacgttagagggtttgtagattaattggta +ttccagataaatgaggtcagggcgagtgatcaattacactgaaaaattgtcagcttgcgc +ggtagttgttaagacagtataaatgaaggggattcagaagcaagtttctcgattgactga +atttataaaccagtcgtcaatcatgatttttgtgtcgattaaagcctaaatggtaattta +aaccattgatatttatcgagtctataaatatctttggttgtatattacttcacaatcacc +aattctaaatgattcttccactgtgcgggtggagatatcaggacgggttaaggttgacct +acatcgttttgatacaacaaaaatcaaagcacatggctggggacttctcgatactatctt +tgagatagtacgggcaagagtgggtgacgcctccctacattttcaagtctatcggataac +ttctcggtaaaacgctcgcgatatagttttaaagcattgatttaatccacgcaggagcaa +gttttaccggtcgaatgagaaaattcaacgtaagtgtcatatccagtcatggttagccaa +aagcatgggttatccaaaaggaataaaacagctcttcaacaaagagatgaggcttcataa +cttcgatgaatgcgtatggttctgatatatagatcgatgcatgaggacactttattttag +ccggcgaattaatggaatccatacgttacttatttggacatgacttctaggtgtttttgc +tgtcccgtttagcgatatttacagattagtatttcgtttctcatagttaattgtatctag +atactaactcgttgaagacgcataccttgccatttgtacaggacttaactgttccgtgcg +taatttgaatttcttataggttcttcaaggcacgaatacctcactcatgaccgttcatac +tctagttaaggtcgggaatactacgtatgcagggaattgtaacctaggagatttacaact +ctttaaacaagagtcgctgaggtccaggatcaaaacactgaatctcctaacttcgggtgc +ctccgtaaatcacctagaaacctactcatacatttgcaattttgagatgtaggcgaaaga +gagaaatctgctttttaacggtatctcttgggattccttttaaaaacacataacgatagt +aatgtaccaagtaaccaaaagctgggatgtgtctgtgtactgatccgccgtgtcagagta +gtccgccatgaatattgacgtcaaggctagtgtcatcaggtattgatgttcattgtaaat +gaaggaatgaactaatgtcaccaagtaaagggggtgaaaatgctccccagggttctacag +acatagagatggtcagaacacgacccccctctcaacgcagtgtatttgaaatatatggac +atatctaccttattctgtaattttagatgtgttctgtgtataccgatattgataagtcaa +taggcttgattacgtatcttaagacaaatctgtttcgcaagtaggaccgcatctttcaga +ttgtttctttttatgccataacctgcccaggaattcaaaaggttatcgatacccgatatg +ctgtgaattattattctaatggccactcattcctgcttatatctggaattggcatgaata +tcttacaacctaaagtctggcgttgcgccagttctacttcgtaccggacaccatctccag +tcgttaaccgaaggtgggtacgtcacataaaagttcattagaccacactttgtgccgacg +tatatagatatattacacgtatagggaatgttttctcctaggtgacccgaccttctacta +aggttgtacatcgtataatggcccattaactacgaggaaagtggtattgacctggtaatg +cacgttcttcgatatataccgacgaggtaaagtctactattgcaaagtttgacgttatac +tgataagtttagatttccctggatcgcgcatgaacaatgtatgcgttatctgccatatat +aacatgttacaaatccttggggatactatcgctactatcatcggaccaaaattaaatagg +ctagtgtcttatcagaacatcatgtttaccgaactgatctattttccaatttaagctgat +attacgtccgcgtatttattttagttccccggatgacgattatctgagctacatcataca +agttagcatactcgccggtgcattgatttcttatttcgctatatcttcaagttcacaggc +ttcatatagttccaattagcagtataattaggttttgtaactttaaccatactttataaa +aggttatattgcacaactgatcaagcatccgctataacccgagctttaccagttagcggc +taataacaaataagatgacttcgtgtcatacgaccgtcatgatcatgctctaacttaggt +gggaaccaaatttaggcaatgggtagtaataagtataaaatgataccacatatactataa +caatgaaattatttgtaatccggtttgccaacgtatcccccttcgcgataaattaatgac +atagggtcatccatgtgccaatcgtgtgtgccaaaatctcaaattcaattatcatcaata +ttggccaagtgttataagcgttgaaagtgatataggccgccaaaaagtagtctacttaaa +aaccaatatttatcgttcgttattgctggtagtacaacatcacgagcatttctcttttga +gttgatttatactatatctgctgatgtgattatgtcccacttacccagaatattaagaaa +gtcctagattgtaggtatacttgactataaatataatttaagactatacaaataatctgg +ctacattatgccatcgtagaaactgataacgtagtaacgtcggacactagattttggtcg +gggagtaatctagcatactaacgaatttgttaaatccgctgaaagtatatgtcattacct +gcttggcctgtcttcaatacgtttagactattaaggactcatttcgagatccagtattaa +ttatacgcatccatatttatactgaagacggattgagttaggacgacaagctaaacaaat +attaagttaaggattagtattatattgtagaaactcgtcgggttggaacgattcatcatc +atagaatgcgttacttattcagagagacttaattcggttatgactggcagctcacctgga +aagtaggtgaaaggcaacagaagaatattgttgactgaattctacgggctacgaacgtaa +ttacaaagcggttcgtaaagagcataaagatcaatacaatggatctctacagtattacgt +aaataacatacataaacctggtgttgattcgactagctcatagattaatcattaattgaa +gctacgaagacgcggaagtctgcggagtgagcaaacagtaatcgactgataaatgcttat +aatatcgcgcttaaatgccgcatggtgtacattaacgtgggggtagtcaaaggaatatat +ttactaggaatattagttatgcaaatgttgtgtcaatgtgatgtgttttatccagacatt +ggatgcatggctgtgggggcacaggatacttaccattagttcacctacaagcggcgtgag +agggtctcagttttagccagcgcagagaagtacgggcctttagacgattaatgctagaat +tgtcataaacctcgtgaaaagctagttaataatcatggtgctagaagaacacaacttttc +tataaaccagttctcgactgacagtcgtaactcactatatcgccgctttgtactgtcgca +aaaaaacctcacatagaaagaaaaatctactgggtgcatcagtagagatcgtgttctgag +agataaatacaccggatacgatctgcatcgagttcatgtattaggtcaagcttgggactg +ttgtgccagtagcattttttaacagtcaaagtagggtgagacacgtcatatcataatata +tgccatcgaggtttaaagtttatatgataagctagcatgcgttgcaatcgtattcttgaa +tgctccgtggtttgtactaattcctttatagactgagtgtatcgtacactcggtacaatt +acaaaggatggaagagcaaataggtcttcaattataacagtaccccaccttaatctaaaa +accagcttcaattagtattaatttcgccaggagtatatatataaatatctaaagactaaa +agactcgtacttttacaacttacgtcgtagcataattaaatcatgggtaaatgtcatcag +taagtgcattagaaatactcctttgtaaggatacagtgaatgtgtctcagcaagtcagta +gaaatggaaattcatactcgattaaggcctataaaactgttgttggtatctacagagtga +ttaaaattagtgaatcagattacgaaaatgttttcccgctcgcacttacgcgtttagaca +aaagtacaggtggtacaattggctgtagtagaattttggtataaaataggtgataaaccg +gatgggtgtgggcgaattcaaaagcggtttttgttccatagaactatgtagttggttata +aaggttgtaatctcggagattaggttagggcttaatcagaatagtaacaatttctctatg +taaagtacagtgggtgatcgtatgagttcacgaactcttaatgccatgcctggacaggat +aaacaatacgcatataacttgacgatcgagcttatatcgacctatttgagaagtttaacg +ggtcgatataatatacaggtcttaatagccgattttttctagaaaagcaatcctatatct +tagttaatcagatcaaccccgtgaacgatatatcagcaaactgaacattgtatacaacat +tcctttttgtccgggtggggactccatttaaagtatctcacctagaactcagcggtaata +gatgcagtctcttgcccagttacggtaactaaatgttgatacttagaattgctaaatttt +agtctagacatttccaggtaaaccggtagacgacaatttctctgtcatctgtcataagat +cgcttagtgtgctcaaattgcaattgagggccctactatagacaatcatcagacttttta +attaaatagttttccatgaatgtgttgtcaaggcggaccccttcacttttatcacggctc +ataaatgtcgtatgactgtagtcggtagcggccttcgagtcttcaggggaaatggaaaag +aaattaggcttctaagatggactataatcgattaggctaattccgttcgcaaatcacaga +agcaatcttactcaaaattgttggaatcgatagcgaacgcgaccgtgaatgtttaaaagt +gctcgcacagaattacccaatacctatcatcacgacttaaatacccaaagcagttgtagt +cgcgtaatagattaagtctgaagcctagagacaaagggatactgggcggggaaacctgct +ccttcacggtaacatggtaacaacagaatttggttaaggttaaaacgaaatatactcgga +gtgaattactgttaggtttcgtcatcggatcaataagtagtttccgtgaagacactctta +tattagatctccgaaattctgacccgtgcattaggcacttggtaggagattccatttgga +acttgctcaatgtaagccagtaatgttccgaaataattcgctgcaggagcgaggagccgc +tgaataaaggaccctcgcatcttgttaccttatggttgagggtcaccgttctctgcgtca +attccagagctggagatacattcatcaacgttacctacgcacagaataaaaagatcgagc +gctaactcgttttcctaaacacaacggatttagacaaattaccgaatgcgccggagagta +gcatcttagtgtcatgcctatcatggcggctcagtacgaagagttcaggcatcgaatatt +gtggtagcccgcactcaaagttccgccattaggtaagctatatattgtggtcagaacttg +aggacaactatgagctactaaaaataaacaattttgtcatttgttctagatatgtggcat +tcatcgaacgcttgtaccagaagttacattcgcagcgtgagcgaataaacccgaatgagc +gtaacattatcaataacatatagttcagatagagaacgaggtattcgacagagaattacc +caacattggttattaatctatgcagaataatttagataatgtcactacataatattagga +ccaaaaggtgattccccagaagacaaaacaataaacaatctcacatattcgctagtacct +atgtatgggtatgatcttctgattggacggggataatttccaggtatattaaaacttatt +accataatctagacctaagagaggttatataagtaaagagctgtgttccgatagaaaaac +ccgaccttaaagacttgcgaagtaaattttgctttaacaaaaaaacctacgtaagggaat +attctgtataaactgaaaagtcaggtgtaactacatgagtcatgtcttcgattaattaca +atgcgatctcgttattctgatcaactaatatcataaactgccactacatcttgtacaatc +attcgcaacaatacttttatgtgctaaggtcacgtgcttcctctgctatgctgatttaat +cagattcataaaggaatacgaataactctggatccattaccacgcaagggatttatttac +ggctgattactttttggctgttgacagaactgccatgaaagtaagatgtcgcatcttgca +taaataatagcacctaatatagccgacaaagtgattccgataacagattttaagttgtcc +agccttgagactccatgaagaccgcttgggagcttccccgtgattagaagaatctaaatc +ccaagtggatggggggagtttaaatctcagcaccaacaaatagtacttcctctcagagcg +cgtcatggtcgaaggagcctatcctgatagaggtttgaaagcgcacgcgcatttaactgt +catattaaattggaatctcgtaagtgtcggcagtacgacaaattttaactgatgtcggta +tacggagaagaaggaagcacgcattgaagcagctacgcagaactgagaagatgacactct +aagatacaattaatacaaaaacgttttaagcccaatctatcaacagatgtaagatgtcta +atacacaagaataaaaccttcatgtcccgatgtataataacagctttatttctgctggtc +gaggtgaagtagtggaaattactccatcttgctgcgcgtctttatagtgttggctactct +gtaaccgacgcgtccatccctctctcctagtgatccgtatatccaattagaggataacca +acatctgcgttaccgacgaatttaaatttttcgactatttaattccgttcaaacccgtat +tcgtagtaagtgtttcatagatttatgaccgacatcgtgtacgagttgcagtgcatatgt +agataccactaattgctgatctaggatacatgctttataaacatgcttacttggctattt +tatttactgtcatgtgggggtttttattttcaacaagtatgtgctaccattggataatct +ggcttcaaattgaagatatgcgttccaaacttgtctactgtttgctaagtaggagttgtc +ccattagaactacgcagcacgtggtttgtgatcgaaaagaataattggcaaatacgaggc +tagccttcaaatttaatgcagattactcctcagaaacacacgtaagcgacgaacgtgatg +tttactacacaatgcgtatcatagaaattcgtgataatttttgttccaacctttgaatct +agactgagtggaaaaagatttcaccgggataccgtttatgctggttttaaaaactcgtcg +aatcatcttataactgcattcaaatggatttctcaatcatctgtacgtcaactgttttaa +caataacgtcagaataaaccggcacaatgagacggcggtctttcactacaccacaccctt +aggattataagtgacgtgtggattcgaattctaaggtgacgggatctacaagcctcagct +acattaggtctgaagatctttcgtatagccgcgtatgttactgtttggatatgggttatg +ctaatcaacagttgacagcgagtgaaacggccttgcgacctgaaatctttacggttacct +tttgattcaagacaggatcgacgatggaccacgtgaaatgaattcaaaactgtaacatcg +cttgtgcctcagcgaccgagtaacgacaagttcacatcctctatgcaactatcattgtgg +tcattaaggtattcaagattaactaagagtcgaccatatattctagagttttacaattag +gaaccgttagtctagactaggagcgtgcaacatcgcaggaggtgtggactgtcttgaccc +aagttgcctgacacatagtgtcttttgcttcatgtccttagcaatgcgatacctcaatcg +tagttttatcgggataaataacatggtgtttaaccctattaatggtttctattaatctaa +attgtaaggcagcccttgggtcgaaagcacattaggccacatacacagtatgaaattgtt +cgagtgtccagaccataattgactaccatggtacacggtgttgctattatgactcccgca +aaactcttgacagagggaattttggtacattgatgtaatcgatgatttaacagtaggaac +tagacgtcatccgttagactgagttccgacatgctcaaattgtcaggatttttatccaat +aactaatggctctcacatgtaaataaaatcacattaacgtcacttagtgatggattcgct +aaacagatagactatcattcatgaactggcactgtttcgattatatttgcaacatcgaac +atacttaaagttaaatacgacatcattcaattaaaaaaattcagtacacctctaatgagt +atcccgctttggaggaaagagtagcactttaaatggacaatttaggccggactttcctgt +aaatggatgaagtcattgtacagcttgaataaatcgttagggttagtccttacatccacc +atatgttaatgaataaagcctgagggaccttagagctaacttgtccaacacgttgctcat +ttacttaataaggttgaaatgtatcagtaagtgacagcgagtgtagattttgaccattta +actgaccttcacagttttgtcttcagacgtcacttacaccataatgatgacagagcttgt +agatgcacacactcattcctagtgtaaatcaagtagtagctagattattataaagagata +ttttctggcgtcgaacgtaacacagagagagtataaggggcatgataatggcttatcaat +atgtgtaagaaaaagtttttaatatcatctaactcggtggaatgcacacttatggccaac +tgaccttgggacgagttaagataccataagaggttgcctgtaagttaagataacaaaggg +atattccatctttgtgtgctaagaacctatttatatttgcagccataaaaacctctgtgc +tatgcagccaccagagttatttatacaaagaaagagaccatttagatacgttaattctgc +ttgcgatttattaaacagacatttcacgtccaaccactacaaaagccctatcgcaagacg +atcattgtattatagcctatgcaacgtagctaagcggccgaggaatcataaaatatgaat +tgttacattgtttactacatatgatcacaatctttgtaaaaggttcgttcgtgatactac +catgtacctaactaacctgagatatatgcaatgacttatggggtcagcgcgcaacatccg +caaagcatagtaatacaaggtaggaaaacttctggatttcccaaggttataatgctctat +actgaccaagagatccgttacgactcgcaatgaatactctaagggcactcacaaagaaaa +ccactaattgataaatttcaatgataatatcctgaattgcatcgtgtatgagttacgaga +agtcgcatttaatgaattagtcatagaaatgtcatagcaggaacataattactatatttt +aacgatttaatcgtagttggagtcctttcccaaattatgtcatcagttccgatttagatg +ttttcgggcccttcttagtaaagaagttaatatccaagactagctcctcacccacgcatg +cacatattcgcgagaagtctgatagaatattcgacagaaatgcgactctagctcacactc +gttaactgatcaggtacttatagacaagtacgttatcagatatcgcttcggggcattgtt +gcgctacctttgtgcatagcagttttgaaaaattgttcaagacctgaacgggaaaatgat +attatttttttaggaggaataatacagtaccatgtaaatactcaaccaccttacgtactt +cttacgccgaacatatatggcacgtgttattcggctaacaaaactgttgtgccttttcta +taaggataagcagattcgttttaaacatatgacctgtaaactgggatctacaaaagaggt +acttaaaataaattgcgcaacggtttagatctgcggatctttggttaaagagcaccatta +gatgtgccatacttcctatcgcctgagcgagaatttagtctgaggaaccactcttgggat +ttaaaacaattcggttaggacacctactcggcggatgaagcaatacgataacattaaaag +tcgttcagtctaattttggtcgtagtacgatgagctgatggccaattgtatttttattaa +cagcactgaaacaaaatggagactttagactaatactaaagtctcaatgttcgtcgaacc +ttaaatgctcggaatgaggggatcttcggaagtatagcgccgaagtgtatctcattatta +taacaccagtgtacagacgacatctaattatggccagaaactgtcattgtgccattaaga +ggattagtagatagtctggaccgtggaatagaattttgaccaaattgaccagtcctgctt +gtagacagcgcgatctaaactgcacgagaatatacaagttggtggtgcttgtggctgagc +acgctaagatgcgtttgtttttacgattctagtgcttcttaacgcaattcagtcttctag +atccgctattccaacatcaatatctcaatttaaggtcaatatatataacaaaattagaca +gagcagctgacacttacgaagcatcgtagaaccgatatagtcgaccttatgatgatatgg +acgtgtccaagtccgcacttccgatgcatcttgacggtgaaccgaaatgaaatcttcatt +agggcccccatgtgtcaaaccactcgagtcccgtctctgaagtcaagtattactgcgaaa +aattcgtctactattagtttattatgaacttatgacgcttaaataaattaaacagtaagc +ctgggaaaatgttaaggcaggaatctttgtaacagttcataatgttgctaaagattatca +gaccccgtgaagacttcgggctttgggcttcgtaccgtagcataatacatctatatagtt +agaggcttgcgtgttgttgtgctattccacatatagcagctctgggcgactcttcaatga +aaatgaaaaatggtaacctggcgacctacttgttaagtcagtttaattcaaggggattaa +gtaccaagggtcgagtttctctgtatttattatactgtaggcaagaagcttttttggcga +gatttaagacttaagcctatggtaaaaatttgatagtgagcgactatagtaagagatttg +ggtggttagtaattaaaattctcctatgctaaatcaggcgtacaatctgagggtgcacat +ttctcgacgcgtgaaccttcaccgaaagcgtgtggattatacaaatttcaaacatattgg +cggggcacttatccataatagatttctgtttgtacgccaaactctgcctcacccctccat +aaattgtattggctagaggttaaattctccgtaaatagagacacatatagttttatacaa +ttgtttgaatcaaagcacgagaaacttttaaccgtacattgacaaatgtcttcggatggg +gcagagcatctcttcgtgacccaaatcaatcgctgagcaataagcaagaaaacacagatt +atacaaagagatctggatgaagatattcgtgcaatcactatcgttatgttagagagttcc +atgcatgaggactcgttttttgaccaggagaattaagccaagaaataactgacgtatttc +caaatgaattctacgtgtttttcctgtcacctttagccagtgttaaagatgactatggag +tttcgaataggttattctatagacattataacgagtggaacacccataccttcacagtgc +taaaggtaggaacgggtacgtcaggtagttcaagggattttaggttcttaatccaacgaa +gaaataacgcatcacccgtcattctattgttttcgtcgggattacttagtaggcagggta +ttctaacctacctgagttacaaatctttaaaaaactggccatgaggtcatggtgataaaa +tctgaatcgcctaaattcgcgtccctaaggaaatatactagaatccgtctcagaaagtgc +aaaggttgacttcttcccctaacacagaattctcagttttatagctatctagtggcattc +ctttttataaaactttacgtttgtaagggtccaactttacaaaagctcggatgtgtatgt +gtaatcttccgccgtgtaagacttggaacccatgtatattgacggcatggcgtggctaag +caggtattgatcttcagtgtaaagcaaggtatgttctaatctaacaatgtaaagccgggg +attagccgccaaaggggtctaatgacatagagatgctctgaaatcgtaccaactataaaa +gcacgggatttgaaatatagcgacagatcttccgtattctgttagttgacatctgtgctg +tctttaccgattgtgatttggctttagcagtcatttagtttcgttactcattgctcgtgc +gatagttccaccgaatatggcacattcgttctttttttccattttactgcaaaccttttc +aaaagctgatcgataccactgatgatggcattgattagtcgattggcaactatgtcctgc +ttatatctccaattgcattgaatatagtaaaaaataaaggctcgccttcccaatgggcta +cggagtacacgaaaaaatcgcaactcgtttaaccaagcgccgtacctaacatataagtga +ttgagacaaatagttctccagacgtattgagatatatgtctcctataggcaagcgtttct +aattgctgaccagaaattagaattaggttgttaatactatattcgaccattttattccac +gaatgtgctattctactggtattgctccgtatgcgatatataaccaacacggaaagtcgt +cgattgcaaagtggctccgtagaatcatttctggtcatttaccgggagcgcgcttgaaca +atggatgcggtatctgccatattgttattgttaaaaagacttccgcttactatcgcttcg +atcatcggaaaaatattaatgaggattgggtcgtataagaaaatcatcttttcagttcgc +agatttttgccaatttaaccggttatttcgtcagacttggtagtgtagttacaagcatca +cgattatatcagctacagaattaaactgtcctgactcgacggggcagtgtgtgagtattg +cgctatatattcaaggtaacaggaggcatataggtcatagtacaaggataatgaggtttg +ctaactttaaaaattattgatttaacggttgattgaaaatctctgcaagatgacgctaga +acacctgatgttcaagtttgccgataataacatataagatgaattactgtctttagaccc +tcatgttaatccgctaacttagggcggaaacaatgttaggctatgcggagtaagtactat +attatgataccacatagaatttaacattcatatgatgtctaatacccgttcccaaccttg +caaccgtcccgattaattaagcaattacggtcatcaatgggccaatcctgtctcaaaaat +tatcatattcaaggttcagctattttggcaatgggtgagtaccgttcttagtgatttacg +aacccataatctaggcgacttaatatacaagatttagagttacgttttccgggtagtaca +tattaacgaccatggatcgggtgaggtgttgtattagttatctgatcttgtcagtagctc +ccaatgtcccagaatattatgtttctactagagtgttcgtatactggaatttaaatatta +tgtaagactagacaaattttatggatacattaggccatcgtagaatatgatatagttgta +acgtccctctatagattttcggagggcaggtatattgcttaataaagatgttcggaaatc +agcggaaaggatttgtaattaactgatgcgcagcgcttaaataagtttagactattaagc +tatatgttcgacagcatgtagttttttttaccagaaagtgttatactgatgacccatgga +ggtagctcctcatgataaaaatattgttacttaagcattactattatagtgttcaaacta +gtaccgttgcatactttaagaatcagacatggcgtttcttatgcagacacacttttttag +ctgttgacgcccacctcacatccatagtaggtcaatcgcataagaacaatattctggact +gttttattacccagaagaaagttttttctttccggttcgttaagacaataaagatcattt +cattcgttctcttaacgatgaactaaagtacttaaagtatccgcctcttgtttcgactag +cgcatagtgtaataattaaggcaagataagaagaacaggaacgcgcacgtcggagataac +tctaatagtctctttattccgtttaatatagcccgtaattgcaccatgcgctacagtaac +ggccgccttcgcaaacctatttatgtaattccaagtttaggtatgcaatggttggggcaa +tgtgaggggttttatcaagactttcgttgcttcgcggggggcgcaaagcagactttacag +tagttaaccgaaaaccgcagggagtcgctctaagtgttaccaacccctcactactacgcg +aaggtactcgattattccttgaatgggctgaaacatcgtgattagcgtcttatgattcag +gctgatagaagaaaacttattttctatattccacgtatacaatcacactcgtaactaaat +agttcccagcgttgtaatgtcgctataataaataaaatacaaagaaaattcgtctgggtg +cataagtacagttagtcgtctgtcacataaataatccgcagtcgatctcattacaggtat +tgttgttggtcaaccttcgcaaggtggtccaagtagcattgttgaacagtaaaactaccg +tcacacaaggaatatcataatagatgccatacacggttttacttgatatgtttacagtcc +ttgagttgcaatcgtagtattgtttcatccggggtgtgtacgaagtaatttagacaaggt +gtgtagcggtcactaggtaaaatgacttaggatggatgagcatttaggtattctatgata +acactaaccatcatgtttctaaaatcctcaggaaatttgtattattttaccaacctgtat +ttatagaaagtgcttttgacttaaagaagccgaagtgttcaaattaaggagtacctgatt +gaaagaatggggaattgtaatctgtaactcaattacaaataagccgttctaaggattaag +gctttgtgtctaagcaactcacgtgaattcgaaattcatactcgattaacgactttaata +ctcttctgcgtatctacagactcatttaaattacggaatatgttttcgtttttggtttcc +agctcgcacgtacgcgtttacaaataaggacacctggtacaattggctggagtacaatgt +tggtttttatttgctgattatcccgatccctgtgggcgttggcataaccgggttttcttc +aagactactttcgtgttgcttatatacctggtaatatcggtgagtagcttagggcttaat +cacaatactaacaagttctctatggattggacagggcggcatccgttgactgaacgatct +attaatccattccctgcactggataaacaagacccatttaaattgaccatagagatgtta +gcgtcatatttctgttcgtgatagggtacatatattataaacggattatgagcagtggtt +ttctagaaaagcattcatagttaggagtgtatcagatcataccactgaaccatagagcac +aattctctactggctatacttcattcctttttgtccgggtggggacgaaatttaaaggtt +ctaacctagaacgcagagcgaattgatcaaggcgctggccaagtgaacggttctaaatgt +tcttaatgagaattgcgtattttgactattgacagggcatcgtaaaccgctactcgactt +ggtatctgtaatctgtatgtagatagagtacgggcctataattcaaattcagccaccgaa +gattcacaatcttcagacgtttgaaggaaagaggtttactggtatgtggtgtcaagcccc +acccattctctgttatatccgagcattaatgtagtttcactgtactacggtcacgccgta +gagtcggcagggcaaatccaaaacaatttaggctgagaagtggcactataatagtttagc +ctaagtcccttcgctaataactcaacaaagatgacgcaaaagtcggcgaatagattgcgt +tcgcgtaagggtatcttgaatactgatagctctcatggtaccaagaactttcataacctc +tttatttaccaaacctgttctactagcgttagtgttttagtctgtagccgacacaaaaac +cgagaatggccggcgtaaccggcgcctgcaagctaacatgggatcaaaactattggctta +acgtttaatcgaatgagactagcactgtattactctttcgtttcggcagcggatcaataa +ggaggtgacggcatcactctcttatagtagatatcacttattctcacaacggaagtagga +tcttccgtcctcattaaatttgcaactggctcaatgtaacactgtaatgttaacaaagta +tgagctgaaggtcagagcagacgatgtagtaaggtccctcgaagctgcttacagtatcct +tgaggctcaacgggctatgcggaaattccagacctcgagttacattatgaaacgtgtcat +tccatctcattaaatagttcgtgccctatcgccttgtaatataaacaaccgtttttgtct +attttcccaaggagaaggagagtagcagcttagtggcttgcctatatggccccctaagta +cgtactcggcacgcttagaagattgggctaccccgcactatatgttcccaaagtaggtaa +cctagatagtgtcgtatgaaattcaggtcatcgatgagagtataaaaatatacaattttg +gcaggggttatacattgcgggcatgaagagtaacattggacatgaacggacattcgaacc +ctgtgagtttaataccctatctccggatcattataaagtaaatatacgtcacttactcta +cgtgcgtttagacagtctttgaaactaaattggttatttttctttcatctagatttgtct +gtatctaactaaattatagttccacataaagctgattcaactgaagacataaatataaac +tttctaacatagtagcgaggaaagagctatgcctagcatcggatcatgcgtccgcgagta +gttcctggtagagttaaaagtttttccagaatctagaccgaacacagggtagtgaacgaa +agtgcgcggtgaacatacataataccgaacgtaaacaattccgttcgtattgttgctgta +tctatatttcctacgtaaggctatttgatctataatatgaaaagtcacgtcgaaataaat +caggaagcgcttcgagtatgtacattcagatctccttagtatcatcaaattatagatttt +acggccacgaattattggtctagatgtcccaaaaataatttgatgtcagtagcgatcgtg +cttcctcggagttgaggttggaagaagagtcattatgctataccaagaactctccatcca +gtacctagaaaggcaggtatgtaccgctcattaattttgcgatcttgacagatctgcatg +caaagtaacttgtaccagatggcttttataatagaaactaagtttcccgaataacggtgt +acgataacagatttttaggtgtacagacgtctgactcaatgaacacacattgggacctgc +cccgggaggagtagtagataattaccttctccagcgcgggtcttttaatatcacaacata +aaaatactaattaatatcacacaccctcatcctcgatggagcctagcatcatacacgttt +gatagacaacgccaattttactgtaatatgatattcgaatctagtatgtggacgctgtac +cacattgtttaaaggagctccctttaccgacatgaacgaagcaagctttgtacaagatac +gaagaactcagtactggtaactataagagacaatttatacataaaagtgttaagaccatt +atataaaaagaggtatgaggtctttgtaactacaataatacattcatcgaacgatggaga +ataacagagttatttctgctgctcgagctctagttctgctaatttctcaatcttgatgcc +actcgtttgagtcttccattcgctcttaacgacgcgtacatccctctctcctactcttac +ctatatcctattactggttaacctacatctccgggaaagacgtaggtaaagtggtccacg +attgtattcacttataacacctagtagtactatgtgttgctgagagtgaggacacactta +ctctacgagttcaagtccatatggacattacactttttcagcatctaggtgtcatgatgt +attaacagccgttaggggctatttgattttatcgattgtcggcgtgtgtattttcaacaa +ctaggtgctacaattcgtgaataggcatgaaaattcaagattgcagttcctatcttgtat +aatctttcctttggacgagttgtaccatttcaactaacctgcaagtggggggtcatccat +atgaagatttgccaaatacctggagaccctgaaaagtttatccagattaataataacaaa +caaacctaagcgaagaacgtcagctttaataaactatcactatcatagaaattcctgtta +attgttcttccaaacgttgaatagactatcacgggtaatagattgaacacggagaacgtt +tatccggcttgtaaaatatcgtcgaatctgctgataactcaattatattcgatggagaat +tcatatctaccgcttagcttttaaaaattaagtcagattattccgccacaatgagaaggc +gcgagtgcactaatcaaatcacttaggattattacggacgtctgcattacaatgctttgg +ggtagggttatacaagcatatgattctttaggtctcttgatcgggcgtttaccaccgtag +cttaatgttggcatatccgtgatcctaatattctgttgtcagcgtgtgtataggaatgca +caacgcaaatctttaagctgacctgttcatgaaagacaggagacacgaggcaccacctca +attctatgcaaaactctaacatagcgtggcactatgagtacgtgtaacgacaaggtctca +tactcgatcctaagataattctcgtctggaaggttttaatctttaactaagagtagaact +tagtttattgacttttacaattaggatacggttcgcgactctaccacagggcatcatacc +tggagctctgctatctcgtgaccaaagtggcagcacacatagggtcgggtcctgcatcta +ctgagcaatccctttaagcattcctagtttgagagccatttagatattgctgtttaaacc +gattaatggtttctattattataaagtgtaacgctcccattcgggacattgaaaattagc +aataagacaatgtatgatattcggcgagtctcaacaacattatggtctaccatgggacaa +ggggttgatatgatgaatccacaaaaaatagtcaaacacccatggttcgttaagtgaggg +tatccaggtgttataaggacgatctagaagtattcaggtacacggtgttcagacatgctc +taattgtcaggttgtttataatttaacgtatcgctctctattctaaataatataaaatta +accgctcgtagggatgctttccagtaaaagatacactatcattaaggttatgcaaatgtg +gcgatttgatttgaatcttagtacattcttaaacttaaatacgtattatttaaagtaaat +atattatctaaaccgcttttgtctatccacatttcgtcgaatcacgacctcgttaatgcg +acaatttacgaccctctttcatctaaagcgatcatctatttcttctgattgatgtaatac +tgacccttactccgtacatacaaatgatggtaagcaagaatgactgacgctcctgtcacc +tttcgtggcaatcaactggcgctggtactgaagtagcttgaaagggatatggatgtgtat +gccaggcttcattttgacaatttttctgtcctgctcagtgttgtctgaagtcgtatcgta +cacaataatgatgactctcattgtagatccaatcacgctttcctacgctaatgaaagttc +tagatagtgtaggtgttagacagaggttagcgcctacatccttacacacacagtgttgaa +cggcaagcataatcgagtatcaatagctgtatgtatttgtttggaatatcatatttctcc +cgcctttgaacaatgatgccaaaatgtcctgccctagagttatgataaaataactgctgc +cctgtaacttaagtttacaaaccgatattcaatcgttgtgtcctatgaaaatatttatat +ttgcaccaagaaaatcatctgtgcgatgaacaaaacacagtgatttataaatacaaagag +tacatttagttaccggattgcggcttgacatttattttacagaattttatcggcaaaaca +cttcatatgaactatcgcttcacgataagtctatgatagactagcattcgtagagaacag +gaagagcaatcattatatatgaagtgttacagtgggtactacatatgagatcattaggtc +tatatccggccttcctcataagaccttggaaatatcttacatcagagatatcaaaggaag +tatgggcgaacccagaaaaagccccaaagaatagtaattcatcggacgtaatagtctggt +tttaactaggggttattgatatttaagctaaaagagttccctgaacactcgaaatgtata +atctatcccaactaaaaaagtatacctctaattcagaaatgtcattgagattagactgat +gtcaatacgctaggaggtaagacaagtagaagtttttgatttaggaattgaaatgtaata +cctccatcttaagttctatattttaaagttttatgcggacttcgagtaagtgcacaaatg +atggcataagtgcccagttacatgtttgcggccccgtatgagtaatgatctgtttatcaa +tctctagctactatcccacgaatgcactgatgccagtcatggcgcttacattagtcgaca +gaaatccgacgatacctatcacgcgtgaactgttctggttcttattcaattcgaagtgat +ctcagatacattacggccatgcttgcccttcatgtctgctgagcagttttgttataggct +gaatctcctctaagcgaaattgataggatttttggtggtcgatttagtctgtacctgctt +attaagattcaaaatgacctacttcttacgccgaaatgatagggatcggctgaggaggat +aaatatacgctggtgcctggtatttatccagaacaagttgcctgtgtatcagatgaactc +taatctccgagataaaaaacaggtacgtaaaataaaggccgcaaagggttacatctcagg +atcgtggcgtatagtccaccattagttctgacttacttaatatagactgaccgagattgt +agtatgtggatccaagcttgccatgtaaaacatgtcggttagcaaaacgtataggagcat +gatcaaagaagagttaattaatagtactgcactataattgtcggcggagtaccatgagct +gttgcccaattcgatgtttattaacagcacgcataaaaaatccagacttttcaattagaa +ttaactataaatggtccgcgaaccttaaatgatcggaaggacgggatctgccgttgtata +gaccccaactctatctaatttttataacacctctgtaatcaacaaatcttattatgccat +cattatgtcattcgccaagtaagtccagttcgagattctctggaccgtgcaatagtattg +tcaaattatggtaatggaatccttcttctaacacccttagaaaagccacgagaattgaca +agttgggcgtgcttgtccaggagcaacataagtgccgtttctttttacgatgatagggat +tcttaaagcttttctctattctagatcccagttgccatcatcaatatctcaattgatgct +cattatatagttcttatttagtatgtccagatgtcactgaagatcctgcctagaaccgat +attctcgacaggatcatcagttcgacggggcaaacgcacctatgcacatccatcttgacc +gtgaaacgaaaggaaagagtcagtaccgacccaatgtggaaaaaaactcctgtccacgat +atgtaggcaagttttactgcctttaattagtagtcgattagtgtagtttgatattatcta +ccttatagaatgtaaacagtaacccggccttaatggtttggcaggattctttgtaaaagt +taataatgttcataaactttatcagaaaacctgaagtagtccgcctttcgcctgcgtaac +gttgcagattaattcgttttacggagtggcttgcgtcttgttgtccgagtacacatattg +ctcctctcccccactcttctaggaaaatcaattatgctaacctgcagaccttcttcttta +ctatctttaatgcatgcccagtatgttcatagggtagacttgctatctattttgtataat +ctacgaatgatgcttggggcgcgacttttaacaattaagccgttgggtataatttgagag +ggtgccacgatagtaagagatttccggcgtgagtaaggaaaatgataataggattaagca +ggcgtaatagctcaccctcctcagttctccaaccctgaaccggctaagtatgactgtgca +gtattaattttgaatacatattgcagcccctaggatacattatagatgtctctttcttac +ccaaactcgcccgcaccaagaaagaatgtggattcgattgaggttaaattagccggaatt +acagacacagattcttgtttacaattgtgggaagaaaaccacctcaaacgttgaaaccta +cattcacaaatggattacgttggggatgagaatcgattccggtcaaaaatcatgcccgga +gcaataaccaagaattcacagaggattaatacacttctccatgaagataggactgcttgc +actatccttatctttgtgtcttccttcaagcaccaatcgtttggggacaaccacaattat +gccaagaaataacggaaggtgttccaaatctatgagtccgcggtttcatcgcaacgtttc +actgtgggtatcatgactttggactttagatttgggtattctagagactgtagaaagact +gcaacaacaagacattcacagggcgaaacctaggaaaggggaccgcacgttgtgctaggg +atgtttccttaggaatccatacatgtaagaaagaatcaaccgtaattatagtgttttcgg +ccccttgaattacgtgcatgcctttgctaaaagacctctgggaaatagattgaatattct +ggacagcagcgaatcctgattatatctcaagcgaatatatgacccgcaagaaggatttat +actagaataagtctaagaaagggcattgggtcacttcttccactaacacacttttatcag +ttttataccttgagagtcccatgcatttttatatatatttaactttcgttgcgtaaaact +ttaaatatgatccgtgctctatctctaatctgaacaacggtatcacgtcgaacaaatcta +gtggctacgaatcgcgtcgctaagaacggtttcttctgctggcgttagctacgtatcttc +tatgctaaaaatgtatagccccgcattagcagcaaaaccgggagaatcaaatacacatcc +gatgaaatcgtaacaaagataaaacaacgcgatttctatgtttgccaaagtgattaagtt +gtatcgtaggggtcagcgctgatgtcttttcagtttgggttttggatttaccagtctttt +agtttcggtactatttgatcgggacattcgtccaaacatgatggctcattcgttcttttt +ttcaattttaatcaaaaccttgtatttacctgatacattaaactgagcatcgcatggagg +tggagattcccatatatgtaatcatttgatatcctattccattctttttagttataaata +aacgctccactgcacaatgggagtaggacttcaccaataattagcatctactgtaaacaa +gcgccgtaacgaaatgattactgattgagaaaaataggtctcaacaacttttgacagata +tgtatccgatacccaagcgttgctaattgcgcaaaagtaagtagaattacggtcgtatta +cttgttgccaaatggttattactccaatgggctattctaatccgatggatacgtaggaga +gagtgtacctacaccgaaactcgtagtgggcttagtggctacgtagaagctgttcgggtc +agttacagcgtgcgaccttgtaaaatcgatcacggtgatgaattattgttattgtttaaa +agaagtcccctgaatagcccttagataatacgaaaatttgttatgtccagtcgctcgtat +atcaaaagattcggttaagttcgcagagttttgccaagtttacaggtgatttactaacac +ttgggagggtacgtacaaccatcacctggttagcagagaatgaattatacggtcatgtcg +cgaagggcaagtgtgtgagtattgaccgagttattaaacgtaaatgcaggcatttacgtc +ataggacatcgagtttgtcctttgcgaaatgttaaatttatggttttttccgttgagtga +taatagctgcaacatgaagatagtaaaactgaggttaaactttcaccatattaaattata +tgttcaattacgcgatgtacaaactaatgttaatcagatttaggagcgcgcttaatatgg +gtccctatcccgactttgtacgagattttgataaaaaatagtattgtaaattcatttgat +ggcgtagaaccgggcaaaaccttgaaaaaggacacatttaggatgctatttccctaagaa +agcggaaaatcctggctcaatatttataatagtaatggttaagattgtggcccaatcgct +gagtacccgtcttacgctttttccaacacataatcgacgagaatgtatttaaatgtttga +gacttacgttttccgcgtacttattattaaagtcattggagagggtgtcgtctgggtgta +gttttctcatctgctcaggagctaaaaatgtaaatctattggttgtttctaattctgtcg +tccgtgtaggctatttaatttttatggtacacttgaatatgtttagccataatgtagcca +atactacaatatcagatacttgtatacgacctatagacttttgccgaccgctcgtagagt +gatttagaaagatgttcggatagcacagcaatcgtttgcgaatgtaagcatgcgaagcga +gtatttaactgttgactattttgctatatgttactctgaatgttgttttttttaccagaa +tgtgttataatgatcaaccatgcacgttcctactaatcatataaattttgttacgtaagc +ttttctatgatagtggtctaaagactacccttgcatactttaagattaagacatgcactt +taggaggaactcacacgttttgagctgttctagcccacctataagccattcgtccgcaat +cccataactacaatagtcggcaatcttttattacccagaactaacgtttttatttcccgg +tacgtatcacattaatcttaatttaatgcgtgagagtaacgatgaacgaaagttatttat +gtttaagccgcttcttgagaatacagattactgttagaatgaaggcatcataactagaac +accaacgcgcacctcgcacattactctaatagtagctttattcagtttaatatagacagt +atttgaaccaggcgctaatgttaaggcccccttcgaaaaccttgttatgttattccatgt +ggtcggaggatttgcggggcgatagcgctgggcggggatcaacaatttcgttcatgcgag +cgcccccataaccagtaggtacagttcggaaaagaaaaccccacgcactcgctagaagtg +ttacaatcacatcacttcgtaccgaagggactactgtattccgtcttggggatgtaacag +actgattacagtcttatgatgaagcctcattcatctaaaattagttgatttattccacgg +atactatcacactcctatagaaagagttaccaccgtgggaagctagatataataaataaa +agacatacaatattagtatggctcatgatctacacttactcggatctctctttttttata +accagtagatcgcattacacgtattgttgttccgcatcaggccctaggggctcaaacttc +catggtggataactaaaacgtccgtcactaaacgaagatattaatagatgaaatacacgg +gtttacttgatttctgttcagtcattcacgggaaatcctaggagtctttcataacggcgg +tcttagtaggaatgtagtcaagctctgtagaggtctcgacggaattggtatttcctggca +tcacaatttacctagtattggagatcacttaaaataatgttgagataataatcaggatat +ttctagtatgtgacaaacctctatttagtgattgtgattttcaattaaacaagacgtagg +ggtcaaattaacgactacatgttggaaagaaggccgaattgtaatatctaactcatgtac +taagaagaagtgctttcgtttaaggctttctgtctaacattctaacgtcaattcctatgt +aatactactgtaaccaagttattactcggctgcgtagataaagtctcatgtaaatgacgg +tttatctgttacttttgggtttcaacctagctaggacgccggtactaattacgacacctg +cgtatagtgcagggtgttcaatgtgcctttttatgtccggattataaccatccctctccc +acttggaatatcaccgggttcttaatgacttagttcgtcttccttattttccgggtaaga +tcgctgtggaccggacccattttgatctagtctaaaaaggtatatagcgtttcgtctggc +ccgcttacgttcactgaaacttagattaatcaatgcactgcactggattaacaagaacat +gttatagtgtactgacacatgttagactaagaggtctgttcgggttagccgacttatatg +tttaaccgattttgacaactgggttgagagataacaatgaagagtgaggactgtagaaga +tcttaaaactgtaccatagtgctcaattcgctaatggcttgaattatttaattgttctaa +ccctggcgtcgaatttttttggttcgaaaatacttagcacagcgtattgttcaacgagat +gcacaactgtaccgttagaaagcggcttaatgacaaggcagtattgtgactattgacagg +gaatcctaaaaagctactcgaattggtatatggaagaggtatgtactgagaggtcgcgcc +tattagtcaaattctgccaaagaagagtcaaaagcttaactagtttgatggtatgaggtt +taatgctaggtggtctataccaccaaaaagtatatgggatatcccagaatttatcgactt +tcaatcgtctaccgtcacgacgtacactaggcagccctaatccaaaacttttgaggatga +gtactgccactattatactgtaccatttgtaacttacattttatatcttcaaagaggtag +atattgtcggccattactgtcacttacactaagggtagcttgattactgatacctctcat +ggtaaaaagtaatttaagaacctatttttttacataacctctgctactaccgttagtgtt +ttagtcggttcaagtcacaaaatccctgtagcgcacccctataagcagaaggaaacctta +atgcggataaaaacttttgccggaaccgttaatcctatgagaataccactcttggaatcg +gtcctttaggctgaggatatagaacgaggggaacgcatcaatctaggttaggtgagagaa +ctttgtatcaaaacgcaagtaccatatgccgtcctcagtaaattgccaaatgcagaaatc +ttacactcttttcttaactaagtatgagagcaacctcactcctgaacagcttgttaccta +acgagaagaggctttaagtagcctggagcctcaaccggatatccggatttgactctcatc +cacttacatgatgattacggtcattacatctcatgattttctgagtgccctatagactgg +gaatttaatctaccctgtttctatttgttaacaaggagaaccactggtcaagatgacgcg +cttccatttatgccaccataagtaagttctcggaacccttacatgattggcctaccaacc +tatatatgtgaccaatgtacggtacatagagtgtggcctatcatattcaggtcatcgagc +tcagtatttaaagattatatggtcgctgggggtattcagtgcgcgatggaagactaacat +tggaaatcaacggaattgacaacacgctcactttaataacctatctcaggataagtttaa +tgtaattagacggaactttctctaactccgtgtactaactctttgaaaataatgtgggta +tttttatttcatctagatttgtctgtatcgaaagaaagtattggtccaaataatcctcag +taaaatcaagtcataaatataaaatttagatcttaggacagaggaaagtgctttcccgag +cataggatctggcctacgccagtagttcatgcttgtgttaaaagttgttactgtttatag +tccgtactcagggtagtgttcgatactcagcggggaactgacatattacactaaggaatc +aaggcccttcgtatgggtcatgtttatatatttaattacttacgctatttgatcgagaat +agctatagtaacgtcgtaagaatgcaggatgcgattcgagtttgtaaattcacagatact +gtgtatcatattattatagatgttaaggcatagaattattggtattgatgtacaaaaaat +tatgggtgggcagtaccgataggcattacgagcagtgcagcttggaagaactggatgtat +cctataactagtaagagccttaaaggtactacatacccagggatgttaccatcattaatt +tggccatcttcaatcttcgcaatgcatactttcttctacaagatgccttttagaagacaa +aataagtgtcaacaataacgctgtaacttaactctgttgtacgtggaatcaagtctcact +aaagcaactaacattccgacatgcaaacgcaggactactagattattaaattcgccagcc +cgcctcgtttaatataacatcataaaaattctaagtaatatctcacacactaatccgcca +tcgtccatagcatcagtcacctgtcttacacaaacacatgtttaatcgatgttgttatgc +caagctagtttcgcgaccatgtaactaattgtggaaagctgctaccttgaacgacatcaa +ccatcctacctttgtacaacagaccaacatctctgtactggtaaatagatctgaaaagtt +ataaatataactgttttcacattgatagaaaaacagctatgtgctatttgtatatactat +aataaattaagcgaaacatggagattaaaacagtgttttctcatcctccacctcttgttc +tgctaatttataattcttgatgccactcgtgtgagtcgtccattcgatcgtaaagaaccc +gacataaatagatacgacgctgaacgagatcctatttctcctgaaaattattagcacggt +aactcctagggatagtggtactagttggtatgaacgtataaaaacttgtactactttctc +gggatgtgagggagcaaactattactcgaccagtgcaacgcattatcgacagtaaaagtt +ttcagctgatacctgtctggatggattatatgcaggtaggcgagagtggattgtagcgat +gctcggcgggggtattttaaaaatctaggtgataaaagtcctgtttagccaggaaaagtc +atcattgcactgcatatcgtcgattagctgtcatttcgtccactggtaccagttcaacgt +acatcaaagtccgggcgcatccatatcaagttttgcaatagtactccagaccatgaaatg +gttatccagattaataataacttaatatactttcactacatactcagcgggtattaaatt +tcactttatgtcaaaggactcttatgtggtcttcaaaaaggtctagagtctatcacgcct +aattgtgtgaaaaccgagtaacttgatcagccttgtaaaatatagtagaatatgatgtta +aatcatttatattccagggagattgaatagcttacgattagctggtataatttaactcac +atgattaagcaaatatctgtaggaccgagggaaagaataaaataaagtaccatgagttcg +gaacgctgcattacatggcgttgggctagcctgatacaagaagatgagtatggagctctc +ttcatcgggacgtgacaaccctagcgtaatcttggcagatcccggagcagatgattatcg +tctaacactgtctttaccaatgcacaacgcatagatttaacctgaactgttctggattca +ctcctgactacagcctacaactcatttctatgcataactcttaaagacagtcgcaatatc +agtacctctatacacatcggatcagactagatcataagataagtctcctctggatccttg +tattctgttaagtacactacaaatttgtttagtgtctgggacaattacgataagggtcgc +gactagaccacagggcatatgacctccaccgctcctagcgagtctccaatctgcaagcac +tcatacgctaggggcatgaatcgactgtcaatgcactgtaagatttacgagggtgagacc +catttagatatgcctcgtttaaccgttttaggcttgataggatgagtttgtcgatccatc +aaattcccgacattcatattgtccaataagtatatctagcttattcggactcgctaaact +aaattatggtataaatgccgtcaaccggtgcatttgttcaatcaacaaattatagtcaat +ctcccatggggccttatggcagcgtatacagctggtataacgaccatatacaactatgaa +cggactagctgtgaactaagcagattattggatccttgtgtataattttaagtttcgatc +tatatgctatagtatagaaaatgttccgatcgtacgcttcctttacagttaaacagtcta +tatcatgaagcttatccaaagctggacatttgatggcaatcttacttaattatgaaactt +aattacctattattgaaagtatttatatgatcgaataagatttgctctataaacaggtcg +tccattcacgacctagtgattgcgtaaattgaccaacctaggtaatctaaagcctgcatc +tatttcttatcattcatgttatactgacccgttctcagtacttaaaaatgatcgtaagca +agaatcactcacgctcatgtcacatttagtcgaaataaactgccgatgggaaggaagttc +cgtcattgcgatatcgatgtctatcccacgcgtcattttcaaattggttatctacggata +actgtgcgatgaactactataggtcaaaattatcttcaatctcattctagatcatataaa +gatgtccttcgcgattgatacgtctacagtgtgttggtgttacacagagggtagcgacta +cttacttactaactctctcttgatccgcaagcataagccaggttaaagtgctctatcttt +ttctgtggattataatagttataccgccttgcatctaggtgcccattaggtaatgcccta +gtgttttcataaatttactcctgccatctaacgttactttaatttcccagattcaatagg +tctctcatttgaaaattgttatatgtcaacaaagaatataatagctgagtggaacaatac +actgtgagggagtaatacatactctaaattttctttacggtttgcgcctgcacagttttt +tttatctatgtgatccgcataaaaagtaatttcaacgttccattcaagttaagtcttggt +gacactagcattaggagagatcaccaagaccattatttatttagctagggtttaagtcgg +ttagaaatatcagataatgaggtctttatccggccttacgcagtagaaattggaaatttc +gtaaagcactgagttcaatggaagtatggccgaacccacataatgcacaaatcaagtcga +tttcttccgtccttttagtctcctgggaactacgggttattcatagttaagctaaatcag +ttaacggaactagacaaatgtataatagttcccaaatatatatctataaatcttatgcag +ttagggaatgcagatttgaatcatggcaatacgctagctcggaactcaactacaagtgtt +ggatgtacgaattcaaaggtattacatccttatgatgttcttttttggatacttttatga +cgacttccacgaagtgaaattatgttcgaatatctgaacagttacttggttgagcccaag +gatgacgaatgttctgtttataattctcgtcataatataaatacaagcatatgaggccag +tcatggagctttcatttggactaacatttccgtagagtcatatcacgcctgtaatctgat +ccgtctttttctattcgaagtgttatcagatacatgacgcccttgcgtgacattcatggc +tcctgacatcgggtcttttaggctgaatctaatctaacccaatttgtttggattgtgggt +cctccattttgtctgttaatgcttattaagattaaaaatgtactacgtatttagacctaa +tgattgcgatacgctgtggaccattaatataagctgcgccaggggatttttccagatcat +ctggcctgtgtatatgttcaaatctaatagccgagagaaattactccgacggaaaataaa +ggcagataagcgtttcagagcaccatcgtggcgtttagtcaacctttagttcggaattta +ttaatatacaatctcactctttggacgagctccttaaaagatgcccttgtatatcatgtc +ccgtacctaaaagtataccagcatcatcaaagaacagttaaggaatacgactgctctata +attgtccgaggagtaccttctcatctgccaatagtcgttgggttggaaaacaacgcatta +atatgccacacttgtcaattagaagtttctataaaggggacgagtaactgatttgagacc +tagcacggcagaggacgttcgtgtgacaacatctctttataagtttgagataaaatcgct +aatctacaatgattatttgccaatcattatcgaatgcgcaaagtatctcctgttcgtgat +tctagcctaaggccattactatggtcaaattatgctaatcgaagcagtcttctaacaccc +ttagaaaagcaaacactattgaatactgccgccgcattcgccagcaccaacataactgca +cgtgcttttttccatgattggcattatgaaagatttgatctatgattcttaccagttgca +atattcaatttagcatgtgttcctaattattgtgttattatggtctatctcatcatgtaa +atgaagatcatgacgtcaacacagattctagtcaggatcatcagttcctcggggaaatcg +cacctaggaacagccttatgcaaccgctaaacaaagcaatgaggatgtaccgacaaaagc +tcgatttaaaagcctcgaaacgagatgtacgaatcgtttactgccttttatgaggagtcg +agtactgttggttcatatttgctacatgattgtatgtaataacgatcccgccctttatcg +gttcgatcctttatggcgataagttatgaatcgtcagtatctttagatcaaaaactcaac +tagtacccagttccccggaggaacggtcatgattaatgcgttttacggtctcccgtccct +cttcttgtcagaggaatcagtttcatccgatcccactcgatgattggtatagctatttgc +cgaaaagccacaacgtattcggtactatcttgtttgattcccctgtatcttaattcgcga +cacttgatatcttttgtgtttaatcgacgaatcatcctgggggcgacacttgttacaatt +atccagttgcgtttaatggctgtgggtcacaagattgttagacaggtcccgcgtgtcgta +ggaaattgataattggagtttgcaggacgaatagctcacccgcctaagtgatccaaccct +catcaggataactatcactgggcagtattatttttgatttcatatgccaccccctaggag +actgtagtcatgtatctttcttacccaatctagcccgaaacaagaaagaatgtcgattcc +agtcaccttttattagaccgatttacacacaaagtgtcttggtttaaaggctggcatgaa +tacatactcaaaagttgaaaacgacttgctctattcgattaccttcgcgatctcaatcga +ttacgctaaattttaatgcccgctgaaatatccaacatttaaaacaggattaattctctg +atccatgaacttaggactcattgcacgtgacttatctttctctcttaattcatgctccaa +tacggtgggctaaaccacttttatcacatgaatgtacgcaacgtgttaataagctatgag +tacgcgggggcagcgaaacgggtcaatctgggtatcttctattgggacggtacatttcgg +ttttatagactatgtagttacacggcatcaacatgtaattaaaacggcgtaacctaggaa +agccgaacgcaccttgggattgccatgtgtccggaggattacatacatctaagaaacatt +ctaaactatgtatagtcgtttacgacccttgtagtacgtgcatcccttggcgaaaagtac +tctgggtattagagtgtatattatcgacagcaccgaatcctcattttatagcttgacaat +ttatgacccgaaagaaccttttataagtctataagtatatctaacgcaattgcggcactg +agtccactaactatctttgagcagtgttatacagtgagacgccatggaaggggtttatat +attttactgtcgttccctaaaaagttaattatcagacctgcgcgatctcgtagatgaaca +acgcgatctagtcgaaaaatgcttgtggctaccattccagtcgagatcaaccgtttctgc +ggatcgcgttacattccttgcttatttgcgataaatcgatacaaccccattaccagaaaa +acccggagaatcaattactctgcagatcttatactaaaaaagagattacaacccctgttc +tatgtgtcccaaagtgagtaacgtggagcgttggggtaagagcggagcgattttaacttt +cgcttttccattttccagtattgtactttacgttatatttgagcggcacattcgtcaaaa +catgatccatatggactgaggtgtttaaatgttaatcaaataattgtattttcagctgac +tttaaaatctgcagccattggaggtggagattccaatagatgtaagcaggtgatatcata +tgcaattcttgtgacttattaagataccagacacggcacaatcgcagtagcacgtaaaca +ataatgacaatcgacggttaaattccgaacgtaagatatgtttacggatgcactaaaata +ggtagcaacaacgtttctctgagatgtataagttaccaaacactggagaattccgctaaa +ctaaggacaatttccgtcgtattaattgttgacaaatggttagtaatacattcgcagtgg +ataatccgttgcatacctagcactgagtgtaaataaaaccaatcgactactggcatttcg +ggctaacgactagatgttagcctatgtgaaagcctcacacatgcttattgccttcacggt +gagcaatgtttcttattcgttattagaagtcacctgtagagacagtagagatgacctaaa +tttggtttgtccagtcccgaggtgatctaatgattaggttaacttagaacagtggtcaat +tggttaaagctgatttacgaacacttccgaggggtcgtaaaacattaaactggtgagaac +agtatgatgtattcggtcatctagacaaccccatcgctgggagtttggacagtgttatga +ttcgtaaatccaccatgtgtccgaattcgaaatcctgttgctccggggagatagggttaa +tttaggcttttttacggtgtggcatattagctcaaacatcaacattcttaaaatcagcgt +aaacggtcaccagttgatatttgttctgctaggaagcgatgtacaaaataagcttaataa +gatttaggtccgaccttaatttcggtccatagcacctctttctaagtgttttgcttaaat +aattgtattgttattgattttctgcgagttgaacacggaaaataagtcaaaaaggacact +tttaggttcatatgtaccgatgaatgcgcaatagaatcgagaaatttttagattagtaat +cgtgatgattgtggccaaatcccgcactaaacggctttcgctgtttccaaaaaattttag +tccactaggtatttaaatgttggacactgaacgtggaagccgtcgtattatgaaactaat +ggcagaggggctcctctgcgtgtactttgagcagatgctatcgtcagaaaaaggtaaatc +ttttggttctttataattctggcgtccgtgtagcctagtgaatgtgtttggttcaagtga +atttgtttagccagaatggaccaattacgtcattagctgttacgtctatacgaaatatag +actgtggacgacccatcgtagagtcatgtagttacatgtgaccttagaacaccaatcgtg +tgcgattgtaagcaggacaacacagtattgtactggtcaattggttcatagatctgacta +tgaatcttcgtttttgtacaacaatctcggtgaagcttcaaaaagcctccttcctaataa +tcagttaatttttcgtaaggttcctgttcgaggttagtcgtataaagacgaaacggcctt +aatgtaacattaactattccactgtaggtggatctaacaaggttggacatgtgctaccaa +taagataagaatttcgtccgcaatacaatatctacttttgtagcctatcttggattaaca +acaacttacgttggtatttcaccggacgtatcaaatgattctgattttaatgactgagag +taaacatcaacgaatcttatgtatctttaagccgctgcttgacaagtcacattactgtta +gaatgaacgcttcattactacaaaacctaccaccaactcccacattaatattatactaga +tgtttgaagtttatttgacaaaggttttcaaaaagcacagaatcgttacgaacacgtaca +ttaaattgttagggtattaattgtggtcggtgcatttccggccccatagcgctccgcggg +gagaaactatggccttcatgacagcccccccataacatctaggtaatggtcggataacta +taaacaaccctctccagagaactgtgaaaataaaatctcttagtacacaagcgtatactg +gtttaagtcttgcccatcttaaagactcttttcactattttcttgatgcctcattcttct +aatattaggtgattttttaatccgagaatataaaaagacgatagaaagtgttaaaacacg +gcgtagcgacatattttaaagaaatgaaatactttttgactatccctcatgatctaaact +tacgcggagctatctttttgtataacatgtacagagaattaatccgatgcttcttccgat +taaggacatagcgccgaaaacgtcatggcggcttatcgatatcgtaacgcactataccaa +gtgattaagtgatcaatgaatacgggtttcgggatttctgttaagtcatgcacggcaaat +acttggagtcttgaataacgccgcgcgtagtacgaaggttctcaagctcgcgtgacgtat +agaccgtattgctatttcctgccttctcaattgtccgaggattgctgataacttaaaata +aggttgagtttttaataacgatttgtcgagtttgggaaaatcctcgtttgtgtgtttgtc +attttcaagttatcaagaactacgggtataatttacgacgtaatgttggtttgatgcccg +attgcgaatatcgtacgaatggtatttgtacaactgctttcctttatcgattgctcgaga +acattataaagtctattactatggattaagactgtatacaagtgtttaagcggagcccgt +gataatctataaggttttggtacctttatctgttacttttgccttgaaacatacatacgt +acacgggaatatttacctaaacgccgtatagtccagcctcgtatttgggccgtgttttgt +cagcattttaaactgaaagcgcccacttgcattataacccggtgcggaatctcttagtga +ctcgtcaggagtttacgcctttgagacctctcgacaggacccattttgatctagtcgtta +taggtagagtgcctttcctatcgcaccattaccttctagcaaacttagagtattcaatga +aatcatatcctgtttatactaaatgttataggctaatgacacagctgacactaagaggtc +tcttcgggttacccgaatgagttgtttatacgatgttgacaactcgggggagtcatttca +atgaagactgaggactcttgatcagattaaaacgcttaatgactgataatttagattatg +ccgtgtattatttaagtgggcgaaccctcccctagaatgggtttcctgagaaaagtctta +gaacacagtattctgaatccagatgcaaatcgctaacgttagtaagcggctgtagctctt +ggcagtttggtcaatagtcaatcgcaatccgtttaaccgtctactattcctagagcgaag +agctatgttctgacacgtccccaatattaggcaaaggctccaaaagaacagtcaattgat +taactacgggcttggtttctccgtgaatccttgcgccgctataccacataaaaggatagc +ggtgataccacaagtttgcgacgttaaagcgtcgaccctcaacaagtacactagcaaccc +cttagcaattaattttgtccatcactactgccaagagttgactggaccagttggaaatga +catttgatatattaatagagctacatattgtaccactttactgtcacttacactaaccct +agcgtgattactcatacatatattcgtaaattctaagttatgatactagttttgtaaatt +taatcggcgaagacacgttctcttgtacgagcttcaactaaatatttcactgtagccaac +cactttaaccagaaggataccttaatgccgatataatattgtccaggaaacgttaatact +ttcacaagacaaagcttggaagaggtactttacgatcacctgatagatcgaccggaacga +ttctatataggtttggtctgagaaatttgtagctaaaaccatgttccataggaactcctc +tgtaatgggcaaaatgcagatagcgttcaatcgttgcttaactatctatcacagcatcct +aactcctcaacagcttctttcctaaagacatcagcaggtaagttgacggcacccgataac +ccagagcacgattggaatctaatactctgtatggatcattacgctaagtaaatataatga +ttttctgactcaaagttacactgcgaattttatattaactggttctatttgttaaatacc +acaacctctcgtcaacaggtcgcgatgcaagtgatccaaaaatatctaacttataccaac +cattacttctggcgcagaaaaacatagatatctgaacaatcgaccgttaagactgtctcg +ccgatcttaggaacctaatactgctcagtagttattgtttatttgggccatccccggatt +atgtcagccatggaacactaaaagtcctaatctaacctatggacaaaaagctcactttta +taaaattgctcaccttatgttgattgttatttgtccgaaatgtctataactcagtgtact +atctattggaaaattatggccggagttttattgaatatacttttgtatgttgagaaagaa +tgttgtcgtaataattatcagctggaaaatcatctaatatatattatattgagatattac +gacagacctaagtgctttcccgtcatgagcagatggactaacactcttggtaatccttct +cgttttagttggtaatgtttagtctaagtaatatcccgactcttacttactcagagcgga +aatgactttttaaactaacgtttaaaggcacttagtatgcgtcagggttatttttttaat +tacgtacccttgtgcagagagtttagctattcgatcctacttagtatgaaccatgagagt +acaggttggtaattcacagagaaggtcgagaagattatttttgatgtttaccaatactat +gaggcgtattcatcgaaataattttatggctgcgcacttcacatacgcaggaagaccact +gcagcttgctagatctggatgtatcattgtacttctaagagcctgaaaggtaatacattc +ccagcgagcgtaacagattgtatggggacatattcaatcttagcaatgcattcgttcttc +gaaatcaggcatttttgatgtcataagttctgtcaactataaccctggaactttaatctg +ttgttcgtcgaatcaaggatcaagaaagcttctaaaaggcccaaagcaaaacccaccact +acttcagttttaaattagaatcacaccctagggtattagataataattaaatgtcttagg +aagagatatcaaaagatgcagacatcctcaagtgaataagtctccggtctttcacaaaca +catggttaagcgatgtggttttgactagagacgttcgccaccatcgtaatatttctggtt +acctgcgaacgtgaaccaaatcttacttcatacattgcttaaacagtacaacttatctct +tatcctatagagatctcaaaagtttgtatttttactggtttcaaattgagagaaaaactg +cgttctccgatttctatattattgtttaaatgatgccaaacatccagtttaaaacacggt +gtgatcagccgactcagattcgtatcctatgttagaatgagtcatcaaactacggtcacg +cgtacattacagagtaaactacacgaatgaaagagataagaagatgaaagagttaatagg +tctcctgttaattatgagaaccctaactactacggattggcctactagtgggttggaacg +gatataaaattcgactaagttcgcggcatgtcaggctcctaaatatgaagagaactcggc +atcgaattatccacagtaatagttggaacatgattcctctatgcatggtgtatatccacg +tacgccagtgtgcagtgtagccatgcgaccacgggcgttgtgaatattcttcctcagaaa +aggactgttgagcaaggaattggattctgtgaacggaatatagtcgagtagatggaattt +cctacactgcgaaaaggtcatagtaaatcaaacgccgcgcgcagacatatcttcttggca +attagtactccactaaatcaattggttataaacttttagaatatctttatataagttcac +tacttacgctgcgggtagtatatttaaagtgatgtcttaggaatcttatggcggcggaat +aaacggcttgactatagataccctaattctggcataaccctgtaacgtgtgaagcatgct +ttaatagacgactagatcagcttatagaatggatatgactgccacattgaagagattaac +attagcgggtataatgttacgaacttgtttaacaaaatagctctaccacacacgcatagt +ataatataaaggtcctggagttcgctacgagcctggaattgcagttcccctaccctgagt +aaacaagatcagtatggacctatcttctgacccacgtgtaaaaactaccgttagcggccc +tgagaacggtgaagttgattatcggctaacactcgctttaccaaggaacaaacaattgat +ggaacaggtaagcggctggattctatcctgaatacagcataataatatttgctttcaata +tatagttatgacactcccaatatcactaactctttacaaatcggatatgaagagtgaatt +agagatggagccgatcgttccttgtattctggtaagtactcgactaatgtgtgtagtcta +ggggtaaaggtccttaaccgtcgagtctagaactcacgcattatgaaatcctccgagcat +agagactctaaattcgccaagcaataagtcccgacgcgaaggatgagaagctcattgaac +tgtaacatttacgtcgggctcaccatgttacatatgcagcgggtaaaagtttttgcctgg +agtggttgagtttcgcgatacataaaaggccccactttcatatggtcaaatatctatatc +gtgctttggacgactcgataaactaaagtagcctagtaatgccctaaaccgctgcatttg +tgcaataaaaaatttagagtatatataacttccggacgtatggctgccttgaatcctcgg +atatcgtccttatacaacgatgaacggtatagctcggaactatgcagattaggcgatcct +tgggttgaatttttagtttccatagatatgagttagttttgatatggttaccatacgtcc +ctgcattgaaacttaatctgtatattgattgatccttagcaatagcggcacatttctggg +caatatgacttaattaggttacggtttttactatgatggatacgttttatatgatagaat +aacagttgctatttaaacaggtactacattcaactaatactgtttcactattgtgtccaa +catagggaatatattgcctgaatagatgtattatcaggcatcttttacgctccaggtaga +actaattaaaaatgatccttagaaactttcaagcaacataagctaaaagttacgccaatt +ataagccacatcggtaggatcttcaggcattcccatatccttctctatcaatcccgtctg +ttgctaattggttatctaagcatatcgcggcgagcatctacgataggtataaagttgctg +ctatctaattcgtcataatatatacatggaattacagattcatacgtcttcagtctcgtg +gtgtttctaagagcggacccaagaattacgtaatatctctctcgtgttacccaagaagtt +gacacgtgattgtcagctatctttttctggcgatgttaatagttataaacaattgcatat +agctgcaaattagctaatcaaatactcgtttcttaaatgttatcagcaaagctttaggtt +ctgtaatttcactgtgtaaagagggcgctaagttcaaaattggtttttggcaacaaacaa +tttaatagcgcagtgcaaaaataatatctcagggtgtaattatttctctaattggtcttt +acggttggaccaggcaatgggttttttatctatgtgataccaattaaaagtaatttcaaa +gtgacattaaacttaagtattgctgtcaagaccattacgacacttcaccaacacatttat +gtattgtgctacgcggtatggcccgtagtaatttctgatattgaccgcgttatcagcaag +tacgctgtacaaatgccaaatttagtaaagctctgtgtgcattccaaggtgcccacatca +cacattatcaacatatcatgtcgttgtattacgtccttttactagcctgggaaataccgg +tgattcagagtgaacataaatctctgaaagctactagacaaagctagtatagttaaaata +tatatttcttttaatattaggatctttgcgattgcacatttcaagcatcgcattaaccta +cctccgtactcttctacaacggttgcatgtacgatttctatgcgatgaaatacttatgtt +cttagtttggggttactttgttcacctagtcctcgaacgcaaattagcttcgaatatctg +aaaagtgtatgcgggcaccaaaacgatctcgattcttaggtttataattatagtcagaag +ataaatacatgcatatctggacactcttccacatgtcatgtcgactaactttgaactaca +gtcatatatagactgttatctgatccgtatgtgtctattactactcttatctgagaaagg +acccaatggagtcacagtaagcgatcatgtcatcggggctttttccctgattataagatt +acactattgctgtgcttggggcctcctactttttctatcttaatcattttgtacattaaa +aagctaagaagtaggtacaacttatctttcccatacgagctggaccattaatttaacagc +cgcaaggcgagttttaatgttaatctggaagggctttatgttctaagcttttagcactga +gaaattaatccgtaggaaattaatcccacataacccggtaagagaaccttacgccccgtt +actaataatgttctgcgcaatgtaggaagtgacaagctcactcttgcgacgagctcctta +atacaggccctgcgttatattcgaccgtacctataactagaccaccatcttaaatgtaca +gttatggttttcgacgcatagagtatgggaccacctcgaaatgctcagctgcaaattgta +ctgggggtggttatcaaacatttaatatgaatctatggtaaagtactagtttatagatag +ccgaacactaaaggtttgcagaccttcctcccctgaggaacttcgtgtcacaaattagat +tgagaaggtggtgataaaatcgcgtatctacaatgatttggtgcaaatatttatcgattg +cccaatcgttctactcgtactctttatagcctaacgccttttcttggcgctaattagcct +aatccaagaaggagtctaacaaaattacttaaccatactcttgtctattcggcccacgca +tgcgcaagctcaaaaagttctcaacgggcgtttttacttgagtcccaggaggtaacattg +gatctatgagtcttaacagtggaaatatgatttttagattgtgttcagatttattgtctt +attttggtctatctcatcagctatagctacataatgacgtcttaactgtttcgactaacc +ttcagatctgactaccccaaatacaacatagcaaaagaatgatgctaacgcttaactatc +ctttcacgatcttaacaaaaaagctccatttaaaagaatcgaaaacagatctaccattcg +tggaatcaatttttggacgagtactggtcgggtcgtgcttatttgctacaggattgtttc +gtataacgttcaagcactttagcggttccatccttgatggcgttaactgatgatgcgtaa +gtttatggtgatctaaaactctactacgaaccaggtcccagcacgaaacgtcatctttaa +tgagtttttaggtctccaggcactaggctgcgaagtggaatatgtgtcatcagagacaaa +tagatgattcctatagctttttgcagttaagccactaagtaggcggttctatagggtttc +attcaaatcgatcgtaattcccgactctgcatagcgtgggtcttgtatagaccattcttc +aggcccgccacaatggtttcaagtttcaacttccgtttattggctgtccctcaatagagt +cgttctcagggcacgactctcgttcgttattcataagtccagtttgatccacgaatacag +aacacgcatatctgataataaaagcttaacgataactttcacgcgcatggtttatttttg +atttattaggcaaccaaataccagaatgtagtcagcgatatgtagtaaaatttagacaaa +cataaaacaaagtatcgccattacagtctcctgttaggagaacctttttatcaatatgtg +taggcgtgtattggcgcccttgatttaataataattacggctaaacgtattgatattttc +caggaactgccccatctcatgagatgaccctaaattttattcacacctcatttttaattc +ttttatatcacgattatttatctgagcaagcatctttgcaagcattcatagtgacggtgc +tgtctctatgaatgcatgctaatatacggtgcgctaaacatattggttcaattcaatgta +agctacctcggaatttgcttgcactaagacggggaagccaaaacggtaaatcgccgtata +tgctagtgccaagggacttgtccgttggagtcactatggagttacaagcattataaatct +aaggaaatcgcagtatcagtccttaccccaaagatacttcgcattccctggggtacggac +catgaaatacttctttcatacatgataaacgatggagactcggttaccaccctggtagtt +actccatcaattggagttaactaagatcgctattacaggctttattagccaatcatcaca +agcctctttttagagattcacaagttagcaaaccaaagttcctttgataagtctttaacg +agatctatcccaattccggctaggagtaaaatttatatatttgagatcggggttaaagtc +acacgcaatgcaaggggtttttatatggtaatgtccttccctaattaggtaattttcaga +cctccgagagagagtagatcaacaacgcgttatactcctaaaatgcttgtcgataacatg +acactacagatcatccctggatgagcatcgactttcattacttgattagttcagttaatt +cgtttcaaaccattttcaacaaaatcccccagtagatatgtatatgcacatcttagacta +aataacagttttcataccctgggatttgtgtcactatctcaggaacgtcgagacgtcccc +tatcaccgcagcgagggtaactggccctgttccattgtaatcgatgggacgggacgttat +attgcagacccaaagtagtaataaattcagccatatggacggagggggggaattgttaag +aatataattcgattttcagctgaatgtaaaagctccagccattcctcctccacttgacat +tagttcgaagaaggtctgagaattggaattgcttgtgacgttttttgtttccagacaagg +aaatagcccagtaccaagtataatattatgacaatagaagcttaaattcacaacgtaaca +tatctgttagcatgctctaatagaccgagaaaataagtgtctatgtgtgcgagaactgtc +aattcacggcagtagtcacctaatctaacgtctagttcccgactatgaagtcttcacaaa +tggttagtaataatttcccagtggagtagaagtggcataacgtgcactctctgttaataa +tacctttagactactcccatttcgccagaacgtcttgatggtaccctatgggaaacactc +acacatgcttattgcctgcaacctcagcaatgtgtcgtatgcggtatttctacgaacagc +tagtgaaaggactgatgacctaattttggtttctcaagtccagacgtgatattttgatga +ccgtatctgacatctctgggcaattcggttaacctctggtacgaaatagtccgtcgcgta +ggtaaaaatgataatgctgtcatcactatcatgttttagctaagctacactaccccatcg +ctcgcacgtggcaaagtgtgaggattccgatatcatccatgtgtacgaattcctaatact +cttgctcagggcacttagggttattgtagcctgtgttaccgtctcgcatattagatcatt +aatcaacagtcttataatcaccgtaatcggtaaacagttgttatttgttctgataggtag +acagctaataaagatgctgttgaacagttacgtcccacctttattgccctacagtgaaac +tagttcttactctgttgctgtaatatgtctagggttattgatttgctgccacttcaaaac +ggaaattaagtcattaacgaaaatggttccttcataggtaaagatcaatccccaattgaa +gccagaaattttgagatgtcgattcctgatcattcgccaaatttacagctcgtaaacgag +ttccatgtgtaaaaaaatgttgagtccactagcttgtttattctggctcaaggtacgtgg +aacacgtagtattttgatactaatgccagacccgctacgatccctgtactgtgagcagag +ccgatcctcagaaatagctaaatcttgtgcttcgttagaagtctcgactacgtgtagcct +agtgtttgtgttgcgttatagtctatttgtggacacagtatggtcaaatgacgtcttttg +atctgacggcgttaacaaagatactctgggcaacacacatacttctctcatgttgtttct +tcggacctttcataacctttcctggcacatggttagctgcacatcacaggattgtaaggg +tctagtggttcagtgagcggaatatcattcgtcggtggtgttaatctatctcggtgtagc +ttataaatgcatccgtaagaatattatgtttatttgtcggtacgttcatggtagtggtgt +cgccgatttagacgtaaaggcatgtatggatcttgatctatgcaaaggtaggtccatcta +tatacgttgcacagcggatacaaataagataagaatttactaacatttaaattttcttat +tgtcgagcatagattggaggaaaaacttatttacttggtatttaaacggaagtttctaat +gtttatgattggatgcacggacagtttactgcttactttcttaggtttcttgaacaacag +gatgcactagtaacatgtctcgttcatgcttccattaagttcttcttaaacttacacaaa +ctacctaatttagagttgacgagatggttgaacgtgttgtgacaaacgtttgcaaaatgc +acagtatcgttaccaaaaagtacatttaagtgtgtgcgtaggaattctgctacgtccatt +gcaggccacattcacatcccacccctgaatatatggactgaatcacacacaccaaatttc +atctaccttatcgtagcataactattaacaaacatatacagacttcgcggtaaataaaat +atattagtacacaaccgtatactggttgaactattgcccagctttaagacgcttttaact +aggtgcttgatcaagaagtattattatatgacggcagtgtgtaatacctgaatagatata +gacgttagattgtctgaaaacacgccgtagagacatttttgttagatatgtatttctttt +tgacgagccagcatcttagtatctgaagacgagctatatgtttgtagaaaatcgactgac +attgtatacgaggcggcgtaagattaaccaaattccccagaattagtaatggcgccttat +cgatttactaacgatatataacttgtgatgttgtctgcaatgtatacccgtgtaggctgt +gctcttatcgaaggaaacgcattgaagtccaggctggatgaaaccaccgcgtacttccat +gcgtctatacatagcgtcaccgatactacgttttgctatgtaatccattctaatgggtaa +gaggattcctcttatagtaaaatatgcttgactttttaagaaccattgggagtggttggc +aaaataatagtgggtgtctttctcagtgtatagttttctacaactacccctattaggtta +caagtaatctggctttcttgccacttggcgatgatagttagattcgtatttctacaacgc +agttactgtatccatggcgcgagataattagatacgatttgaatttggatgtagactcgt +tactactgttgtagaccagcacgtgagtatctagatgggtttgctaccttgttagcggac +ttttgccgggaaaaagacatacgtacaaccgtatattttactataagcagtattggccac +cctcgtattgcggcagggtgtgctcacctggttaaaatgaaagagaaaaattccatttta +aaacccggaggaatctattactgacgaggaaggtgtttaacccgttgagacatctcctaa +cgtaaaaggttcatattctagttattccgagagtcactttcctatccaaacatgaactga +tagcataatgacaggttgaatggaaagcatatcctgtttattctaaatctgtttcgctaa +tcaatatgctgtcacgaactcggagcttacccttacaactatgtgttctgtttaccaggt +gctaatatcccggcactcttttcatgcatgtcgctcctagcgtcatctgatttaatagct +taatgtctcatattttacagtagccagtgtagtatggaaggcggcgaaccagcccctaca +ttgggtttcctgacataagtattacatatcacttgtctgattacacagcaaaatcgctaa +ccttactttgcgcatgtagctattggaactttgggctagtgtctatcccattaagtttaa +cagtagactagtccgtgagcgatcaccgagcttatgtctcgtacccaagttttggatttg +gatcaaaaactactcgatattcatgatctacgggcttcctttctccgggtatcattgcgc +cgagattaaaaataaaacgatagcgctgtgaaaacatgtttgacacgggatagcgtagaa +actaaacaacgaatagaccatccaatttgaattttattgggtccagcacttcgccatagt +gttgaatggtaaagttcgaaaggaaatttgttatattaattctgctacattttcgaccac +ttgtatctcaaggacaatatcccttgaggcttttagcagaaagagatgccgtaattctaa +gggatgataataggttgggaaatttaagagcagtagtaacggtcgcgggttcgaccttaa +actatatatttaaatctagccaaacaagttaacaacaaccataaagttatgaccttatta +tattggcaagcttaacgttttaattgctctagtaatagagtggtagaggtaagggaccat +cacctgattcttcctccgcaaccattatatagacgtgtcgtctgacaaatttcgagataa +aacattcgtccttagcaacgaatatcgaatggcaattagccacattgagttaaatagttg +aggatatttcttgcacagaatcagatctaatctaatgattcgttactaaacacttcacca +ggtatcgtgaaggctcaagattacccagagaacctttgcaatataagaatatgtatgcag +cattaccctaagtaattatattctttttctgactcaaagtgacaagccctagtgtatatt +aaatcggtatatttgggaaattcctcaaactatcctaatcaggtagccatgaaagtgatc +aaaaaagttcgtacttataccatacatgaattctggccaagtaaaaaatagattgcgcaa +aattcgtaccttaagtctctcgccaagatattaggatcctattactcatatcgtgttttt +ctttattgccgccatccccggagtatctcacccatccttctcttaaaggcctaatattac +ctatgcaaataaacatatattgttgaaaattgagaacctgatcgtgattcttatgtgtac +catatgtatagtaatcacgcgactatatagtgctttagtatcgcccgtgggtgagtgaat +attctgggctagcgtgagatagtttcttgtcctaatatttttcagatcgaatagcttcta +tttttgtgtttattgacatatgtcgaaactccttactcagtgaaagtcatgaccagatcc +acgaacaatcttcggaatcagtctcgttttacggcggaatcttgagtctaacttatatcc +cgtcgcttactttctaacaccccttatgtatttttaaaattacgtttattcgaacgtact +tggcggaagcgttattttttgaagtaagttacattgggcagactcttgacattttcgata +cgactttctttcatccatcacaggactcgttcgtattgatatcagaagctcgtgatgatt +agttgtcttctttaccaatactttgaggcctattctgcgaaatttttgttgccctgcgaa +cttcacataccaaggaacacctcgcaacatgccttcatatccatcgttcattgtaattct +tacacaatgaatcctaagtaattacatccctgcgtaaaagatggtaggggcactgaggat +atattaccaagcatttagttatgagtaatcagcaatgtttcttgtattaagttctctaaa +atagttacatcgtaatgttatctcgggttccgcgaataaacgagatagattcattatata +tggccctaagcaaaaacctcctcgtattctgttggtaattagaatcacacaatacgggtt +gagatattaattatttgtagtacgaagagatataaaaagatgaacaattactcaagtcaa +gatgtatacgggatttataataaaaatcgggtagagatctgctttgcaattcagacgtgc +cactaaatcgtaatatgtcgcgttacatcagaaagggtaactattattaattaataaagg +gcttaatcactacatattagatcttatccgatagtcttatctattcgttgtatttttaag +cggttctaattcagtcattatatcagtgctccgagttctttattattgttttaaggatga +caaaatgcctcttgttataacgctgggagaagcagactaagagtcggagcagttggtaga +atgaggctgcaaaagacggtctcgacgaatggacagactttactaaaccaatgaaagaca +gaagtagagcaaagtctgaagtggtatcagcttaattatgacaacccttaatacttccct +ttcgccgaatactggcgtggaaaggttttaaaagtcgaagtagttagaggcatctctcgc +tcataaataggtagactactcgcaatccaatgtgactatgtaatactgggaacatcagtc +cgcgatgcagcgtgtttatcaaccgtccccactcgcctggggagacatgagaccaccccc +gtggggattattagtccgcagtaatcgactcttgacaatccttttcgattatgtcatagc +aatttacgacagttcagcgaagtgactactcggcgaaatggtattactaaagcattcgaa +cccacatgaatgtgattcttggcaatttctaatccactaaagcttttccgttgaatctgg +ttgtagatatttatataagttcactaattaagatcacggtagtatattgatagtgatgtc +tttgcaagaggttggccgaggaatttacggattctctattgatacaatttgtctggctta +taactcttaaggctgaaccaggcgtttttagacgacttgatcagctgttagaatggtttg +gactccctctttcatgtcagtaacatttcagccgttattgttacgatatgcttgaacaat +attgatctaccacacacccatagtatattttataggtcatgctgttacctacgagcatgg +tattccacttcccattcaatgagtattcaacatcactagcctcagagatgatgacccacc +tctaataacgtcacgttgcggccatgtgaaacctgaacttgagtagacgatatcaagcgc +tttaaattgcatataacatttgagggtaaagctaagcggatgctttatataatcaatact +caataataagatttgattgcattttagagttatgacacgacatagttcactaacgagtta +ctattcccagatctagactgaagtactgatcgagacgatccttacgtcgatgatcgttag +ttatcgacttaggtcgggtctctagcggtattggtacttaaccggacactatactaataa +cccatgatcaaagcataacagaatacagacgataatttcgccaacatatatgtacagacc +ccaagcatgagaagctcattgaaagctatcattgaagtcccgctcacaatgtgtcttttc +cagacggtttaactggttcccgggagtcctggagtttcgacttacataaatggaaacaat +gtattttgctaatttatctatagcgtcatttggaccaatacagaatattatgttgcctag +taatccactataacccgcaagtgctgatagaaaatttttagacgatttataaatgcccca +agtatccctcccgtgaatcctccgttatactaattagtattcgttcatacgtataccgcg +catatatgaacatttggcgataaggcgcgtgaattgttacgtgacagagatagcagtttc +ttgtgatatggttaacagacgtacatgaagggaaactttatatctatagtgatgcttccg +tagaaataccgccactggtctgccaatgatgaagtatgtagctttaggtttgtactatga +ggctttcgtttgtttgcagagtataacagttgcgagtgaaaaaccgacgaatttatacta +atacgctttcactattggctacaaaatagggaagagtttcaatcatgagagggagtatat +ggatgctttgtagctaaaggtagaacgtatgtatatgctgccgttcattcttgaaagata +cataagcgataagttacgacaattataagcaacatccctaccttcgtaacgatttcactg +ttactgcgcttgaaatacactatggggctattggcggagagaagcagatcgcgccgagca +tatacgagacctataatgttgatgatagagaaggcgtctgaattgatacatcgaagtaca +ctttctttcgtagtatctctcgtcctctttctatctccggacacaagaattaagttatat +atatagagtcttaccaatcatgttgaatcctgattctcagagttctttggcgggccttgt +gatgactgagaaacaatgcaatattgctccaaatttcctaagcaaattctcggttatgtt +atgttatcagcaaagcgttacgttatgttatttaaatctggaatgacggagcgaagttct +tatgtcggtgtgggaataattcttttgaagacagcactccttaaataatatcgctccgtg +tttgtatttatcgaatgggtctgtaaccttgcacaagcaaatcggtggtgtatatatcgg +ataacaattaatacgatgttcatagtgacagtatactgatcgagtcctctaaagtcaatt +acctcacttaacaatctcattgatgttgtgtcattcccggtatcgcccgtagtatgtgct +ctgattgaccgagtgtgaaccaaggaacatctactaatgcctttgttaggtaagatctct +ctgaattccttcgtgccaacttaaaacattatcaaaatttcttctacttggattaactac +ttttacgagcatggcaaattcccctgtggaagacggttcattattatcggaaaccttata +gaaattgcgtgttgactgaaattagatttttattgtaagagttgcatctttgcgattcct +ctggtctagcttccaatgaacagtcctcccttctattcgacatcgggtccttcgtacatg +tctttgcgatgtaataattaggttcggagtgtggccttaatgggtgcaactaggaataca +acgcaaatttgctgacatgatagcaaatcggtatgccggcaccaaaacgtgctccttgct +tagcttgtgaatgagactcagtagttaaataaatccatatctgcaatcgattccacaggt +attgtccactatctttgaactactctaagagatacaagcttagctgagaccgaggtgtat +atgactacgctgatatctgtaaggtaccaatgcaggcaaagtatgcgagaagctaatacc +ggctgtttccagctttataagattaaaatttggctgtcctggcggcctcagaattgttct +atcgtaatcagttggttcattaattagctaagtacgaggtacaacttatctgtcccagaa +cagctccacaagtttttttacagccgaaacccctgtgtgaatcttaatatccaagcgcgt +tatctgattagagtttacaactcagtattttatcagtacgttttgtttccaacattaccc +ggtatgacaaaatgacgccacgtgtcgaataatggtctgaccaatgtaggaagtgaaaag +ataaatattgcctacacatactgaattcaggcaatgcgttttattcgaaaggtcatataa +ctagaaaacatgatgaattcttatcggatccttttactagcatagtgttggcgaacacct +cgtaatgctcagcggcaaattggactgcgggtccttatcatacattttttttcaatatag +gcgattggtctaggttagtgattccccaacacttaaggtttgctgacattcataccctca +gcaacttcctctcaaaaattagagtgagttggtggtcttataagaccgttgattatttga +ggtggtcaaatgatggtgcgatgcacaaatcgttataatcgtactctgtagacaataacc +cattgtagtgccgattttgtgcataatacaagaaggaggatataaaaatgacttttcaat +aatattggctattagcaacaagaaggagaatcctcattaagttagcaaccgcagggggta +ctgcagtccaaggaggtttcattggagagagcagtatgaaaacggcaattatgattgtga +gattcgctgaagattgtgtctctgattttcctagatagaataagctatagctacttaatc +aactcttaactgtggagactatcctgatgatctgaataccccatttacaaaattccatat +caatgaggctaacgcttaaatttcatttctccatcgtaacaaaaatcagcctttttatac +aagacaaaacactgcttccattacgggtagcaatggttgctcgactactggtagcgtcgt +gatgtggtgataaagctgtcttgcgtttatacttaaacaaattttgacctgacataatgg +agcgacttatcggatgttgccgatctttagggtcatctattaagcttatacgaaaaaggg +acaagcacgttacgtaatctggtaggactgggtacctagaaacgcaagaggaggcgaact +ccaatatctgtaagaacagaaaaatacaggagtccttttcatttttcaagttaacaatat +aagtaggagcttagagaggcttgcatgaaaatcgttaggaattacagaataggcagagag +tggggcgtgtagactacattcttcaggccccacaatatgggttataggttaaactgcact +ttttgcgatctcccgaaatactgtcgttctctgcgaaccacgctcgttccttttgctgta +gtccacgttcatccaactattcagataaacaagatcgcagaattaaagcttaaccatatc +ttgatagcccatcgtgtatggggcatgtatgtgcaaacaaaagacctcaatcttgtctgc +gagagggaggaaaatttagacaaacataattcattctttcgactggacacgctaaggttt +ggacaaactttgtatctatatctggaggcctgtattccagcccttcttttaataagattt +acggcttaaactatggatatttgccaggaaatgacactgctattgacaggaacataattt +tgattcaaacctcattgttaattattttatatctcctgtttttatatcagaatgcttctg +tcctagaaggcatactcaaggtgagggctcgaggaatgaatcataatagaccggccccta +ttaatattggttcaattctttcttacataacgcggaatttgattgcacgaacaccgggaa +cacataaccgtatagcgcccgttatgctagtgcctagcgactgggaccgtggagtctata +tcgtctttctaccattattaatctaaggatataccactttaagtcctttcaactaacata +aggcgcattccatgcgctaaggaccttgaatttattatttcttacatgataaaagatcga +gtcgacgggaacaaaaggctacgtactcaataaagtgcagtttactaagagccctttttc +tggcttgtggagactatcataacatgaagatgttttgacattcaatagtttgcaaaacaa +acttactttgtgtagtattgaacgagatctttccaattgccccatagcaggaatagttat +atattgcagatcgcggtgtaacgcactccaaatccatcgcggtgtgtgagggtaagcgac +ttaaagaattacggtttttgatcaaagcacagtgagagttgagcaaattacagttatacg +acttaattcagtctccataaattgaaacgacacttcttaacgggaggaccagacacgttc +attaagtgaggagtgcactttttgactttaaaaacatggtaatcaatttaaaccacttga +tatgtatatgaacagatttgaagttatttctgttttaatacactgggagttctgtcaata +tcgcaggaaccgcctgacgtcccctatcacacctcagagggtaaagggacaggggaaagg +gtaatcgaggggtagggaacgtagttggcacacccaatggacgaataaatgctgccatat +ccacggagggcgggattgcggttgattttaaggcgatggtaacctgaatgtaatagatca +tcaaatgcctcctccactggaaattactgcgtacatccgctgagaattgcaatggagtgt +ctcggtttttctttaaacaaaaccaaattgacaacttcatagtataatttttgcacatta +caagcgttaattaacaaacttactttgctgttagctgcctatatttgtccgacaatataa +ctggatatctctgcgagaactgtaaattaacggcacttggaacataatagttcctattgg +taacgacgttgtaggcggcaattatccggtggaagaattgacaactgcagttgaactgca +tgaaagtcaaatctctcgtaagtataactttagaagactccaaggtacccagaacctctt +cagcggacacgatcgctatcaatcaataaggattattcactgaaaccgctcatatctgga +ggtggacgtttttcttcgaaaagcttgtcaaaggactcatcaaatttttggccgtgctaa +tcgacacacctgttattttcatgaccggataggacatctcgcggaaattcgggtaacagc +tgggtagatataggacctcccctacgtattaatgataagcctgtcataactagcttggtt +taccgaagagacaataaacattcgagcgctcgtgccaaactcggtgcattacgtttgaat +aaatcggtaacatgtactattactctgcctaacggcacttacccgtttgggtccatgggg +taaccgctcgatgttgacagaattatgctaaagtcgtttaagatcccgattaccgaaaat +ctggttatgtctgagcattcgtacactgcgtattaagatcaggttgaacaggttcctaac +aaattttgtgacctaaagtgaaactaggtcgtactctgggcatgttttatgtcgtggcgt +atgcatgtgctgacacttctaaaaccaaattaaggctttatccaatatgggtccttaagt +gctaaacatcattcacaatttcaagacagattgttggtcttgtcgattccgcatctgtcg +ccaaattgacacatcgtaaaccaggtacatcggtaattatatgttgactaaactaccgtg +tgtattctggctctaggtacggcgaacaagtacgatgtgcttaagaagccctcaccccag +acgagcccgcgtaggtcacatcagcagatcctaagtaattccgttttattgtcctgaggg +agtaggatcgacgaactctacaagtcgctttgtcgtgccttataggctatttcgggtcaa +tgtagcgtcaaatgaactattgtcatctgtacgagttaactaagtgtctatcgccaacta +aaagacgtctcgatggttctttatgcggacctgtcatatcattgactggcacttgcttac +atccaaataacacgtttgttagcggatagtcgttaagtgtgcgcaagatcatgaggcggg +gggggtaatatttcgccctctacatgataaatgaataagtaagaagatgatctttttgtg +gcggtaccttaagcgtactcctgtcgacgagttactactaaaggaatgtagggttctgga +tctatgaaaagcgacctccatatatatacgggcctaagcggagtaaaataagtgatcaat +ggactaacattgaaatgttagtattgtcgaccattgagggctggtaaatcttatttacgg +gcgtgggaaaacgaacgtgatatggtttagcatgggatgcaagcactcgttaatgcttac +tttagttggttgcgggaacaacaggaggctatactaactggtagcgttcttgcttccatt +atgttattattataattaaaaataagacatatggtagagttgtagtcagggtggatcggg +ttgtctataacgttggaataatcaaaactatcgttaacaaaaacgaaatttaagtcggtg +cggtggaatgcgcctacctcatgtgcaccacacattcacagcacacccctcattataggc +aaggaagcaaacaaaaaaaagttaatcgaccgtatccgaccttaaattttaaaataaata +gaaacacttagcggtaatgaaaagataggactaaaattcactagtatcctggaacgaggc +aacagagttatctagatggtaacgaggtgctgcatcaagatgtatgatttttggtccgct +gtgtggaatacctctattgatatacaagtgactttctcggtaataacgcacttcacaatg +tgttgtttcttttctatgtattttgcaagagaaagaagcttagtataggtacacctcaga +gatgtttcgtgtaaatcgtatcacatggtataactgcaggaggaacattatccaaattca +ccacaattactaatccacccttttacttttactaaagatatattaattctcatgttgtct +gaattgtataacccggtaccctgggagcgtatcgaaggataccaattgaagtcctcgagg +catgttacaacacacgacttccttccgtctattcagacactcaacgagactaacttttcc +taggtaatcaatgatattgggtaactcgtggcatcttatagttattgatccggctctttt +gtagatcctgtgcgactcgtgcgctaattaagactggctctcttgcgcaggggatacgtt +tattctacgtacccgatttggttactactaagcggcctttcttcaaacttgcagttgtga +cttacattcctatttcttcaaagcagggaagggttacagggagagacttattgagatacg +attggaatttccatgtacaatcgttaatacgcttgtagaccagcaactcagtatagagat +ccgtttcctaaagggtgagcggtaggggcaaggcaataagaaattactaaaaccctagtt +gttaatataagaacgattcgaaacaataggattgcccaagggggtgcgaacatggtgtaa +atcaaagagaaataggcattgttaaaacccgcacgtttctagtacgcaagaggaacgtcg +gtaaccagttctcaaagatcctaacctaaaaggggcttattctactttttccgacactca +atggacgagacaaacatgaacggatagctttaggtctcgttgaatgcaaagaatagaatc +gttattattaatcggtttccattatctatatgcggtatagatctccgagaggaccctgta +aactagctctgcggtttaactggtgctaatagaccgccactatgttattgcttctagctc +ctagcgtcttatcatgttatacattaatgtcgcatattggacagtagccaggcttggatg +gatcgccgacaaaaagaaaagactttccctgtaaggacttaactattacatataacttgg +atcattaatctgcaaattagagtaacggtctttcaccagcttcatattccaacgtggcgc +tagtcgatatcccatgaagtttaaaactagaattggcagtctcacttcacagtgcgtatc +tatacgacaaaagtggtcgatttgcataaatatcttatcgatattcaggttattaccgat +tccttgctaacgctagaagtcacaccagagtaataataattccagacacctgtgaaataa +tcggtcactacggatagactagtaacgataatacgtatagtccataaaagttgaatttta +ggggctaaagatattagcaatactggtctagcctaatcgtcgatagcaaagggctgtgag +gatttctcctacattttcgaccaattgtatcgataggaatagttacagtcacgcttgtag +atgtaagagatgacgttattcttagggttcttaagtcggggggtaatttaagaccactag +taaaggtagaggcgtacacagtaaacgatattttgaaatcgtcaaaaaaaagtttacaac +atcctttaagttagcaactgattttagtggcaaccttaacggttgaattgatctactaat +acaggcctacaccgaagggtacagataatgattcttactaccctaacatgatagagtcct +gtcctatctcataggtcgacattttaaattcgtaatgagcaacgaagatcgtttcccaat +ttgcaacattcacttatagacttcaggttatttcgtgctaacattaagatagaatataat +cagtcgttaagaaactattatccagctttcgtcaaccataaagattaaaaactgaaactt +ggcaagatatgaatagctatcctgctttaaccgatcgtatgagatgctttgtagcaagaa +aagtgactagcacttgtgtttagtaaagcgggagagtgcggtaattaatattaatatact +attaagctacacagcaaaggctgcaataatgttagtaagtagaacataaaggtattctcc +acaagtaataaatagtgtgagctaattgactaacttaactctcgcgacaagtgatgtgga +taagatgactcatatcgtctttttctgtagtgccgacatcccacctggatcgaacaattc +cttctagttatcgactttgattacctatcctattaaacagatagggttgtaaagtcagaa +aatgatcggcttgcgttggtctaccatagctagagttagaacgcgtagatagaggccttt +tgttgccaacgtgggggtgggatgagtctgggcgagcgtgactttctttcgtgtccgaat +ttgtttaacatccattagattagatgtttgtgttttgggtctgatgtcctaactactttc +tcagtgaaactaatgtcatcatccaagtaaaatagtccgatgaagtctccgttttcggcc +gaagcttgtctataacgtatataaagtcgctgaatttagaacacaccttatctatgttgt +aaagttactttattccaaaggacgtgcacgaagcgtgagtgtgggaaggaacttaaagtc +ggatcactcttgtcagtgtagataagaatttctttcatacttcactggaatccggcgtat +ggatatctctaccgcgtcatctggtggtgtctgcggtaaaaagtcttgctgcacgagtct +gagaaatttttggtgccatcacatcgtaactgtacaacgaacaaatagcatcaggccttc +ttatccagcgtgaagtctaattatttcacaagctttcctaagtatgtaaatccctcactt +aatgatgcttgcgccaatgaggatagaggacattgcatgtacgtaggactattctccaag +gggtcttctattttgttagcgaaaattgttacagcctaatgttagagcggcgtacgactt +tataccagatactttcattagatatgcaaatatccaattaaatcatagtagtatcgtggt +atggacaatcaaaaaagacccgttgtgatatgatgtttttctagttcgttctcatatata +tagatcaacaatgaataatctcatgatctataaccgatgtatatttatattccggttgac +tgctccggtgcaattcactacggacactaatgactaatatggcgcctttcatcagaaacg +ctaaatatgattaatgaattaagggagtattatctaattattagagagtagcagttagtc +tgatattttcggtgtatgtgttagccgttataatgctgtctttttatcagtgagaacagg +gagtgtgtagtgttgtatgcttcactttatgactctggttatatccctcggagaacaaga +ataagagtacgagaagttcggtcattgaggatgaaatagaaccgctagacgaatggactc +acgtttataaaactatgtatcacagtactacagctaactctgaagtccgagaagcttttg +taggacaaaacgttataagtacctttcgcagaatacggccgtgcatacctgttataaggc +gtagtagggacaccatgctatccctcatatagagctacactaataccattacatggtgac +tatcgtttacggccatcatctgtaagcgatcatgcctcgttagcatccgtacaatctcgc +atggcgtcactgcagaaaaaccccgtgcggattttgagtcagaactattcgaagcttctc +aatccttttccattatggcatagcaagtgacgactcgtcagccatgggaataatagcact +aatccgattacttatgaattagaacccacatgaatgtgattctgcgaattgtctaagaat +ctaatgattttccggtgaatatggttgttgttatttattgaacttatattattaacatca +cccttcgttagtgatagtcagctatttccaagaggttccccgagcatttttaccattctc +tagtcatacaagttggagcgcttttaaatctttaggctgatcaaggcgttttgtctagaa +ttctgcagatgttagattcgtgtgcaatccctcttgcatgtcagtaacaggtcacccgtt +tttcgttacatatgctggtaaaatattcatagtaataactacaatacttgatttgttacg +taatgctcgtacataacacaatcgtattccacggaacagtaaagctctattattctgatc +gagcctaagagaggatcacactacgctattaaagtcacgttcacgaaatctcaaacctca +actgctggtgaccagttatagacagtgtaattccatattacatgtcaggcttaagctaac +ccgagcctttatataagctataatcaagaattagattggagtgcattttagacttatcta +tcgaaatagtgatagtaagagtttatatgacctgatctagactgatgttctcttccacaa +cagccttaaggcgtggagcctttcttatactattaggtcgcgtcgagagccctattcgta +atgttaacgacactagactaatatacaatgagctaagaataacacaagtcacaagataat +ttacaaatcatatatctacagtccacaaccatcactagcgattgcaaagcgttattggta +ctaccgctctaaatcggtatgtgcaagacgcgttaactggttcaagcctctcctgctcgt +gagactgaaagaaatcgaaaatatggatgtgcctaattgttcttgtgagtcatgtgcaac +tatacagtttagtttggtcaagactatgcaactattaacagcatgtgcgcattgaatatt +tggtgtcgattgataaatgccccaacgttccatcacgtctataagccgtgttactaatgt +gtattagtgcatacctattcagaccatagttcaactgttggactgaaggcccgtcttggg +gttcgtgaatgagagtgcagtttcttgtcttttccttaactgacctaaatgaaggcaatc +ggtttatctagagtcatgcttaaggtgaatttcagccaatgggctcccattgagctagta +tggtgctttacctttgtaagtggtggctttccttggtgtgctgactttaacacggcagag +tgattatccgaagaatggataataagacgctggcaatattggctaataaagtccgatgag +tttcaatcatgactgcgaggagatccatgcggtgtacctaaacctacatcgtatgtattt +gctgacgttcattcttgatacataaagatccgatatcggtccactttgtttaccaaaagc +cctaccttcgtaacgatggaaatgtgaatgagagtgaaatacacgatggggatattgccg +gtgagtacaagttagaccacacattagaactgacctatattcgtcatcatagagatggag +tatgaattgattctgcgaagtacactggctttacgagtatctagacgccgcggtatatct +cccgtcaatactatgaaggtatatatatagaggctgaaaattcatgttcaatcctctttc +taagagtgagtgggagccccttctgttgtcggagtaaaaaggcattattcctcaaattgt +cagaagcaaagtatacgtgatgtttgcttagaacaaaagagttaccttagggtaggtaaa +tctcgattcaccgagagaagtgattttggcggtgtgcgattaattcttttgatgacagat +ctcattattttatatagctccctctttgtatttagagtttgcgtaggtaacctggcaaaa +ccatatcccggggggagagtgcgctgaacattttatacgatgtgattactcaaaggataa +ggttcgaggcctctatactcatggaactatcttataattataatggatcgtggctcattc +cacctatccaaacttctttgtgatctgatgctacgagtgtgaacaaacgtacatcttcta +aggaatttgggacgtttcatagctcgcatttcattcctgaaaacttaaatatttttaaaa +attgattctactgcgaggaactaaggtgtagacaagcccttagtaaccggtggatgtcgc +ttcagttttatagcaaacattattcaatttcagtcttgactgaaattagtttgttagtgt +tagaggtccatatgtcacatgcatatggtctagatgccattgtacagtaataccttagat +tagtattagcggcatgcgtacttggatttcacttgtaagaatgagcttaggacggtcgcc +tgtagggctgcaaataggaatacttacaatttttgatgacttgttagcatatcgctatca +cccataaaaaacctgatacttgatgagcgggtgattgagactatgtactgatataattca +atagctccaatagatgaaacagctatgcgcctatttatgtcaaataatcgatgtgataca +agcttagagctgaacgagcgcgagtggaattagcggtgatctctatcctaaaaagccacg +aaatcgatcccagaagctaatacccgaggtgtcaagcttgagttcagttaaatttgcatc +tcatgccccacgaagaatgggtagagagtttgaaggtgcttctggattttcctaagtacg +tggtaaaaatttgatgtaaatgaacacctcctaatggttgtgttaaccacaaacccctgg +gtgaatctgattagccaacccagtgatctgatttcagttgtcaaatctcttttttataac +taccttttgtttccataatttaaccggatctcataatgaacaaacgggtagaataatggt +agcacatagcgagcttgtctattcagaaatatggcctactcagaatgtattctccaaatc +agtgttatgcgaaacgtaattttacgtgtaataatgatgatttcttatcggttccttgta +ctacaatactcttgcccaacaaatactaagcataacagcaaaattcgaatccccctcctt +ttaataaatggtttttcaatatagccgattcgtattcgttagtctttcaccaactattaa +cctggcatctaattaataaaatcaccaaaggactctataatatgacagtcacttcggcct +cttttaagacagttgattattgcaggtccgcaattgatggtgacatgcacaattagttag +aatccgactatggagacaattaacaattgtagtgcccatttggtccagttgacttcaacc +acgagttataaaggtattttaatttatagtcgatagtaccaacaacaagcacaatcataa +ttatgttagaaaacccagggggtaatgctctaaatccagctttaaggccagagtgcacta +tgaaatcgccattgatcattgtgtcattcgctgaacttggtgtctaggaggtgccgagtg +agaatatcagataccttatgaagcaacgattatatctggactagatcatgatgatcggaa +taaaacattgaaataagtccttatcaaggagcataaacattttatttaatttatacttcg +taaataaattcagaattttttttcaagacattaatctgagtaaatgacggctagaaaggg +ttcctactcgaatcgtagcctacgcatgtgggcagtaacctggcttgcgtttttactgaa +acaaaggttcaccggaaagaaggctgccacttttagcttcttgacgatctttagcgtcat +atttttagattagtcgaaaaacggaaaacaaacttaacgaagctggttgcacggggtacc +gagaaaccaaagagcaggacaactccttgatcgggaagaactgaaatagacagctgtcat +tttcattggtcaacttatcaatataacgaccaccgtagtgacgcttgcatgaaaatactg +aggatgtaaactatagccagtcaggcccgcgtgttgactaattgatgaagcaaacaaaat +agccggtattcgttaaaaggaacgggttgccagctacagatatactctaggtatatccca +aacaagagacgtcctttggctgttgtaatcggtcataatacttgtcacataaacaagatc +gctgaattaaacattaaacagttagtgatacacaatcgtggttggggctgggatgtgcaa +taaaaagtcatctatcgtctatcacagagcgacgtaaatttagacaaacattattatttc +ttgacaatggaatcgataagcgttcctctaacttggtatatatatctcgaccccgggatt +ccagccattcttgtatgaagatttaaccatttaactatgcatagttgaatggtaaggaaa +atgatattgactgcaacagattttggatgcaaaaatatttgtgaattattggttatatac +tggttgtatagcacaatcattaggtcctagaaggcatactcaacctcagcgagagagcta +gcatgcataattgtaccgcccatattaatattcctgaaatgatttcttacattacgccca +atttcagtcatcgaacacccccatcaatttacccgatagagaacgtgatcatacgcaata +ccctatgcgaacgtccactctatagcgtctgtatacaatgattattcgttccatttacaa +cgttaagtaatttaaacttacataaggacaaggaaatccgcgaacctcctggaatgtatg +agttatttatgcagttaacttcgtctcgaccggaactaaaggcgtcgtacgaatgaaagg +ccacttttagaagagacctttgtatccattgtggagaatatcataaattcaagatggggt +gtcatgctattcggtcctaaacattcttaatggctgttctattgttagtctgatttaaaa +tggaaccatagcacgaatagttagatagggctcatacccctgtaacgatctacaaatcct +tccccgggtgtgtgcgttagcgacggaaagttttacggtttgtgatcaaagaacactcac +acgtcagattattacactgatacgaattatttcagtcgacagtaattgaatagaaactta +ttaacgccagcacctgacacggtaagtaaggcaggtctgaactgtttgactgtaaaaaaa +tggtaatatttttaaaaatcttgatttctatatcaaatgatgtgtagttttttctctgtt +attaaaatcccagtgcgcgaaatttagatcgttacgactcacgtacaagatcacacatca +cacgcgttagcgaaagcggaatggctaatacagccctacgcaacgtagtgggatcaacat +atggacgaatttatgctcaatgagccaacctcccccgcattgcggttcattttaaggcct +gggtaacatctatcgtttagataatcaaaggaatccgactatgcaattgtctgacttcat +ccgctctcaagtccaatgcaggcgctacgtgtttctttaatcaataccatattgaaatcg +taatacgataattgttgctattgactacaggttatgaaaaaacttactttgcgggtacat +gcatatttttgtaccacattattacgcgatatctctcagtgtactctaaattaaaccctc +ttcgaacattttagttcctattcgtaaacacgtgctacgcggcaatttgccggtcgtaga +atggacaactccagttcaactgcatgtaactcatagctcgcgttagtataaattgactag +tagccatgggacaaagtaactagtcagcggaaaagatccctttaaagatatatgcaggtt +gcaagcataaagctcattgctcgaggtgcaccgtggtattccaaaagcgtctctatcgta +tcttctaattttgggccgtgagaatcgaaactactctgatttgctgcacacgttaggtaa +tatcgcccattttcccgtataagctccgtacttatacgaactacacgaccttttaagcat +tagccgctcatatcgtgattcgtgtacagatgagtctattaaaattacagacatactcca +tatctcgctccttgaactttgaataatgcgctaacttgtactatgaataggcagaaccca +actttcccgtttgcgtcaagcggggaaacgatacatgttgtcagatttatgattatctag +ttttagatcacgtttaccgataatcggctgtggtctgagcagtcctacactgagtattta +cttcagcttcatatcggtccgaaaaaaggttgtgaccgaatgtcaaaatacggagtacga +tgggcatcttttttcgagtcgcggttgcagggcagcaaaaggcttaaaccatttttacga +tttttactatagcggtcatgaagtgcgaaactgcttgcaaattttctacacacattgtgg +ctcttgtccttgaagcttatggcgaaaatttgaaacatagtataccagggaaagcgcgaa +ttatttggtgactaatagtccgtgggtttgagccatatacctaacgccataaactacgtg +gtgctttagatgcaatctaaacagaacagaaagcgtagcgctcatcagcacagactaact +ttttcagtttgagtcgccggagggacttcgagacaagaacgcgtcaagtcgcttgcgcgg +cacggattcgattgggcggctcaatcttgcctaatttctactattgtcagctgtacgact +gtactaagtgtatagccccaaataaaagaagtatcgatgcgtctttatgaccaaaggtct +tataattgaagcgcacttccgttcatcaaattaaatcctggcttacccgattctccggaa +gtctgacctagagattgacgacggccgcgtattattgagacctcttcaggattaatcaat +aacgaagtagttgatctgtttggcgacgtaccttaagccgactccgctacacgagtttct +actaaaccaatgtagccttatgcttagatgaataccgtcctaattagatattccggcata +acagcagtaaattatctgttcaatggacgaacattgaattgttagtattctacacaagtc +aggcctcgtaaatattaggtaaggccgtgggataacctacgtgatatgcttgagcttgcg +ttgcaagctctcgttaatcattaatttaggtgcgtgagggttaaacaccagcatattcta +tatgctagacgtcttccttaaaggatcgtagtattataattaataataagaaatatggtt +gacgtctagtcagcgggcatacgctgctctatatactggcattattcaaaacttgacggt +aaaaaaacgaattttaaggcgctcacgtcgaatgagccgaactcatgggaaccaaaatgt +cacagaaaacacctctttattgccaagcatgcaataaaaaaaatgttaatagtacgttta +cgacattttattttataataaagagaaactattacacctattgatatgataggacgtaaa +ttaacgagtagcctgcatagaggcaaatgaggtttctacatggtatagacctgatgctga +aacatcgatgagttttggtcccctcgctcgttgaaatctagtcatttactactgtctttc +gagctattataccacttcactatgtggtgtttctttgctatgtatggggctagtcaaaca +tgatgactatagctacaactcagagagcgggcgtgttaagagtatctcatgctagaactg +cacgacgaacttgatacaaagtaacaacatttacgattccacaaggtgactttgaagaaa +catagtttaattctctgcttcgatcatttctataaaccggtaccatcgcagcggatagat +gcataacatttctactactccaggcatcttaaaacacacgtagtacttcactagattaag +acacgataagtgtataacttggcagtgggaagcaaggagattggcgaactcctggcatct +gttacgttttgttcaggctcggttgttgataatgtccgactcctgccatattgaagactc +gctcgagggagatcgggattcgttgattataagtacacgtgttccgtaatactatgaggc +agtgattcaaaatggcacttctgacttacatgactaggtattattaccacggaagcgtta +aaggcacactcttatggacttaagattgcaagtgccttcttctagcctgaattcgcgggt +tcaacacaaactctctttagacatccgttgcctaaaggctgagacgtaggggcaaccctt +taactatgtactaaaaaactagttggtaatttaacaacgtgtccaatcaagacgatgcac +caacgcggtgcgaaaatcgggttaagcaaacacaaataggaattgtgataaaccccacct +tgagaggtcgcaagaccaacctcgggaacaacggctctaagagaataacctaaatccgga +tgagtagactgtgtaactctctaaagggaagtgaaaaaaagctaagcatacatttaggtc +tcctgcattgcattcaattgaatcgtttgtattatgagctgtacagtagctatatcagct +atagttatcccagaggaacaggtaaactagctctgagcgtgaaatccggatattagaacc +cctagatgggattgattctagctaatacaggcttatctggttttacagttatctagatga +ttggtaaggtgaaacgcttggtgccttccaccacttaaacaaaagtattgcccgggaagc +tattttctaggtattataaagtcgagcattaatatcaatttgacagtaaaggtctttcac +cagcttcatatgccatagggcccatactcgatttaaattgaacggtttaacgagtattgg +aactctcacttataactgagtagctatacgaaaaatctggtccatttccagaaatttatt +atcgatttgctgcttagtacccaggaagtgataacccttgaaggcacaacactgtaataa +gttttcctgtcacatctgtaatattcggtcactacgcattcacgactaaagataattact +atactaattaaaagttcaatgttagggccgaatcatagtagaaattctcgtctagcctaa +tcggacttacctatgggctgtgaggatttatcagtatgtggacaaaaatgctagagatag +gtatagttaaagtcaccatggtacatctatgtgaggaagtttgtagttcgcttctttagt +ccgggcgtttgggatgacaactactatacgtagagccgtactcaggattagatagtgtga +aagagtcaaataaaagggttaatattaatttaacgttgcaaatgtgtttaggccaaacat +taaccgttgtagggatattctaatacaggccttcaccgaaccctaatgataatctgtctt +aataacattaaatgattgtctccgctacgagctcttagggcctcattttaaatgactaat +gtccaaagaagagactttcccaatttcaatctgtcacgtatagacggcaccttagtgagt +catatcattaagatagaagattatcaggagggaagtttctattatcaaccgttacgcaac +cataaacttttaaatctcataatggcattgagatcaagagctttcatgatggtaaagttc +gtatgtgatgctggggagctagatatcggtataccacttcggttgtggtaagcccgagtg +ggccgttagtaatattaatagacgattatccgacaatgcattcgctgaaataatcttact +taggagaaattaatgctatgagccaaaactatttatgtctgtcacattattgactaaagt +atctatcgacaaaactgatgtccataagttgtagcagatagtcggtgtatggtgtcacca +atgaaaacctcgagcgaaaaatgaattatagttatccaatttgagtaaattgcctattat +acagataggcttgtttagtcagataaggttccgcttgaggtgctctaacttagcgagagt +tagaaagcctagtgagaggcattttggtgccaaactccggctcgcatgagtaggccagag +agtcactttctttcgtcgaagaagttggtgaacagccttttgattagttgtttgtcttgt +ggctatgtgctactatataagttagaacgcaaactaatctaatcagcaaagtaaaatagg +accttgaacgagacggggtacgccgttgaggctcgagatagtagataaactagaggaatg +tagataaaacattagctagggggtttagttactggattacataggaagtgcaccatcacg +gtgtgggggttcgtacgtaaagtcgcatcaatattgtcagtggacttaacaagttcgtgc +ataatgaaatcctatacggactttgcatatctctaccgactcatctggtcgtctatgcgg +gtaattgtattgctccaagtggatgactattttggcgtcccagcacatagtaaatgtaaa +tccttataatagcataagcaattattagactgcgtgaagtcttagtagttctcaagcttt +acgttgtatgtaaataactcacgtaatcagccgtccccaaatcaccattgaggtcattga +atgtacggagcactattatcaatgcggtatgcgattttctgagcgattattgttaaagac +ttagcgttgagccccggaacacttgattacagattctttaaggagttatccaaatatcat +tttaaataatagtagtatcgtgctttggacaataaaaaaagacccgttctcttatgttgt +tttgcgacgtacttctctgatatatacttcaactatgaagattctattcatcgataaccc +aggtatatttatatgcccgttcactgcgcagggcaaattatctacggacaataatgacgt +agttggacccggtaagaactaacgcttaatatgattaaggatgtatgccagtattatctt +attatgtcagagtagaagtttctctgagattttccgtcgttgtggtacaccggatttggc +tctctttttagaactgagaactcggagtgtgtagtcttgtttccttcaatttatcaatat +gcttttataccgccctcatcaactataacaggacgacaagttccgtcttgctccatcata +tactaccgatacaccaatcgtatcaagtttagtatacttgctttctctcttctacagctt +actcgcttgtccgagaagcggttggtgctcataaagttagtagtaaatgtacaactagta +gccagtccttacctgtttttacgactactacggacaccatgagatacagaagttagtgct +acaattataccattacatgctcaatatcgttgtcggccataagatcgaagagtgcatcac +gcgtgtgaatacgtaaaatctaccatcccgtcaatgcacaaaaacacactccccttgttg +actaacatcttttacaagaggctaaatcattgtccaggatcgaataccttgtgtacaatc +gtcacccatcggaagaataccacttttccgatgtagtatgatttacaaaaaacatctatg +tgagtaggccaattgtagtagaatatattcatttgaccgtcattagccttcttcttaggt +tgtgtacggatagtaggtacataaaccgtcgtgtggcatacgctgcgatttcatacagct +gccaacaccttttttaccaggctagagtcagaaaagttggagccatgttaaatagttacc +atcataaaccactgttgtctactagtctgatcagctttcatgcctgtgcaagcaatatgg +attctcacgtaatggtaacaactgttgcgttacttaggctggttaatttgtcagagtaat +aaatacatgtcttgttgtgtttcctaatcctcggaaagtacacaagcctaggaataggaa +aagtaaagctcttttattctgatagtgactaactcaggatctaaatacgcgattatacta +accttcaccaaagctcaaaaatcatctgctggtgaccagttatagacagggtaattcaat +atttaatgtctcccttaacatttcaccagcatggattgaagatagtataaagttttacat +ggcagtcattgtgtcacggttctatacaaattctgatagttagacggtatttgaaatgtg +cttctagcatggtatcttacacaactgaatgaacgactggagccgttcgtatactatttg +cgagcctcgagaccccgtttcctaatgttaacgaatatagtataatataaattgtgatat +gaataacacaagtaactacagtttggacaattaattgttctaaactaaaaatcattcact +tcagatggcatagagttatggctactacacatataaagcggtatgtgaaacacccgtttt +agccggaaaccctctactgctcgggacaatgaatgatttccaaaatatggatgtgcagaa +ttgttagtgtgactcaggtccaaatagacactttagtttcgtcaagtcgttgcaaagttt +aaaaccatcgcagcattctttatttggtctacattgagaaatgaaaaaacgtgacagaaa +gtctagaagaactgtgaataatgtctattactgattaactagtaagacattagtgcatct +ggtccactgaagcacccgcttggcgttaggcaatctctgtgaactgtcgtggctgttccg +gtaatgtacgaaagcaagcctataggttgatcgagtcgcttcattaaggtcaatttcaca +atatccgatcacattgtgctaggttcgtcctttaccttgcttagtgctgcatgtacgggg +tgtcatgacttgttatcggcagactctttatcccaagaatggataatatgtacatggaaa +gtgtccataattaagtcccttcactgtaaagaatgactgccacgtgatccatgaggtcta +cagaaaccgacttacttgctttttgatcaacttaattatggattcataaagttcagatat +cggtacaattggtgtacaatatgaaattaatgaggaaacatggaaatctgaatgacagtg +atagaaaagatccccatttgcccggtcagttcatgttacaccactcattagtactgtaag +tgtttcgtcagcattgagatccacgatcatgtgtttatgccttcgaaactggatgtacga +cgatcgagacgaagaggtatatataacctaaatactaggtacgttgttagagagacgatg +aaaattaatcgtcaatacgctggcgaacactgagggggacccaatgctcttctcggtcta +aaaaggaatgtgtcagaaattggtcagttcaaaagtagaccggatctttgcggagaacaa +ttcacggaacgtagcgttgggaaatatcctttctaccacacatcggattttcgccctctc +ccattatttattgtgttctcacatagaattattgtttagacatccctcgttgtatggaga +gttgcccgagcgtaaaggcataatccatataccgccgggtgagtgacctgaaattgtttt +tagttgggatttcgctatggattagcttacacgaagagattctaatggtactataggata +attataatgctgcgtggcgcagtacaccgttacaaacgtcgttcgcatatgtggctaaca +cggtgaaaatacctacatcgtatttgcaatttcggtcgtttcatagagcgcattgaatta +ctcaaaaattatatatgttgattatttgattagactgcgtggaaagaaggggtactcaag +ccatttgtaaaagctgcatctcgcttaagtttgagagcttacattagtctatttcagtct +tctaggaaatgtctgtgtgagtggttgtcgtccataggtcactggcatatgcgattcatg +acatgctaaactaagaaagtagattactattaccggcatgcctaatgcgattgcactgct +atgaaggtgcggacgtcgcgcccatgtagccctgataataccaatacttacatttggtca +gcaattctgacattatacctagcacccataaatttactcagacttgaggacaggctcttg +gagtcgatcttctgtttgtatgcatgtgatcatatagatgaataagcgatgcgactagtt +agggcatagtatagatctgtgtatacagttcagctgaacgtccgcgagtggaagtacagc +tgagatctatcctaaaatgcaaccatatcgttcacacatgatatgaacccagggggaaac +attgagttcagttaaattggcagcgaatcccccaagaagaaggcggagtgacgttgaacg +ggcttatggtttttcagtacttcctccgtataagttgagcgaaatgtaaacagaataatc +gttgtgttaacaacattaaaatcgcggaatatgatgagaatacacagtgtgagcatttca +cttgtaaaatatctttggtagaacttactttgctttaaatatgttaaaccgatctaataa +tctacaaaacggtagattttgcctagcacattgcgtccttctctattcagatagaggcaa +tactcagaaggttttatccaaagcactgtgttgactaacctaagttttagtctaataatc +atgattgattataggtgccgtggactacatgactcgtccacaaataatacttagcagatc +agcaattggccaagcacccgacttttatttaatggttgtgcaatagtccagattcgtatt +cgggactctttcaaataatagtttcctggcatctaagtaagaaaagctcataaggaagcg +atattatgacacgctcttccgccgctgttttgaaacttgagtattgctcgtccgaaattg +agggtcacttcaaaatttactgagaagacgaagatcgactaaagttaaaatgctagtcca +cagttggtcaagttgaattcatccacgagttatatagctattttaatttatagtcgagtg +tacaaaaaacatccacaataagatttatcttagaataacaacccccgtatcatcgaaatc +ctccgttatggcctgactcctcgagcttatagcatttgtgctggcgctcttgccaggaac +ttgctcgcgaggtggtgacgagtgagatgatcagtttcattatgatgatacgattttatc +gcgactagttaatcatcatagcaagtaaaatttgaattatgtcattatcatgctccatta +acaggttatttaattgatactgacgaaattttttcacaatgggttttctagaatttaata +tcagtaattgaagccttcataggggtcctactagtatcctacacgacgcaggtccgcagt +atcctggagggacgtgttactgattaaaagggtcaaaggaatgaaggctcacaatgttac +ctgcttcaccatagtgagccgatgagttttacattagtactaaatcccaaatcatacttt +acgatgaggcttgctagcgctaaagagaatacatacaccaccacatagaattgttagcga +tgatatcaaatagactcctggaagtgtcagggggaaactgttcaatatttcgtccacagg +actgaccaggcatggaaaagactgacgttggaaactataccatctcacgcccgacgcttc +actaattgatgatccaaaaaatatagcccggattcctgattagcaaagggttcacagaga +aagatattatcgacgtatatcccaaaaaacagacgtaatgtgcatcttcgaatcgggatg +aatacttgtatcataaaaatgtgacctctagtatacaggttaatgttagtgatacacaat +actcgtgggccatgggttctcaaataaaatgtaatattgcgtcgatcactcacccacgta +tttggtctaattatgttttatttagtgacaatccaatagataaccggtcctattaagggc +tatatttttagcgaccacgcgtttaaacaaaggattgtatgtagatggtaccagtttaat +tgccagtgggcaatcctaagcaaaatgagattctatcctaaagtttgggcttgatataag +atttcggatgtatgggttttataatcgttggagagctcaatcatgagctaatacatggat +ttcgctacctcaccgagagaccttgcatgaagaattctaaccaaaagtttaataggccgg +attggattgagttaattaagaccttgttcagtcatagtaaaaacccttaaattttaccga +ttgacaaagtgagcagtcgcaataccctatgcgaaacgcctcgatagtgactaggtatac +aaggtttttgagttcctttgaaatagttaactaatttaaaattaattaacgacatggaaa +tcacagaacctaatgctttgtaggagttatttatgctgtttactgcctctacaaccctaa +taaagcagtcctaagaatgaaacgcatcttttagttcagaaagtggtatccagggtggtc +aatttaataaattcaacatcgggtctcaggatattcggtcatataatttattaagggctc +ttcgagtcttactctgagtgaaattggaaacagtcatccttttcgttgtgaggcatctta +caccgctatcgatatacaatgcattccaccgcggtgtcccgtacacaaggaaacttgtta +ccttggggatataagaaaactcacacgtctcattattaaactgagtacaatttttgcacg +agaaagtaatgcaatacaatatgatgaaagccagctaatgaaaagggatggaacgcacct +cggatctgttgcactggattaaaatccgattatttttaaaaatattcagtgctagagcat +atcaggtctacttttttatctggtatgtaaagcccacggagcgatagtgagatccttacg +actcaacgaaaagttataacataactcccgttagccaaagcccaatcccgattactgccc +taccctaacgtctgccatctaaatatcgaacttgttatgatcaatgtgactacctcccac +cctttccccttcatttgttccactggggataagctagcgttttcagaatcaatgcaataa +gaatagccaattgtctcacttcatcagagctcttggcaattccaggcgctacgtggttct +ggaatatattcatttttcaaatagtaatacgtttagtgttgctattgtctacacgtttgg +atattacgttatgtgagcggacatcaatagttgtctaactctttagtaagccagagatag +cactcttagcgaatggataccatcttccataagtttagttaatagtccgaaacaactgct +tcgagcatatttgaacctccttgtaggcaaatagcctcttcaaagcaatcttactaatag +atagagtttgttttaagggactactagaaatgggacaatcttaatagtatgacctaaact +gacatttaaagatatatccaggtggcaagcataaagatcattgcgccacctccaccgtgg +gattacttatcagtcgatatcctatatgctaagtttgcgacggcagaatacaaactaagc +tgagttgatgctaaccttacctatgataccccattggaccggttaacagccctacttatt +ccaaataaaagaacttttatgctgtagaagctattatagtgatgcctggtaacttcagta +tattaaaatgacacacatacgccatatagagctcctggaactttgaataatgagcgaact +tcgaagttgaagagcaagaaaccatatgtcacggttgcctaaagcccggtaaccagacat +gtgctatcattgatcattatcgaggttttcataaccttgacccattatcggctgtgcgcg +gacaagtacttaaatcactagtttcttcacctgcttatcggtaagaaataaggttggcaa +agaatcgcataagacggacgtagagccgcagcgttgtgcgagtccaggtgcatgcgcagc +aataggattttaaattttgttccatttttaatttagccgtaaggatgtccgtaaatgatt +gaaaattggattcaatctttgggcctatgctactggaacctgatcgacaaaatttcaaac +atacgttaactccgaaagaccgtatttttgcggctagaatagtcagtcgcttggagccat +ataccttaccacttaaacgacgtgctcctgtagttgaaatataaacagaacacaaagact +accgatcatatcaactgaagatctttgtaactttgaggcgaagcaccctcttcgagacaa +ctaagagtaaagtaccgggcgccgcaaggagtcgattgggaccctaaatcttgacgaatt +gctaagaggctcagagctaccactgtaatttctctagagcccataataaatgaacgatac +atccgtaggtagcacctaagggattataatggaagccaaatgcagttaataatattatat +actggcgtacacgattcgacggatctctcacatagtgattcacgacccccccctttgatt +gacacagcgtcagcattttgcaagaacgatcttctgcatagggtgcgccaccgtaaggat +gacgtcgaagctacaactgggtataatttaccatgcttccctgatgctgagtgcaataca +ctaagaatgagtttttaccccatatcaccagtatttgttctgttattgcgaagaaatggc +tatgctgagttggcgactaaagtcacccatcctttttattaggtaaccccctcccttaaa +ctaactgatttgctggagctgccctgcatacatatactttatcatttatggacgtccgtg +acgcttattatccaccatagtcgatatgctacacggattcattaatggatcgtaggagtt +taagttatatttactaagatcggtctcggctactatcccgccttacccggcgctatttac +ggccatttttaatatattgacggtaattattcctatggtttcgaccgcacgtccttggac +aagaaagaatggcaaaaaaaatgtaaaagaaaaaaaatattgagtccctaccatcatata +aaaaatatgtgatgagtaacttgacgaaatgttagtggttattaaagactatctattaca +ccttttgttttctgtcgtagtatattaaagtctagaagccttacaggaaaatcagggtta +tacagccgatactccgcagcatgaatcatcgaggaggtgtcctaccatcgcgccttgtaa +tcttgtctgtgtatactgtatttagaccttttatacaaagtaaatatctcggctttatgt +gattgggaggggcctactcaaacatgatgacttgacctaataatcactgtgcgggcgtct +tatgactagctattccttgaaatccaccaccaaatggttaatatgtaaaaactttgacga +tgaaacaaggtgaatgtgtagttactttgtgtaattagctgcgtcgagcattgcttgtaa +aaccgtcaatcgcacacgttacttccataaaatttctacgaatacacccttcttaaaaaa +aacgtaggaattcacgagtttaacaaacgataactgtataaagtggaagtccgaagaaag +cagatgcccgaactactcgaagatgtttcgttttcttaaccataggggcttcttaatggc +ccactacgcacattttgttcaagcccgagagggacatccccattacgggagtattactaa +aactgttccgtaatacgttcagcaagggatgaaaaaggccactgctcaagttattgacgt +gggagtattacatcggaagcctgaatcccacactatgatggtctgtacaggcctagggac +tgcgtctagacggtattaccggcttctaatcatacgatcgtgagtcttaacgggaagtaa +ggctcacacctaccccaaaccatttatctatgtaagtataaaattgtgcgtaagtgttca +aagtggacaataaagacgtggcaaaaacccccgcacataagccgctttagatttcacaaa +taccaatgcggttaaaaacatccttgagtcgtacatacaccatactcgcgttaaacggat +ataacagaagataataaatccggatgtggagtcggtgtaactatagaaagccaagtgaaa +taatgcttaccagtcatttagctatacggctttcatttcatgtcaagagggtggagtttg +acctgtacagttgatatatcaccgatacttagaactcacctaaagctaaaattgctcgca +gcgtgtaatccgcatattacaaacaatagatgggattcattatacataagacacgatgat +ctgctttttcaggttgcgagatgttgcctatcgtcaatcgagtcctgccttacaccactt +aaacaaaagtattgacagggaacctattttcgaggtattatatagtccagcttgaatatc +aatttgacagttaacctagtgaaaatcagtaagaggaaatacgccacattctccagtgaa +attctacgggttatcgtctagtccaactatcaattataactcacgagatataagtaaatt +ctcgtacttggcctgatttttattatactttggatccttagtaaacaggaagggagaaac +cttcaacgaaaaacactggattttgttttactctcaaagctcttatatgacggaaatacc +ctgtcaagtcttaactttattactagactaatgaaatgggcttggggtggccagaatcat +agtacaatttagcggatacactattcggactttcctatcggctgtctggttggataagta +tggggactaataggctagacatacctatacttaaactatacaggcgtcatctatctctgc +aactttggagttccctgatgttctcccgccctttgggttcacatcttctataccgacacc +cctaataacgattagtttgtgggttagagtaaattaatacggttaatattaatgtatcgt +tgaaaagctggtgtcgccaataaggtaaccggctaggcagagtatatgtcacgaagtata +actaccctaatgataagctgtaggaataaaattaatgctgtctctaagcgaagagatatt +tccgactctgttttaatgacgaatctcattacttctgacttgcaaatgttcaatatggca +cggtttcacggcacctttgtgacgcatataatgaacttagaagattataacgacggaact +ttatatgataatccgttacgattaaagaatctgttaaatatcataatggcattcagttct +agaccgtgcatcatggtaaacttactttctctgcatggcgacatacatttcgctattcaa +attcgcgtgtggttacacccactcgcacctttggaatattaagagaagatgatcagaaaa +tccattcgctcaatttttctgacgtacgtctaatttatcctaggagacaaatcgttttat +gtctctcacatttttgaagaaaggttcgagagacaatactcaggtcctgaactgctagaa +gatactcggtggagcgtggcaacaatgaaaaactcgtgacataaatgaatgatacttttc +caagttcagttaagtgaatatgtttaacatacccggcttttcgatcttaagctgacgctg +gacgtgcgagtaatgtcagtctcttacatacactagtgactccaagtttcgtcaaaaacg +ccccctcccttctcgagcccactcacgctatgtattgacgcgaacttgttcgggatcaga +cttttcaggagttcggtcgcgtgtccctatgtgctaatatataagttagatcgcattaga +tgctaatctgaatacttatagacgaccttcaacgagaacgggtaccaccttgaggctaga +gttaggtgtgaaacgacaggtagggacatataaaatttgagtgcggctttagttaagggt +ttaattacctactcaaacatcacgctcgcgcccttcgtacgtaatcgaccatctagaggc +taaggggactgtactaggtagtgattaatgatatcctagacgcacgtgccttagatcttc +agactctgatggtccgcgatcaccgtaattgtagtcctccaactcgatcactttgttggc +gtcaaagaaattacgatatctaaatacttataatacaataaccaaggatgagaatgactc +atcgcgttggagttatattgcttgaagttctatggaatgaaagcacgttatctgccgtcc +caatatctccagtgagctaattcattggacggtccactttgatcaatccccgaggagatg +ttcggacactttagtctgtaacacttagcgttgagaccacgaacaattgattactcagtc +ttgaaggtgttttccaaagttcattttaaataagactacgataggcctttcctattgata +taaactacccggctctgttgttcgtgtgagtcgtacttctctgtgtttttctgattatag +caagattcgattcttagtgtaaacagcgatttttatttgacccgtcaatgagaagcgcat +aggatctaagcaaaattatcaagttgtgccacaaggtaagatctttccagttattgcagg +taggatgtatcccacgttgatagtatgaggtctgacgtcaactgtctaggagagttgacc +gcgtgcgggtacaccggatttgcatcgatgttgagaacgcagaactcccactgtcgtggc +ggcgttcctgatatttagcaagaggcgttgataaagccctcatcatctagatctcgacct +catctgccctcttgctccatcattttctacacagactactttcctatctacgttagtata +attgctttctatcttagtatcatttagagcttctccgtcaacaggttcgtgctattaaag +ttagtacgaaagggacaacttgtagcaacgcatttaatcggttttcgactacttcgcaca +aaatcagataaagaagtttgtcattctattagacattgaattgcgcaattgacttgtacc +acttatgatcgaacactgaatcaagactgtgattaactaaaatagacaagccactatatc +aactaataaaaacgcccctggtggtcgaacatagttgactacaggataattaattggact +ggagccattacattctctacaatcgtatcacttcccaagtagacaactttgaccttgtag +tttcatgtacaaaaaaatgctttcgcaggagcacattggtagttcaatagtttcatggga +acctcttgagccgtcttctgtgggtgtgttcggatagtaggtactgataaagtcgtgtcg +ctttcgatgagagggaattcaccggaaaacaccttggttaacaggatagtctatgtaaac +ttcgagacatgtttaagagttaccagcttaatccacggtgctctactagtatcatcagct +gtcttgcctcgcctagaaatatgcattctatcgttatcctatcaacggttgccgtactga +gcagccttattgtggaagagtaatatataaatgtagtcttgtctttacgaagcagacgta +agtaataatgacttggaataccaaaactaaacatagtggattatcatactcaagaactct +ccagataaataacagtttttacgatacgtcaccaatgagcttaaagattaggatcctcaa +aactgatacaaacgctaattcatttgttattggatccagtatcagttaaactgaatggag +tgaagattgtagaatgttgttctggcctcgcatggggtctaggtgatatacaatttctca +tacttacacggtagtggaaatctgattctagcttcgtagctgactatactcaaggaacca +ctgctcaaggtaggagactagttccgaccctacagtcaaagtggccgaagcttaaactat +agactagttgttaaatgctgatttcaagatatcatctatatacagtttggacaattatgt +gtgcgaaactaaaattcatgctattcagatggatttcacttatgccttagaaacagatat +tgcccgagctcaatcaacagttttagccggaaacaatcgaagcatagggacaatgtatct +tttcctaaattgccatgtgcagatttctgagtgtcacgaagcgcataatagaatcttgtg +ttgcctcaactcgttgaaaagtttaaaacaatcgcagcagtctttttggggtctactgtg +tgtttgcaaaataactgaaagaaacgcttgaacaactctgaagtagctcgagtactcatt +aaagtgtaacacattagtgaatatcggccaatgaaccaaacgcttcccggtacgctatct +ctctcatcgggaggcgatgtgcaggttatctacgaaagcatccctttacgttgagagtgt +cgatgcatgaacctcattgtaacaatagcccagcaaattctcatacgtgcctcagggtcc +gggcgtactcctccatggaagggcgcgcatctagtgttataccaactcgctttttaacta +ctatgctgtagttctacaggcatagtggccagtattttctaacttctctggatagatgct +ctcactcctcatccatcacggcttcagtttacgtcttacttgcttgttcagcaacggatg +gaggcattaagtatcttcactgttccctaaaattgctgttcaatatcaaagtaaggacga +tacagggaaagctcaagcacactcattgaatactgccccagttgcaacctcacttaatct +gacaaaaataatgactactctaagtgttgcggaagcagtctcttccacgagcttgtctgt +atcacttcgtataggcatgtaactcgatagacacgaacaccgagtgagaaactatattct +tgcttccgtgtgtgtgacaccaggtaattgatgcggatataagctggagatcactcacgc +ccacacaaggcgctgctacctctttattccaatgtgtaagaatttgctaacttcatttct +agaccgcagctttgcggtcataatttcacggtacggacccttgggttagagacttgataa +cacacttcgcagtttccaccgcgcacatgttttagtggcttctaacatagaatttttgtt +gtgacataaagagtgcgtgggagacttgcccgaccgttaagccataatcaattgaaagcc +ccgtgagtcacatctaattggttgtactgcgcatttagctatcctttagctgactcgaag +agattcgattcctaatataggttaattagatggctgccgcgcgaagtaaaacgtgaaaaa +cgtagtgcgcagatctgcataactcgcgcttaattacttatgagtagttccaagttcgct +acgttatgagagagattggaattaagcaaatatgttttatggtgattttgggatgagaag +gactgctaagtacggctactaaacaaatttctaaaaccgccatctaccttatcttggaga +catttaagttgtatatgtcactagtctagcttttgtctgtgggacgcgttctcggaatga +gggaaatgcaagagccgattcatcaaatgcttatctaagaaagtagtggactattacacc +aagcacgaatgccagggaactgctttcttgctcaggacctcgcgacaaggtaccccgcat +aagtcctagaattacatttggtcagcaatgctgacatttgaccgtgaaaacataatttta +atcagaaggcagctcacccgcttgctctagatcttatctttgtatgaatgtcagaattta +ctgcaatatccgttccgaatagtgagggcttagtatagttctctgtatacaggtcacatc +aaactccccctgtcctagtacagctctgagctttaattaattgcatacatttccttcaat +catcagatgaaaacaccgcgaatcatgctcttctcgtatagggcaagagaagcaacaaac +aactagcccgactcacgttcatccgccgtatccttgttcagttcttactccgtattaggt +cagcgaaatctaatcagaataatcggtcgcgtatcaaaattaaaatcccgcttgaggttg +acaattaaaacgctgagcagttatcggctattagatagtggggtgaaagtaattggctgg +aattatgttaaaacgtgatattaagctaaaatacgctacttgttgccgacctaattcagt +cattcgatattcagttagagccaagaataacaagcttgtataaattgaacggggtgcact +aaacgatgtgttactctaatattcagcttggagtatacctgaaggcgaattcatgtatcg +gccaataataagacgttgaagatcacaatttggactagcaaaagaaggtgatttatgcgt +ggggattgagtccactgtacgagtacggtctctggaaaattataggttcagggaatataa +ggaagtaaagataattaccaagagatttttggtatcgctatgacccagaggtgttctaac +gtctgttttgatccgcagaatttctgcctcaatgcatatttgacggacttgaactagagc +ctctaaagttaaatggcgacgcaactgttcctaaacttcaattattactactcttttttt +cctagggtattgtagaggccagtggacaaaataaatcaaatttaagatgtttcggacatt +aacatcccccgtagcatagaaatcatcagttatccaatctctcatcgagcttttacaatt +tctgctggcgctatggacagcatatgccgcgagacctccgcaagactcacttgatcactg +taagtatcttcattagaggttagagcctatagttaagctgctgacctagtaaaattggta +ttttctaattttattgctcaagttaaaggttagtgaagggataatgacgttatttttgaa +caatgggttgtattcaattttatatcacgaatggaacccttcattcccggcataatacta +gacgacacgaacaagctccgatctatcagccaggcacgtgttaaggtttaattccggcaa +accaatgaagcatcaaaaggtgacctgatgcaacttagggtcacgatgagtttttcagga +ctacttattacctattaataagttaacatgagccttcataccccgtaagacaatacatac +tccaccaattagaattctgagccatcttatctttttgtatcatcgaagggtatggccgaa +taggttaattagttactcctaacgtctctacaggcatgcatttgacgcaccttcgaaaat +agtcaatctctcgccacacgcgtctagtatgcagcatcaaaaatatagtccacggtttcc +ggattaccaaacgcggcaaagagaaacattgtatcgacggagataacttaatacagaagg +aaggggcatcttcgaatacggatgaataattctatctgtttattctgacatcttgttttc +aggttaatcttacgcattcaaatgacgcctgccccatgcgtgcgcaattattttctaata +ttgacgagagcaatctcactccttttgggtctatttatgttttattgaggcacaagccta +tacagaacaggtactattaaggccgtgagtgtgagactcaaaccgtggaaacaaaggatg +ggttgttcttggtacaagttttagtgcatgtgggcaatccttaccaaaatcagatgctat +ccttaactttgggctgcatttaagatggcggttggaggcctgtgagaatcctgcgtgtca +tctttaatgaccgaattcatccatgtagattcagatcacacactcattccttgatgttgt +ctaaacaaaagttgttgtggacgcattggagggagttaagtaacaacttgggatcgcata +cttataaaaattatatgttaaactttcacaaacgctgaagtccaaagtaactagcccaaa +cgcctcgagagtcactaggtattaatggtgtttgagttcctgtgaaatagtgttcgaagg +taaaatttatgtaccaaatcgaaagaacacttaataaggcttgcttgcacggaggtatga +tgtttactgactctacaaccctaattttccagtacgtacattcattccaataggttagtt +ctcaaagtgctatacaggctcctcaattgatgatatgcttcagccgctctatggatatta +gctcattttatttaggaagcccgcttagaggcttactatgagggaaatgccaaaatgtca +tacttttcggtgtgtcccatatgacaccgctttacatagaatttgaattaaaacgcgctc +tcccgttcactaccatacttggtaccgtgcgcatattacatatagatataggatcatttt +ttaaagctgtactaggtttgatcgacaatcttatgctatactatatgatgtaaccctcat +aatcaataccgatcgtacgatcctagcataggtggcaagcgattttatgccgattattgt +gttaaatagtctgtgagtgtgattatcagggctacgttggtagaggggttgtatagacct +cgcacacattgtgacatacttaacaatatacgaaaactgatataataaatccccttaccc +aaacaccaatcccgttgaatcaactaccataacgtctcccatataaattgcctacttgtt +tgcataaatctgaatacataacaccattgcaccttcttgtgttccaatcccgttaagatt +gccttgtcagatgatatgcaagaacaatagcatttgctagcaattattaacagctcttcg +aattgcctccacataacgcgggagggtatattttaatttggcaaatactaagtactgttg +gcgtcatatgctattaacggttggatattaagttatgtcagccgtaagcaagagtgggcg +aaatattttgttacccagtgagagcactcttagagtttggatacaataggccatatgttg +acttaagaggacgtaactacgccgtacaccattgttcaaccgacttcttggcaaatagaa +tcgtattagcaatcttaagaatagagacacgttcgtgttagggtatactacaaatccgaa +aatcttaagaggatcacctaaactgaaatttatacatatttcaacgtggatagatttaac +ataattcagccacctccaacctgggagtaattttcagtagatttactagatgattagtgg +cccaacgcacttgactatataagatctggggatcctaacctgacctatgagacaaaattg +gaaacgttaacagcccttatgtgtacaaagaaaagtaagttgttgctgttcaacagatga +tagtcatgacgcgtaacttcactatagtaaattgaaacaaatacgcaatttagacagaat +ggtacggtcatgaatgacagtaattcgaagtgctagaccaacttaaaataggtaaacgtg +cccgaaaccccccttaacagaaagctgctatcatggtgcagtatcgacgtgttcagaaac +ttgtaacttttgagcaggtccgagcacatggaagtatatcacgtgtttctgaaccggctt +atccctaagatatatccgtcgcaaactttcgatttagtcccacgtagagcccaagcgttg +tgcgactccacgtgcatgcccagaaatacgagtttaaatttggttacatggttaattttg +accgaagcatcgcactttatgattgataattggattcaatatgtcgccctatgcgaatgc +aacatgatccacaatttggctataagacgtttaatccgtatcacactttgtttgcggcta +gtatagtaacgcccgtgcaccaagagtcagtaacaattataagtactccgcaggtacttc +aaatataaaaactaatcaaacacgacccatatgatcatctgaagatatttggaactttct +cgacaaccaccctcgtactcaatacttacactaatcgacaggcacacgcaacgtgtacag +tcgcaccatattgagtcaagatttgcttagtggcgatgagcgtacacgcttatttctcta +gtcacaattagttatctacgagacatcacgagggagcaaataagcgatgttatggctaca +cataggcacgtatgaatatgatataagccagttaaacagtcgaaccatcgagcaaattct +catgcaccaacccacacgttgaggcacaaagagtaagctgtttgaatgtaacttcttctg +ctgagcgggccccaacgtaaggatcaactagaagagaaaactcggtattagtttaaatgc +gtcacggagcatgagtgcatttcactaagaatgtctgtgtaaccaatataacatctattt +gttatctgattgcctacttatggctttgcggtcgtggcgactaatgtctccaatcctttt +gaggtcggtaccaactccctttaaattacgctgtgcaggctcatgcactgcatacatata +cggtagcaggtagggacctcacgcacccttattataatcaatagtagttatcagtcaacg +aggcaggaatgctgaggtcgaggtgttggtatattttctatgtgccgtctaggcgactat +cacgcattaccaggcgagatttaagccaattttgaatatagtcaacgtaatttttactat +gggttccaccgaaacgccttgcacaactaagaatcccataaaatatcgatatcaaataaa +agattgtgtcaataccttcatatatattttttcggttgactaacgtgaactaaggttagg +ggttttgtatgtctatataggaaacagtttcttttctgtcctactttagtaaagtcttca +agccttactccaaaatcacggtgattaagccgttactcagcagcatgattctgcctgctc +gggtcctaaaatccagccttgtaagagtcgctgtgtattagctagggagacctttgttaa +aaaggatatatcgcggcgggatgtgagtgcgtggcgcatactcaatcttcagctcgtgtc +attataatatctctcccccacgcttttcactagatatgccgtgtaagcaaacaccttatg +cttaatttcgaaaatattggtacttgaaaaaagctgtaggggtacttaatgtctggtagg +agatcaggagagaattgagtgtaaaaccgtaaagccctcacctgacttcatgtaaatggc +ttagaagactccatgatttaataaatactacgaaggaaagactggatctaaagataactc +tagtaaggccaactcccttcaatgctgttgccagttataatccaagagctgtccttttct +gaaccatagcggcttctgaagcgaactagaagcaaagttggttctagccagacagccaca +taccctgtacgggtgtattactaaaactggtccggtattagttcaccaagggaggaatta +ggcaaaggatctaggtatgcaagtcggagtattacatccctaccctgaatccatcaatag +gttcctctgtactggccttcgcaatgagtattcaaggttgtacagccgtataataataag +atagtgactatgaacgggaagtaacccgctcaccttccccaaaacattgttatatctaag +tattaaagtctgccgtagtgttaatactcgaaaataaacaactggcaaattacaccgcac +ttaagccgcttttgatttatatttttccaatgcgcttttaaaaataattcagtcctacat +actaattaagacccttaaacggagatatcacaagttaagttttaaccatctcgactaggt +ggaactatagatacccaactcaatttatcattacctgtaatgttcctagaaggattgcat +ttcatgtcaagacggtggagtttcacagcgaaacttcagtgtgaacagattctgagaaat +cacctaaacctattagtcagagcacccggttagaaccagttgtcaaaaaatagagcggtt +gcatgagacagaagtaacgatgagatccgttgtaacgttgagacatctggcctatcgtca +atacagtcctcccttaaaaatatttttaaatactaggcaaacccaacataggttagtcct +atgtgatacgccacatggtatatcattttgtaacgttacctagggataatcaggaagtgg +aattacgcaaaagtagacagtgaaatgcttagggttatagtctagtccaaagataaagga +taaagcacgtcagagaactatattagccgaatgggaatcattgttaggagactgtggatc +atgtctaaaaagcaacgcagaaacagtcatcgaaaaaatctcgtttttgtttgaatctaa +aagagctttgatgaccgatagtacctgtatactagttactgtattacgtgtctaatgatt +tcggattggggtccccagaatcagacgtcattgtagacgattcaagtttaccaatttaat +ttcccagctctccttggagaactatcgccaataattgcagtcactttccttttctgaaac +gataaagccgtcagagttctctgcaacgttggacttacctgaggttctaacccactttcg +gttctaatagtagttaacgacacaacgaataacctttactgtggggctttcacgatattt +tttcgcttattattaatggttacgtcataagctggtgtccaaattaaggttaccggcttc +gcagagtagttgtatccaagtataacttccctaatcataagatcgaggtagaaaattaat +gctgtctctaaccgaacagatatgtcccactatgtggtatggacgttgctaattacttct +gaagggaaattggtcattatggatacgtgtctaccatcaggtcggacgcagatatggttc +tgtcttcagttgatccaccgttctttataggataataactgacgattaaagattatggta +aatagattaagccaattctcttcttgtcagtgaagcatccttaactgacttgctctgcag +cccctcatacatttagctattcaaagtaccggctcgtttcaaactctcccacctttggaa +gaggttgtcaacttgataagtatatcatttacagcattttttcggacgtacctctaatgt +ttcattgcagaaaattagttttttctatcgcacattttgcaagtaacgttagagacacaa +ttatctgcgaatgaactgctagatctgacgaccgggagcctcgcaaatatcaaaaaagac +tgacatatatcaaggagtcgttgacaagtgctggtaagtcaattggtttatctgtcccgg +cgtttcgatcttaagctgaccatgcacggcagagtaatgtcactctcgttcttacaagtc +tgtctccaagggtcggcaaaaaagacccctccattctcgagcccactcacgatatgtagg +gacgacaacttgtgcggcttatgaattgtctggactgcgggcgagggtccatatctccga +agttagaagggacatacctttagatgataagatcaattcttattgacgaaattcatccac +aacggggaacaacttcaccctagacttacgtctgaaaagacacctagcgtcttataaaag +gtcagtgccccgtttcgtaaggctggaattacctacgcaaacttaaacctcgcgcccttc +cttacgtatcgacaagatagaggctatcgcgaatgtactacggaggcatgaatcatatac +tagaaccaagtgcctgtgatattaacaagatgatccgacgcgagcaccgtaattctaggc +ataaaactccagcaatttgggggccgaaaacaaatgacgttagctaattaattatatgac +atgatcaaaggaggtcaatcacgcatcgagttcgacgtatattcattgaacttcgtgcgt +ttgaaagaaacttttatgaaggcaaaattgatcctgtctcctatttcatgcgtacctcct +agttgataattccccgagcagtggttaggacacttttgtcggtatcaagttccggtctca +aaacgtaaaattctgtaatctgtatggatggtctgtgaattagttaatttttatgaagtc +gtcgagacgcagttcctattgatttattctaaacggagatgtgcttcgtgggactcggaa +gtagatctgtgtttatgattattgctactttagatgctgactgttaactccgtgttgttt +ttcaaccgtatatcacaaccgaattggatagaacctatagtttcaagttctgccacaagg +tatcatatttacagttagtgctggttgcttctttcaaacgtggtgagtttgtgctatcac +gtcaacggtagagctcagtggaccgagtgcgcgttcaaccctgttccagagagggtgtga +tagcacatataccacgctcgtcgaggcgttcatgatagtttgcaagagccggtgttaaac +acatattattattgttatccaactaatcggacctatgcataaagcattgtctaaacagaa +taattgcctatatacggtagttttagtgatttatatcttagtatcagttagagcttcgaa +ctcttcaggttcctcatatttaacgttcttcgaaagcgaaaacttctacaaacgaatgta +agcggttttccaagtagtacctataaatcacagaaagatctgtctcagtatagttgaaat +ggtattcagctagtgacgtgtaccaattatcatagttcactcaagcaagacgctcattaa +cgaatatagacaagacactatatcatataataaaaaagaacatggtgctcgaacatagtt +gaattcaccatattgaaggggaatgctgacatgtaattcgctactagacgatcaattccc +tacttgtcaaagttgaactggtacgttcttggaattaaatatgattgcgctggaccaaat +tgcgacttcttgagtttcagggcaaacgattgagccggaggatgtccgtctcttaccttt +cttgcttatgataaacgacggtccctgtacatcactgggaattctcagcaaaaataattg +ggtaaatcgagactcgatgtattcggccacaaaggtgttagacgttaaagattattcaac +ggggcgataataggatcataaccggtatgcaagcgcattgaaagagccatgagatcctta +tccgataaacgctgcacggtatgtgcagccttattgtcgatcacgaatttataaatgtag +tctgggctgtaagttgaagacctaagttataatgaagtgcaataccaaatcgattcatag +tggattatcagactcaagatatctcctgataaattacagttgttaagatacggataaaat +gagatttaagattagcagcctctaatctgtttcaatcccgttggaatgtggtatgcgatc +aaggttaagttaaaatcaagcctgtcttcagtcttgattcttgttctgccatcgcatgcg +gtctacgtgagttaatatgtagcttacgttctagcttgtgctaatctgagtatagattcg +tagaggaatattatcaagcttccacgcctcaacgtacgtgtattggtcacacaagacact +aaaagtggaagtagcgtaaactatagtctagttgttaaatgctcagttcttgttatattc +gatatactcttggctaatttatgtctgagtatataaaattaatgatattaacttgcattt +cacggatcccttagaaaaagattttgaccgagcgcattataaacggttacaccgaatcaa +tagaagcatacccaatagctttctttgaatttattgcctgcgcaacttggctgactctct +agatccgaataattctatatggtcgtgacgaaactagttcattactgtttaaaatgccaa +catgtcttttgggccgataatggctctttgcaaaattactcaatgatacgattgatcaaa +gcggtagttgctagtggtagcatgtaagtctatcaaatgtctgattatccgaaaatcttc +caaaagagtccacgtaccatatctatctcatagcgacgcgaggggaaccttatctaacta +tcattccatttaccgggtgactctcgatgcaggatccgattgggataaattgcccagaaa +tggctcattcctgactaagggtaaggccgttctcagcaagggaaccccgcgaatctaggc +ttataccatctagattgttaactacttgcctgtagttctacagccatactggacagttgt +ttctaaatgatcgggattcatgctagcactcctctgaatgcaccgcgtaagtttaactat +tacgtccgtgggcagataaggatggaggctgtatgtatcttaactgttacctaatatggc +tggtaattatcaaagtaaggaccttaatgccatagcgctagcaatcgctttgtatactga +ccatgtgccaacctctcttaatctgtaaaatataatgtcttagctaactgtggacgatca +tgtctctgcctagagcttcgctgtatcaattcctatagccagcgtactagtgacacaaca +acaccgtgtgagaaaagatattagtccttacgtctgtctctctacagcttattgatgagg +attgaacatggacatatagctccccctcaaaagcagatgctacctctttattccattctc +gaacatttgccgaacttaatttcgacaaacctgaggtcacgtcttaatttatcggtaacg +tcacgtccctttgagactggataaatatattaccaggggccaacgagcaattgttggagg +cgcttctataatacaaggtgtcttgtcaaagaaagacggcgtgcgtctcgtgcaactcac +ttaaccaatattaatgtgaaacccccctctctcacatcttatgcggtgtactgccctggt +acatttcctgtacaggactccaacagtgtagattcctaagatagctgttggagttgcctc +acgccagatcgaaaaactgaataaactagtgagctgagctgcagaaataccgcttaatta +cttatgactagttcaaagggacctacgtgatgtcagacattgcaaggaagaaattaggtt +tgtgcgtcattttggctggactagcactccttacttcccctactattcaaatgtcgtaaa +cagcatgagacaggatcgtgctgacatttaaggtctattgggaacgaggctacctttggt +cgcgcgctcgcgttctccgaatgaccgaaatgcatgagcacagtatgcaattgcttatag +atctaaggtctggtcgttgaaaccaagcacgtaggcctgggaaatcagttcttcctcagc +aactacacaaaagcgtccaagcattagtacttgtagtaaatgtccgaacctatgcgctca +tttgaaagtcaaaaaatatttttaagcagtaggcacctaacccgattcctctacttagta +gctttctttgattctcagaattgactgcaatatcactgcacaattctgtgccattactag +acttctctgtattaacgtctcatcttactaacactcgcctaggacacatctgagagtgaa +gtatttcaatacatttactgaaatcttcagttctaaaatccccgaataaggctcttatcg +gtttggccaacacaagaaaaaaacttcttgcaccactcaccttcatacgcaggagcctgg +ggaacttagtaataactatttcggcagacaaagcttataacaagttgccggcgcgtataa +tatttaaaagaccccttgagctgctcaattaaaacgctcacctggtataggctattagat +agtgccgtcttagtaaggggcgggaattatcggataaactgatattttgataaaataacc +gacttgttcacgacataagtcactaaggagattttatctttctccaaagtatatcttcct +tggataatttcaaagcgctgcaatttaagttctgttactagtttatgctgctgggaggtg +accggaaggcgtagtaatctagaggcaaattataagaagttcatcatatcattttcgact +acaaaaacaaggtgttgtatgccggcgcattgtgtaaactggacgagtaccctagatgga +aaattatacgttaagccaagatttcgatgtaatgataattacctacacatttttgctatc +cataggaacaagagctgttctataggctcgtggcatacgaacatttgctgccgctatgaa +tattggaagctcttcaactacagactctattcttaattgccgtcgaaaatgggccgaatc +ggctattattaatactcggtttttccgaggggattgttgtcgacagtcgtaattattatt +aatattgatgttggtgaggtcatttaaatacaaccttgcagacaatgaataagggatcca +atctctcatactccttttacaattgctcatgcccctatgcaaaccttatgccgccacacc +tccgcaactctctcttctgaactgtaagtagcttcattactggtttgagactatactgaa +gctgatgacattctaaaatggctattttcgaatgtgattcataatgtttatcgtttggga +tggcagaatcacgttatttttgatatagcccgggtattctattgtatagaacgtatgcta +caagtcattccccgaagaagactagaagtaaacaacatgcgaccatcgttaagccacgca +aggctgtagctttatttcccgataacctatcttccataaatagcggacagcaggatactg +acgctcaacatcagtggttatggtctaatttttaacttttaataaggtaacttcagcagg +catacacagtaactctttaatttataatcaaattagaagtctgacacttcttatattttt +ctatcatccaacgcgatcgcccattagcttattgtgttactaataacgtatctaaaccaa +tccttttcaagctactgcctatattgtcaatatatacaaacaacaggatagtaggctgct +taaaaaatattgtcaaccgtgtacgctttacaatacccggaaatcacaaactttgtagac +aacgagtgaaatttatacactacgaagggccagcgtacaagacccatgaattaggcgata +tgtttattctgacatattggtttatccttaatctgtcgctgtaaaatgaagccgccccca +tccctgcgaattttttttcgaagattcacgactgaaatataaatacgtttggctatattt +atgttggagggaggcaatagcctttactgttaaccgaagatttagccagtgagtgtgaca +ctaaaacactggaataaatgcaggcgttcttctgggtaaaaggtttagtcaatctcgcct +ataagttcatatagctctggatataattatctggcccatgcatttatcatggcgcttggt +gccctgtgtgaagccggcctctcatattgaaggtccgaagtattccatgtacattaagat +cactctctcattcatgcatcttggcttaacaaatctggttgtccaagctttccaggcacg +tatggtacaaattcggatcgaatacttataaaaatgatatgttaaactgtctaaaacgct +catctacaaagtaaagtgcactaaccaatagagtctcaagaccgtgtaatgctggtgcac +tgaatgtgtaatacggttagaagggattagttatgttacaaatccattgaaaacttaaga +agcattgcgtgctcggagggtgcatcttttatcaagagactaacattattttcaacgacg +tacatgctttacaatagggtacttatcaaacgccgagaaacgcgcctatagtgatgttat +gattatgacccgatatccattggaccgaattttatgtaggttcccagcgtactcgcgtaa +tatctcggtattgccataatgtaatacttgtcggtctctcccagatgaaaaagcgttaca +gagtatttcaatgaaaaacagcgcgcaacgtcaatacctttaggggtaacggccgctgat +ttcatatagatatacgataagttggtatagctctactaggtggcatccacaatcgttgca +tttactatagctggttacaatcataatctataccgttccttacatactaccatagcggga +tagcgtttttttgccgttgattgggtttaagaggatgtcagtctcattatatccgattcg +gtgggagagccgttgttttcaaatcgcacactttgtgacataatgtacaagataacaaaa +ctgatataagatataaactgtcaatatcaccttgacacttgaatcaaagtaaattaactc +gcaaatataatttgactaattgggtgcagatttctcaattaataaaaaaatggcaccgga +tgggcttacaagccccttatcattcacttgtatcatgatttccaagaacaatagaatttg +ctagcaagtatgaacagagattcgaattgcatccacagtacgccggagcgtttattttaa +tgtggatatgacgatgtactgttggcggcatttgctagtaaccggtccttatttacgtag +cgcacacgtaagcatgtctgggagaaatatggtggtacaatctcagagaaagattacagt +ttggtttaaataggacttatcgggtcggaagtggaacttaataagcagtacacaattggg +caacagacgtcttgcctattacaataggattacaatgcgttagatttcagacacgttcgt +gtttggctattcgtcaattccctaaatagttagacgatcaactattatcaaagtgattct +ttgttcatcctccattcatgtaacagatggcacactacgcataacgccgaggaattttaa +cgagatttaagagagcagttcgggcacaacccacttgactttataacagctcggcagcat +aaacggtaatatgtgacaaatttccaaacgttataagaacgtatgtgtacttagaaaact +aagtggttcatgttcaacagatgtgacgcagcaagcctaacttatctattggttttgcta +taaaagaacaaagttacacagaatcctaagggcttgtttcacacttatgcctagtgcttc +accatcttaaaatagcgaaaccggcacgaatcaaaccttaaaacaatgcgcagatattgg +tgatggtgactccgggtatgataatggtaactgttgaccagcgcccacctcatcgaagta +tagaaagtggttaggataaggatgagaccgaacttatttccggccataactttagatttt +ctacctagtacacaacatcagggcggacacgaaaccgccatcacatcatataccaggttt +aatttgcttaatgggggaagtgtcaacgaaccttcgaactttagcaggcatatggccatt +atatatggccccagagcagaatgctacagcagacaaaatttggatttatgtagtttaata +cctatcaaacttggtgtgaccatacttgtctaacgacagtgcacaaagtgtaagttacaa +ttattactactcagcagcttctgcaatgataaaatcttatcatacacgtcacatatgata +atatctacttagggggaacgggctccacaacctacatagtactcaatacttacactattc +gacaggcacaccaaacctgtacagtcccaaaagattgagtcaactttgcagtactgcaga +tcacagtaatagcttagttagcgagtcaaaattagttttctacgagactgcacgaccgtg +caaatttccgatgtgttggctacaaatagcaacgtatgaatttgtttgaagccacgtaaa +ctgtacaaccttagagataagtctcaggctactaaaaacacgttgtggcactaacaggat +catggttgattcttacttattcggctgaccggcccaataagtaaccttcaactagaacag +aataatcgggagtagtttaattcagtcaaggtgcaggtctcattgtaactaacaagctct +gtgtaaccaagttaaaatcgttttcttagcggattccctacttatggatttgagctcgtc +cacaatattcgatacaagaagtttgtggtccgtaacaacgaaattttaattacgctgtgc +agcctcatccaaggaattaatagaaggttgatggtaggctccgaacgctccatgattata +atcaagtggactgtgcagtaaacgaggaaggtatcctgacgtcgtggtgttcgtttttgt +tatttgtgccctatacgagtagataaaccatgaacagcacagtgtgaacccatggttgat +tttaggctaccttatttttaatttccgttacacagaaacgaattccacaactaacatgcc +attaatttttcgatatcttataaaagatggtcgaaattcattcatttattttttttcggt +tctcgaaagtcaactaagctgtcgcgttttgtttctctttagaggtaaaagtggctttga +tctcctacgtttggatactagtcaaccattactccatttgatccgtgagtatcacctgtc +taacatccagcattatgactcctcggcgaagaaaagacacacttcttagagtcgatgtgt +attagctagggacacagttgtttaatacgatagtgagcccagggagggcagtgcgtcccc +cagtagatttattcagctagtgtaagtataagatatctcacccacgaggttcaagtgata +tgcagtcttagaataatacttatcctgaatttcgatattatgggtacttcaataatccgc +tagcgctactttatgtctcgttggacagcaggacacatggcagtcttaaacactaaagac +atcacctgaatgaatgtaatgggattacaagaatcaatgaggtattatatacgacgtagg +aaactctggatatatacagtaatctagttacgccatcgcacttcattcctctggaaactt +agaagacatcagctgtacgtggaggaaccagacccccgtatgtagccaaatagaaccaaa +gttgcttatacaaacacacccaatgacaatggaccgctggagttcgtaaactcggaacgt +agtactgcacaaacccagcatttagcaataggagctacgtatgcaactcccacgtggtaa +taccttcaagctatcaatatataggtgcctagctaatcgcattcgcaagcagtattcaag +cttgtaaaccagtataataattacagaggctctatgaaacccaactttccagctaaaagt +cccaattaaatggttatttcgtacttttaaagtcgcccgttctgttattacgcgaattga +ttctactccaaaattaaacacaaattatcaaccgtttcatttatatttgtcaatgcagct +gtttaaaataaggctctactaaattataattaagacacttattaccagatttctctagtt +aagtttgaaccagctcgactaccgcgaaagatacattcccttctctatttttcagttcat +ctatgggtcagagaagcattgaatttattctattcaccctcgtcgttcacagcgaatcgt +cagtgtgatcagtgtatgagaaatatcctaaaccgtttag diff --git a/src/benchmarks/coreclr/BenchmarksGame/Inputs/knucleotide-input.txt b/src/benchmarks/coreclr/BenchmarksGame/Inputs/knucleotide-input.txt new file mode 100644 index 00000000000..f1caba0d628 --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/Inputs/knucleotide-input.txt @@ -0,0 +1,171 @@ +>ONE Homo sapiens alu +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCG +>TWO IUB ambiguity codes +cttBtatcatatgctaKggNcataaaSatgtaaaDcDRtBggDtctttataattcBgtcg +tactDtDagcctatttSVHtHttKtgtHMaSattgWaHKHttttagacatWatgtRgaaa +NtactMcSMtYtcMgRtacttctWBacgaaatatagScDtttgaagacacatagtVgYgt +cattHWtMMWcStgttaggKtSgaYaaccWStcgBttgcgaMttBYatcWtgacaYcaga +gtaBDtRacttttcWatMttDBcatWtatcttactaBgaYtcttgttttttttYaaScYa +HgtgttNtSatcMtcVaaaStccRcctDaataataStcYtRDSaMtDttgttSagtRRca +tttHatSttMtWgtcgtatSSagactYaaattcaMtWatttaSgYttaRgKaRtccactt +tattRggaMcDaWaWagttttgacatgttctacaaaRaatataataaMttcgDacgaSSt +acaStYRctVaNMtMgtaggcKatcttttattaaaaagVWaHKYagtttttatttaacct +tacgtVtcVaattVMBcttaMtttaStgacttagattWWacVtgWYagWVRctDattBYt +gtttaagaagattattgacVatMaacattVctgtBSgaVtgWWggaKHaatKWcBScSWa +accRVacacaaactaccScattRatatKVtactatatttHttaagtttSKtRtacaaagt +RDttcaaaaWgcacatWaDgtDKacgaacaattacaRNWaatHtttStgttattaaMtgt +tgDcgtMgcatBtgcttcgcgaDWgagctgcgaggggVtaaScNatttacttaatgacag +cccccacatYScaMgtaggtYaNgttctgaMaacNaMRaacaaacaKctacatagYWctg +ttWaaataaaataRattagHacacaagcgKatacBttRttaagtatttccgatctHSaat +actcNttMaagtattMtgRtgaMgcataatHcMtaBSaRattagttgatHtMttaaKagg +YtaaBataSaVatactWtataVWgKgttaaaacagtgcgRatatacatVtHRtVYataSa +KtWaStVcNKHKttactatccctcatgWHatWaRcttactaggatctataDtDHBttata +aaaHgtacVtagaYttYaKcctattcttcttaataNDaaggaaaDYgcggctaaWSctBa +aNtgctggMBaKctaMVKagBaactaWaDaMaccYVtNtaHtVWtKgRtcaaNtYaNacg +gtttNattgVtttctgtBaWgtaattcaagtcaVWtactNggattctttaYtaaagccgc +tcttagHVggaYtgtNcDaVagctctctKgacgtatagYcctRYHDtgBattDaaDgccK +tcHaaStttMcctagtattgcRgWBaVatHaaaataYtgtttagMDMRtaataaggatMt +ttctWgtNtgtgaaaaMaatatRtttMtDgHHtgtcattttcWattRSHcVagaagtacg +ggtaKVattKYagactNaatgtttgKMMgYNtcccgSKttctaStatatNVataYHgtNa +BKRgNacaactgatttcctttaNcgatttctctataScaHtataRagtcRVttacDSDtt +aRtSatacHgtSKacYagttMHtWataggatgactNtatSaNctataVtttRNKtgRacc +tttYtatgttactttttcctttaaacatacaHactMacacggtWataMtBVacRaSaatc +cgtaBVttccagccBcttaRKtgtgcctttttRtgtcagcRttKtaaacKtaaatctcac +aattgcaNtSBaaccgggttattaaBcKatDagttactcttcattVtttHaaggctKKga +tacatcBggScagtVcacattttgaHaDSgHatRMaHWggtatatRgccDttcgtatcga +aacaHtaagttaRatgaVacttagattVKtaaYttaaatcaNatccRttRRaMScNaaaD +gttVHWgtcHaaHgacVaWtgttScactaagSgttatcttagggDtaccagWattWtRtg +ttHWHacgattBtgVcaYatcggttgagKcWtKKcaVtgaYgWctgYggVctgtHgaNcV +taBtWaaYatcDRaaRtSctgaHaYRttagatMatgcatttNattaDttaattgttctaa +ccctcccctagaWBtttHtBccttagaVaatMcBHagaVcWcagBVttcBtaYMccagat +gaaaaHctctaacgttagNWRtcggattNatcRaNHttcagtKttttgWatWttcSaNgg +gaWtactKKMaacatKatacNattgctWtatctaVgagctatgtRaHtYcWcttagccaa +tYttWttaWSSttaHcaaaaagVacVgtaVaRMgattaVcDactttcHHggHRtgNcctt +tYatcatKgctcctctatVcaaaaKaaaagtatatctgMtWtaaaacaStttMtcgactt +taSatcgDataaactaaacaagtaaVctaggaSccaatMVtaaSKNVattttgHccatca +cBVctgcaVatVttRtactgtVcaattHgtaaattaaattttYtatattaaRSgYtgBag +aHSBDgtagcacRHtYcBgtcacttacactaYcgctWtattgSHtSatcataaatataHt +cgtYaaMNgBaatttaRgaMaatatttBtttaaaHHKaatctgatWatYaacttMctctt +ttVctagctDaaagtaVaKaKRtaacBgtatccaaccactHHaagaagaaggaNaaatBW +attccgStaMSaMatBttgcatgRSacgttVVtaaDMtcSgVatWcaSatcttttVatag +ttactttacgatcaccNtaDVgSRcgVcgtgaacgaNtaNatatagtHtMgtHcMtagaa +attBgtataRaaaacaYKgtRccYtatgaagtaataKgtaaMttgaaRVatgcagaKStc +tHNaaatctBBtcttaYaBWHgtVtgacagcaRcataWctcaBcYacYgatDgtDHccta +>THREE Homo sapiens frequency +aacacttcaccaggtatcgtgaaggctcaagattacccagagaacctttgcaatataaga +atatgtatgcagcattaccctaagtaattatattctttttctgactcaaagtgacaagcc +ctagtgtatattaaatcggtatatttgggaaattcctcaaactatcctaatcaggtagcc +atgaaagtgatcaaaaaagttcgtacttataccatacatgaattctggccaagtaaaaaa +tagattgcgcaaaattcgtaccttaagtctctcgccaagatattaggatcctattactca +tatcgtgtttttctttattgccgccatccccggagtatctcacccatccttctcttaaag +gcctaatattacctatgcaaataaacatatattgttgaaaattgagaacctgatcgtgat +tcttatgtgtaccatatgtatagtaatcacgcgactatatagtgctttagtatcgcccgt +gggtgagtgaatattctgggctagcgtgagatagtttcttgtcctaatatttttcagatc +gaatagcttctatttttgtgtttattgacatatgtcgaaactccttactcagtgaaagtc +atgaccagatccacgaacaatcttcggaatcagtctcgttttacggcggaatcttgagtc +taacttatatcccgtcgcttactttctaacaccccttatgtatttttaaaattacgttta +ttcgaacgtacttggcggaagcgttattttttgaagtaagttacattgggcagactcttg +acattttcgatacgactttctttcatccatcacaggactcgttcgtattgatatcagaag +ctcgtgatgattagttgtcttctttaccaatactttgaggcctattctgcgaaatttttg +ttgccctgcgaacttcacataccaaggaacacctcgcaacatgccttcatatccatcgtt +cattgtaattcttacacaatgaatcctaagtaattacatccctgcgtaaaagatggtagg +ggcactgaggatatattaccaagcatttagttatgagtaatcagcaatgtttcttgtatt +aagttctctaaaatagttacatcgtaatgttatctcgggttccgcgaataaacgagatag +attcattatatatggccctaagcaaaaacctcctcgtattctgttggtaattagaatcac +acaatacgggttgagatattaattatttgtagtacgaagagatataaaaagatgaacaat +tactcaagtcaagatgtatacgggatttataataaaaatcgggtagagatctgctttgca +attcagacgtgccactaaatcgtaatatgtcgcgttacatcagaaagggtaactattatt +aattaataaagggcttaatcactacatattagatcttatccgatagtcttatctattcgt +tgtatttttaagcggttctaattcagtcattatatcagtgctccgagttctttattattg +ttttaaggatgacaaaatgcctcttgttataacgctgggagaagcagactaagagtcgga +gcagttggtagaatgaggctgcaaaagacggtctcgacgaatggacagactttactaaac +caatgaaagacagaagtagagcaaagtctgaagtggtatcagcttaattatgacaaccct +taatacttccctttcgccgaatactggcgtggaaaggttttaaaagtcgaagtagttaga +ggcatctctcgctcataaataggtagactactcgcaatccaatgtgactatgtaatactg +ggaacatcagtccgcgatgcagcgtgtttatcaaccgtccccactcgcctggggagacat +gagaccacccccgtggggattattagtccgcagtaatcgactcttgacaatccttttcga +ttatgtcatagcaatttacgacagttcagcgaagtgactactcggcgaaatggtattact +aaagcattcgaacccacatgaatgtgattcttggcaatttctaatccactaaagcttttc +cgttgaatctggttgtagatatttatataagttcactaattaagatcacggtagtatatt +gatagtgatgtctttgcaagaggttggccgaggaatttacggattctctattgatacaat +ttgtctggcttataactcttaaggctgaaccaggcgtttttagacgacttgatcagctgt +tagaatggtttggactccctctttcatgtcagtaacatttcagccgttattgttacgata +tgcttgaacaatattgatctaccacacacccatagtatattttataggtcatgctgttac +ctacgagcatggtattccacttcccattcaatgagtattcaacatcactagcctcagaga +tgatgacccacctctaataacgtcacgttgcggccatgtgaaacctgaacttgagtagac +gatatcaagcgctttaaattgcatataacatttgagggtaaagctaagcggatgctttat +ataatcaatactcaataataagatttgattgcattttagagttatgacacgacatagttc +actaacgagttactattcccagatctagactgaagtactgatcgagacgatccttacgtc +gatgatcgttagttatcgacttaggtcgggtctctagcggtattggtacttaaccggaca +ctatactaataacccatgatcaaagcataacagaatacagacgataatttcgccaacata +tatgtacagaccccaagcatgagaagctcattgaaagctatcattgaagtcccgctcaca +atgtgtcttttccagacggtttaactggttcccgggagtcctggagtttcgacttacata +aatggaaacaatgtattttgctaatttatctatagcgtcatttggaccaatacagaatat +tatgttgcctagtaatccactataacccgcaagtgctgatagaaaatttttagacgattt +ataaatgccccaagtatccctcccgtgaatcctccgttatactaattagtattcgttcat +acgtataccgcgcatatatgaacatttggcgataaggcgcgtgaattgttacgtgacaga +gatagcagtttcttgtgatatggttaacagacgtacatgaagggaaactttatatctata +gtgatgcttccgtagaaataccgccactggtctgccaatgatgaagtatgtagctttagg +tttgtactatgaggctttcgtttgtttgcagagtataacagttgcgagtgaaaaaccgac +gaatttatactaatacgctttcactattggctacaaaatagggaagagtttcaatcatga +gagggagtatatggatgctttgtagctaaaggtagaacgtatgtatatgctgccgttcat +tcttgaaagatacataagcgataagttacgacaattataagcaacatccctaccttcgta +acgatttcactgttactgcgcttgaaatacactatggggctattggcggagagaagcaga +tcgcgccgagcatatacgagacctataatgttgatgatagagaaggcgtctgaattgata +catcgaagtacactttctttcgtagtatctctcgtcctctttctatctccggacacaaga +attaagttatatatatagagtcttaccaatcatgttgaatcctgattctcagagttcttt +ggcgggccttgtgatgactgagaaacaatgcaatattgctccaaatttcctaagcaaatt +ctcggttatgttatgttatcagcaaagcgttacgttatgttatttaaatctggaatgacg +gagcgaagttcttatgtcggtgtgggaataattcttttgaagacagcactccttaaataa +tatcgctccgtgtttgtatttatcgaatgggtctgtaaccttgcacaagcaaatcggtgg +tgtatatatcggataacaattaatacgatgttcatagtgacagtatactgatcgagtcct +ctaaagtcaattacctcacttaacaatctcattgatgttgtgtcattcccggtatcgccc +gtagtatgtgctctgattgaccgagtgtgaaccaaggaacatctactaatgcctttgtta +ggtaagatctctctgaattccttcgtgccaacttaaaacattatcaaaatttcttctact +tggattaactacttttacgagcatggcaaattcccctgtggaagacggttcattattatc +ggaaaccttatagaaattgcgtgttgactgaaattagatttttattgtaagagttgcatc +tttgcgattcctctggtctagcttccaatgaacagtcctcccttctattcgacatcgggt +ccttcgtacatgtctttgcgatgtaataattaggttcggagtgtggccttaatgggtgca +actaggaatacaacgcaaatttgctgacatgatagcaaatcggtatgccggcaccaaaac +gtgctccttgcttagcttgtgaatgagactcagtagttaaataaatccatatctgcaatc +gattccacaggtattgtccactatctttgaactactctaagagatacaagcttagctgag +accgaggtgtatatgactacgctgatatctgtaaggtaccaatgcaggcaaagtatgcga +gaagctaataccggctgtttccagctttataagattaaaatttggctgtcctggcggcct +cagaattgttctatcgtaatcagttggttcattaattagctaagtacgaggtacaactta +tctgtcccagaacagctccacaagtttttttacagccgaaacccctgtgtgaatcttaat +atccaagcgcgttatctgattagagtttacaactcagtattttatcagtacgttttgttt +ccaacattacccggtatgacaaaatgacgccacgtgtcgaataatggtctgaccaatgta +ggaagtgaaaagataaatat diff --git a/src/benchmarks/coreclr/BenchmarksGame/Inputs/regexdna-input25.txt b/src/benchmarks/coreclr/BenchmarksGame/Inputs/regexdna-input25.txt new file mode 100644 index 00000000000..c32ac3c876d --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/Inputs/regexdna-input25.txt @@ -0,0 +1,9 @@ +>ONE Homo sapiens alu +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +>TWO IUB ambiguity codes +cttBtatcatatgctaKggNcataaaSatgtaaaDcDRtBggDtctttataattcBgtcg +tactDtDagcctatt +>THREE Homo sapiens frequency +agggtaaagtttgtgttgcgttatagtctatttgtggacacagtatggtcaaatgacgtc +ttttccctttaacaaagatactctgggcaacacacatacttctctcatgttgtttcttcg +gacct diff --git a/src/benchmarks/coreclr/BenchmarksGame/Inputs/regexdna-input25000.txt b/src/benchmarks/coreclr/BenchmarksGame/Inputs/regexdna-input25000.txt new file mode 100644 index 00000000000..fd4414b1767 --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/Inputs/regexdna-input25000.txt @@ -0,0 +1,4171 @@ +>ONE Homo sapiens alu +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATC +>TWO IUB ambiguity codes +cttBtatcatatgctaKggNcataaaSatgtaaaDcDRtBggDtctttataattcBgtcg +tactDtDagcctatttSVHtHttKtgtHMaSattgWaHKHttttagacatWatgtRgaaa +NtactMcSMtYtcMgRtacttctWBacgaaatatagScDtttgaagacacatagtVgYgt +cattHWtMMWcStgttaggKtSgaYaaccWStcgBttgcgaMttBYatcWtgacaYcaga +gtaBDtRacttttcWatMttDBcatWtatcttactaBgaYtcttgttttttttYaaScYa +HgtgttNtSatcMtcVaaaStccRcctDaataataStcYtRDSaMtDttgttSagtRRca +tttHatSttMtWgtcgtatSSagactYaaattcaMtWatttaSgYttaRgKaRtccactt +tattRggaMcDaWaWagttttgacatgttctacaaaRaatataataaMttcgDacgaSSt +acaStYRctVaNMtMgtaggcKatcttttattaaaaagVWaHKYagtttttatttaacct +tacgtVtcVaattVMBcttaMtttaStgacttagattWWacVtgWYagWVRctDattBYt +gtttaagaagattattgacVatMaacattVctgtBSgaVtgWWggaKHaatKWcBScSWa +accRVacacaaactaccScattRatatKVtactatatttHttaagtttSKtRtacaaagt +RDttcaaaaWgcacatWaDgtDKacgaacaattacaRNWaatHtttStgttattaaMtgt +tgDcgtMgcatBtgcttcgcgaDWgagctgcgaggggVtaaScNatttacttaatgacag +cccccacatYScaMgtaggtYaNgttctgaMaacNaMRaacaaacaKctacatagYWctg +ttWaaataaaataRattagHacacaagcgKatacBttRttaagtatttccgatctHSaat +actcNttMaagtattMtgRtgaMgcataatHcMtaBSaRattagttgatHtMttaaKagg +YtaaBataSaVatactWtataVWgKgttaaaacagtgcgRatatacatVtHRtVYataSa +KtWaStVcNKHKttactatccctcatgWHatWaRcttactaggatctataDtDHBttata +aaaHgtacVtagaYttYaKcctattcttcttaataNDaaggaaaDYgcggctaaWSctBa +aNtgctggMBaKctaMVKagBaactaWaDaMaccYVtNtaHtVWtKgRtcaaNtYaNacg +gtttNattgVtttctgtBaWgtaattcaagtcaVWtactNggattctttaYtaaagccgc +tcttagHVggaYtgtNcDaVagctctctKgacgtatagYcctRYHDtgBattDaaDgccK +tcHaaStttMcctagtattgcRgWBaVatHaaaataYtgtttagMDMRtaataaggatMt +ttctWgtNtgtgaaaaMaatatRtttMtDgHHtgtcattttcWattRSHcVagaagtacg +ggtaKVattKYagactNaatgtttgKMMgYNtcccgSKttctaStatatNVataYHgtNa +BKRgNacaactgatttcctttaNcgatttctctataScaHtataRagtcRVttacDSDtt +aRtSatacHgtSKacYagttMHtWataggatgactNtatSaNctataVtttRNKtgRacc +tttYtatgttactttttcctttaaacatacaHactMacacggtWataMtBVacRaSaatc +cgtaBVttccagccBcttaRKtgtgcctttttRtgtcagcRttKtaaacKtaaatctcac +aattgcaNtSBaaccgggttattaaBcKatDagttactcttcattVtttHaaggctKKga +tacatcBggScagtVcacattttgaHaDSgHatRMaHWggtatatRgccDttcgtatcga +aacaHtaagttaRatgaVacttagattVKtaaYttaaatcaNatccRttRRaMScNaaaD +gttVHWgtcHaaHgacVaWtgttScactaagSgttatcttagggDtaccagWattWtRtg +ttHWHacgattBtgVcaYatcggttgagKcWtKKcaVtgaYgWctgYggVctgtHgaNcV +taBtWaaYatcDRaaRtSctgaHaYRttagatMatgcatttNattaDttaattgttctaa +ccctcccctagaWBtttHtBccttagaVaatMcBHagaVcWcagBVttcBtaYMccagat +gaaaaHctctaacgttagNWRtcggattNatcRaNHttcagtKttttgWatWttcSaNgg +gaWtactKKMaacatKatacNattgctWtatctaVgagctatgtRaHtYcWcttagccaa +tYttWttaWSSttaHcaaaaagVacVgtaVaRMgattaVcDactttcHHggHRtgNcctt +tYatcatKgctcctctatVcaaaaKaaaagtatatctgMtWtaaaacaStttMtcgactt +taSatcgDataaactaaacaagtaaVctaggaSccaatMVtaaSKNVattttgHccatca +cBVctgcaVatVttRtactgtVcaattHgtaaattaaattttYtatattaaRSgYtgBag +aHSBDgtagcacRHtYcBgtcacttacactaYcgctWtattgSHtSatcataaatataHt +cgtYaaMNgBaatttaRgaMaatatttBtttaaaHHKaatctgatWatYaacttMctctt +ttVctagctDaaagtaVaKaKRtaacBgtatccaaccactHHaagaagaaggaNaaatBW +attccgStaMSaMatBttgcatgRSacgttVVtaaDMtcSgVatWcaSatcttttVatag +ttactttacgatcaccNtaDVgSRcgVcgtgaacgaNtaNatatagtHtMgtHcMtagaa +attBgtataRaaaacaYKgtRccYtatgaagtaataKgtaaMttgaaRVatgcagaKStc +tHNaaatctBBtcttaYaBWHgtVtgacagcaRcataWctcaBcYacYgatDgtDHccta +aagacYRcaggattHaYgtKtaatgcVcaataMYacccatatcacgWDBtgaatcBaata +cKcttRaRtgatgaBDacggtaattaaYtataStgVHDtDctgactcaaatKtacaatgc +gYatBtRaDatHaactgtttatatDttttaaaKVccYcaaccNcBcgHaaVcattHctcg +attaaatBtatgcaaaaatYMctSactHatacgaWacattacMBgHttcgaatVaaaaca +BatatVtctgaaaaWtctRacgBMaatSgRgtgtcgactatcRtattaScctaStagKga +DcWgtYtDDWKRgRtHatRtggtcgaHgggcgtattaMgtcagccaBggWVcWctVaaat +tcgNaatcKWagcNaHtgaaaSaaagctcYctttRVtaaaatNtataaccKtaRgtttaM +tgtKaBtRtNaggaSattHatatWactcagtgtactaKctatttgRYYatKatgtccgtR +tttttatttaatatVgKtttgtatgtNtataRatWYNgtRtHggtaaKaYtKSDcatcKg +taaYatcSRctaVtSMWtVtRWHatttagataDtVggacagVcgKWagBgatBtaaagNc +aRtagcataBggactaacacRctKgttaatcctHgDgttKHHagttgttaatgHBtatHc +DaagtVaBaRccctVgtgDtacRHSctaagagcggWYaBtSaKtHBtaaactYacgNKBa +VYgtaacttagtVttcttaatgtBtatMtMtttaattaatBWccatRtttcatagVgMMt +agctStKctaMactacDNYgKYHgaWcgaHgagattacVgtttgtRaSttaWaVgataat +gtgtYtaStattattMtNgWtgttKaccaatagNYttattcgtatHcWtctaaaNVYKKt +tWtggcDtcgaagtNcagatacgcattaagaccWctgcagcttggNSgaNcHggatgtVt +catNtRaaBNcHVagagaaBtaaSggDaatWaatRccaVgggStctDaacataKttKatt +tggacYtattcSatcttagcaatgaVBMcttDattctYaaRgatgcattttNgVHtKcYR +aatRKctgtaaacRatVSagctgtWacBtKVatctgttttKcgtctaaDcaagtatcSat +aWVgcKKataWaYttcccSaatgaaaacccWgcRctWatNcWtBRttYaattataaNgac +acaatagtttVNtataNaYtaatRaVWKtBatKagtaatataDaNaaaaataMtaagaaS +tccBcaatNgaataWtHaNactgtcDtRcYaaVaaaaaDgtttRatctatgHtgttKtga +aNSgatactttcgagWaaatctKaaDaRttgtggKKagcDgataaattgSaacWaVtaNM +acKtcaDaaatttctRaaVcagNacaScRBatatctRatcctaNatWgRtcDcSaWSgtt +RtKaRtMtKaatgttBHcYaaBtgatSgaSWaScMgatNtctcctatttctYtatMatMt +RRtSaattaMtagaaaaStcgVgRttSVaScagtgDtttatcatcatacRcatatDctta +tcatVRtttataaHtattcYtcaaaatactttgVctagtaaYttagatagtSYacKaaac +gaaKtaaatagataatSatatgaaatSgKtaatVtttatcctgKHaatHattagaaccgt +YaaHactRcggSBNgtgctaaBagBttgtRttaaattYtVRaaaattgtaatVatttctc +ttcatgBcVgtgKgaHaaatattYatagWacNctgaaMcgaattStagWaSgtaaKagtt +ttaagaDgatKcctgtaHtcatggKttVDatcaaggtYcgccagNgtgcVttttagagat +gctaccacggggtNttttaSHaNtatNcctcatSaaVgtactgBHtagcaYggYVKNgta +KBcRttgaWatgaatVtagtcgattYgatgtaatttacDacSctgctaaaStttaWMagD +aaatcaVYctccgggcgaVtaaWtStaKMgDtttcaaMtVgBaatccagNaaatcYRMBg +gttWtaaScKttMWtYataRaDBMaDataatHBcacDaaKDactaMgagttDattaHatH +taYatDtattDcRNStgaatattSDttggtattaaNSYacttcDMgYgBatWtaMagact +VWttctttgYMaYaacRgHWaattgRtaagcattctMKVStatactacHVtatgatcBtV +NataaBttYtSttacKgggWgYDtgaVtYgatDaacattYgatggtRDaVDttNactaSa +MtgNttaacaaSaBStcDctaccacagacgcaHatMataWKYtaYattMcaMtgSttDag +cHacgatcaHttYaKHggagttccgatYcaatgatRaVRcaagatcagtatggScctata +ttaNtagcgacgtgKaaWaactSgagtMYtcttccaKtStaacggMtaagNttattatcg +tctaRcactctctDtaacWYtgaYaSaagaWtNtatttRacatgNaatgttattgWDDcN +aHcctgaaHacSgaataaRaataMHttatMtgaSDSKatatHHaNtacagtccaYatWtc +actaactatKDacSaStcggataHgYatagKtaatKagStaNgtatactatggRHacttg +tattatgtDVagDVaRctacMYattDgtttYgtctatggtKaRSttRccRtaaccttaga +gRatagSaaMaacgcaNtatgaaatcaRaagataatagatactcHaaYKBctccaagaRa +BaStNagataggcgaatgaMtagaatgtcaKttaaatgtaWcaBttaatRcggtgNcaca +aKtttScRtWtgcatagtttWYaagBttDKgcctttatMggNttattBtctagVtacata +aaYttacacaaRttcYtWttgHcaYYtaMgBaBatctNgcDtNttacgacDcgataaSat +YaSttWtcctatKaatgcagHaVaacgctgcatDtgttaSataaaaYSNttatagtaNYt +aDaaaNtggggacttaBggcHgcgtNtaaMcctggtVtaKcgNacNtatVaSWctWtgaW +cggNaBagctctgaYataMgaagatBSttctatacttgtgtKtaattttRagtDtacata +tatatgatNHVgBMtKtaKaNttDHaagatactHaccHtcatttaaagttVaMcNgHata +tKtaNtgYMccttatcaaNagctggacStttcNtggcaVtattactHaSttatgNMVatt +MMDtMactattattgWMSgtHBttStStgatatRaDaagattttctatMtaaaaaggtac +taaVttaSacNaatactgMttgacHaHRttgMacaaaatagttaatatWKRgacDgaRta +tatttattatcYttaWtgtBRtWatgHaaattHataagtVaDtWaVaWtgStcgtMSgaS +RgMKtaaataVacataatgtaSaatttagtcgaaHtaKaatgcacatcggRaggSKctDc +agtcSttcccStYtccRtctctYtcaaKcgagtaMttttcRaYDttgttatctaatcata +NctctgctatcaMatactataggDaHaaSttMtaDtcNatataattctMcStaaBYtaNa +gatgtaatHagagSttgWHVcttatKaYgDctcttggtgttMcRaVgSgggtagacaata +aDtaattSaDaNaHaBctattgNtaccaaRgaVtKNtaaYggHtaKKgHcatctWtctDt +ttctttggSDtNtaStagttataaacaattgcaBaBWggHgcaaaBtYgctaatgaaatW +cDcttHtcMtWWattBHatcatcaaatctKMagtDNatttWaBtHaaaNgMttaaStagt +tctctaatDtcRVaYttgttMtRtgtcaSaaYVgSWDRtaatagctcagDgcWWaaaBaa +RaBctgVgggNgDWStNaNBKcBctaaKtttDcttBaaggBttgaccatgaaaNgttttt +tttatctatgttataccaaDRaaSagtaVtDtcaWatBtacattaWacttaSgtattggD +gKaaatScaattacgWcagKHaaccaYcRcaRttaDttRtttHgaHVggcttBaRgtccc +tDatKaVtKtcRgYtaKttacgtatBtStaagcaattaagaRgBagSaattccSWYttta +ttVaataNctgHgttaaNBgcVYgtRtcccagWNaaaacaDNaBcaaaaRVtcWMgBagM +tttattacgDacttBtactatcattggaaatVccggttRttcatagttVYcatYaSHaHc +ttaaagcNWaHataaaRWtctVtRYtagHtaaaYMataHYtNBctNtKaatattStgaMc +BtRgctaKtgcScSttDgYatcVtggaaKtaagatWccHccgKYctaNNctacaWctttt +gcRtgtVcgaKttcMRHgctaHtVaataaDtatgKDcttatBtDttggNtacttttMtga +acRattaaNagaactcaaaBBVtcDtcgaStaDctgaaaSgttMaDtcgttcaccaaaag +gWtcKcgSMtcDtatgtttStaaBtatagDcatYatWtaaaBacaKgcaDatgRggaaYc +taRtccagattDaWtttggacBaVcHtHtaacDacYgtaatataMagaatgHMatcttat +acgtatttttatattacHactgttataMgStYaattYaccaattgagtcaaattaYtgta +tcatgMcaDcgggtcttDtKgcatgWRtataatatRacacNRBttcHtBgcRttgtgcgt +catacMtttBctatctBaatcattMttMYgattaaVYatgDaatVagtattDacaacDMa +tcMtHcccataagatgBggaccattVWtRtSacatgctcaaggggYtttDtaaNgNtaaB +atggaatgtctRtaBgBtcNYatatNRtagaacMgagSaSDDSaDcctRagtVWSHtVSR +ggaacaBVaccgtttaStagaacaMtactccagtttVctaaRaaHttNcttagcaattta +ttaatRtaaaatctaacDaBttggSagagctacHtaaRWgattcaaBtctRtSHaNtgta +cattVcaHaNaagtataccacaWtaRtaaVKgMYaWgttaKggKMtKcgWatcaDatYtK +SttgtacgaccNctSaattcDcatcttcaaaDKttacHtggttHggRRaRcaWacaMtBW +VHSHgaaMcKattgtaRWttScNattBBatYtaNRgcggaagacHSaattRtttcYgacc +BRccMacccKgatgaacttcgDgHcaaaaaRtatatDtatYVtttttHgSHaSaatagct +NYtaHYaVYttattNtttgaaaYtaKttWtctaNtgagaaaNctNDctaaHgttagDcRt +tatagccBaacgcaRBtRctRtggtaMYYttWtgataatcgaataattattataVaaaaa +ttacNRVYcaaMacNatRttcKatMctgaagactaattataaYgcKcaSYaatMNctcaa +cgtgatttttBacNtgatDccaattattKWWcattttatatatgatBcDtaaaagttgaa +VtaHtaHHtBtataRBgtgDtaataMttRtDgDcttattNtggtctatctaaBcatctaR +atgNacWtaatgaagtcMNaacNgHttatactaWgcNtaStaRgttaaHacccgaYStac +aaaatWggaYaWgaattattcMaactcBKaaaRVNcaNRDcYcgaBctKaacaaaaaSgc +tccYBBHYaVagaatagaaaacagYtctVccaMtcgtttVatcaatttDRtgWctagtac +RttMctgtDctttcKtWttttataaatgVttgBKtgtKWDaWagMtaaagaaattDVtag +gttacatcatttatgtcgMHaVcttaBtVRtcgtaYgBRHatttHgaBcKaYWaatcNSc +tagtaaaaatttacaatcactSWacgtaatgKttWattagttttNaggtctcaagtcact +attcttctaagKggaataMgtttcataagataaaaatagattatDgcBVHWgaBKttDgc +atRHaagcaYcRaattattatgtMatatattgHDtcaDtcaaaHctStattaatHaccga +cNattgatatattttgtgtDtRatagSacaMtcRtcattcccgacacSattgttKaWatt +NHcaacttccgtttSRtgtctgDcgctcaaMagVtBctBMcMcWtgtaacgactctcttR +ggRKSttgYtYatDccagttDgaKccacgVatWcataVaaagaataMgtgataaKYaaat +cHDaacgataYctRtcYatcgcaMgtNttaBttttgatttaRtStgcaacaaaataccVg +aaDgtVgDcStctatatttattaaaaRKDatagaaagaKaaYYcaYSgKStctccSttac +agtcNactttDVttagaaagMHttRaNcSaRaMgBttattggtttaRMggatggcKDgWR +tNaataataWKKacttcKWaaagNaBttaBatMHtccattaacttccccYtcBcYRtaga +ttaagctaaYBDttaNtgaaaccHcaRMtKtaaHMcNBttaNaNcVcgVttWNtDaBatg +ataaVtcWKcttRggWatcattgaRagHgaattNtatttctctattaattaatgaDaaMa +tacgttgggcHaYVaaNaDDttHtcaaHtcVVDgBVagcMacgtgttaaBRNtatRtcag +taagaggtttaagacaVaaggttaWatctccgtVtaDtcDatttccVatgtacNtttccg +tHttatKgScBatgtVgHtYcWagcaKtaMYaaHgtaattaSaHcgcagtWNaatNccNN +YcacgVaagaRacttctcattcccRtgtgtaattagcSttaaStWaMtctNNcSMacatt +ataaactaDgtatWgtagtttaagaaaattgtagtNagtcaataaatttgatMMYactaa +tatcggBWDtVcYttcDHtVttatacYaRgaMaacaStaatcRttttVtagaDtcacWat +ttWtgaaaagaaagNRacDtttStVatBaDNtaactatatcBSMcccaSttccggaMatg +attaaWatKMaBaBatttgataNctgttKtVaagtcagScgaaaDggaWgtgttttKtWt +atttHaatgtagttcactaaKMagttSYBtKtaYgaactcagagRtatagtVtatcaaaW +YagcgNtaDagtacNSaaYDgatBgtcgataacYDtaaactacagWDcYKaagtttatta +gcatcgagttKcatDaattgattatDtcagRtWSKtcgNtMaaaaacaMttKcaWcaaSV +MaaaccagMVtaMaDtMaHaBgaacataBBVtaatVYaNSWcSgNtDNaaKacacBttta +tKtgtttcaaHaMctcagtaacgtcgYtactDcgcctaNgagagcYgatattttaaattt +ccattttacatttDaaRctattttWctttacgtDatYtttcagacgcaaVttagtaaKaa +aRtgVtccataBggacttatttgtttaWNtgttVWtaWNVDaattgtatttBaagcBtaa +BttaaVatcHcaVgacattccNggtcgacKttaaaRtagRtctWagaYggtgMtataatM +tgaaRttattttgWcttNtDRRgMDKacagaaaaggaaaRStcccagtYccVattaNaaK +StNWtgacaVtagaagcttSaaDtcacaacgDYacWDYtgtttKatcVtgcMaDaSKStV +cgtagaaWaKaagtttcHaHgMgMtctataagBtKaaaKKcactggagRRttaagaBaaN +atVVcgRcKSttDaactagtSttSattgttgaaRYatggttVttaataaHttccaagDtg +atNWtaagHtgcYtaactRgcaatgMgtgtRaatRaNaacHKtagactactggaatttcg +ccataacgMctRgatgttaccctaHgtgWaYcactcacYaattcttaBtgacttaaacct +gYgaWatgBttcttVttcgttWttMcNYgtaaaatctYgMgaaattacNgaHgaacDVVM +tttggtHtctaaRgtacagacgHtVtaBMNBgattagcttaRcttacaHcRctgttcaaD +BggttKaacatgKtttYataVaNattccgMcgcgtagtRaVVaattaKaatggttRgaMc +agtatcWBttNtHagctaatctagaaNaaacaYBctatcgcVctBtgcaaagDgttVtga +HtactSNYtaaNccatgtgDacgaVtDcgKaRtacDcttgctaagggcagMDagggtBWR +tttSgccttttttaacgtcHctaVtVDtagatcaNMaVtcVacatHctDWNaataRgcgt +aVHaggtaaaaSgtttMtattDgBtctgatSgtRagagYtctSaKWaataMgattRKtaa +catttYcgtaacacattRWtBtcggtaaatMtaaacBatttctKagtcDtttgcBtKYYB +aKttctVttgttaDtgattttcttccacttgSaaacggaaaNDaattcYNNaWcgaaYat +tttMgcBtcatRtgtaaagatgaWtgaccaYBHgaatagataVVtHtttVgYBtMctaMt +cctgaDcYttgtccaaaRNtacagcMctKaaaggatttacatgtttaaWSaYaKttBtag +DacactagctMtttNaKtctttcNcSattNacttggaacaatDagtattRtgSHaataat +gccVgacccgatactatccctgtRctttgagaSgatcatatcgDcagWaaHSgctYYWta +tHttggttctttatVattatcgactaagtgtagcatVgtgHMtttgtttcgttaKattcM +atttgtttWcaaStNatgtHcaaaDtaagBaKBtRgaBgDtSagtatMtaacYaatYtVc +KatgtgcaacVaaaatactKcRgtaYtgtNgBBNcKtcttaccttKgaRaYcaNKtactt +tgagSBtgtRagaNgcaaaNcacagtVtttHWatgttaNatBgtttaatNgVtctgaata +tcaRtattcttttttttRaaKcRStctcggDgKagattaMaaaKtcaHacttaataataK +taRgDtKVBttttcgtKaggHHcatgttagHggttNctcgtatKKagVagRaaaggaaBt +NatttVKcRttaHctaHtcaaatgtaggHccaBataNaNaggttgcWaatctgatYcaaa +HaatWtaVgaaBttagtaagaKKtaaaKtRHatMaDBtBctagcatWtatttgWttVaaa +ScMNattRactttgtYtttaaaagtaagtMtaMaSttMBtatgaBtttaKtgaatgagYg +tNNacMtcNRacMMHcttWtgtRtctttaacaacattattcYaMagBaacYttMatcttK +cRMtgMNccattaRttNatHaHNaSaaHMacacaVaatacaKaSttHatattMtVatWga +ttttttaYctttKttHgScWaacgHtttcaVaaMgaacagNatcgttaacaaaaagtaca +HBNaattgttKtcttVttaaBtctgctacgBgcWtttcaggacacatMgacatcccagcg +gMgaVKaBattgacttaatgacacacaaaaaatRKaaBctacgtRaDcgtagcVBaacDS +BHaaaaSacatatacagacRNatcttNaaVtaaaataHattagtaaaaSWccgtatWatg +gDttaactattgcccatcttHaSgYataBttBaactattBtcHtgatcaataSttaBtat +KSHYttWggtcYtttBttaataccRgVatStaHaKagaatNtagRMNgtcttYaaSaact +cagDSgagaaYtMttDtMRVgWKWtgMaKtKaDttttgactatacataatcNtatNaHat +tVagacgYgatatatttttgtStWaaatctWaMgagaRttRatacgStgattcttaagaD +taWccaaatRcagcagaaNKagtaaDggcgccBtYtagSBMtactaaataMataBSacRM +gDgattMMgtcHtcaYDtRaDaacggttDaggcMtttatgttaNctaattaVacgaaMMt +aatDccSgtattgaRtWWaccaccgagtactMcgVNgctDctaMScatagcgtcaactat +acRacgHRttgctatttaatgaattataYKttgtaagWgtYttgcHgMtaMattWaWVta +RgcttgYgttBHtYataSccStBtgtagMgtDtggcVaaSBaatagDttgBgtctttctc +attttaNagtHKtaMWcYactVcgcgtatMVtttRacVagDaatcttgctBBcRDgcaac +KttgatSKtYtagBMagaRtcgBattHcBWcaactgatttaatttWDccatttatcgagS +KaWttataHactaHMttaatHtggaHtHagaatgtKtaaRactgtttMatacgatcaagD +gatKaDctataMggtHDtggHacctttRtatcttYattttgacttgaaSaataaatYcgB +aaaaccgNatVBttMacHaKaataagtatKgtcaagactcttaHttcggaattgttDtct +aaccHttttWaaatgaaatataaaWattccYDtKtaaaacggtgaggWVtctattagtga +ctattaagtMgtttaagcatttgSgaaatatccHaaggMaaaattttcWtatKctagDtY +tMcctagagHcactttactatacaaacattaacttaHatcVMYattYgVgtMttaaRtga +aataaDatcaHgtHHatKcDYaatcttMtNcgatYatgSaMaNtcttKcWataScKggta +tcttacgcttWaaagNatgMgHtctttNtaacVtgttcMaaRatccggggactcMtttaY +MtcWRgNctgNccKatcttgYDcMgattNYaRagatHaaHgKctcataRDttacatBatc +cattgDWttatttaWgtcggagaaaaatacaatacSNtgggtttccttacSMaagBatta +caMaNcactMttatgaRBacYcYtcaaaWtagctSaacttWgDMHgaggatgBVgcHaDt +ggaactttggtcNatNgtaKaBcccaNtaagttBaacagtatacDYttcctNgWgcgSMc +acatStctHatgRcNcgtacacaatRttMggaNKKggataaaSaYcMVcMgtaMaHtgat +tYMatYcggtcttcctHtcDccgtgRatcattgcgccgatatMaaYaataaYSggatagc +gcBtNtaaaScaKgttBgagVagttaKagagtatVaactaSacWactSaKatWccaKaaa +atBKgaaKtDMattttgtaaatcRctMatcaaMagMttDgVatggMaaWgttcgaWatga +aatttgRtYtattaWHKcRgctacatKttctaccaaHttRatctaYattaaWatVNccat +NgagtcKttKataStRaatatattcctRWatDctVagttYDgSBaatYgttttgtVaatt +taatagcagMatRaacttBctattgtMagagattaaactaMatVtHtaaatctRgaaaaa +aaatttWacaacaYccYDSaattMatgaccKtaBKWBattgtcaagcHKaagttMMtaat +ttcKcMagNaaKagattggMagaggtaatttYacatcWaaDgatMgKHacMacgcVaaca +DtaDatatYggttBcgtatgWgaSatttgtagaHYRVacaRtctHaaRtatgaactaata +tctSSBgggaaHMWtcaagatKgagtDaSatagttgattVRatNtctMtcSaagaSHaat +aNataataRaaRgattctttaataaagWaRHcYgcatgtWRcttgaaggaMcaataBRaa +ccagStaaacNtttcaatataYtaatatgHaDgcStcWttaacctaRgtYaRtataKtgM +ttttatgactaaaatttacYatcccRWtttHRtattaaatgtttatatttgttYaatMca +RcSVaaDatcgtaYMcatgtagacatgaaattgRtcaaYaaYtRBatKacttataccaNa +aattVaBtctggacaagKaaYaaatatWtMtatcYaaVNtcgHaactBaagKcHgtctac +aatWtaDtSgtaHcataHtactgataNctRgttMtDcDttatHtcgtacatcccaggStt +aBgtcacacWtccNMcNatMVaVgtccDYStatMaccDatggYaRKaaagataRatttHK +tSaaatDgataaacttaHgttgVBtcttVttHgDacgaKatgtatatNYataactctSat +atatattgcHRRYttStggaactHgttttYtttaWtatMcttttctatctDtagVHYgMR +BgtHttcctaatYRttKtaagatggaVRataKDctaMtKBNtMtHNtWtttYcVtattMc +gRaacMcctNSctcatttaaagDcaHtYccSgatgcaatYaaaaDcttcgtaWtaattct +cgttttScttggtaatctttYgtctaactKataHacctMctcttacHtKataacacagcN +RatgKatttttSaaatRYcgDttaMRcgaaattactMtgcgtaagcgttatBtttttaat +taagtNacatHgttcRgacKcBBtVgatKttcgaBaatactDRgtRtgaNacWtcacYtt +aaKcgttctHaKttaNaMgWgWaggtctRgaKgWttSttBtDcNtgtttacaaatYcDRt +gVtgcctattcNtctaaaDMNttttNtggctgagaVctDaacVtWccaagtaacacaNct +gaScattccDHcVBatcgatgtMtaatBgHaatDctMYgagaatgYWKcctaatNaStHa +aaKccgHgcgtYaaYtattgtStgtgcaaRtattaKatattagaWVtcaMtBagttatta +gNaWHcVgcaattttDcMtgtaRHVYtHtctgtaaaaHVtMKacatcgNaatttMatatg +ttgttactagWYtaRacgataKagYNKcattataNaRtgaacKaYgcaaYYacaNccHat +MatDcNgtHttRaWttagaaDcaaaaaatagggtKDtStaDaRtaVtHWKNtgtattVct +SVgRgataDaRaWataBgaagaaKtaataaYgDcaStaNgtaDaaggtattHaRaWMYaY +aWtggttHYgagVtgtgcttttcaaDKcagVcgttagacNaaWtagtaataDttctggtt +VcatcataaagtgKaaaNaMtaBBaattaatWaattgctHaVKaSgDaaVKaHtatatat +HatcatSBagNgHtatcHYMHgttDgtaHtBttWatcgtttaRaattgStKgSKNWKatc +agDtctcagatttctRtYtBatBgHHtKaWtgYBgacVVWaKtacKcDttKMaKaVcggt +gttataagaataaHaatattagtataatMHgttYgaRttagtaRtcaaVatacggtcMcg +agtaaRttacWgactKRYataaaagSattYaWgagatYagKagatgSaagKgttaatMgg +tataatgttWYttatgagaaacctNVataatHcccKtDctcctaatactggctHggaSag +gRtKHaWaattcgSatMatttagaggcYtctaMcgctcataSatatgRagacNaaDagga +VBagaYttKtacNaKgtSYtagttggaWcatcWttaatctatgaVtcgtgtMtatcaYcg +tRccaaYgDctgcMgtgtWgacWtgataacacgcgctBtgttaKtYDtatDcatcagKaV +MctaatcttgVcaaRgcRMtDcgattaHttcaNatgaatMtactacVgtRgatggaWttt +actaaKatgagSaaKggtaNtactVaYtaaKRagaacccacaMtaaMtKtatBcttgtaa +WBtMctaataaVcDaaYtcRHBtcgttNtaaHatttBNgRStVDattBatVtaagttaYa +tVattaagaBcacggtSgtVtatttaRattgatgtaHDKgcaatattKtggcctatgaWD +KRYcggattgRctatNgatacaatMNttctgtcRBYRaaaHctNYattcHtaWcaattct +BtMKtVgYataatMgYtcagcttMDataVtggRtKtgaatgccNcRttcaMtRgattaac +attRcagcctHtWMtgtDRagaKaBtgDttYaaaaKatKgatctVaaYaacWcgcatagB +VtaNtRtYRaggBaaBtgKgttacataagagcatgtRattccacttaccatRaaatgWgD +aMHaYVgVtaSctatcgKaatatattaDgacccYagtgtaYNaaatKcagtBRgagtcca +tgKgaaaccBgaagBtgSttWtacgatWHaYatcgatttRaaNRgcaNaKVacaNtDgat +tgHVaatcDaagcgtatgcNttaDataatcSataaKcaataaHWataBtttatBtcaKtK +tatagttaDgSaYctacaRatNtaWctSaatatttYaKaKtaccWtatcRagacttaYtt +VcKgSDcgagaagatccHtaattctSttatggtKYgtMaHagVaBRatttctgtRgtcta +tgggtaHKgtHacHtSYacgtacacHatacKaaBaVaccaDtatcSaataaHaagagaat +ScagactataaRttagcaaVcaHataKgDacatWccccaagcaBgagWatctaYttgaaa +tctVNcYtttWagHcgcgcDcVaaatgttKcHtNtcaatagtgtNRaactttttcaatgg +WgBcgDtgVgtttctacMtaaataaaRggaaacWaHttaRtNtgctaaRRtVBctYtVta +tDcattDtgaccYatagatYRKatNYKttNgcctagtaWtgaactaMVaacctgaStttc +tgaKVtaaVaRKDttVtVctaDNtataaaDtccccaagtWtcgatcactDgYaBcatcct +MtVtacDaaBtYtMaKNatNtcaNacgDatYcatcgcaRatWBgaacWttKttagYtaat +tcggttgSWttttDWctttacYtatatWtcatDtMgtBttgRtVDggttaacYtacgtac +atgaattgaaWcttMStaDgtatattgaDtcRBcattSgaaVBRgagccaaKtttcDgcg +aSMtatgWattaKttWtgDBMaggBBttBaatWttRtgcNtHcgttttHtKtcWtagHSt +aacagttgatatBtaWSaWggtaataaMttaKacDaatactcBttcaatatHttcBaaSa +aatYggtaRtatNtHcaatcaHtagVtgtattataNggaMtcttHtNagctaaaggtaga +YctMattNaMVNtcKtactBKcaHHcBttaSagaKacataYgctaKaYgttYcgacWVtt +WtSagcaacatcccHaccKtcttaacgaKttcacKtNtacHtatatRtaaatacactaBt +ttgaHaRttggttWtatYagcatYDatcggagagcWBataagRtacctataRKgtBgatg +aDatataSttagBaHtaatNtaDWcWtgtaattacagKttcNtMagtattaNgtctcgtc +ctcttBaHaKcKccgtRcaaYagSattaagtKataDatatatagtcDtaacaWHcaKttD +gaaRcgtgYttgtcatatNtatttttatggccHtgDtYHtWgttatYaacaattcaWtat +NgctcaaaSttRgctaatcaaatNatcgtttaBtNNVtgttataagcaaagattBacgtD +atttNatttaaaDcBgtaSKgacgtagataatttcHMVNttgttBtDtgtaWKaaRMcKM +tHtaVtagataWctccNNaSWtVaHatctcMgggDgtNHtDaDttatatVWttgttattt +aacctttcacaaggaSaDcggttttttatatVtctgVtaacaStDVaKactaMtttaSNa +gtgaaattaNacttSKctattcctctaSagKcaVttaagNaVcttaVaaRNaHaaHttat +gtHttgtgatMccaggtaDcgaccgtWgtWMtttaHcRtattgScctatttKtaaccaag +tYagaHgtWcHaatgccKNRtttagtMYSgaDatctgtgaWDtccMNcgHgcaaacNDaa +aRaStDWtcaaaaHKtaNBctagBtgtattaactaattttVctagaatggcWSatMaccc +ttHttaSgSgtgMRcatRVKtatctgaaaccDNatYgaaVHNgatMgHRtacttaaaRta +tStRtDtatDttYatattHggaBcttHgcgattgaKcKtttcRataMtcgaVttWacatN +catacctRataDDatVaWNcggttgaHtgtMacVtttaBHtgagVttMaataattatgtt +cttagtttgtgcDtSatttgBtcaacHattaaBagVWcgcaSYttMgcttacYKtVtatc +aYaKctgBatgcgggcYcaaaaacgNtctagKBtattatctttKtaVttatagtaYtRag +NtaYataaVtgaatatcHgcaaRataHtacacatgtaNtgtcgYatWMatttgaactacR +ctaWtWtatacaatctBatatgYtaagtatgtgtatSttactVatcttYtaBcKgRaSgg +RaaaaatgcagtaaaWgtaRgcgataatcBaataccgtatttttccatcNHtatWYgatH +SaaaDHttgctgtccHtggggcctaataatttttctatattYWtcattBtgBRcVttaVM +RSgctaatMagtYtttaaaaatBRtcBttcaaVtaacagctccSaaSttKNtHtKYcagc +agaaaccccRtttttaaDcDtaStatccaagcgctHtatcttaDRYgatDHtWcaaaBcW +gKWHttHataagHacgMNKttMKHccaYcatMVaacgttaKgYcaVaaBtacgcaacttt +MctaaHaatgtBatgagaSatgtatgSRgHgWaVWgataaatatttccKagVgataattW +aHNcYggaaatgctHtKtaDtctaaagtMaatVDVactWtSaaWaaMtaHtaSKtcBRaN +cttStggtBttacNagcatagRgtKtgcgaacaacBcgKaatgataagatgaaaattgta +ctgcgggtccHHWHaaNacaBttNKtKtcaaBatatgctaHNgtKcDWgtttatNgVDHg +accaacWctKaaggHttgaRgYaatHcaBacaatgagcaaattactgtaVaaYaDtagat +tgagNKggtggtgKtWKaatacagDRtatRaMRtgattDggtcaaYRtatttNtagaDtc +acaaSDctDtataatcgtactaHttatacaatYaacaaHttHatHtgcgatRRttNgcat +SVtacWWgaaggagtatVMaVaaattScDDKNcaYBYaDatHgtctatBagcaacaagaa +tgagaaRcataaKNaRtBDatcaaacgcattttttaaBtcSgtacaRggatgtMNaattg +gatatWtgagtattaaaVctgcaYMtatgatttttYgaHtgtcttaagWBttHttgtctt +attDtcgtatWtataataSgctaHagcDVcNtaatcaagtaBDaWaDgtttagYctaNcc +DtaKtaHcttaataacccaRKtacaVaatNgcWRaMgaattatgaBaaagattVYaHMDc +aDHtcRcgYtcttaaaWaaaVKgatacRtttRRKYgaatacaWVacVcRtatMacaBtac +tggMataaattttHggNagSctacHgtBagcgtcgtgattNtttgatSaaggMttctttc +ttNtYNagBtaaacaaatttMgaccttacataattgYtcgacBtVMctgStgMDtagtaR +ctHtatgttcatatVRNWataDKatWcgaaaaagttaaaagcacgHNacgtaatctttMR +tgacttttDacctataaacgaaatatgattagaactccSYtaBctttaataacWgaaaYa +tagatgWttcatKtNgatttttcaagHtaYgaaRaDaagtaggagcttatVtagtctttc +attaaaatcgKtattaRttacagVaDatgcatVgattgggtctttHVtagKaaRBtaHta +aggccccaaaaKatggtttaMWgtBtaaacttcactttKHtcgatctccctaYaBacMgt +cttBaBaNgcgaaacaatctagtHccHtKttcRtRVttccVctttcatacYagMVtMcag +aMaaacaataBctgYtaatRaaagattaaccatVRatHtaRagcgcaBcgDttStttttc +VtttaDtKgcaaWaaaaatSccMcVatgtKgtaKgcgatatgtagtSaaaDttatacaaa +catYaRRcVRHctKtcgacKttaaVctaDaatgttMggRcWaacttttHaDaKaDaBctg +taggcgtttaHBccatccattcNHtDaYtaataMttacggctNVaacDattgatatttta +cVttSaattacaaRtataNDgacVtgaacataVRttttaDtcaaacataYDBtttaatBa +DtttYDaDaMccMttNBttatatgagaaMgaNtattHccNataattcaHagtgaaggDga +tgtatatatgYatgaStcataaBStWacgtcccataRMaaDattggttaaattcMKtctM +acaBSactcggaatDDgatDgcWctaacaccgggaVcacWKVacggtaNatatacctMta +tgatagtgcaKagggVaDtgtaacttggagtcKatatcgMcttRaMagcattaBRaStct +YSggaHYtacaactMBaagDcaBDRaaacMYacaHaattagcattaaaHgcgctaaggSc +cKtgaaKtNaBtatDDcKBSaVtgatVYaagVtctSgMctacgttaacWaaattctSgtD +actaaStaaattgcagBBRVctaatatacctNttMcRggctttMttagacRaHcaBaacV +KgaataHttttMgYgattcYaNRgttMgcVaaacaVVcDHaatttgKtMYgtatBtVVct +WgVtatHtacaaHttcacgatagcagtaaNattBatatatttcVgaDagcggttMaagtc +ScHagaaatgcYNggcgtttttMtStggtRatctacttaaatVVtBacttHNttttaRca +aatcacagHgagagtMgatcSWaNRacagDtatactaaDKaSRtgattctccatSaaRtt +aaYctacacNtaRtaactggatgaccYtacactttaattaattgattYgttcagDtNKtt +agDttaaaaaaaBtttaaNaYWKMBaaaacVcBMtatWtgBatatgaacVtattMtYatM +NYDKNcKgDttDaVtaaaatgggatttctgtaaatWtctcWgtVVagtcgRgacttcccc +taDcacagcRcagagtgtWSatgtacatgttaaSttgtaaHcgatgggMagtgaacttat +RtttaVcaccaWaMgtactaatSSaHtcMgaaYtatcgaaggYgggcgtgaNDtgttMNg +aNDMtaattcgVttttaacatgVatgtWVMatatcaKgaaattcaBcctccWcttgaaWH +tWgHtcgNWgaRgctcBgSgaattgcaaHtgattgtgNagtDttHHgBttaaWcaaWagc +aSaHHtaaaVctRaaMagtaDaatHtDMtcVaWMtagSagcttHSattaacaaagtRacM +tRtctgttagcMtcaBatVKtKtKacgagaSNatSactgtatatcBctgagVtYactgta +aattaaaggcYgDHgtaacatSRDatMMccHatKgttaacgactKtgKagtcttcaaHRV +tccttKgtSataatttacaactggatDNgaacttcaRtVaagDcaWatcBctctHYatHa +DaaatttagYatSatccaWtttagaaatVaacBatHcatcgtacaatatcgcNYRcaata +YaRaYtgattVttgaatgaVaactcRcaNStgtgtattMtgaggtNttBaDRcgaaaagc +tNgBcWaWgtSaDcVtgVaatMKBtttcgtttctaaHctaaagYactgMtatBDtcStga +ccgtSDattYaataHctgggaYYttcggttaWaatctggtRagWMaDagtaacBccacta +cgHWMKaatgatWatcctgHcaBaSctVtcMtgtDttacctaVgatYcWaDRaaaaRtag +atcgaMagtggaRaWctctgMgcWttaagKBRtaaDaaWtctgtaagYMttactaHtaat +cttcataacggcacBtSgcgttNHtgtHccatgttttaaagtatcgaKtMttVcataYBB +aKtaMVaVgtattNDSataHcagtWMtaggtaSaaKgttgBtVtttgttatcatKcgHac +acRtctHatNVagSBgatgHtgaRaSgttRcctaacaaattDNttgacctaaYtBgaaaa +tagttattactcttttgatgtNNtVtgtatMgtcttRttcatttgatgacacttcHSaaa +ccaWWDtWagtaRDDVNacVaRatgttBccttaatHtgtaaacStcVNtcacaSRttcYa +gacagaMMttttgMcNttBcgWBtactgVtaRttctccaaYHBtaaagaBattaYacgat +ttacatctgtaaMKaRYtttttactaaVatWgctBtttDVttctggcDaHaggDaagtcg +aWcaagtagtWttHtgKtVataStccaMcWcaagataagatcactctHatgtcYgaKcat +cagatactaagNSStHcctRRNtattgtccttagttagMVgtatagactaactctVcaat +MctgtttgtgttgccttatWgtaBVtttctggMcaaKgDWtcgtaaYStgSactatttHg +atctgKagtagBtVacRaagRtMctatgggcaaaKaaaatacttcHctaRtgtDcttDat +taggaaatttcYHaRaaBttaatggcacKtgctHVcaDcaaaVDaaaVcgMttgtNagcg +taDWgtcgttaatDgKgagcSatatcSHtagtagttggtgtHaWtaHKtatagctgtVga +ttaBVaatgaataagtaatVatSttaHctttKtttgtagttaccttaatcgtagtcctgB +cgactatttVcMacHaaaggaatgDatggKtaHtgStatattaaSagctWcctccRtata +BaDYcgttgcNaagaggatRaaaYtaWgNtSMcaatttactaacatttaaWttHtatBat +tgtcgacaatNgattgcNgtMaaaKaBDattHacttggtRtttaYaacgVactBtaBaKt +gBttatgVttgtVttcaatcWcNctDBaaBgaDHacBttattNtgtDtatttVSaaacag +gatgcRatSgtaSaNtgBatagttcHBgcBBaaattaHgtDattatDaKaatBaaYaaMa +ataaataKtttYtagtBgMatNcatgtttgaNagtgttgtgKaNaSagtttgaSMaYBca +aaacDStagttVacaaaaactaaWttBaagtctgtgcgtMgtaattctcctacctcaNtt +taaccaaaaVtBcacataacaccccBcWMtatVtggaatgaWtcaaWaaaaaaaaWtDta +atatRcctDWtcctaccMtVVatKttaWaaKaaatataaagScHBagaggBaSMtaWaVt +atattactSaaaKNaactatNatccttgaYctattcaaaVgatttYHcRagattttaSat +aggttattcVtaaagaKgtattattKtRttNcggcRgtgtgtWYtaacHgKatKgatYta +cYagDtWcHBDctctgRaYKaYagcactKcacSaRtBttttBHKcMtNtcBatttatttt +tgSatVgaaagaWtcDtagDatatgMacaacRgatatatgtttgtKtNRaatatNatgYc +aHtgHataacKtgagtagtaacYttaNccaaatHcacaacaVDtagtaYtccagcattNt +acKtBtactaaagaBatVtKaaHBctgStgtBgtatgaSNtgDataaccctgtagcaBgt +gatcttaDataStgaMaccaSBBgWagtacKcgattgaDgNNaaaacacagtSatBacKD +gcgtataBKcatacactaSaatYtYcDaactHttcatRtttaatcaattataRtttgtaa +gMcgNttcatcBtYBagtNWNMtSHcattcRctttttRWgaKacKttgggagBcgttcgc +MaWHtaatactgtctctatttataVgtttaBScttttaBMaNaatMacactYtBMggtHa +cMagtaRtctgcatttaHtcaaaatttgagKtgNtactBacaHtcgtatttctMaSRagc +agttaatgtNtaaattgagagWcKtaNttagVtacgatttgaatttcgRtgtWcVatcgt +taaDVctgtttBWgaccagaaagtcSgtVtatagaBccttttcctaaattgHtatcggRa +ttttcaaggcYSKaagWaWtRactaaaacccBatMtttBaatYtaagaactSttcgaaSc +aatagtattgaccaagtgttttctaacatgtttNVaatcaaagagaaaNattaaRtttta +VaaaccgcaggNMtatattVctcaagaggaacgBgtttaacaagttcKcYaatatactaa +ccBaaaSggttcNtattctagttRtBacgScVctcaatttaatYtaaaaaaatgSaatga +tagaMBRatgRcMcgttgaWHtcaVYgaatYtaatctttYttatRaWtctgBtDcgatNa +tcKaBaDgatgtaNatWKctccgatattaacattNaaacDatgBgttctgtDtaaaMggt +gaBaSHataacgccSctaBtttaRBtcNHcDatcDcctagagtcRtaBgWttDRVHagat +tYatgtatcWtaHtttYcattWtaaagtctNgtStggRNcgcggagSSaaagaaaatYcH +DtcgctttaatgYcKBVSgtattRaYBaDaaatBgtatgaHtaaRaRgcaSWNtagatHa +acttNctBtcaccatctMcatattccaSatttgcgaDagDgtatYtaaaVDtaagtttWV +aagtagYatRttaagDcNgacKBcScagHtattatcDaDactaaaaaYgHttBcgaDttg +gataaaKSRcBMaBcgaBSttcWtgNBatRaccgattcatttataacggHVtaattcaca +agagVttaaRaatVVRKcgWtVgacctgDgYaaHaWtctttcacMagggatVgactagMa +aataKaaNWagKatagNaaWtaaaatttgaattttatttgctaaVgaHatBatcaaBWcB +gttcMatcgBaaNgttcgSNaggSaRtttgHtRtattaNttcDcatSaVttttcgaaaaa +ttgHatctaRaggSaNatMDaaatDcacgattttagaHgHaWtYgattaatHNSttatMS +gggNtcKtYatRggtttgtMWVtttaYtagcagBagHaYagttatatggtBacYcattaR +SataBatMtttaaatctHcaaaSaaaagttNSaaWcWRccRtKaagtBWtcaaattSttM +tattggaaaccttaacgttBtWatttatatWcDaatagattcctScacctaagggRaaYt +aNaatgVtBcttaaBaacaMVaaattatStYgRcctgtactatcMcVKatttcgSgatRH +MaaaHtagtaaHtVgcaaataatatcgKKtgccaatBNgaaWcVttgagttaKatagttc +aggKDatDtattgaKaVcaKtaataDataataHSaHcattagttaatRVYcNaHtaRcaa +ggtNHcgtcaaccaBaaagYtHWaaaRcKgaYaaDttgcWYtataRgaatatgtYtgcKt +aNttWacatYHctRaDtYtattcBttttatcSataYaYgttWaRagcacHMgtttHtYtt +YaatcggtatStttcgtRSattaaDaKMaatatactaNBaWgctacacYtgaYVgtgHta +aaRaaRgHtagtWattataaaSDaaWtgMattatcgaaaagtaYRSaWtSgNtBgagcRY +aMDtactaacttaWgtatctagacaagNtattHggataatYttYatcataDcgHgttBtt +ctttVttgccgaaWtaaaacgKgtatctaaaaaNtccDtaDatBMaMggaatNKtatBaa +atVtccRaHtaSacataHattgtttKVYattcataVaattWtcgtgMttcttKtgtctaa +cVtatctatatBRataactcgKatStatattcatHHRttKtccaacgtgggtgRgtgaMt +attattggctatcgtgacMtRcBDtcttgtactaatRHttttaagatcgVMDStattatY +BtttDttgtBtNttgRcMtYtgBacHaWaBaatDKctaagtgaaactaatgRaaKgatcc +aagNaaaatattaggWNtaagtatacttttKcgtcggSYtcttgRctataYcttatataa +agtatattaatttataVaacacaDHatctatttttKYVatHRactttaBHccaWagtact +BtcacgaVgcgttRtttttttSVgtSagtBaaattctgaHgactcttgMcattttagVta +agaattHctHtcaDaaNtaacRggWatagttcgtSttgaDatcNgNagctagDgatcNtt +KgttgtaDtctttRaaYStRatDtgMggactSttaDtagSaVtBDttgtDgccatcacaM +attaaaMtNacaVcgSWcVaaDatcaHaatgaattaMtatccVtctBtaattgtWattat +BRcWcaatgNNtactWYtDaKttaaatcactcagtRaaRgatggtKgcgccaaHgaggat +StattYcaNMtcaBttacttatgagDaNtaMgaaWtgtttcttctaHtMNgttatctaWW +atMtBtaaatagDVatgtBYtatcggcttaagacMRtaHScgatatYgRDtcattatSDa +HggaaataNgaWSRRaaaBaatagBattaDctttgHWNttacaataaaaaaatacggttt +gHgVtaHtWMttNtBtctagtMcgKMgHgYtataHaNagWtcaacYattaataYRgtaWK +gaBctataaccgatttaHaNBRaRaMtccggtNgacMtctcatttgcaattcWgMactta +caaDaaNtactWatVtttagccttMaatcagVaagtctVaaDaBtattaattaYtNaYtg +gattaKtaKctYaMtattYgatattataatKtVgDcttatatNBtcgttgtStttttMag +aggttaHYSttcKgtcKtDNtataagttataagSgttatDtRttattgttttSNggRtca +aKMNatgaatattgtBWtaMacctgggYgaSgaagYataagattacgagaatBtggtRcV +HtgYggaDgaYaKagWagctatagacgaaHgtWaNgacttHRatVaWacKYtgRVNgVcS +gRWctacatcKSactctgWYtBggtataagcttNRttVtgRcaWaaatDMatYattaact +ttcgaagRatSctgccttgcRKaccHtttSNVagtagHagBagttagaccaRtataBcca +taatSHatRtcHagacBWatagcaMtacaRtgtgaaBatctKRtScttccaNaatcNgta +atatWtcaMgactctBtWtaaNactHaaaaRctcgcatggctMcaaNtcagaaaaacaca +gtggggWttRttagtaagaVctVMtcgaatcttcMaaaHcaHBttcgattatgtcaDagc +YRtBtYcgacMgtDcagcgaNgttaataatagcagKYYtcgtaBtYctMaRtaRtDagaa +aacacatgYaBttgattattcgaaNttBctSataaMataWRgaHtttccgtDgaYtatgg +tDgHKgMtatttVtMtVagttaRatMattRagataaccctKctMtSttgaHagtcStcta +tttccSagatgttccacgaggYNttHRacgattcDatatDcataaaatBBttatcgaHtN +HaaatatDNaggctgaNcaaggagttBttMgRagVatBcRtaWgatgBtSgaKtcgHttt +gaatcaaDaHttcSBgHcagtVaaSttDcagccgttNBtgttHagYtattctttRWaaVt +SttcatatKaaRaaaNacaVtVctMtSDtDtRHRcgtaatgctcttaaatSacacaatcg +HattcaWcttaaaatHaaatcNctWttaNMcMtaKctVtcctaagYgatgatcYaaaRac +tctaRDaYagtaacgtDgaggaaatctcaaacatcaScttcKttNtaccatNtaNataca +tttHaaDHgcaDatMWaaBttcRggctMaagctVYcacgatcaDttatYtaatcKatWat +caatVYtNagatttgattgaYttttYgacttVtcKaRagaaaHVgDtaMatKYagagttN +atWttaccNtYtcDWgSatgaRgtMatgKtcgacaagWtacttaagtcgKtgatccttNc +ttatagMatHVggtagcgHctatagccctYttggtaattKNaacgaaYatatVctaataM +aaaYtgVtcKaYtaataacagaatHcacVagatYWHttagaaSMaatWtYtgtaaagNaa +acaVgaWtcacNWgataNttcaSagctMDaRttgNactaccgataMaaatgtttattDtc +aagacgctDHYYatggttcaagccNctccttcMctttagacBtaaWtaWVHggaaaaNat +ttaDtDtgctaaHHtMtatNtMtagtcatttgcaaaRatacagRHtatDNtgtDgaatVg +tVNtcaaatYBMaaaagcaKgtgatgatMgWWMaHttttMgMagatDtataaattaacca +actMtacataaattgRataatacgBtKtaataattRgtatDagDtcRDacctatRcagag +cSHatNtcaScNtttggacNtaaggaccgtgKNttgttNcttgaaRgYgRtNtcagttBc +ttttcHtKtgcttYaaNgYagtaaatgaatggWaMattBHtatctatSgtcYtgcHtaat +tHgaaMtHcagaaSatggtatgccaHBtYtcNattWtgtNgctttaggtttgtWatNtgH +tgcDttactttttttgcNtactKtWRaVcttcatagtgSNKaNccgaataaBttataata +YtSagctttaaatSttggctaaKSaatRccgWHgagDttaaatcatgagMtcgagtVtaD +ggaBtatttgDacataaacgtagYRagBWtgDStKDgatgaagttcattatttaKWcata +aatWRgatataRgttRacaaNKttNtKagaaYaStaactScattattaacgatttaaatg +DtaattagatHgaYataaactatggggatVHtgccgtNgatNYcaStRtagaccacWcaM +tatRagHgVactYtWHtcttcatgatWgagaKggagtatgaWtDtVtNaNtcgYYgtaaa +ctttaDtBactagtaDctatagtaatatttatatataacgHaaaRagKattSagttYtSt +atatatagtcttaaaaMtcatgttcaaDactgRttctaagagDtatttttagcgacttgt +gRtgNctgSgRaaaaatgcaMtYtDcatcaaYKttHcatSWgaaaatDataggttatgBD +MtgttataacaaYSgagttacgttatgtDStttaaatctcgWKtcSacgagagaSgttat +BMDgtcggtgtgcgaNtaSHBatBtttVMgVcagaNatcaDDaKMtMYtatagaBccctc +tDtgtatttatatKNtgggtatgtRaacttgaWaaYgcaHatccctggtttStatMtcgc +MtaaaWKttMVtWctVtgttaKDWctgWaVttaDVatgKtagagtcatctaKWgtaaMtt +SacBaMattaKaaHDataattgWtgttttgtcatBacacgtStacaaagtNctNtgtgat +cHtWttcKaagagttttaaaaWacgRacatctNatVStgaatDHgttWcgtRKcatatat +ctcaNttaaBDcctgaaaaaDtaYaHaKttNtaYVaVtttaDtctacttctWttaactaa +ttttMagWcaatcccNKYtBaacatgttgaKgKcgcBHaatDMttatatcSWacatDatR +cWaMtDgatBctHgScttaaaHtSgKtDtttattgtRStWgttccatatttcacWttcat +attgtaHVgaBtacaMtgMaaagDaataactDatattagMaNBagcttcattcgtaaKtg +tatttcacMtgBaVtaattStcttagtYgtgtcgccttKatgggtgaWaataggaatacM +MagaSKRttBgatgacRtgMtagaSRataggtatcaccgaNaaaWSWacDgatacttgat +tagcttgtgVMttatYctaRgHVcDtVRRtSaMtcaVtVtatcaYaHatattaaVaatct +aBtgtacRatNtatttgaYatSaHctaNgNtYtYaYagattVgatcRtaacgYggtgtat +KttaatMagatgRtatatgHaKccHaaaaYtgaacgaWaNgtYHgacagaYtctaVtacc +cgatttttaaagcDttatNRgattKaaattttcatctaatgccgcaataataattgttat +YtagtRNtaagttggtHaKttWMtDKgatSagBYcgRggtWaVaattHtatgtaaaMgSa +aagataaKaaKgttDttttRaagaacaWRcaacDgtgttaatattaKtatcaWacacatt +tVtctgatHRcagtttNcaaatcNctNttttataactWacBBttgBttaaaRaWtBKaaa +cgtatcRcaMaatgYacaaaagtgBataStWYtggtatgacaKWtctSgcKHgtcNaMNc +ataSatattgactacMcataattNVtDaRccaaatcagttttYttagYaacgtaatMtMV +atNgKaaMaaBgattaKttatDaBcttKtccttttacDagaYtacHgttggacaaaVaat +agtYatcataSgatcaaWVttcgaatgaccctccttNtaSBWaatttDttttcaatatYg +gctatDcttatNctttagDcMttcaacWaaNattSYgctttcaHcRaattaataaaatcV +ccRaattactctaMaVRattacagtgRcDtcgtgctcttNtWVtacagtHtatHaBDtcW +ggtgctcaaRHtatgtDgacStgcaaaVKtagttataatactaatatgtagScaatRSac +aattgtattgcagatHHtgBcaatKKtaaMMcaRcgactatKBaMaYatgKatttDaaNt +RatattgtatWttagcaaaaacaWgcacaaHcataYtDaHgttataaSacgcagggggtY +atgcKctaaaHgcVgctBDaVttccStagNgcSgtatgVYaMatcaWRBtVtgYttgtgR +cYttcgctgaacNttgtgtctattWttttcctagMtagaWtaKgatStScatMaBtaSta +SactattYNatctgtacRatYDaatgatgatatgaatYaaaaSHttaaYMaWtDcaNHaB +caYtgVgcatVaacattMRatBtaatttaDacRtagtaaaNYVSMtcagaaDtttDHtRc +YatacSNKaaMcHgatBaaVttactggBYgaYatttttgcDacHctWatcgtagagtact +cattDggtcatKaSgctttatttagtDtRBacttaWYaaaattttgaccttaaWtaatgc +RgccacttMtaggKtcBtgacgaHctttatcgtcStatMHDNagattatNagVaaaWcgg +aaaYcaVactDYactaStattgBHtcYctgggtacatataaYcgaYagaggaggacaVat +acHRtYtctgtaVgaYcNgaaaNatacVgcNgtaatttDcatttttcaacttSNcaaDat +VYctSgcaccttagMgacgcttgaSttaaaatagttaggRHttaaacMatagcaWgMgag +tcgctagtgtKgactaaHttattaWgcaaaaaaSatatgcgttaBNggttaYVatgaact +ttttgccatataaataRatSaBctagttataBccgaaacaagatacttaattttgaHgHM +gtaaKctttaYtaaRacBMtBaYgaBaaacaYtVtagcRgWatHaWagattWSacStMHa +tttaDagacaatcgtgtKtttggaMtgtWtgtgcaaNaaaaWtKaaBcMWtcttctatga +cVgagcgaggHaYYtttWgSaaYYaWtRYHHaMDtctttacaatggaaMctataagcttB +cgHcNWaatttgtatatYtStatctagcactgtVttccagaaattaDtttaRtVataBtt +WagcatDMVactYtgcatWtttgaaMggKaatgaaaaHtataDtgYcMggVaaatSMHtt +tgVttaYaWaataRttgttaYttattttRtWtataaBgtDtttatatcVgaaBcaDtatg +tcaDagaWtgaYtWctcVagctcagctatatagcRVtcaKtaataatHgNaccgaaaatV +HBaatattcgttaVYttatttctBYaatKaagaccVStttcattgaMagSaaaaccccWK +caaNtMYacctaDStagaaatttatcatVgtcaatacccKattgtaaagtggWgtatatV +tagBcttDaBacaattWtDYKtatRKggStRtaaaWatBtaagtaattDaaaaBRacWta +agtacaSttaaatccgctaaccKaattgVWttDattatttattKaMtcYtMRWagMtcgK +gBagacgggVaaNaaatgctKcgtaataaKtaaagtccWcttHMatSYgataaatDttBa +HccattgBttSgaaHYtaataaaMtgaagatgtttBgRcattaRaDHcttBgaMaWaaVM +MattaatttgtgBRctattgKMagNcMtatttaaaWttgaaacatWgcScgYYDYgttYt +VtattgcKcWtagcggtgBaSctaKatacaaVtcaRDccccgtgttBgKgggtHagcgaa +ttaaagMMttScggtDttttaHcSaagaacactcacactBcVgaKNaDHacacttatSag +aattSKHtcagtataaatKaaHtgaaRagaaVcBtaHtaaatcgatcWcaRtaaaattta +WttaagtcaggRctgaWcttDttgactttaVSaaaatggtaWDaRMtBtaaaaaKatBga +tMtctatatcaVaMgatttgNagtDRttDatcttttaMtYaaatcggagttctctaYatN +tagaNcgMMactacHcaagtaaaatStaSaacaHcacSgggtNKatggaaagcggaaKgg +gtaYtacSgccgBaggcRacgtVgDtggaMcYaaaMatggacgYStKKatgaBcaaRtSt +ccSagcRccgccgcSDtgcggBDgaDtBtSSggacMttttaWcatcMatgtNMBWgataa +tcaaVtgaataataaNatgcaaNttNctgacDMcaHccgatgKgWVttccaStggattct +cDacttttttctttaaNcWaMWccWKWttgaaaMctDaaBactRtVattttBtcMaNttW +cKacagttKSttaYaWSactHSaBtHgatgttacatgcatatMtttgtaacScWHBatHa +ctggatatatctgagMgRSatctaaSttaVagcaRcttggaYaatKHtagBBactattcg +taaagaagttgtVcgatgaVatHMtcaggtcgKSgWattgaaaVctccVgtDcaaatgaa +HgMYactcaMatatatattNVttWtWaatttacRagKataaaNtttacaaWgMVactatt +aSgaggVaaagVtaccDRHaaataRaHaRgcattMttcaatcaKaaataDcaDKtctcga +ggBggacctDtttatHacWVaWgatDctaNaNcgKatcMtcMaatBtttggacgtgataa +tagaaacRactcBtattttaKtgSaaggKtaggRaVtatagcccaNRttaccttSMaaga +tcggDacNBatWcgaactacactaactNBtaStgVtNagcatctaVtaKatKgaBtcgtt +tWaagWMgagRaNatHaaaaDtacagacaBagtgcaHaNatctcBccNttaagttDgaat +aaNtcgctaacRBgtaatSttaatatgcataacccaSattKcccttDttggtcaatgggt +tWaacgatacattBtgMaYgaRttatgatKaKgtattDtKWgataacgNBtaccgaKWat +cttcttKtgtcttagcattcctWcaaHgagtatDMSgKtcagcttgVHaKcttDaataaa +VaatttDgtgaaataaRgtcaVaatacttagtVatatgggcatgtDDtMtgtatBggatt +HtgcVtgtgatcaaSattatKYVaacSNNttNWcgaHttKDaaMYHatcgttaattaStt +gctWaacHtaKBtaaaaKHttcRWgaaWcRtBtttggBcDtgtacNttaagcKtaHgtag +aaaaRttgaaacatagtWRaacYggtaaatcgctYaBtWDRtgttgSctaaKatNcattg +tgtMttatccatatagctSacgccSNaaactacgNtgtgcttMatSKtcaaBaNaaacat +aacagaaatagtagctcNcatcVgaagStaataVcDKKttcagDHDtattctaatgaggg +RgBMctatacaagYactctMaaagtcgctttctcgtgaattatNcgatMtttaggcBaaa +tctNtactaaRKtgKactattgtcatatgtacgagttMaaHSSgHgBatatcgcaSaata +aaWgaagtatagaHgcttctttatgaccWaatttaRtaDaatttaatcgaaattgattMc +atcaWaMtaWaKactttctBacactatNgtccttaWgtctgaccKatStaKtgagtacgg +gcgcgtYNtatttagacctctKcatgatKWStcaataactaWgMSgHtgatctttttgtc +gacgtSacttaYgcctWctcctctacaagVtttMaBactWVaccaYtgtSgcgttattcK +tatStgaaKaccgNaataaHtatWtYtRacggcaDaScagcagHaYWRtRNcDtHtcVWt +ggaataaaYttgVaNtgttagtYttgtagSaaatDgaggccDcgBRYStattatttaagg +ccgHgggYRaaccMaagttatSttctttagcMtgcgMtgaSagaNaDagttSatgattWa +tttagtDgcttgagtgMKaYWaYccagcaHatKctaKaDgctagacttattgattaaYtt +atcttattattStaattWaRaYBWagYaatatgttRgScttgBagDaWgcgtgcVDaggc +ttgtctaDRKacttgcaKBWRtaaVaSctKtacttMaaSVaWWcgSaNtttSWgtcggtc +acttggVVtgagaataaataaDttgaaccaaaaMttaaaagaaaaaaaatcNBtatMgcc +WagcaNgaVaNaaaaaaYaMgttaWtatHaagtNtacgacaBtMMattttWNaRtaaata +gYaScKattacagctVKBtWNSKgYtYgtWatHaVatDaaatWgDatcctggSRagagta +aaaMgatttRtaHacatggtaKagVcctgatgaMtaaYgatgtattattttHggBaccaD +ctctggNNtYaatctVttgVtRtVcRacttNctttataggHSRtaRacaaattaacHaHg +tgttgtttcBtBtatWtgtattttgcKagMcaaagaMtattagtStagcBacYaaHcagV +gWtgtttcgtgDHaVtagDatcRaRtggtWtaactgcacgaggaaaRttSDaaVaSttaa +aaacSMttactaNtcaacaattDtacttttYatVSacYtWtMttaattatcKtcttctat +caKDtctStSaaacggtYccatgtgagagtWtagWKgcaBaaaaKttgNactaatcgagg +cWtcDDaaaaaacactHattaattcactatYttaagacactaKaagRtRataaattttca +tHggtaataaatgataHtggctaacBacDgtaatattRtYgtDNDBgKtcaggcHatttt +gHNgWtaatttccgactactgacatVNttYYgactcgctctatttagaMcgggatHcgtt +tatBaDSagBaaaagRttBggttaaBactVHgatgaatttattcaaaattgcacttcDga +cttYcVttactVtttatBaKHagaWgtgaatggBtaaSggcagacNcttaDttVgMtWag +attggVatttacHtctNcMatacttSatMagcttgtNcYaaScaYactcKctKtagScSt +cagtttcatWaatggtgagaggHaggggcaacgcRKtaRcMaNtHaatRaRaaactVtBt +gttaatRtWWcaaagKttccaaKaaatacgVttcacaaacgcggtgagaRaatggtgDMW +atcWVScacaaaDaggaaHtgttSMaaaaaccYccDBtatYgtMagcSagaccaVcctcg +gtVWaaagttatcNaagataataSaataaaKccgtaDtYttatYcttHttaagKcMctaa +atggaatRgaaaVaaVtcKYaggatWcaBtDaggDatccttcYNtgcSMRgaRtNgaatc +gttRttatDVMtagctttacatDVtatatatcagctaDagMtataccYgaggYaaatgDa +aaatSgctctgatgtttVaaBcctgataKtagaaaccaKatatgttaDtgaDtatagata +atacagtaDtatcNtgtDMtYcattRVtctataNtWttggNaSgtMgaaYctctDggHtg +gHDccaccacKKaaacaaaatRatttccctttaagcRattMHctattHaRtataVattgg +atcSttaaHaHgaaHNDtacattSaaggDatttcaaaYgctBcatattaaaKagtgccca +tSctcgatRtaaaMtgWactttNMaWctYgRatDggaactcDcaattaKaactgagtatc +tataagYaaaSRctggtacWtttccWtaYRtKHattatagWtKttaNgcDtatHacccat +taatttataacgctMgaagtaacaacagMgtaYHYVtKMHtacMgKcaaatctgRYataN +tcgttcaatacggWtMcaatYcBWaagYtVaDNagtatagDaaNtaaaYtttcYWttttS +tgggataaMgatattagaaYtNctcttcBagactaYDcgtacHDWccKaHgttcttHgVg +gVDttatcatKaMttttacWaaSattctatagaHaggKaDagBtaaagtcYccattgtYc +atctaNgRgVtgaagtDKttatBKcggDtattRYgHccgtgcgBNMtttVRgacaYctSc +taRacgtagagccgtacRaagtaHKagStSttttgYSatattaaaWHaaWagttDKaaNa +NHaaHttaYcttMtcaaatgKttBtSgtccaaVaattSaacgttgNattgatatNctaWt +VcagtactKcWacgVagggHaaRgaDaatcMttattaataacaBMaaVtgYtKgRgHact +gtactatcBaMtVggtagKcYtHtBSaattagtaatgMcaVVagYYgWtactttccaaSt +tDgaaMaMttcacttYtRgacttcagcttWtttagtgataMaattaagVtagaatatKat +aagtagttaagHMRaDattaHaaVcctDtagtcVYcaataaYcNttNaaaHctcaRaatt +tcaNRgatSHgVatagctRtcatgaBttMaaagRtcgHVtgRgStgatttgtagaKagaR +WRctgNaHYgaaatBctgtttRttNWagaccgagKgtgcggHKVttaatattaatataat +aDtaNcctacaaRgcaNMctctgaaSHWWHcttagtNagtWgWaaKtYaNgcBattatcc +aaaSctRRHKaNtKcBgtgagaDRWBttactaaattSMctatatagaaYacDgatttccV +taagRtgRataatatagtctttttatgtMgtcaacaaNtaaaaactctWtagaVaaaDta +attatagtBStcgaatDtgattVaatMtcaDattVKWaagatagggttgtMRSgtcYgWM +aatgNtagtcBttagtttctctWaaMtVgctWgSgtHagaSagactagKtagWggcattt +HgttgacaaactcggggHggcWBgVgtatgggagVgagtcVcBtDctttagtctaagVWt +HtgtttaScatacMBtKgattatRtgtttgtctttDggcHaBtRtgtaataNataattta +taWctgaYWataStcHaatcRtaaVagDWaSatagtaccNDgaagtatacgttttacgac +gKRtattgDctatRRattVtStaaactagatgVatttagaMaSaaaattVtatYtgttgt +RMagtHaatttSttaaYNaggWagtgcacgaMcactgHgtgtgggHMgtKacttaaYgtc +gcatcSatattgBaagtttacMtYagSatttatttaVtaaDtaWaHcgNatactgactHt +ggWtataDcDScatactcStcDtgtcgtgtatgaggtHaaNKgDattgcBccaagKgtat +gacKSMtttttgttcaaatcaaYtagtaSatgDaaaMccKNaMaatagaataagcaatta +ttataaMgagtgaSgtctNYttattHaNaYYtcDDtaatNRgtatttaaYtaaatcactH +VaHcStccttcccaaVatcVggatKtatgRaaDBgaYtttacttYggactSDtaBcaaNg +gggtattatattBDcttagagYNMatBgttYaagactMatgttRgatacccgtaacacBH +tatKacWgatRcHttaattYtKtStccaaatVDcaNKHHaaataatagtagtatcttgct +NDggVaVVtaVaRaaagSaccgttctcMtVtgNBgtDtttctYgttactBctcRtStWtW +DScMtcWSaRatgaataRHctaNtcStctYtWacagatgtatYBtHaHWBtacggtDcaa +BtatcaggtcaVattaNctactgaaaatWaDgactNWtMtggagaattBaataYcMWYcg +atMYatWtgattSatgaRtDaRgccagtSttatatRaBtattRcWtagtVgaagttMcta +ttatatDttaggtctKtgtgtBagacgttatRKtgatctatttBtataactgataacKcg +gagtgHgtVttcttgtKDgcDtaYatBDatcaatattgttNtaBacatcgcNcaKcaWcR +ataWcVgtacgScaWgttcggHcMttcRccatgaRStYgNacagatacYacWWtggNaDc +WagttHatMaNaatNtcDMDcMaKgHNatScVgatKWatatgNRgtccgYgaagattDHg +tMtcHaSNaaattBatRagtaaatttacaagHWtKatcaagtccHtYcctgttKDMSgta +ctactVctgacaaaaHgatatacataatKtStHgctScSatNatacaYttaaWHtctgaa +tYtagtHtKaggccWBaStaDctaagagNtaatcaatcgttNgaYDaagtaaaaHataga +atcgcgBaYaBgaacSaaWaaaaactccgcMttHttYgtaagaMctKBtacSagattcBa +aWtaattttacRttatcgaRtacaRHgtgRagaaBcttaVgacVDgggaatVatagaact +RRtacgYttNattVHgaHttacaaaaaaaYtcRWtgtgattatgccaSDtttatKWgaat +atSNDgattttaacgtcSRtatggttcttcBtWtttMtBtMScttaHatBattHacYtaY +acattcgttKgtcStSctcKtatatttcaKSgagcttccaacaccRDtttDaccattata +tSgtcWtVaaagttgtagccattDtYaatattDaccatcVDaaRccagttttgtcHacMa +ttcHgaNcatgttKcVttcctgtgcSataaatattgaKtctaWctMRaKggtaYcaagtt +DttcgttacRtatgatggHNaWMtKttcatattaaDaSaBaaaMtMatBgKtttgHtHac +taatcatcgtWaatKaaWcaWtcctVttaaNaggaaaagtaaagaDctNttaDBaBgata +gMgaataacRcYggatcRaaaHaagatRDtVRactaYagttcaccaaWtctcSSaaatcS +KattctggDgaacagDtaDagacagtgtaattcaStYttNaStgtaHgccttaScatMRc +accWtcatttatRtaagatWtNataaWtMNtDVgWttgcWgtgaRttttRgWcttMtcta +HacaaYtKctgaBagtRagacttDatNttaaaDgRtatNcHatcSDgtBatcttacVcYa +cNgaattaacgagttgYgacttDattatacBattMgctagcctagatVcaactNttccta +atgtDaacgYaNatagMatSWtYBaaaRtgMtatSRgaataYaScaVgtaScMagatNNt +ttacaaHBaWtNtRtctaaacDaaaaWMcaNtcVaDNcagaDtgcWKYgagttaHtgcDY +ataaacataBaWWtcggtatgtgaaScaacctttRNatcgttaaagcaDctaatgcBatt +tacaattVaMgSMMtccYaaaBYtggattttcataWttgBtatDtBgactaatgtccWaa +HataaScHttWttDtcgtcaagMctMDtaaaatRtBaaaacaatgtcagcatBgNNBVtt +ttttcBacWtttWtSWWtgaaaaSacgBtaaataaagtcDStaagaactgttaatYatgD +ctattactgaHtaaatStHaagacaKtagDtaaHaDgttccaaDtaaggacactctDggc +gtDagtcWaHgRcHgDgaSctttattgtcttttccttRYaDgNactaaatcaWggcNSBa +gttttatatStKgtcRtgattaaggtcaSBttaacaaKatgggatcaaattgRgcBagtN +tcgDcatttWcctttgtNagDgctgcatttactttgtgtcaBgSatttNHaMcggcagSc +tcKDtWBaagSagWatggYtVatSRgKagattgaVatKttcgatYatKYSgDaacNtcVg +tttaWataWtgVctgcgSggMgatccatgagttgtWcatYWWcctVcNHagtNtgtKttt +gatcaacttaSttattgatNcatWaVgNHcagStVHcggHacaaDttgDttWcaaRaKga +aatKaattagtaWacattgaaatgtgaatgacagtgaRVtaaYagYtcggcatMttgaag +gDgagDRcaKgHtacacaaaMcaBtagHactgKaatRtNttcttcatcatNgYgStggac +tatgSMttgKtDaDgacRRgtWaVattgatttaagYctatatagactaagaggtatWtat +aaactaYaHRctStgKWcgtRtKtYtYtagacgattRaaYBtaStcttaWataatcHtta +taRcactgagtgggagccaattctcDtgDaggHcDRVaVVggaaBtRttaataaRRttgt +aagKNcaVWWgtatacctgatcttBtcttRgaWcaVRKcagttSacttagcgtKtgtYWa +tatcgNttcKaccacacVKctgattBtggacgtctgacaDtWKttattttgMBgKaacaD +ataattWtBtBRtVtacataaatatttgtWtttatagtDtgcctagctHYaatgcaNaaR +caatVtacctgggggKtagBgagaBgRaaNttttMtMagMtgtgattNctcNaKggWtMa +tcttagWgtaatatatNctaYBggKaataBattYtaattataVtggNtcgtgtctaatta +aacctHtacaaactDctDtctgatatgMtgataacWctgtgYSaaNScgDYaWtatDatM +KgcaatttctgNcgtHtaWtagatatcYBttaattactcaaaVattYRWtatttDtaNMY +MttgattataatgcgNggWaatYagttgBagNcaagaaaDtRgtaaaagctgcatctagc +ttaVgtBttatagcKMSaattYtHcMaBttcagtcttgKatgVSVttKgttttttagtgt +DHgNggtcaVtatttaacNtgaatatgctatMcatgaaaBtgBSaWctaataaattatYt +tagtaDtaccggaatgagtaattggatttaacBtctSMgWYtgKgattacgRctctccaa +tgtaggcctgaNaatScgYataaBBacaKtHtttcatgaaHtgBtagaKHVtacctVtca +accaDaaWNHNaatgataattgatgWcagggtcMBtgSgRataHctMctgMHHtKaBtaa +MtMgataaRWtagYtgaaMaSgctYtgcgaaHatDtatgtcWRatKatatYDcBgNtRaR +acattMcagaHgaaagRccgcgWttggSatBagagcHgYtatctVtcatYaaVRtcaSac +aMYDcgRtcaaWgaRgataMtaaaacaggtgtaaYcattgWgDHcWgttaVatttgcatc +taatccacaaagaagSatgcgtagRgagtHDgaVcgtgcttatggMttttcatKSctNac +HcctMaKRatttgatctaaatgHaaScataataatgtttgtgtHaVcaaaaNHaaaatcg +ctgSVtattVttagaaNWcacagtgKtatgattHcYcttgDaWVataBatBttttWtaac +tNaattttctttaaYHaMtttaaaccgStcHaVBaatcRacaaWactgtagVKtNRtcct +agcWaatNgctKccttctcDaBDcatYHatatgcaataaBaagaatgDMttaHcaaYYtc +actgttRtgacRaacctaWtBtBMagBctaaBaWtgatgVtttattataggttaattgta +atYcaRtVctcttgcacSaaMaatactRSgcataKcagcaVNKttcgSatcaaactaatt +DtaHtNaVtgttttttaWVtatNccagWttcgtatBcgttVctcBttaaaaMSaDattKR +cctttcataHaattaatWaaataKcaHVaggaatataBYKHVtgVcVgtcHcttccgcct +attDtMMgWaacttgWttYtttcMcgtcctaaVHtgWtggtgacKtcaWaYMttacttag +VWtacgSatatcgWcKaaatHKaaaYttgtagtcaacWtttggtcaagttgaaBBaSHac +VcgYgttWBSRWggtattttaYDtHatattcgatNttacaaaaVacaMccaaYStaataR +ttVtcttagaVKaacaWcgccgtRatcatctaaatccMcctttaMggccHgYcDgaKcta +tgMRYBagcaNDtgMtcRttgtgHaRttacatgaWcDtgctgtataggNggtgaatagBg +agYNtatcagKtHcatBatgVKgaHWagattRDatatcgYcHagRtaatgWtcStagcVa +tNaaaaKttgRaRBYNgtaaDtStaVRgcMccatMWaaattBDatttaatttataaHtag +tVVaDRMKBtaacaatttttttDaRSgaaKDtVaBatcagtaaMttaagcctRgaNVggg +ttcataatagNatcctacactacgcatgtcggaYgtaKcatggattgactttHtaattWN +RaaWYggttcaaaggaaNtaatgcHcaaaattBtagcttattcaagVtatttWgcctaKt +atBttDYcattagDacKVaYNccgYaYRaaMaattRaagaHtatgcttgcRagcgctSaa +tagaaRacaRacSccagcacVMataatHgRtagcgaKgYRaDcVWSDVgRaMgcDgtaat +tttaYttggtaaWcttKDaaYtatMRcgKccYcagtYcBgRccattcaKtgaSSRtactg +acgHtgtaaaaBatWgcaMcBcYcgccagactcttcSatYattgatgaNccaaaaWaKat +VgcaggtWtBcgttaRMagcaaagtgttcacatataaagaHWtKatctacttatatcacY +RaaVagataagtaattttgatgtBctaataggtaRtaaHaattgtaRcStYSYaWRgMta +caHcNSttVNScattNKaaKgBtagtgatYcaaaStactggttggggaBggtNtgtcaaW +BaYVSNgtaataBNtagtatatcacMcScccVcgtVRRtttNcKaSRNaNtHRttattta +ttgacaatggSaBagataaccgttcctaDNaattgctVtatNtHtatagSccaagctKtt +aaacaaattattgtSHgMWgStttNaccattBMYatRtccStNgttgaaBcctVagcaaa +atgatattcRaBccMWaagKtttttcMtgaRYNaataDttgttWRttattggHtNtataa +tggttgtStYgaMcYVtcattaggtaatVcaNggaRtNataMWcctcYgcgagagRgcHM +gcWtgaYtVSttgDaacgaaaatMttYWtWttcctgaKNttatttattRaattaagaccM +KtttcWgtcaBagKSaWaaacaNtaYaDtBNaaagWtHgacaaagtgVtcatKcgcaatV +aactatgcgaaactccNctatatMgactatttatSaaVttNttRttagHtccKtHtaaaN +atttYVctaatttaaaatHWaNtSacgaaaHggaaatcacagVYcctaattcMNtgtYtg +agttatttaBtcRgBHNacBtactctagaacgcKaaDWYYgcattactVagaYtgaVVcg +caNctttBagKRcSgaaatttgtatccattgtggHcaatRtaVtaSaBtcYYcatcgtgt +cHaVttaHattctgtcaBSNYaKBBattaatggctgtHatattgtBacDcBgatttaaaN +tggaaaaYtNcaKagRRtRgttRtMtWgggatcNtacacctgtWKagatataaYVMtaaD +taaacctctgtgtgccttScacWaggaYacttttKacgtttgtgataKYagaYaVatcWc +SattaMcatBYttYaaatgStKagWattKtttaWgtagaaSgtRattcSaDagVaMatta +ttYaagccSgcNaaDgaaSaggtaNgtWactaWcgHctgaNatttttcaatgtaMHSWaR +tggtaNtaHBtttWWaaatattcVtBtctStWtaWMaBcatttcDagttDtttatatgtt +WBtNaYatcccSgtgagcgaRYtBtagaDacBtaagaataWactaaaagKtaKaWaataa +cKcccgDtagccaaagcggaatcgctSRtacKgcactacccHaactMgtgccaBaRaaaB +VtcgSacRKtttStgatcaaHgKtaaKaccHaccacccKttgagcttcSttttKKcgacB +gggtYMaatcBStcgDBtMcataWtaWaMtgaataagaaDatccSYDtgBatgactBaVt +aagatctcNMgtcaWKtgcWggcgatacgtgtttatttWaDaNWBNaaNtNttcaaatag +taatScgHtMWttgttgaBaDtgNatSaagtttHttaNaNKaattKatttgatcgtVcat +gaatatBtttctaacKaNttVttSagccatRtatatcactcHHatctWSKttaMacaaDa +ttccaRaYttttagttaatattcctYaacVactgctMcgagcaMYtttgaagctagtKgN +WttgaaaMatcaMcttcSVatcaatgtNactaaBagatagagtDMgtNtNWatttSaHac +tagaaaDggtaaaaNctMaatagtaHgacgMaaacMtacatHtaSagaHatYDccagtBt +gaWatcYtVaagataattgatcgacctgcaacgttttattacNMWNcattataDVDacta +tattatYattttgcgaagtgagYVtagYaWaHaatctgWttttatgcHaacgttaccDaK +tatagaccaDDttaacgtHBaacatccgtYaBtVtNccaaataaaatVactDttSKtcMt +DSgaagctaMtatattgattactgtNaagNBcagHaDattaaaWttacacaaatactcaa +tSDatagctcaDttWactttgaStaaDtagatSaaDtgtaatKtgVataggaagWSaaaa +KatttaaagtttgcgtaaagcccggNWaacatacatgttctaRcaHttVtcattatctag +ttttNcataaacDttWaagVtNYtaggctttggtatgagaWgtactNaVatcactVttBK +cttaaccttcMtatcggtaataYaMaYggttgtcaaagSWHctaRMSatVcggactMata +tccgaatcttttttcgagtccagtttgaMtcgcatcaaKagtattRMaaaKDBttDNcca +tttttaaBNtVtccgtaatgaKgtcagMVSattatttaWaattttaHNcaaMaHttgtgg +ctattctacDtgaagattatcgacaaVRHttcSaSaatactNHWaaNcgtWaWgaccgRS +ttNtHtcttcKatYatatBaagtcgctBtgagccatatScctKaagaaKDaWactWagBg +ctgattBagKtgaaataBaaaaagSacScaaagagtagcgaDaYtaMcaYcKtaataMat +ttttaactttgYgtcgaaggacgcHctBcgYgaaVacRYagagBaaYgtagattgcgagt +caagtStDagatBgtgaccctaSWtctDgactaSHttctWatWttctaWtatctYacact +gBWatKKctgtatYgacaaHSatYSaNgSagtatagatgagtatttatgaccMaatgtaH +tStaWttgYagccaWattcagtBaYtaaNaBtaNatactggcttWcaagatDctacggaN +ctatcacatSgKgattgacgacccccgagtNDtattgagaaatattaatcVttNKtaaWt +YacgSNcBHgttgWtatgtttcgccaactKaattaRgacgNataatctacaacKgttBat +YatNMSaaaNtctKgacttatgcttatKtcaVtVcagDaataattYgNtRtHaagcaata +HcacaVgtaNNHtHDatgttaMNtggWagSVaRttcMVDtcttWgtRttctacKaaVttc +VcgcatcctHRKtattSgttSacgaagtcccRDVaacBWagtgYtKtgattgSgaBtgcc +BtcaKacaDatacttHatcattNatttacgtcagtgaggcBtaRNaRcaSgcatattatS +tatgctYcacgtattcattaaRtgStcttWgtattKtSYttNaHaRtNYcRaYtVtggtD +cKcttctactaMcacggcMtacgcttctatatHtaatggcattMDtaaMaKattgaagtB +aaKMVMNacKaDtttKNcgagctaaagtccMMtgagaagVaataatggcaWaaaaVaBgt +aSaVgaaaSaaaataDttVtBccaNagcSBgaMaDaVaVYYRVBgttYMtagtaactDta +agWaattBtattttMDYHtSaStScRaKatattacacctMttgNBKtcRtRggNagtYMa +ttaaatMctYgaatgcKHagSggaaaaBcaggtHtatWcatcgtStagMcctcatgatta +WRcStcgWtgRgttttcctaacatcgctcgDDtRaatatMgtcMtHtMaDYatgDattta +tagctKDtYHaaaaattaSatatctggtctttattttatMtgtYttgtcatactcaaVcY +BgatgSctKtYcctWaRaataWcMgNgcgggagtcttRMgactataHaHtgctNtVaatc +aaccacgSRaDtgKtaaMSKgtaaaaWaKtttVagSDtaaaaaatgttYattttNagMHa +aRtNgBttWattatatgcttatatcatttatKtKaaaagctRaaatcgcYgacgNtacNt +ccVtSaaatttcDVctaatacWgcaMtcttSaaWaaaWagtagtaattaactagRttaVc +SaaatataacHgHatWaattggaagtgcgSSgaaVtgYgSttccatWVataatcgaatat +gHtRcgtBttcttaaggatatgttgtBcNtaatgtcacVatactgaaatMBttRRcRatc +catagagggacatcgccWttagttgWttatKagtaaaagHtttccttSatVatKtgagca +atttattaaYVattcaaattctgSattRaMtgaatMgttattattacaNcggVagcctta +aKgccYcaaDattWtggMcttMacWttccMVgtgaattctDaBYgacttKYtBacatgct +DcRaaKaaRaatatctttagKcKtaactttaatNaaggctgScacctYgcgcaaaccaHt +tVHcBaDgtaatHaHVaaatMgttggtSatHtNNaaVagtgtacaataaagacgKttcaa +aWVacagctcacWHaatcctgtBNWtaNMKcVcVSWtSgcaattctgKtVVaaacaRaat +tgatRcgBacaKacVccVMactagcgMNaaactgataDaSgagaatVHaatVSVtccgga +tgRgtagRatttgtaactaBataVaggcaagHgaaSMSaKgctRagcStNcatttVgcta +tacttcNDtcaKBDcaHtDcaatagttHttattMBgagctgtaaagtMgatStStcagat +atYcBtataacRcaggRaaaggtaWSatKgatatgagcgtgMYatcagcatVttSgaaaa +aatatatgttYttcattatacataatVcacgattataDggttBtRaagtHMtatagaDgN +ttggDaKctBcaaRcgattcgtgccttacaaaWattYWVcaaWagDattgaaagggaaga +HattBtatVggtaHtWtaMagtccagaKttSatatcaStDtgWaagtKWaggtatttaWa +aRcattaatStgaaVtacggaacatKctacatHtaaaBtcNWatttBBaNatRcDattcg +aactataaattataactcagtSgatataagRaYaKHctggtaaNtttaaNgaRHtttatt +atacNttttaDccttYgtaaacaggaagtgataaacatBgaSgtaaaaaaVcBgtWNtRM +ttBttaaBgtaaaatatcHNStaBtaggtaVatYaccNtBaWagRctNSacRtMatDact +StVctaaDtaYSRgttaRNttttKggccagaaBcatagtYcaYNtDatcgtatVcaatWR +taggaattMcatRtgggatgtcMggMtttataagtaBgtggacNaaKYtgctWgagYtWc +ctWtVcttaaactaRacatggtRcatctSDcHcMgcaactttttagttaccttattHRgt +acggcactDBggtMHcVaaRatKctSHacctacaccactaaHaacgSttagKtKttttgN +HVgagtaYaMtVYNVcggttaSBaBtaatttSRcgtBgaWaatctttttKggacaWKaat +tKSaccttgDRgtcatatDatVMtMaVcgaattaNaagMWccctaaHgataatatgtatt +WataaaatBaaMtgRttcHctaagctaagatatattMcggactaRttttKaSttactWYt +gBcaMMacRRgNtactttaaaSKtttcaYBaBttaVagtRtHcWaggaVccttNgtgagt +catataWttYScMtWgVRgattWtaSggacggWWctBHatattataaKaagttactaMRa +aataSRaDttDaaatataVHaatggaaBDgWgHtcKStVcatHtaatcatggBWaagHta +gtMtgHcHtcatggggWcatacaHNHagcDatRcaaattcgcttgDggDNVcaacgSgtg +gcaccttMttaatattVYtVgaagRttaBcagVaYaHcaRDBagatgaVHtNMtcttact +DaggMgMaattRWDcctVtgagaaaaSKatHHttVDgtctgtcacatHNttgaatSaagt +KBatatagacaaRVctcWtgtacKtaacHtgHataSgVtactaggtttatggBgtcaaaY +aDgaaaaaatcgMtagaKaYatgaattatYcttKtacaatttgWttMaatBgaatSttMt +NaVgVtScgcttctBHKgtaRcNBaatcDtacgattgacgtgctatNaaBtMgagNgKct +tWcWKacactYgttVgNcgaattttcttgaaaaactacccctcgcNtgMctatcccacMc +actcMatttatttagtagaacMNtttcttgYKaWtaaBtttcWttagHtgtttctcttgt +ggctatgDgctaatWDataatttagaNcgcRRNataKtctaataHgaaMYctNaKWtact +aacDtgaVcgagaactggtaccaactHgaggctagagHHagtMgKtaaactacaggMatg +tYgSBaKaaaattMgatRtggggtHBVgttaattgKttaaRDacgMactcaaacStaaag +ctctgtgccttcgtSagtSaRctacaataKatattctaVgtgtaattRacKagttattga +MtaatgaNatacDataaggactttccNtStatatKaagaataKtatggtcctctatgagg +ttaaDtgtattgataaaactggatcactKBtttggcgtcaaagaaaNtagtWKatctaaW +BactDaBaYtacaWtaSgcaattattWgaaBgactgaKctatBRgtagttaBaRRgattt +aagBHctStgtVYRtaaataaagtMWtcHgcattcacaaMWtcMccWttgVgcHaWttca +NtgtVaggNgcVatKttataaWDcccctatgatVttttattacagRBBWttcttRaWgaa +tBVgcgtHgWgaccagtYacaattgSttaaMcVtDatttaVttRgttKtcaYWatKtaaD +tttWaYtaatYctSctatagtcctBtccMaMMtaMYHaSSgKaaacttctcBtMtgDtgt +ttttagRcgtacttataHgKtNtMtKcBtaNKaHStgSagYHtataDtcKtagRtNWaac +VgctVtRtttStNtgaaccttaVatgagaaggtcaKSttaDataagcYaSatNStcaatD +NgttcgacaatttaSgaRaBNNacattRatNtgSttHVtgWHgtSHccaactKttYtatH +YttVtgHcNgactMcaacttBatatgSgattttacgtatttgtggtScaacggYtHtgca +tctatttttWtaSatcagaYatcgcagtgtgtMgtattctttcattaRatttStcaatat +gcttDtStaaagaccDcVtaWNcHYtWMaMcgaacKcaNcttacctaBtgcDacatcaHK +tRcDaaacataaRacNNtccDataNactttatBSDYatDtctBtaBatctDatKaMcatt +MatatcDHctaagRgYVcatgttcgtgataHDYaagttSgHYctaaatgtaaaactNgta +gaaactaattRaatcttttBKcgaatSctMaggVaVaaatgagataaataSgttKgtcat +KaKatDYtaaaRttYaMtgctcSatRtagttttagcaaNtaKgatcgWYcacDgaatcaa +tactgBgaNtaactaaWatatacaatacactaNatcaVaKaaMaaaaaatcaccBtgttg +NctaacaBattttaaKWcaggataWMtaattgtaaHtgVtcgaHtScaHtctcHacVata +gtaMcaaKtcccSagMYtWcaaatHHtaagRttDagtMtcYtttaaWWaaaVaRtcHNtc +tcSttagcacaKttgtagtNgWYtatKDtcatttgaacctcKHtatccttattcttNggt +BgtgtKaggWtYgtStgtVaRtaRaaagtagtgtcgcKtKagatgagYtttaatKcScct +gaaaaaRaaHtttttaaaVgtatagKctaNtKaSVgttcgagacattttRSatagttSac +ataMtaYHccacttttctatactagtatgaBaagctttaMtgaatgtcaKYtaaatatgg +attataNcgBHatcctaRaaactgttgacttYaHtStcatcctDaMBttgtaWgagtaat +WKataaaBgBattcttttctttaatWStaatacgNaagtWaMaaNgactMtgaaDaggaa +aSctaSSgatatDttattatcatagBcaataVcHcRgcStaHaaatWagatHttMHacta +RacttaYaaaaNtataHKVaataKtatgatcgtcVaaWgttYtVcaaYggctRWttaaKt +RttDaKtgtatcaattWKaatBHaaaaNgaatggStHgVVgatMgBYtaRNgBDttMcNt +ggaNgtcaHtgttDcNaggBtatYtacVaNttctcWtactHYcSctgtYtDtgWaatcHg +atDatatcHtcttatattaaKaRYaDgaatgSYcgactgcRgaagttagtStYatYtttc +cgacactacagKcaaagDttaatVatcttaaacRaDatRcBatKNtNtaaaHtcBgatKH +cWStSRaKaSMgtaKaBacWgDDttgYaaYttaNtDgHtatSaSataaaaMBaaDtaMat +DaagWtggaMtRcacttatggctNataaaaatatWNMtacctatgtcaYKaRacagttHD +agccgtaaYcaatataatcatagggaaSatgMYBcKBBtaaRVRatRtccVtgtgaagVN +ttcttagtgtcWataVggtaaNaatVgVaKctttNgtttagtaaagBatBtgaYSagHtt +SYaacaStcgcagaSttcDBtKtttggtctacNttgNgKNNtcaaaaKWactgaaYgaYa +ctatHtaWcaactgttSatNVtgtctSttYctgattVaatKgtaYcaaattSgttaStat +ggtccaatgSWccaaactattgccgttacgcNatcHctctcaKatgtagtctattttaag +gHRatcDaagSaVgaVNccaBKtacgtttStagKgtctaHtcattaYcctaVKtttaYaa +atYtccgataaaVttcDgatWcgBtcctaatttNaattgctDYgtgatcaatttaagggc +tctcatcKattgBtaBagcaYcKctctttNtaacHacNStggRtMatHHgtacatgcaMa +gtgtccatRWttRKctaaaDtcMctttaNVgaNtcMatcacHcctgWtaaStcacgtctN +aagRNNaagMaDtactDgctttttcatcYacttaKttatgcStDaStNaMgDtaacKtMt +acctaaWattggtttNaaVHatgaaattaattacgVNaaWtggaWatctgVatcacYctc +VHMtVaNacNtcccaWtttgcaacctcWctHaatcttWcaaaYaBaattSctYatctaag +DgBttagtaSgaWtBcRcKtccYatatcKBgtctttatgaaHDcgNaMatggatgtWagR +ctStagagaagaacagctWtNtataaaataRatHatKgctNactHgttRgRgVcRacatg +HYaNttaHtattaNStaagatgtagaHcVctcYgggccYcaaaatgatcttctagctctH +MaMMgcaVtgHgtaagaWHHtggtaactBcaMNNctagaacggWtctttgaggHcYNaaM +HtaYcttKaagtSccgttgggNMStatacDttataaaVaYcKtcgcattttcgacctctc +acVttNtttattgtcttctaVcatagaattMttgtHtMgacataaatagttctMtgtWgW +ctttcaagYgcgtNaagcaaDaVHaaStMtaaagccccgtgVgtcacatcHVaDtgttBt +BacBtcggYttDagaDYtccMttagcttacNcgaagatRtDataRtgctaatatatgRtW +VttatWKtgcBgactcgagaSgtaaaaagttaaWaaagtatttctcWtatcBtcataacN +cgctcRKaaDKactRaNtagtatBtgaaatttcgcDactttaNtYgagagaNttgaatta +ataaaSMattRHNtYtgttgaDBRBttgWttagSatgacDggNVagRWcggctacDaYSg +aaattHgtYaaagctccVtatacattaMctttgSgacatBKaattRgtaBRtttaactat +tctagcMKMtttctgtgtgVgtctttcDcgtaaMtaggtaaaDtcaYtatccgattcYtg +aaRttctKaNctaYgYaattYgRttWctWttaaaccaatcactVatgcgYttgaaatgat +KBcNRgctcatgaccHagcgaaaatgtVgccatcaBSatKccRStSattaaatttggtaa +gcVattctgVcattMtacatMgaaaaaataYNDtDaatcatWattcaggNcaccctcBtg +cKcHagYtatBatgBttgtVttaYBgBgataaHNtacRtcaaBaKcagNtcagaatYgtt +WgggaNDagtatagRtctcDtDaHScagttcYcatcSYacHcagagNgtgcHagtacagc +tgRtatatMtaatRaWMHgaaKacaBRtagHtaaaNcVHcatWBgWaaacWccggtaaRc +attgMgttaNgttVMVttgcaagagaatcaaaaaagYScKVtgccgacHgacgttcaMcc +tcattatgcBttttaagtKatDactccgBatHYgttcatcgaaatctSaKaagaatWVtc +gttgtcttaMaaYaSDtaaaataccgcKMtatgKtgScaaDMaaaactgtgagcVtttaR +cttgtaNMatatatttggtMgYVatDaatttgctttaaRtaBgttaYaaagKtataMtWS +tcHaaaaNacgctacMttDDgactacaNaatBcagtcattatatSttaVgRtWgSggcaa +tSataVgSYgctBttataaYRRgaactgtgHtgacHWSactYNgtttBactatWStaNtc +StcMttgattStacctgaattctWatNaaHgMatattcaaaKWaBaataatHKgaWgata +YcaWMBtgtacKagaaaaagaattttWttDaMtggttgtgaNMtVtDcaacNttactatt +acggKctatttaaaaBKatagttHaatggaatatYWgtaVtNaaYgataatMaccWagag +atRttMtgKaMcgatattaacaagatgttBBcNaYattcNgtRttgaBcctaagaSMttc +MtcctcYattcaNaRBttaatgVcMNgaacKagatcgNctaWVgttaaYRtgctSctaaa +aNtttgctaaScttcVattaHtaaMacNgttNtKHMcctattttaRtttVtSgtacatBg +tVaaSSaMVaRBcaSaRHtaWtWHttMtattVcaMtWaaaNaccccgHYtcatagaaRta +aBaatttaBccaatcRctcatagWgcBHRtacaaDttcBgaHggcgctaHtgacagcSNa +ttcctcgagaccBggtcaagWctgVcRDgVtaagtttaattatcMtgatNagYttHtYta +gccRatagDtaatcNtaKtacaMSgDaaaatttgHaHtRDgtaattKtaMHgaBcaWtBN +YaWgtttStttaSttgataatgactMKatHBtttaVcYatgggttttaDKcSatttMata +tcagtYaBtgVacaatHcaDMcccgtaataatagDataatVaaagaagaVtctccgaRgt +RtaatcgagtcacttgttSatgNDHaSNRcggtaSaagcSaBgWSgcatcaaWatgttac +atgattcWacMtagtgNcacgatgatttttRcWttSgtaatMRRBaacNWRHaaBaattD +aagStgatccttcaDacccctKaagScSSHaaYHWcHcaWcaaaMBataattgDtagccW +tcRHataMNKtMgHaBcatcgaagtgtaRgtgggaVMatgttaWRtStBHactaaRaact +NctcHaaaggcatgcVHKHgaatcSccttggSaWatWtNcaaBctaRagaaacacgcttc +KatRattcWtgYDaaaaaaNatWtKgaacgtNttactgWHBaccaWacggttcaaVgaga +aacVtMttatagaagtatWtaaaNHYaMacagWagtaatttgcatcttcgaatacggaHt +aatVattctaDaHtRKRaNHcttacatcDKttMDKaWggDtaatcttYctcWtRaaaaKt +aatcctgccccatgcgDtctaaVMtWRKKDctaatatDgactagWtaaaBcKcacMactM +HHttgDataKHDaDttHttatttagtcaaVatccKWtacWtSVcaggtaatatDSatgcc +tKtatDtttagacKaaaagcgtttaaSaaaYtgattgtKtgBMcKttgDaaaagttBRat +HgcaKgDgtgcWataatMWgcVaVatcYgWttaDatcatNaVgtttgggcttgaHRDaWg +atttctgMHgtVtgccttBtWtaatcgttcgKgRcaBaRMtaattWgctaatMaVBccaH +tDagaBNaataRcacYcYcHcatBgaNtgaNgKHttctYaacaaaYgBttRNtNggaagc +WtDggattgagtHaWttVacaaaBtgttaNctaatactKaMaaaaaDtaRatttDaaagN +ttcYcaaactcMgaYgtacaaatMaaatYtcacVaacgaaDagatWgBgaataggtWtKa +aMtgDttHtgagttaatttgVaaDagttNMataatttaSVattNaDtKVccaaatcgaYV +taaaacKRaataatgaBDtctRtgVcttatttYtgaHgttBWatgaatatacSaacctSa +tNNRccagtactKagaRtgSKMcgaaDattttagtHcKcaaagtggtataaaggctccta +SatHtaMtRKattaNRcWtccgctataKggatWttaggtaatHDRatttattRWgcgatc +ttagSgtcttactatgYgttYaVBtgcaYaaRtDaatacHHtDcttHgBgNcccataDta +aaaatctNtacatatWaRMBgaattaaaacgctctctcaagtKcacNacgVRVcttttta +acttgctcStatRScaRaMataNaKagtatcattRttNaVatcKgtacNatttttgaNcg +acaaKctHWtgaKStacMaBatgWttNSacaaKcaDaatcWaKaccgYBggMScgaMcct +agcaDatgtttcVatgtRBtKNWHtcctWDtatttttNNSaatattcMttgatKgNgaNB +atcSggtctRcttttttatatggtNttDYNYgaaaKctcacacYHRgttacatacttYac +aataNaagaaaagttataNaataSatacagttScacVaScaccSWtccagKHtaatcaaa +tVacatWacgBctccaataHaaYtMtacKacHttttKtcataWWtgtgaatWaataaaaa +catttcaccttaHtttgttccaatcccgRBaWgatKgagtttBaVgaNtaNVBgcaataa +gaatagcaKRttgtatcaattaMtaacatataDBgtaaNttcaNcgagatYactggttat +gtNVtaBNtDaaDtDttaSaWtactaVtHactttNttcttcatWttcDatKaacgtttgg +VDaDtVagttatgtcagactKaatcaYtSgttttataaataDttKttKagacWgHgatat +aaatcttagatNKtttWtWaaatattacSHaRgtttScttaatWttacgRRaaMactcat +BacaccatRtttgaacctacttcDMggcVaSBagaatcttaKMagcaVtctDVataWtSg +atagacttBctDtBNWgtgKatWctYgaaStccgVaaaDattYatagtatcaacBaWYct +gaaatttaKVgYtStNtcaVggtggaNYgaRtMaacataSttcagacVactcaVaagtgg +tattaaDBNDaagtatatMtactatatgatRSgtttgccaacgcacRMtacRYNataaga +tcMgttgatcataaacttVcatatgWtacaaaWttggaaactttaScataactRattMtD +acVYataaaagMaattttKtgaBttKcaacatattVtagtcatgactcgDaacDtaWcta +tRttSSYNtgWaScaaataagaaatKtagacataatggNaatttcSKtVWtgacagKWat +tcgVatttcKWgagcaWgNKaaaatatgtaaacgttcactaaWgacaccBNaacagaaSt +ctgctaHcVtttMtcYttStagYcgtttBcRtaYacttgNaacMtDRtagcatgtgcgag +cScaMgtaatBaKataactMttttattaRcattattatacgtaagSNatVRgcttcgaVa +acHNtctaHBKYgKaccYcttagagcccaVgatttgttagactaaacgtgcaBgccaWga +VataggattDBWaattttgtBacWtttttaatDtMgaactaagcVtctcagBMKatgatt +gaNaVttggatDaSaBatttcgccatatgctaattgYacatgatccacaaMHtttcKYKa +WtYcgDtNaaDccgNaNcacacHKttDtttaggctagRVtYgtaactagctttcacaaat +YtHaattYacaattaMSagMactcctcatgtScttcaaYtataaaaScHYaKcaYacact +VcacataNtaBcaRatgYagVBatttgtaactttgRggacaagcVacctattacRcaaMa +cHRagagtaVNctacagtgagacgaaaggKttacattgggacaataKNtattcaagWKtt +gatNagNtgctaNgagatNacSatctNatttatctatRgaaaatKatNKSBcKactatac +StcagtaggtVtcaaaBYYgctattKtWNttcRacaaaNatgaacttaRtaaDSttVBYt +aatccagtNaaacRttagaaccRBatataWaatKctcattcSacWaacaacactDttVtt +gacYaagagtaSgcMttBttaVNgRVagKDcttcttcNtaggttgcgacYacttaaggVH +caagDagaagataaVaatctgtatRatDtKaaSDgattcaattYtcatgYgtgaVMtMaa +ctaagaatgRgDtHttaaccaatStaaaaMctVDDtgttatcttaBBgccNacKMaHggc +BMttctgNctHggagaataYMgtaMccaataattHttYttKggtKaccaactcccHtMSa +atNactcRtttcatgcKcatgcacttcatSaatatactttVtaYttDattgWcctcactc +YccattaDDaHaaKcaatSttagKtWtcatRcaactattaattYaDggKtagtNcgSgtt +tKRgtDWtVHtDNcHWNtKtccgtctagtatSctaBcacgcaBtaacatgagatVtttaa +ggcaVttBttaStWtattgYaggtSatBMBDactVtggttDagacataaactactBgcac +aacMaagaStccaWNaaSYMYtgtaKaMcYSaHaaaatatttMgtcaaDScaKtcaBVta +MVMRRDMtcttRBgWctaacttgaacNaatgttWgtggBtRttHVKgKcHVtatattSaa +aatBttcBtttcDgHccBagtRBRttaVagBctRcaagcattacKccaWVWtaVcggtta +tNaSgccgKtYcBaagcWgcatgaNHaKtagNgcHcgtgtcataaaatagagacttgHYa +tattctaBgtttatRatctatttagacattttNtWaaSagtaHatRtctcggatttatgt +gatBtctRggggcatWctaSVMaRtcatgKattgRcatMaHaataNcBcDcaggcactat +tHBgaatStatattcatBgMVataaSacVacKHatggttaaBKtgtaSaWMattttMacK +tgaaWaaWgctgRatgtgDacBtSaHtDgtgtMVttagatgattagagaSttgattgtSa +aacagHaaatacaRcaccBtaaDtcaMtKaaStttatKagaataaNcaaBtattKaVNaW +aNactagtYattaaagWgHttaMcKaSagatSactctatMSagtggaYctcacKKgaSMg +cRgKtgccagNMataatccaVgatcttHagttttcttaaccataggggcttaDtYatcga +aaMataagcaaatBttgHHcHagacagagaggcacWtacccMttacgtgNttattYctVa +aactgttaagtKatMagttcacaaagggatgaVNMatgcaSattatcKagtHaBtgaagB +cggagtWttVaaDaccMScactgVatccaRaSatattNtgcBatgBaaNgtcaBMgggaa +tgagtatRgaatgtNttacaggcttaHaataaHSagatagtgVctattaaagggaagDWV +ccatcKaaaatRccccaSVaaatttMtatStgtWagtStMaaatBctgcctKWgttDDaS +KactctaaVRtaSWcVactggaaaaNMaaaccgcacNtaVgaagcttDNgaDBtaMaMKN +tKccaVtgctcttMMYaaaaHaattcWgHcgtacatWaMaaKtaataccgBDaYRaggat +atSKcScYagMtaatKHMtaaccatgHgtagDaggtgtaaatatagaKVgccRYctcRaK +BKWtgatHYcaHgBaYtttMcatataatgaDttcatttaStgtcVSgacggtggVgtBtg +acatgtaaSgtBgatKtKtaYcatVtNattataaaHaSccHaaagctSMKattcatagca +cagtgBRataacaatMttKcWaaaaatagStcggRttaattatWaataatMaYagatgVt +atccttttHaScgtBgagWcatgBtgcctatcgtaaWHacagtactgaattaaaaaNatt +RNMaSSNSctattcaaagccVVcatattttagMcgtattNtVBactacScattgKVtata +aKtttgNaWcttNacctagtgaNaaDcagtaWgKggaaKtacgcaaaYttatacSttgYa +YttcDNagggttVDagHatSgtacYVatataVattataSataacgKgatVtVacHYRWtt +atcctaaDtgtaaDgRDttttattWtaaDttggatcattNgtVaaaVggaaggcYgSWaa +attcWHcgaSaVWaMatctMDtHBgttttaatctaWaagatatDKtVttaccgaMatRaa +aBttaNagHatDHWcDtBVttaatKtMataYttSRHHcgtaHDtggttccaaagRRtaWt +VctRcaNDttatacgatMcaatNHtacgaattBaatHtcccatctctccBtgtataYcta +tgtcgaaDYWtNggatNcacRtMaatNtKcttSYSctaDaaaggctDaStatKtataBgc +VaatttggYcttaaatgatgtHctaaccaactttgggttcMaaDattatKtVacgVcSca +actSataSccHttYctttgtggcDtMcactaNSBtMRBMaggttWKtattaatgtKHact +tcaMVatctgttgtccaaYNtaagttKaacttctHcgcWtYttatMBgBaMacaattaDa +actNaaatSatcVtSSgatctatgNatSYaattRatgcDgtctataagagaagRgatatt +tcccaataHgttttWKtgaagNRtctaaBtWcHHcDgaattgaaaKtgttaaRtatgtaM +aggDttcMaccaMaattDctgYctaWtStaNtgRKaBtNcMHcSttMtaKccYacgNNct +ttatStgVtaYtaagttaagaBHaaStVKHatgttRVWtataMtSatgcaattcMcttat +KgMcagtgaatcYtcctNaYcttactttctcttcatggcgNcatScStBtagctWtHaaW +attaccgtctcgtBMcaaacKctcccaacttBgtWStVttMRgKcVagHttVtaagMaNa +tcaHttacatcYKttDBtatgSattVcgBcBVYttHNtcatKgcYgaaSaKtatttttMt +ctatctaSaattDttcWagHSacgttagYgacWaSaDKatcNgctaatgVSctgctYgaK +gKtaataggtggagcgtcgaaaaRYtgYWYSaatacBgacWtaNStcaattWtRctttta +aSYgttcNgtBWWgtgaatHttttBaMcMtKccagtattttcgaHaDtSVgatgaacatg +cacgtcagagDYattBcagDctcttNcNtaaaatRctgMcDacaagtttagtcaaSSaag +aaacatacaDtctctYgcaaacBcaagaBatgtattgacgagYacBDgttcgtgRtaMga +attttcNtgVcttctgtctagtgtccatatctgatYatNtatVWgttacaDacaHDDagW +tgataWtatcaaBRatDRtMgVcgaaattcSMagYgWacgggtaacaaattcagcatagS +gttactBctgSVWatYcYgcBWgggRcHtataSaattBcagHgcgcctttKcttWaggct +ttaaDtRacBactaaVaaKtaaacctcgcgccattactKactKSDcgacaVtatatagga +taKctcgSatgHSatVcgtagtgaBtSYtgaBataatStaaccaagttcaDtHtatatta +acYatattatcctacgagatcaccgtVSttctYgtcataaVactcgWtaVatttgttgga +ctaaaVcaSaDtYcgNtYtctVaMtaattatWRtWcaNtaKcaaYggatgNgaatcaatc +RtcgagtHcgVgttataHDcatttaagttctHtcgMRHtaaagaVactBMtatgaagtaa +aaaBNtataaNttcKcctaNttaaDtcgMacgDcaMatttgYtaaNtcaccgatgagMtg +ttaggWcacHttNgtcttHYMcaattKcagttcNcaaaacgNaaSattgKttaaBaKtta +tttaMggHcttttaaRNVgttaYttttMVRtYVgRatKcgVtacgaatttccBatBgYBR +tSKKctaaaatgatatgBtcttcgtttgacHagtaattatatctgDtBttatgaDtatKt +cKRcRttagattattagHgDNaaaKgcgMtHtttKtDtgaaaagtaMatcagaaccgaat +KgtatatVaccRaKYtDHtcSagtBgtgccWaaaggtYKcaHatDDaaattDStDtcKgg +tMgcMtgtHtcaaVcgtttNtagtNtgKgctaDcScgBcWSatgtatagcKgWgttgaac +gagtgcgcgtKaaaacgRtttccatatatttttMgaKagcVcVRataccWctctcgBcga +ggcgttaatgaHYtttHtaSWtagcagtttKtYaacaaataMtaNDatRgMBaBacSaat +aSDctgaactattgataaRtaVtttHatWaacWtVaHaaBDtactYtaDactttSgtKtR +attgatttatatattattataattBatagattctaacDcRMaaggttcgtcatattRVYc +ttKgtRcgWaatcgaaWWatDctacaaaagaattHaatctgttttacYatKatBaccMaM +aaVtcacStaaYgYKgtttctcattatattNgSaaHtgRaBtcataKYtHtacttgtaca +aaDtYtgatagNRcYatgaStaaagactgtcWDtYaatVaNStagaaaWtaaaataDYtc +aMatSVBVaaaYagaaaattgtgcDagWSaStattttaatNcacgataNBtaattggaat +gcMgacattHaattctctaaMatactaBaaattacaHWgBNtNaaSattttaacHtgtag +tBtcRtttSaNNaYaMaDtatDtagaKggYgcaaSttgctactDcNRtWgtttaVtggca +aactattgSgaagtattatgDgcgtgtcttagcNtRctKggtMaHgaDaaagtactgtcg +atttagatcagNggtaattaKaatgaaYaaHaattggttVaaMggatactctaBgtYHMc +ttccVcaaWtgttHHRgagttKaaagaBtaRtaaWaggttctatRatSgtatcYtaWcat +gtaBtcaatctaatRgaYYtWtccattataBacttWtcctaHaaaaggttgacgtRattK +gaagcattSBtttctaNcSctSStNtYtWaWtgtagtcttgtctttaagNKgaagacgDa +RgtNaBaVDgaattggaYtaccSVYKctSKKcatagttgSttatcStactcaatSMataH +caKgatWVYtNacagtttBtRagYHaagtaNaaVVDgatattMaagattagcatcctaMa +aMctgNtMcSaRcgctHMttaattDtttYttcgataaagtMtaagttaWaaDcaatccKg +tgMMcatBgtRtaHBcttgtBaBggcaDcgaWttgggtaDaggtgatRtYaMWDttatcN +tVcttRaKagctRgtgcNaatctgattatagattagtatatgaataDNatcYaggKRaca +atcaHcaagttagtKgRatRgttaagaaaatacVctaaaagtgtaagKVgcttSWaaHat +agHctagtDgDtSaVtgatcatttaNKgKHataKBctatatWaNgtttgcRaVNttaDgt +cttagHYKatYaVaBtaatgaBattaYcNtgcaBtHaacttVtccatDagVaaaYgWtND +BgacagVgctcaRtaHaaacttttacaaggaSRaaatagaagaatacccVaHatcBRtct +tttaaDMHWtHgacMtctcaagKDttctgYctctcNagaMgcgaaDWatMcMatatttDc +tttactaVSctagttcaRKWgtttKRaVaaKtacaacaKttatttttggcctataaDgtc +BctBDgcYYaatNactcaaRgaRWcgattgVNcWaatctgKagDMgctatKttRatcatt +MaagtctaRaVaattKctgaKtatccgaaRatcHMaaaaaagattccacgtacgaDStat +atctcataggtacgcgatgtgaaggtHYtatWagKVKgaMDcaatttWccttgKgagtct +agatgaatgVRcctaMttgtaRaaYtRtaacWgaaaMttatcatNcgttactaaggtDaa +ggcagtRctcatcaatggYagccagcgaatatagtgttWtaccaRctagatttDtaaatR +cDKtccHtBWgttctWaagccYBSgtggaaagHNttHtctaaattaBatggaDMgaBgat +atcaatactcMtaaKtcYccgatDaYgHDBaagBattWattgatttttaagaRaaggatg +gYggaKttaKtBVBcttaWcttBtacctYaNYttgctgtBaaMtWtcWaagtaaggWcgM +DaaNtccWMWtatcMVgaSaRctaKtBgKWDacDgaaaaNgttcaaaaataMcttaWtat +gNaVaaRataWtgKctRatataagtgttgacgaKgaNgtaHattaaRagSgattctatgt +YtcaattagBYBatccYtgtNacHagHtacVcVacaacaccgNgBtataYaatWHSttat +tgctDacttgtgHgHcMcHacagctRSDtgattaggaDHtYagatggagWtaMatcRccc +acRaaaYagcagatgatacatatttVBBcaaMtctctaWgaNtttcctaVcttaYBDBct +RgSaagcNgatttcacgtcRDaVBttaRaggtaaggHcacttccgDBKgagaatttataa +aMaRattagcVgtttacaaagagaaaMtgDtttYttggcttataKaStacaVttBttctt +gBcVaataaagagtgagBgcgNcNattgaaacRcactDaaccaatWMtaaHtBgaaacaa +ccctcMctcaaatctMWttggttttacttagcRtttacatRtccBttVcatgaaBacaYg +agHttatWDtcctSatRtYggHtNMttRgNtgcatcacgacagaHgtYaSaactgaaNWV +agtagttagaNgatctgcatWYaDacataHtaWttaatHaDgactYgttcaSVtttacct +aatttaDgRcagacaDtgcYVttaagaSSKBYtgHtDtNtcgtcWttDtgtcNtgacKag +cactccDMacDNcccctWataRKcaaatttctRVaacagcaMtataaattWBctttgKgV +catttaVgtDgtatHtgtaSctagtatagcBtBtgtatgtcgcMcgagttctacgaaBgW +ccgaWatgcaRtWtaagYttaNtcWaHtgattYDatWRgRWagtRcHggNatNttWaaac +aSgcaatMatgacNgggaSatgatttcBHcctaaggWactacagaaaagctMcaaagaYt +HVgtaaHKgKattVaWtttcctaWgaKattatgMaattBgaaagtgaSaaaWtSNBtttY +ataVgNatgaSgcBaaccatattcctctagRtattatctttctMtgaRtctcYgaatDtR +cHgcRVtWtaacDtcacYatRcttNgcgaDtVctWtacHtatatgtatKaaggtaNcata +KRaataacacDctcctWgtSaWcatcDgatatBtaatHSNBtcaataaStHtacttaYaD +aMtaagMtgNaaaaNccccgYWHaatgcBcttaBcgtMBKggccaVgacaWgaaaaaVYc +RKctMgcaccWctcSacttcVtacgaagtYtcctttttaYgttattaataactSttRggt +cVgagWRStatKataYcaatNMtacttcgcttVBaYRaKttaaYatacagctBgagcttc +HcaatBaaaVcgctcacaMgttaHaggctaDtSgatattggggBgRMagtaattggattg +YYHtVtcttSRYaacttataBtNKgatVaWSDWacatVcttgttgaagScaDaSttcact +aattagatKttaMcHtMgKccaYatKataMcKNgattgtYtaaRHHcaWagctgtgcYat +MHaatRDgtgttYctatNKtSDtaKgcBttgagtKtacatgaaggcgMatDaWtcBatag +taaaatNYtSVgVatttcaNgRtaRaaNBttggaatVgaaaaagaaggtgNtttVBgcct +tgtgaBtgMgtaaacBgtactWgtaacctatatggaSYattYtVgtttaagccaRtatRM +cgWMgDVSNgataatBRccNagagStHttBgctaBagatattaacaagaggttttcDaRa +gtcDgtHttcataagaacaKBttaBgactaRatgaaDYHttgVagcMcBDgYactWgSga +cBataMMcttSaRHgcagKcgaaYaDgttcataYKcttcMWttattaaBacDcttDtttB +catVggttVHtgtMgKcgaaVgtcgMaaHHYBMaHtaaKaDttaNgNtttttaggMcWtt +NaaaDaaaaactRgaatagSVHtaataagttStccaatcHataatacMcattHtacaatt +tctgatggacatatgcaaacaKBatgcagacagVcctccgcaacNatcMaHtcMtaSctg +taYgtStcBtcatDacRggttRgagaaHatVcttYWgaDtatgYcaBKgtSWVYtttctW +ttHtctaYttttaBtcataaNgtBRaNcgttKgtgVKgggVtWatcWagttSttttttaM +aRWtccgttttattaHatttBVtataSctRWtgcMacaattaStBcacggaatRatactV +gaagMaaagWacaMgctaacaHctHtaatacacgaYagtcttKagcDttaKBHccgtaHa +acaKVtcMKcaataaaNaggttSaatcatgaNaaBtacggBcaagatcRgttttHaNgtK +ctYatBHHtaaaDNHtaVtVagttVacKtcYgcattcatacaaagtaacKaKKtaaNtNa +taaNaaSaBtagaattctgacacNtaHtataBDttBctataatagYSctgtaHcgccgaM +BaggttaMHtKgttactaaHaacgDatataaagcaWtgaMtttgVatcKaattcgHVNat +NgDaaYtataHacaaacaagagtatatDStgcNgcRtaaWVVaDStNgtcaaacgDttaa +ggNttWcaVNaccctgaaaMcagVYVaMtBgtatacSacgSgNtaaaDtRaBSaWcNacg +YaggtcaYtattagVStaccgatgSStMattctWtattHtHaDtatgYaatattgtttta +NggttVatcttRcgaNtHaVaStgaagactcacaaatcactgataaKBtNHtttctWWta +ttgactacNtaWatataaaBaatBttgggtatYtttYtgttttVttgagtcVaMVgaatN +taaNgKMaacgtaatattKWggcagtgRttgtgacactaaYacactggaaKaWYRgcatg +cgttctBcttggtVaaWgtttHagtcaatctcggaNWtaatBNcaMVKStaNcMtgatat +aatDYMctttcgcatgcYtHtVNgStggagcBtggMgccctgtgNtVatactgcctcHca +taDBtaStgNcagaYttaMtcaYtgtagatDaagaHaaaRcRataattcaDtcaDgttgt +atRaaaaYaRgtttDBgDcgaagcNttgcVttcacttaMgtMWaYaattcggaDcgaVtY +attaBYaaaattaHVttttWaacDttaRaSWactcBgaRctacaVStBaaatRgaacMSa +agaatagYtNctcaatagctNttaVtgctgtttgYcttaatgtgMaStactgDBagVSgg +tSKMYttDatgtMaaSaVtccSRMgaaaactHaatWWtcatttctDgcMcggVtgtRtca +tctttNatcaatatYaKaaaatKWtDDDaaactaagtacRHtcKttacaataggttWctt +ataSaYctgctVtaaVggatcctaHVttgWtgHtWttaDHaNgaccctatatgcWtNtta +cctaYtttDWtttaggHNgccatattacKggattVatatcRcggRWMtgcaVRaaHgtaa +taattttaggtctcDccaatatgSaaaagatDtaaVtYgNaHBtcaYttaaaaacagata +taaagttaaaDWccMHMattggtaaagtccgaKtatDKaVHaBagaBatactataVttDt +tDaMagctctaaDSggtttgaDacacVatcttNtgatKtVaBStatgNtgDKYcaatcat +aWtcNatYccgRtcgBHacaBaatagaVtagcttgaKagcgHtttDNtgaagMttStttt +gDDKRWtagtaBgtgagtgBcaDtWtaHcctatHatttgttWgagcggDtgtRDRcaaat +agcacacRtDgtgVaWtaattRacVataBWacSYWVctgYtWDaVtaKataaacttKaaa +MVHaaaaKNtaaacttgVataaaatMaaatMaagtatcaaRtatSYRtBtaataattgtt +tgaWtaNNtctcaatNaataaaaaaattgaaaattattgtgttaaYatccccHtaNcatt +cacttttaMgVDtaDMtcaWSgYWcSYtSgaatHtgctagaVattaBtaaaYgatattcg +aaBtgaaDacacatRaagcgggagggDMtatDttaatttggaKSNtactRMttactgtBg +gcgtcatNttctattaVacgttccKtVttMacttWtctaYcacgtaVtaaRgKcttggat +SYatattttgttacaaMgtgagagaSatattWcagDttggNtNaaYtaggaaKtYHcttg +KattWagNgtaagHHVatYatcattaaaaaYtHgttcaaaataattatBgcaKWKtagaa +tagtatBagaaMtattMagaMtHcWgYcacgttagtgtDNggctatNatRcYYHtaacMa +SStattRagRcgataaaatWNNatgaaatttVtKcRtKtDtaaMcctccaDRcaHtBSWc +YtaKttcacaaMaataaMaactccgSgtYattDtaWctagatBtaatSgatgatHKgttg +caaaaagaScHtgaaHRDatSagatcBcggcatcatYVaatgMaatStgNgWaaaaMttg +cYaaagttSHaYgaaatHattBgtaaMRagSaSacBaagtttttcatgttaaYcagYtgK +tYctaStcaagcgtaVattaNatWtHgtHKNDtcNaKaVaStSacaaStttagaaataat +gcDSatgtaKtgMMtcaaagtNattacMYgtgctNgVcaaNcDtaaaVtYggtaaaactg +caagaWNcaaacctDSaaSgVaKtctcatataMtggBtaRttKtagRcctgttaHgWRaa +ttgDaaatttHtaccagctcagaccKaaBctaagtatWtaVagBgtttatgaHaaggatt +StaactWacKDVtMHccgtacaMWYctDtagatttRctaccRagtWcWgaaaaMcagttc +tgacSctaaaactgaatcacaNcaMWtWccYgtttNaatttggttaaNtggttSattttc +aacgYVccMtcgaactBtatcYttcYDVMttcgattaKWtatttagcaatatcagWatgc +RVaatgRtacWaVVBttggatRtaNgRagttDYataacDVBcaaactttgtttgaccata +gHMtRctaWcgacagtgcVcaaVgRgtaagtRaaaattSBKacBaatcagaatgtHattc +aVRtatVSSaKatNataWRVaaagMaacataDgataWHatcNYcMtatttggaSatttcH +cgacaYcaKaaatattacHcSaBVatHacactaMDataaaggcacaacaSacctgtaaRg +tcccaaaatWtDtagtcaagNtttgatDacDgcagaDcWgatDaaKagctDWtttatatW +gDcaaaWttStDtKtatSagVgaaKtaacgaccgMgaSaatRRcagYtgttNDggcHSca +aYDWtcaacgtaHgaStKtgMtRtaatccagtDaaacHgtacaaccHtagataNaattat +cVtgaKaaNaaaaaaaagttgMgtcRaNaacagtaKcaBgtttgaMDgDMacttattatg +aDgagcgtcacaaRaagtYaggMtaaactagaacagVaMWataggtatHagtttaaHtca +gtaaatgRgcatgRctgaMttBaaataagWVtcHctgtgtYaaaaVtKtaSaaBatMttt +gttatattattcaaBYctBWtggatBtgaggDagtgcacVataRBctaBaaaataatttt +tNggtccgtVaaaaataaattBHaatBaagaHgttaagcctaatcaaatgaYtKaatYta +aggtMgaRggtWgggNactaacgaRaaattSttWtaataaVtHgtacttNtaagHaSacg +WggaYggNStcctgacgDcgHggtttHggtNtMtttDatNDgtgacgtatacgatKatat +aaacaattSaaagcagatKtttSagcaaMttttgaKtMtagtcRacctKSttBttaatMt +gcgttacaaagaVaataattcaSaaWcBVacYKtacaNBaaKRtRtcgWtWBaRKVtYWW +WgattgBctaaatKaattaYtMtSBMBHDtBtaggDtcNctWYagtgSaaBaVtcttNgt +cgttHtgtMtctatKtatVggKaSaagtttattttatgtactactHtHttSMactatHca +agaattVataaaMKNtaMccgtgatDaHcaacttRataacaNgaatcSBtatgacBcctc +gggtaatWaaWtacacaattctRVgattctatgtgtatHagatagggacVaattttDtNa +WKagtatatHtagacgaggtatgtcagtgagHccccaatNataKMBaHtcWgctagtgHa +atBatSataDatatcacccaagattttcSatKgatWtgaagtcBMataaHaaMaattatg +cttWWtttcgVKYNBattggtacttcaaMaVNcctcHatcgctVcttKatgtctctBMgg +acatcaggacSgaKttgagtctKVYaaagtaaSgaaaHaWactgRattaaBttVaHtgga +ttagRWtaaDaaatgatttSMBWMaDactScgRYtgaVagNctgtSBataKacStHRatc +tVgBKaggccaRctaacttcYKtcaDcttgaaacBBataatacYMgWgctgtacttttat +gaSaaatYcccgattattRStccaaaBagaacaaaVtttgcttatagaaacacScccSaN +taaaaBgtaaggcDgtSttRatMYSWatcgtaacgtStBagttaVaaaScccSggaMDBS +gcaaKaggatatacgtatgcWactccgVctNttMaYtaaatKaaatgKStaaaHaKatat +gBtcctatgtVaBggaatBcgcaatgagtatHcYagctDgtWaaccagtatWWtaRtKag +atagtgKatatgaaaggcaWgtNKaaagataWaatHaaaaaKMaaatttBtatHtctNac +tKtBVVagtatcacgtMgtgttaKtaatcgaaMHtYKNcMaatgcaSaaDBaaaaagaWa +DtWMgaacatttDcatttaBaBtDttaaSMtcagcttttRWWaataattcNctactWaat +NaBaattaagaaacttYRHaccatatKtaKcNVgttYagttBtaaaaVtctcgVctagct +cgSVatatagVtMcaaHRctaHStttNtcattRaatgtaRtgttaatYtaagcattgaat +ttaKtctaKKgaaggtcgMctttcWaagcgWaKcttcYttgtgaRaagMtDatgWgYaat +aKaatSWScatKBtYgtaagagaVcacgctHStaacaSgBtgtaNRYaaWtWcKgaccDt +gaWtgagMaYgVVgBaRacYtcKgatcagttgtaKcgttgagNaStctggaatVtactaS +NtaaagtaatcaattaaVaaDattHDBaHKDHctVggcaaacccKMaatVtgttacBcct +StgBgMtScgaaHcatgctMtStaVttttcDaNagtDVaatYcggaDaYtaactaNgtcc +aattSacaaaaRgtagaaKgtcRSNtgatBacccttMtactatKgtaaRMagataMatgV +tVKagaRagtcagMgMaatRHNttagaagaatgggaatcHtttttSgtNgYatgtgcYta +atgDctMaaaMccVScgcRgKNaaagtaMtacaKaMNaBatagBttttcttttYatataN +aWcagatttgMtgaaacaBYtHaaatgtaDactatttNatttKttSattgBatSRtgKHt +tacgattgcggtaaaaacHHtaNgMcgHaVDtgtagaagatBaaagDttaacSatttaat +ttaccagatataattggVgaRctRtcgccVatRNtDgcagBcVaHtBaatDttatgKRKa +gataaRgcagtaKgagttatatcaMSagttccRcttaaatgatcttataaacaaatttcc +cttaBaWtagtagttMaacMaKaaaagHatYKactttRatgtctcgattBcSagaDKttt +HtBaccttNttVttVVtggttacgtaaBMRgatcgtctacaaNBtaVggttYaaggattc +caNgRgtagBtgtaBacaagtataaatBaaatKRtaMtKHgatcgYggDSgKRaSttHSt +catgtatatWacacRacHcatYtttaacYatatgtgttNtgcSagDHgataYttNattat +cVattcaaYttggtaRHtWtcgaBacgtttaBaccaBaatgtcgcNagaNtKtaDtgDta +tgDaBtcKgtBgatacNaccDDatttYtKggMtYNtaactgVacattaaHgMttatcgtH +MNtataBtKSgccaVttaBcttattcBaagtgaWtaRtcctDVRatgaattgatatgaWg +ccacDaatKaHtttacatNttaWNWgtacaggctacttBaYaaatatacaaaatttcgNH +gMgttHctcKYcttgMtaacBaDVtaatttacagaRttttttagcKagtKactatMRtgt +DtaattccRcaaKSttagttttBtctatagaKaVttttgcNagtKVccttagRgWaNaKW +ttataDgcgaatgMKatgatRcYtctgVagaccgcgVgactagaWaaHNtcRNRKaatac +tcYaNtSDKtcVVggNgDagtttaaKRgttaDcgtNNgtcaYttggtttYtatgtaaagg +attttagatattKMcatgYaaatcaVactcagagtRYtgtaactatagtBaDtVaWatDa +tctataaaSgggtactaYaKKWagaaaaataaattatagRcaaaVataVagatatgtagg +cWagacRWattctgacgcDtaBcYattgtaDggMatgagcgagaggctaaatVtctcagR +agDtSgKNcgtVcStacatttagNtgatSNgatcYVtHattHtBgMacRaattaHBacRc +NaaccctVaaYaattcVccatacKcttSagtctgKMNagRaNcatNgcgHattStSKYRg +gtcagtcaccattttagtMaccctggVattHaatVagaaMaattaVacatacacaaatta +attacgtKtagaaaMgatWgWccatYtagacKatctKatMcggYcgcatgHRtcStVtaa +tHgSaaaVagtgaatgtgYtattaYcRagatgatcataacacSgaYaactMKttatRcga +ataaMSatacNgaMatttcggccacgaYYMcaKattRagDtRtatMVBtaattWtMHgNa +WDgStaaSNggStcBcVYtaYagaHtacagttccMcgtYtYttcattgSWcttagttcgt +HtgVRYgaMacttBtatcaactaaaaVtDgataaDgtatcatYDttaStgccBacctaaB +agttgRtaSBtaaaagWgcacBggttagcMaYatttBgtaggtRBaSagttcacgtaDaY +aaaacDSaKattctgtSatatgtatggVBcctctgtgaaHDKgttaRttttBMHgRMgHa +gtagMgacgaagttaatattgRtHtHttatYaaagcagatgtgattagtggcactactVa +ttagatctctgtttatcattYttgatHcHttagStgatgactctDaaatcagtgttgttt +ttcYaaagtatatcYcaSaacaVttcgWtatKaaaHWtRgtttaKacttctgaaNaYacc +tNtcStatttaaagttKgtgatcctBcaBtctttaaaKagttgDtWctDtgtgctataKa +gtaNHatctagYgatcMgtggYaagactgacacttaRaaccHgttcaYtagWtggtgBcS +tacaMcMHataaaNagatactccaggagttaatcatRttttgaKNgSgcaggtgttRaYc +aaataBtaDtatHgBtatacKaataKtaggaaatatgcataaHgaKttttatMaaaNgMa +tYattgaatNtatVaggtKctttHattcatttatYtattagtataYtttagYcattagaa +ataHtaaccttactcatYttHMRagttctDagNSVgcgVaNNattctVcaaVagaattta +agaggttttacRagtagtaaaBaBaaMtaScKgVaRcNtctgtataagtatVgtDgHaYt +tcHYttaagatRgtgaattctYaaaattRtcWtacDDaRatcaKtaSacaagctaNttRY +agMSDKtWgWaYNgaaaatatNtaatatHMtMWRaRacaaaatgctgctacNKaKtagtt +gVatDaVccatSDtgaSggcgWatccBgaaVtgtaWttagatVaBWtacgWtaYattaaa +tMctDgDaaKatttgaaatgctWctttaHtggHaBBSRVBWtgattgagatccNcaaaHt +>THREE Homo sapiens frequency +gcactagtattgtcgggatcccattaacaggctcaaccacgagctcacgcgaggacatgt +agtccgtatctttaacgaagcgacagcgacagaactcccatggataaccaattataaggc +ccgtaatcctctagacatcgtttaccaataaatccgctttctccgtaatcatgttgaata +ccccagagtagtccagatgataaccgatgaaacacaagtctttctcaatgcacttacggt +gaacttattaccgccaacgtagctcatcaaggttgcgacatctagttgtgtgtttgcgac +gagcccagcgaacttcatcaactttcgtatattcaacgccttgtaattttactttaagac +gcctggtgatgtagattcttagataatcagtttgttatcggctgtactttaccataattt +cacaggtttcaggtcaagaagattatagctgtatatacagttccatgctcggtgcacaga +aacgtgatcggataataatcaatcgcttatgtcgtctttaggcgtatccaatacatgccc +cgataccgcagtgtatttcgacatgtaggtataccgtcgcatttgagctcgagtcaggac +gtcagctagattagattccttaatagaatataccgacctctagtccgaactaaactatag +ataacgccaacttcaggttaattgtctagtcgtctgtttgcagatgggattcttagatga +gtgagtatcggccatattggttcgagcactttagtttttgatgcataggatatgcaatgt +atagctgaaagtactttatctgtttcaaactcacattgattaaaccggtaaacctttaaa +gactacaagaaaatattcagtgagggcaattttgtcaatcacaatcttccagctagagat +acttcacaatttgtcttgaggctacgcaacattagacggattttcgcgttttattgaaat +aatcgaggggcccaagagtatccatagttcattttgtaagatttctttacaggcttatta +cagcttcttcagactcctacatgcttacgagttatatgctagcatgtgaacaatagatta +atatacaggaaaacgtacattgagagagatgaccctacacagcgcaaccgttgagtactt +tcattaaagggtaacgctctcgagacagcatccttaagatggccttattgtcaaatcatt +tgcagaagtacgcaagatccctaaccaacgtagaagaatccctacaaacacatgagacgc +ggtgaaaatagacagggtgttagtattcaatcttcggagtatcaatttcgccaatcttgg +tgagaaagcataccctttcttcagagaaagaagatcaatcataacactatctttaacgag +gtacgcacgcgcatcattacctgcctccatggatctttaggatagcggaaagtattggca +gcgtattgtgatttcgttcctactttatcaatttcacattcatatacatgtcttttatca +aaatcgccaataagataggatgagctatattagatgctagtagagttcgcgccaacatca +tcgataggaatactcaggacagcgtgataggacttttcaatccctaatactctctataat +tataactctctcttaagtttggaggcagtaacgcgctctatataatcagtttgctgcacc +attcttcagcctctgatacatacaaataaattccacagcagtaagagggtttaattgaga +catcttgggaacttaggattttactctaacatcaccgaaacgattattggataccgtacc +taaacgaactttctcaaggcagtaatataggacatccgcaataacacaaatgctgcctcc +ccaggagttatgtcttcctggaggctatatcttacacccactcactataggcaaactaaa +gtttaaatgttgattgtctaaaaaaaagatagataagagttggccggcgtagcacatgcg +aaagtgaatcgtaagctataattctctggacttgaagttctgtcctgttcctctgcaaga +aacaaacttcctttaaagctatttacgacgcacatctcagcaagttataaacatgttgga +agtttctagtcggaattcccaaagaacggatctatctaatgcattcctacatttttcctg +tctgccgatggtgccatcctattcaaagaatttcttaaaagtagattaaatgggactttt +aacaatgagtaaccttacgcctctaagggttcctcgagtgccatacaccagtcaggtccg +agccacatacacggagaacattctaacatagcattctcaactcgatcatttgcaggttac +ttctttcctatcctagtgctaaaaatcatacttgcaatcccatagcacggattaagaacc +taagaaacaattcagtaaaacatgttcgaattcttggtatgggaacatcattgcagctat +ggtctaacgcattaatgtttgggtacatcttccatcatataaacaggaagagtctgacga +cagggagtgcttgcgatcatgtctatcattgtgaaatcaaattgtagctcacatgtcgtc +tatgagagcgtgtatccgataagatttagaaaaatagaagtcgtataagatctcactgaa +cttttgaatgaatgtgaagcatatatgatctgctttaataaaactttatccataggatac +gtttccaaatcaattcaataattattagtcaaaatagataaggatgaacaacctgaaggc +cgatcggacgtagaaagtggtcccatcactttgagttgatattgttgaaccacacgttat +tatggttttcaaacagtctcaggatattgtatatacagataatccgataccagttgtctg +acgcccctcttacgtaccccaccctttgtgacgtttaaagcagttgttcagtattttaaa +ctaggcggcaactaatttggaaagaagcacagtggatatgtctaaattcttgttattcag +gcctgaatttaatacaccgcatagttaacttcgcggtagagttgttcatcatgcctcctc +taagctaccacttctatgatacaccaatagttgttctacggaatctgataattggccaag +tcataaacttccgctgcgttcaacccccttgctcgaatatccaactcgaaaagacagcct +tttggtgtccggaacaaatcagttacttcttttctgatgttaattctctgtggtcagata +cagaccaaaaactccgcggatttaccatcctccaagaacaaatttgcatcaacatagcat +tttggctacatattctaagtctcaatagtttaggttttcaactacattatcccaacatta +ggattggaggaataatagctgggtaagtccccttgcgtctacaatcgactattttttatg +aatatgcttctgccgcacctatggttattaaaaaagtcatgactttgaagaaccctgaaa +agatagatgaatcaggtgtaatggcagcagccaaagagcatataattagcaacactctaa +gaacattatagatatgatgatagcgatcgtcatgatgttatccggtcacaatagtagctt +catcagctaattcgttttgccagtggtgacttgcgctggaagaatcgttatacggtccct +tccctcttgatacggtgggggcttattcaaccgcgtggattgggttgtcatacttgcatt +aaacgatgtaaaccatctagtagtcaactatactaaatcacaaaatagtgatcaatacat +acccgcttcatggttttaaccatttaattgattaaagatattccgctaagaaccattatc +tacctaaactgatcgccgtatcctagtagtttgaaatttgatgtaccgtaatgatcaacg +aagtaaaacgttatattgtatgtagaataataggtcttggagctaaatgatgtgattggt +agtgaagacttacccttacaactttaccggtttctcggaagaatatactagagaatcaat +gcatgggctacataagcactttagtctaatgagataaaaaatacacgagtcttccatcat +gaattttttgtcgaaaaactcgaacctggtaatttaaaccatatatctttatgtcgtcaa +taactctcatatgttttatataacttcccaatcacgacttgtaactgcttgttcgactga +gctgtttgagctatgaggccgggatccggttgagctacatctatttgctacaagaaaaat +gaaagcacatttgttgggagttctggctacactcatagagaaataagtggcccgagtggg +tgcggcctgcctccatattcaagtgtatcttaaaccaagtggttccaacgctcgcgctaa +agaattaaagcctttatttcctccacggagtagcccgtaatccggttcgaaagagaccat +tgaagttaattttcatatccagtgaagtttaggcacaagcatgtgttctgccacatgcct +caaagcgctcttcaaccaagatatgattcatcctaacttcgatgaatgcgtctgtaacat +aaatatagaaggaatgattcggcgagttaattttcgccttctccaacatggcatccctac +gttcgttataaggaccatacatgtaggttttaaaggtttgcggttaatcgatatttacat +catagaaattctatagtcaaatttacaagactctagatactcactcgttgcagccggcta +ggaagcgctttgtaccttacttcccttttcgttgcgtaatatgaatttcatatagtaagt +tcaaggcactcatacctccgtgaagagggtagatagactattaaagttgtttaatagtac +gtattgatggaaatgacccgtaggagatttaccactcaatccacaagattcgctgctgtg +cattatcaaaacagtgcatgtcgaaacatgggttgggtccttcaaacacgaatccaggta +gagatacctttgcaatttttcgatgaaggcgaccgagataaatgagctataacactgtat +gtcttttgattgctataaaacacagaaacggatattaatttaggccgtaaccaacatctg +ttatttgacatagaacagatggtcctttacagcgtattccggccttaatattgaggtcca +gtgtattgtcctcctttaaagaagttgattgtaactgacttaaataagacatgtcaccca +ttcactgggttgcaactgctggccctttttgtccatcgcacgctaatgtgataacagtac +cgccctcacacctgcgtttaaaagacataaatgtcgctatgaaggttattcattaatttt +agctgttttcttagaaaaggtaaatttaaaattgaaaaggctagaaaactaaagttacga +caaatgtgtttgtcaagtaggcgggcatcattgagattgtaagaaataaagccataacca +gccccggaatagaaaatgttaaggaaaggcgatcttctttgaattcttattgtcaagtgc +agtcatacgttcttatcagaggacattgcaataaaatctaacaccctcccttgtgtggtt +gggccatttgtacttcgaagcgtccaccatgtgcagaggataacggaatgtggttccgtc +ccataaacgatcattctcgcccacttagtggcgcggtaaatcgctctcatagaggtaact +ggcctgtaatgtccaatgttaggctaccttctccaactttagtacaacgaataatgtccg +attaacaaggagtcaatttgtcatgaccagttcattcaggtacttgtatctatacggacg +cgttccagagtagtatttgaaattttgaggttctactgataagtttagctatcgctgtat +gtctgaataagaatttaatgtttatcttcgataaataacaattaacaactcctaggtgat +acactgtgaagtctgctgttccccaaattacatatgctattttgttcacataccatgaag +ttaagctaagtgctctataatggcataaacggttatcaaactagctcgaatttcttttat +tacgccggaagcggattaactgctgtagatcaaacacgttaggatagtgtcgttttcata +tatatctaaattcggtctaacatgcattacccatgcttgataacgtagcacttcgcagtc +taattatgtaatgtccgtttaaccaaactttaaaaaagtttatctatcaccagtgatgcc +tcatcgtgactacccggatctttagcctttagggtctaaacagaactaatattactacgt +gtcatactccggagcttaaccaggtgaaacttatttgttaaccaaatttagtgacagggt +agaaatacgtatcaaattaacccagcaatacaataagcatgaaaataattgtaatcgggt +ttgggccggaatcccgcttggcgaaaacttaatgacatagtgtgatgcattttgcactgg +attgagccacaaactcaactagcattatgctcaatatttggccagtgttctacggtttga +aatttataaaggccgcgcaaaagtcttgtagttacaaacgcataaatctcgaacgtaata +ggtttaattagaacatccgtaggatttctgtttatagtagatttatactaaatgttctga +ttagattctgacggccttacccatacaattaataaagacgaatatattagttatagttta +ctatccaaataaattaagcgaatcgaaataaactgtcacgatactgggcagttatcaact +tatcacttatacagttcggacactctatattggtctgtgagtactctatcaaactaactc +ataagttaactgcgcttccattaaatttcaatacgttcttgtgctgtgtacaaacctata +atcgaataaatgacacatatggagatgcataataaaaaaaacggctccatatttctcgtt +aatcgggcattcttaaggaggagcatctcaccaaaaataacgttcctgataagtcttaac +tattagaccgtcttcgggaatgaacgaaacctcaagctagcatggtatagttcttgatag +cgcgtaaattctgataatactgggcggacagctggaaattagttgccagtgcacctacgc +aaatagtttacataaatcaacgggctccgaacgtaaatacaaagggttagttacatcgca +acaagatgaaaagcatgtatgtctaccgtcatccgtccctaacaaacataaaggtggtga +agaatctcgtaggtcaactataactccatccttgaagcaactactccgcgtccgtgtgcg +tagttcgcaacgagaacactactgaaaaaagctaaacaactctcggtacaaatgcggctt +gtgtcgataaagttggtggtagtgcacggaataacataacaaggaatattatttattcaa +attttttgtgactgttatttgttttctgcctagaatgtaaggatgtgttttttgtgacct +gatagttacgcttatttcaggtccacggtgcgtgagagtgtgtcctataacggcagggga +gcgaagtagtgtcctttagactattcaaggtagaattttgataacgctctataaaaggta +gaaaatcatgattgagcaataagaccccaacttatcaaaaaaggagttctcgacagcgcg +tgtacagtccctataacggctgtatttcctgtgtcacaacaccctcccatcgcactcaaa +atgtagatttatgatcagacgctaacttgttcttagagaaaaatacacgggatactctgt +gcaacgatttcattaataaggtgcagcttgggacttttttggccgtaggctttattaaca +ttcacagtaggtagcgagacttcctatgaaccaatcatgccacgcgttttaacgtttcaa +atataagctaggaagcgtttgccaggacttctataatgcaccgttttttttagtacttcc +ttactagccttagtttatgttagagtctttccaattacaaaggattgaatagccaaaatt +tctacaattctcagcgaacgccagcttaatctaaacacgagcttcaaatattctacatat +cggcaggagtcaatatataaatatgaaaatcgtaccatcctcgtacttttagaccaaacg +tcttcggataattaaatcctttttcaattaccacagtacgtgcattagaactactgctat +gaaagtaaaccttgaaatatagtcctcaagagcgtatccaagtacattgcacgtgtatac +agtcgtataaacgagttgatgttctgacgctagagcttaccattcgttaaacagataact +aaaatttaatggctgagtgacttagtgttttcgacaaacgtcgcggatgtagactattgt +ttataagcaatttttaaaaacatatgttcaaaacggtatgggatatgtcgaattccacag +gggtttatgtaccatagaagtatgtataaggtactaaaggtttaaatctgtgatattcgg +ttcggtgaaaatcagactagtcacacttagtgtctgtaaattagattgggtgaaggtaag +cgatcccgaactctacaaggcatgggatgagattctaccgactccggataacactttacg +atcgcgcataactctagctcttagataagtttaacttgtcgatctcataaacagttcaaa +atctgcgatttattgtatcaaatccatcctctatcttctataatcatctgaaccgcgata +cggcactatgagccaagtgaagattgaatccaagaaagctataattggtttattttagtc +catttaaattaagtccggtataagtgctctgtacaatatgcagtctcatgggcatatacg +ttaactaccttttgatacttcgaattggtaaaatatcgactatcgatttgcagtaaaagg +tgtagagtccaattactctttcctgttacatacgatctcttagtttggacaactagccca +tgatggcgctcctctagcgcatgaacctactttataattacatctttatcgatgaatttt +tttagactgcggaggccttgagttttaacagggctgctaaatttcttaagcgattagacg +gtagcgtcgtacgctacttgcttggaacaggcaccgaaaatattgatctactattgcgtc +aactctattctgctaatagcgatggcaaatcacagaagccctcttagtgacaatagttgt +caactatatctaagtcgacctttactgtatcaacgatcacggagagaattaccgaatacg +aaacctcaggactaaaaaacggaaaggatttgtcgacggtaaatataatacttgttaagg +gtagcgacacaggtatactttgggtgtaaacgtggtgcttcccggaacgattttcagacc +agaaaattgttccggtaaccaggaaatctcgtctgcgttaattcgtgttagtaaacttga +tcttcagactccttcttttcgttgcagcgagacttaaattatatctgcgaaatagtgccc +cgtgcatacttcagatggtaggagataccatttggcccattgtgactttacgcgattaat +taaccgacatacatctgttcctgagctatgatcgtctgaataaattacggtctcctcttg +atacctaatggtttctggagacgtttctcatgttcaaatggatagcaggagatcgcttca +tcaagtttagctacgcagagcatcaaaatatgtatgggaaagtcgatttccaaaccagaa +gggataaagagaaataacggacttctccgtagattagcctgatattttgatgggaatcat +ggcggcacatacgtaagagttgcgtgaacgaatattttggacggcgggagacacatatcg +gccattcgttaaggtctctatattggacatcacaagcttagcagtatgagctactaacac +tcaagacattattgattttttcaagatatgtttcattcctctaccgctattcccatacgt +tcgattcgccgggtgagcgaaaccacgggactgaggttaagctaatcaataacaactcgt +tgcgatagagacctatgtatactagagagaattccccaacatttttacaaaaacaaagca +gactaaaatagatacagtccctccatacaattaggaccaacatgttattgccgatcctag +cacacacaccacaaactcagaacttctgtcttacctatgaaagggtctgcacttctgatt +gtacgtgtctaattagcattaatattaaaactaattaggataaactataggtacgagctt +tactataagtcactaggtgttttccgatcgaaaaacgggaccttcaagccttggtaagta +catttaggataaagaaaaaaaggaaggtacgtgactaatctgtctaaactgacaatagag +tagtacctacatgcttcatgtcaagtcttaatacgcaagcgctctcgttatactgctcaa +caaaactcataaagttggactccatcatttagaatcatagggaccaaaacatttatttgc +tactgtcactttgtaggtgttctattctgaattcctcatattgatacatgaatcggaata +cctgtggatcccttaggacgcacgtgctttctttacgtcagaatacatattgtcagaatc +gagaagttccatgcaattaagaattcgcctctttgaaaactcatatccccacatataggg +tccaccgttattcggaaacgatataataattattccagcgttgagcgtcccttaagagcg +cattttcgcttggcctttcttctacgactctacaacgcaagtggctgtgtggagtttacc +acagcgcagcaccccatagaactacctctgagagcgcgagatggtggcagtatgctctgc +agctagcgtttagaacgcgcccgcgcattaaccagtcatattaaaatggactgtcttaat +tgtcggcattaggagcaatattaactgatgagggtatcggtcgcagaagtaatgacggaa +atacgcctctagtccgcagagatacgattacagactcagatcccctaacaagcaaaacga +ttaaatcggaatcactccccctatgacatatttgaaatacacaagaaaccacgcaacatg +tcccgcattctcaaccgcgctttataagatgttgagtctgagaattagatgacctaactg +caagaatcatggcgagtttatctagtaggcaagtctgtaccctagggttcgaacgctgtg +acgtcgtgatcggtctaaggacttagatgataaccaagaactggtttaccgagtactttc +actattaggagtaattacatgcgttcaccgcggaatacgacgaaattttttcatatcttt +atgagcgagatcgtgtcgtctttgcattgcaacagtcgctaccagtaattgctgatcaat +tatagattcattatacagatgcttacttttctctattcaatactgtcatgagttgttttt +aaataagcaccagaattatgtcgcctagtataatcttgcttccacttgaatcaatgcgat +ggacagtattctactgattgcaaagtagtctatttcggcttagcagtacgcatgcctatt +tttttgcaggcacagaataatatgcaactaggattctcggcatccaattaacaggctaaa +acaccaccgaaagacaggtaatctacgaagttgatgtttactacagaaagcgaatgatat +cacttggagaacattttagatgcccccttttaatctagactgagtgtaccaatatatcac +cggtctaccgaatcagcttgaataaaccactctagtactcatgataaccgagcatacaca +tgtatttctcaatgcactgaaggtgaactgtttacaccataccttgcgaatcaacgtggc +gacttatacttctgtctttgagtacagcacaccctaatgaatctaagttagttgttgata +cgaattgtaatttgactggatctcgcctcctcatctagattcttagagaagatgtttctt +atagccggtactgtaactttattgatctggtttatggtaatcaacattttacctctattt +aaacgtccttgcgccgtgcactcaatcctgatcggtttagattcaagcgattatcgagtc +tggaggccgagaaaagaaatgcacagagtaagctctctattgcgacatctacgtagaaac +tcgcatttcagatcgagtaagcaactctcattgtgttgattcagtaatacaagattacct +acgcttctacgaaatatactatagatttagcctacgtcacctttagtgtcgagtcggagc +tttgaagatcggatgcggtgtggactgtgtataggcaattttgctgcgagctcgtgactt +ttggttgatgtcgatatcaatgggatacctcaaacgtctttatctctggataactcacat +tgagtataccggtaaaaatttattctattcatctaaatagtcagtgagggctagggtcgc +aatcacattaggccacatacacatacttaacatgttctattgacccgacccaactttagt +agcattgtagccgtttatgcaaatatgccaggcgccaaacactagccagagggcattttg +ttacatttatttaatcgattattacacagtcggaacacgcctacatgcgttcgacttatt +tgcgacatggtcaacaattcagtaatttaatccaaaacctaaagtcagagacatgacact +aaaatcacattaaggtcagttagtgaaggaatggctaaccagctagagaatgcatcatta +acaggcacttattgtcaaatattttccagatctaagcaacatcacgttaaaaagtacaac +aatcacttaaaacacatcagtccaggtgtaattagaaagccgcttagtaggcaagcgtag +gagtataaatgtagacaatagtcgggacttagcagacactggatgcagtcatagaagatc +ttgcataacacgttagggttagagctacgaacgcccatcattaactgcctaaagcgtgcg +tgagcttagcgctaacttttccaacacgtttgtgatttcgttcataatgtatcaatttca +cagtcatatacagggagtgtagaaaaatcgcaattaacatacgttgacctatttttgttc +agagttcagttagagcctaatgattcgagagcaataatcaggacagcctcataggaagtg +tcaatcacttagaagctatattattataaatcgctctttactgtcgtcgaaggaacgagc +gagagagaatcagttgcctgcaactggcttaacaatatgatacataaaaatattttcatc +accactaagacggtggaattcagacttattggcaacttaggatgggactattaaataacc +cataagatgttgggataaagttacgaaacgaaagggatatagcctgttagataggaaatc +cccaataaaacatagccggcctccacagcagtgatctattccgccacgcgatatctttat +accacgcaatataccaataataaaggttaaatgtggttgcgatttaaaaaagatacatat +cagttgcaccgcgtagcaaatccgtatgtgaagcgtaacctagaattatagcgtctgcaa +gttctctaagcttcctctgcaagatacaatatgactttttagcttttttactaccaaatc +tcagaatcttagaaacaggttggtacgtgctactcggaattcccaaagtaccctgctata +tatgccattccttcattggtccgggctcaccatggggccatcatagtaatagaaggtagt +aaaactagttgatttccgacttttaacaatcactatcctgacccagatatgggttccgac +tggcccttactccagtaagggcagacacacagacaacgagaacttgataactttgaattc +tcaaatcgatcattgcaacgtgacttatttactagcctactcctataattcatacgtcaa +atacatttcaacggaggaagataataagtaaatattcactaaataatggtcgaaggagtc +ctttgccaacataagtccacatatgcgctatagattttttcttggggttcatattcaata +agataaacagcaagagtatcacgtcagcgagtcattgagatcttggctagcattgtgata +gcatattctacctaaatggtagtctagcacagagtggataagatatcagttagatataga +caagtactataacagatctcgcttcgttggattgtatggctagctttgatgatatgattt +tataaaaattgatccagacctgacctggccaattatattcattttttatgagtaaaaata +gataaccatgaaaatactcaagccccttaggacgtacaaagtggtaacataaatttcagg +tgttattctgcaaccacacctgttttgggttttcaaaaaggctaagcagattggttttac +agataatccctgaacactggtatctcccaacgatgtcgttcccaacccttgctgaccttt +taagctctgctgaagttttgtaaactaggcggaaaatatgttcgatagatccactcgcct +gaggtagaaattcgtcttagtaacgcctctttggattacacagaatagtgtactgacacg +tacactgctgcagcagccatacgctaacattaaaattcgttgagtctacatttgttgtta +ttcggattatgttattgggaatagtatttttattcccctgcgtgaaaccacatggataga +ttagcctactcctaaagactcccttttggtctacggttcaattctcttactgagtttatg +ttcgtaattatatcggcgcagtgaatctcctaattatcaccggagttaccagacgccatg +aacttatggccagaaacattgcatgtggcctacataggattagtatcaagagtttacgtt +tgcaacgacatttgaccaacttgaccattcctgcttgtagaccgcgggaactcccctgca +cgcgactatagaagttggtggtggatgtggcttatgccgcaaatatggttttgaaaaaag +taatctattgcttgatacctgaattgagacatgtataagggctattgccagatgaaaaac +tgcatataaggtcaaacaatataagaacattatacataggatcttagcgttcctcaggat +ggtatacgctataaagtctagcttcagcagctaaggagttttgccagtgcggacttccgc +tggaagattaggtttaaccgccctgacatcttcataaggtcgggcctgattcaaacccct +ggagtgccgtctcatacttgaattaatcgatggaaaacttcttctagtctaatattatta +ttaacaaatgacggttcaataaataacaccgtaagggtgggaaactgttaagtgatgaat +cattttaacctatcatccattagctacagataatgataccccgatccgactagggggtaa +gtggttgttccgttaggataaaccatgtaaaacgttagagggtttgtagattaattggta +ttccagataaatgaggtcagggcgagtgatcaattacactgaaaaattgtcagcttgcgc +ggtagttgttaagacagtataaatgaaggggattcagaagcaagtttctcgattgactga +atttataaaccagtcgtcaatcatgatttttgtgtcgattaaagcctaaatggtaattta +aaccattgatatttatcgagtctataaatatctttggttgtatattacttcacaatcacc +aattctaaatgattcttccactgtgcgggtggagatatcaggacgggttaaggttgacct +acatcgttttgatacaacaaaaatcaaagcacatggctggggacttctcgatactatctt +tgagatagtacgggcaagagtgggtgacgcctccctacattttcaagtctatcggataac +ttctcggtaaaacgctcgcgatatagttttaaagcattgatttaatccacgcaggagcaa +gttttaccggtcgaatgagaaaattcaacgtaagtgtcatatccagtcatggttagccaa +aagcatgggttatccaaaaggaataaaacagctcttcaacaaagagatgaggcttcataa +cttcgatgaatgcgtatggttctgatatatagatcgatgcatgaggacactttattttag +ccggcgaattaatggaatccatacgttacttatttggacatgacttctaggtgtttttgc +tgtcccgtttagcgatatttacagattagtatttcgtttctcatagttaattgtatctag +atactaactcgttgaagacgcataccttgccatttgtacaggacttaactgttccgtgcg +taatttgaatttcttataggttcttcaaggcacgaatacctcactcatgaccgttcatac +tctagttaaggtcgggaatactacgtatgcagggaattgtaacctaggagatttacaact +ctttaaacaagagtcgctgaggtccaggatcaaaacactgaatctcctaacttcgggtgc +ctccgtaaatcacctagaaacctactcatacatttgcaattttgagatgtaggcgaaaga +gagaaatctgctttttaacggtatctcttgggattccttttaaaaacacataacgatagt +aatgtaccaagtaaccaaaagctgggatgtgtctgtgtactgatccgccgtgtcagagta +gtccgccatgaatattgacgtcaaggctagtgtcatcaggtattgatgttcattgtaaat +gaaggaatgaactaatgtcaccaagtaaagggggtgaaaatgctccccagggttctacag +acatagagatggtcagaacacgacccccctctcaacgcagtgtatttgaaatatatggac +atatctaccttattctgtaattttagatgtgttctgtgtataccgatattgataagtcaa +taggcttgattacgtatcttaagacaaatctgtttcgcaagtaggaccgcatctttcaga +ttgtttctttttatgccataacctgcccaggaattcaaaaggttatcgatacccgatatg +ctgtgaattattattctaatggccactcattcctgcttatatctggaattggcatgaata +tcttacaacctaaagtctggcgttgcgccagttctacttcgtaccggacaccatctccag +tcgttaaccgaaggtgggtacgtcacataaaagttcattagaccacactttgtgccgacg +tatatagatatattacacgtatagggaatgttttctcctaggtgacccgaccttctacta +aggttgtacatcgtataatggcccattaactacgaggaaagtggtattgacctggtaatg +cacgttcttcgatatataccgacgaggtaaagtctactattgcaaagtttgacgttatac +tgataagtttagatttccctggatcgcgcatgaacaatgtatgcgttatctgccatatat +aacatgttacaaatccttggggatactatcgctactatcatcggaccaaaattaaatagg +ctagtgtcttatcagaacatcatgtttaccgaactgatctattttccaatttaagctgat +attacgtccgcgtatttattttagttccccggatgacgattatctgagctacatcataca +agttagcatactcgccggtgcattgatttcttatttcgctatatcttcaagttcacaggc +ttcatatagttccaattagcagtataattaggttttgtaactttaaccatactttataaa +aggttatattgcacaactgatcaagcatccgctataacccgagctttaccagttagcggc +taataacaaataagatgacttcgtgtcatacgaccgtcatgatcatgctctaacttaggt +gggaaccaaatttaggcaatgggtagtaataagtataaaatgataccacatatactataa +caatgaaattatttgtaatccggtttgccaacgtatcccccttcgcgataaattaatgac +atagggtcatccatgtgccaatcgtgtgtgccaaaatctcaaattcaattatcatcaata +ttggccaagtgttataagcgttgaaagtgatataggccgccaaaaagtagtctacttaaa +aaccaatatttatcgttcgttattgctggtagtacaacatcacgagcatttctcttttga +gttgatttatactatatctgctgatgtgattatgtcccacttacccagaatattaagaaa +gtcctagattgtaggtatacttgactataaatataatttaagactatacaaataatctgg +ctacattatgccatcgtagaaactgataacgtagtaacgtcggacactagattttggtcg +gggagtaatctagcatactaacgaatttgttaaatccgctgaaagtatatgtcattacct +gcttggcctgtcttcaatacgtttagactattaaggactcatttcgagatccagtattaa +ttatacgcatccatatttatactgaagacggattgagttaggacgacaagctaaacaaat +attaagttaaggattagtattatattgtagaaactcgtcgggttggaacgattcatcatc +atagaatgcgttacttattcagagagacttaattcggttatgactggcagctcacctgga +aagtaggtgaaaggcaacagaagaatattgttgactgaattctacgggctacgaacgtaa +ttacaaagcggttcgtaaagagcataaagatcaatacaatggatctctacagtattacgt +aaataacatacataaacctggtgttgattcgactagctcatagattaatcattaattgaa +gctacgaagacgcggaagtctgcggagtgagcaaacagtaatcgactgataaatgcttat +aatatcgcgcttaaatgccgcatggtgtacattaacgtgggggtagtcaaaggaatatat +ttactaggaatattagttatgcaaatgttgtgtcaatgtgatgtgttttatccagacatt +ggatgcatggctgtgggggcacaggatacttaccattagttcacctacaagcggcgtgag +agggtctcagttttagccagcgcagagaagtacgggcctttagacgattaatgctagaat +tgtcataaacctcgtgaaaagctagttaataatcatggtgctagaagaacacaacttttc +tataaaccagttctcgactgacagtcgtaactcactatatcgccgctttgtactgtcgca +aaaaaacctcacatagaaagaaaaatctactgggtgcatcagtagagatcgtgttctgag +agataaatacaccggatacgatctgcatcgagttcatgtattaggtcaagcttgggactg +ttgtgccagtagcattttttaacagtcaaagtagggtgagacacgtcatatcataatata +tgccatcgaggtttaaagtttatatgataagctagcatgcgttgcaatcgtattcttgaa +tgctccgtggtttgtactaattcctttatagactgagtgtatcgtacactcggtacaatt +acaaaggatggaagagcaaataggtcttcaattataacagtaccccaccttaatctaaaa +accagcttcaattagtattaatttcgccaggagtatatatataaatatctaaagactaaa +agactcgtacttttacaacttacgtcgtagcataattaaatcatgggtaaatgtcatcag +taagtgcattagaaatactcctttgtaaggatacagtgaatgtgtctcagcaagtcagta +gaaatggaaattcatactcgattaaggcctataaaactgttgttggtatctacagagtga +ttaaaattagtgaatcagattacgaaaatgttttcccgctcgcacttacgcgtttagaca +aaagtacaggtggtacaattggctgtagtagaattttggtataaaataggtgataaaccg +gatgggtgtgggcgaattcaaaagcggtttttgttccatagaactatgtagttggttata +aaggttgtaatctcggagattaggttagggcttaatcagaatagtaacaatttctctatg +taaagtacagtgggtgatcgtatgagttcacgaactcttaatgccatgcctggacaggat +aaacaatacgcatataacttgacgatcgagcttatatcgacctatttgagaagtttaacg +ggtcgatataatatacaggtcttaatagccgattttttctagaaaagcaatcctatatct +tagttaatcagatcaaccccgtgaacgatatatcagcaaactgaacattgtatacaacat +tcctttttgtccgggtggggactccatttaaagtatctcacctagaactcagcggtaata +gatgcagtctcttgcccagttacggtaactaaatgttgatacttagaattgctaaatttt +agtctagacatttccaggtaaaccggtagacgacaatttctctgtcatctgtcataagat +cgcttagtgtgctcaaattgcaattgagggccctactatagacaatcatcagacttttta +attaaatagttttccatgaatgtgttgtcaaggcggaccccttcacttttatcacggctc +ataaatgtcgtatgactgtagtcggtagcggccttcgagtcttcaggggaaatggaaaag +aaattaggcttctaagatggactataatcgattaggctaattccgttcgcaaatcacaga +agcaatcttactcaaaattgttggaatcgatagcgaacgcgaccgtgaatgtttaaaagt +gctcgcacagaattacccaatacctatcatcacgacttaaatacccaaagcagttgtagt +cgcgtaatagattaagtctgaagcctagagacaaagggatactgggcggggaaacctgct +ccttcacggtaacatggtaacaacagaatttggttaaggttaaaacgaaatatactcgga +gtgaattactgttaggtttcgtcatcggatcaataagtagtttccgtgaagacactctta +tattagatctccgaaattctgacccgtgcattaggcacttggtaggagattccatttgga +acttgctcaatgtaagccagtaatgttccgaaataattcgctgcaggagcgaggagccgc +tgaataaaggaccctcgcatcttgttaccttatggttgagggtcaccgttctctgcgtca +attccagagctggagatacattcatcaacgttacctacgcacagaataaaaagatcgagc +gctaactcgttttcctaaacacaacggatttagacaaattaccgaatgcgccggagagta +gcatcttagtgtcatgcctatcatggcggctcagtacgaagagttcaggcatcgaatatt +gtggtagcccgcactcaaagttccgccattaggtaagctatatattgtggtcagaacttg +aggacaactatgagctactaaaaataaacaattttgtcatttgttctagatatgtggcat +tcatcgaacgcttgtaccagaagttacattcgcagcgtgagcgaataaacccgaatgagc +gtaacattatcaataacatatagttcagatagagaacgaggtattcgacagagaattacc +caacattggttattaatctatgcagaataatttagataatgtcactacataatattagga +ccaaaaggtgattccccagaagacaaaacaataaacaatctcacatattcgctagtacct +atgtatgggtatgatcttctgattggacggggataatttccaggtatattaaaacttatt +accataatctagacctaagagaggttatataagtaaagagctgtgttccgatagaaaaac +ccgaccttaaagacttgcgaagtaaattttgctttaacaaaaaaacctacgtaagggaat +attctgtataaactgaaaagtcaggtgtaactacatgagtcatgtcttcgattaattaca +atgcgatctcgttattctgatcaactaatatcataaactgccactacatcttgtacaatc +attcgcaacaatacttttatgtgctaaggtcacgtgcttcctctgctatgctgatttaat +cagattcataaaggaatacgaataactctggatccattaccacgcaagggatttatttac +ggctgattactttttggctgttgacagaactgccatgaaagtaagatgtcgcatcttgca +taaataatagcacctaatatagccgacaaagtgattccgataacagattttaagttgtcc +agccttgagactccatgaagaccgcttgggagcttccccgtgattagaagaatctaaatc +ccaagtggatggggggagtttaaatctcagcaccaacaaatagtacttcctctcagagcg +cgtcatggtcgaaggagcctatcctgatagaggtttgaaagcgcacgcgcatttaactgt +catattaaattggaatctcgtaagtgtcggcagtacgacaaattttaactgatgtcggta +tacggagaagaaggaagcacgcattgaagcagctacgcagaactgagaagatgacactct +aagatacaattaatacaaaaacgttttaagcccaatctatcaacagatgtaagatgtcta +atacacaagaataaaaccttcatgtcccgatgtataataacagctttatttctgctggtc +gaggtgaagtagtggaaattactccatcttgctgcgcgtctttatagtgttggctactct +gtaaccgacgcgtccatccctctctcctagtgatccgtatatccaattagaggataacca +acatctgcgttaccgacgaatttaaatttttcgactatttaattccgttcaaacccgtat +tcgtagtaagtgtttcatagatttatgaccgacatcgtgtacgagttgcagtgcatatgt +agataccactaattgctgatctaggatacatgctttataaacatgcttacttggctattt +tatttactgtcatgtgggggtttttattttcaacaagtatgtgctaccattggataatct +ggcttcaaattgaagatatgcgttccaaacttgtctactgtttgctaagtaggagttgtc +ccattagaactacgcagcacgtggtttgtgatcgaaaagaataattggcaaatacgaggc +tagccttcaaatttaatgcagattactcctcagaaacacacgtaagcgacgaacgtgatg +tttactacacaatgcgtatcatagaaattcgtgataatttttgttccaacctttgaatct +agactgagtggaaaaagatttcaccgggataccgtttatgctggttttaaaaactcgtcg +aatcatcttataactgcattcaaatggatttctcaatcatctgtacgtcaactgttttaa +caataacgtcagaataaaccggcacaatgagacggcggtctttcactacaccacaccctt +aggattataagtgacgtgtggattcgaattctaaggtgacgggatctacaagcctcagct +acattaggtctgaagatctttcgtatagccgcgtatgttactgtttggatatgggttatg +ctaatcaacagttgacagcgagtgaaacggccttgcgacctgaaatctttacggttacct +tttgattcaagacaggatcgacgatggaccacgtgaaatgaattcaaaactgtaacatcg +cttgtgcctcagcgaccgagtaacgacaagttcacatcctctatgcaactatcattgtgg +tcattaaggtattcaagattaactaagagtcgaccatatattctagagttttacaattag +gaaccgttagtctagactaggagcgtgcaacatcgcaggaggtgtggactgtcttgaccc +aagttgcctgacacatagtgtcttttgcttcatgtccttagcaatgcgatacctcaatcg +tagttttatcgggataaataacatggtgtttaaccctattaatggtttctattaatctaa +attgtaaggcagcccttgggtcgaaagcacattaggccacatacacagtatgaaattgtt +cgagtgtccagaccataattgactaccatggtacacggtgttgctattatgactcccgca +aaactcttgacagagggaattttggtacattgatgtaatcgatgatttaacagtaggaac +tagacgtcatccgttagactgagttccgacatgctcaaattgtcaggatttttatccaat +aactaatggctctcacatgtaaataaaatcacattaacgtcacttagtgatggattcgct +aaacagatagactatcattcatgaactggcactgtttcgattatatttgcaacatcgaac +atacttaaagttaaatacgacatcattcaattaaaaaaattcagtacacctctaatgagt +atcccgctttggaggaaagagtagcactttaaatggacaatttaggccggactttcctgt +aaatggatgaagtcattgtacagcttgaataaatcgttagggttagtccttacatccacc +atatgttaatgaataaagcctgagggaccttagagctaacttgtccaacacgttgctcat +ttacttaataaggttgaaatgtatcagtaagtgacagcgagtgtagattttgaccattta +actgaccttcacagttttgtcttcagacgtcacttacaccataatgatgacagagcttgt +agatgcacacactcattcctagtgtaaatcaagtagtagctagattattataaagagata +ttttctggcgtcgaacgtaacacagagagagtataaggggcatgataatggcttatcaat +atgtgtaagaaaaagtttttaatatcatctaactcggtggaatgcacacttatggccaac +tgaccttgggacgagttaagataccataagaggttgcctgtaagttaagataacaaaggg +atattccatctttgtgtgctaagaacctatttatatttgcagccataaaaacctctgtgc +tatgcagccaccagagttatttatacaaagaaagagaccatttagatacgttaattctgc +ttgcgatttattaaacagacatttcacgtccaaccactacaaaagccctatcgcaagacg +atcattgtattatagcctatgcaacgtagctaagcggccgaggaatcataaaatatgaat +tgttacattgtttactacatatgatcacaatctttgtaaaaggttcgttcgtgatactac +catgtacctaactaacctgagatatatgcaatgacttatggggtcagcgcgcaacatccg +caaagcatagtaatacaaggtaggaaaacttctggatttcccaaggttataatgctctat +actgaccaagagatccgttacgactcgcaatgaatactctaagggcactcacaaagaaaa +ccactaattgataaatttcaatgataatatcctgaattgcatcgtgtatgagttacgaga +agtcgcatttaatgaattagtcatagaaatgtcatagcaggaacataattactatatttt +aacgatttaatcgtagttggagtcctttcccaaattatgtcatcagttccgatttagatg +ttttcgggcccttcttagtaaagaagttaatatccaagactagctcctcacccacgcatg +cacatattcgcgagaagtctgatagaatattcgacagaaatgcgactctagctcacactc +gttaactgatcaggtacttatagacaagtacgttatcagatatcgcttcggggcattgtt +gcgctacctttgtgcatagcagttttgaaaaattgttcaagacctgaacgggaaaatgat +attatttttttaggaggaataatacagtaccatgtaaatactcaaccaccttacgtactt +cttacgccgaacatatatggcacgtgttattcggctaacaaaactgttgtgccttttcta +taaggataagcagattcgttttaaacatatgacctgtaaactgggatctacaaaagaggt +acttaaaataaattgcgcaacggtttagatctgcggatctttggttaaagagcaccatta +gatgtgccatacttcctatcgcctgagcgagaatttagtctgaggaaccactcttgggat +ttaaaacaattcggttaggacacctactcggcggatgaagcaatacgataacattaaaag +tcgttcagtctaattttggtcgtagtacgatgagctgatggccaattgtatttttattaa +cagcactgaaacaaaatggagactttagactaatactaaagtctcaatgttcgtcgaacc +ttaaatgctcggaatgaggggatcttcggaagtatagcgccgaagtgtatctcattatta +taacaccagtgtacagacgacatctaattatggccagaaactgtcattgtgccattaaga +ggattagtagatagtctggaccgtggaatagaattttgaccaaattgaccagtcctgctt +gtagacagcgcgatctaaactgcacgagaatatacaagttggtggtgcttgtggctgagc +acgctaagatgcgtttgtttttacgattctagtgcttcttaacgcaattcagtcttctag +atccgctattccaacatcaatatctcaatttaaggtcaatatatataacaaaattagaca +gagcagctgacacttacgaagcatcgtagaaccgatatagtcgaccttatgatgatatgg +acgtgtccaagtccgcacttccgatgcatcttgacggtgaaccgaaatgaaatcttcatt +agggcccccatgtgtcaaaccactcgagtcccgtctctgaagtcaagtattactgcgaaa +aattcgtctactattagtttattatgaacttatgacgcttaaataaattaaacagtaagc +ctgggaaaatgttaaggcaggaatctttgtaacagttcataatgttgctaaagattatca +gaccccgtgaagacttcgggctttgggcttcgtaccgtagcataatacatctatatagtt +agaggcttgcgtgttgttgtgctattccacatatagcagctctgggcgactcttcaatga +aaatgaaaaatggtaacctggcgacctacttgttaagtcagtttaattcaaggggattaa +gtaccaagggtcgagtttctctgtatttattatactgtaggcaagaagcttttttggcga +gatttaagacttaagcctatggtaaaaatttgatagtgagcgactatagtaagagatttg +ggtggttagtaattaaaattctcctatgctaaatcaggcgtacaatctgagggtgcacat +ttctcgacgcgtgaaccttcaccgaaagcgtgtggattatacaaatttcaaacatattgg +cggggcacttatccataatagatttctgtttgtacgccaaactctgcctcacccctccat +aaattgtattggctagaggttaaattctccgtaaatagagacacatatagttttatacaa +ttgtttgaatcaaagcacgagaaacttttaaccgtacattgacaaatgtcttcggatggg +gcagagcatctcttcgtgacccaaatcaatcgctgagcaataagcaagaaaacacagatt +atacaaagagatctggatgaagatattcgtgcaatcactatcgttatgttagagagttcc +atgcatgaggactcgttttttgaccaggagaattaagccaagaaataactgacgtatttc +caaatgaattctacgtgtttttcctgtcacctttagccagtgttaaagatgactatggag +tttcgaataggttattctatagacattataacgagtggaacacccataccttcacagtgc +taaaggtaggaacgggtacgtcaggtagttcaagggattttaggttcttaatccaacgaa +gaaataacgcatcacccgtcattctattgttttcgtcgggattacttagtaggcagggta +ttctaacctacctgagttacaaatctttaaaaaactggccatgaggtcatggtgataaaa +tctgaatcgcctaaattcgcgtccctaaggaaatatactagaatccgtctcagaaagtgc +aaaggttgacttcttcccctaacacagaattctcagttttatagctatctagtggcattc +ctttttataaaactttacgtttgtaagggtccaactttacaaaagctcggatgtgtatgt +gtaatcttccgccgtgtaagacttggaacccatgtatattgacggcatggcgtggctaag +caggtattgatcttcagtgtaaagcaaggtatgttctaatctaacaatgtaaagccgggg +attagccgccaaaggggtctaatgacatagagatgctctgaaatcgtaccaactataaaa +gcacgggatttgaaatatagcgacagatcttccgtattctgttagttgacatctgtgctg +tctttaccgattgtgatttggctttagcagtcatttagtttcgttactcattgctcgtgc +gatagttccaccgaatatggcacattcgttctttttttccattttactgcaaaccttttc +aaaagctgatcgataccactgatgatggcattgattagtcgattggcaactatgtcctgc +ttatatctccaattgcattgaatatagtaaaaaataaaggctcgccttcccaatgggcta +cggagtacacgaaaaaatcgcaactcgtttaaccaagcgccgtacctaacatataagtga +ttgagacaaatagttctccagacgtattgagatatatgtctcctataggcaagcgtttct +aattgctgaccagaaattagaattaggttgttaatactatattcgaccattttattccac +gaatgtgctattctactggtattgctccgtatgcgatatataaccaacacggaaagtcgt +cgattgcaaagtggctccgtagaatcatttctggtcatttaccgggagcgcgcttgaaca +atggatgcggtatctgccatattgttattgttaaaaagacttccgcttactatcgcttcg +atcatcggaaaaatattaatgaggattgggtcgtataagaaaatcatcttttcagttcgc +agatttttgccaatttaaccggttatttcgtcagacttggtagtgtagttacaagcatca +cgattatatcagctacagaattaaactgtcctgactcgacggggcagtgtgtgagtattg +cgctatatattcaaggtaacaggaggcatataggtcatagtacaaggataatgaggtttg +ctaactttaaaaattattgatttaacggttgattgaaaatctctgcaagatgacgctaga +acacctgatgttcaagtttgccgataataacatataagatgaattactgtctttagaccc +tcatgttaatccgctaacttagggcggaaacaatgttaggctatgcggagtaagtactat +attatgataccacatagaatttaacattcatatgatgtctaatacccgttcccaaccttg +caaccgtcccgattaattaagcaattacggtcatcaatgggccaatcctgtctcaaaaat +tatcatattcaaggttcagctattttggcaatgggtgagtaccgttcttagtgatttacg +aacccataatctaggcgacttaatatacaagatttagagttacgttttccgggtagtaca +tattaacgaccatggatcgggtgaggtgttgtattagttatctgatcttgtcagtagctc +ccaatgtcccagaatattatgtttctactagagtgttcgtatactggaatttaaatatta +tgtaagactagacaaattttatggatacattaggccatcgtagaatatgatatagttgta +acgtccctctatagattttcggagggcaggtatattgcttaataaagatgttcggaaatc +agcggaaaggatttgtaattaactgatgcgcagcgcttaaataagtttagactattaagc +tatatgttcgacagcatgtagttttttttaccagaaagtgttatactgatgacccatgga +ggtagctcctcatgataaaaatattgttacttaagcattactattatagtgttcaaacta +gtaccgttgcatactttaagaatcagacatggcgtttcttatgcagacacacttttttag +ctgttgacgcccacctcacatccatagtaggtcaatcgcataagaacaatattctggact +gttttattacccagaagaaagttttttctttccggttcgttaagacaataaagatcattt +cattcgttctcttaacgatgaactaaagtacttaaagtatccgcctcttgtttcgactag +cgcatagtgtaataattaaggcaagataagaagaacaggaacgcgcacgtcggagataac +tctaatagtctctttattccgtttaatatagcccgtaattgcaccatgcgctacagtaac +ggccgccttcgcaaacctatttatgtaattccaagtttaggtatgcaatggttggggcaa +tgtgaggggttttatcaagactttcgttgcttcgcggggggcgcaaagcagactttacag +tagttaaccgaaaaccgcagggagtcgctctaagtgttaccaacccctcactactacgcg +aaggtactcgattattccttgaatgggctgaaacatcgtgattagcgtcttatgattcag +gctgatagaagaaaacttattttctatattccacgtatacaatcacactcgtaactaaat +agttcccagcgttgtaatgtcgctataataaataaaatacaaagaaaattcgtctgggtg +cataagtacagttagtcgtctgtcacataaataatccgcagtcgatctcattacaggtat +tgttgttggtcaaccttcgcaaggtggtccaagtagcattgttgaacagtaaaactaccg +tcacacaaggaatatcataatagatgccatacacggttttacttgatatgtttacagtcc +ttgagttgcaatcgtagtattgtttcatccggggtgtgtacgaagtaatttagacaaggt +gtgtagcggtcactaggtaaaatgacttaggatggatgagcatttaggtattctatgata +acactaaccatcatgtttctaaaatcctcaggaaatttgtattattttaccaacctgtat +ttatagaaagtgcttttgacttaaagaagccgaagtgttcaaattaaggagtacctgatt +gaaagaatggggaattgtaatctgtaactcaattacaaataagccgttctaaggattaag +gctttgtgtctaagcaactcacgtgaattcgaaattcatactcgattaacgactttaata +ctcttctgcgtatctacagactcatttaaattacggaatatgttttcgtttttggtttcc +agctcgcacgtacgcgtttacaaataaggacacctggtacaattggctggagtacaatgt +tggtttttatttgctgattatcccgatccctgtgggcgttggcataaccgggttttcttc +aagactactttcgtgttgcttatatacctggtaatatcggtgagtagcttagggcttaat +cacaatactaacaagttctctatggattggacagggcggcatccgttgactgaacgatct +attaatccattccctgcactggataaacaagacccatttaaattgaccatagagatgtta +gcgtcatatttctgttcgtgatagggtacatatattataaacggattatgagcagtggtt +ttctagaaaagcattcatagttaggagtgtatcagatcataccactgaaccatagagcac +aattctctactggctatacttcattcctttttgtccgggtggggacgaaatttaaaggtt +ctaacctagaacgcagagcgaattgatcaaggcgctggccaagtgaacggttctaaatgt +tcttaatgagaattgcgtattttgactattgacagggcatcgtaaaccgctactcgactt +ggtatctgtaatctgtatgtagatagagtacgggcctataattcaaattcagccaccgaa +gattcacaatcttcagacgtttgaaggaaagaggtttactggtatgtggtgtcaagcccc +acccattctctgttatatccgagcattaatgtagtttcactgtactacggtcacgccgta +gagtcggcagggcaaatccaaaacaatttaggctgagaagtggcactataatagtttagc +ctaagtcccttcgctaataactcaacaaagatgacgcaaaagtcggcgaatagattgcgt +tcgcgtaagggtatcttgaatactgatagctctcatggtaccaagaactttcataacctc +tttatttaccaaacctgttctactagcgttagtgttttagtctgtagccgacacaaaaac +cgagaatggccggcgtaaccggcgcctgcaagctaacatgggatcaaaactattggctta +acgtttaatcgaatgagactagcactgtattactctttcgtttcggcagcggatcaataa +ggaggtgacggcatcactctcttatagtagatatcacttattctcacaacggaagtagga +tcttccgtcctcattaaatttgcaactggctcaatgtaacactgtaatgttaacaaagta +tgagctgaaggtcagagcagacgatgtagtaaggtccctcgaagctgcttacagtatcct +tgaggctcaacgggctatgcggaaattccagacctcgagttacattatgaaacgtgtcat +tccatctcattaaatagttcgtgccctatcgccttgtaatataaacaaccgtttttgtct +attttcccaaggagaaggagagtagcagcttagtggcttgcctatatggccccctaagta +cgtactcggcacgcttagaagattgggctaccccgcactatatgttcccaaagtaggtaa +cctagatagtgtcgtatgaaattcaggtcatcgatgagagtataaaaatatacaattttg +gcaggggttatacattgcgggcatgaagagtaacattggacatgaacggacattcgaacc +ctgtgagtttaataccctatctccggatcattataaagtaaatatacgtcacttactcta +cgtgcgtttagacagtctttgaaactaaattggttatttttctttcatctagatttgtct +gtatctaactaaattatagttccacataaagctgattcaactgaagacataaatataaac +tttctaacatagtagcgaggaaagagctatgcctagcatcggatcatgcgtccgcgagta +gttcctggtagagttaaaagtttttccagaatctagaccgaacacagggtagtgaacgaa +agtgcgcggtgaacatacataataccgaacgtaaacaattccgttcgtattgttgctgta +tctatatttcctacgtaaggctatttgatctataatatgaaaagtcacgtcgaaataaat +caggaagcgcttcgagtatgtacattcagatctccttagtatcatcaaattatagatttt +acggccacgaattattggtctagatgtcccaaaaataatttgatgtcagtagcgatcgtg +cttcctcggagttgaggttggaagaagagtcattatgctataccaagaactctccatcca +gtacctagaaaggcaggtatgtaccgctcattaattttgcgatcttgacagatctgcatg +caaagtaacttgtaccagatggcttttataatagaaactaagtttcccgaataacggtgt +acgataacagatttttaggtgtacagacgtctgactcaatgaacacacattgggacctgc +cccgggaggagtagtagataattaccttctccagcgcgggtcttttaatatcacaacata +aaaatactaattaatatcacacaccctcatcctcgatggagcctagcatcatacacgttt +gatagacaacgccaattttactgtaatatgatattcgaatctagtatgtggacgctgtac +cacattgtttaaaggagctccctttaccgacatgaacgaagcaagctttgtacaagatac +gaagaactcagtactggtaactataagagacaatttatacataaaagtgttaagaccatt +atataaaaagaggtatgaggtctttgtaactacaataatacattcatcgaacgatggaga +ataacagagttatttctgctgctcgagctctagttctgctaatttctcaatcttgatgcc +actcgtttgagtcttccattcgctcttaacgacgcgtacatccctctctcctactcttac +ctatatcctattactggttaacctacatctccgggaaagacgtaggtaaagtggtccacg +attgtattcacttataacacctagtagtactatgtgttgctgagagtgaggacacactta +ctctacgagttcaagtccatatggacattacactttttcagcatctaggtgtcatgatgt +attaacagccgttaggggctatttgattttatcgattgtcggcgtgtgtattttcaacaa +ctaggtgctacaattcgtgaataggcatgaaaattcaagattgcagttcctatcttgtat +aatctttcctttggacgagttgtaccatttcaactaacctgcaagtggggggtcatccat +atgaagatttgccaaatacctggagaccctgaaaagtttatccagattaataataacaaa +caaacctaagcgaagaacgtcagctttaataaactatcactatcatagaaattcctgtta +attgttcttccaaacgttgaatagactatcacgggtaatagattgaacacggagaacgtt +tatccggcttgtaaaatatcgtcgaatctgctgataactcaattatattcgatggagaat +tcatatctaccgcttagcttttaaaaattaagtcagattattccgccacaatgagaaggc +gcgagtgcactaatcaaatcacttaggattattacggacgtctgcattacaatgctttgg +ggtagggttatacaagcatatgattctttaggtctcttgatcgggcgtttaccaccgtag +cttaatgttggcatatccgtgatcctaatattctgttgtcagcgtgtgtataggaatgca +caacgcaaatctttaagctgacctgttcatgaaagacaggagacacgaggcaccacctca +attctatgcaaaactctaacatagcgtggcactatgagtacgtgtaacgacaaggtctca +tactcgatcctaagataattctcgtctggaaggttttaatctttaactaagagtagaact +tagtttattgacttttacaattaggatacggttcgcgactctaccacagggcatcatacc +tggagctctgctatctcgtgaccaaagtggcagcacacatagggtcgggtcctgcatcta +ctgagcaatccctttaagcattcctagtttgagagccatttagatattgctgtttaaacc +gattaatggtttctattattataaagtgtaacgctcccattcgggacattgaaaattagc +aataagacaatgtatgatattcggcgagtctcaacaacattatggtctaccatgggacaa +ggggttgatatgatgaatccacaaaaaatagtcaaacacccatggttcgttaagtgaggg +tatccaggtgttataaggacgatctagaagtattcaggtacacggtgttcagacatgctc +taattgtcaggttgtttataatttaacgtatcgctctctattctaaataatataaaatta +accgctcgtagggatgctttccagtaaaagatacactatcattaaggttatgcaaatgtg +gcgatttgatttgaatcttagtacattcttaaacttaaatacgtattatttaaagtaaat +atattatctaaaccgcttttgtctatccacatttcgtcgaatcacgacctcgttaatgcg +acaatttacgaccctctttcatctaaagcgatcatctatttcttctgattgatgtaatac +tgacccttactccgtacatacaaatgatggtaagcaagaatgactgacgctcctgtcacc +tttcgtggcaatcaactggcgctggtactgaagtagcttgaaagggatatggatgtgtat +gccaggcttcattttgacaatttttctgtcctgctcagtgttgtctgaagtcgtatcgta +cacaataatgatgactctcattgtagatccaatcacgctttcctacgctaatgaaagttc +tagatagtgtaggtgttagacagaggttagcgcctacatccttacacacacagtgttgaa +cggcaagcataatcgagtatcaatagctgtatgtatttgtttggaatatcatatttctcc +cgcctttgaacaatgatgccaaaatgtcctgccctagagttatgataaaataactgctgc +cctgtaacttaagtttacaaaccgatattcaatcgttgtgtcctatgaaaatatttatat +ttgcaccaagaaaatcatctgtgcgatgaacaaaacacagtgatttataaatacaaagag +tacatttagttaccggattgcggcttgacatttattttacagaattttatcggcaaaaca +cttcatatgaactatcgcttcacgataagtctatgatagactagcattcgtagagaacag +gaagagcaatcattatatatgaagtgttacagtgggtactacatatgagatcattaggtc +tatatccggccttcctcataagaccttggaaatatcttacatcagagatatcaaaggaag +tatgggcgaacccagaaaaagccccaaagaatagtaattcatcggacgtaatagtctggt +tttaactaggggttattgatatttaagctaaaagagttccctgaacactcgaaatgtata +atctatcccaactaaaaaagtatacctctaattcagaaatgtcattgagattagactgat +gtcaatacgctaggaggtaagacaagtagaagtttttgatttaggaattgaaatgtaata +cctccatcttaagttctatattttaaagttttatgcggacttcgagtaagtgcacaaatg +atggcataagtgcccagttacatgtttgcggccccgtatgagtaatgatctgtttatcaa +tctctagctactatcccacgaatgcactgatgccagtcatggcgcttacattagtcgaca +gaaatccgacgatacctatcacgcgtgaactgttctggttcttattcaattcgaagtgat +ctcagatacattacggccatgcttgcccttcatgtctgctgagcagttttgttataggct +gaatctcctctaagcgaaattgataggatttttggtggtcgatttagtctgtacctgctt +attaagattcaaaatgacctacttcttacgccgaaatgatagggatcggctgaggaggat +aaatatacgctggtgcctggtatttatccagaacaagttgcctgtgtatcagatgaactc +taatctccgagataaaaaacaggtacgtaaaataaaggccgcaaagggttacatctcagg +atcgtggcgtatagtccaccattagttctgacttacttaatatagactgaccgagattgt +agtatgtggatccaagcttgccatgtaaaacatgtcggttagcaaaacgtataggagcat +gatcaaagaagagttaattaatagtactgcactataattgtcggcggagtaccatgagct +gttgcccaattcgatgtttattaacagcacgcataaaaaatccagacttttcaattagaa +ttaactataaatggtccgcgaaccttaaatgatcggaaggacgggatctgccgttgtata +gaccccaactctatctaatttttataacacctctgtaatcaacaaatcttattatgccat +cattatgtcattcgccaagtaagtccagttcgagattctctggaccgtgcaatagtattg +tcaaattatggtaatggaatccttcttctaacacccttagaaaagccacgagaattgaca +agttgggcgtgcttgtccaggagcaacataagtgccgtttctttttacgatgatagggat +tcttaaagcttttctctattctagatcccagttgccatcatcaatatctcaattgatgct +cattatatagttcttatttagtatgtccagatgtcactgaagatcctgcctagaaccgat +attctcgacaggatcatcagttcgacggggcaaacgcacctatgcacatccatcttgacc +gtgaaacgaaaggaaagagtcagtaccgacccaatgtggaaaaaaactcctgtccacgat +atgtaggcaagttttactgcctttaattagtagtcgattagtgtagtttgatattatcta +ccttatagaatgtaaacagtaacccggccttaatggtttggcaggattctttgtaaaagt +taataatgttcataaactttatcagaaaacctgaagtagtccgcctttcgcctgcgtaac +gttgcagattaattcgttttacggagtggcttgcgtcttgttgtccgagtacacatattg +ctcctctcccccactcttctaggaaaatcaattatgctaacctgcagaccttcttcttta +ctatctttaatgcatgcccagtatgttcatagggtagacttgctatctattttgtataat +ctacgaatgatgcttggggcgcgacttttaacaattaagccgttgggtataatttgagag +ggtgccacgatagtaagagatttccggcgtgagtaaggaaaatgataataggattaagca +ggcgtaatagctcaccctcctcagttctccaaccctgaaccggctaagtatgactgtgca +gtattaattttgaatacatattgcagcccctaggatacattatagatgtctctttcttac +ccaaactcgcccgcaccaagaaagaatgtggattcgattgaggttaaattagccggaatt +acagacacagattcttgtttacaattgtgggaagaaaaccacctcaaacgttgaaaccta +cattcacaaatggattacgttggggatgagaatcgattccggtcaaaaatcatgcccgga +gcaataaccaagaattcacagaggattaatacacttctccatgaagataggactgcttgc +actatccttatctttgtgtcttccttcaagcaccaatcgtttggggacaaccacaattat +gccaagaaataacggaaggtgttccaaatctatgagtccgcggtttcatcgcaacgtttc +actgtgggtatcatgactttggactttagatttgggtattctagagactgtagaaagact +gcaacaacaagacattcacagggcgaaacctaggaaaggggaccgcacgttgtgctaggg +atgtttccttaggaatccatacatgtaagaaagaatcaaccgtaattatagtgttttcgg +ccccttgaattacgtgcatgcctttgctaaaagacctctgggaaatagattgaatattct +ggacagcagcgaatcctgattatatctcaagcgaatatatgacccgcaagaaggatttat +actagaataagtctaagaaagggcattgggtcacttcttccactaacacacttttatcag +ttttataccttgagagtcccatgcatttttatatatatttaactttcgttgcgtaaaact +ttaaatatgatccgtgctctatctctaatctgaacaacggtatcacgtcgaacaaatcta +gtggctacgaatcgcgtcgctaagaacggtttcttctgctggcgttagctacgtatcttc +tatgctaaaaatgtatagccccgcattagcagcaaaaccgggagaatcaaatacacatcc +gatgaaatcgtaacaaagataaaacaacgcgatttctatgtttgccaaagtgattaagtt +gtatcgtaggggtcagcgctgatgtcttttcagtttgggttttggatttaccagtctttt +agtttcggtactatttgatcgggacattcgtccaaacatgatggctcattcgttcttttt +ttcaattttaatcaaaaccttgtatttacctgatacattaaactgagcatcgcatggagg +tggagattcccatatatgtaatcatttgatatcctattccattctttttagttataaata +aacgctccactgcacaatgggagtaggacttcaccaataattagcatctactgtaaacaa +gcgccgtaacgaaatgattactgattgagaaaaataggtctcaacaacttttgacagata +tgtatccgatacccaagcgttgctaattgcgcaaaagtaagtagaattacggtcgtatta +cttgttgccaaatggttattactccaatgggctattctaatccgatggatacgtaggaga +gagtgtacctacaccgaaactcgtagtgggcttagtggctacgtagaagctgttcgggtc +agttacagcgtgcgaccttgtaaaatcgatcacggtgatgaattattgttattgtttaaa +agaagtcccctgaatagcccttagataatacgaaaatttgttatgtccagtcgctcgtat +atcaaaagattcggttaagttcgcagagttttgccaagtttacaggtgatttactaacac +ttgggagggtacgtacaaccatcacctggttagcagagaatgaattatacggtcatgtcg +cgaagggcaagtgtgtgagtattgaccgagttattaaacgtaaatgcaggcatttacgtc +ataggacatcgagtttgtcctttgcgaaatgttaaatttatggttttttccgttgagtga +taatagctgcaacatgaagatagtaaaactgaggttaaactttcaccatattaaattata +tgttcaattacgcgatgtacaaactaatgttaatcagatttaggagcgcgcttaatatgg +gtccctatcccgactttgtacgagattttgataaaaaatagtattgtaaattcatttgat +ggcgtagaaccgggcaaaaccttgaaaaaggacacatttaggatgctatttccctaagaa +agcggaaaatcctggctcaatatttataatagtaatggttaagattgtggcccaatcgct +gagtacccgtcttacgctttttccaacacataatcgacgagaatgtatttaaatgtttga +gacttacgttttccgcgtacttattattaaagtcattggagagggtgtcgtctgggtgta +gttttctcatctgctcaggagctaaaaatgtaaatctattggttgtttctaattctgtcg +tccgtgtaggctatttaatttttatggtacacttgaatatgtttagccataatgtagcca +atactacaatatcagatacttgtatacgacctatagacttttgccgaccgctcgtagagt +gatttagaaagatgttcggatagcacagcaatcgtttgcgaatgtaagcatgcgaagcga +gtatttaactgttgactattttgctatatgttactctgaatgttgttttttttaccagaa +tgtgttataatgatcaaccatgcacgttcctactaatcatataaattttgttacgtaagc +ttttctatgatagtggtctaaagactacccttgcatactttaagattaagacatgcactt +taggaggaactcacacgttttgagctgttctagcccacctataagccattcgtccgcaat +cccataactacaatagtcggcaatcttttattacccagaactaacgtttttatttcccgg +tacgtatcacattaatcttaatttaatgcgtgagagtaacgatgaacgaaagttatttat +gtttaagccgcttcttgagaatacagattactgttagaatgaaggcatcataactagaac +accaacgcgcacctcgcacattactctaatagtagctttattcagtttaatatagacagt +atttgaaccaggcgctaatgttaaggcccccttcgaaaaccttgttatgttattccatgt +ggtcggaggatttgcggggcgatagcgctgggcggggatcaacaatttcgttcatgcgag +cgcccccataaccagtaggtacagttcggaaaagaaaaccccacgcactcgctagaagtg +ttacaatcacatcacttcgtaccgaagggactactgtattccgtcttggggatgtaacag +actgattacagtcttatgatgaagcctcattcatctaaaattagttgatttattccacgg +atactatcacactcctatagaaagagttaccaccgtgggaagctagatataataaataaa +agacatacaatattagtatggctcatgatctacacttactcggatctctctttttttata +accagtagatcgcattacacgtattgttgttccgcatcaggccctaggggctcaaacttc +catggtggataactaaaacgtccgtcactaaacgaagatattaatagatgaaatacacgg +gtttacttgatttctgttcagtcattcacgggaaatcctaggagtctttcataacggcgg +tcttagtaggaatgtagtcaagctctgtagaggtctcgacggaattggtatttcctggca +tcacaatttacctagtattggagatcacttaaaataatgttgagataataatcaggatat +ttctagtatgtgacaaacctctatttagtgattgtgattttcaattaaacaagacgtagg +ggtcaaattaacgactacatgttggaaagaaggccgaattgtaatatctaactcatgtac +taagaagaagtgctttcgtttaaggctttctgtctaacattctaacgtcaattcctatgt +aatactactgtaaccaagttattactcggctgcgtagataaagtctcatgtaaatgacgg +tttatctgttacttttgggtttcaacctagctaggacgccggtactaattacgacacctg +cgtatagtgcagggtgttcaatgtgcctttttatgtccggattataaccatccctctccc +acttggaatatcaccgggttcttaatgacttagttcgtcttccttattttccgggtaaga +tcgctgtggaccggacccattttgatctagtctaaaaaggtatatagcgtttcgtctggc +ccgcttacgttcactgaaacttagattaatcaatgcactgcactggattaacaagaacat +gttatagtgtactgacacatgttagactaagaggtctgttcgggttagccgacttatatg +tttaaccgattttgacaactgggttgagagataacaatgaagagtgaggactgtagaaga +tcttaaaactgtaccatagtgctcaattcgctaatggcttgaattatttaattgttctaa +ccctggcgtcgaatttttttggttcgaaaatacttagcacagcgtattgttcaacgagat +gcacaactgtaccgttagaaagcggcttaatgacaaggcagtattgtgactattgacagg +gaatcctaaaaagctactcgaattggtatatggaagaggtatgtactgagaggtcgcgcc +tattagtcaaattctgccaaagaagagtcaaaagcttaactagtttgatggtatgaggtt +taatgctaggtggtctataccaccaaaaagtatatgggatatcccagaatttatcgactt +tcaatcgtctaccgtcacgacgtacactaggcagccctaatccaaaacttttgaggatga +gtactgccactattatactgtaccatttgtaacttacattttatatcttcaaagaggtag +atattgtcggccattactgtcacttacactaagggtagcttgattactgatacctctcat +ggtaaaaagtaatttaagaacctatttttttacataacctctgctactaccgttagtgtt +ttagtcggttcaagtcacaaaatccctgtagcgcacccctataagcagaaggaaacctta +atgcggataaaaacttttgccggaaccgttaatcctatgagaataccactcttggaatcg +gtcctttaggctgaggatatagaacgaggggaacgcatcaatctaggttaggtgagagaa +ctttgtatcaaaacgcaagtaccatatgccgtcctcagtaaattgccaaatgcagaaatc +ttacactcttttcttaactaagtatgagagcaacctcactcctgaacagcttgttaccta +acgagaagaggctttaagtagcctggagcctcaaccggatatccggatttgactctcatc +cacttacatgatgattacggtcattacatctcatgattttctgagtgccctatagactgg +gaatttaatctaccctgtttctatttgttaacaaggagaaccactggtcaagatgacgcg +cttccatttatgccaccataagtaagttctcggaacccttacatgattggcctaccaacc +tatatatgtgaccaatgtacggtacatagagtgtggcctatcatattcaggtcatcgagc +tcagtatttaaagattatatggtcgctgggggtattcagtgcgcgatggaagactaacat +tggaaatcaacggaattgacaacacgctcactttaataacctatctcaggataagtttaa +tgtaattagacggaactttctctaactccgtgtactaactctttgaaaataatgtgggta +tttttatttcatctagatttgtctgtatcgaaagaaagtattggtccaaataatcctcag +taaaatcaagtcataaatataaaatttagatcttaggacagaggaaagtgctttcccgag +cataggatctggcctacgccagtagttcatgcttgtgttaaaagttgttactgtttatag +tccgtactcagggtagtgttcgatactcagcggggaactgacatattacactaaggaatc +aaggcccttcgtatgggtcatgtttatatatttaattacttacgctatttgatcgagaat +agctatagtaacgtcgtaagaatgcaggatgcgattcgagtttgtaaattcacagatact +gtgtatcatattattatagatgttaaggcatagaattattggtattgatgtacaaaaaat +tatgggtgggcagtaccgataggcattacgagcagtgcagcttggaagaactggatgtat +cctataactagtaagagccttaaaggtactacatacccagggatgttaccatcattaatt +tggccatcttcaatcttcgcaatgcatactttcttctacaagatgccttttagaagacaa +aataagtgtcaacaataacgctgtaacttaactctgttgtacgtggaatcaagtctcact +aaagcaactaacattccgacatgcaaacgcaggactactagattattaaattcgccagcc +cgcctcgtttaatataacatcataaaaattctaagtaatatctcacacactaatccgcca +tcgtccatagcatcagtcacctgtcttacacaaacacatgtttaatcgatgttgttatgc +caagctagtttcgcgaccatgtaactaattgtggaaagctgctaccttgaacgacatcaa +ccatcctacctttgtacaacagaccaacatctctgtactggtaaatagatctgaaaagtt +ataaatataactgttttcacattgatagaaaaacagctatgtgctatttgtatatactat +aataaattaagcgaaacatggagattaaaacagtgttttctcatcctccacctcttgttc +tgctaatttataattcttgatgccactcgtgtgagtcgtccattcgatcgtaaagaaccc +gacataaatagatacgacgctgaacgagatcctatttctcctgaaaattattagcacggt +aactcctagggatagtggtactagttggtatgaacgtataaaaacttgtactactttctc +gggatgtgagggagcaaactattactcgaccagtgcaacgcattatcgacagtaaaagtt +ttcagctgatacctgtctggatggattatatgcaggtaggcgagagtggattgtagcgat +gctcggcgggggtattttaaaaatctaggtgataaaagtcctgtttagccaggaaaagtc +atcattgcactgcatatcgtcgattagctgtcatttcgtccactggtaccagttcaacgt +acatcaaagtccgggcgcatccatatcaagttttgcaatagtactccagaccatgaaatg +gttatccagattaataataacttaatatactttcactacatactcagcgggtattaaatt +tcactttatgtcaaaggactcttatgtggtcttcaaaaaggtctagagtctatcacgcct +aattgtgtgaaaaccgagtaacttgatcagccttgtaaaatatagtagaatatgatgtta +aatcatttatattccagggagattgaatagcttacgattagctggtataatttaactcac +atgattaagcaaatatctgtaggaccgagggaaagaataaaataaagtaccatgagttcg +gaacgctgcattacatggcgttgggctagcctgatacaagaagatgagtatggagctctc +ttcatcgggacgtgacaaccctagcgtaatcttggcagatcccggagcagatgattatcg +tctaacactgtctttaccaatgcacaacgcatagatttaacctgaactgttctggattca +ctcctgactacagcctacaactcatttctatgcataactcttaaagacagtcgcaatatc +agtacctctatacacatcggatcagactagatcataagataagtctcctctggatccttg +tattctgttaagtacactacaaatttgtttagtgtctgggacaattacgataagggtcgc +gactagaccacagggcatatgacctccaccgctcctagcgagtctccaatctgcaagcac +tcatacgctaggggcatgaatcgactgtcaatgcactgtaagatttacgagggtgagacc +catttagatatgcctcgtttaaccgttttaggcttgataggatgagtttgtcgatccatc +aaattcccgacattcatattgtccaataagtatatctagcttattcggactcgctaaact +aaattatggtataaatgccgtcaaccggtgcatttgttcaatcaacaaattatagtcaat +ctcccatggggccttatggcagcgtatacagctggtataacgaccatatacaactatgaa +cggactagctgtgaactaagcagattattggatccttgtgtataattttaagtttcgatc +tatatgctatagtatagaaaatgttccgatcgtacgcttcctttacagttaaacagtcta +tatcatgaagcttatccaaagctggacatttgatggcaatcttacttaattatgaaactt +aattacctattattgaaagtatttatatgatcgaataagatttgctctataaacaggtcg +tccattcacgacctagtgattgcgtaaattgaccaacctaggtaatctaaagcctgcatc +tatttcttatcattcatgttatactgacccgttctcagtacttaaaaatgatcgtaagca +agaatcactcacgctcatgtcacatttagtcgaaataaactgccgatgggaaggaagttc +cgtcattgcgatatcgatgtctatcccacgcgtcattttcaaattggttatctacggata +actgtgcgatgaactactataggtcaaaattatcttcaatctcattctagatcatataaa +gatgtccttcgcgattgatacgtctacagtgtgttggtgttacacagagggtagcgacta +cttacttactaactctctcttgatccgcaagcataagccaggttaaagtgctctatcttt +ttctgtggattataatagttataccgccttgcatctaggtgcccattaggtaatgcccta +gtgttttcataaatttactcctgccatctaacgttactttaatttcccagattcaatagg +tctctcatttgaaaattgttatatgtcaacaaagaatataatagctgagtggaacaatac +actgtgagggagtaatacatactctaaattttctttacggtttgcgcctgcacagttttt +tttatctatgtgatccgcataaaaagtaatttcaacgttccattcaagttaagtcttggt +gacactagcattaggagagatcaccaagaccattatttatttagctagggtttaagtcgg +ttagaaatatcagataatgaggtctttatccggccttacgcagtagaaattggaaatttc +gtaaagcactgagttcaatggaagtatggccgaacccacataatgcacaaatcaagtcga +tttcttccgtccttttagtctcctgggaactacgggttattcatagttaagctaaatcag +ttaacggaactagacaaatgtataatagttcccaaatatatatctataaatcttatgcag +ttagggaatgcagatttgaatcatggcaatacgctagctcggaactcaactacaagtgtt +ggatgtacgaattcaaaggtattacatccttatgatgttcttttttggatacttttatga +cgacttccacgaagtgaaattatgttcgaatatctgaacagttacttggttgagcccaag +gatgacgaatgttctgtttataattctcgtcataatataaatacaagcatatgaggccag +tcatggagctttcatttggactaacatttccgtagagtcatatcacgcctgtaatctgat +ccgtctttttctattcgaagtgttatcagatacatgacgcccttgcgtgacattcatggc +tcctgacatcgggtcttttaggctgaatctaatctaacccaatttgtttggattgtgggt +cctccattttgtctgttaatgcttattaagattaaaaatgtactacgtatttagacctaa +tgattgcgatacgctgtggaccattaatataagctgcgccaggggatttttccagatcat +ctggcctgtgtatatgttcaaatctaatagccgagagaaattactccgacggaaaataaa +ggcagataagcgtttcagagcaccatcgtggcgtttagtcaacctttagttcggaattta +ttaatatacaatctcactctttggacgagctccttaaaagatgcccttgtatatcatgtc +ccgtacctaaaagtataccagcatcatcaaagaacagttaaggaatacgactgctctata +attgtccgaggagtaccttctcatctgccaatagtcgttgggttggaaaacaacgcatta +atatgccacacttgtcaattagaagtttctataaaggggacgagtaactgatttgagacc +tagcacggcagaggacgttcgtgtgacaacatctctttataagtttgagataaaatcgct +aatctacaatgattatttgccaatcattatcgaatgcgcaaagtatctcctgttcgtgat +tctagcctaaggccattactatggtcaaattatgctaatcgaagcagtcttctaacaccc +ttagaaaagcaaacactattgaatactgccgccgcattcgccagcaccaacataactgca +cgtgcttttttccatgattggcattatgaaagatttgatctatgattcttaccagttgca +atattcaatttagcatgtgttcctaattattgtgttattatggtctatctcatcatgtaa +atgaagatcatgacgtcaacacagattctagtcaggatcatcagttcctcggggaaatcg +cacctaggaacagccttatgcaaccgctaaacaaagcaatgaggatgtaccgacaaaagc +tcgatttaaaagcctcgaaacgagatgtacgaatcgtttactgccttttatgaggagtcg +agtactgttggttcatatttgctacatgattgtatgtaataacgatcccgccctttatcg +gttcgatcctttatggcgataagttatgaatcgtcagtatctttagatcaaaaactcaac +tagtacccagttccccggaggaacggtcatgattaatgcgttttacggtctcccgtccct +cttcttgtcagaggaatcagtttcatccgatcccactcgatgattggtatagctatttgc +cgaaaagccacaacgtattcggtactatcttgtttgattcccctgtatcttaattcgcga +cacttgatatcttttgtgtttaatcgacgaatcatcctgggggcgacacttgttacaatt +atccagttgcgtttaatggctgtgggtcacaagattgttagacaggtcccgcgtgtcgta +ggaaattgataattggagtttgcaggacgaatagctcacccgcctaagtgatccaaccct +catcaggataactatcactgggcagtattatttttgatttcatatgccaccccctaggag +actgtagtcatgtatctttcttacccaatctagcccgaaacaagaaagaatgtcgattcc +agtcaccttttattagaccgatttacacacaaagtgtcttggtttaaaggctggcatgaa +tacatactcaaaagttgaaaacgacttgctctattcgattaccttcgcgatctcaatcga +ttacgctaaattttaatgcccgctgaaatatccaacatttaaaacaggattaattctctg +atccatgaacttaggactcattgcacgtgacttatctttctctcttaattcatgctccaa +tacggtgggctaaaccacttttatcacatgaatgtacgcaacgtgttaataagctatgag +tacgcgggggcagcgaaacgggtcaatctgggtatcttctattgggacggtacatttcgg +ttttatagactatgtagttacacggcatcaacatgtaattaaaacggcgtaacctaggaa +agccgaacgcaccttgggattgccatgtgtccggaggattacatacatctaagaaacatt +ctaaactatgtatagtcgtttacgacccttgtagtacgtgcatcccttggcgaaaagtac +tctgggtattagagtgtatattatcgacagcaccgaatcctcattttatagcttgacaat +ttatgacccgaaagaaccttttataagtctataagtatatctaacgcaattgcggcactg +agtccactaactatctttgagcagtgttatacagtgagacgccatggaaggggtttatat +attttactgtcgttccctaaaaagttaattatcagacctgcgcgatctcgtagatgaaca +acgcgatctagtcgaaaaatgcttgtggctaccattccagtcgagatcaaccgtttctgc +ggatcgcgttacattccttgcttatttgcgataaatcgatacaaccccattaccagaaaa +acccggagaatcaattactctgcagatcttatactaaaaaagagattacaacccctgttc +tatgtgtcccaaagtgagtaacgtggagcgttggggtaagagcggagcgattttaacttt +cgcttttccattttccagtattgtactttacgttatatttgagcggcacattcgtcaaaa +catgatccatatggactgaggtgtttaaatgttaatcaaataattgtattttcagctgac +tttaaaatctgcagccattggaggtggagattccaatagatgtaagcaggtgatatcata +tgcaattcttgtgacttattaagataccagacacggcacaatcgcagtagcacgtaaaca +ataatgacaatcgacggttaaattccgaacgtaagatatgtttacggatgcactaaaata +ggtagcaacaacgtttctctgagatgtataagttaccaaacactggagaattccgctaaa +ctaaggacaatttccgtcgtattaattgttgacaaatggttagtaatacattcgcagtgg +ataatccgttgcatacctagcactgagtgtaaataaaaccaatcgactactggcatttcg +ggctaacgactagatgttagcctatgtgaaagcctcacacatgcttattgccttcacggt +gagcaatgtttcttattcgttattagaagtcacctgtagagacagtagagatgacctaaa +tttggtttgtccagtcccgaggtgatctaatgattaggttaacttagaacagtggtcaat +tggttaaagctgatttacgaacacttccgaggggtcgtaaaacattaaactggtgagaac +agtatgatgtattcggtcatctagacaaccccatcgctgggagtttggacagtgttatga +ttcgtaaatccaccatgtgtccgaattcgaaatcctgttgctccggggagatagggttaa +tttaggcttttttacggtgtggcatattagctcaaacatcaacattcttaaaatcagcgt +aaacggtcaccagttgatatttgttctgctaggaagcgatgtacaaaataagcttaataa +gatttaggtccgaccttaatttcggtccatagcacctctttctaagtgttttgcttaaat +aattgtattgttattgattttctgcgagttgaacacggaaaataagtcaaaaaggacact +tttaggttcatatgtaccgatgaatgcgcaatagaatcgagaaatttttagattagtaat +cgtgatgattgtggccaaatcccgcactaaacggctttcgctgtttccaaaaaattttag +tccactaggtatttaaatgttggacactgaacgtggaagccgtcgtattatgaaactaat +ggcagaggggctcctctgcgtgtactttgagcagatgctatcgtcagaaaaaggtaaatc +ttttggttctttataattctggcgtccgtgtagcctagtgaatgtgtttggttcaagtga +atttgtttagccagaatggaccaattacgtcattagctgttacgtctatacgaaatatag +actgtggacgacccatcgtagagtcatgtagttacatgtgaccttagaacaccaatcgtg +tgcgattgtaagcaggacaacacagtattgtactggtcaattggttcatagatctgacta +tgaatcttcgtttttgtacaacaatctcggtgaagcttcaaaaagcctccttcctaataa +tcagttaatttttcgtaaggttcctgttcgaggttagtcgtataaagacgaaacggcctt +aatgtaacattaactattccactgtaggtggatctaacaaggttggacatgtgctaccaa +taagataagaatttcgtccgcaatacaatatctacttttgtagcctatcttggattaaca +acaacttacgttggtatttcaccggacgtatcaaatgattctgattttaatgactgagag +taaacatcaacgaatcttatgtatctttaagccgctgcttgacaagtcacattactgtta +gaatgaacgcttcattactacaaaacctaccaccaactcccacattaatattatactaga +tgtttgaagtttatttgacaaaggttttcaaaaagcacagaatcgttacgaacacgtaca +ttaaattgttagggtattaattgtggtcggtgcatttccggccccatagcgctccgcggg +gagaaactatggccttcatgacagcccccccataacatctaggtaatggtcggataacta +taaacaaccctctccagagaactgtgaaaataaaatctcttagtacacaagcgtatactg +gtttaagtcttgcccatcttaaagactcttttcactattttcttgatgcctcattcttct +aatattaggtgattttttaatccgagaatataaaaagacgatagaaagtgttaaaacacg +gcgtagcgacatattttaaagaaatgaaatactttttgactatccctcatgatctaaact +tacgcggagctatctttttgtataacatgtacagagaattaatccgatgcttcttccgat +taaggacatagcgccgaaaacgtcatggcggcttatcgatatcgtaacgcactataccaa +gtgattaagtgatcaatgaatacgggtttcgggatttctgttaagtcatgcacggcaaat +acttggagtcttgaataacgccgcgcgtagtacgaaggttctcaagctcgcgtgacgtat +agaccgtattgctatttcctgccttctcaattgtccgaggattgctgataacttaaaata +aggttgagtttttaataacgatttgtcgagtttgggaaaatcctcgtttgtgtgtttgtc +attttcaagttatcaagaactacgggtataatttacgacgtaatgttggtttgatgcccg +attgcgaatatcgtacgaatggtatttgtacaactgctttcctttatcgattgctcgaga +acattataaagtctattactatggattaagactgtatacaagtgtttaagcggagcccgt +gataatctataaggttttggtacctttatctgttacttttgccttgaaacatacatacgt +acacgggaatatttacctaaacgccgtatagtccagcctcgtatttgggccgtgttttgt +cagcattttaaactgaaagcgcccacttgcattataacccggtgcggaatctcttagtga +ctcgtcaggagtttacgcctttgagacctctcgacaggacccattttgatctagtcgtta +taggtagagtgcctttcctatcgcaccattaccttctagcaaacttagagtattcaatga +aatcatatcctgtttatactaaatgttataggctaatgacacagctgacactaagaggtc +tcttcgggttacccgaatgagttgtttatacgatgttgacaactcgggggagtcatttca +atgaagactgaggactcttgatcagattaaaacgcttaatgactgataatttagattatg +ccgtgtattatttaagtgggcgaaccctcccctagaatgggtttcctgagaaaagtctta +gaacacagtattctgaatccagatgcaaatcgctaacgttagtaagcggctgtagctctt +ggcagtttggtcaatagtcaatcgcaatccgtttaaccgtctactattcctagagcgaag +agctatgttctgacacgtccccaatattaggcaaaggctccaaaagaacagtcaattgat +taactacgggcttggtttctccgtgaatccttgcgccgctataccacataaaaggatagc +ggtgataccacaagtttgcgacgttaaagcgtcgaccctcaacaagtacactagcaaccc +cttagcaattaattttgtccatcactactgccaagagttgactggaccagttggaaatga +catttgatatattaatagagctacatattgtaccactttactgtcacttacactaaccct +agcgtgattactcatacatatattcgtaaattctaagttatgatactagttttgtaaatt +taatcggcgaagacacgttctcttgtacgagcttcaactaaatatttcactgtagccaac +cactttaaccagaaggataccttaatgccgatataatattgtccaggaaacgttaatact +ttcacaagacaaagcttggaagaggtactttacgatcacctgatagatcgaccggaacga +ttctatataggtttggtctgagaaatttgtagctaaaaccatgttccataggaactcctc +tgtaatgggcaaaatgcagatagcgttcaatcgttgcttaactatctatcacagcatcct +aactcctcaacagcttctttcctaaagacatcagcaggtaagttgacggcacccgataac +ccagagcacgattggaatctaatactctgtatggatcattacgctaagtaaatataatga +ttttctgactcaaagttacactgcgaattttatattaactggttctatttgttaaatacc +acaacctctcgtcaacaggtcgcgatgcaagtgatccaaaaatatctaacttataccaac +cattacttctggcgcagaaaaacatagatatctgaacaatcgaccgttaagactgtctcg +ccgatcttaggaacctaatactgctcagtagttattgtttatttgggccatccccggatt +atgtcagccatggaacactaaaagtcctaatctaacctatggacaaaaagctcactttta +taaaattgctcaccttatgttgattgttatttgtccgaaatgtctataactcagtgtact +atctattggaaaattatggccggagttttattgaatatacttttgtatgttgagaaagaa +tgttgtcgtaataattatcagctggaaaatcatctaatatatattatattgagatattac +gacagacctaagtgctttcccgtcatgagcagatggactaacactcttggtaatccttct +cgttttagttggtaatgtttagtctaagtaatatcccgactcttacttactcagagcgga +aatgactttttaaactaacgtttaaaggcacttagtatgcgtcagggttatttttttaat +tacgtacccttgtgcagagagtttagctattcgatcctacttagtatgaaccatgagagt +acaggttggtaattcacagagaaggtcgagaagattatttttgatgtttaccaatactat +gaggcgtattcatcgaaataattttatggctgcgcacttcacatacgcaggaagaccact +gcagcttgctagatctggatgtatcattgtacttctaagagcctgaaaggtaatacattc +ccagcgagcgtaacagattgtatggggacatattcaatcttagcaatgcattcgttcttc +gaaatcaggcatttttgatgtcataagttctgtcaactataaccctggaactttaatctg +ttgttcgtcgaatcaaggatcaagaaagcttctaaaaggcccaaagcaaaacccaccact +acttcagttttaaattagaatcacaccctagggtattagataataattaaatgtcttagg +aagagatatcaaaagatgcagacatcctcaagtgaataagtctccggtctttcacaaaca +catggttaagcgatgtggttttgactagagacgttcgccaccatcgtaatatttctggtt +acctgcgaacgtgaaccaaatcttacttcatacattgcttaaacagtacaacttatctct +tatcctatagagatctcaaaagtttgtatttttactggtttcaaattgagagaaaaactg +cgttctccgatttctatattattgtttaaatgatgccaaacatccagtttaaaacacggt +gtgatcagccgactcagattcgtatcctatgttagaatgagtcatcaaactacggtcacg +cgtacattacagagtaaactacacgaatgaaagagataagaagatgaaagagttaatagg +tctcctgttaattatgagaaccctaactactacggattggcctactagtgggttggaacg +gatataaaattcgactaagttcgcggcatgtcaggctcctaaatatgaagagaactcggc +atcgaattatccacagtaatagttggaacatgattcctctatgcatggtgtatatccacg +tacgccagtgtgcagtgtagccatgcgaccacgggcgttgtgaatattcttcctcagaaa +aggactgttgagcaaggaattggattctgtgaacggaatatagtcgagtagatggaattt +cctacactgcgaaaaggtcatagtaaatcaaacgccgcgcgcagacatatcttcttggca +attagtactccactaaatcaattggttataaacttttagaatatctttatataagttcac +tacttacgctgcgggtagtatatttaaagtgatgtcttaggaatcttatggcggcggaat +aaacggcttgactatagataccctaattctggcataaccctgtaacgtgtgaagcatgct +ttaatagacgactagatcagcttatagaatggatatgactgccacattgaagagattaac +attagcgggtataatgttacgaacttgtttaacaaaatagctctaccacacacgcatagt +ataatataaaggtcctggagttcgctacgagcctggaattgcagttcccctaccctgagt +aaacaagatcagtatggacctatcttctgacccacgtgtaaaaactaccgttagcggccc +tgagaacggtgaagttgattatcggctaacactcgctttaccaaggaacaaacaattgat +ggaacaggtaagcggctggattctatcctgaatacagcataataatatttgctttcaata +tatagttatgacactcccaatatcactaactctttacaaatcggatatgaagagtgaatt +agagatggagccgatcgttccttgtattctggtaagtactcgactaatgtgtgtagtcta +ggggtaaaggtccttaaccgtcgagtctagaactcacgcattatgaaatcctccgagcat +agagactctaaattcgccaagcaataagtcccgacgcgaaggatgagaagctcattgaac +tgtaacatttacgtcgggctcaccatgttacatatgcagcgggtaaaagtttttgcctgg +agtggttgagtttcgcgatacataaaaggccccactttcatatggtcaaatatctatatc +gtgctttggacgactcgataaactaaagtagcctagtaatgccctaaaccgctgcatttg +tgcaataaaaaatttagagtatatataacttccggacgtatggctgccttgaatcctcgg +atatcgtccttatacaacgatgaacggtatagctcggaactatgcagattaggcgatcct +tgggttgaatttttagtttccatagatatgagttagttttgatatggttaccatacgtcc +ctgcattgaaacttaatctgtatattgattgatccttagcaatagcggcacatttctggg +caatatgacttaattaggttacggtttttactatgatggatacgttttatatgatagaat +aacagttgctatttaaacaggtactacattcaactaatactgtttcactattgtgtccaa +catagggaatatattgcctgaatagatgtattatcaggcatcttttacgctccaggtaga +actaattaaaaatgatccttagaaactttcaagcaacataagctaaaagttacgccaatt +ataagccacatcggtaggatcttcaggcattcccatatccttctctatcaatcccgtctg +ttgctaattggttatctaagcatatcgcggcgagcatctacgataggtataaagttgctg +ctatctaattcgtcataatatatacatggaattacagattcatacgtcttcagtctcgtg +gtgtttctaagagcggacccaagaattacgtaatatctctctcgtgttacccaagaagtt +gacacgtgattgtcagctatctttttctggcgatgttaatagttataaacaattgcatat +agctgcaaattagctaatcaaatactcgtttcttaaatgttatcagcaaagctttaggtt +ctgtaatttcactgtgtaaagagggcgctaagttcaaaattggtttttggcaacaaacaa +tttaatagcgcagtgcaaaaataatatctcagggtgtaattatttctctaattggtcttt +acggttggaccaggcaatgggttttttatctatgtgataccaattaaaagtaatttcaaa +gtgacattaaacttaagtattgctgtcaagaccattacgacacttcaccaacacatttat +gtattgtgctacgcggtatggcccgtagtaatttctgatattgaccgcgttatcagcaag +tacgctgtacaaatgccaaatttagtaaagctctgtgtgcattccaaggtgcccacatca +cacattatcaacatatcatgtcgttgtattacgtccttttactagcctgggaaataccgg +tgattcagagtgaacataaatctctgaaagctactagacaaagctagtatagttaaaata +tatatttcttttaatattaggatctttgcgattgcacatttcaagcatcgcattaaccta +cctccgtactcttctacaacggttgcatgtacgatttctatgcgatgaaatacttatgtt +cttagtttggggttactttgttcacctagtcctcgaacgcaaattagcttcgaatatctg +aaaagtgtatgcgggcaccaaaacgatctcgattcttaggtttataattatagtcagaag +ataaatacatgcatatctggacactcttccacatgtcatgtcgactaactttgaactaca +gtcatatatagactgttatctgatccgtatgtgtctattactactcttatctgagaaagg +acccaatggagtcacagtaagcgatcatgtcatcggggctttttccctgattataagatt +acactattgctgtgcttggggcctcctactttttctatcttaatcattttgtacattaaa +aagctaagaagtaggtacaacttatctttcccatacgagctggaccattaatttaacagc +cgcaaggcgagttttaatgttaatctggaagggctttatgttctaagcttttagcactga +gaaattaatccgtaggaaattaatcccacataacccggtaagagaaccttacgccccgtt +actaataatgttctgcgcaatgtaggaagtgacaagctcactcttgcgacgagctcctta +atacaggccctgcgttatattcgaccgtacctataactagaccaccatcttaaatgtaca +gttatggttttcgacgcatagagtatgggaccacctcgaaatgctcagctgcaaattgta +ctgggggtggttatcaaacatttaatatgaatctatggtaaagtactagtttatagatag +ccgaacactaaaggtttgcagaccttcctcccctgaggaacttcgtgtcacaaattagat +tgagaaggtggtgataaaatcgcgtatctacaatgatttggtgcaaatatttatcgattg +cccaatcgttctactcgtactctttatagcctaacgccttttcttggcgctaattagcct +aatccaagaaggagtctaacaaaattacttaaccatactcttgtctattcggcccacgca +tgcgcaagctcaaaaagttctcaacgggcgtttttacttgagtcccaggaggtaacattg +gatctatgagtcttaacagtggaaatatgatttttagattgtgttcagatttattgtctt +attttggtctatctcatcagctatagctacataatgacgtcttaactgtttcgactaacc +ttcagatctgactaccccaaatacaacatagcaaaagaatgatgctaacgcttaactatc +ctttcacgatcttaacaaaaaagctccatttaaaagaatcgaaaacagatctaccattcg +tggaatcaatttttggacgagtactggtcgggtcgtgcttatttgctacaggattgtttc +gtataacgttcaagcactttagcggttccatccttgatggcgttaactgatgatgcgtaa +gtttatggtgatctaaaactctactacgaaccaggtcccagcacgaaacgtcatctttaa +tgagtttttaggtctccaggcactaggctgcgaagtggaatatgtgtcatcagagacaaa +tagatgattcctatagctttttgcagttaagccactaagtaggcggttctatagggtttc +attcaaatcgatcgtaattcccgactctgcatagcgtgggtcttgtatagaccattcttc +aggcccgccacaatggtttcaagtttcaacttccgtttattggctgtccctcaatagagt +cgttctcagggcacgactctcgttcgttattcataagtccagtttgatccacgaatacag +aacacgcatatctgataataaaagcttaacgataactttcacgcgcatggtttatttttg +atttattaggcaaccaaataccagaatgtagtcagcgatatgtagtaaaatttagacaaa +cataaaacaaagtatcgccattacagtctcctgttaggagaacctttttatcaatatgtg +taggcgtgtattggcgcccttgatttaataataattacggctaaacgtattgatattttc +caggaactgccccatctcatgagatgaccctaaattttattcacacctcatttttaattc +ttttatatcacgattatttatctgagcaagcatctttgcaagcattcatagtgacggtgc +tgtctctatgaatgcatgctaatatacggtgcgctaaacatattggttcaattcaatgta +agctacctcggaatttgcttgcactaagacggggaagccaaaacggtaaatcgccgtata +tgctagtgccaagggacttgtccgttggagtcactatggagttacaagcattataaatct +aaggaaatcgcagtatcagtccttaccccaaagatacttcgcattccctggggtacggac +catgaaatacttctttcatacatgataaacgatggagactcggttaccaccctggtagtt +actccatcaattggagttaactaagatcgctattacaggctttattagccaatcatcaca +agcctctttttagagattcacaagttagcaaaccaaagttcctttgataagtctttaacg +agatctatcccaattccggctaggagtaaaatttatatatttgagatcggggttaaagtc +acacgcaatgcaaggggtttttatatggtaatgtccttccctaattaggtaattttcaga +cctccgagagagagtagatcaacaacgcgttatactcctaaaatgcttgtcgataacatg +acactacagatcatccctggatgagcatcgactttcattacttgattagttcagttaatt +cgtttcaaaccattttcaacaaaatcccccagtagatatgtatatgcacatcttagacta +aataacagttttcataccctgggatttgtgtcactatctcaggaacgtcgagacgtcccc +tatcaccgcagcgagggtaactggccctgttccattgtaatcgatgggacgggacgttat +attgcagacccaaagtagtaataaattcagccatatggacggagggggggaattgttaag +aatataattcgattttcagctgaatgtaaaagctccagccattcctcctccacttgacat +tagttcgaagaaggtctgagaattggaattgcttgtgacgttttttgtttccagacaagg +aaatagcccagtaccaagtataatattatgacaatagaagcttaaattcacaacgtaaca +tatctgttagcatgctctaatagaccgagaaaataagtgtctatgtgtgcgagaactgtc +aattcacggcagtagtcacctaatctaacgtctagttcccgactatgaagtcttcacaaa +tggttagtaataatttcccagtggagtagaagtggcataacgtgcactctctgttaataa +tacctttagactactcccatttcgccagaacgtcttgatggtaccctatgggaaacactc +acacatgcttattgcctgcaacctcagcaatgtgtcgtatgcggtatttctacgaacagc +tagtgaaaggactgatgacctaattttggtttctcaagtccagacgtgatattttgatga +ccgtatctgacatctctgggcaattcggttaacctctggtacgaaatagtccgtcgcgta +ggtaaaaatgataatgctgtcatcactatcatgttttagctaagctacactaccccatcg +ctcgcacgtggcaaagtgtgaggattccgatatcatccatgtgtacgaattcctaatact +cttgctcagggcacttagggttattgtagcctgtgttaccgtctcgcatattagatcatt +aatcaacagtcttataatcaccgtaatcggtaaacagttgttatttgttctgataggtag +acagctaataaagatgctgttgaacagttacgtcccacctttattgccctacagtgaaac +tagttcttactctgttgctgtaatatgtctagggttattgatttgctgccacttcaaaac +ggaaattaagtcattaacgaaaatggttccttcataggtaaagatcaatccccaattgaa +gccagaaattttgagatgtcgattcctgatcattcgccaaatttacagctcgtaaacgag +ttccatgtgtaaaaaaatgttgagtccactagcttgtttattctggctcaaggtacgtgg +aacacgtagtattttgatactaatgccagacccgctacgatccctgtactgtgagcagag +ccgatcctcagaaatagctaaatcttgtgcttcgttagaagtctcgactacgtgtagcct +agtgtttgtgttgcgttatagtctatttgtggacacagtatggtcaaatgacgtcttttg +atctgacggcgttaacaaagatactctgggcaacacacatacttctctcatgttgtttct +tcggacctttcataacctttcctggcacatggttagctgcacatcacaggattgtaaggg +tctagtggttcagtgagcggaatatcattcgtcggtggtgttaatctatctcggtgtagc +ttataaatgcatccgtaagaatattatgtttatttgtcggtacgttcatggtagtggtgt +cgccgatttagacgtaaaggcatgtatggatcttgatctatgcaaaggtaggtccatcta +tatacgttgcacagcggatacaaataagataagaatttactaacatttaaattttcttat +tgtcgagcatagattggaggaaaaacttatttacttggtatttaaacggaagtttctaat +gtttatgattggatgcacggacagtttactgcttactttcttaggtttcttgaacaacag +gatgcactagtaacatgtctcgttcatgcttccattaagttcttcttaaacttacacaaa +ctacctaatttagagttgacgagatggttgaacgtgttgtgacaaacgtttgcaaaatgc +acagtatcgttaccaaaaagtacatttaagtgtgtgcgtaggaattctgctacgtccatt +gcaggccacattcacatcccacccctgaatatatggactgaatcacacacaccaaatttc +atctaccttatcgtagcataactattaacaaacatatacagacttcgcggtaaataaaat +atattagtacacaaccgtatactggttgaactattgcccagctttaagacgcttttaact +aggtgcttgatcaagaagtattattatatgacggcagtgtgtaatacctgaatagatata +gacgttagattgtctgaaaacacgccgtagagacatttttgttagatatgtatttctttt +tgacgagccagcatcttagtatctgaagacgagctatatgtttgtagaaaatcgactgac +attgtatacgaggcggcgtaagattaaccaaattccccagaattagtaatggcgccttat +cgatttactaacgatatataacttgtgatgttgtctgcaatgtatacccgtgtaggctgt +gctcttatcgaaggaaacgcattgaagtccaggctggatgaaaccaccgcgtacttccat +gcgtctatacatagcgtcaccgatactacgttttgctatgtaatccattctaatgggtaa +gaggattcctcttatagtaaaatatgcttgactttttaagaaccattgggagtggttggc +aaaataatagtgggtgtctttctcagtgtatagttttctacaactacccctattaggtta +caagtaatctggctttcttgccacttggcgatgatagttagattcgtatttctacaacgc +agttactgtatccatggcgcgagataattagatacgatttgaatttggatgtagactcgt +tactactgttgtagaccagcacgtgagtatctagatgggtttgctaccttgttagcggac +ttttgccgggaaaaagacatacgtacaaccgtatattttactataagcagtattggccac +cctcgtattgcggcagggtgtgctcacctggttaaaatgaaagagaaaaattccatttta +aaacccggaggaatctattactgacgaggaaggtgtttaacccgttgagacatctcctaa +cgtaaaaggttcatattctagttattccgagagtcactttcctatccaaacatgaactga +tagcataatgacaggttgaatggaaagcatatcctgtttattctaaatctgtttcgctaa +tcaatatgctgtcacgaactcggagcttacccttacaactatgtgttctgtttaccaggt +gctaatatcccggcactcttttcatgcatgtcgctcctagcgtcatctgatttaatagct +taatgtctcatattttacagtagccagtgtagtatggaaggcggcgaaccagcccctaca +ttgggtttcctgacataagtattacatatcacttgtctgattacacagcaaaatcgctaa +ccttactttgcgcatgtagctattggaactttgggctagtgtctatcccattaagtttaa +cagtagactagtccgtgagcgatcaccgagcttatgtctcgtacccaagttttggatttg +gatcaaaaactactcgatattcatgatctacgggcttcctttctccgggtatcattgcgc +cgagattaaaaataaaacgatagcgctgtgaaaacatgtttgacacgggatagcgtagaa +actaaacaacgaatagaccatccaatttgaattttattgggtccagcacttcgccatagt +gttgaatggtaaagttcgaaaggaaatttgttatattaattctgctacattttcgaccac +ttgtatctcaaggacaatatcccttgaggcttttagcagaaagagatgccgtaattctaa +gggatgataataggttgggaaatttaagagcagtagtaacggtcgcgggttcgaccttaa +actatatatttaaatctagccaaacaagttaacaacaaccataaagttatgaccttatta +tattggcaagcttaacgttttaattgctctagtaatagagtggtagaggtaagggaccat +cacctgattcttcctccgcaaccattatatagacgtgtcgtctgacaaatttcgagataa +aacattcgtccttagcaacgaatatcgaatggcaattagccacattgagttaaatagttg +aggatatttcttgcacagaatcagatctaatctaatgattcgttactaaacacttcacca +ggtatcgtgaaggctcaagattacccagagaacctttgcaatataagaatatgtatgcag +cattaccctaagtaattatattctttttctgactcaaagtgacaagccctagtgtatatt +aaatcggtatatttgggaaattcctcaaactatcctaatcaggtagccatgaaagtgatc +aaaaaagttcgtacttataccatacatgaattctggccaagtaaaaaatagattgcgcaa +aattcgtaccttaagtctctcgccaagatattaggatcctattactcatatcgtgttttt +ctttattgccgccatccccggagtatctcacccatccttctcttaaaggcctaatattac +ctatgcaaataaacatatattgttgaaaattgagaacctgatcgtgattcttatgtgtac +catatgtatagtaatcacgcgactatatagtgctttagtatcgcccgtgggtgagtgaat +attctgggctagcgtgagatagtttcttgtcctaatatttttcagatcgaatagcttcta +tttttgtgtttattgacatatgtcgaaactccttactcagtgaaagtcatgaccagatcc +acgaacaatcttcggaatcagtctcgttttacggcggaatcttgagtctaacttatatcc +cgtcgcttactttctaacaccccttatgtatttttaaaattacgtttattcgaacgtact +tggcggaagcgttattttttgaagtaagttacattgggcagactcttgacattttcgata +cgactttctttcatccatcacaggactcgttcgtattgatatcagaagctcgtgatgatt +agttgtcttctttaccaatactttgaggcctattctgcgaaatttttgttgccctgcgaa +cttcacataccaaggaacacctcgcaacatgccttcatatccatcgttcattgtaattct +tacacaatgaatcctaagtaattacatccctgcgtaaaagatggtaggggcactgaggat +atattaccaagcatttagttatgagtaatcagcaatgtttcttgtattaagttctctaaa +atagttacatcgtaatgttatctcgggttccgcgaataaacgagatagattcattatata +tggccctaagcaaaaacctcctcgtattctgttggtaattagaatcacacaatacgggtt +gagatattaattatttgtagtacgaagagatataaaaagatgaacaattactcaagtcaa +gatgtatacgggatttataataaaaatcgggtagagatctgctttgcaattcagacgtgc +cactaaatcgtaatatgtcgcgttacatcagaaagggtaactattattaattaataaagg +gcttaatcactacatattagatcttatccgatagtcttatctattcgttgtatttttaag +cggttctaattcagtcattatatcagtgctccgagttctttattattgttttaaggatga +caaaatgcctcttgttataacgctgggagaagcagactaagagtcggagcagttggtaga +atgaggctgcaaaagacggtctcgacgaatggacagactttactaaaccaatgaaagaca +gaagtagagcaaagtctgaagtggtatcagcttaattatgacaacccttaatacttccct +ttcgccgaatactggcgtggaaaggttttaaaagtcgaagtagttagaggcatctctcgc +tcataaataggtagactactcgcaatccaatgtgactatgtaatactgggaacatcagtc +cgcgatgcagcgtgtttatcaaccgtccccactcgcctggggagacatgagaccaccccc +gtggggattattagtccgcagtaatcgactcttgacaatccttttcgattatgtcatagc +aatttacgacagttcagcgaagtgactactcggcgaaatggtattactaaagcattcgaa +cccacatgaatgtgattcttggcaatttctaatccactaaagcttttccgttgaatctgg +ttgtagatatttatataagttcactaattaagatcacggtagtatattgatagtgatgtc +tttgcaagaggttggccgaggaatttacggattctctattgatacaatttgtctggctta +taactcttaaggctgaaccaggcgtttttagacgacttgatcagctgttagaatggtttg +gactccctctttcatgtcagtaacatttcagccgttattgttacgatatgcttgaacaat +attgatctaccacacacccatagtatattttataggtcatgctgttacctacgagcatgg +tattccacttcccattcaatgagtattcaacatcactagcctcagagatgatgacccacc +tctaataacgtcacgttgcggccatgtgaaacctgaacttgagtagacgatatcaagcgc +tttaaattgcatataacatttgagggtaaagctaagcggatgctttatataatcaatact +caataataagatttgattgcattttagagttatgacacgacatagttcactaacgagtta +ctattcccagatctagactgaagtactgatcgagacgatccttacgtcgatgatcgttag +ttatcgacttaggtcgggtctctagcggtattggtacttaaccggacactatactaataa +cccatgatcaaagcataacagaatacagacgataatttcgccaacatatatgtacagacc +ccaagcatgagaagctcattgaaagctatcattgaagtcccgctcacaatgtgtcttttc +cagacggtttaactggttcccgggagtcctggagtttcgacttacataaatggaaacaat +gtattttgctaatttatctatagcgtcatttggaccaatacagaatattatgttgcctag +taatccactataacccgcaagtgctgatagaaaatttttagacgatttataaatgcccca +agtatccctcccgtgaatcctccgttatactaattagtattcgttcatacgtataccgcg +catatatgaacatttggcgataaggcgcgtgaattgttacgtgacagagatagcagtttc +ttgtgatatggttaacagacgtacatgaagggaaactttatatctatagtgatgcttccg +tagaaataccgccactggtctgccaatgatgaagtatgtagctttaggtttgtactatga +ggctttcgtttgtttgcagagtataacagttgcgagtgaaaaaccgacgaatttatacta +atacgctttcactattggctacaaaatagggaagagtttcaatcatgagagggagtatat +ggatgctttgtagctaaaggtagaacgtatgtatatgctgccgttcattcttgaaagata +cataagcgataagttacgacaattataagcaacatccctaccttcgtaacgatttcactg +ttactgcgcttgaaatacactatggggctattggcggagagaagcagatcgcgccgagca +tatacgagacctataatgttgatgatagagaaggcgtctgaattgatacatcgaagtaca +ctttctttcgtagtatctctcgtcctctttctatctccggacacaagaattaagttatat +atatagagtcttaccaatcatgttgaatcctgattctcagagttctttggcgggccttgt +gatgactgagaaacaatgcaatattgctccaaatttcctaagcaaattctcggttatgtt +atgttatcagcaaagcgttacgttatgttatttaaatctggaatgacggagcgaagttct +tatgtcggtgtgggaataattcttttgaagacagcactccttaaataatatcgctccgtg +tttgtatttatcgaatgggtctgtaaccttgcacaagcaaatcggtggtgtatatatcgg +ataacaattaatacgatgttcatagtgacagtatactgatcgagtcctctaaagtcaatt +acctcacttaacaatctcattgatgttgtgtcattcccggtatcgcccgtagtatgtgct +ctgattgaccgagtgtgaaccaaggaacatctactaatgcctttgttaggtaagatctct +ctgaattccttcgtgccaacttaaaacattatcaaaatttcttctacttggattaactac +ttttacgagcatggcaaattcccctgtggaagacggttcattattatcggaaaccttata +gaaattgcgtgttgactgaaattagatttttattgtaagagttgcatctttgcgattcct +ctggtctagcttccaatgaacagtcctcccttctattcgacatcgggtccttcgtacatg +tctttgcgatgtaataattaggttcggagtgtggccttaatgggtgcaactaggaataca +acgcaaatttgctgacatgatagcaaatcggtatgccggcaccaaaacgtgctccttgct +tagcttgtgaatgagactcagtagttaaataaatccatatctgcaatcgattccacaggt +attgtccactatctttgaactactctaagagatacaagcttagctgagaccgaggtgtat +atgactacgctgatatctgtaaggtaccaatgcaggcaaagtatgcgagaagctaatacc +ggctgtttccagctttataagattaaaatttggctgtcctggcggcctcagaattgttct +atcgtaatcagttggttcattaattagctaagtacgaggtacaacttatctgtcccagaa +cagctccacaagtttttttacagccgaaacccctgtgtgaatcttaatatccaagcgcgt +tatctgattagagtttacaactcagtattttatcagtacgttttgtttccaacattaccc +ggtatgacaaaatgacgccacgtgtcgaataatggtctgaccaatgtaggaagtgaaaag +ataaatattgcctacacatactgaattcaggcaatgcgttttattcgaaaggtcatataa +ctagaaaacatgatgaattcttatcggatccttttactagcatagtgttggcgaacacct +cgtaatgctcagcggcaaattggactgcgggtccttatcatacattttttttcaatatag +gcgattggtctaggttagtgattccccaacacttaaggtttgctgacattcataccctca +gcaacttcctctcaaaaattagagtgagttggtggtcttataagaccgttgattatttga +ggtggtcaaatgatggtgcgatgcacaaatcgttataatcgtactctgtagacaataacc +cattgtagtgccgattttgtgcataatacaagaaggaggatataaaaatgacttttcaat +aatattggctattagcaacaagaaggagaatcctcattaagttagcaaccgcagggggta +ctgcagtccaaggaggtttcattggagagagcagtatgaaaacggcaattatgattgtga +gattcgctgaagattgtgtctctgattttcctagatagaataagctatagctacttaatc +aactcttaactgtggagactatcctgatgatctgaataccccatttacaaaattccatat +caatgaggctaacgcttaaatttcatttctccatcgtaacaaaaatcagcctttttatac +aagacaaaacactgcttccattacgggtagcaatggttgctcgactactggtagcgtcgt +gatgtggtgataaagctgtcttgcgtttatacttaaacaaattttgacctgacataatgg +agcgacttatcggatgttgccgatctttagggtcatctattaagcttatacgaaaaaggg +acaagcacgttacgtaatctggtaggactgggtacctagaaacgcaagaggaggcgaact +ccaatatctgtaagaacagaaaaatacaggagtccttttcatttttcaagttaacaatat +aagtaggagcttagagaggcttgcatgaaaatcgttaggaattacagaataggcagagag +tggggcgtgtagactacattcttcaggccccacaatatgggttataggttaaactgcact +ttttgcgatctcccgaaatactgtcgttctctgcgaaccacgctcgttccttttgctgta +gtccacgttcatccaactattcagataaacaagatcgcagaattaaagcttaaccatatc +ttgatagcccatcgtgtatggggcatgtatgtgcaaacaaaagacctcaatcttgtctgc +gagagggaggaaaatttagacaaacataattcattctttcgactggacacgctaaggttt +ggacaaactttgtatctatatctggaggcctgtattccagcccttcttttaataagattt +acggcttaaactatggatatttgccaggaaatgacactgctattgacaggaacataattt +tgattcaaacctcattgttaattattttatatctcctgtttttatatcagaatgcttctg +tcctagaaggcatactcaaggtgagggctcgaggaatgaatcataatagaccggccccta +ttaatattggttcaattctttcttacataacgcggaatttgattgcacgaacaccgggaa +cacataaccgtatagcgcccgttatgctagtgcctagcgactgggaccgtggagtctata +tcgtctttctaccattattaatctaaggatataccactttaagtcctttcaactaacata +aggcgcattccatgcgctaaggaccttgaatttattatttcttacatgataaaagatcga +gtcgacgggaacaaaaggctacgtactcaataaagtgcagtttactaagagccctttttc +tggcttgtggagactatcataacatgaagatgttttgacattcaatagtttgcaaaacaa +acttactttgtgtagtattgaacgagatctttccaattgccccatagcaggaatagttat +atattgcagatcgcggtgtaacgcactccaaatccatcgcggtgtgtgagggtaagcgac +ttaaagaattacggtttttgatcaaagcacagtgagagttgagcaaattacagttatacg +acttaattcagtctccataaattgaaacgacacttcttaacgggaggaccagacacgttc +attaagtgaggagtgcactttttgactttaaaaacatggtaatcaatttaaaccacttga +tatgtatatgaacagatttgaagttatttctgttttaatacactgggagttctgtcaata +tcgcaggaaccgcctgacgtcccctatcacacctcagagggtaaagggacaggggaaagg +gtaatcgaggggtagggaacgtagttggcacacccaatggacgaataaatgctgccatat +ccacggagggcgggattgcggttgattttaaggcgatggtaacctgaatgtaatagatca +tcaaatgcctcctccactggaaattactgcgtacatccgctgagaattgcaatggagtgt +ctcggtttttctttaaacaaaaccaaattgacaacttcatagtataatttttgcacatta +caagcgttaattaacaaacttactttgctgttagctgcctatatttgtccgacaatataa +ctggatatctctgcgagaactgtaaattaacggcacttggaacataatagttcctattgg +taacgacgttgtaggcggcaattatccggtggaagaattgacaactgcagttgaactgca +tgaaagtcaaatctctcgtaagtataactttagaagactccaaggtacccagaacctctt +cagcggacacgatcgctatcaatcaataaggattattcactgaaaccgctcatatctgga +ggtggacgtttttcttcgaaaagcttgtcaaaggactcatcaaatttttggccgtgctaa +tcgacacacctgttattttcatgaccggataggacatctcgcggaaattcgggtaacagc +tgggtagatataggacctcccctacgtattaatgataagcctgtcataactagcttggtt +taccgaagagacaataaacattcgagcgctcgtgccaaactcggtgcattacgtttgaat +aaatcggtaacatgtactattactctgcctaacggcacttacccgtttgggtccatgggg +taaccgctcgatgttgacagaattatgctaaagtcgtttaagatcccgattaccgaaaat +ctggttatgtctgagcattcgtacactgcgtattaagatcaggttgaacaggttcctaac +aaattttgtgacctaaagtgaaactaggtcgtactctgggcatgttttatgtcgtggcgt +atgcatgtgctgacacttctaaaaccaaattaaggctttatccaatatgggtccttaagt +gctaaacatcattcacaatttcaagacagattgttggtcttgtcgattccgcatctgtcg +ccaaattgacacatcgtaaaccaggtacatcggtaattatatgttgactaaactaccgtg +tgtattctggctctaggtacggcgaacaagtacgatgtgcttaagaagccctcaccccag +acgagcccgcgtaggtcacatcagcagatcctaagtaattccgttttattgtcctgaggg +agtaggatcgacgaactctacaagtcgctttgtcgtgccttataggctatttcgggtcaa +tgtagcgtcaaatgaactattgtcatctgtacgagttaactaagtgtctatcgccaacta +aaagacgtctcgatggttctttatgcggacctgtcatatcattgactggcacttgcttac +atccaaataacacgtttgttagcggatagtcgttaagtgtgcgcaagatcatgaggcggg +gggggtaatatttcgccctctacatgataaatgaataagtaagaagatgatctttttgtg +gcggtaccttaagcgtactcctgtcgacgagttactactaaaggaatgtagggttctgga +tctatgaaaagcgacctccatatatatacgggcctaagcggagtaaaataagtgatcaat +ggactaacattgaaatgttagtattgtcgaccattgagggctggtaaatcttatttacgg +gcgtgggaaaacgaacgtgatatggtttagcatgggatgcaagcactcgttaatgcttac +tttagttggttgcgggaacaacaggaggctatactaactggtagcgttcttgcttccatt +atgttattattataattaaaaataagacatatggtagagttgtagtcagggtggatcggg +ttgtctataacgttggaataatcaaaactatcgttaacaaaaacgaaatttaagtcggtg +cggtggaatgcgcctacctcatgtgcaccacacattcacagcacacccctcattataggc +aaggaagcaaacaaaaaaaagttaatcgaccgtatccgaccttaaattttaaaataaata +gaaacacttagcggtaatgaaaagataggactaaaattcactagtatcctggaacgaggc +aacagagttatctagatggtaacgaggtgctgcatcaagatgtatgatttttggtccgct +gtgtggaatacctctattgatatacaagtgactttctcggtaataacgcacttcacaatg +tgttgtttcttttctatgtattttgcaagagaaagaagcttagtataggtacacctcaga +gatgtttcgtgtaaatcgtatcacatggtataactgcaggaggaacattatccaaattca +ccacaattactaatccacccttttacttttactaaagatatattaattctcatgttgtct +gaattgtataacccggtaccctgggagcgtatcgaaggataccaattgaagtcctcgagg +catgttacaacacacgacttccttccgtctattcagacactcaacgagactaacttttcc +taggtaatcaatgatattgggtaactcgtggcatcttatagttattgatccggctctttt +gtagatcctgtgcgactcgtgcgctaattaagactggctctcttgcgcaggggatacgtt +tattctacgtacccgatttggttactactaagcggcctttcttcaaacttgcagttgtga +cttacattcctatttcttcaaagcagggaagggttacagggagagacttattgagatacg +attggaatttccatgtacaatcgttaatacgcttgtagaccagcaactcagtatagagat +ccgtttcctaaagggtgagcggtaggggcaaggcaataagaaattactaaaaccctagtt +gttaatataagaacgattcgaaacaataggattgcccaagggggtgcgaacatggtgtaa +atcaaagagaaataggcattgttaaaacccgcacgtttctagtacgcaagaggaacgtcg +gtaaccagttctcaaagatcctaacctaaaaggggcttattctactttttccgacactca +atggacgagacaaacatgaacggatagctttaggtctcgttgaatgcaaagaatagaatc +gttattattaatcggtttccattatctatatgcggtatagatctccgagaggaccctgta +aactagctctgcggtttaactggtgctaatagaccgccactatgttattgcttctagctc +ctagcgtcttatcatgttatacattaatgtcgcatattggacagtagccaggcttggatg +gatcgccgacaaaaagaaaagactttccctgtaaggacttaactattacatataacttgg +atcattaatctgcaaattagagtaacggtctttcaccagcttcatattccaacgtggcgc +tagtcgatatcccatgaagtttaaaactagaattggcagtctcacttcacagtgcgtatc +tatacgacaaaagtggtcgatttgcataaatatcttatcgatattcaggttattaccgat +tccttgctaacgctagaagtcacaccagagtaataataattccagacacctgtgaaataa +tcggtcactacggatagactagtaacgataatacgtatagtccataaaagttgaatttta +ggggctaaagatattagcaatactggtctagcctaatcgtcgatagcaaagggctgtgag +gatttctcctacattttcgaccaattgtatcgataggaatagttacagtcacgcttgtag +atgtaagagatgacgttattcttagggttcttaagtcggggggtaatttaagaccactag +taaaggtagaggcgtacacagtaaacgatattttgaaatcgtcaaaaaaaagtttacaac +atcctttaagttagcaactgattttagtggcaaccttaacggttgaattgatctactaat +acaggcctacaccgaagggtacagataatgattcttactaccctaacatgatagagtcct +gtcctatctcataggtcgacattttaaattcgtaatgagcaacgaagatcgtttcccaat +ttgcaacattcacttatagacttcaggttatttcgtgctaacattaagatagaatataat +cagtcgttaagaaactattatccagctttcgtcaaccataaagattaaaaactgaaactt +ggcaagatatgaatagctatcctgctttaaccgatcgtatgagatgctttgtagcaagaa +aagtgactagcacttgtgtttagtaaagcgggagagtgcggtaattaatattaatatact +attaagctacacagcaaaggctgcaataatgttagtaagtagaacataaaggtattctcc +acaagtaataaatagtgtgagctaattgactaacttaactctcgcgacaagtgatgtgga +taagatgactcatatcgtctttttctgtagtgccgacatcccacctggatcgaacaattc +cttctagttatcgactttgattacctatcctattaaacagatagggttgtaaagtcagaa +aatgatcggcttgcgttggtctaccatagctagagttagaacgcgtagatagaggccttt +tgttgccaacgtgggggtgggatgagtctgggcgagcgtgactttctttcgtgtccgaat +ttgtttaacatccattagattagatgtttgtgttttgggtctgatgtcctaactactttc +tcagtgaaactaatgtcatcatccaagtaaaatagtccgatgaagtctccgttttcggcc +gaagcttgtctataacgtatataaagtcgctgaatttagaacacaccttatctatgttgt +aaagttactttattccaaaggacgtgcacgaagcgtgagtgtgggaaggaacttaaagtc +ggatcactcttgtcagtgtagataagaatttctttcatacttcactggaatccggcgtat +ggatatctctaccgcgtcatctggtggtgtctgcggtaaaaagtcttgctgcacgagtct +gagaaatttttggtgccatcacatcgtaactgtacaacgaacaaatagcatcaggccttc +ttatccagcgtgaagtctaattatttcacaagctttcctaagtatgtaaatccctcactt +aatgatgcttgcgccaatgaggatagaggacattgcatgtacgtaggactattctccaag +gggtcttctattttgttagcgaaaattgttacagcctaatgttagagcggcgtacgactt +tataccagatactttcattagatatgcaaatatccaattaaatcatagtagtatcgtggt +atggacaatcaaaaaagacccgttgtgatatgatgtttttctagttcgttctcatatata +tagatcaacaatgaataatctcatgatctataaccgatgtatatttatattccggttgac +tgctccggtgcaattcactacggacactaatgactaatatggcgcctttcatcagaaacg +ctaaatatgattaatgaattaagggagtattatctaattattagagagtagcagttagtc +tgatattttcggtgtatgtgttagccgttataatgctgtctttttatcagtgagaacagg +gagtgtgtagtgttgtatgcttcactttatgactctggttatatccctcggagaacaaga +ataagagtacgagaagttcggtcattgaggatgaaatagaaccgctagacgaatggactc +acgtttataaaactatgtatcacagtactacagctaactctgaagtccgagaagcttttg +taggacaaaacgttataagtacctttcgcagaatacggccgtgcatacctgttataaggc +gtagtagggacaccatgctatccctcatatagagctacactaataccattacatggtgac +tatcgtttacggccatcatctgtaagcgatcatgcctcgttagcatccgtacaatctcgc +atggcgtcactgcagaaaaaccccgtgcggattttgagtcagaactattcgaagcttctc +aatccttttccattatggcatagcaagtgacgactcgtcagccatgggaataatagcact +aatccgattacttatgaattagaacccacatgaatgtgattctgcgaattgtctaagaat +ctaatgattttccggtgaatatggttgttgttatttattgaacttatattattaacatca +cccttcgttagtgatagtcagctatttccaagaggttccccgagcatttttaccattctc +tagtcatacaagttggagcgcttttaaatctttaggctgatcaaggcgttttgtctagaa +ttctgcagatgttagattcgtgtgcaatccctcttgcatgtcagtaacaggtcacccgtt +tttcgttacatatgctggtaaaatattcatagtaataactacaatacttgatttgttacg +taatgctcgtacataacacaatcgtattccacggaacagtaaagctctattattctgatc +gagcctaagagaggatcacactacgctattaaagtcacgttcacgaaatctcaaacctca +actgctggtgaccagttatagacagtgtaattccatattacatgtcaggcttaagctaac +ccgagcctttatataagctataatcaagaattagattggagtgcattttagacttatcta +tcgaaatagtgatagtaagagtttatatgacctgatctagactgatgttctcttccacaa +cagccttaaggcgtggagcctttcttatactattaggtcgcgtcgagagccctattcgta +atgttaacgacactagactaatatacaatgagctaagaataacacaagtcacaagataat +ttacaaatcatatatctacagtccacaaccatcactagcgattgcaaagcgttattggta +ctaccgctctaaatcggtatgtgcaagacgcgttaactggttcaagcctctcctgctcgt +gagactgaaagaaatcgaaaatatggatgtgcctaattgttcttgtgagtcatgtgcaac +tatacagtttagtttggtcaagactatgcaactattaacagcatgtgcgcattgaatatt +tggtgtcgattgataaatgccccaacgttccatcacgtctataagccgtgttactaatgt +gtattagtgcatacctattcagaccatagttcaactgttggactgaaggcccgtcttggg +gttcgtgaatgagagtgcagtttcttgtcttttccttaactgacctaaatgaaggcaatc +ggtttatctagagtcatgcttaaggtgaatttcagccaatgggctcccattgagctagta +tggtgctttacctttgtaagtggtggctttccttggtgtgctgactttaacacggcagag +tgattatccgaagaatggataataagacgctggcaatattggctaataaagtccgatgag +tttcaatcatgactgcgaggagatccatgcggtgtacctaaacctacatcgtatgtattt +gctgacgttcattcttgatacataaagatccgatatcggtccactttgtttaccaaaagc +cctaccttcgtaacgatggaaatgtgaatgagagtgaaatacacgatggggatattgccg +gtgagtacaagttagaccacacattagaactgacctatattcgtcatcatagagatggag +tatgaattgattctgcgaagtacactggctttacgagtatctagacgccgcggtatatct +cccgtcaatactatgaaggtatatatatagaggctgaaaattcatgttcaatcctctttc +taagagtgagtgggagccccttctgttgtcggagtaaaaaggcattattcctcaaattgt +cagaagcaaagtatacgtgatgtttgcttagaacaaaagagttaccttagggtaggtaaa +tctcgattcaccgagagaagtgattttggcggtgtgcgattaattcttttgatgacagat +ctcattattttatatagctccctctttgtatttagagtttgcgtaggtaacctggcaaaa +ccatatcccggggggagagtgcgctgaacattttatacgatgtgattactcaaaggataa +ggttcgaggcctctatactcatggaactatcttataattataatggatcgtggctcattc +cacctatccaaacttctttgtgatctgatgctacgagtgtgaacaaacgtacatcttcta +aggaatttgggacgtttcatagctcgcatttcattcctgaaaacttaaatatttttaaaa +attgattctactgcgaggaactaaggtgtagacaagcccttagtaaccggtggatgtcgc +ttcagttttatagcaaacattattcaatttcagtcttgactgaaattagtttgttagtgt +tagaggtccatatgtcacatgcatatggtctagatgccattgtacagtaataccttagat +tagtattagcggcatgcgtacttggatttcacttgtaagaatgagcttaggacggtcgcc +tgtagggctgcaaataggaatacttacaatttttgatgacttgttagcatatcgctatca +cccataaaaaacctgatacttgatgagcgggtgattgagactatgtactgatataattca +atagctccaatagatgaaacagctatgcgcctatttatgtcaaataatcgatgtgataca +agcttagagctgaacgagcgcgagtggaattagcggtgatctctatcctaaaaagccacg +aaatcgatcccagaagctaatacccgaggtgtcaagcttgagttcagttaaatttgcatc +tcatgccccacgaagaatgggtagagagtttgaaggtgcttctggattttcctaagtacg +tggtaaaaatttgatgtaaatgaacacctcctaatggttgtgttaaccacaaacccctgg +gtgaatctgattagccaacccagtgatctgatttcagttgtcaaatctcttttttataac +taccttttgtttccataatttaaccggatctcataatgaacaaacgggtagaataatggt +agcacatagcgagcttgtctattcagaaatatggcctactcagaatgtattctccaaatc +agtgttatgcgaaacgtaattttacgtgtaataatgatgatttcttatcggttccttgta +ctacaatactcttgcccaacaaatactaagcataacagcaaaattcgaatccccctcctt +ttaataaatggtttttcaatatagccgattcgtattcgttagtctttcaccaactattaa +cctggcatctaattaataaaatcaccaaaggactctataatatgacagtcacttcggcct +cttttaagacagttgattattgcaggtccgcaattgatggtgacatgcacaattagttag +aatccgactatggagacaattaacaattgtagtgcccatttggtccagttgacttcaacc +acgagttataaaggtattttaatttatagtcgatagtaccaacaacaagcacaatcataa +ttatgttagaaaacccagggggtaatgctctaaatccagctttaaggccagagtgcacta +tgaaatcgccattgatcattgtgtcattcgctgaacttggtgtctaggaggtgccgagtg +agaatatcagataccttatgaagcaacgattatatctggactagatcatgatgatcggaa +taaaacattgaaataagtccttatcaaggagcataaacattttatttaatttatacttcg +taaataaattcagaattttttttcaagacattaatctgagtaaatgacggctagaaaggg +ttcctactcgaatcgtagcctacgcatgtgggcagtaacctggcttgcgtttttactgaa +acaaaggttcaccggaaagaaggctgccacttttagcttcttgacgatctttagcgtcat +atttttagattagtcgaaaaacggaaaacaaacttaacgaagctggttgcacggggtacc +gagaaaccaaagagcaggacaactccttgatcgggaagaactgaaatagacagctgtcat +tttcattggtcaacttatcaatataacgaccaccgtagtgacgcttgcatgaaaatactg +aggatgtaaactatagccagtcaggcccgcgtgttgactaattgatgaagcaaacaaaat +agccggtattcgttaaaaggaacgggttgccagctacagatatactctaggtatatccca +aacaagagacgtcctttggctgttgtaatcggtcataatacttgtcacataaacaagatc +gctgaattaaacattaaacagttagtgatacacaatcgtggttggggctgggatgtgcaa +taaaaagtcatctatcgtctatcacagagcgacgtaaatttagacaaacattattatttc +ttgacaatggaatcgataagcgttcctctaacttggtatatatatctcgaccccgggatt +ccagccattcttgtatgaagatttaaccatttaactatgcatagttgaatggtaaggaaa +atgatattgactgcaacagattttggatgcaaaaatatttgtgaattattggttatatac +tggttgtatagcacaatcattaggtcctagaaggcatactcaacctcagcgagagagcta +gcatgcataattgtaccgcccatattaatattcctgaaatgatttcttacattacgccca +atttcagtcatcgaacacccccatcaatttacccgatagagaacgtgatcatacgcaata +ccctatgcgaacgtccactctatagcgtctgtatacaatgattattcgttccatttacaa +cgttaagtaatttaaacttacataaggacaaggaaatccgcgaacctcctggaatgtatg +agttatttatgcagttaacttcgtctcgaccggaactaaaggcgtcgtacgaatgaaagg +ccacttttagaagagacctttgtatccattgtggagaatatcataaattcaagatggggt +gtcatgctattcggtcctaaacattcttaatggctgttctattgttagtctgatttaaaa +tggaaccatagcacgaatagttagatagggctcatacccctgtaacgatctacaaatcct +tccccgggtgtgtgcgttagcgacggaaagttttacggtttgtgatcaaagaacactcac +acgtcagattattacactgatacgaattatttcagtcgacagtaattgaatagaaactta +ttaacgccagcacctgacacggtaagtaaggcaggtctgaactgtttgactgtaaaaaaa +tggtaatatttttaaaaatcttgatttctatatcaaatgatgtgtagttttttctctgtt +attaaaatcccagtgcgcgaaatttagatcgttacgactcacgtacaagatcacacatca +cacgcgttagcgaaagcggaatggctaatacagccctacgcaacgtagtgggatcaacat +atggacgaatttatgctcaatgagccaacctcccccgcattgcggttcattttaaggcct +gggtaacatctatcgtttagataatcaaaggaatccgactatgcaattgtctgacttcat +ccgctctcaagtccaatgcaggcgctacgtgtttctttaatcaataccatattgaaatcg +taatacgataattgttgctattgactacaggttatgaaaaaacttactttgcgggtacat +gcatatttttgtaccacattattacgcgatatctctcagtgtactctaaattaaaccctc +ttcgaacattttagttcctattcgtaaacacgtgctacgcggcaatttgccggtcgtaga +atggacaactccagttcaactgcatgtaactcatagctcgcgttagtataaattgactag +tagccatgggacaaagtaactagtcagcggaaaagatccctttaaagatatatgcaggtt +gcaagcataaagctcattgctcgaggtgcaccgtggtattccaaaagcgtctctatcgta +tcttctaattttgggccgtgagaatcgaaactactctgatttgctgcacacgttaggtaa +tatcgcccattttcccgtataagctccgtacttatacgaactacacgaccttttaagcat +tagccgctcatatcgtgattcgtgtacagatgagtctattaaaattacagacatactcca +tatctcgctccttgaactttgaataatgcgctaacttgtactatgaataggcagaaccca +actttcccgtttgcgtcaagcggggaaacgatacatgttgtcagatttatgattatctag +ttttagatcacgtttaccgataatcggctgtggtctgagcagtcctacactgagtattta +cttcagcttcatatcggtccgaaaaaaggttgtgaccgaatgtcaaaatacggagtacga +tgggcatcttttttcgagtcgcggttgcagggcagcaaaaggcttaaaccatttttacga +tttttactatagcggtcatgaagtgcgaaactgcttgcaaattttctacacacattgtgg +ctcttgtccttgaagcttatggcgaaaatttgaaacatagtataccagggaaagcgcgaa +ttatttggtgactaatagtccgtgggtttgagccatatacctaacgccataaactacgtg +gtgctttagatgcaatctaaacagaacagaaagcgtagcgctcatcagcacagactaact +ttttcagtttgagtcgccggagggacttcgagacaagaacgcgtcaagtcgcttgcgcgg +cacggattcgattgggcggctcaatcttgcctaatttctactattgtcagctgtacgact +gtactaagtgtatagccccaaataaaagaagtatcgatgcgtctttatgaccaaaggtct +tataattgaagcgcacttccgttcatcaaattaaatcctggcttacccgattctccggaa +gtctgacctagagattgacgacggccgcgtattattgagacctcttcaggattaatcaat +aacgaagtagttgatctgtttggcgacgtaccttaagccgactccgctacacgagtttct +actaaaccaatgtagccttatgcttagatgaataccgtcctaattagatattccggcata +acagcagtaaattatctgttcaatggacgaacattgaattgttagtattctacacaagtc +aggcctcgtaaatattaggtaaggccgtgggataacctacgtgatatgcttgagcttgcg +ttgcaagctctcgttaatcattaatttaggtgcgtgagggttaaacaccagcatattcta +tatgctagacgtcttccttaaaggatcgtagtattataattaataataagaaatatggtt +gacgtctagtcagcgggcatacgctgctctatatactggcattattcaaaacttgacggt +aaaaaaacgaattttaaggcgctcacgtcgaatgagccgaactcatgggaaccaaaatgt +cacagaaaacacctctttattgccaagcatgcaataaaaaaaatgttaatagtacgttta +cgacattttattttataataaagagaaactattacacctattgatatgataggacgtaaa +ttaacgagtagcctgcatagaggcaaatgaggtttctacatggtatagacctgatgctga +aacatcgatgagttttggtcccctcgctcgttgaaatctagtcatttactactgtctttc +gagctattataccacttcactatgtggtgtttctttgctatgtatggggctagtcaaaca +tgatgactatagctacaactcagagagcgggcgtgttaagagtatctcatgctagaactg +cacgacgaacttgatacaaagtaacaacatttacgattccacaaggtgactttgaagaaa +catagtttaattctctgcttcgatcatttctataaaccggtaccatcgcagcggatagat +gcataacatttctactactccaggcatcttaaaacacacgtagtacttcactagattaag +acacgataagtgtataacttggcagtgggaagcaaggagattggcgaactcctggcatct +gttacgttttgttcaggctcggttgttgataatgtccgactcctgccatattgaagactc +gctcgagggagatcgggattcgttgattataagtacacgtgttccgtaatactatgaggc +agtgattcaaaatggcacttctgacttacatgactaggtattattaccacggaagcgtta +aaggcacactcttatggacttaagattgcaagtgccttcttctagcctgaattcgcgggt +tcaacacaaactctctttagacatccgttgcctaaaggctgagacgtaggggcaaccctt +taactatgtactaaaaaactagttggtaatttaacaacgtgtccaatcaagacgatgcac +caacgcggtgcgaaaatcgggttaagcaaacacaaataggaattgtgataaaccccacct +tgagaggtcgcaagaccaacctcgggaacaacggctctaagagaataacctaaatccgga +tgagtagactgtgtaactctctaaagggaagtgaaaaaaagctaagcatacatttaggtc +tcctgcattgcattcaattgaatcgtttgtattatgagctgtacagtagctatatcagct +atagttatcccagaggaacaggtaaactagctctgagcgtgaaatccggatattagaacc +cctagatgggattgattctagctaatacaggcttatctggttttacagttatctagatga +ttggtaaggtgaaacgcttggtgccttccaccacttaaacaaaagtattgcccgggaagc +tattttctaggtattataaagtcgagcattaatatcaatttgacagtaaaggtctttcac +cagcttcatatgccatagggcccatactcgatttaaattgaacggtttaacgagtattgg +aactctcacttataactgagtagctatacgaaaaatctggtccatttccagaaatttatt +atcgatttgctgcttagtacccaggaagtgataacccttgaaggcacaacactgtaataa +gttttcctgtcacatctgtaatattcggtcactacgcattcacgactaaagataattact +atactaattaaaagttcaatgttagggccgaatcatagtagaaattctcgtctagcctaa +tcggacttacctatgggctgtgaggatttatcagtatgtggacaaaaatgctagagatag +gtatagttaaagtcaccatggtacatctatgtgaggaagtttgtagttcgcttctttagt +ccgggcgtttgggatgacaactactatacgtagagccgtactcaggattagatagtgtga +aagagtcaaataaaagggttaatattaatttaacgttgcaaatgtgtttaggccaaacat +taaccgttgtagggatattctaatacaggccttcaccgaaccctaatgataatctgtctt +aataacattaaatgattgtctccgctacgagctcttagggcctcattttaaatgactaat +gtccaaagaagagactttcccaatttcaatctgtcacgtatagacggcaccttagtgagt +catatcattaagatagaagattatcaggagggaagtttctattatcaaccgttacgcaac +cataaacttttaaatctcataatggcattgagatcaagagctttcatgatggtaaagttc +gtatgtgatgctggggagctagatatcggtataccacttcggttgtggtaagcccgagtg +ggccgttagtaatattaatagacgattatccgacaatgcattcgctgaaataatcttact +taggagaaattaatgctatgagccaaaactatttatgtctgtcacattattgactaaagt +atctatcgacaaaactgatgtccataagttgtagcagatagtcggtgtatggtgtcacca +atgaaaacctcgagcgaaaaatgaattatagttatccaatttgagtaaattgcctattat +acagataggcttgtttagtcagataaggttccgcttgaggtgctctaacttagcgagagt +tagaaagcctagtgagaggcattttggtgccaaactccggctcgcatgagtaggccagag +agtcactttctttcgtcgaagaagttggtgaacagccttttgattagttgtttgtcttgt +ggctatgtgctactatataagttagaacgcaaactaatctaatcagcaaagtaaaatagg +accttgaacgagacggggtacgccgttgaggctcgagatagtagataaactagaggaatg +tagataaaacattagctagggggtttagttactggattacataggaagtgcaccatcacg +gtgtgggggttcgtacgtaaagtcgcatcaatattgtcagtggacttaacaagttcgtgc +ataatgaaatcctatacggactttgcatatctctaccgactcatctggtcgtctatgcgg +gtaattgtattgctccaagtggatgactattttggcgtcccagcacatagtaaatgtaaa +tccttataatagcataagcaattattagactgcgtgaagtcttagtagttctcaagcttt +acgttgtatgtaaataactcacgtaatcagccgtccccaaatcaccattgaggtcattga +atgtacggagcactattatcaatgcggtatgcgattttctgagcgattattgttaaagac +ttagcgttgagccccggaacacttgattacagattctttaaggagttatccaaatatcat +tttaaataatagtagtatcgtgctttggacaataaaaaaagacccgttctcttatgttgt +tttgcgacgtacttctctgatatatacttcaactatgaagattctattcatcgataaccc +aggtatatttatatgcccgttcactgcgcagggcaaattatctacggacaataatgacgt +agttggacccggtaagaactaacgcttaatatgattaaggatgtatgccagtattatctt +attatgtcagagtagaagtttctctgagattttccgtcgttgtggtacaccggatttggc +tctctttttagaactgagaactcggagtgtgtagtcttgtttccttcaatttatcaatat +gcttttataccgccctcatcaactataacaggacgacaagttccgtcttgctccatcata +tactaccgatacaccaatcgtatcaagtttagtatacttgctttctctcttctacagctt +actcgcttgtccgagaagcggttggtgctcataaagttagtagtaaatgtacaactagta +gccagtccttacctgtttttacgactactacggacaccatgagatacagaagttagtgct +acaattataccattacatgctcaatatcgttgtcggccataagatcgaagagtgcatcac +gcgtgtgaatacgtaaaatctaccatcccgtcaatgcacaaaaacacactccccttgttg +actaacatcttttacaagaggctaaatcattgtccaggatcgaataccttgtgtacaatc +gtcacccatcggaagaataccacttttccgatgtagtatgatttacaaaaaacatctatg +tgagtaggccaattgtagtagaatatattcatttgaccgtcattagccttcttcttaggt +tgtgtacggatagtaggtacataaaccgtcgtgtggcatacgctgcgatttcatacagct +gccaacaccttttttaccaggctagagtcagaaaagttggagccatgttaaatagttacc +atcataaaccactgttgtctactagtctgatcagctttcatgcctgtgcaagcaatatgg +attctcacgtaatggtaacaactgttgcgttacttaggctggttaatttgtcagagtaat +aaatacatgtcttgttgtgtttcctaatcctcggaaagtacacaagcctaggaataggaa +aagtaaagctcttttattctgatagtgactaactcaggatctaaatacgcgattatacta +accttcaccaaagctcaaaaatcatctgctggtgaccagttatagacagggtaattcaat +atttaatgtctcccttaacatttcaccagcatggattgaagatagtataaagttttacat +ggcagtcattgtgtcacggttctatacaaattctgatagttagacggtatttgaaatgtg +cttctagcatggtatcttacacaactgaatgaacgactggagccgttcgtatactatttg +cgagcctcgagaccccgtttcctaatgttaacgaatatagtataatataaattgtgatat +gaataacacaagtaactacagtttggacaattaattgttctaaactaaaaatcattcact +tcagatggcatagagttatggctactacacatataaagcggtatgtgaaacacccgtttt +agccggaaaccctctactgctcgggacaatgaatgatttccaaaatatggatgtgcagaa +ttgttagtgtgactcaggtccaaatagacactttagtttcgtcaagtcgttgcaaagttt +aaaaccatcgcagcattctttatttggtctacattgagaaatgaaaaaacgtgacagaaa +gtctagaagaactgtgaataatgtctattactgattaactagtaagacattagtgcatct +ggtccactgaagcacccgcttggcgttaggcaatctctgtgaactgtcgtggctgttccg +gtaatgtacgaaagcaagcctataggttgatcgagtcgcttcattaaggtcaatttcaca +atatccgatcacattgtgctaggttcgtcctttaccttgcttagtgctgcatgtacgggg +tgtcatgacttgttatcggcagactctttatcccaagaatggataatatgtacatggaaa +gtgtccataattaagtcccttcactgtaaagaatgactgccacgtgatccatgaggtcta +cagaaaccgacttacttgctttttgatcaacttaattatggattcataaagttcagatat +cggtacaattggtgtacaatatgaaattaatgaggaaacatggaaatctgaatgacagtg +atagaaaagatccccatttgcccggtcagttcatgttacaccactcattagtactgtaag +tgtttcgtcagcattgagatccacgatcatgtgtttatgccttcgaaactggatgtacga +cgatcgagacgaagaggtatatataacctaaatactaggtacgttgttagagagacgatg +aaaattaatcgtcaatacgctggcgaacactgagggggacccaatgctcttctcggtcta +aaaaggaatgtgtcagaaattggtcagttcaaaagtagaccggatctttgcggagaacaa +ttcacggaacgtagcgttgggaaatatcctttctaccacacatcggattttcgccctctc +ccattatttattgtgttctcacatagaattattgtttagacatccctcgttgtatggaga +gttgcccgagcgtaaaggcataatccatataccgccgggtgagtgacctgaaattgtttt +tagttgggatttcgctatggattagcttacacgaagagattctaatggtactataggata +attataatgctgcgtggcgcagtacaccgttacaaacgtcgttcgcatatgtggctaaca +cggtgaaaatacctacatcgtatttgcaatttcggtcgtttcatagagcgcattgaatta +ctcaaaaattatatatgttgattatttgattagactgcgtggaaagaaggggtactcaag +ccatttgtaaaagctgcatctcgcttaagtttgagagcttacattagtctatttcagtct +tctaggaaatgtctgtgtgagtggttgtcgtccataggtcactggcatatgcgattcatg +acatgctaaactaagaaagtagattactattaccggcatgcctaatgcgattgcactgct +atgaaggtgcggacgtcgcgcccatgtagccctgataataccaatacttacatttggtca +gcaattctgacattatacctagcacccataaatttactcagacttgaggacaggctcttg +gagtcgatcttctgtttgtatgcatgtgatcatatagatgaataagcgatgcgactagtt +agggcatagtatagatctgtgtatacagttcagctgaacgtccgcgagtggaagtacagc +tgagatctatcctaaaatgcaaccatatcgttcacacatgatatgaacccagggggaaac +attgagttcagttaaattggcagcgaatcccccaagaagaaggcggagtgacgttgaacg +ggcttatggtttttcagtacttcctccgtataagttgagcgaaatgtaaacagaataatc +gttgtgttaacaacattaaaatcgcggaatatgatgagaatacacagtgtgagcatttca +cttgtaaaatatctttggtagaacttactttgctttaaatatgttaaaccgatctaataa +tctacaaaacggtagattttgcctagcacattgcgtccttctctattcagatagaggcaa +tactcagaaggttttatccaaagcactgtgttgactaacctaagttttagtctaataatc +atgattgattataggtgccgtggactacatgactcgtccacaaataatacttagcagatc +agcaattggccaagcacccgacttttatttaatggttgtgcaatagtccagattcgtatt +cgggactctttcaaataatagtttcctggcatctaagtaagaaaagctcataaggaagcg +atattatgacacgctcttccgccgctgttttgaaacttgagtattgctcgtccgaaattg +agggtcacttcaaaatttactgagaagacgaagatcgactaaagttaaaatgctagtcca +cagttggtcaagttgaattcatccacgagttatatagctattttaatttatagtcgagtg +tacaaaaaacatccacaataagatttatcttagaataacaacccccgtatcatcgaaatc +ctccgttatggcctgactcctcgagcttatagcatttgtgctggcgctcttgccaggaac +ttgctcgcgaggtggtgacgagtgagatgatcagtttcattatgatgatacgattttatc +gcgactagttaatcatcatagcaagtaaaatttgaattatgtcattatcatgctccatta +acaggttatttaattgatactgacgaaattttttcacaatgggttttctagaatttaata +tcagtaattgaagccttcataggggtcctactagtatcctacacgacgcaggtccgcagt +atcctggagggacgtgttactgattaaaagggtcaaaggaatgaaggctcacaatgttac +ctgcttcaccatagtgagccgatgagttttacattagtactaaatcccaaatcatacttt +acgatgaggcttgctagcgctaaagagaatacatacaccaccacatagaattgttagcga +tgatatcaaatagactcctggaagtgtcagggggaaactgttcaatatttcgtccacagg +actgaccaggcatggaaaagactgacgttggaaactataccatctcacgcccgacgcttc +actaattgatgatccaaaaaatatagcccggattcctgattagcaaagggttcacagaga +aagatattatcgacgtatatcccaaaaaacagacgtaatgtgcatcttcgaatcgggatg +aatacttgtatcataaaaatgtgacctctagtatacaggttaatgttagtgatacacaat +actcgtgggccatgggttctcaaataaaatgtaatattgcgtcgatcactcacccacgta +tttggtctaattatgttttatttagtgacaatccaatagataaccggtcctattaagggc +tatatttttagcgaccacgcgtttaaacaaaggattgtatgtagatggtaccagtttaat +tgccagtgggcaatcctaagcaaaatgagattctatcctaaagtttgggcttgatataag +atttcggatgtatgggttttataatcgttggagagctcaatcatgagctaatacatggat +ttcgctacctcaccgagagaccttgcatgaagaattctaaccaaaagtttaataggccgg +attggattgagttaattaagaccttgttcagtcatagtaaaaacccttaaattttaccga +ttgacaaagtgagcagtcgcaataccctatgcgaaacgcctcgatagtgactaggtatac +aaggtttttgagttcctttgaaatagttaactaatttaaaattaattaacgacatggaaa +tcacagaacctaatgctttgtaggagttatttatgctgtttactgcctctacaaccctaa +taaagcagtcctaagaatgaaacgcatcttttagttcagaaagtggtatccagggtggtc +aatttaataaattcaacatcgggtctcaggatattcggtcatataatttattaagggctc +ttcgagtcttactctgagtgaaattggaaacagtcatccttttcgttgtgaggcatctta +caccgctatcgatatacaatgcattccaccgcggtgtcccgtacacaaggaaacttgtta +ccttggggatataagaaaactcacacgtctcattattaaactgagtacaatttttgcacg +agaaagtaatgcaatacaatatgatgaaagccagctaatgaaaagggatggaacgcacct +cggatctgttgcactggattaaaatccgattatttttaaaaatattcagtgctagagcat +atcaggtctacttttttatctggtatgtaaagcccacggagcgatagtgagatccttacg +actcaacgaaaagttataacataactcccgttagccaaagcccaatcccgattactgccc +taccctaacgtctgccatctaaatatcgaacttgttatgatcaatgtgactacctcccac +cctttccccttcatttgttccactggggataagctagcgttttcagaatcaatgcaataa +gaatagccaattgtctcacttcatcagagctcttggcaattccaggcgctacgtggttct +ggaatatattcatttttcaaatagtaatacgtttagtgttgctattgtctacacgtttgg +atattacgttatgtgagcggacatcaatagttgtctaactctttagtaagccagagatag +cactcttagcgaatggataccatcttccataagtttagttaatagtccgaaacaactgct +tcgagcatatttgaacctccttgtaggcaaatagcctcttcaaagcaatcttactaatag +atagagtttgttttaagggactactagaaatgggacaatcttaatagtatgacctaaact +gacatttaaagatatatccaggtggcaagcataaagatcattgcgccacctccaccgtgg +gattacttatcagtcgatatcctatatgctaagtttgcgacggcagaatacaaactaagc +tgagttgatgctaaccttacctatgataccccattggaccggttaacagccctacttatt +ccaaataaaagaacttttatgctgtagaagctattatagtgatgcctggtaacttcagta +tattaaaatgacacacatacgccatatagagctcctggaactttgaataatgagcgaact +tcgaagttgaagagcaagaaaccatatgtcacggttgcctaaagcccggtaaccagacat +gtgctatcattgatcattatcgaggttttcataaccttgacccattatcggctgtgcgcg +gacaagtacttaaatcactagtttcttcacctgcttatcggtaagaaataaggttggcaa +agaatcgcataagacggacgtagagccgcagcgttgtgcgagtccaggtgcatgcgcagc +aataggattttaaattttgttccatttttaatttagccgtaaggatgtccgtaaatgatt +gaaaattggattcaatctttgggcctatgctactggaacctgatcgacaaaatttcaaac +atacgttaactccgaaagaccgtatttttgcggctagaatagtcagtcgcttggagccat +ataccttaccacttaaacgacgtgctcctgtagttgaaatataaacagaacacaaagact +accgatcatatcaactgaagatctttgtaactttgaggcgaagcaccctcttcgagacaa +ctaagagtaaagtaccgggcgccgcaaggagtcgattgggaccctaaatcttgacgaatt +gctaagaggctcagagctaccactgtaatttctctagagcccataataaatgaacgatac +atccgtaggtagcacctaagggattataatggaagccaaatgcagttaataatattatat +actggcgtacacgattcgacggatctctcacatagtgattcacgacccccccctttgatt +gacacagcgtcagcattttgcaagaacgatcttctgcatagggtgcgccaccgtaaggat +gacgtcgaagctacaactgggtataatttaccatgcttccctgatgctgagtgcaataca +ctaagaatgagtttttaccccatatcaccagtatttgttctgttattgcgaagaaatggc +tatgctgagttggcgactaaagtcacccatcctttttattaggtaaccccctcccttaaa +ctaactgatttgctggagctgccctgcatacatatactttatcatttatggacgtccgtg +acgcttattatccaccatagtcgatatgctacacggattcattaatggatcgtaggagtt +taagttatatttactaagatcggtctcggctactatcccgccttacccggcgctatttac +ggccatttttaatatattgacggtaattattcctatggtttcgaccgcacgtccttggac +aagaaagaatggcaaaaaaaatgtaaaagaaaaaaaatattgagtccctaccatcatata +aaaaatatgtgatgagtaacttgacgaaatgttagtggttattaaagactatctattaca +ccttttgttttctgtcgtagtatattaaagtctagaagccttacaggaaaatcagggtta +tacagccgatactccgcagcatgaatcatcgaggaggtgtcctaccatcgcgccttgtaa +tcttgtctgtgtatactgtatttagaccttttatacaaagtaaatatctcggctttatgt +gattgggaggggcctactcaaacatgatgacttgacctaataatcactgtgcgggcgtct +tatgactagctattccttgaaatccaccaccaaatggttaatatgtaaaaactttgacga +tgaaacaaggtgaatgtgtagttactttgtgtaattagctgcgtcgagcattgcttgtaa +aaccgtcaatcgcacacgttacttccataaaatttctacgaatacacccttcttaaaaaa +aacgtaggaattcacgagtttaacaaacgataactgtataaagtggaagtccgaagaaag +cagatgcccgaactactcgaagatgtttcgttttcttaaccataggggcttcttaatggc +ccactacgcacattttgttcaagcccgagagggacatccccattacgggagtattactaa +aactgttccgtaatacgttcagcaagggatgaaaaaggccactgctcaagttattgacgt +gggagtattacatcggaagcctgaatcccacactatgatggtctgtacaggcctagggac +tgcgtctagacggtattaccggcttctaatcatacgatcgtgagtcttaacgggaagtaa +ggctcacacctaccccaaaccatttatctatgtaagtataaaattgtgcgtaagtgttca +aagtggacaataaagacgtggcaaaaacccccgcacataagccgctttagatttcacaaa +taccaatgcggttaaaaacatccttgagtcgtacatacaccatactcgcgttaaacggat +ataacagaagataataaatccggatgtggagtcggtgtaactatagaaagccaagtgaaa +taatgcttaccagtcatttagctatacggctttcatttcatgtcaagagggtggagtttg +acctgtacagttgatatatcaccgatacttagaactcacctaaagctaaaattgctcgca +gcgtgtaatccgcatattacaaacaatagatgggattcattatacataagacacgatgat +ctgctttttcaggttgcgagatgttgcctatcgtcaatcgagtcctgccttacaccactt +aaacaaaagtattgacagggaacctattttcgaggtattatatagtccagcttgaatatc +aatttgacagttaacctagtgaaaatcagtaagaggaaatacgccacattctccagtgaa +attctacgggttatcgtctagtccaactatcaattataactcacgagatataagtaaatt +ctcgtacttggcctgatttttattatactttggatccttagtaaacaggaagggagaaac +cttcaacgaaaaacactggattttgttttactctcaaagctcttatatgacggaaatacc +ctgtcaagtcttaactttattactagactaatgaaatgggcttggggtggccagaatcat +agtacaatttagcggatacactattcggactttcctatcggctgtctggttggataagta +tggggactaataggctagacatacctatacttaaactatacaggcgtcatctatctctgc +aactttggagttccctgatgttctcccgccctttgggttcacatcttctataccgacacc +cctaataacgattagtttgtgggttagagtaaattaatacggttaatattaatgtatcgt +tgaaaagctggtgtcgccaataaggtaaccggctaggcagagtatatgtcacgaagtata +actaccctaatgataagctgtaggaataaaattaatgctgtctctaagcgaagagatatt +tccgactctgttttaatgacgaatctcattacttctgacttgcaaatgttcaatatggca +cggtttcacggcacctttgtgacgcatataatgaacttagaagattataacgacggaact +ttatatgataatccgttacgattaaagaatctgttaaatatcataatggcattcagttct +agaccgtgcatcatggtaaacttactttctctgcatggcgacatacatttcgctattcaa +attcgcgtgtggttacacccactcgcacctttggaatattaagagaagatgatcagaaaa +tccattcgctcaatttttctgacgtacgtctaatttatcctaggagacaaatcgttttat +gtctctcacatttttgaagaaaggttcgagagacaatactcaggtcctgaactgctagaa +gatactcggtggagcgtggcaacaatgaaaaactcgtgacataaatgaatgatacttttc +caagttcagttaagtgaatatgtttaacatacccggcttttcgatcttaagctgacgctg +gacgtgcgagtaatgtcagtctcttacatacactagtgactccaagtttcgtcaaaaacg +ccccctcccttctcgagcccactcacgctatgtattgacgcgaacttgttcgggatcaga +cttttcaggagttcggtcgcgtgtccctatgtgctaatatataagttagatcgcattaga +tgctaatctgaatacttatagacgaccttcaacgagaacgggtaccaccttgaggctaga +gttaggtgtgaaacgacaggtagggacatataaaatttgagtgcggctttagttaagggt +ttaattacctactcaaacatcacgctcgcgcccttcgtacgtaatcgaccatctagaggc +taaggggactgtactaggtagtgattaatgatatcctagacgcacgtgccttagatcttc +agactctgatggtccgcgatcaccgtaattgtagtcctccaactcgatcactttgttggc +gtcaaagaaattacgatatctaaatacttataatacaataaccaaggatgagaatgactc +atcgcgttggagttatattgcttgaagttctatggaatgaaagcacgttatctgccgtcc +caatatctccagtgagctaattcattggacggtccactttgatcaatccccgaggagatg +ttcggacactttagtctgtaacacttagcgttgagaccacgaacaattgattactcagtc +ttgaaggtgttttccaaagttcattttaaataagactacgataggcctttcctattgata +taaactacccggctctgttgttcgtgtgagtcgtacttctctgtgtttttctgattatag +caagattcgattcttagtgtaaacagcgatttttatttgacccgtcaatgagaagcgcat +aggatctaagcaaaattatcaagttgtgccacaaggtaagatctttccagttattgcagg +taggatgtatcccacgttgatagtatgaggtctgacgtcaactgtctaggagagttgacc +gcgtgcgggtacaccggatttgcatcgatgttgagaacgcagaactcccactgtcgtggc +ggcgttcctgatatttagcaagaggcgttgataaagccctcatcatctagatctcgacct +catctgccctcttgctccatcattttctacacagactactttcctatctacgttagtata +attgctttctatcttagtatcatttagagcttctccgtcaacaggttcgtgctattaaag +ttagtacgaaagggacaacttgtagcaacgcatttaatcggttttcgactacttcgcaca +aaatcagataaagaagtttgtcattctattagacattgaattgcgcaattgacttgtacc +acttatgatcgaacactgaatcaagactgtgattaactaaaatagacaagccactatatc +aactaataaaaacgcccctggtggtcgaacatagttgactacaggataattaattggact +ggagccattacattctctacaatcgtatcacttcccaagtagacaactttgaccttgtag +tttcatgtacaaaaaaatgctttcgcaggagcacattggtagttcaatagtttcatggga +acctcttgagccgtcttctgtgggtgtgttcggatagtaggtactgataaagtcgtgtcg +ctttcgatgagagggaattcaccggaaaacaccttggttaacaggatagtctatgtaaac +ttcgagacatgtttaagagttaccagcttaatccacggtgctctactagtatcatcagct +gtcttgcctcgcctagaaatatgcattctatcgttatcctatcaacggttgccgtactga +gcagccttattgtggaagagtaatatataaatgtagtcttgtctttacgaagcagacgta +agtaataatgacttggaataccaaaactaaacatagtggattatcatactcaagaactct +ccagataaataacagtttttacgatacgtcaccaatgagcttaaagattaggatcctcaa +aactgatacaaacgctaattcatttgttattggatccagtatcagttaaactgaatggag +tgaagattgtagaatgttgttctggcctcgcatggggtctaggtgatatacaatttctca +tacttacacggtagtggaaatctgattctagcttcgtagctgactatactcaaggaacca +ctgctcaaggtaggagactagttccgaccctacagtcaaagtggccgaagcttaaactat +agactagttgttaaatgctgatttcaagatatcatctatatacagtttggacaattatgt +gtgcgaaactaaaattcatgctattcagatggatttcacttatgccttagaaacagatat +tgcccgagctcaatcaacagttttagccggaaacaatcgaagcatagggacaatgtatct +tttcctaaattgccatgtgcagatttctgagtgtcacgaagcgcataatagaatcttgtg +ttgcctcaactcgttgaaaagtttaaaacaatcgcagcagtctttttggggtctactgtg +tgtttgcaaaataactgaaagaaacgcttgaacaactctgaagtagctcgagtactcatt +aaagtgtaacacattagtgaatatcggccaatgaaccaaacgcttcccggtacgctatct +ctctcatcgggaggcgatgtgcaggttatctacgaaagcatccctttacgttgagagtgt +cgatgcatgaacctcattgtaacaatagcccagcaaattctcatacgtgcctcagggtcc +gggcgtactcctccatggaagggcgcgcatctagtgttataccaactcgctttttaacta +ctatgctgtagttctacaggcatagtggccagtattttctaacttctctggatagatgct +ctcactcctcatccatcacggcttcagtttacgtcttacttgcttgttcagcaacggatg +gaggcattaagtatcttcactgttccctaaaattgctgttcaatatcaaagtaaggacga +tacagggaaagctcaagcacactcattgaatactgccccagttgcaacctcacttaatct +gacaaaaataatgactactctaagtgttgcggaagcagtctcttccacgagcttgtctgt +atcacttcgtataggcatgtaactcgatagacacgaacaccgagtgagaaactatattct +tgcttccgtgtgtgtgacaccaggtaattgatgcggatataagctggagatcactcacgc +ccacacaaggcgctgctacctctttattccaatgtgtaagaatttgctaacttcatttct +agaccgcagctttgcggtcataatttcacggtacggacccttgggttagagacttgataa +cacacttcgcagtttccaccgcgcacatgttttagtggcttctaacatagaatttttgtt +gtgacataaagagtgcgtgggagacttgcccgaccgttaagccataatcaattgaaagcc +ccgtgagtcacatctaattggttgtactgcgcatttagctatcctttagctgactcgaag +agattcgattcctaatataggttaattagatggctgccgcgcgaagtaaaacgtgaaaaa +cgtagtgcgcagatctgcataactcgcgcttaattacttatgagtagttccaagttcgct +acgttatgagagagattggaattaagcaaatatgttttatggtgattttgggatgagaag +gactgctaagtacggctactaaacaaatttctaaaaccgccatctaccttatcttggaga +catttaagttgtatatgtcactagtctagcttttgtctgtgggacgcgttctcggaatga +gggaaatgcaagagccgattcatcaaatgcttatctaagaaagtagtggactattacacc +aagcacgaatgccagggaactgctttcttgctcaggacctcgcgacaaggtaccccgcat +aagtcctagaattacatttggtcagcaatgctgacatttgaccgtgaaaacataatttta +atcagaaggcagctcacccgcttgctctagatcttatctttgtatgaatgtcagaattta +ctgcaatatccgttccgaatagtgagggcttagtatagttctctgtatacaggtcacatc +aaactccccctgtcctagtacagctctgagctttaattaattgcatacatttccttcaat +catcagatgaaaacaccgcgaatcatgctcttctcgtatagggcaagagaagcaacaaac +aactagcccgactcacgttcatccgccgtatccttgttcagttcttactccgtattaggt +cagcgaaatctaatcagaataatcggtcgcgtatcaaaattaaaatcccgcttgaggttg +acaattaaaacgctgagcagttatcggctattagatagtggggtgaaagtaattggctgg +aattatgttaaaacgtgatattaagctaaaatacgctacttgttgccgacctaattcagt +cattcgatattcagttagagccaagaataacaagcttgtataaattgaacggggtgcact +aaacgatgtgttactctaatattcagcttggagtatacctgaaggcgaattcatgtatcg +gccaataataagacgttgaagatcacaatttggactagcaaaagaaggtgatttatgcgt +ggggattgagtccactgtacgagtacggtctctggaaaattataggttcagggaatataa +ggaagtaaagataattaccaagagatttttggtatcgctatgacccagaggtgttctaac +gtctgttttgatccgcagaatttctgcctcaatgcatatttgacggacttgaactagagc +ctctaaagttaaatggcgacgcaactgttcctaaacttcaattattactactcttttttt +cctagggtattgtagaggccagtggacaaaataaatcaaatttaagatgtttcggacatt +aacatcccccgtagcatagaaatcatcagttatccaatctctcatcgagcttttacaatt +tctgctggcgctatggacagcatatgccgcgagacctccgcaagactcacttgatcactg +taagtatcttcattagaggttagagcctatagttaagctgctgacctagtaaaattggta +ttttctaattttattgctcaagttaaaggttagtgaagggataatgacgttatttttgaa +caatgggttgtattcaattttatatcacgaatggaacccttcattcccggcataatacta +gacgacacgaacaagctccgatctatcagccaggcacgtgttaaggtttaattccggcaa +accaatgaagcatcaaaaggtgacctgatgcaacttagggtcacgatgagtttttcagga +ctacttattacctattaataagttaacatgagccttcataccccgtaagacaatacatac +tccaccaattagaattctgagccatcttatctttttgtatcatcgaagggtatggccgaa +taggttaattagttactcctaacgtctctacaggcatgcatttgacgcaccttcgaaaat +agtcaatctctcgccacacgcgtctagtatgcagcatcaaaaatatagtccacggtttcc +ggattaccaaacgcggcaaagagaaacattgtatcgacggagataacttaatacagaagg +aaggggcatcttcgaatacggatgaataattctatctgtttattctgacatcttgttttc +aggttaatcttacgcattcaaatgacgcctgccccatgcgtgcgcaattattttctaata +ttgacgagagcaatctcactccttttgggtctatttatgttttattgaggcacaagccta +tacagaacaggtactattaaggccgtgagtgtgagactcaaaccgtggaaacaaaggatg +ggttgttcttggtacaagttttagtgcatgtgggcaatccttaccaaaatcagatgctat +ccttaactttgggctgcatttaagatggcggttggaggcctgtgagaatcctgcgtgtca +tctttaatgaccgaattcatccatgtagattcagatcacacactcattccttgatgttgt +ctaaacaaaagttgttgtggacgcattggagggagttaagtaacaacttgggatcgcata +cttataaaaattatatgttaaactttcacaaacgctgaagtccaaagtaactagcccaaa +cgcctcgagagtcactaggtattaatggtgtttgagttcctgtgaaatagtgttcgaagg +taaaatttatgtaccaaatcgaaagaacacttaataaggcttgcttgcacggaggtatga +tgtttactgactctacaaccctaattttccagtacgtacattcattccaataggttagtt +ctcaaagtgctatacaggctcctcaattgatgatatgcttcagccgctctatggatatta +gctcattttatttaggaagcccgcttagaggcttactatgagggaaatgccaaaatgtca +tacttttcggtgtgtcccatatgacaccgctttacatagaatttgaattaaaacgcgctc +tcccgttcactaccatacttggtaccgtgcgcatattacatatagatataggatcatttt +ttaaagctgtactaggtttgatcgacaatcttatgctatactatatgatgtaaccctcat +aatcaataccgatcgtacgatcctagcataggtggcaagcgattttatgccgattattgt +gttaaatagtctgtgagtgtgattatcagggctacgttggtagaggggttgtatagacct +cgcacacattgtgacatacttaacaatatacgaaaactgatataataaatccccttaccc +aaacaccaatcccgttgaatcaactaccataacgtctcccatataaattgcctacttgtt +tgcataaatctgaatacataacaccattgcaccttcttgtgttccaatcccgttaagatt +gccttgtcagatgatatgcaagaacaatagcatttgctagcaattattaacagctcttcg +aattgcctccacataacgcgggagggtatattttaatttggcaaatactaagtactgttg +gcgtcatatgctattaacggttggatattaagttatgtcagccgtaagcaagagtgggcg +aaatattttgttacccagtgagagcactcttagagtttggatacaataggccatatgttg +acttaagaggacgtaactacgccgtacaccattgttcaaccgacttcttggcaaatagaa +tcgtattagcaatcttaagaatagagacacgttcgtgttagggtatactacaaatccgaa +aatcttaagaggatcacctaaactgaaatttatacatatttcaacgtggatagatttaac +ataattcagccacctccaacctgggagtaattttcagtagatttactagatgattagtgg +cccaacgcacttgactatataagatctggggatcctaacctgacctatgagacaaaattg +gaaacgttaacagcccttatgtgtacaaagaaaagtaagttgttgctgttcaacagatga +tagtcatgacgcgtaacttcactatagtaaattgaaacaaatacgcaatttagacagaat +ggtacggtcatgaatgacagtaattcgaagtgctagaccaacttaaaataggtaaacgtg +cccgaaaccccccttaacagaaagctgctatcatggtgcagtatcgacgtgttcagaaac +ttgtaacttttgagcaggtccgagcacatggaagtatatcacgtgtttctgaaccggctt +atccctaagatatatccgtcgcaaactttcgatttagtcccacgtagagcccaagcgttg +tgcgactccacgtgcatgcccagaaatacgagtttaaatttggttacatggttaattttg +accgaagcatcgcactttatgattgataattggattcaatatgtcgccctatgcgaatgc +aacatgatccacaatttggctataagacgtttaatccgtatcacactttgtttgcggcta +gtatagtaacgcccgtgcaccaagagtcagtaacaattataagtactccgcaggtacttc +aaatataaaaactaatcaaacacgacccatatgatcatctgaagatatttggaactttct +cgacaaccaccctcgtactcaatacttacactaatcgacaggcacacgcaacgtgtacag +tcgcaccatattgagtcaagatttgcttagtggcgatgagcgtacacgcttatttctcta +gtcacaattagttatctacgagacatcacgagggagcaaataagcgatgttatggctaca +cataggcacgtatgaatatgatataagccagttaaacagtcgaaccatcgagcaaattct +catgcaccaacccacacgttgaggcacaaagagtaagctgtttgaatgtaacttcttctg +ctgagcgggccccaacgtaaggatcaactagaagagaaaactcggtattagtttaaatgc +gtcacggagcatgagtgcatttcactaagaatgtctgtgtaaccaatataacatctattt +gttatctgattgcctacttatggctttgcggtcgtggcgactaatgtctccaatcctttt +gaggtcggtaccaactccctttaaattacgctgtgcaggctcatgcactgcatacatata +cggtagcaggtagggacctcacgcacccttattataatcaatagtagttatcagtcaacg +aggcaggaatgctgaggtcgaggtgttggtatattttctatgtgccgtctaggcgactat +cacgcattaccaggcgagatttaagccaattttgaatatagtcaacgtaatttttactat +gggttccaccgaaacgccttgcacaactaagaatcccataaaatatcgatatcaaataaa +agattgtgtcaataccttcatatatattttttcggttgactaacgtgaactaaggttagg +ggttttgtatgtctatataggaaacagtttcttttctgtcctactttagtaaagtcttca +agccttactccaaaatcacggtgattaagccgttactcagcagcatgattctgcctgctc +gggtcctaaaatccagccttgtaagagtcgctgtgtattagctagggagacctttgttaa +aaaggatatatcgcggcgggatgtgagtgcgtggcgcatactcaatcttcagctcgtgtc +attataatatctctcccccacgcttttcactagatatgccgtgtaagcaaacaccttatg +cttaatttcgaaaatattggtacttgaaaaaagctgtaggggtacttaatgtctggtagg +agatcaggagagaattgagtgtaaaaccgtaaagccctcacctgacttcatgtaaatggc +ttagaagactccatgatttaataaatactacgaaggaaagactggatctaaagataactc +tagtaaggccaactcccttcaatgctgttgccagttataatccaagagctgtccttttct +gaaccatagcggcttctgaagcgaactagaagcaaagttggttctagccagacagccaca +taccctgtacgggtgtattactaaaactggtccggtattagttcaccaagggaggaatta +ggcaaaggatctaggtatgcaagtcggagtattacatccctaccctgaatccatcaatag +gttcctctgtactggccttcgcaatgagtattcaaggttgtacagccgtataataataag +atagtgactatgaacgggaagtaacccgctcaccttccccaaaacattgttatatctaag +tattaaagtctgccgtagtgttaatactcgaaaataaacaactggcaaattacaccgcac +ttaagccgcttttgatttatatttttccaatgcgcttttaaaaataattcagtcctacat +actaattaagacccttaaacggagatatcacaagttaagttttaaccatctcgactaggt +ggaactatagatacccaactcaatttatcattacctgtaatgttcctagaaggattgcat +ttcatgtcaagacggtggagtttcacagcgaaacttcagtgtgaacagattctgagaaat +cacctaaacctattagtcagagcacccggttagaaccagttgtcaaaaaatagagcggtt +gcatgagacagaagtaacgatgagatccgttgtaacgttgagacatctggcctatcgtca +atacagtcctcccttaaaaatatttttaaatactaggcaaacccaacataggttagtcct +atgtgatacgccacatggtatatcattttgtaacgttacctagggataatcaggaagtgg +aattacgcaaaagtagacagtgaaatgcttagggttatagtctagtccaaagataaagga +taaagcacgtcagagaactatattagccgaatgggaatcattgttaggagactgtggatc +atgtctaaaaagcaacgcagaaacagtcatcgaaaaaatctcgtttttgtttgaatctaa +aagagctttgatgaccgatagtacctgtatactagttactgtattacgtgtctaatgatt +tcggattggggtccccagaatcagacgtcattgtagacgattcaagtttaccaatttaat +ttcccagctctccttggagaactatcgccaataattgcagtcactttccttttctgaaac +gataaagccgtcagagttctctgcaacgttggacttacctgaggttctaacccactttcg +gttctaatagtagttaacgacacaacgaataacctttactgtggggctttcacgatattt +tttcgcttattattaatggttacgtcataagctggtgtccaaattaaggttaccggcttc +gcagagtagttgtatccaagtataacttccctaatcataagatcgaggtagaaaattaat +gctgtctctaaccgaacagatatgtcccactatgtggtatggacgttgctaattacttct +gaagggaaattggtcattatggatacgtgtctaccatcaggtcggacgcagatatggttc +tgtcttcagttgatccaccgttctttataggataataactgacgattaaagattatggta +aatagattaagccaattctcttcttgtcagtgaagcatccttaactgacttgctctgcag +cccctcatacatttagctattcaaagtaccggctcgtttcaaactctcccacctttggaa +gaggttgtcaacttgataagtatatcatttacagcattttttcggacgtacctctaatgt +ttcattgcagaaaattagttttttctatcgcacattttgcaagtaacgttagagacacaa +ttatctgcgaatgaactgctagatctgacgaccgggagcctcgcaaatatcaaaaaagac +tgacatatatcaaggagtcgttgacaagtgctggtaagtcaattggtttatctgtcccgg +cgtttcgatcttaagctgaccatgcacggcagagtaatgtcactctcgttcttacaagtc +tgtctccaagggtcggcaaaaaagacccctccattctcgagcccactcacgatatgtagg +gacgacaacttgtgcggcttatgaattgtctggactgcgggcgagggtccatatctccga +agttagaagggacatacctttagatgataagatcaattcttattgacgaaattcatccac +aacggggaacaacttcaccctagacttacgtctgaaaagacacctagcgtcttataaaag +gtcagtgccccgtttcgtaaggctggaattacctacgcaaacttaaacctcgcgcccttc +cttacgtatcgacaagatagaggctatcgcgaatgtactacggaggcatgaatcatatac +tagaaccaagtgcctgtgatattaacaagatgatccgacgcgagcaccgtaattctaggc +ataaaactccagcaatttgggggccgaaaacaaatgacgttagctaattaattatatgac +atgatcaaaggaggtcaatcacgcatcgagttcgacgtatattcattgaacttcgtgcgt +ttgaaagaaacttttatgaaggcaaaattgatcctgtctcctatttcatgcgtacctcct +agttgataattccccgagcagtggttaggacacttttgtcggtatcaagttccggtctca +aaacgtaaaattctgtaatctgtatggatggtctgtgaattagttaatttttatgaagtc +gtcgagacgcagttcctattgatttattctaaacggagatgtgcttcgtgggactcggaa +gtagatctgtgtttatgattattgctactttagatgctgactgttaactccgtgttgttt +ttcaaccgtatatcacaaccgaattggatagaacctatagtttcaagttctgccacaagg +tatcatatttacagttagtgctggttgcttctttcaaacgtggtgagtttgtgctatcac +gtcaacggtagagctcagtggaccgagtgcgcgttcaaccctgttccagagagggtgtga +tagcacatataccacgctcgtcgaggcgttcatgatagtttgcaagagccggtgttaaac +acatattattattgttatccaactaatcggacctatgcataaagcattgtctaaacagaa +taattgcctatatacggtagttttagtgatttatatcttagtatcagttagagcttcgaa +ctcttcaggttcctcatatttaacgttcttcgaaagcgaaaacttctacaaacgaatgta +agcggttttccaagtagtacctataaatcacagaaagatctgtctcagtatagttgaaat +ggtattcagctagtgacgtgtaccaattatcatagttcactcaagcaagacgctcattaa +cgaatatagacaagacactatatcatataataaaaaagaacatggtgctcgaacatagtt +gaattcaccatattgaaggggaatgctgacatgtaattcgctactagacgatcaattccc +tacttgtcaaagttgaactggtacgttcttggaattaaatatgattgcgctggaccaaat +tgcgacttcttgagtttcagggcaaacgattgagccggaggatgtccgtctcttaccttt +cttgcttatgataaacgacggtccctgtacatcactgggaattctcagcaaaaataattg +ggtaaatcgagactcgatgtattcggccacaaaggtgttagacgttaaagattattcaac +ggggcgataataggatcataaccggtatgcaagcgcattgaaagagccatgagatcctta +tccgataaacgctgcacggtatgtgcagccttattgtcgatcacgaatttataaatgtag +tctgggctgtaagttgaagacctaagttataatgaagtgcaataccaaatcgattcatag +tggattatcagactcaagatatctcctgataaattacagttgttaagatacggataaaat +gagatttaagattagcagcctctaatctgtttcaatcccgttggaatgtggtatgcgatc +aaggttaagttaaaatcaagcctgtcttcagtcttgattcttgttctgccatcgcatgcg +gtctacgtgagttaatatgtagcttacgttctagcttgtgctaatctgagtatagattcg +tagaggaatattatcaagcttccacgcctcaacgtacgtgtattggtcacacaagacact +aaaagtggaagtagcgtaaactatagtctagttgttaaatgctcagttcttgttatattc +gatatactcttggctaatttatgtctgagtatataaaattaatgatattaacttgcattt +cacggatcccttagaaaaagattttgaccgagcgcattataaacggttacaccgaatcaa +tagaagcatacccaatagctttctttgaatttattgcctgcgcaacttggctgactctct +agatccgaataattctatatggtcgtgacgaaactagttcattactgtttaaaatgccaa +catgtcttttgggccgataatggctctttgcaaaattactcaatgatacgattgatcaaa +gcggtagttgctagtggtagcatgtaagtctatcaaatgtctgattatccgaaaatcttc +caaaagagtccacgtaccatatctatctcatagcgacgcgaggggaaccttatctaacta +tcattccatttaccgggtgactctcgatgcaggatccgattgggataaattgcccagaaa +tggctcattcctgactaagggtaaggccgttctcagcaagggaaccccgcgaatctaggc +ttataccatctagattgttaactacttgcctgtagttctacagccatactggacagttgt +ttctaaatgatcgggattcatgctagcactcctctgaatgcaccgcgtaagtttaactat +tacgtccgtgggcagataaggatggaggctgtatgtatcttaactgttacctaatatggc +tggtaattatcaaagtaaggaccttaatgccatagcgctagcaatcgctttgtatactga +ccatgtgccaacctctcttaatctgtaaaatataatgtcttagctaactgtggacgatca +tgtctctgcctagagcttcgctgtatcaattcctatagccagcgtactagtgacacaaca +acaccgtgtgagaaaagatattagtccttacgtctgtctctctacagcttattgatgagg +attgaacatggacatatagctccccctcaaaagcagatgctacctctttattccattctc +gaacatttgccgaacttaatttcgacaaacctgaggtcacgtcttaatttatcggtaacg +tcacgtccctttgagactggataaatatattaccaggggccaacgagcaattgttggagg +cgcttctataatacaaggtgtcttgtcaaagaaagacggcgtgcgtctcgtgcaactcac +ttaaccaatattaatgtgaaacccccctctctcacatcttatgcggtgtactgccctggt +acatttcctgtacaggactccaacagtgtagattcctaagatagctgttggagttgcctc +acgccagatcgaaaaactgaataaactagtgagctgagctgcagaaataccgcttaatta +cttatgactagttcaaagggacctacgtgatgtcagacattgcaaggaagaaattaggtt +tgtgcgtcattttggctggactagcactccttacttcccctactattcaaatgtcgtaaa +cagcatgagacaggatcgtgctgacatttaaggtctattgggaacgaggctacctttggt +cgcgcgctcgcgttctccgaatgaccgaaatgcatgagcacagtatgcaattgcttatag +atctaaggtctggtcgttgaaaccaagcacgtaggcctgggaaatcagttcttcctcagc +aactacacaaaagcgtccaagcattagtacttgtagtaaatgtccgaacctatgcgctca +tttgaaagtcaaaaaatatttttaagcagtaggcacctaacccgattcctctacttagta +gctttctttgattctcagaattgactgcaatatcactgcacaattctgtgccattactag +acttctctgtattaacgtctcatcttactaacactcgcctaggacacatctgagagtgaa +gtatttcaatacatttactgaaatcttcagttctaaaatccccgaataaggctcttatcg +gtttggccaacacaagaaaaaaacttcttgcaccactcaccttcatacgcaggagcctgg +ggaacttagtaataactatttcggcagacaaagcttataacaagttgccggcgcgtataa +tatttaaaagaccccttgagctgctcaattaaaacgctcacctggtataggctattagat +agtgccgtcttagtaaggggcgggaattatcggataaactgatattttgataaaataacc +gacttgttcacgacataagtcactaaggagattttatctttctccaaagtatatcttcct +tggataatttcaaagcgctgcaatttaagttctgttactagtttatgctgctgggaggtg +accggaaggcgtagtaatctagaggcaaattataagaagttcatcatatcattttcgact +acaaaaacaaggtgttgtatgccggcgcattgtgtaaactggacgagtaccctagatgga +aaattatacgttaagccaagatttcgatgtaatgataattacctacacatttttgctatc +cataggaacaagagctgttctataggctcgtggcatacgaacatttgctgccgctatgaa +tattggaagctcttcaactacagactctattcttaattgccgtcgaaaatgggccgaatc +ggctattattaatactcggtttttccgaggggattgttgtcgacagtcgtaattattatt +aatattgatgttggtgaggtcatttaaatacaaccttgcagacaatgaataagggatcca +atctctcatactccttttacaattgctcatgcccctatgcaaaccttatgccgccacacc +tccgcaactctctcttctgaactgtaagtagcttcattactggtttgagactatactgaa +gctgatgacattctaaaatggctattttcgaatgtgattcataatgtttatcgtttggga +tggcagaatcacgttatttttgatatagcccgggtattctattgtatagaacgtatgcta +caagtcattccccgaagaagactagaagtaaacaacatgcgaccatcgttaagccacgca +aggctgtagctttatttcccgataacctatcttccataaatagcggacagcaggatactg +acgctcaacatcagtggttatggtctaatttttaacttttaataaggtaacttcagcagg +catacacagtaactctttaatttataatcaaattagaagtctgacacttcttatattttt +ctatcatccaacgcgatcgcccattagcttattgtgttactaataacgtatctaaaccaa +tccttttcaagctactgcctatattgtcaatatatacaaacaacaggatagtaggctgct +taaaaaatattgtcaaccgtgtacgctttacaatacccggaaatcacaaactttgtagac +aacgagtgaaatttatacactacgaagggccagcgtacaagacccatgaattaggcgata +tgtttattctgacatattggtttatccttaatctgtcgctgtaaaatgaagccgccccca +tccctgcgaattttttttcgaagattcacgactgaaatataaatacgtttggctatattt +atgttggagggaggcaatagcctttactgttaaccgaagatttagccagtgagtgtgaca +ctaaaacactggaataaatgcaggcgttcttctgggtaaaaggtttagtcaatctcgcct +ataagttcatatagctctggatataattatctggcccatgcatttatcatggcgcttggt +gccctgtgtgaagccggcctctcatattgaaggtccgaagtattccatgtacattaagat +cactctctcattcatgcatcttggcttaacaaatctggttgtccaagctttccaggcacg +tatggtacaaattcggatcgaatacttataaaaatgatatgttaaactgtctaaaacgct +catctacaaagtaaagtgcactaaccaatagagtctcaagaccgtgtaatgctggtgcac +tgaatgtgtaatacggttagaagggattagttatgttacaaatccattgaaaacttaaga +agcattgcgtgctcggagggtgcatcttttatcaagagactaacattattttcaacgacg +tacatgctttacaatagggtacttatcaaacgccgagaaacgcgcctatagtgatgttat +gattatgacccgatatccattggaccgaattttatgtaggttcccagcgtactcgcgtaa +tatctcggtattgccataatgtaatacttgtcggtctctcccagatgaaaaagcgttaca +gagtatttcaatgaaaaacagcgcgcaacgtcaatacctttaggggtaacggccgctgat +ttcatatagatatacgataagttggtatagctctactaggtggcatccacaatcgttgca +tttactatagctggttacaatcataatctataccgttccttacatactaccatagcggga +tagcgtttttttgccgttgattgggtttaagaggatgtcagtctcattatatccgattcg +gtgggagagccgttgttttcaaatcgcacactttgtgacataatgtacaagataacaaaa +ctgatataagatataaactgtcaatatcaccttgacacttgaatcaaagtaaattaactc +gcaaatataatttgactaattgggtgcagatttctcaattaataaaaaaatggcaccgga +tgggcttacaagccccttatcattcacttgtatcatgatttccaagaacaatagaatttg +ctagcaagtatgaacagagattcgaattgcatccacagtacgccggagcgtttattttaa +tgtggatatgacgatgtactgttggcggcatttgctagtaaccggtccttatttacgtag +cgcacacgtaagcatgtctgggagaaatatggtggtacaatctcagagaaagattacagt +ttggtttaaataggacttatcgggtcggaagtggaacttaataagcagtacacaattggg +caacagacgtcttgcctattacaataggattacaatgcgttagatttcagacacgttcgt +gtttggctattcgtcaattccctaaatagttagacgatcaactattatcaaagtgattct +ttgttcatcctccattcatgtaacagatggcacactacgcataacgccgaggaattttaa +cgagatttaagagagcagttcgggcacaacccacttgactttataacagctcggcagcat +aaacggtaatatgtgacaaatttccaaacgttataagaacgtatgtgtacttagaaaact +aagtggttcatgttcaacagatgtgacgcagcaagcctaacttatctattggttttgcta +taaaagaacaaagttacacagaatcctaagggcttgtttcacacttatgcctagtgcttc +accatcttaaaatagcgaaaccggcacgaatcaaaccttaaaacaatgcgcagatattgg +tgatggtgactccgggtatgataatggtaactgttgaccagcgcccacctcatcgaagta +tagaaagtggttaggataaggatgagaccgaacttatttccggccataactttagatttt +ctacctagtacacaacatcagggcggacacgaaaccgccatcacatcatataccaggttt +aatttgcttaatgggggaagtgtcaacgaaccttcgaactttagcaggcatatggccatt +atatatggccccagagcagaatgctacagcagacaaaatttggatttatgtagtttaata +cctatcaaacttggtgtgaccatacttgtctaacgacagtgcacaaagtgtaagttacaa +ttattactactcagcagcttctgcaatgataaaatcttatcatacacgtcacatatgata +atatctacttagggggaacgggctccacaacctacatagtactcaatacttacactattc +gacaggcacaccaaacctgtacagtcccaaaagattgagtcaactttgcagtactgcaga +tcacagtaatagcttagttagcgagtcaaaattagttttctacgagactgcacgaccgtg +caaatttccgatgtgttggctacaaatagcaacgtatgaatttgtttgaagccacgtaaa +ctgtacaaccttagagataagtctcaggctactaaaaacacgttgtggcactaacaggat +catggttgattcttacttattcggctgaccggcccaataagtaaccttcaactagaacag +aataatcgggagtagtttaattcagtcaaggtgcaggtctcattgtaactaacaagctct +gtgtaaccaagttaaaatcgttttcttagcggattccctacttatggatttgagctcgtc +cacaatattcgatacaagaagtttgtggtccgtaacaacgaaattttaattacgctgtgc +agcctcatccaaggaattaatagaaggttgatggtaggctccgaacgctccatgattata +atcaagtggactgtgcagtaaacgaggaaggtatcctgacgtcgtggtgttcgtttttgt +tatttgtgccctatacgagtagataaaccatgaacagcacagtgtgaacccatggttgat +tttaggctaccttatttttaatttccgttacacagaaacgaattccacaactaacatgcc +attaatttttcgatatcttataaaagatggtcgaaattcattcatttattttttttcggt +tctcgaaagtcaactaagctgtcgcgttttgtttctctttagaggtaaaagtggctttga +tctcctacgtttggatactagtcaaccattactccatttgatccgtgagtatcacctgtc +taacatccagcattatgactcctcggcgaagaaaagacacacttcttagagtcgatgtgt +attagctagggacacagttgtttaatacgatagtgagcccagggagggcagtgcgtcccc +cagtagatttattcagctagtgtaagtataagatatctcacccacgaggttcaagtgata +tgcagtcttagaataatacttatcctgaatttcgatattatgggtacttcaataatccgc +tagcgctactttatgtctcgttggacagcaggacacatggcagtcttaaacactaaagac +atcacctgaatgaatgtaatgggattacaagaatcaatgaggtattatatacgacgtagg +aaactctggatatatacagtaatctagttacgccatcgcacttcattcctctggaaactt +agaagacatcagctgtacgtggaggaaccagacccccgtatgtagccaaatagaaccaaa +gttgcttatacaaacacacccaatgacaatggaccgctggagttcgtaaactcggaacgt +agtactgcacaaacccagcatttagcaataggagctacgtatgcaactcccacgtggtaa +taccttcaagctatcaatatataggtgcctagctaatcgcattcgcaagcagtattcaag +cttgtaaaccagtataataattacagaggctctatgaaacccaactttccagctaaaagt +cccaattaaatggttatttc diff --git a/src/benchmarks/coreclr/BenchmarksGame/Inputs/revcomp-input25.txt b/src/benchmarks/coreclr/BenchmarksGame/Inputs/revcomp-input25.txt new file mode 100644 index 00000000000..f749b06ea73 --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/Inputs/revcomp-input25.txt @@ -0,0 +1,9 @@ +>ONE Homo sapiens alu +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +>TWO IUB ambiguity codes +cttBtatcatatgctaKggNcataaaSatgtaaaDcDRtBggDtctttataattcBgtcg +tactDtDagcctatt +>THREE Homo sapiens frequency +gtttgtgttgcgttatagtctatttgtggacacagtatggtcaaatgacgtcttttgatc +tgacggcgttaacaaagatactctgggcaacacacatacttctctcatgttgtttcttcg +gacct diff --git a/src/benchmarks/coreclr/BenchmarksGame/Inputs/revcomp-input25000.txt b/src/benchmarks/coreclr/BenchmarksGame/Inputs/revcomp-input25000.txt new file mode 100644 index 00000000000..fd4414b1767 --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/Inputs/revcomp-input25000.txt @@ -0,0 +1,4171 @@ +>ONE Homo sapiens alu +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATC +>TWO IUB ambiguity codes +cttBtatcatatgctaKggNcataaaSatgtaaaDcDRtBggDtctttataattcBgtcg +tactDtDagcctatttSVHtHttKtgtHMaSattgWaHKHttttagacatWatgtRgaaa +NtactMcSMtYtcMgRtacttctWBacgaaatatagScDtttgaagacacatagtVgYgt +cattHWtMMWcStgttaggKtSgaYaaccWStcgBttgcgaMttBYatcWtgacaYcaga +gtaBDtRacttttcWatMttDBcatWtatcttactaBgaYtcttgttttttttYaaScYa +HgtgttNtSatcMtcVaaaStccRcctDaataataStcYtRDSaMtDttgttSagtRRca +tttHatSttMtWgtcgtatSSagactYaaattcaMtWatttaSgYttaRgKaRtccactt +tattRggaMcDaWaWagttttgacatgttctacaaaRaatataataaMttcgDacgaSSt +acaStYRctVaNMtMgtaggcKatcttttattaaaaagVWaHKYagtttttatttaacct +tacgtVtcVaattVMBcttaMtttaStgacttagattWWacVtgWYagWVRctDattBYt +gtttaagaagattattgacVatMaacattVctgtBSgaVtgWWggaKHaatKWcBScSWa +accRVacacaaactaccScattRatatKVtactatatttHttaagtttSKtRtacaaagt +RDttcaaaaWgcacatWaDgtDKacgaacaattacaRNWaatHtttStgttattaaMtgt +tgDcgtMgcatBtgcttcgcgaDWgagctgcgaggggVtaaScNatttacttaatgacag +cccccacatYScaMgtaggtYaNgttctgaMaacNaMRaacaaacaKctacatagYWctg +ttWaaataaaataRattagHacacaagcgKatacBttRttaagtatttccgatctHSaat +actcNttMaagtattMtgRtgaMgcataatHcMtaBSaRattagttgatHtMttaaKagg +YtaaBataSaVatactWtataVWgKgttaaaacagtgcgRatatacatVtHRtVYataSa +KtWaStVcNKHKttactatccctcatgWHatWaRcttactaggatctataDtDHBttata +aaaHgtacVtagaYttYaKcctattcttcttaataNDaaggaaaDYgcggctaaWSctBa +aNtgctggMBaKctaMVKagBaactaWaDaMaccYVtNtaHtVWtKgRtcaaNtYaNacg +gtttNattgVtttctgtBaWgtaattcaagtcaVWtactNggattctttaYtaaagccgc +tcttagHVggaYtgtNcDaVagctctctKgacgtatagYcctRYHDtgBattDaaDgccK +tcHaaStttMcctagtattgcRgWBaVatHaaaataYtgtttagMDMRtaataaggatMt +ttctWgtNtgtgaaaaMaatatRtttMtDgHHtgtcattttcWattRSHcVagaagtacg +ggtaKVattKYagactNaatgtttgKMMgYNtcccgSKttctaStatatNVataYHgtNa +BKRgNacaactgatttcctttaNcgatttctctataScaHtataRagtcRVttacDSDtt +aRtSatacHgtSKacYagttMHtWataggatgactNtatSaNctataVtttRNKtgRacc +tttYtatgttactttttcctttaaacatacaHactMacacggtWataMtBVacRaSaatc +cgtaBVttccagccBcttaRKtgtgcctttttRtgtcagcRttKtaaacKtaaatctcac +aattgcaNtSBaaccgggttattaaBcKatDagttactcttcattVtttHaaggctKKga +tacatcBggScagtVcacattttgaHaDSgHatRMaHWggtatatRgccDttcgtatcga +aacaHtaagttaRatgaVacttagattVKtaaYttaaatcaNatccRttRRaMScNaaaD +gttVHWgtcHaaHgacVaWtgttScactaagSgttatcttagggDtaccagWattWtRtg +ttHWHacgattBtgVcaYatcggttgagKcWtKKcaVtgaYgWctgYggVctgtHgaNcV +taBtWaaYatcDRaaRtSctgaHaYRttagatMatgcatttNattaDttaattgttctaa +ccctcccctagaWBtttHtBccttagaVaatMcBHagaVcWcagBVttcBtaYMccagat +gaaaaHctctaacgttagNWRtcggattNatcRaNHttcagtKttttgWatWttcSaNgg +gaWtactKKMaacatKatacNattgctWtatctaVgagctatgtRaHtYcWcttagccaa +tYttWttaWSSttaHcaaaaagVacVgtaVaRMgattaVcDactttcHHggHRtgNcctt +tYatcatKgctcctctatVcaaaaKaaaagtatatctgMtWtaaaacaStttMtcgactt +taSatcgDataaactaaacaagtaaVctaggaSccaatMVtaaSKNVattttgHccatca +cBVctgcaVatVttRtactgtVcaattHgtaaattaaattttYtatattaaRSgYtgBag +aHSBDgtagcacRHtYcBgtcacttacactaYcgctWtattgSHtSatcataaatataHt +cgtYaaMNgBaatttaRgaMaatatttBtttaaaHHKaatctgatWatYaacttMctctt +ttVctagctDaaagtaVaKaKRtaacBgtatccaaccactHHaagaagaaggaNaaatBW +attccgStaMSaMatBttgcatgRSacgttVVtaaDMtcSgVatWcaSatcttttVatag +ttactttacgatcaccNtaDVgSRcgVcgtgaacgaNtaNatatagtHtMgtHcMtagaa +attBgtataRaaaacaYKgtRccYtatgaagtaataKgtaaMttgaaRVatgcagaKStc +tHNaaatctBBtcttaYaBWHgtVtgacagcaRcataWctcaBcYacYgatDgtDHccta +aagacYRcaggattHaYgtKtaatgcVcaataMYacccatatcacgWDBtgaatcBaata +cKcttRaRtgatgaBDacggtaattaaYtataStgVHDtDctgactcaaatKtacaatgc +gYatBtRaDatHaactgtttatatDttttaaaKVccYcaaccNcBcgHaaVcattHctcg +attaaatBtatgcaaaaatYMctSactHatacgaWacattacMBgHttcgaatVaaaaca +BatatVtctgaaaaWtctRacgBMaatSgRgtgtcgactatcRtattaScctaStagKga +DcWgtYtDDWKRgRtHatRtggtcgaHgggcgtattaMgtcagccaBggWVcWctVaaat +tcgNaatcKWagcNaHtgaaaSaaagctcYctttRVtaaaatNtataaccKtaRgtttaM +tgtKaBtRtNaggaSattHatatWactcagtgtactaKctatttgRYYatKatgtccgtR +tttttatttaatatVgKtttgtatgtNtataRatWYNgtRtHggtaaKaYtKSDcatcKg +taaYatcSRctaVtSMWtVtRWHatttagataDtVggacagVcgKWagBgatBtaaagNc +aRtagcataBggactaacacRctKgttaatcctHgDgttKHHagttgttaatgHBtatHc +DaagtVaBaRccctVgtgDtacRHSctaagagcggWYaBtSaKtHBtaaactYacgNKBa +VYgtaacttagtVttcttaatgtBtatMtMtttaattaatBWccatRtttcatagVgMMt +agctStKctaMactacDNYgKYHgaWcgaHgagattacVgtttgtRaSttaWaVgataat +gtgtYtaStattattMtNgWtgttKaccaatagNYttattcgtatHcWtctaaaNVYKKt +tWtggcDtcgaagtNcagatacgcattaagaccWctgcagcttggNSgaNcHggatgtVt +catNtRaaBNcHVagagaaBtaaSggDaatWaatRccaVgggStctDaacataKttKatt +tggacYtattcSatcttagcaatgaVBMcttDattctYaaRgatgcattttNgVHtKcYR +aatRKctgtaaacRatVSagctgtWacBtKVatctgttttKcgtctaaDcaagtatcSat +aWVgcKKataWaYttcccSaatgaaaacccWgcRctWatNcWtBRttYaattataaNgac +acaatagtttVNtataNaYtaatRaVWKtBatKagtaatataDaNaaaaataMtaagaaS +tccBcaatNgaataWtHaNactgtcDtRcYaaVaaaaaDgtttRatctatgHtgttKtga +aNSgatactttcgagWaaatctKaaDaRttgtggKKagcDgataaattgSaacWaVtaNM +acKtcaDaaatttctRaaVcagNacaScRBatatctRatcctaNatWgRtcDcSaWSgtt +RtKaRtMtKaatgttBHcYaaBtgatSgaSWaScMgatNtctcctatttctYtatMatMt +RRtSaattaMtagaaaaStcgVgRttSVaScagtgDtttatcatcatacRcatatDctta +tcatVRtttataaHtattcYtcaaaatactttgVctagtaaYttagatagtSYacKaaac +gaaKtaaatagataatSatatgaaatSgKtaatVtttatcctgKHaatHattagaaccgt +YaaHactRcggSBNgtgctaaBagBttgtRttaaattYtVRaaaattgtaatVatttctc +ttcatgBcVgtgKgaHaaatattYatagWacNctgaaMcgaattStagWaSgtaaKagtt +ttaagaDgatKcctgtaHtcatggKttVDatcaaggtYcgccagNgtgcVttttagagat +gctaccacggggtNttttaSHaNtatNcctcatSaaVgtactgBHtagcaYggYVKNgta +KBcRttgaWatgaatVtagtcgattYgatgtaatttacDacSctgctaaaStttaWMagD +aaatcaVYctccgggcgaVtaaWtStaKMgDtttcaaMtVgBaatccagNaaatcYRMBg +gttWtaaScKttMWtYataRaDBMaDataatHBcacDaaKDactaMgagttDattaHatH +taYatDtattDcRNStgaatattSDttggtattaaNSYacttcDMgYgBatWtaMagact +VWttctttgYMaYaacRgHWaattgRtaagcattctMKVStatactacHVtatgatcBtV +NataaBttYtSttacKgggWgYDtgaVtYgatDaacattYgatggtRDaVDttNactaSa +MtgNttaacaaSaBStcDctaccacagacgcaHatMataWKYtaYattMcaMtgSttDag +cHacgatcaHttYaKHggagttccgatYcaatgatRaVRcaagatcagtatggScctata +ttaNtagcgacgtgKaaWaactSgagtMYtcttccaKtStaacggMtaagNttattatcg +tctaRcactctctDtaacWYtgaYaSaagaWtNtatttRacatgNaatgttattgWDDcN +aHcctgaaHacSgaataaRaataMHttatMtgaSDSKatatHHaNtacagtccaYatWtc +actaactatKDacSaStcggataHgYatagKtaatKagStaNgtatactatggRHacttg +tattatgtDVagDVaRctacMYattDgtttYgtctatggtKaRSttRccRtaaccttaga +gRatagSaaMaacgcaNtatgaaatcaRaagataatagatactcHaaYKBctccaagaRa +BaStNagataggcgaatgaMtagaatgtcaKttaaatgtaWcaBttaatRcggtgNcaca +aKtttScRtWtgcatagtttWYaagBttDKgcctttatMggNttattBtctagVtacata +aaYttacacaaRttcYtWttgHcaYYtaMgBaBatctNgcDtNttacgacDcgataaSat +YaSttWtcctatKaatgcagHaVaacgctgcatDtgttaSataaaaYSNttatagtaNYt +aDaaaNtggggacttaBggcHgcgtNtaaMcctggtVtaKcgNacNtatVaSWctWtgaW +cggNaBagctctgaYataMgaagatBSttctatacttgtgtKtaattttRagtDtacata +tatatgatNHVgBMtKtaKaNttDHaagatactHaccHtcatttaaagttVaMcNgHata +tKtaNtgYMccttatcaaNagctggacStttcNtggcaVtattactHaSttatgNMVatt +MMDtMactattattgWMSgtHBttStStgatatRaDaagattttctatMtaaaaaggtac +taaVttaSacNaatactgMttgacHaHRttgMacaaaatagttaatatWKRgacDgaRta +tatttattatcYttaWtgtBRtWatgHaaattHataagtVaDtWaVaWtgStcgtMSgaS +RgMKtaaataVacataatgtaSaatttagtcgaaHtaKaatgcacatcggRaggSKctDc +agtcSttcccStYtccRtctctYtcaaKcgagtaMttttcRaYDttgttatctaatcata +NctctgctatcaMatactataggDaHaaSttMtaDtcNatataattctMcStaaBYtaNa +gatgtaatHagagSttgWHVcttatKaYgDctcttggtgttMcRaVgSgggtagacaata +aDtaattSaDaNaHaBctattgNtaccaaRgaVtKNtaaYggHtaKKgHcatctWtctDt +ttctttggSDtNtaStagttataaacaattgcaBaBWggHgcaaaBtYgctaatgaaatW +cDcttHtcMtWWattBHatcatcaaatctKMagtDNatttWaBtHaaaNgMttaaStagt +tctctaatDtcRVaYttgttMtRtgtcaSaaYVgSWDRtaatagctcagDgcWWaaaBaa +RaBctgVgggNgDWStNaNBKcBctaaKtttDcttBaaggBttgaccatgaaaNgttttt +tttatctatgttataccaaDRaaSagtaVtDtcaWatBtacattaWacttaSgtattggD +gKaaatScaattacgWcagKHaaccaYcRcaRttaDttRtttHgaHVggcttBaRgtccc +tDatKaVtKtcRgYtaKttacgtatBtStaagcaattaagaRgBagSaattccSWYttta +ttVaataNctgHgttaaNBgcVYgtRtcccagWNaaaacaDNaBcaaaaRVtcWMgBagM +tttattacgDacttBtactatcattggaaatVccggttRttcatagttVYcatYaSHaHc +ttaaagcNWaHataaaRWtctVtRYtagHtaaaYMataHYtNBctNtKaatattStgaMc +BtRgctaKtgcScSttDgYatcVtggaaKtaagatWccHccgKYctaNNctacaWctttt +gcRtgtVcgaKttcMRHgctaHtVaataaDtatgKDcttatBtDttggNtacttttMtga +acRattaaNagaactcaaaBBVtcDtcgaStaDctgaaaSgttMaDtcgttcaccaaaag +gWtcKcgSMtcDtatgtttStaaBtatagDcatYatWtaaaBacaKgcaDatgRggaaYc +taRtccagattDaWtttggacBaVcHtHtaacDacYgtaatataMagaatgHMatcttat +acgtatttttatattacHactgttataMgStYaattYaccaattgagtcaaattaYtgta +tcatgMcaDcgggtcttDtKgcatgWRtataatatRacacNRBttcHtBgcRttgtgcgt +catacMtttBctatctBaatcattMttMYgattaaVYatgDaatVagtattDacaacDMa +tcMtHcccataagatgBggaccattVWtRtSacatgctcaaggggYtttDtaaNgNtaaB +atggaatgtctRtaBgBtcNYatatNRtagaacMgagSaSDDSaDcctRagtVWSHtVSR +ggaacaBVaccgtttaStagaacaMtactccagtttVctaaRaaHttNcttagcaattta +ttaatRtaaaatctaacDaBttggSagagctacHtaaRWgattcaaBtctRtSHaNtgta +cattVcaHaNaagtataccacaWtaRtaaVKgMYaWgttaKggKMtKcgWatcaDatYtK +SttgtacgaccNctSaattcDcatcttcaaaDKttacHtggttHggRRaRcaWacaMtBW +VHSHgaaMcKattgtaRWttScNattBBatYtaNRgcggaagacHSaattRtttcYgacc +BRccMacccKgatgaacttcgDgHcaaaaaRtatatDtatYVtttttHgSHaSaatagct +NYtaHYaVYttattNtttgaaaYtaKttWtctaNtgagaaaNctNDctaaHgttagDcRt +tatagccBaacgcaRBtRctRtggtaMYYttWtgataatcgaataattattataVaaaaa +ttacNRVYcaaMacNatRttcKatMctgaagactaattataaYgcKcaSYaatMNctcaa +cgtgatttttBacNtgatDccaattattKWWcattttatatatgatBcDtaaaagttgaa +VtaHtaHHtBtataRBgtgDtaataMttRtDgDcttattNtggtctatctaaBcatctaR +atgNacWtaatgaagtcMNaacNgHttatactaWgcNtaStaRgttaaHacccgaYStac +aaaatWggaYaWgaattattcMaactcBKaaaRVNcaNRDcYcgaBctKaacaaaaaSgc +tccYBBHYaVagaatagaaaacagYtctVccaMtcgtttVatcaatttDRtgWctagtac +RttMctgtDctttcKtWttttataaatgVttgBKtgtKWDaWagMtaaagaaattDVtag +gttacatcatttatgtcgMHaVcttaBtVRtcgtaYgBRHatttHgaBcKaYWaatcNSc +tagtaaaaatttacaatcactSWacgtaatgKttWattagttttNaggtctcaagtcact +attcttctaagKggaataMgtttcataagataaaaatagattatDgcBVHWgaBKttDgc +atRHaagcaYcRaattattatgtMatatattgHDtcaDtcaaaHctStattaatHaccga +cNattgatatattttgtgtDtRatagSacaMtcRtcattcccgacacSattgttKaWatt +NHcaacttccgtttSRtgtctgDcgctcaaMagVtBctBMcMcWtgtaacgactctcttR +ggRKSttgYtYatDccagttDgaKccacgVatWcataVaaagaataMgtgataaKYaaat +cHDaacgataYctRtcYatcgcaMgtNttaBttttgatttaRtStgcaacaaaataccVg +aaDgtVgDcStctatatttattaaaaRKDatagaaagaKaaYYcaYSgKStctccSttac +agtcNactttDVttagaaagMHttRaNcSaRaMgBttattggtttaRMggatggcKDgWR +tNaataataWKKacttcKWaaagNaBttaBatMHtccattaacttccccYtcBcYRtaga +ttaagctaaYBDttaNtgaaaccHcaRMtKtaaHMcNBttaNaNcVcgVttWNtDaBatg +ataaVtcWKcttRggWatcattgaRagHgaattNtatttctctattaattaatgaDaaMa +tacgttgggcHaYVaaNaDDttHtcaaHtcVVDgBVagcMacgtgttaaBRNtatRtcag +taagaggtttaagacaVaaggttaWatctccgtVtaDtcDatttccVatgtacNtttccg +tHttatKgScBatgtVgHtYcWagcaKtaMYaaHgtaattaSaHcgcagtWNaatNccNN +YcacgVaagaRacttctcattcccRtgtgtaattagcSttaaStWaMtctNNcSMacatt +ataaactaDgtatWgtagtttaagaaaattgtagtNagtcaataaatttgatMMYactaa +tatcggBWDtVcYttcDHtVttatacYaRgaMaacaStaatcRttttVtagaDtcacWat +ttWtgaaaagaaagNRacDtttStVatBaDNtaactatatcBSMcccaSttccggaMatg +attaaWatKMaBaBatttgataNctgttKtVaagtcagScgaaaDggaWgtgttttKtWt +atttHaatgtagttcactaaKMagttSYBtKtaYgaactcagagRtatagtVtatcaaaW +YagcgNtaDagtacNSaaYDgatBgtcgataacYDtaaactacagWDcYKaagtttatta +gcatcgagttKcatDaattgattatDtcagRtWSKtcgNtMaaaaacaMttKcaWcaaSV +MaaaccagMVtaMaDtMaHaBgaacataBBVtaatVYaNSWcSgNtDNaaKacacBttta +tKtgtttcaaHaMctcagtaacgtcgYtactDcgcctaNgagagcYgatattttaaattt +ccattttacatttDaaRctattttWctttacgtDatYtttcagacgcaaVttagtaaKaa +aRtgVtccataBggacttatttgtttaWNtgttVWtaWNVDaattgtatttBaagcBtaa +BttaaVatcHcaVgacattccNggtcgacKttaaaRtagRtctWagaYggtgMtataatM +tgaaRttattttgWcttNtDRRgMDKacagaaaaggaaaRStcccagtYccVattaNaaK +StNWtgacaVtagaagcttSaaDtcacaacgDYacWDYtgtttKatcVtgcMaDaSKStV +cgtagaaWaKaagtttcHaHgMgMtctataagBtKaaaKKcactggagRRttaagaBaaN +atVVcgRcKSttDaactagtSttSattgttgaaRYatggttVttaataaHttccaagDtg +atNWtaagHtgcYtaactRgcaatgMgtgtRaatRaNaacHKtagactactggaatttcg +ccataacgMctRgatgttaccctaHgtgWaYcactcacYaattcttaBtgacttaaacct +gYgaWatgBttcttVttcgttWttMcNYgtaaaatctYgMgaaattacNgaHgaacDVVM +tttggtHtctaaRgtacagacgHtVtaBMNBgattagcttaRcttacaHcRctgttcaaD +BggttKaacatgKtttYataVaNattccgMcgcgtagtRaVVaattaKaatggttRgaMc +agtatcWBttNtHagctaatctagaaNaaacaYBctatcgcVctBtgcaaagDgttVtga +HtactSNYtaaNccatgtgDacgaVtDcgKaRtacDcttgctaagggcagMDagggtBWR +tttSgccttttttaacgtcHctaVtVDtagatcaNMaVtcVacatHctDWNaataRgcgt +aVHaggtaaaaSgtttMtattDgBtctgatSgtRagagYtctSaKWaataMgattRKtaa +catttYcgtaacacattRWtBtcggtaaatMtaaacBatttctKagtcDtttgcBtKYYB +aKttctVttgttaDtgattttcttccacttgSaaacggaaaNDaattcYNNaWcgaaYat +tttMgcBtcatRtgtaaagatgaWtgaccaYBHgaatagataVVtHtttVgYBtMctaMt +cctgaDcYttgtccaaaRNtacagcMctKaaaggatttacatgtttaaWSaYaKttBtag +DacactagctMtttNaKtctttcNcSattNacttggaacaatDagtattRtgSHaataat +gccVgacccgatactatccctgtRctttgagaSgatcatatcgDcagWaaHSgctYYWta +tHttggttctttatVattatcgactaagtgtagcatVgtgHMtttgtttcgttaKattcM +atttgtttWcaaStNatgtHcaaaDtaagBaKBtRgaBgDtSagtatMtaacYaatYtVc +KatgtgcaacVaaaatactKcRgtaYtgtNgBBNcKtcttaccttKgaRaYcaNKtactt +tgagSBtgtRagaNgcaaaNcacagtVtttHWatgttaNatBgtttaatNgVtctgaata +tcaRtattcttttttttRaaKcRStctcggDgKagattaMaaaKtcaHacttaataataK +taRgDtKVBttttcgtKaggHHcatgttagHggttNctcgtatKKagVagRaaaggaaBt +NatttVKcRttaHctaHtcaaatgtaggHccaBataNaNaggttgcWaatctgatYcaaa +HaatWtaVgaaBttagtaagaKKtaaaKtRHatMaDBtBctagcatWtatttgWttVaaa +ScMNattRactttgtYtttaaaagtaagtMtaMaSttMBtatgaBtttaKtgaatgagYg +tNNacMtcNRacMMHcttWtgtRtctttaacaacattattcYaMagBaacYttMatcttK +cRMtgMNccattaRttNatHaHNaSaaHMacacaVaatacaKaSttHatattMtVatWga +ttttttaYctttKttHgScWaacgHtttcaVaaMgaacagNatcgttaacaaaaagtaca +HBNaattgttKtcttVttaaBtctgctacgBgcWtttcaggacacatMgacatcccagcg +gMgaVKaBattgacttaatgacacacaaaaaatRKaaBctacgtRaDcgtagcVBaacDS +BHaaaaSacatatacagacRNatcttNaaVtaaaataHattagtaaaaSWccgtatWatg +gDttaactattgcccatcttHaSgYataBttBaactattBtcHtgatcaataSttaBtat +KSHYttWggtcYtttBttaataccRgVatStaHaKagaatNtagRMNgtcttYaaSaact +cagDSgagaaYtMttDtMRVgWKWtgMaKtKaDttttgactatacataatcNtatNaHat +tVagacgYgatatatttttgtStWaaatctWaMgagaRttRatacgStgattcttaagaD +taWccaaatRcagcagaaNKagtaaDggcgccBtYtagSBMtactaaataMataBSacRM +gDgattMMgtcHtcaYDtRaDaacggttDaggcMtttatgttaNctaattaVacgaaMMt +aatDccSgtattgaRtWWaccaccgagtactMcgVNgctDctaMScatagcgtcaactat +acRacgHRttgctatttaatgaattataYKttgtaagWgtYttgcHgMtaMattWaWVta +RgcttgYgttBHtYataSccStBtgtagMgtDtggcVaaSBaatagDttgBgtctttctc +attttaNagtHKtaMWcYactVcgcgtatMVtttRacVagDaatcttgctBBcRDgcaac +KttgatSKtYtagBMagaRtcgBattHcBWcaactgatttaatttWDccatttatcgagS +KaWttataHactaHMttaatHtggaHtHagaatgtKtaaRactgtttMatacgatcaagD +gatKaDctataMggtHDtggHacctttRtatcttYattttgacttgaaSaataaatYcgB +aaaaccgNatVBttMacHaKaataagtatKgtcaagactcttaHttcggaattgttDtct +aaccHttttWaaatgaaatataaaWattccYDtKtaaaacggtgaggWVtctattagtga +ctattaagtMgtttaagcatttgSgaaatatccHaaggMaaaattttcWtatKctagDtY +tMcctagagHcactttactatacaaacattaacttaHatcVMYattYgVgtMttaaRtga +aataaDatcaHgtHHatKcDYaatcttMtNcgatYatgSaMaNtcttKcWataScKggta +tcttacgcttWaaagNatgMgHtctttNtaacVtgttcMaaRatccggggactcMtttaY +MtcWRgNctgNccKatcttgYDcMgattNYaRagatHaaHgKctcataRDttacatBatc +cattgDWttatttaWgtcggagaaaaatacaatacSNtgggtttccttacSMaagBatta +caMaNcactMttatgaRBacYcYtcaaaWtagctSaacttWgDMHgaggatgBVgcHaDt +ggaactttggtcNatNgtaKaBcccaNtaagttBaacagtatacDYttcctNgWgcgSMc +acatStctHatgRcNcgtacacaatRttMggaNKKggataaaSaYcMVcMgtaMaHtgat +tYMatYcggtcttcctHtcDccgtgRatcattgcgccgatatMaaYaataaYSggatagc +gcBtNtaaaScaKgttBgagVagttaKagagtatVaactaSacWactSaKatWccaKaaa +atBKgaaKtDMattttgtaaatcRctMatcaaMagMttDgVatggMaaWgttcgaWatga +aatttgRtYtattaWHKcRgctacatKttctaccaaHttRatctaYattaaWatVNccat +NgagtcKttKataStRaatatattcctRWatDctVagttYDgSBaatYgttttgtVaatt +taatagcagMatRaacttBctattgtMagagattaaactaMatVtHtaaatctRgaaaaa +aaatttWacaacaYccYDSaattMatgaccKtaBKWBattgtcaagcHKaagttMMtaat +ttcKcMagNaaKagattggMagaggtaatttYacatcWaaDgatMgKHacMacgcVaaca +DtaDatatYggttBcgtatgWgaSatttgtagaHYRVacaRtctHaaRtatgaactaata +tctSSBgggaaHMWtcaagatKgagtDaSatagttgattVRatNtctMtcSaagaSHaat +aNataataRaaRgattctttaataaagWaRHcYgcatgtWRcttgaaggaMcaataBRaa +ccagStaaacNtttcaatataYtaatatgHaDgcStcWttaacctaRgtYaRtataKtgM +ttttatgactaaaatttacYatcccRWtttHRtattaaatgtttatatttgttYaatMca +RcSVaaDatcgtaYMcatgtagacatgaaattgRtcaaYaaYtRBatKacttataccaNa +aattVaBtctggacaagKaaYaaatatWtMtatcYaaVNtcgHaactBaagKcHgtctac +aatWtaDtSgtaHcataHtactgataNctRgttMtDcDttatHtcgtacatcccaggStt +aBgtcacacWtccNMcNatMVaVgtccDYStatMaccDatggYaRKaaagataRatttHK +tSaaatDgataaacttaHgttgVBtcttVttHgDacgaKatgtatatNYataactctSat +atatattgcHRRYttStggaactHgttttYtttaWtatMcttttctatctDtagVHYgMR +BgtHttcctaatYRttKtaagatggaVRataKDctaMtKBNtMtHNtWtttYcVtattMc +gRaacMcctNSctcatttaaagDcaHtYccSgatgcaatYaaaaDcttcgtaWtaattct +cgttttScttggtaatctttYgtctaactKataHacctMctcttacHtKataacacagcN +RatgKatttttSaaatRYcgDttaMRcgaaattactMtgcgtaagcgttatBtttttaat +taagtNacatHgttcRgacKcBBtVgatKttcgaBaatactDRgtRtgaNacWtcacYtt +aaKcgttctHaKttaNaMgWgWaggtctRgaKgWttSttBtDcNtgtttacaaatYcDRt +gVtgcctattcNtctaaaDMNttttNtggctgagaVctDaacVtWccaagtaacacaNct +gaScattccDHcVBatcgatgtMtaatBgHaatDctMYgagaatgYWKcctaatNaStHa +aaKccgHgcgtYaaYtattgtStgtgcaaRtattaKatattagaWVtcaMtBagttatta +gNaWHcVgcaattttDcMtgtaRHVYtHtctgtaaaaHVtMKacatcgNaatttMatatg +ttgttactagWYtaRacgataKagYNKcattataNaRtgaacKaYgcaaYYacaNccHat +MatDcNgtHttRaWttagaaDcaaaaaatagggtKDtStaDaRtaVtHWKNtgtattVct +SVgRgataDaRaWataBgaagaaKtaataaYgDcaStaNgtaDaaggtattHaRaWMYaY +aWtggttHYgagVtgtgcttttcaaDKcagVcgttagacNaaWtagtaataDttctggtt +VcatcataaagtgKaaaNaMtaBBaattaatWaattgctHaVKaSgDaaVKaHtatatat +HatcatSBagNgHtatcHYMHgttDgtaHtBttWatcgtttaRaattgStKgSKNWKatc +agDtctcagatttctRtYtBatBgHHtKaWtgYBgacVVWaKtacKcDttKMaKaVcggt +gttataagaataaHaatattagtataatMHgttYgaRttagtaRtcaaVatacggtcMcg +agtaaRttacWgactKRYataaaagSattYaWgagatYagKagatgSaagKgttaatMgg +tataatgttWYttatgagaaacctNVataatHcccKtDctcctaatactggctHggaSag +gRtKHaWaattcgSatMatttagaggcYtctaMcgctcataSatatgRagacNaaDagga +VBagaYttKtacNaKgtSYtagttggaWcatcWttaatctatgaVtcgtgtMtatcaYcg +tRccaaYgDctgcMgtgtWgacWtgataacacgcgctBtgttaKtYDtatDcatcagKaV +MctaatcttgVcaaRgcRMtDcgattaHttcaNatgaatMtactacVgtRgatggaWttt +actaaKatgagSaaKggtaNtactVaYtaaKRagaacccacaMtaaMtKtatBcttgtaa +WBtMctaataaVcDaaYtcRHBtcgttNtaaHatttBNgRStVDattBatVtaagttaYa +tVattaagaBcacggtSgtVtatttaRattgatgtaHDKgcaatattKtggcctatgaWD +KRYcggattgRctatNgatacaatMNttctgtcRBYRaaaHctNYattcHtaWcaattct +BtMKtVgYataatMgYtcagcttMDataVtggRtKtgaatgccNcRttcaMtRgattaac +attRcagcctHtWMtgtDRagaKaBtgDttYaaaaKatKgatctVaaYaacWcgcatagB +VtaNtRtYRaggBaaBtgKgttacataagagcatgtRattccacttaccatRaaatgWgD +aMHaYVgVtaSctatcgKaatatattaDgacccYagtgtaYNaaatKcagtBRgagtcca +tgKgaaaccBgaagBtgSttWtacgatWHaYatcgatttRaaNRgcaNaKVacaNtDgat +tgHVaatcDaagcgtatgcNttaDataatcSataaKcaataaHWataBtttatBtcaKtK +tatagttaDgSaYctacaRatNtaWctSaatatttYaKaKtaccWtatcRagacttaYtt +VcKgSDcgagaagatccHtaattctSttatggtKYgtMaHagVaBRatttctgtRgtcta +tgggtaHKgtHacHtSYacgtacacHatacKaaBaVaccaDtatcSaataaHaagagaat +ScagactataaRttagcaaVcaHataKgDacatWccccaagcaBgagWatctaYttgaaa +tctVNcYtttWagHcgcgcDcVaaatgttKcHtNtcaatagtgtNRaactttttcaatgg +WgBcgDtgVgtttctacMtaaataaaRggaaacWaHttaRtNtgctaaRRtVBctYtVta +tDcattDtgaccYatagatYRKatNYKttNgcctagtaWtgaactaMVaacctgaStttc +tgaKVtaaVaRKDttVtVctaDNtataaaDtccccaagtWtcgatcactDgYaBcatcct +MtVtacDaaBtYtMaKNatNtcaNacgDatYcatcgcaRatWBgaacWttKttagYtaat +tcggttgSWttttDWctttacYtatatWtcatDtMgtBttgRtVDggttaacYtacgtac +atgaattgaaWcttMStaDgtatattgaDtcRBcattSgaaVBRgagccaaKtttcDgcg +aSMtatgWattaKttWtgDBMaggBBttBaatWttRtgcNtHcgttttHtKtcWtagHSt +aacagttgatatBtaWSaWggtaataaMttaKacDaatactcBttcaatatHttcBaaSa +aatYggtaRtatNtHcaatcaHtagVtgtattataNggaMtcttHtNagctaaaggtaga +YctMattNaMVNtcKtactBKcaHHcBttaSagaKacataYgctaKaYgttYcgacWVtt +WtSagcaacatcccHaccKtcttaacgaKttcacKtNtacHtatatRtaaatacactaBt +ttgaHaRttggttWtatYagcatYDatcggagagcWBataagRtacctataRKgtBgatg +aDatataSttagBaHtaatNtaDWcWtgtaattacagKttcNtMagtattaNgtctcgtc +ctcttBaHaKcKccgtRcaaYagSattaagtKataDatatatagtcDtaacaWHcaKttD +gaaRcgtgYttgtcatatNtatttttatggccHtgDtYHtWgttatYaacaattcaWtat +NgctcaaaSttRgctaatcaaatNatcgtttaBtNNVtgttataagcaaagattBacgtD +atttNatttaaaDcBgtaSKgacgtagataatttcHMVNttgttBtDtgtaWKaaRMcKM +tHtaVtagataWctccNNaSWtVaHatctcMgggDgtNHtDaDttatatVWttgttattt +aacctttcacaaggaSaDcggttttttatatVtctgVtaacaStDVaKactaMtttaSNa +gtgaaattaNacttSKctattcctctaSagKcaVttaagNaVcttaVaaRNaHaaHttat +gtHttgtgatMccaggtaDcgaccgtWgtWMtttaHcRtattgScctatttKtaaccaag +tYagaHgtWcHaatgccKNRtttagtMYSgaDatctgtgaWDtccMNcgHgcaaacNDaa +aRaStDWtcaaaaHKtaNBctagBtgtattaactaattttVctagaatggcWSatMaccc +ttHttaSgSgtgMRcatRVKtatctgaaaccDNatYgaaVHNgatMgHRtacttaaaRta +tStRtDtatDttYatattHggaBcttHgcgattgaKcKtttcRataMtcgaVttWacatN +catacctRataDDatVaWNcggttgaHtgtMacVtttaBHtgagVttMaataattatgtt +cttagtttgtgcDtSatttgBtcaacHattaaBagVWcgcaSYttMgcttacYKtVtatc +aYaKctgBatgcgggcYcaaaaacgNtctagKBtattatctttKtaVttatagtaYtRag +NtaYataaVtgaatatcHgcaaRataHtacacatgtaNtgtcgYatWMatttgaactacR +ctaWtWtatacaatctBatatgYtaagtatgtgtatSttactVatcttYtaBcKgRaSgg +RaaaaatgcagtaaaWgtaRgcgataatcBaataccgtatttttccatcNHtatWYgatH +SaaaDHttgctgtccHtggggcctaataatttttctatattYWtcattBtgBRcVttaVM +RSgctaatMagtYtttaaaaatBRtcBttcaaVtaacagctccSaaSttKNtHtKYcagc +agaaaccccRtttttaaDcDtaStatccaagcgctHtatcttaDRYgatDHtWcaaaBcW +gKWHttHataagHacgMNKttMKHccaYcatMVaacgttaKgYcaVaaBtacgcaacttt +MctaaHaatgtBatgagaSatgtatgSRgHgWaVWgataaatatttccKagVgataattW +aHNcYggaaatgctHtKtaDtctaaagtMaatVDVactWtSaaWaaMtaHtaSKtcBRaN +cttStggtBttacNagcatagRgtKtgcgaacaacBcgKaatgataagatgaaaattgta +ctgcgggtccHHWHaaNacaBttNKtKtcaaBatatgctaHNgtKcDWgtttatNgVDHg +accaacWctKaaggHttgaRgYaatHcaBacaatgagcaaattactgtaVaaYaDtagat +tgagNKggtggtgKtWKaatacagDRtatRaMRtgattDggtcaaYRtatttNtagaDtc +acaaSDctDtataatcgtactaHttatacaatYaacaaHttHatHtgcgatRRttNgcat +SVtacWWgaaggagtatVMaVaaattScDDKNcaYBYaDatHgtctatBagcaacaagaa +tgagaaRcataaKNaRtBDatcaaacgcattttttaaBtcSgtacaRggatgtMNaattg +gatatWtgagtattaaaVctgcaYMtatgatttttYgaHtgtcttaagWBttHttgtctt +attDtcgtatWtataataSgctaHagcDVcNtaatcaagtaBDaWaDgtttagYctaNcc +DtaKtaHcttaataacccaRKtacaVaatNgcWRaMgaattatgaBaaagattVYaHMDc +aDHtcRcgYtcttaaaWaaaVKgatacRtttRRKYgaatacaWVacVcRtatMacaBtac +tggMataaattttHggNagSctacHgtBagcgtcgtgattNtttgatSaaggMttctttc +ttNtYNagBtaaacaaatttMgaccttacataattgYtcgacBtVMctgStgMDtagtaR +ctHtatgttcatatVRNWataDKatWcgaaaaagttaaaagcacgHNacgtaatctttMR +tgacttttDacctataaacgaaatatgattagaactccSYtaBctttaataacWgaaaYa +tagatgWttcatKtNgatttttcaagHtaYgaaRaDaagtaggagcttatVtagtctttc +attaaaatcgKtattaRttacagVaDatgcatVgattgggtctttHVtagKaaRBtaHta +aggccccaaaaKatggtttaMWgtBtaaacttcactttKHtcgatctccctaYaBacMgt +cttBaBaNgcgaaacaatctagtHccHtKttcRtRVttccVctttcatacYagMVtMcag +aMaaacaataBctgYtaatRaaagattaaccatVRatHtaRagcgcaBcgDttStttttc +VtttaDtKgcaaWaaaaatSccMcVatgtKgtaKgcgatatgtagtSaaaDttatacaaa +catYaRRcVRHctKtcgacKttaaVctaDaatgttMggRcWaacttttHaDaKaDaBctg +taggcgtttaHBccatccattcNHtDaYtaataMttacggctNVaacDattgatatttta +cVttSaattacaaRtataNDgacVtgaacataVRttttaDtcaaacataYDBtttaatBa +DtttYDaDaMccMttNBttatatgagaaMgaNtattHccNataattcaHagtgaaggDga +tgtatatatgYatgaStcataaBStWacgtcccataRMaaDattggttaaattcMKtctM +acaBSactcggaatDDgatDgcWctaacaccgggaVcacWKVacggtaNatatacctMta +tgatagtgcaKagggVaDtgtaacttggagtcKatatcgMcttRaMagcattaBRaStct +YSggaHYtacaactMBaagDcaBDRaaacMYacaHaattagcattaaaHgcgctaaggSc +cKtgaaKtNaBtatDDcKBSaVtgatVYaagVtctSgMctacgttaacWaaattctSgtD +actaaStaaattgcagBBRVctaatatacctNttMcRggctttMttagacRaHcaBaacV +KgaataHttttMgYgattcYaNRgttMgcVaaacaVVcDHaatttgKtMYgtatBtVVct +WgVtatHtacaaHttcacgatagcagtaaNattBatatatttcVgaDagcggttMaagtc +ScHagaaatgcYNggcgtttttMtStggtRatctacttaaatVVtBacttHNttttaRca +aatcacagHgagagtMgatcSWaNRacagDtatactaaDKaSRtgattctccatSaaRtt +aaYctacacNtaRtaactggatgaccYtacactttaattaattgattYgttcagDtNKtt +agDttaaaaaaaBtttaaNaYWKMBaaaacVcBMtatWtgBatatgaacVtattMtYatM +NYDKNcKgDttDaVtaaaatgggatttctgtaaatWtctcWgtVVagtcgRgacttcccc +taDcacagcRcagagtgtWSatgtacatgttaaSttgtaaHcgatgggMagtgaacttat +RtttaVcaccaWaMgtactaatSSaHtcMgaaYtatcgaaggYgggcgtgaNDtgttMNg +aNDMtaattcgVttttaacatgVatgtWVMatatcaKgaaattcaBcctccWcttgaaWH +tWgHtcgNWgaRgctcBgSgaattgcaaHtgattgtgNagtDttHHgBttaaWcaaWagc +aSaHHtaaaVctRaaMagtaDaatHtDMtcVaWMtagSagcttHSattaacaaagtRacM +tRtctgttagcMtcaBatVKtKtKacgagaSNatSactgtatatcBctgagVtYactgta +aattaaaggcYgDHgtaacatSRDatMMccHatKgttaacgactKtgKagtcttcaaHRV +tccttKgtSataatttacaactggatDNgaacttcaRtVaagDcaWatcBctctHYatHa +DaaatttagYatSatccaWtttagaaatVaacBatHcatcgtacaatatcgcNYRcaata +YaRaYtgattVttgaatgaVaactcRcaNStgtgtattMtgaggtNttBaDRcgaaaagc +tNgBcWaWgtSaDcVtgVaatMKBtttcgtttctaaHctaaagYactgMtatBDtcStga +ccgtSDattYaataHctgggaYYttcggttaWaatctggtRagWMaDagtaacBccacta +cgHWMKaatgatWatcctgHcaBaSctVtcMtgtDttacctaVgatYcWaDRaaaaRtag +atcgaMagtggaRaWctctgMgcWttaagKBRtaaDaaWtctgtaagYMttactaHtaat +cttcataacggcacBtSgcgttNHtgtHccatgttttaaagtatcgaKtMttVcataYBB +aKtaMVaVgtattNDSataHcagtWMtaggtaSaaKgttgBtVtttgttatcatKcgHac +acRtctHatNVagSBgatgHtgaRaSgttRcctaacaaattDNttgacctaaYtBgaaaa +tagttattactcttttgatgtNNtVtgtatMgtcttRttcatttgatgacacttcHSaaa +ccaWWDtWagtaRDDVNacVaRatgttBccttaatHtgtaaacStcVNtcacaSRttcYa +gacagaMMttttgMcNttBcgWBtactgVtaRttctccaaYHBtaaagaBattaYacgat +ttacatctgtaaMKaRYtttttactaaVatWgctBtttDVttctggcDaHaggDaagtcg +aWcaagtagtWttHtgKtVataStccaMcWcaagataagatcactctHatgtcYgaKcat +cagatactaagNSStHcctRRNtattgtccttagttagMVgtatagactaactctVcaat +MctgtttgtgttgccttatWgtaBVtttctggMcaaKgDWtcgtaaYStgSactatttHg +atctgKagtagBtVacRaagRtMctatgggcaaaKaaaatacttcHctaRtgtDcttDat +taggaaatttcYHaRaaBttaatggcacKtgctHVcaDcaaaVDaaaVcgMttgtNagcg +taDWgtcgttaatDgKgagcSatatcSHtagtagttggtgtHaWtaHKtatagctgtVga +ttaBVaatgaataagtaatVatSttaHctttKtttgtagttaccttaatcgtagtcctgB +cgactatttVcMacHaaaggaatgDatggKtaHtgStatattaaSagctWcctccRtata +BaDYcgttgcNaagaggatRaaaYtaWgNtSMcaatttactaacatttaaWttHtatBat +tgtcgacaatNgattgcNgtMaaaKaBDattHacttggtRtttaYaacgVactBtaBaKt +gBttatgVttgtVttcaatcWcNctDBaaBgaDHacBttattNtgtDtatttVSaaacag +gatgcRatSgtaSaNtgBatagttcHBgcBBaaattaHgtDattatDaKaatBaaYaaMa +ataaataKtttYtagtBgMatNcatgtttgaNagtgttgtgKaNaSagtttgaSMaYBca +aaacDStagttVacaaaaactaaWttBaagtctgtgcgtMgtaattctcctacctcaNtt +taaccaaaaVtBcacataacaccccBcWMtatVtggaatgaWtcaaWaaaaaaaaWtDta +atatRcctDWtcctaccMtVVatKttaWaaKaaatataaagScHBagaggBaSMtaWaVt +atattactSaaaKNaactatNatccttgaYctattcaaaVgatttYHcRagattttaSat +aggttattcVtaaagaKgtattattKtRttNcggcRgtgtgtWYtaacHgKatKgatYta +cYagDtWcHBDctctgRaYKaYagcactKcacSaRtBttttBHKcMtNtcBatttatttt +tgSatVgaaagaWtcDtagDatatgMacaacRgatatatgtttgtKtNRaatatNatgYc +aHtgHataacKtgagtagtaacYttaNccaaatHcacaacaVDtagtaYtccagcattNt +acKtBtactaaagaBatVtKaaHBctgStgtBgtatgaSNtgDataaccctgtagcaBgt +gatcttaDataStgaMaccaSBBgWagtacKcgattgaDgNNaaaacacagtSatBacKD +gcgtataBKcatacactaSaatYtYcDaactHttcatRtttaatcaattataRtttgtaa +gMcgNttcatcBtYBagtNWNMtSHcattcRctttttRWgaKacKttgggagBcgttcgc +MaWHtaatactgtctctatttataVgtttaBScttttaBMaNaatMacactYtBMggtHa +cMagtaRtctgcatttaHtcaaaatttgagKtgNtactBacaHtcgtatttctMaSRagc +agttaatgtNtaaattgagagWcKtaNttagVtacgatttgaatttcgRtgtWcVatcgt +taaDVctgtttBWgaccagaaagtcSgtVtatagaBccttttcctaaattgHtatcggRa +ttttcaaggcYSKaagWaWtRactaaaacccBatMtttBaatYtaagaactSttcgaaSc +aatagtattgaccaagtgttttctaacatgtttNVaatcaaagagaaaNattaaRtttta +VaaaccgcaggNMtatattVctcaagaggaacgBgtttaacaagttcKcYaatatactaa +ccBaaaSggttcNtattctagttRtBacgScVctcaatttaatYtaaaaaaatgSaatga +tagaMBRatgRcMcgttgaWHtcaVYgaatYtaatctttYttatRaWtctgBtDcgatNa +tcKaBaDgatgtaNatWKctccgatattaacattNaaacDatgBgttctgtDtaaaMggt +gaBaSHataacgccSctaBtttaRBtcNHcDatcDcctagagtcRtaBgWttDRVHagat +tYatgtatcWtaHtttYcattWtaaagtctNgtStggRNcgcggagSSaaagaaaatYcH +DtcgctttaatgYcKBVSgtattRaYBaDaaatBgtatgaHtaaRaRgcaSWNtagatHa +acttNctBtcaccatctMcatattccaSatttgcgaDagDgtatYtaaaVDtaagtttWV +aagtagYatRttaagDcNgacKBcScagHtattatcDaDactaaaaaYgHttBcgaDttg +gataaaKSRcBMaBcgaBSttcWtgNBatRaccgattcatttataacggHVtaattcaca +agagVttaaRaatVVRKcgWtVgacctgDgYaaHaWtctttcacMagggatVgactagMa +aataKaaNWagKatagNaaWtaaaatttgaattttatttgctaaVgaHatBatcaaBWcB +gttcMatcgBaaNgttcgSNaggSaRtttgHtRtattaNttcDcatSaVttttcgaaaaa +ttgHatctaRaggSaNatMDaaatDcacgattttagaHgHaWtYgattaatHNSttatMS +gggNtcKtYatRggtttgtMWVtttaYtagcagBagHaYagttatatggtBacYcattaR +SataBatMtttaaatctHcaaaSaaaagttNSaaWcWRccRtKaagtBWtcaaattSttM +tattggaaaccttaacgttBtWatttatatWcDaatagattcctScacctaagggRaaYt +aNaatgVtBcttaaBaacaMVaaattatStYgRcctgtactatcMcVKatttcgSgatRH +MaaaHtagtaaHtVgcaaataatatcgKKtgccaatBNgaaWcVttgagttaKatagttc +aggKDatDtattgaKaVcaKtaataDataataHSaHcattagttaatRVYcNaHtaRcaa +ggtNHcgtcaaccaBaaagYtHWaaaRcKgaYaaDttgcWYtataRgaatatgtYtgcKt +aNttWacatYHctRaDtYtattcBttttatcSataYaYgttWaRagcacHMgtttHtYtt +YaatcggtatStttcgtRSattaaDaKMaatatactaNBaWgctacacYtgaYVgtgHta +aaRaaRgHtagtWattataaaSDaaWtgMattatcgaaaagtaYRSaWtSgNtBgagcRY +aMDtactaacttaWgtatctagacaagNtattHggataatYttYatcataDcgHgttBtt +ctttVttgccgaaWtaaaacgKgtatctaaaaaNtccDtaDatBMaMggaatNKtatBaa +atVtccRaHtaSacataHattgtttKVYattcataVaattWtcgtgMttcttKtgtctaa +cVtatctatatBRataactcgKatStatattcatHHRttKtccaacgtgggtgRgtgaMt +attattggctatcgtgacMtRcBDtcttgtactaatRHttttaagatcgVMDStattatY +BtttDttgtBtNttgRcMtYtgBacHaWaBaatDKctaagtgaaactaatgRaaKgatcc +aagNaaaatattaggWNtaagtatacttttKcgtcggSYtcttgRctataYcttatataa +agtatattaatttataVaacacaDHatctatttttKYVatHRactttaBHccaWagtact +BtcacgaVgcgttRtttttttSVgtSagtBaaattctgaHgactcttgMcattttagVta +agaattHctHtcaDaaNtaacRggWatagttcgtSttgaDatcNgNagctagDgatcNtt +KgttgtaDtctttRaaYStRatDtgMggactSttaDtagSaVtBDttgtDgccatcacaM +attaaaMtNacaVcgSWcVaaDatcaHaatgaattaMtatccVtctBtaattgtWattat +BRcWcaatgNNtactWYtDaKttaaatcactcagtRaaRgatggtKgcgccaaHgaggat +StattYcaNMtcaBttacttatgagDaNtaMgaaWtgtttcttctaHtMNgttatctaWW +atMtBtaaatagDVatgtBYtatcggcttaagacMRtaHScgatatYgRDtcattatSDa +HggaaataNgaWSRRaaaBaatagBattaDctttgHWNttacaataaaaaaatacggttt +gHgVtaHtWMttNtBtctagtMcgKMgHgYtataHaNagWtcaacYattaataYRgtaWK +gaBctataaccgatttaHaNBRaRaMtccggtNgacMtctcatttgcaattcWgMactta +caaDaaNtactWatVtttagccttMaatcagVaagtctVaaDaBtattaattaYtNaYtg +gattaKtaKctYaMtattYgatattataatKtVgDcttatatNBtcgttgtStttttMag +aggttaHYSttcKgtcKtDNtataagttataagSgttatDtRttattgttttSNggRtca +aKMNatgaatattgtBWtaMacctgggYgaSgaagYataagattacgagaatBtggtRcV +HtgYggaDgaYaKagWagctatagacgaaHgtWaNgacttHRatVaWacKYtgRVNgVcS +gRWctacatcKSactctgWYtBggtataagcttNRttVtgRcaWaaatDMatYattaact +ttcgaagRatSctgccttgcRKaccHtttSNVagtagHagBagttagaccaRtataBcca +taatSHatRtcHagacBWatagcaMtacaRtgtgaaBatctKRtScttccaNaatcNgta +atatWtcaMgactctBtWtaaNactHaaaaRctcgcatggctMcaaNtcagaaaaacaca +gtggggWttRttagtaagaVctVMtcgaatcttcMaaaHcaHBttcgattatgtcaDagc +YRtBtYcgacMgtDcagcgaNgttaataatagcagKYYtcgtaBtYctMaRtaRtDagaa +aacacatgYaBttgattattcgaaNttBctSataaMataWRgaHtttccgtDgaYtatgg +tDgHKgMtatttVtMtVagttaRatMattRagataaccctKctMtSttgaHagtcStcta +tttccSagatgttccacgaggYNttHRacgattcDatatDcataaaatBBttatcgaHtN +HaaatatDNaggctgaNcaaggagttBttMgRagVatBcRtaWgatgBtSgaKtcgHttt +gaatcaaDaHttcSBgHcagtVaaSttDcagccgttNBtgttHagYtattctttRWaaVt +SttcatatKaaRaaaNacaVtVctMtSDtDtRHRcgtaatgctcttaaatSacacaatcg +HattcaWcttaaaatHaaatcNctWttaNMcMtaKctVtcctaagYgatgatcYaaaRac +tctaRDaYagtaacgtDgaggaaatctcaaacatcaScttcKttNtaccatNtaNataca +tttHaaDHgcaDatMWaaBttcRggctMaagctVYcacgatcaDttatYtaatcKatWat +caatVYtNagatttgattgaYttttYgacttVtcKaRagaaaHVgDtaMatKYagagttN +atWttaccNtYtcDWgSatgaRgtMatgKtcgacaagWtacttaagtcgKtgatccttNc +ttatagMatHVggtagcgHctatagccctYttggtaattKNaacgaaYatatVctaataM +aaaYtgVtcKaYtaataacagaatHcacVagatYWHttagaaSMaatWtYtgtaaagNaa +acaVgaWtcacNWgataNttcaSagctMDaRttgNactaccgataMaaatgtttattDtc +aagacgctDHYYatggttcaagccNctccttcMctttagacBtaaWtaWVHggaaaaNat +ttaDtDtgctaaHHtMtatNtMtagtcatttgcaaaRatacagRHtatDNtgtDgaatVg +tVNtcaaatYBMaaaagcaKgtgatgatMgWWMaHttttMgMagatDtataaattaacca +actMtacataaattgRataatacgBtKtaataattRgtatDagDtcRDacctatRcagag +cSHatNtcaScNtttggacNtaaggaccgtgKNttgttNcttgaaRgYgRtNtcagttBc +ttttcHtKtgcttYaaNgYagtaaatgaatggWaMattBHtatctatSgtcYtgcHtaat +tHgaaMtHcagaaSatggtatgccaHBtYtcNattWtgtNgctttaggtttgtWatNtgH +tgcDttactttttttgcNtactKtWRaVcttcatagtgSNKaNccgaataaBttataata +YtSagctttaaatSttggctaaKSaatRccgWHgagDttaaatcatgagMtcgagtVtaD +ggaBtatttgDacataaacgtagYRagBWtgDStKDgatgaagttcattatttaKWcata +aatWRgatataRgttRacaaNKttNtKagaaYaStaactScattattaacgatttaaatg +DtaattagatHgaYataaactatggggatVHtgccgtNgatNYcaStRtagaccacWcaM +tatRagHgVactYtWHtcttcatgatWgagaKggagtatgaWtDtVtNaNtcgYYgtaaa +ctttaDtBactagtaDctatagtaatatttatatataacgHaaaRagKattSagttYtSt +atatatagtcttaaaaMtcatgttcaaDactgRttctaagagDtatttttagcgacttgt +gRtgNctgSgRaaaaatgcaMtYtDcatcaaYKttHcatSWgaaaatDataggttatgBD +MtgttataacaaYSgagttacgttatgtDStttaaatctcgWKtcSacgagagaSgttat +BMDgtcggtgtgcgaNtaSHBatBtttVMgVcagaNatcaDDaKMtMYtatagaBccctc +tDtgtatttatatKNtgggtatgtRaacttgaWaaYgcaHatccctggtttStatMtcgc +MtaaaWKttMVtWctVtgttaKDWctgWaVttaDVatgKtagagtcatctaKWgtaaMtt +SacBaMattaKaaHDataattgWtgttttgtcatBacacgtStacaaagtNctNtgtgat +cHtWttcKaagagttttaaaaWacgRacatctNatVStgaatDHgttWcgtRKcatatat +ctcaNttaaBDcctgaaaaaDtaYaHaKttNtaYVaVtttaDtctacttctWttaactaa +ttttMagWcaatcccNKYtBaacatgttgaKgKcgcBHaatDMttatatcSWacatDatR +cWaMtDgatBctHgScttaaaHtSgKtDtttattgtRStWgttccatatttcacWttcat +attgtaHVgaBtacaMtgMaaagDaataactDatattagMaNBagcttcattcgtaaKtg +tatttcacMtgBaVtaattStcttagtYgtgtcgccttKatgggtgaWaataggaatacM +MagaSKRttBgatgacRtgMtagaSRataggtatcaccgaNaaaWSWacDgatacttgat +tagcttgtgVMttatYctaRgHVcDtVRRtSaMtcaVtVtatcaYaHatattaaVaatct +aBtgtacRatNtatttgaYatSaHctaNgNtYtYaYagattVgatcRtaacgYggtgtat +KttaatMagatgRtatatgHaKccHaaaaYtgaacgaWaNgtYHgacagaYtctaVtacc +cgatttttaaagcDttatNRgattKaaattttcatctaatgccgcaataataattgttat +YtagtRNtaagttggtHaKttWMtDKgatSagBYcgRggtWaVaattHtatgtaaaMgSa +aagataaKaaKgttDttttRaagaacaWRcaacDgtgttaatattaKtatcaWacacatt +tVtctgatHRcagtttNcaaatcNctNttttataactWacBBttgBttaaaRaWtBKaaa +cgtatcRcaMaatgYacaaaagtgBataStWYtggtatgacaKWtctSgcKHgtcNaMNc +ataSatattgactacMcataattNVtDaRccaaatcagttttYttagYaacgtaatMtMV +atNgKaaMaaBgattaKttatDaBcttKtccttttacDagaYtacHgttggacaaaVaat +agtYatcataSgatcaaWVttcgaatgaccctccttNtaSBWaatttDttttcaatatYg +gctatDcttatNctttagDcMttcaacWaaNattSYgctttcaHcRaattaataaaatcV +ccRaattactctaMaVRattacagtgRcDtcgtgctcttNtWVtacagtHtatHaBDtcW +ggtgctcaaRHtatgtDgacStgcaaaVKtagttataatactaatatgtagScaatRSac +aattgtattgcagatHHtgBcaatKKtaaMMcaRcgactatKBaMaYatgKatttDaaNt +RatattgtatWttagcaaaaacaWgcacaaHcataYtDaHgttataaSacgcagggggtY +atgcKctaaaHgcVgctBDaVttccStagNgcSgtatgVYaMatcaWRBtVtgYttgtgR +cYttcgctgaacNttgtgtctattWttttcctagMtagaWtaKgatStScatMaBtaSta +SactattYNatctgtacRatYDaatgatgatatgaatYaaaaSHttaaYMaWtDcaNHaB +caYtgVgcatVaacattMRatBtaatttaDacRtagtaaaNYVSMtcagaaDtttDHtRc +YatacSNKaaMcHgatBaaVttactggBYgaYatttttgcDacHctWatcgtagagtact +cattDggtcatKaSgctttatttagtDtRBacttaWYaaaattttgaccttaaWtaatgc +RgccacttMtaggKtcBtgacgaHctttatcgtcStatMHDNagattatNagVaaaWcgg +aaaYcaVactDYactaStattgBHtcYctgggtacatataaYcgaYagaggaggacaVat +acHRtYtctgtaVgaYcNgaaaNatacVgcNgtaatttDcatttttcaacttSNcaaDat +VYctSgcaccttagMgacgcttgaSttaaaatagttaggRHttaaacMatagcaWgMgag +tcgctagtgtKgactaaHttattaWgcaaaaaaSatatgcgttaBNggttaYVatgaact +ttttgccatataaataRatSaBctagttataBccgaaacaagatacttaattttgaHgHM +gtaaKctttaYtaaRacBMtBaYgaBaaacaYtVtagcRgWatHaWagattWSacStMHa +tttaDagacaatcgtgtKtttggaMtgtWtgtgcaaNaaaaWtKaaBcMWtcttctatga +cVgagcgaggHaYYtttWgSaaYYaWtRYHHaMDtctttacaatggaaMctataagcttB +cgHcNWaatttgtatatYtStatctagcactgtVttccagaaattaDtttaRtVataBtt +WagcatDMVactYtgcatWtttgaaMggKaatgaaaaHtataDtgYcMggVaaatSMHtt +tgVttaYaWaataRttgttaYttattttRtWtataaBgtDtttatatcVgaaBcaDtatg +tcaDagaWtgaYtWctcVagctcagctatatagcRVtcaKtaataatHgNaccgaaaatV +HBaatattcgttaVYttatttctBYaatKaagaccVStttcattgaMagSaaaaccccWK +caaNtMYacctaDStagaaatttatcatVgtcaatacccKattgtaaagtggWgtatatV +tagBcttDaBacaattWtDYKtatRKggStRtaaaWatBtaagtaattDaaaaBRacWta +agtacaSttaaatccgctaaccKaattgVWttDattatttattKaMtcYtMRWagMtcgK +gBagacgggVaaNaaatgctKcgtaataaKtaaagtccWcttHMatSYgataaatDttBa +HccattgBttSgaaHYtaataaaMtgaagatgtttBgRcattaRaDHcttBgaMaWaaVM +MattaatttgtgBRctattgKMagNcMtatttaaaWttgaaacatWgcScgYYDYgttYt +VtattgcKcWtagcggtgBaSctaKatacaaVtcaRDccccgtgttBgKgggtHagcgaa +ttaaagMMttScggtDttttaHcSaagaacactcacactBcVgaKNaDHacacttatSag +aattSKHtcagtataaatKaaHtgaaRagaaVcBtaHtaaatcgatcWcaRtaaaattta +WttaagtcaggRctgaWcttDttgactttaVSaaaatggtaWDaRMtBtaaaaaKatBga +tMtctatatcaVaMgatttgNagtDRttDatcttttaMtYaaatcggagttctctaYatN +tagaNcgMMactacHcaagtaaaatStaSaacaHcacSgggtNKatggaaagcggaaKgg +gtaYtacSgccgBaggcRacgtVgDtggaMcYaaaMatggacgYStKKatgaBcaaRtSt +ccSagcRccgccgcSDtgcggBDgaDtBtSSggacMttttaWcatcMatgtNMBWgataa +tcaaVtgaataataaNatgcaaNttNctgacDMcaHccgatgKgWVttccaStggattct +cDacttttttctttaaNcWaMWccWKWttgaaaMctDaaBactRtVattttBtcMaNttW +cKacagttKSttaYaWSactHSaBtHgatgttacatgcatatMtttgtaacScWHBatHa +ctggatatatctgagMgRSatctaaSttaVagcaRcttggaYaatKHtagBBactattcg +taaagaagttgtVcgatgaVatHMtcaggtcgKSgWattgaaaVctccVgtDcaaatgaa +HgMYactcaMatatatattNVttWtWaatttacRagKataaaNtttacaaWgMVactatt +aSgaggVaaagVtaccDRHaaataRaHaRgcattMttcaatcaKaaataDcaDKtctcga +ggBggacctDtttatHacWVaWgatDctaNaNcgKatcMtcMaatBtttggacgtgataa +tagaaacRactcBtattttaKtgSaaggKtaggRaVtatagcccaNRttaccttSMaaga +tcggDacNBatWcgaactacactaactNBtaStgVtNagcatctaVtaKatKgaBtcgtt +tWaagWMgagRaNatHaaaaDtacagacaBagtgcaHaNatctcBccNttaagttDgaat +aaNtcgctaacRBgtaatSttaatatgcataacccaSattKcccttDttggtcaatgggt +tWaacgatacattBtgMaYgaRttatgatKaKgtattDtKWgataacgNBtaccgaKWat +cttcttKtgtcttagcattcctWcaaHgagtatDMSgKtcagcttgVHaKcttDaataaa +VaatttDgtgaaataaRgtcaVaatacttagtVatatgggcatgtDDtMtgtatBggatt +HtgcVtgtgatcaaSattatKYVaacSNNttNWcgaHttKDaaMYHatcgttaattaStt +gctWaacHtaKBtaaaaKHttcRWgaaWcRtBtttggBcDtgtacNttaagcKtaHgtag +aaaaRttgaaacatagtWRaacYggtaaatcgctYaBtWDRtgttgSctaaKatNcattg +tgtMttatccatatagctSacgccSNaaactacgNtgtgcttMatSKtcaaBaNaaacat +aacagaaatagtagctcNcatcVgaagStaataVcDKKttcagDHDtattctaatgaggg +RgBMctatacaagYactctMaaagtcgctttctcgtgaattatNcgatMtttaggcBaaa +tctNtactaaRKtgKactattgtcatatgtacgagttMaaHSSgHgBatatcgcaSaata +aaWgaagtatagaHgcttctttatgaccWaatttaRtaDaatttaatcgaaattgattMc +atcaWaMtaWaKactttctBacactatNgtccttaWgtctgaccKatStaKtgagtacgg +gcgcgtYNtatttagacctctKcatgatKWStcaataactaWgMSgHtgatctttttgtc +gacgtSacttaYgcctWctcctctacaagVtttMaBactWVaccaYtgtSgcgttattcK +tatStgaaKaccgNaataaHtatWtYtRacggcaDaScagcagHaYWRtRNcDtHtcVWt +ggaataaaYttgVaNtgttagtYttgtagSaaatDgaggccDcgBRYStattatttaagg +ccgHgggYRaaccMaagttatSttctttagcMtgcgMtgaSagaNaDagttSatgattWa +tttagtDgcttgagtgMKaYWaYccagcaHatKctaKaDgctagacttattgattaaYtt +atcttattattStaattWaRaYBWagYaatatgttRgScttgBagDaWgcgtgcVDaggc +ttgtctaDRKacttgcaKBWRtaaVaSctKtacttMaaSVaWWcgSaNtttSWgtcggtc +acttggVVtgagaataaataaDttgaaccaaaaMttaaaagaaaaaaaatcNBtatMgcc +WagcaNgaVaNaaaaaaYaMgttaWtatHaagtNtacgacaBtMMattttWNaRtaaata +gYaScKattacagctVKBtWNSKgYtYgtWatHaVatDaaatWgDatcctggSRagagta +aaaMgatttRtaHacatggtaKagVcctgatgaMtaaYgatgtattattttHggBaccaD +ctctggNNtYaatctVttgVtRtVcRacttNctttataggHSRtaRacaaattaacHaHg +tgttgtttcBtBtatWtgtattttgcKagMcaaagaMtattagtStagcBacYaaHcagV +gWtgtttcgtgDHaVtagDatcRaRtggtWtaactgcacgaggaaaRttSDaaVaSttaa +aaacSMttactaNtcaacaattDtacttttYatVSacYtWtMttaattatcKtcttctat +caKDtctStSaaacggtYccatgtgagagtWtagWKgcaBaaaaKttgNactaatcgagg +cWtcDDaaaaaacactHattaattcactatYttaagacactaKaagRtRataaattttca +tHggtaataaatgataHtggctaacBacDgtaatattRtYgtDNDBgKtcaggcHatttt +gHNgWtaatttccgactactgacatVNttYYgactcgctctatttagaMcgggatHcgtt +tatBaDSagBaaaagRttBggttaaBactVHgatgaatttattcaaaattgcacttcDga +cttYcVttactVtttatBaKHagaWgtgaatggBtaaSggcagacNcttaDttVgMtWag +attggVatttacHtctNcMatacttSatMagcttgtNcYaaScaYactcKctKtagScSt +cagtttcatWaatggtgagaggHaggggcaacgcRKtaRcMaNtHaatRaRaaactVtBt +gttaatRtWWcaaagKttccaaKaaatacgVttcacaaacgcggtgagaRaatggtgDMW +atcWVScacaaaDaggaaHtgttSMaaaaaccYccDBtatYgtMagcSagaccaVcctcg +gtVWaaagttatcNaagataataSaataaaKccgtaDtYttatYcttHttaagKcMctaa +atggaatRgaaaVaaVtcKYaggatWcaBtDaggDatccttcYNtgcSMRgaRtNgaatc +gttRttatDVMtagctttacatDVtatatatcagctaDagMtataccYgaggYaaatgDa +aaatSgctctgatgtttVaaBcctgataKtagaaaccaKatatgttaDtgaDtatagata +atacagtaDtatcNtgtDMtYcattRVtctataNtWttggNaSgtMgaaYctctDggHtg +gHDccaccacKKaaacaaaatRatttccctttaagcRattMHctattHaRtataVattgg +atcSttaaHaHgaaHNDtacattSaaggDatttcaaaYgctBcatattaaaKagtgccca +tSctcgatRtaaaMtgWactttNMaWctYgRatDggaactcDcaattaKaactgagtatc +tataagYaaaSRctggtacWtttccWtaYRtKHattatagWtKttaNgcDtatHacccat +taatttataacgctMgaagtaacaacagMgtaYHYVtKMHtacMgKcaaatctgRYataN +tcgttcaatacggWtMcaatYcBWaagYtVaDNagtatagDaaNtaaaYtttcYWttttS +tgggataaMgatattagaaYtNctcttcBagactaYDcgtacHDWccKaHgttcttHgVg +gVDttatcatKaMttttacWaaSattctatagaHaggKaDagBtaaagtcYccattgtYc +atctaNgRgVtgaagtDKttatBKcggDtattRYgHccgtgcgBNMtttVRgacaYctSc +taRacgtagagccgtacRaagtaHKagStSttttgYSatattaaaWHaaWagttDKaaNa +NHaaHttaYcttMtcaaatgKttBtSgtccaaVaattSaacgttgNattgatatNctaWt +VcagtactKcWacgVagggHaaRgaDaatcMttattaataacaBMaaVtgYtKgRgHact +gtactatcBaMtVggtagKcYtHtBSaattagtaatgMcaVVagYYgWtactttccaaSt +tDgaaMaMttcacttYtRgacttcagcttWtttagtgataMaattaagVtagaatatKat +aagtagttaagHMRaDattaHaaVcctDtagtcVYcaataaYcNttNaaaHctcaRaatt +tcaNRgatSHgVatagctRtcatgaBttMaaagRtcgHVtgRgStgatttgtagaKagaR +WRctgNaHYgaaatBctgtttRttNWagaccgagKgtgcggHKVttaatattaatataat +aDtaNcctacaaRgcaNMctctgaaSHWWHcttagtNagtWgWaaKtYaNgcBattatcc +aaaSctRRHKaNtKcBgtgagaDRWBttactaaattSMctatatagaaYacDgatttccV +taagRtgRataatatagtctttttatgtMgtcaacaaNtaaaaactctWtagaVaaaDta +attatagtBStcgaatDtgattVaatMtcaDattVKWaagatagggttgtMRSgtcYgWM +aatgNtagtcBttagtttctctWaaMtVgctWgSgtHagaSagactagKtagWggcattt +HgttgacaaactcggggHggcWBgVgtatgggagVgagtcVcBtDctttagtctaagVWt +HtgtttaScatacMBtKgattatRtgtttgtctttDggcHaBtRtgtaataNataattta +taWctgaYWataStcHaatcRtaaVagDWaSatagtaccNDgaagtatacgttttacgac +gKRtattgDctatRRattVtStaaactagatgVatttagaMaSaaaattVtatYtgttgt +RMagtHaatttSttaaYNaggWagtgcacgaMcactgHgtgtgggHMgtKacttaaYgtc +gcatcSatattgBaagtttacMtYagSatttatttaVtaaDtaWaHcgNatactgactHt +ggWtataDcDScatactcStcDtgtcgtgtatgaggtHaaNKgDattgcBccaagKgtat +gacKSMtttttgttcaaatcaaYtagtaSatgDaaaMccKNaMaatagaataagcaatta +ttataaMgagtgaSgtctNYttattHaNaYYtcDDtaatNRgtatttaaYtaaatcactH +VaHcStccttcccaaVatcVggatKtatgRaaDBgaYtttacttYggactSDtaBcaaNg +gggtattatattBDcttagagYNMatBgttYaagactMatgttRgatacccgtaacacBH +tatKacWgatRcHttaattYtKtStccaaatVDcaNKHHaaataatagtagtatcttgct +NDggVaVVtaVaRaaagSaccgttctcMtVtgNBgtDtttctYgttactBctcRtStWtW +DScMtcWSaRatgaataRHctaNtcStctYtWacagatgtatYBtHaHWBtacggtDcaa +BtatcaggtcaVattaNctactgaaaatWaDgactNWtMtggagaattBaataYcMWYcg +atMYatWtgattSatgaRtDaRgccagtSttatatRaBtattRcWtagtVgaagttMcta +ttatatDttaggtctKtgtgtBagacgttatRKtgatctatttBtataactgataacKcg +gagtgHgtVttcttgtKDgcDtaYatBDatcaatattgttNtaBacatcgcNcaKcaWcR +ataWcVgtacgScaWgttcggHcMttcRccatgaRStYgNacagatacYacWWtggNaDc +WagttHatMaNaatNtcDMDcMaKgHNatScVgatKWatatgNRgtccgYgaagattDHg +tMtcHaSNaaattBatRagtaaatttacaagHWtKatcaagtccHtYcctgttKDMSgta +ctactVctgacaaaaHgatatacataatKtStHgctScSatNatacaYttaaWHtctgaa +tYtagtHtKaggccWBaStaDctaagagNtaatcaatcgttNgaYDaagtaaaaHataga +atcgcgBaYaBgaacSaaWaaaaactccgcMttHttYgtaagaMctKBtacSagattcBa +aWtaattttacRttatcgaRtacaRHgtgRagaaBcttaVgacVDgggaatVatagaact +RRtacgYttNattVHgaHttacaaaaaaaYtcRWtgtgattatgccaSDtttatKWgaat +atSNDgattttaacgtcSRtatggttcttcBtWtttMtBtMScttaHatBattHacYtaY +acattcgttKgtcStSctcKtatatttcaKSgagcttccaacaccRDtttDaccattata +tSgtcWtVaaagttgtagccattDtYaatattDaccatcVDaaRccagttttgtcHacMa +ttcHgaNcatgttKcVttcctgtgcSataaatattgaKtctaWctMRaKggtaYcaagtt +DttcgttacRtatgatggHNaWMtKttcatattaaDaSaBaaaMtMatBgKtttgHtHac +taatcatcgtWaatKaaWcaWtcctVttaaNaggaaaagtaaagaDctNttaDBaBgata +gMgaataacRcYggatcRaaaHaagatRDtVRactaYagttcaccaaWtctcSSaaatcS +KattctggDgaacagDtaDagacagtgtaattcaStYttNaStgtaHgccttaScatMRc +accWtcatttatRtaagatWtNataaWtMNtDVgWttgcWgtgaRttttRgWcttMtcta +HacaaYtKctgaBagtRagacttDatNttaaaDgRtatNcHatcSDgtBatcttacVcYa +cNgaattaacgagttgYgacttDattatacBattMgctagcctagatVcaactNttccta +atgtDaacgYaNatagMatSWtYBaaaRtgMtatSRgaataYaScaVgtaScMagatNNt +ttacaaHBaWtNtRtctaaacDaaaaWMcaNtcVaDNcagaDtgcWKYgagttaHtgcDY +ataaacataBaWWtcggtatgtgaaScaacctttRNatcgttaaagcaDctaatgcBatt +tacaattVaMgSMMtccYaaaBYtggattttcataWttgBtatDtBgactaatgtccWaa +HataaScHttWttDtcgtcaagMctMDtaaaatRtBaaaacaatgtcagcatBgNNBVtt +ttttcBacWtttWtSWWtgaaaaSacgBtaaataaagtcDStaagaactgttaatYatgD +ctattactgaHtaaatStHaagacaKtagDtaaHaDgttccaaDtaaggacactctDggc +gtDagtcWaHgRcHgDgaSctttattgtcttttccttRYaDgNactaaatcaWggcNSBa +gttttatatStKgtcRtgattaaggtcaSBttaacaaKatgggatcaaattgRgcBagtN +tcgDcatttWcctttgtNagDgctgcatttactttgtgtcaBgSatttNHaMcggcagSc +tcKDtWBaagSagWatggYtVatSRgKagattgaVatKttcgatYatKYSgDaacNtcVg +tttaWataWtgVctgcgSggMgatccatgagttgtWcatYWWcctVcNHagtNtgtKttt +gatcaacttaSttattgatNcatWaVgNHcagStVHcggHacaaDttgDttWcaaRaKga +aatKaattagtaWacattgaaatgtgaatgacagtgaRVtaaYagYtcggcatMttgaag +gDgagDRcaKgHtacacaaaMcaBtagHactgKaatRtNttcttcatcatNgYgStggac +tatgSMttgKtDaDgacRRgtWaVattgatttaagYctatatagactaagaggtatWtat +aaactaYaHRctStgKWcgtRtKtYtYtagacgattRaaYBtaStcttaWataatcHtta +taRcactgagtgggagccaattctcDtgDaggHcDRVaVVggaaBtRttaataaRRttgt +aagKNcaVWWgtatacctgatcttBtcttRgaWcaVRKcagttSacttagcgtKtgtYWa +tatcgNttcKaccacacVKctgattBtggacgtctgacaDtWKttattttgMBgKaacaD +ataattWtBtBRtVtacataaatatttgtWtttatagtDtgcctagctHYaatgcaNaaR +caatVtacctgggggKtagBgagaBgRaaNttttMtMagMtgtgattNctcNaKggWtMa +tcttagWgtaatatatNctaYBggKaataBattYtaattataVtggNtcgtgtctaatta +aacctHtacaaactDctDtctgatatgMtgataacWctgtgYSaaNScgDYaWtatDatM +KgcaatttctgNcgtHtaWtagatatcYBttaattactcaaaVattYRWtatttDtaNMY +MttgattataatgcgNggWaatYagttgBagNcaagaaaDtRgtaaaagctgcatctagc +ttaVgtBttatagcKMSaattYtHcMaBttcagtcttgKatgVSVttKgttttttagtgt +DHgNggtcaVtatttaacNtgaatatgctatMcatgaaaBtgBSaWctaataaattatYt +tagtaDtaccggaatgagtaattggatttaacBtctSMgWYtgKgattacgRctctccaa +tgtaggcctgaNaatScgYataaBBacaKtHtttcatgaaHtgBtagaKHVtacctVtca +accaDaaWNHNaatgataattgatgWcagggtcMBtgSgRataHctMctgMHHtKaBtaa +MtMgataaRWtagYtgaaMaSgctYtgcgaaHatDtatgtcWRatKatatYDcBgNtRaR +acattMcagaHgaaagRccgcgWttggSatBagagcHgYtatctVtcatYaaVRtcaSac +aMYDcgRtcaaWgaRgataMtaaaacaggtgtaaYcattgWgDHcWgttaVatttgcatc +taatccacaaagaagSatgcgtagRgagtHDgaVcgtgcttatggMttttcatKSctNac +HcctMaKRatttgatctaaatgHaaScataataatgtttgtgtHaVcaaaaNHaaaatcg +ctgSVtattVttagaaNWcacagtgKtatgattHcYcttgDaWVataBatBttttWtaac +tNaattttctttaaYHaMtttaaaccgStcHaVBaatcRacaaWactgtagVKtNRtcct +agcWaatNgctKccttctcDaBDcatYHatatgcaataaBaagaatgDMttaHcaaYYtc +actgttRtgacRaacctaWtBtBMagBctaaBaWtgatgVtttattataggttaattgta +atYcaRtVctcttgcacSaaMaatactRSgcataKcagcaVNKttcgSatcaaactaatt +DtaHtNaVtgttttttaWVtatNccagWttcgtatBcgttVctcBttaaaaMSaDattKR +cctttcataHaattaatWaaataKcaHVaggaatataBYKHVtgVcVgtcHcttccgcct +attDtMMgWaacttgWttYtttcMcgtcctaaVHtgWtggtgacKtcaWaYMttacttag +VWtacgSatatcgWcKaaatHKaaaYttgtagtcaacWtttggtcaagttgaaBBaSHac +VcgYgttWBSRWggtattttaYDtHatattcgatNttacaaaaVacaMccaaYStaataR +ttVtcttagaVKaacaWcgccgtRatcatctaaatccMcctttaMggccHgYcDgaKcta +tgMRYBagcaNDtgMtcRttgtgHaRttacatgaWcDtgctgtataggNggtgaatagBg +agYNtatcagKtHcatBatgVKgaHWagattRDatatcgYcHagRtaatgWtcStagcVa +tNaaaaKttgRaRBYNgtaaDtStaVRgcMccatMWaaattBDatttaatttataaHtag +tVVaDRMKBtaacaatttttttDaRSgaaKDtVaBatcagtaaMttaagcctRgaNVggg +ttcataatagNatcctacactacgcatgtcggaYgtaKcatggattgactttHtaattWN +RaaWYggttcaaaggaaNtaatgcHcaaaattBtagcttattcaagVtatttWgcctaKt +atBttDYcattagDacKVaYNccgYaYRaaMaattRaagaHtatgcttgcRagcgctSaa +tagaaRacaRacSccagcacVMataatHgRtagcgaKgYRaDcVWSDVgRaMgcDgtaat +tttaYttggtaaWcttKDaaYtatMRcgKccYcagtYcBgRccattcaKtgaSSRtactg +acgHtgtaaaaBatWgcaMcBcYcgccagactcttcSatYattgatgaNccaaaaWaKat +VgcaggtWtBcgttaRMagcaaagtgttcacatataaagaHWtKatctacttatatcacY +RaaVagataagtaattttgatgtBctaataggtaRtaaHaattgtaRcStYSYaWRgMta +caHcNSttVNScattNKaaKgBtagtgatYcaaaStactggttggggaBggtNtgtcaaW +BaYVSNgtaataBNtagtatatcacMcScccVcgtVRRtttNcKaSRNaNtHRttattta +ttgacaatggSaBagataaccgttcctaDNaattgctVtatNtHtatagSccaagctKtt +aaacaaattattgtSHgMWgStttNaccattBMYatRtccStNgttgaaBcctVagcaaa +atgatattcRaBccMWaagKtttttcMtgaRYNaataDttgttWRttattggHtNtataa +tggttgtStYgaMcYVtcattaggtaatVcaNggaRtNataMWcctcYgcgagagRgcHM +gcWtgaYtVSttgDaacgaaaatMttYWtWttcctgaKNttatttattRaattaagaccM +KtttcWgtcaBagKSaWaaacaNtaYaDtBNaaagWtHgacaaagtgVtcatKcgcaatV +aactatgcgaaactccNctatatMgactatttatSaaVttNttRttagHtccKtHtaaaN +atttYVctaatttaaaatHWaNtSacgaaaHggaaatcacagVYcctaattcMNtgtYtg +agttatttaBtcRgBHNacBtactctagaacgcKaaDWYYgcattactVagaYtgaVVcg +caNctttBagKRcSgaaatttgtatccattgtggHcaatRtaVtaSaBtcYYcatcgtgt +cHaVttaHattctgtcaBSNYaKBBattaatggctgtHatattgtBacDcBgatttaaaN +tggaaaaYtNcaKagRRtRgttRtMtWgggatcNtacacctgtWKagatataaYVMtaaD +taaacctctgtgtgccttScacWaggaYacttttKacgtttgtgataKYagaYaVatcWc +SattaMcatBYttYaaatgStKagWattKtttaWgtagaaSgtRattcSaDagVaMatta +ttYaagccSgcNaaDgaaSaggtaNgtWactaWcgHctgaNatttttcaatgtaMHSWaR +tggtaNtaHBtttWWaaatattcVtBtctStWtaWMaBcatttcDagttDtttatatgtt +WBtNaYatcccSgtgagcgaRYtBtagaDacBtaagaataWactaaaagKtaKaWaataa +cKcccgDtagccaaagcggaatcgctSRtacKgcactacccHaactMgtgccaBaRaaaB +VtcgSacRKtttStgatcaaHgKtaaKaccHaccacccKttgagcttcSttttKKcgacB +gggtYMaatcBStcgDBtMcataWtaWaMtgaataagaaDatccSYDtgBatgactBaVt +aagatctcNMgtcaWKtgcWggcgatacgtgtttatttWaDaNWBNaaNtNttcaaatag +taatScgHtMWttgttgaBaDtgNatSaagtttHttaNaNKaattKatttgatcgtVcat +gaatatBtttctaacKaNttVttSagccatRtatatcactcHHatctWSKttaMacaaDa +ttccaRaYttttagttaatattcctYaacVactgctMcgagcaMYtttgaagctagtKgN +WttgaaaMatcaMcttcSVatcaatgtNactaaBagatagagtDMgtNtNWatttSaHac +tagaaaDggtaaaaNctMaatagtaHgacgMaaacMtacatHtaSagaHatYDccagtBt +gaWatcYtVaagataattgatcgacctgcaacgttttattacNMWNcattataDVDacta +tattatYattttgcgaagtgagYVtagYaWaHaatctgWttttatgcHaacgttaccDaK +tatagaccaDDttaacgtHBaacatccgtYaBtVtNccaaataaaatVactDttSKtcMt +DSgaagctaMtatattgattactgtNaagNBcagHaDattaaaWttacacaaatactcaa +tSDatagctcaDttWactttgaStaaDtagatSaaDtgtaatKtgVataggaagWSaaaa +KatttaaagtttgcgtaaagcccggNWaacatacatgttctaRcaHttVtcattatctag +ttttNcataaacDttWaagVtNYtaggctttggtatgagaWgtactNaVatcactVttBK +cttaaccttcMtatcggtaataYaMaYggttgtcaaagSWHctaRMSatVcggactMata +tccgaatcttttttcgagtccagtttgaMtcgcatcaaKagtattRMaaaKDBttDNcca +tttttaaBNtVtccgtaatgaKgtcagMVSattatttaWaattttaHNcaaMaHttgtgg +ctattctacDtgaagattatcgacaaVRHttcSaSaatactNHWaaNcgtWaWgaccgRS +ttNtHtcttcKatYatatBaagtcgctBtgagccatatScctKaagaaKDaWactWagBg +ctgattBagKtgaaataBaaaaagSacScaaagagtagcgaDaYtaMcaYcKtaataMat +ttttaactttgYgtcgaaggacgcHctBcgYgaaVacRYagagBaaYgtagattgcgagt +caagtStDagatBgtgaccctaSWtctDgactaSHttctWatWttctaWtatctYacact +gBWatKKctgtatYgacaaHSatYSaNgSagtatagatgagtatttatgaccMaatgtaH +tStaWttgYagccaWattcagtBaYtaaNaBtaNatactggcttWcaagatDctacggaN +ctatcacatSgKgattgacgacccccgagtNDtattgagaaatattaatcVttNKtaaWt +YacgSNcBHgttgWtatgtttcgccaactKaattaRgacgNataatctacaacKgttBat +YatNMSaaaNtctKgacttatgcttatKtcaVtVcagDaataattYgNtRtHaagcaata +HcacaVgtaNNHtHDatgttaMNtggWagSVaRttcMVDtcttWgtRttctacKaaVttc +VcgcatcctHRKtattSgttSacgaagtcccRDVaacBWagtgYtKtgattgSgaBtgcc +BtcaKacaDatacttHatcattNatttacgtcagtgaggcBtaRNaRcaSgcatattatS +tatgctYcacgtattcattaaRtgStcttWgtattKtSYttNaHaRtNYcRaYtVtggtD +cKcttctactaMcacggcMtacgcttctatatHtaatggcattMDtaaMaKattgaagtB +aaKMVMNacKaDtttKNcgagctaaagtccMMtgagaagVaataatggcaWaaaaVaBgt +aSaVgaaaSaaaataDttVtBccaNagcSBgaMaDaVaVYYRVBgttYMtagtaactDta +agWaattBtattttMDYHtSaStScRaKatattacacctMttgNBKtcRtRggNagtYMa +ttaaatMctYgaatgcKHagSggaaaaBcaggtHtatWcatcgtStagMcctcatgatta +WRcStcgWtgRgttttcctaacatcgctcgDDtRaatatMgtcMtHtMaDYatgDattta +tagctKDtYHaaaaattaSatatctggtctttattttatMtgtYttgtcatactcaaVcY +BgatgSctKtYcctWaRaataWcMgNgcgggagtcttRMgactataHaHtgctNtVaatc +aaccacgSRaDtgKtaaMSKgtaaaaWaKtttVagSDtaaaaaatgttYattttNagMHa +aRtNgBttWattatatgcttatatcatttatKtKaaaagctRaaatcgcYgacgNtacNt +ccVtSaaatttcDVctaatacWgcaMtcttSaaWaaaWagtagtaattaactagRttaVc +SaaatataacHgHatWaattggaagtgcgSSgaaVtgYgSttccatWVataatcgaatat +gHtRcgtBttcttaaggatatgttgtBcNtaatgtcacVatactgaaatMBttRRcRatc +catagagggacatcgccWttagttgWttatKagtaaaagHtttccttSatVatKtgagca +atttattaaYVattcaaattctgSattRaMtgaatMgttattattacaNcggVagcctta +aKgccYcaaDattWtggMcttMacWttccMVgtgaattctDaBYgacttKYtBacatgct +DcRaaKaaRaatatctttagKcKtaactttaatNaaggctgScacctYgcgcaaaccaHt +tVHcBaDgtaatHaHVaaatMgttggtSatHtNNaaVagtgtacaataaagacgKttcaa +aWVacagctcacWHaatcctgtBNWtaNMKcVcVSWtSgcaattctgKtVVaaacaRaat +tgatRcgBacaKacVccVMactagcgMNaaactgataDaSgagaatVHaatVSVtccgga +tgRgtagRatttgtaactaBataVaggcaagHgaaSMSaKgctRagcStNcatttVgcta +tacttcNDtcaKBDcaHtDcaatagttHttattMBgagctgtaaagtMgatStStcagat +atYcBtataacRcaggRaaaggtaWSatKgatatgagcgtgMYatcagcatVttSgaaaa +aatatatgttYttcattatacataatVcacgattataDggttBtRaagtHMtatagaDgN +ttggDaKctBcaaRcgattcgtgccttacaaaWattYWVcaaWagDattgaaagggaaga +HattBtatVggtaHtWtaMagtccagaKttSatatcaStDtgWaagtKWaggtatttaWa +aRcattaatStgaaVtacggaacatKctacatHtaaaBtcNWatttBBaNatRcDattcg +aactataaattataactcagtSgatataagRaYaKHctggtaaNtttaaNgaRHtttatt +atacNttttaDccttYgtaaacaggaagtgataaacatBgaSgtaaaaaaVcBgtWNtRM +ttBttaaBgtaaaatatcHNStaBtaggtaVatYaccNtBaWagRctNSacRtMatDact +StVctaaDtaYSRgttaRNttttKggccagaaBcatagtYcaYNtDatcgtatVcaatWR +taggaattMcatRtgggatgtcMggMtttataagtaBgtggacNaaKYtgctWgagYtWc +ctWtVcttaaactaRacatggtRcatctSDcHcMgcaactttttagttaccttattHRgt +acggcactDBggtMHcVaaRatKctSHacctacaccactaaHaacgSttagKtKttttgN +HVgagtaYaMtVYNVcggttaSBaBtaatttSRcgtBgaWaatctttttKggacaWKaat +tKSaccttgDRgtcatatDatVMtMaVcgaattaNaagMWccctaaHgataatatgtatt +WataaaatBaaMtgRttcHctaagctaagatatattMcggactaRttttKaSttactWYt +gBcaMMacRRgNtactttaaaSKtttcaYBaBttaVagtRtHcWaggaVccttNgtgagt +catataWttYScMtWgVRgattWtaSggacggWWctBHatattataaKaagttactaMRa +aataSRaDttDaaatataVHaatggaaBDgWgHtcKStVcatHtaatcatggBWaagHta +gtMtgHcHtcatggggWcatacaHNHagcDatRcaaattcgcttgDggDNVcaacgSgtg +gcaccttMttaatattVYtVgaagRttaBcagVaYaHcaRDBagatgaVHtNMtcttact +DaggMgMaattRWDcctVtgagaaaaSKatHHttVDgtctgtcacatHNttgaatSaagt +KBatatagacaaRVctcWtgtacKtaacHtgHataSgVtactaggtttatggBgtcaaaY +aDgaaaaaatcgMtagaKaYatgaattatYcttKtacaatttgWttMaatBgaatSttMt +NaVgVtScgcttctBHKgtaRcNBaatcDtacgattgacgtgctatNaaBtMgagNgKct +tWcWKacactYgttVgNcgaattttcttgaaaaactacccctcgcNtgMctatcccacMc +actcMatttatttagtagaacMNtttcttgYKaWtaaBtttcWttagHtgtttctcttgt +ggctatgDgctaatWDataatttagaNcgcRRNataKtctaataHgaaMYctNaKWtact +aacDtgaVcgagaactggtaccaactHgaggctagagHHagtMgKtaaactacaggMatg +tYgSBaKaaaattMgatRtggggtHBVgttaattgKttaaRDacgMactcaaacStaaag +ctctgtgccttcgtSagtSaRctacaataKatattctaVgtgtaattRacKagttattga +MtaatgaNatacDataaggactttccNtStatatKaagaataKtatggtcctctatgagg +ttaaDtgtattgataaaactggatcactKBtttggcgtcaaagaaaNtagtWKatctaaW +BactDaBaYtacaWtaSgcaattattWgaaBgactgaKctatBRgtagttaBaRRgattt +aagBHctStgtVYRtaaataaagtMWtcHgcattcacaaMWtcMccWttgVgcHaWttca +NtgtVaggNgcVatKttataaWDcccctatgatVttttattacagRBBWttcttRaWgaa +tBVgcgtHgWgaccagtYacaattgSttaaMcVtDatttaVttRgttKtcaYWatKtaaD +tttWaYtaatYctSctatagtcctBtccMaMMtaMYHaSSgKaaacttctcBtMtgDtgt +ttttagRcgtacttataHgKtNtMtKcBtaNKaHStgSagYHtataDtcKtagRtNWaac +VgctVtRtttStNtgaaccttaVatgagaaggtcaKSttaDataagcYaSatNStcaatD +NgttcgacaatttaSgaRaBNNacattRatNtgSttHVtgWHgtSHccaactKttYtatH +YttVtgHcNgactMcaacttBatatgSgattttacgtatttgtggtScaacggYtHtgca +tctatttttWtaSatcagaYatcgcagtgtgtMgtattctttcattaRatttStcaatat +gcttDtStaaagaccDcVtaWNcHYtWMaMcgaacKcaNcttacctaBtgcDacatcaHK +tRcDaaacataaRacNNtccDataNactttatBSDYatDtctBtaBatctDatKaMcatt +MatatcDHctaagRgYVcatgttcgtgataHDYaagttSgHYctaaatgtaaaactNgta +gaaactaattRaatcttttBKcgaatSctMaggVaVaaatgagataaataSgttKgtcat +KaKatDYtaaaRttYaMtgctcSatRtagttttagcaaNtaKgatcgWYcacDgaatcaa +tactgBgaNtaactaaWatatacaatacactaNatcaVaKaaMaaaaaatcaccBtgttg +NctaacaBattttaaKWcaggataWMtaattgtaaHtgVtcgaHtScaHtctcHacVata +gtaMcaaKtcccSagMYtWcaaatHHtaagRttDagtMtcYtttaaWWaaaVaRtcHNtc +tcSttagcacaKttgtagtNgWYtatKDtcatttgaacctcKHtatccttattcttNggt +BgtgtKaggWtYgtStgtVaRtaRaaagtagtgtcgcKtKagatgagYtttaatKcScct +gaaaaaRaaHtttttaaaVgtatagKctaNtKaSVgttcgagacattttRSatagttSac +ataMtaYHccacttttctatactagtatgaBaagctttaMtgaatgtcaKYtaaatatgg +attataNcgBHatcctaRaaactgttgacttYaHtStcatcctDaMBttgtaWgagtaat +WKataaaBgBattcttttctttaatWStaatacgNaagtWaMaaNgactMtgaaDaggaa +aSctaSSgatatDttattatcatagBcaataVcHcRgcStaHaaatWagatHttMHacta +RacttaYaaaaNtataHKVaataKtatgatcgtcVaaWgttYtVcaaYggctRWttaaKt +RttDaKtgtatcaattWKaatBHaaaaNgaatggStHgVVgatMgBYtaRNgBDttMcNt +ggaNgtcaHtgttDcNaggBtatYtacVaNttctcWtactHYcSctgtYtDtgWaatcHg +atDatatcHtcttatattaaKaRYaDgaatgSYcgactgcRgaagttagtStYatYtttc +cgacactacagKcaaagDttaatVatcttaaacRaDatRcBatKNtNtaaaHtcBgatKH +cWStSRaKaSMgtaKaBacWgDDttgYaaYttaNtDgHtatSaSataaaaMBaaDtaMat +DaagWtggaMtRcacttatggctNataaaaatatWNMtacctatgtcaYKaRacagttHD +agccgtaaYcaatataatcatagggaaSatgMYBcKBBtaaRVRatRtccVtgtgaagVN +ttcttagtgtcWataVggtaaNaatVgVaKctttNgtttagtaaagBatBtgaYSagHtt +SYaacaStcgcagaSttcDBtKtttggtctacNttgNgKNNtcaaaaKWactgaaYgaYa +ctatHtaWcaactgttSatNVtgtctSttYctgattVaatKgtaYcaaattSgttaStat +ggtccaatgSWccaaactattgccgttacgcNatcHctctcaKatgtagtctattttaag +gHRatcDaagSaVgaVNccaBKtacgtttStagKgtctaHtcattaYcctaVKtttaYaa +atYtccgataaaVttcDgatWcgBtcctaatttNaattgctDYgtgatcaatttaagggc +tctcatcKattgBtaBagcaYcKctctttNtaacHacNStggRtMatHHgtacatgcaMa +gtgtccatRWttRKctaaaDtcMctttaNVgaNtcMatcacHcctgWtaaStcacgtctN +aagRNNaagMaDtactDgctttttcatcYacttaKttatgcStDaStNaMgDtaacKtMt +acctaaWattggtttNaaVHatgaaattaattacgVNaaWtggaWatctgVatcacYctc +VHMtVaNacNtcccaWtttgcaacctcWctHaatcttWcaaaYaBaattSctYatctaag +DgBttagtaSgaWtBcRcKtccYatatcKBgtctttatgaaHDcgNaMatggatgtWagR +ctStagagaagaacagctWtNtataaaataRatHatKgctNactHgttRgRgVcRacatg +HYaNttaHtattaNStaagatgtagaHcVctcYgggccYcaaaatgatcttctagctctH +MaMMgcaVtgHgtaagaWHHtggtaactBcaMNNctagaacggWtctttgaggHcYNaaM +HtaYcttKaagtSccgttgggNMStatacDttataaaVaYcKtcgcattttcgacctctc +acVttNtttattgtcttctaVcatagaattMttgtHtMgacataaatagttctMtgtWgW +ctttcaagYgcgtNaagcaaDaVHaaStMtaaagccccgtgVgtcacatcHVaDtgttBt +BacBtcggYttDagaDYtccMttagcttacNcgaagatRtDataRtgctaatatatgRtW +VttatWKtgcBgactcgagaSgtaaaaagttaaWaaagtatttctcWtatcBtcataacN +cgctcRKaaDKactRaNtagtatBtgaaatttcgcDactttaNtYgagagaNttgaatta +ataaaSMattRHNtYtgttgaDBRBttgWttagSatgacDggNVagRWcggctacDaYSg +aaattHgtYaaagctccVtatacattaMctttgSgacatBKaattRgtaBRtttaactat +tctagcMKMtttctgtgtgVgtctttcDcgtaaMtaggtaaaDtcaYtatccgattcYtg +aaRttctKaNctaYgYaattYgRttWctWttaaaccaatcactVatgcgYttgaaatgat +KBcNRgctcatgaccHagcgaaaatgtVgccatcaBSatKccRStSattaaatttggtaa +gcVattctgVcattMtacatMgaaaaaataYNDtDaatcatWattcaggNcaccctcBtg +cKcHagYtatBatgBttgtVttaYBgBgataaHNtacRtcaaBaKcagNtcagaatYgtt +WgggaNDagtatagRtctcDtDaHScagttcYcatcSYacHcagagNgtgcHagtacagc +tgRtatatMtaatRaWMHgaaKacaBRtagHtaaaNcVHcatWBgWaaacWccggtaaRc +attgMgttaNgttVMVttgcaagagaatcaaaaaagYScKVtgccgacHgacgttcaMcc +tcattatgcBttttaagtKatDactccgBatHYgttcatcgaaatctSaKaagaatWVtc +gttgtcttaMaaYaSDtaaaataccgcKMtatgKtgScaaDMaaaactgtgagcVtttaR +cttgtaNMatatatttggtMgYVatDaatttgctttaaRtaBgttaYaaagKtataMtWS +tcHaaaaNacgctacMttDDgactacaNaatBcagtcattatatSttaVgRtWgSggcaa +tSataVgSYgctBttataaYRRgaactgtgHtgacHWSactYNgtttBactatWStaNtc +StcMttgattStacctgaattctWatNaaHgMatattcaaaKWaBaataatHKgaWgata +YcaWMBtgtacKagaaaaagaattttWttDaMtggttgtgaNMtVtDcaacNttactatt +acggKctatttaaaaBKatagttHaatggaatatYWgtaVtNaaYgataatMaccWagag +atRttMtgKaMcgatattaacaagatgttBBcNaYattcNgtRttgaBcctaagaSMttc +MtcctcYattcaNaRBttaatgVcMNgaacKagatcgNctaWVgttaaYRtgctSctaaa +aNtttgctaaScttcVattaHtaaMacNgttNtKHMcctattttaRtttVtSgtacatBg +tVaaSSaMVaRBcaSaRHtaWtWHttMtattVcaMtWaaaNaccccgHYtcatagaaRta +aBaatttaBccaatcRctcatagWgcBHRtacaaDttcBgaHggcgctaHtgacagcSNa +ttcctcgagaccBggtcaagWctgVcRDgVtaagtttaattatcMtgatNagYttHtYta +gccRatagDtaatcNtaKtacaMSgDaaaatttgHaHtRDgtaattKtaMHgaBcaWtBN +YaWgtttStttaSttgataatgactMKatHBtttaVcYatgggttttaDKcSatttMata +tcagtYaBtgVacaatHcaDMcccgtaataatagDataatVaaagaagaVtctccgaRgt +RtaatcgagtcacttgttSatgNDHaSNRcggtaSaagcSaBgWSgcatcaaWatgttac +atgattcWacMtagtgNcacgatgatttttRcWttSgtaatMRRBaacNWRHaaBaattD +aagStgatccttcaDacccctKaagScSSHaaYHWcHcaWcaaaMBataattgDtagccW +tcRHataMNKtMgHaBcatcgaagtgtaRgtgggaVMatgttaWRtStBHactaaRaact +NctcHaaaggcatgcVHKHgaatcSccttggSaWatWtNcaaBctaRagaaacacgcttc +KatRattcWtgYDaaaaaaNatWtKgaacgtNttactgWHBaccaWacggttcaaVgaga +aacVtMttatagaagtatWtaaaNHYaMacagWagtaatttgcatcttcgaatacggaHt +aatVattctaDaHtRKRaNHcttacatcDKttMDKaWggDtaatcttYctcWtRaaaaKt +aatcctgccccatgcgDtctaaVMtWRKKDctaatatDgactagWtaaaBcKcacMactM +HHttgDataKHDaDttHttatttagtcaaVatccKWtacWtSVcaggtaatatDSatgcc +tKtatDtttagacKaaaagcgtttaaSaaaYtgattgtKtgBMcKttgDaaaagttBRat +HgcaKgDgtgcWataatMWgcVaVatcYgWttaDatcatNaVgtttgggcttgaHRDaWg +atttctgMHgtVtgccttBtWtaatcgttcgKgRcaBaRMtaattWgctaatMaVBccaH +tDagaBNaataRcacYcYcHcatBgaNtgaNgKHttctYaacaaaYgBttRNtNggaagc +WtDggattgagtHaWttVacaaaBtgttaNctaatactKaMaaaaaDtaRatttDaaagN +ttcYcaaactcMgaYgtacaaatMaaatYtcacVaacgaaDagatWgBgaataggtWtKa +aMtgDttHtgagttaatttgVaaDagttNMataatttaSVattNaDtKVccaaatcgaYV +taaaacKRaataatgaBDtctRtgVcttatttYtgaHgttBWatgaatatacSaacctSa +tNNRccagtactKagaRtgSKMcgaaDattttagtHcKcaaagtggtataaaggctccta +SatHtaMtRKattaNRcWtccgctataKggatWttaggtaatHDRatttattRWgcgatc +ttagSgtcttactatgYgttYaVBtgcaYaaRtDaatacHHtDcttHgBgNcccataDta +aaaatctNtacatatWaRMBgaattaaaacgctctctcaagtKcacNacgVRVcttttta +acttgctcStatRScaRaMataNaKagtatcattRttNaVatcKgtacNatttttgaNcg +acaaKctHWtgaKStacMaBatgWttNSacaaKcaDaatcWaKaccgYBggMScgaMcct +agcaDatgtttcVatgtRBtKNWHtcctWDtatttttNNSaatattcMttgatKgNgaNB +atcSggtctRcttttttatatggtNttDYNYgaaaKctcacacYHRgttacatacttYac +aataNaagaaaagttataNaataSatacagttScacVaScaccSWtccagKHtaatcaaa +tVacatWacgBctccaataHaaYtMtacKacHttttKtcataWWtgtgaatWaataaaaa +catttcaccttaHtttgttccaatcccgRBaWgatKgagtttBaVgaNtaNVBgcaataa +gaatagcaKRttgtatcaattaMtaacatataDBgtaaNttcaNcgagatYactggttat +gtNVtaBNtDaaDtDttaSaWtactaVtHactttNttcttcatWttcDatKaacgtttgg +VDaDtVagttatgtcagactKaatcaYtSgttttataaataDttKttKagacWgHgatat +aaatcttagatNKtttWtWaaatattacSHaRgtttScttaatWttacgRRaaMactcat +BacaccatRtttgaacctacttcDMggcVaSBagaatcttaKMagcaVtctDVataWtSg +atagacttBctDtBNWgtgKatWctYgaaStccgVaaaDattYatagtatcaacBaWYct +gaaatttaKVgYtStNtcaVggtggaNYgaRtMaacataSttcagacVactcaVaagtgg +tattaaDBNDaagtatatMtactatatgatRSgtttgccaacgcacRMtacRYNataaga +tcMgttgatcataaacttVcatatgWtacaaaWttggaaactttaScataactRattMtD +acVYataaaagMaattttKtgaBttKcaacatattVtagtcatgactcgDaacDtaWcta +tRttSSYNtgWaScaaataagaaatKtagacataatggNaatttcSKtVWtgacagKWat +tcgVatttcKWgagcaWgNKaaaatatgtaaacgttcactaaWgacaccBNaacagaaSt +ctgctaHcVtttMtcYttStagYcgtttBcRtaYacttgNaacMtDRtagcatgtgcgag +cScaMgtaatBaKataactMttttattaRcattattatacgtaagSNatVRgcttcgaVa +acHNtctaHBKYgKaccYcttagagcccaVgatttgttagactaaacgtgcaBgccaWga +VataggattDBWaattttgtBacWtttttaatDtMgaactaagcVtctcagBMKatgatt +gaNaVttggatDaSaBatttcgccatatgctaattgYacatgatccacaaMHtttcKYKa +WtYcgDtNaaDccgNaNcacacHKttDtttaggctagRVtYgtaactagctttcacaaat +YtHaattYacaattaMSagMactcctcatgtScttcaaYtataaaaScHYaKcaYacact +VcacataNtaBcaRatgYagVBatttgtaactttgRggacaagcVacctattacRcaaMa +cHRagagtaVNctacagtgagacgaaaggKttacattgggacaataKNtattcaagWKtt +gatNagNtgctaNgagatNacSatctNatttatctatRgaaaatKatNKSBcKactatac +StcagtaggtVtcaaaBYYgctattKtWNttcRacaaaNatgaacttaRtaaDSttVBYt +aatccagtNaaacRttagaaccRBatataWaatKctcattcSacWaacaacactDttVtt +gacYaagagtaSgcMttBttaVNgRVagKDcttcttcNtaggttgcgacYacttaaggVH +caagDagaagataaVaatctgtatRatDtKaaSDgattcaattYtcatgYgtgaVMtMaa +ctaagaatgRgDtHttaaccaatStaaaaMctVDDtgttatcttaBBgccNacKMaHggc +BMttctgNctHggagaataYMgtaMccaataattHttYttKggtKaccaactcccHtMSa +atNactcRtttcatgcKcatgcacttcatSaatatactttVtaYttDattgWcctcactc +YccattaDDaHaaKcaatSttagKtWtcatRcaactattaattYaDggKtagtNcgSgtt +tKRgtDWtVHtDNcHWNtKtccgtctagtatSctaBcacgcaBtaacatgagatVtttaa +ggcaVttBttaStWtattgYaggtSatBMBDactVtggttDagacataaactactBgcac +aacMaagaStccaWNaaSYMYtgtaKaMcYSaHaaaatatttMgtcaaDScaKtcaBVta +MVMRRDMtcttRBgWctaacttgaacNaatgttWgtggBtRttHVKgKcHVtatattSaa +aatBttcBtttcDgHccBagtRBRttaVagBctRcaagcattacKccaWVWtaVcggtta +tNaSgccgKtYcBaagcWgcatgaNHaKtagNgcHcgtgtcataaaatagagacttgHYa +tattctaBgtttatRatctatttagacattttNtWaaSagtaHatRtctcggatttatgt +gatBtctRggggcatWctaSVMaRtcatgKattgRcatMaHaataNcBcDcaggcactat +tHBgaatStatattcatBgMVataaSacVacKHatggttaaBKtgtaSaWMattttMacK +tgaaWaaWgctgRatgtgDacBtSaHtDgtgtMVttagatgattagagaSttgattgtSa +aacagHaaatacaRcaccBtaaDtcaMtKaaStttatKagaataaNcaaBtattKaVNaW +aNactagtYattaaagWgHttaMcKaSagatSactctatMSagtggaYctcacKKgaSMg +cRgKtgccagNMataatccaVgatcttHagttttcttaaccataggggcttaDtYatcga +aaMataagcaaatBttgHHcHagacagagaggcacWtacccMttacgtgNttattYctVa +aactgttaagtKatMagttcacaaagggatgaVNMatgcaSattatcKagtHaBtgaagB +cggagtWttVaaDaccMScactgVatccaRaSatattNtgcBatgBaaNgtcaBMgggaa +tgagtatRgaatgtNttacaggcttaHaataaHSagatagtgVctattaaagggaagDWV +ccatcKaaaatRccccaSVaaatttMtatStgtWagtStMaaatBctgcctKWgttDDaS +KactctaaVRtaSWcVactggaaaaNMaaaccgcacNtaVgaagcttDNgaDBtaMaMKN +tKccaVtgctcttMMYaaaaHaattcWgHcgtacatWaMaaKtaataccgBDaYRaggat +atSKcScYagMtaatKHMtaaccatgHgtagDaggtgtaaatatagaKVgccRYctcRaK +BKWtgatHYcaHgBaYtttMcatataatgaDttcatttaStgtcVSgacggtggVgtBtg +acatgtaaSgtBgatKtKtaYcatVtNattataaaHaSccHaaagctSMKattcatagca +cagtgBRataacaatMttKcWaaaaatagStcggRttaattatWaataatMaYagatgVt +atccttttHaScgtBgagWcatgBtgcctatcgtaaWHacagtactgaattaaaaaNatt +RNMaSSNSctattcaaagccVVcatattttagMcgtattNtVBactacScattgKVtata +aKtttgNaWcttNacctagtgaNaaDcagtaWgKggaaKtacgcaaaYttatacSttgYa +YttcDNagggttVDagHatSgtacYVatataVattataSataacgKgatVtVacHYRWtt +atcctaaDtgtaaDgRDttttattWtaaDttggatcattNgtVaaaVggaaggcYgSWaa +attcWHcgaSaVWaMatctMDtHBgttttaatctaWaagatatDKtVttaccgaMatRaa +aBttaNagHatDHWcDtBVttaatKtMataYttSRHHcgtaHDtggttccaaagRRtaWt +VctRcaNDttatacgatMcaatNHtacgaattBaatHtcccatctctccBtgtataYcta +tgtcgaaDYWtNggatNcacRtMaatNtKcttSYSctaDaaaggctDaStatKtataBgc +VaatttggYcttaaatgatgtHctaaccaactttgggttcMaaDattatKtVacgVcSca +actSataSccHttYctttgtggcDtMcactaNSBtMRBMaggttWKtattaatgtKHact +tcaMVatctgttgtccaaYNtaagttKaacttctHcgcWtYttatMBgBaMacaattaDa +actNaaatSatcVtSSgatctatgNatSYaattRatgcDgtctataagagaagRgatatt +tcccaataHgttttWKtgaagNRtctaaBtWcHHcDgaattgaaaKtgttaaRtatgtaM +aggDttcMaccaMaattDctgYctaWtStaNtgRKaBtNcMHcSttMtaKccYacgNNct +ttatStgVtaYtaagttaagaBHaaStVKHatgttRVWtataMtSatgcaattcMcttat +KgMcagtgaatcYtcctNaYcttactttctcttcatggcgNcatScStBtagctWtHaaW +attaccgtctcgtBMcaaacKctcccaacttBgtWStVttMRgKcVagHttVtaagMaNa +tcaHttacatcYKttDBtatgSattVcgBcBVYttHNtcatKgcYgaaSaKtatttttMt +ctatctaSaattDttcWagHSacgttagYgacWaSaDKatcNgctaatgVSctgctYgaK +gKtaataggtggagcgtcgaaaaRYtgYWYSaatacBgacWtaNStcaattWtRctttta +aSYgttcNgtBWWgtgaatHttttBaMcMtKccagtattttcgaHaDtSVgatgaacatg +cacgtcagagDYattBcagDctcttNcNtaaaatRctgMcDacaagtttagtcaaSSaag +aaacatacaDtctctYgcaaacBcaagaBatgtattgacgagYacBDgttcgtgRtaMga +attttcNtgVcttctgtctagtgtccatatctgatYatNtatVWgttacaDacaHDDagW +tgataWtatcaaBRatDRtMgVcgaaattcSMagYgWacgggtaacaaattcagcatagS +gttactBctgSVWatYcYgcBWgggRcHtataSaattBcagHgcgcctttKcttWaggct +ttaaDtRacBactaaVaaKtaaacctcgcgccattactKactKSDcgacaVtatatagga +taKctcgSatgHSatVcgtagtgaBtSYtgaBataatStaaccaagttcaDtHtatatta +acYatattatcctacgagatcaccgtVSttctYgtcataaVactcgWtaVatttgttgga +ctaaaVcaSaDtYcgNtYtctVaMtaattatWRtWcaNtaKcaaYggatgNgaatcaatc +RtcgagtHcgVgttataHDcatttaagttctHtcgMRHtaaagaVactBMtatgaagtaa +aaaBNtataaNttcKcctaNttaaDtcgMacgDcaMatttgYtaaNtcaccgatgagMtg +ttaggWcacHttNgtcttHYMcaattKcagttcNcaaaacgNaaSattgKttaaBaKtta +tttaMggHcttttaaRNVgttaYttttMVRtYVgRatKcgVtacgaatttccBatBgYBR +tSKKctaaaatgatatgBtcttcgtttgacHagtaattatatctgDtBttatgaDtatKt +cKRcRttagattattagHgDNaaaKgcgMtHtttKtDtgaaaagtaMatcagaaccgaat +KgtatatVaccRaKYtDHtcSagtBgtgccWaaaggtYKcaHatDDaaattDStDtcKgg +tMgcMtgtHtcaaVcgtttNtagtNtgKgctaDcScgBcWSatgtatagcKgWgttgaac +gagtgcgcgtKaaaacgRtttccatatatttttMgaKagcVcVRataccWctctcgBcga +ggcgttaatgaHYtttHtaSWtagcagtttKtYaacaaataMtaNDatRgMBaBacSaat +aSDctgaactattgataaRtaVtttHatWaacWtVaHaaBDtactYtaDactttSgtKtR +attgatttatatattattataattBatagattctaacDcRMaaggttcgtcatattRVYc +ttKgtRcgWaatcgaaWWatDctacaaaagaattHaatctgttttacYatKatBaccMaM +aaVtcacStaaYgYKgtttctcattatattNgSaaHtgRaBtcataKYtHtacttgtaca +aaDtYtgatagNRcYatgaStaaagactgtcWDtYaatVaNStagaaaWtaaaataDYtc +aMatSVBVaaaYagaaaattgtgcDagWSaStattttaatNcacgataNBtaattggaat +gcMgacattHaattctctaaMatactaBaaattacaHWgBNtNaaSattttaacHtgtag +tBtcRtttSaNNaYaMaDtatDtagaKggYgcaaSttgctactDcNRtWgtttaVtggca +aactattgSgaagtattatgDgcgtgtcttagcNtRctKggtMaHgaDaaagtactgtcg +atttagatcagNggtaattaKaatgaaYaaHaattggttVaaMggatactctaBgtYHMc +ttccVcaaWtgttHHRgagttKaaagaBtaRtaaWaggttctatRatSgtatcYtaWcat +gtaBtcaatctaatRgaYYtWtccattataBacttWtcctaHaaaaggttgacgtRattK +gaagcattSBtttctaNcSctSStNtYtWaWtgtagtcttgtctttaagNKgaagacgDa +RgtNaBaVDgaattggaYtaccSVYKctSKKcatagttgSttatcStactcaatSMataH +caKgatWVYtNacagtttBtRagYHaagtaNaaVVDgatattMaagattagcatcctaMa +aMctgNtMcSaRcgctHMttaattDtttYttcgataaagtMtaagttaWaaDcaatccKg +tgMMcatBgtRtaHBcttgtBaBggcaDcgaWttgggtaDaggtgatRtYaMWDttatcN +tVcttRaKagctRgtgcNaatctgattatagattagtatatgaataDNatcYaggKRaca +atcaHcaagttagtKgRatRgttaagaaaatacVctaaaagtgtaagKVgcttSWaaHat +agHctagtDgDtSaVtgatcatttaNKgKHataKBctatatWaNgtttgcRaVNttaDgt +cttagHYKatYaVaBtaatgaBattaYcNtgcaBtHaacttVtccatDagVaaaYgWtND +BgacagVgctcaRtaHaaacttttacaaggaSRaaatagaagaatacccVaHatcBRtct +tttaaDMHWtHgacMtctcaagKDttctgYctctcNagaMgcgaaDWatMcMatatttDc +tttactaVSctagttcaRKWgtttKRaVaaKtacaacaKttatttttggcctataaDgtc +BctBDgcYYaatNactcaaRgaRWcgattgVNcWaatctgKagDMgctatKttRatcatt +MaagtctaRaVaattKctgaKtatccgaaRatcHMaaaaaagattccacgtacgaDStat +atctcataggtacgcgatgtgaaggtHYtatWagKVKgaMDcaatttWccttgKgagtct +agatgaatgVRcctaMttgtaRaaYtRtaacWgaaaMttatcatNcgttactaaggtDaa +ggcagtRctcatcaatggYagccagcgaatatagtgttWtaccaRctagatttDtaaatR +cDKtccHtBWgttctWaagccYBSgtggaaagHNttHtctaaattaBatggaDMgaBgat +atcaatactcMtaaKtcYccgatDaYgHDBaagBattWattgatttttaagaRaaggatg +gYggaKttaKtBVBcttaWcttBtacctYaNYttgctgtBaaMtWtcWaagtaaggWcgM +DaaNtccWMWtatcMVgaSaRctaKtBgKWDacDgaaaaNgttcaaaaataMcttaWtat +gNaVaaRataWtgKctRatataagtgttgacgaKgaNgtaHattaaRagSgattctatgt +YtcaattagBYBatccYtgtNacHagHtacVcVacaacaccgNgBtataYaatWHSttat +tgctDacttgtgHgHcMcHacagctRSDtgattaggaDHtYagatggagWtaMatcRccc +acRaaaYagcagatgatacatatttVBBcaaMtctctaWgaNtttcctaVcttaYBDBct +RgSaagcNgatttcacgtcRDaVBttaRaggtaaggHcacttccgDBKgagaatttataa +aMaRattagcVgtttacaaagagaaaMtgDtttYttggcttataKaStacaVttBttctt +gBcVaataaagagtgagBgcgNcNattgaaacRcactDaaccaatWMtaaHtBgaaacaa +ccctcMctcaaatctMWttggttttacttagcRtttacatRtccBttVcatgaaBacaYg +agHttatWDtcctSatRtYggHtNMttRgNtgcatcacgacagaHgtYaSaactgaaNWV +agtagttagaNgatctgcatWYaDacataHtaWttaatHaDgactYgttcaSVtttacct +aatttaDgRcagacaDtgcYVttaagaSSKBYtgHtDtNtcgtcWttDtgtcNtgacKag +cactccDMacDNcccctWataRKcaaatttctRVaacagcaMtataaattWBctttgKgV +catttaVgtDgtatHtgtaSctagtatagcBtBtgtatgtcgcMcgagttctacgaaBgW +ccgaWatgcaRtWtaagYttaNtcWaHtgattYDatWRgRWagtRcHggNatNttWaaac +aSgcaatMatgacNgggaSatgatttcBHcctaaggWactacagaaaagctMcaaagaYt +HVgtaaHKgKattVaWtttcctaWgaKattatgMaattBgaaagtgaSaaaWtSNBtttY +ataVgNatgaSgcBaaccatattcctctagRtattatctttctMtgaRtctcYgaatDtR +cHgcRVtWtaacDtcacYatRcttNgcgaDtVctWtacHtatatgtatKaaggtaNcata +KRaataacacDctcctWgtSaWcatcDgatatBtaatHSNBtcaataaStHtacttaYaD +aMtaagMtgNaaaaNccccgYWHaatgcBcttaBcgtMBKggccaVgacaWgaaaaaVYc +RKctMgcaccWctcSacttcVtacgaagtYtcctttttaYgttattaataactSttRggt +cVgagWRStatKataYcaatNMtacttcgcttVBaYRaKttaaYatacagctBgagcttc +HcaatBaaaVcgctcacaMgttaHaggctaDtSgatattggggBgRMagtaattggattg +YYHtVtcttSRYaacttataBtNKgatVaWSDWacatVcttgttgaagScaDaSttcact +aattagatKttaMcHtMgKccaYatKataMcKNgattgtYtaaRHHcaWagctgtgcYat +MHaatRDgtgttYctatNKtSDtaKgcBttgagtKtacatgaaggcgMatDaWtcBatag +taaaatNYtSVgVatttcaNgRtaRaaNBttggaatVgaaaaagaaggtgNtttVBgcct +tgtgaBtgMgtaaacBgtactWgtaacctatatggaSYattYtVgtttaagccaRtatRM +cgWMgDVSNgataatBRccNagagStHttBgctaBagatattaacaagaggttttcDaRa +gtcDgtHttcataagaacaKBttaBgactaRatgaaDYHttgVagcMcBDgYactWgSga +cBataMMcttSaRHgcagKcgaaYaDgttcataYKcttcMWttattaaBacDcttDtttB +catVggttVHtgtMgKcgaaVgtcgMaaHHYBMaHtaaKaDttaNgNtttttaggMcWtt +NaaaDaaaaactRgaatagSVHtaataagttStccaatcHataatacMcattHtacaatt +tctgatggacatatgcaaacaKBatgcagacagVcctccgcaacNatcMaHtcMtaSctg +taYgtStcBtcatDacRggttRgagaaHatVcttYWgaDtatgYcaBKgtSWVYtttctW +ttHtctaYttttaBtcataaNgtBRaNcgttKgtgVKgggVtWatcWagttSttttttaM +aRWtccgttttattaHatttBVtataSctRWtgcMacaattaStBcacggaatRatactV +gaagMaaagWacaMgctaacaHctHtaatacacgaYagtcttKagcDttaKBHccgtaHa +acaKVtcMKcaataaaNaggttSaatcatgaNaaBtacggBcaagatcRgttttHaNgtK +ctYatBHHtaaaDNHtaVtVagttVacKtcYgcattcatacaaagtaacKaKKtaaNtNa +taaNaaSaBtagaattctgacacNtaHtataBDttBctataatagYSctgtaHcgccgaM +BaggttaMHtKgttactaaHaacgDatataaagcaWtgaMtttgVatcKaattcgHVNat +NgDaaYtataHacaaacaagagtatatDStgcNgcRtaaWVVaDStNgtcaaacgDttaa +ggNttWcaVNaccctgaaaMcagVYVaMtBgtatacSacgSgNtaaaDtRaBSaWcNacg +YaggtcaYtattagVStaccgatgSStMattctWtattHtHaDtatgYaatattgtttta +NggttVatcttRcgaNtHaVaStgaagactcacaaatcactgataaKBtNHtttctWWta +ttgactacNtaWatataaaBaatBttgggtatYtttYtgttttVttgagtcVaMVgaatN +taaNgKMaacgtaatattKWggcagtgRttgtgacactaaYacactggaaKaWYRgcatg +cgttctBcttggtVaaWgtttHagtcaatctcggaNWtaatBNcaMVKStaNcMtgatat +aatDYMctttcgcatgcYtHtVNgStggagcBtggMgccctgtgNtVatactgcctcHca +taDBtaStgNcagaYttaMtcaYtgtagatDaagaHaaaRcRataattcaDtcaDgttgt +atRaaaaYaRgtttDBgDcgaagcNttgcVttcacttaMgtMWaYaattcggaDcgaVtY +attaBYaaaattaHVttttWaacDttaRaSWactcBgaRctacaVStBaaatRgaacMSa +agaatagYtNctcaatagctNttaVtgctgtttgYcttaatgtgMaStactgDBagVSgg +tSKMYttDatgtMaaSaVtccSRMgaaaactHaatWWtcatttctDgcMcggVtgtRtca +tctttNatcaatatYaKaaaatKWtDDDaaactaagtacRHtcKttacaataggttWctt +ataSaYctgctVtaaVggatcctaHVttgWtgHtWttaDHaNgaccctatatgcWtNtta +cctaYtttDWtttaggHNgccatattacKggattVatatcRcggRWMtgcaVRaaHgtaa +taattttaggtctcDccaatatgSaaaagatDtaaVtYgNaHBtcaYttaaaaacagata +taaagttaaaDWccMHMattggtaaagtccgaKtatDKaVHaBagaBatactataVttDt +tDaMagctctaaDSggtttgaDacacVatcttNtgatKtVaBStatgNtgDKYcaatcat +aWtcNatYccgRtcgBHacaBaatagaVtagcttgaKagcgHtttDNtgaagMttStttt +gDDKRWtagtaBgtgagtgBcaDtWtaHcctatHatttgttWgagcggDtgtRDRcaaat +agcacacRtDgtgVaWtaattRacVataBWacSYWVctgYtWDaVtaKataaacttKaaa +MVHaaaaKNtaaacttgVataaaatMaaatMaagtatcaaRtatSYRtBtaataattgtt +tgaWtaNNtctcaatNaataaaaaaattgaaaattattgtgttaaYatccccHtaNcatt +cacttttaMgVDtaDMtcaWSgYWcSYtSgaatHtgctagaVattaBtaaaYgatattcg +aaBtgaaDacacatRaagcgggagggDMtatDttaatttggaKSNtactRMttactgtBg +gcgtcatNttctattaVacgttccKtVttMacttWtctaYcacgtaVtaaRgKcttggat +SYatattttgttacaaMgtgagagaSatattWcagDttggNtNaaYtaggaaKtYHcttg +KattWagNgtaagHHVatYatcattaaaaaYtHgttcaaaataattatBgcaKWKtagaa +tagtatBagaaMtattMagaMtHcWgYcacgttagtgtDNggctatNatRcYYHtaacMa +SStattRagRcgataaaatWNNatgaaatttVtKcRtKtDtaaMcctccaDRcaHtBSWc +YtaKttcacaaMaataaMaactccgSgtYattDtaWctagatBtaatSgatgatHKgttg +caaaaagaScHtgaaHRDatSagatcBcggcatcatYVaatgMaatStgNgWaaaaMttg +cYaaagttSHaYgaaatHattBgtaaMRagSaSacBaagtttttcatgttaaYcagYtgK +tYctaStcaagcgtaVattaNatWtHgtHKNDtcNaKaVaStSacaaStttagaaataat +gcDSatgtaKtgMMtcaaagtNattacMYgtgctNgVcaaNcDtaaaVtYggtaaaactg +caagaWNcaaacctDSaaSgVaKtctcatataMtggBtaRttKtagRcctgttaHgWRaa +ttgDaaatttHtaccagctcagaccKaaBctaagtatWtaVagBgtttatgaHaaggatt +StaactWacKDVtMHccgtacaMWYctDtagatttRctaccRagtWcWgaaaaMcagttc +tgacSctaaaactgaatcacaNcaMWtWccYgtttNaatttggttaaNtggttSattttc +aacgYVccMtcgaactBtatcYttcYDVMttcgattaKWtatttagcaatatcagWatgc +RVaatgRtacWaVVBttggatRtaNgRagttDYataacDVBcaaactttgtttgaccata +gHMtRctaWcgacagtgcVcaaVgRgtaagtRaaaattSBKacBaatcagaatgtHattc +aVRtatVSSaKatNataWRVaaagMaacataDgataWHatcNYcMtatttggaSatttcH +cgacaYcaKaaatattacHcSaBVatHacactaMDataaaggcacaacaSacctgtaaRg +tcccaaaatWtDtagtcaagNtttgatDacDgcagaDcWgatDaaKagctDWtttatatW +gDcaaaWttStDtKtatSagVgaaKtaacgaccgMgaSaatRRcagYtgttNDggcHSca +aYDWtcaacgtaHgaStKtgMtRtaatccagtDaaacHgtacaaccHtagataNaattat +cVtgaKaaNaaaaaaaagttgMgtcRaNaacagtaKcaBgtttgaMDgDMacttattatg +aDgagcgtcacaaRaagtYaggMtaaactagaacagVaMWataggtatHagtttaaHtca +gtaaatgRgcatgRctgaMttBaaataagWVtcHctgtgtYaaaaVtKtaSaaBatMttt +gttatattattcaaBYctBWtggatBtgaggDagtgcacVataRBctaBaaaataatttt +tNggtccgtVaaaaataaattBHaatBaagaHgttaagcctaatcaaatgaYtKaatYta +aggtMgaRggtWgggNactaacgaRaaattSttWtaataaVtHgtacttNtaagHaSacg +WggaYggNStcctgacgDcgHggtttHggtNtMtttDatNDgtgacgtatacgatKatat +aaacaattSaaagcagatKtttSagcaaMttttgaKtMtagtcRacctKSttBttaatMt +gcgttacaaagaVaataattcaSaaWcBVacYKtacaNBaaKRtRtcgWtWBaRKVtYWW +WgattgBctaaatKaattaYtMtSBMBHDtBtaggDtcNctWYagtgSaaBaVtcttNgt +cgttHtgtMtctatKtatVggKaSaagtttattttatgtactactHtHttSMactatHca +agaattVataaaMKNtaMccgtgatDaHcaacttRataacaNgaatcSBtatgacBcctc +gggtaatWaaWtacacaattctRVgattctatgtgtatHagatagggacVaattttDtNa +WKagtatatHtagacgaggtatgtcagtgagHccccaatNataKMBaHtcWgctagtgHa +atBatSataDatatcacccaagattttcSatKgatWtgaagtcBMataaHaaMaattatg +cttWWtttcgVKYNBattggtacttcaaMaVNcctcHatcgctVcttKatgtctctBMgg +acatcaggacSgaKttgagtctKVYaaagtaaSgaaaHaWactgRattaaBttVaHtgga +ttagRWtaaDaaatgatttSMBWMaDactScgRYtgaVagNctgtSBataKacStHRatc +tVgBKaggccaRctaacttcYKtcaDcttgaaacBBataatacYMgWgctgtacttttat +gaSaaatYcccgattattRStccaaaBagaacaaaVtttgcttatagaaacacScccSaN +taaaaBgtaaggcDgtSttRatMYSWatcgtaacgtStBagttaVaaaScccSggaMDBS +gcaaKaggatatacgtatgcWactccgVctNttMaYtaaatKaaatgKStaaaHaKatat +gBtcctatgtVaBggaatBcgcaatgagtatHcYagctDgtWaaccagtatWWtaRtKag +atagtgKatatgaaaggcaWgtNKaaagataWaatHaaaaaKMaaatttBtatHtctNac +tKtBVVagtatcacgtMgtgttaKtaatcgaaMHtYKNcMaatgcaSaaDBaaaaagaWa +DtWMgaacatttDcatttaBaBtDttaaSMtcagcttttRWWaataattcNctactWaat +NaBaattaagaaacttYRHaccatatKtaKcNVgttYagttBtaaaaVtctcgVctagct +cgSVatatagVtMcaaHRctaHStttNtcattRaatgtaRtgttaatYtaagcattgaat +ttaKtctaKKgaaggtcgMctttcWaagcgWaKcttcYttgtgaRaagMtDatgWgYaat +aKaatSWScatKBtYgtaagagaVcacgctHStaacaSgBtgtaNRYaaWtWcKgaccDt +gaWtgagMaYgVVgBaRacYtcKgatcagttgtaKcgttgagNaStctggaatVtactaS +NtaaagtaatcaattaaVaaDattHDBaHKDHctVggcaaacccKMaatVtgttacBcct +StgBgMtScgaaHcatgctMtStaVttttcDaNagtDVaatYcggaDaYtaactaNgtcc +aattSacaaaaRgtagaaKgtcRSNtgatBacccttMtactatKgtaaRMagataMatgV +tVKagaRagtcagMgMaatRHNttagaagaatgggaatcHtttttSgtNgYatgtgcYta +atgDctMaaaMccVScgcRgKNaaagtaMtacaKaMNaBatagBttttcttttYatataN +aWcagatttgMtgaaacaBYtHaaatgtaDactatttNatttKttSattgBatSRtgKHt +tacgattgcggtaaaaacHHtaNgMcgHaVDtgtagaagatBaaagDttaacSatttaat +ttaccagatataattggVgaRctRtcgccVatRNtDgcagBcVaHtBaatDttatgKRKa +gataaRgcagtaKgagttatatcaMSagttccRcttaaatgatcttataaacaaatttcc +cttaBaWtagtagttMaacMaKaaaagHatYKactttRatgtctcgattBcSagaDKttt +HtBaccttNttVttVVtggttacgtaaBMRgatcgtctacaaNBtaVggttYaaggattc +caNgRgtagBtgtaBacaagtataaatBaaatKRtaMtKHgatcgYggDSgKRaSttHSt +catgtatatWacacRacHcatYtttaacYatatgtgttNtgcSagDHgataYttNattat +cVattcaaYttggtaRHtWtcgaBacgtttaBaccaBaatgtcgcNagaNtKtaDtgDta +tgDaBtcKgtBgatacNaccDDatttYtKggMtYNtaactgVacattaaHgMttatcgtH +MNtataBtKSgccaVttaBcttattcBaagtgaWtaRtcctDVRatgaattgatatgaWg +ccacDaatKaHtttacatNttaWNWgtacaggctacttBaYaaatatacaaaatttcgNH +gMgttHctcKYcttgMtaacBaDVtaatttacagaRttttttagcKagtKactatMRtgt +DtaattccRcaaKSttagttttBtctatagaKaVttttgcNagtKVccttagRgWaNaKW +ttataDgcgaatgMKatgatRcYtctgVagaccgcgVgactagaWaaHNtcRNRKaatac +tcYaNtSDKtcVVggNgDagtttaaKRgttaDcgtNNgtcaYttggtttYtatgtaaagg +attttagatattKMcatgYaaatcaVactcagagtRYtgtaactatagtBaDtVaWatDa +tctataaaSgggtactaYaKKWagaaaaataaattatagRcaaaVataVagatatgtagg +cWagacRWattctgacgcDtaBcYattgtaDggMatgagcgagaggctaaatVtctcagR +agDtSgKNcgtVcStacatttagNtgatSNgatcYVtHattHtBgMacRaattaHBacRc +NaaccctVaaYaattcVccatacKcttSagtctgKMNagRaNcatNgcgHattStSKYRg +gtcagtcaccattttagtMaccctggVattHaatVagaaMaattaVacatacacaaatta +attacgtKtagaaaMgatWgWccatYtagacKatctKatMcggYcgcatgHRtcStVtaa +tHgSaaaVagtgaatgtgYtattaYcRagatgatcataacacSgaYaactMKttatRcga +ataaMSatacNgaMatttcggccacgaYYMcaKattRagDtRtatMVBtaattWtMHgNa +WDgStaaSNggStcBcVYtaYagaHtacagttccMcgtYtYttcattgSWcttagttcgt +HtgVRYgaMacttBtatcaactaaaaVtDgataaDgtatcatYDttaStgccBacctaaB +agttgRtaSBtaaaagWgcacBggttagcMaYatttBgtaggtRBaSagttcacgtaDaY +aaaacDSaKattctgtSatatgtatggVBcctctgtgaaHDKgttaRttttBMHgRMgHa +gtagMgacgaagttaatattgRtHtHttatYaaagcagatgtgattagtggcactactVa +ttagatctctgtttatcattYttgatHcHttagStgatgactctDaaatcagtgttgttt +ttcYaaagtatatcYcaSaacaVttcgWtatKaaaHWtRgtttaKacttctgaaNaYacc +tNtcStatttaaagttKgtgatcctBcaBtctttaaaKagttgDtWctDtgtgctataKa +gtaNHatctagYgatcMgtggYaagactgacacttaRaaccHgttcaYtagWtggtgBcS +tacaMcMHataaaNagatactccaggagttaatcatRttttgaKNgSgcaggtgttRaYc +aaataBtaDtatHgBtatacKaataKtaggaaatatgcataaHgaKttttatMaaaNgMa +tYattgaatNtatVaggtKctttHattcatttatYtattagtataYtttagYcattagaa +ataHtaaccttactcatYttHMRagttctDagNSVgcgVaNNattctVcaaVagaattta +agaggttttacRagtagtaaaBaBaaMtaScKgVaRcNtctgtataagtatVgtDgHaYt +tcHYttaagatRgtgaattctYaaaattRtcWtacDDaRatcaKtaSacaagctaNttRY +agMSDKtWgWaYNgaaaatatNtaatatHMtMWRaRacaaaatgctgctacNKaKtagtt +gVatDaVccatSDtgaSggcgWatccBgaaVtgtaWttagatVaBWtacgWtaYattaaa +tMctDgDaaKatttgaaatgctWctttaHtggHaBBSRVBWtgattgagatccNcaaaHt +>THREE Homo sapiens frequency +gcactagtattgtcgggatcccattaacaggctcaaccacgagctcacgcgaggacatgt +agtccgtatctttaacgaagcgacagcgacagaactcccatggataaccaattataaggc +ccgtaatcctctagacatcgtttaccaataaatccgctttctccgtaatcatgttgaata +ccccagagtagtccagatgataaccgatgaaacacaagtctttctcaatgcacttacggt +gaacttattaccgccaacgtagctcatcaaggttgcgacatctagttgtgtgtttgcgac +gagcccagcgaacttcatcaactttcgtatattcaacgccttgtaattttactttaagac +gcctggtgatgtagattcttagataatcagtttgttatcggctgtactttaccataattt +cacaggtttcaggtcaagaagattatagctgtatatacagttccatgctcggtgcacaga +aacgtgatcggataataatcaatcgcttatgtcgtctttaggcgtatccaatacatgccc +cgataccgcagtgtatttcgacatgtaggtataccgtcgcatttgagctcgagtcaggac +gtcagctagattagattccttaatagaatataccgacctctagtccgaactaaactatag +ataacgccaacttcaggttaattgtctagtcgtctgtttgcagatgggattcttagatga +gtgagtatcggccatattggttcgagcactttagtttttgatgcataggatatgcaatgt +atagctgaaagtactttatctgtttcaaactcacattgattaaaccggtaaacctttaaa +gactacaagaaaatattcagtgagggcaattttgtcaatcacaatcttccagctagagat +acttcacaatttgtcttgaggctacgcaacattagacggattttcgcgttttattgaaat +aatcgaggggcccaagagtatccatagttcattttgtaagatttctttacaggcttatta +cagcttcttcagactcctacatgcttacgagttatatgctagcatgtgaacaatagatta +atatacaggaaaacgtacattgagagagatgaccctacacagcgcaaccgttgagtactt +tcattaaagggtaacgctctcgagacagcatccttaagatggccttattgtcaaatcatt +tgcagaagtacgcaagatccctaaccaacgtagaagaatccctacaaacacatgagacgc +ggtgaaaatagacagggtgttagtattcaatcttcggagtatcaatttcgccaatcttgg +tgagaaagcataccctttcttcagagaaagaagatcaatcataacactatctttaacgag +gtacgcacgcgcatcattacctgcctccatggatctttaggatagcggaaagtattggca +gcgtattgtgatttcgttcctactttatcaatttcacattcatatacatgtcttttatca +aaatcgccaataagataggatgagctatattagatgctagtagagttcgcgccaacatca +tcgataggaatactcaggacagcgtgataggacttttcaatccctaatactctctataat +tataactctctcttaagtttggaggcagtaacgcgctctatataatcagtttgctgcacc +attcttcagcctctgatacatacaaataaattccacagcagtaagagggtttaattgaga +catcttgggaacttaggattttactctaacatcaccgaaacgattattggataccgtacc +taaacgaactttctcaaggcagtaatataggacatccgcaataacacaaatgctgcctcc +ccaggagttatgtcttcctggaggctatatcttacacccactcactataggcaaactaaa +gtttaaatgttgattgtctaaaaaaaagatagataagagttggccggcgtagcacatgcg +aaagtgaatcgtaagctataattctctggacttgaagttctgtcctgttcctctgcaaga +aacaaacttcctttaaagctatttacgacgcacatctcagcaagttataaacatgttgga +agtttctagtcggaattcccaaagaacggatctatctaatgcattcctacatttttcctg +tctgccgatggtgccatcctattcaaagaatttcttaaaagtagattaaatgggactttt +aacaatgagtaaccttacgcctctaagggttcctcgagtgccatacaccagtcaggtccg +agccacatacacggagaacattctaacatagcattctcaactcgatcatttgcaggttac +ttctttcctatcctagtgctaaaaatcatacttgcaatcccatagcacggattaagaacc +taagaaacaattcagtaaaacatgttcgaattcttggtatgggaacatcattgcagctat +ggtctaacgcattaatgtttgggtacatcttccatcatataaacaggaagagtctgacga +cagggagtgcttgcgatcatgtctatcattgtgaaatcaaattgtagctcacatgtcgtc +tatgagagcgtgtatccgataagatttagaaaaatagaagtcgtataagatctcactgaa +cttttgaatgaatgtgaagcatatatgatctgctttaataaaactttatccataggatac +gtttccaaatcaattcaataattattagtcaaaatagataaggatgaacaacctgaaggc +cgatcggacgtagaaagtggtcccatcactttgagttgatattgttgaaccacacgttat +tatggttttcaaacagtctcaggatattgtatatacagataatccgataccagttgtctg +acgcccctcttacgtaccccaccctttgtgacgtttaaagcagttgttcagtattttaaa +ctaggcggcaactaatttggaaagaagcacagtggatatgtctaaattcttgttattcag +gcctgaatttaatacaccgcatagttaacttcgcggtagagttgttcatcatgcctcctc +taagctaccacttctatgatacaccaatagttgttctacggaatctgataattggccaag +tcataaacttccgctgcgttcaacccccttgctcgaatatccaactcgaaaagacagcct +tttggtgtccggaacaaatcagttacttcttttctgatgttaattctctgtggtcagata +cagaccaaaaactccgcggatttaccatcctccaagaacaaatttgcatcaacatagcat +tttggctacatattctaagtctcaatagtttaggttttcaactacattatcccaacatta +ggattggaggaataatagctgggtaagtccccttgcgtctacaatcgactattttttatg +aatatgcttctgccgcacctatggttattaaaaaagtcatgactttgaagaaccctgaaa +agatagatgaatcaggtgtaatggcagcagccaaagagcatataattagcaacactctaa +gaacattatagatatgatgatagcgatcgtcatgatgttatccggtcacaatagtagctt +catcagctaattcgttttgccagtggtgacttgcgctggaagaatcgttatacggtccct +tccctcttgatacggtgggggcttattcaaccgcgtggattgggttgtcatacttgcatt +aaacgatgtaaaccatctagtagtcaactatactaaatcacaaaatagtgatcaatacat +acccgcttcatggttttaaccatttaattgattaaagatattccgctaagaaccattatc +tacctaaactgatcgccgtatcctagtagtttgaaatttgatgtaccgtaatgatcaacg +aagtaaaacgttatattgtatgtagaataataggtcttggagctaaatgatgtgattggt +agtgaagacttacccttacaactttaccggtttctcggaagaatatactagagaatcaat +gcatgggctacataagcactttagtctaatgagataaaaaatacacgagtcttccatcat +gaattttttgtcgaaaaactcgaacctggtaatttaaaccatatatctttatgtcgtcaa +taactctcatatgttttatataacttcccaatcacgacttgtaactgcttgttcgactga +gctgtttgagctatgaggccgggatccggttgagctacatctatttgctacaagaaaaat +gaaagcacatttgttgggagttctggctacactcatagagaaataagtggcccgagtggg +tgcggcctgcctccatattcaagtgtatcttaaaccaagtggttccaacgctcgcgctaa +agaattaaagcctttatttcctccacggagtagcccgtaatccggttcgaaagagaccat +tgaagttaattttcatatccagtgaagtttaggcacaagcatgtgttctgccacatgcct +caaagcgctcttcaaccaagatatgattcatcctaacttcgatgaatgcgtctgtaacat +aaatatagaaggaatgattcggcgagttaattttcgccttctccaacatggcatccctac +gttcgttataaggaccatacatgtaggttttaaaggtttgcggttaatcgatatttacat +catagaaattctatagtcaaatttacaagactctagatactcactcgttgcagccggcta +ggaagcgctttgtaccttacttcccttttcgttgcgtaatatgaatttcatatagtaagt +tcaaggcactcatacctccgtgaagagggtagatagactattaaagttgtttaatagtac +gtattgatggaaatgacccgtaggagatttaccactcaatccacaagattcgctgctgtg +cattatcaaaacagtgcatgtcgaaacatgggttgggtccttcaaacacgaatccaggta +gagatacctttgcaatttttcgatgaaggcgaccgagataaatgagctataacactgtat +gtcttttgattgctataaaacacagaaacggatattaatttaggccgtaaccaacatctg +ttatttgacatagaacagatggtcctttacagcgtattccggccttaatattgaggtcca +gtgtattgtcctcctttaaagaagttgattgtaactgacttaaataagacatgtcaccca +ttcactgggttgcaactgctggccctttttgtccatcgcacgctaatgtgataacagtac +cgccctcacacctgcgtttaaaagacataaatgtcgctatgaaggttattcattaatttt +agctgttttcttagaaaaggtaaatttaaaattgaaaaggctagaaaactaaagttacga +caaatgtgtttgtcaagtaggcgggcatcattgagattgtaagaaataaagccataacca +gccccggaatagaaaatgttaaggaaaggcgatcttctttgaattcttattgtcaagtgc +agtcatacgttcttatcagaggacattgcaataaaatctaacaccctcccttgtgtggtt +gggccatttgtacttcgaagcgtccaccatgtgcagaggataacggaatgtggttccgtc +ccataaacgatcattctcgcccacttagtggcgcggtaaatcgctctcatagaggtaact +ggcctgtaatgtccaatgttaggctaccttctccaactttagtacaacgaataatgtccg +attaacaaggagtcaatttgtcatgaccagttcattcaggtacttgtatctatacggacg +cgttccagagtagtatttgaaattttgaggttctactgataagtttagctatcgctgtat +gtctgaataagaatttaatgtttatcttcgataaataacaattaacaactcctaggtgat +acactgtgaagtctgctgttccccaaattacatatgctattttgttcacataccatgaag +ttaagctaagtgctctataatggcataaacggttatcaaactagctcgaatttcttttat +tacgccggaagcggattaactgctgtagatcaaacacgttaggatagtgtcgttttcata +tatatctaaattcggtctaacatgcattacccatgcttgataacgtagcacttcgcagtc +taattatgtaatgtccgtttaaccaaactttaaaaaagtttatctatcaccagtgatgcc +tcatcgtgactacccggatctttagcctttagggtctaaacagaactaatattactacgt +gtcatactccggagcttaaccaggtgaaacttatttgttaaccaaatttagtgacagggt +agaaatacgtatcaaattaacccagcaatacaataagcatgaaaataattgtaatcgggt +ttgggccggaatcccgcttggcgaaaacttaatgacatagtgtgatgcattttgcactgg +attgagccacaaactcaactagcattatgctcaatatttggccagtgttctacggtttga +aatttataaaggccgcgcaaaagtcttgtagttacaaacgcataaatctcgaacgtaata +ggtttaattagaacatccgtaggatttctgtttatagtagatttatactaaatgttctga +ttagattctgacggccttacccatacaattaataaagacgaatatattagttatagttta +ctatccaaataaattaagcgaatcgaaataaactgtcacgatactgggcagttatcaact +tatcacttatacagttcggacactctatattggtctgtgagtactctatcaaactaactc +ataagttaactgcgcttccattaaatttcaatacgttcttgtgctgtgtacaaacctata +atcgaataaatgacacatatggagatgcataataaaaaaaacggctccatatttctcgtt +aatcgggcattcttaaggaggagcatctcaccaaaaataacgttcctgataagtcttaac +tattagaccgtcttcgggaatgaacgaaacctcaagctagcatggtatagttcttgatag +cgcgtaaattctgataatactgggcggacagctggaaattagttgccagtgcacctacgc +aaatagtttacataaatcaacgggctccgaacgtaaatacaaagggttagttacatcgca +acaagatgaaaagcatgtatgtctaccgtcatccgtccctaacaaacataaaggtggtga +agaatctcgtaggtcaactataactccatccttgaagcaactactccgcgtccgtgtgcg +tagttcgcaacgagaacactactgaaaaaagctaaacaactctcggtacaaatgcggctt +gtgtcgataaagttggtggtagtgcacggaataacataacaaggaatattatttattcaa +attttttgtgactgttatttgttttctgcctagaatgtaaggatgtgttttttgtgacct +gatagttacgcttatttcaggtccacggtgcgtgagagtgtgtcctataacggcagggga +gcgaagtagtgtcctttagactattcaaggtagaattttgataacgctctataaaaggta +gaaaatcatgattgagcaataagaccccaacttatcaaaaaaggagttctcgacagcgcg +tgtacagtccctataacggctgtatttcctgtgtcacaacaccctcccatcgcactcaaa +atgtagatttatgatcagacgctaacttgttcttagagaaaaatacacgggatactctgt +gcaacgatttcattaataaggtgcagcttgggacttttttggccgtaggctttattaaca +ttcacagtaggtagcgagacttcctatgaaccaatcatgccacgcgttttaacgtttcaa +atataagctaggaagcgtttgccaggacttctataatgcaccgttttttttagtacttcc +ttactagccttagtttatgttagagtctttccaattacaaaggattgaatagccaaaatt +tctacaattctcagcgaacgccagcttaatctaaacacgagcttcaaatattctacatat +cggcaggagtcaatatataaatatgaaaatcgtaccatcctcgtacttttagaccaaacg +tcttcggataattaaatcctttttcaattaccacagtacgtgcattagaactactgctat +gaaagtaaaccttgaaatatagtcctcaagagcgtatccaagtacattgcacgtgtatac +agtcgtataaacgagttgatgttctgacgctagagcttaccattcgttaaacagataact +aaaatttaatggctgagtgacttagtgttttcgacaaacgtcgcggatgtagactattgt +ttataagcaatttttaaaaacatatgttcaaaacggtatgggatatgtcgaattccacag +gggtttatgtaccatagaagtatgtataaggtactaaaggtttaaatctgtgatattcgg +ttcggtgaaaatcagactagtcacacttagtgtctgtaaattagattgggtgaaggtaag +cgatcccgaactctacaaggcatgggatgagattctaccgactccggataacactttacg +atcgcgcataactctagctcttagataagtttaacttgtcgatctcataaacagttcaaa +atctgcgatttattgtatcaaatccatcctctatcttctataatcatctgaaccgcgata +cggcactatgagccaagtgaagattgaatccaagaaagctataattggtttattttagtc +catttaaattaagtccggtataagtgctctgtacaatatgcagtctcatgggcatatacg +ttaactaccttttgatacttcgaattggtaaaatatcgactatcgatttgcagtaaaagg +tgtagagtccaattactctttcctgttacatacgatctcttagtttggacaactagccca +tgatggcgctcctctagcgcatgaacctactttataattacatctttatcgatgaatttt +tttagactgcggaggccttgagttttaacagggctgctaaatttcttaagcgattagacg +gtagcgtcgtacgctacttgcttggaacaggcaccgaaaatattgatctactattgcgtc +aactctattctgctaatagcgatggcaaatcacagaagccctcttagtgacaatagttgt +caactatatctaagtcgacctttactgtatcaacgatcacggagagaattaccgaatacg +aaacctcaggactaaaaaacggaaaggatttgtcgacggtaaatataatacttgttaagg +gtagcgacacaggtatactttgggtgtaaacgtggtgcttcccggaacgattttcagacc +agaaaattgttccggtaaccaggaaatctcgtctgcgttaattcgtgttagtaaacttga +tcttcagactccttcttttcgttgcagcgagacttaaattatatctgcgaaatagtgccc +cgtgcatacttcagatggtaggagataccatttggcccattgtgactttacgcgattaat +taaccgacatacatctgttcctgagctatgatcgtctgaataaattacggtctcctcttg +atacctaatggtttctggagacgtttctcatgttcaaatggatagcaggagatcgcttca +tcaagtttagctacgcagagcatcaaaatatgtatgggaaagtcgatttccaaaccagaa +gggataaagagaaataacggacttctccgtagattagcctgatattttgatgggaatcat +ggcggcacatacgtaagagttgcgtgaacgaatattttggacggcgggagacacatatcg +gccattcgttaaggtctctatattggacatcacaagcttagcagtatgagctactaacac +tcaagacattattgattttttcaagatatgtttcattcctctaccgctattcccatacgt +tcgattcgccgggtgagcgaaaccacgggactgaggttaagctaatcaataacaactcgt +tgcgatagagacctatgtatactagagagaattccccaacatttttacaaaaacaaagca +gactaaaatagatacagtccctccatacaattaggaccaacatgttattgccgatcctag +cacacacaccacaaactcagaacttctgtcttacctatgaaagggtctgcacttctgatt +gtacgtgtctaattagcattaatattaaaactaattaggataaactataggtacgagctt +tactataagtcactaggtgttttccgatcgaaaaacgggaccttcaagccttggtaagta +catttaggataaagaaaaaaaggaaggtacgtgactaatctgtctaaactgacaatagag +tagtacctacatgcttcatgtcaagtcttaatacgcaagcgctctcgttatactgctcaa +caaaactcataaagttggactccatcatttagaatcatagggaccaaaacatttatttgc +tactgtcactttgtaggtgttctattctgaattcctcatattgatacatgaatcggaata +cctgtggatcccttaggacgcacgtgctttctttacgtcagaatacatattgtcagaatc +gagaagttccatgcaattaagaattcgcctctttgaaaactcatatccccacatataggg +tccaccgttattcggaaacgatataataattattccagcgttgagcgtcccttaagagcg +cattttcgcttggcctttcttctacgactctacaacgcaagtggctgtgtggagtttacc +acagcgcagcaccccatagaactacctctgagagcgcgagatggtggcagtatgctctgc +agctagcgtttagaacgcgcccgcgcattaaccagtcatattaaaatggactgtcttaat +tgtcggcattaggagcaatattaactgatgagggtatcggtcgcagaagtaatgacggaa +atacgcctctagtccgcagagatacgattacagactcagatcccctaacaagcaaaacga +ttaaatcggaatcactccccctatgacatatttgaaatacacaagaaaccacgcaacatg +tcccgcattctcaaccgcgctttataagatgttgagtctgagaattagatgacctaactg +caagaatcatggcgagtttatctagtaggcaagtctgtaccctagggttcgaacgctgtg +acgtcgtgatcggtctaaggacttagatgataaccaagaactggtttaccgagtactttc +actattaggagtaattacatgcgttcaccgcggaatacgacgaaattttttcatatcttt +atgagcgagatcgtgtcgtctttgcattgcaacagtcgctaccagtaattgctgatcaat +tatagattcattatacagatgcttacttttctctattcaatactgtcatgagttgttttt +aaataagcaccagaattatgtcgcctagtataatcttgcttccacttgaatcaatgcgat +ggacagtattctactgattgcaaagtagtctatttcggcttagcagtacgcatgcctatt +tttttgcaggcacagaataatatgcaactaggattctcggcatccaattaacaggctaaa +acaccaccgaaagacaggtaatctacgaagttgatgtttactacagaaagcgaatgatat +cacttggagaacattttagatgcccccttttaatctagactgagtgtaccaatatatcac +cggtctaccgaatcagcttgaataaaccactctagtactcatgataaccgagcatacaca +tgtatttctcaatgcactgaaggtgaactgtttacaccataccttgcgaatcaacgtggc +gacttatacttctgtctttgagtacagcacaccctaatgaatctaagttagttgttgata +cgaattgtaatttgactggatctcgcctcctcatctagattcttagagaagatgtttctt +atagccggtactgtaactttattgatctggtttatggtaatcaacattttacctctattt +aaacgtccttgcgccgtgcactcaatcctgatcggtttagattcaagcgattatcgagtc +tggaggccgagaaaagaaatgcacagagtaagctctctattgcgacatctacgtagaaac +tcgcatttcagatcgagtaagcaactctcattgtgttgattcagtaatacaagattacct +acgcttctacgaaatatactatagatttagcctacgtcacctttagtgtcgagtcggagc +tttgaagatcggatgcggtgtggactgtgtataggcaattttgctgcgagctcgtgactt +ttggttgatgtcgatatcaatgggatacctcaaacgtctttatctctggataactcacat +tgagtataccggtaaaaatttattctattcatctaaatagtcagtgagggctagggtcgc +aatcacattaggccacatacacatacttaacatgttctattgacccgacccaactttagt +agcattgtagccgtttatgcaaatatgccaggcgccaaacactagccagagggcattttg +ttacatttatttaatcgattattacacagtcggaacacgcctacatgcgttcgacttatt +tgcgacatggtcaacaattcagtaatttaatccaaaacctaaagtcagagacatgacact +aaaatcacattaaggtcagttagtgaaggaatggctaaccagctagagaatgcatcatta +acaggcacttattgtcaaatattttccagatctaagcaacatcacgttaaaaagtacaac +aatcacttaaaacacatcagtccaggtgtaattagaaagccgcttagtaggcaagcgtag +gagtataaatgtagacaatagtcgggacttagcagacactggatgcagtcatagaagatc +ttgcataacacgttagggttagagctacgaacgcccatcattaactgcctaaagcgtgcg +tgagcttagcgctaacttttccaacacgtttgtgatttcgttcataatgtatcaatttca +cagtcatatacagggagtgtagaaaaatcgcaattaacatacgttgacctatttttgttc +agagttcagttagagcctaatgattcgagagcaataatcaggacagcctcataggaagtg +tcaatcacttagaagctatattattataaatcgctctttactgtcgtcgaaggaacgagc +gagagagaatcagttgcctgcaactggcttaacaatatgatacataaaaatattttcatc +accactaagacggtggaattcagacttattggcaacttaggatgggactattaaataacc +cataagatgttgggataaagttacgaaacgaaagggatatagcctgttagataggaaatc +cccaataaaacatagccggcctccacagcagtgatctattccgccacgcgatatctttat +accacgcaatataccaataataaaggttaaatgtggttgcgatttaaaaaagatacatat +cagttgcaccgcgtagcaaatccgtatgtgaagcgtaacctagaattatagcgtctgcaa +gttctctaagcttcctctgcaagatacaatatgactttttagcttttttactaccaaatc +tcagaatcttagaaacaggttggtacgtgctactcggaattcccaaagtaccctgctata +tatgccattccttcattggtccgggctcaccatggggccatcatagtaatagaaggtagt +aaaactagttgatttccgacttttaacaatcactatcctgacccagatatgggttccgac +tggcccttactccagtaagggcagacacacagacaacgagaacttgataactttgaattc +tcaaatcgatcattgcaacgtgacttatttactagcctactcctataattcatacgtcaa +atacatttcaacggaggaagataataagtaaatattcactaaataatggtcgaaggagtc +ctttgccaacataagtccacatatgcgctatagattttttcttggggttcatattcaata +agataaacagcaagagtatcacgtcagcgagtcattgagatcttggctagcattgtgata +gcatattctacctaaatggtagtctagcacagagtggataagatatcagttagatataga +caagtactataacagatctcgcttcgttggattgtatggctagctttgatgatatgattt +tataaaaattgatccagacctgacctggccaattatattcattttttatgagtaaaaata +gataaccatgaaaatactcaagccccttaggacgtacaaagtggtaacataaatttcagg +tgttattctgcaaccacacctgttttgggttttcaaaaaggctaagcagattggttttac +agataatccctgaacactggtatctcccaacgatgtcgttcccaacccttgctgaccttt +taagctctgctgaagttttgtaaactaggcggaaaatatgttcgatagatccactcgcct +gaggtagaaattcgtcttagtaacgcctctttggattacacagaatagtgtactgacacg +tacactgctgcagcagccatacgctaacattaaaattcgttgagtctacatttgttgtta +ttcggattatgttattgggaatagtatttttattcccctgcgtgaaaccacatggataga +ttagcctactcctaaagactcccttttggtctacggttcaattctcttactgagtttatg +ttcgtaattatatcggcgcagtgaatctcctaattatcaccggagttaccagacgccatg +aacttatggccagaaacattgcatgtggcctacataggattagtatcaagagtttacgtt +tgcaacgacatttgaccaacttgaccattcctgcttgtagaccgcgggaactcccctgca +cgcgactatagaagttggtggtggatgtggcttatgccgcaaatatggttttgaaaaaag +taatctattgcttgatacctgaattgagacatgtataagggctattgccagatgaaaaac +tgcatataaggtcaaacaatataagaacattatacataggatcttagcgttcctcaggat +ggtatacgctataaagtctagcttcagcagctaaggagttttgccagtgcggacttccgc +tggaagattaggtttaaccgccctgacatcttcataaggtcgggcctgattcaaacccct +ggagtgccgtctcatacttgaattaatcgatggaaaacttcttctagtctaatattatta +ttaacaaatgacggttcaataaataacaccgtaagggtgggaaactgttaagtgatgaat +cattttaacctatcatccattagctacagataatgataccccgatccgactagggggtaa +gtggttgttccgttaggataaaccatgtaaaacgttagagggtttgtagattaattggta +ttccagataaatgaggtcagggcgagtgatcaattacactgaaaaattgtcagcttgcgc +ggtagttgttaagacagtataaatgaaggggattcagaagcaagtttctcgattgactga +atttataaaccagtcgtcaatcatgatttttgtgtcgattaaagcctaaatggtaattta +aaccattgatatttatcgagtctataaatatctttggttgtatattacttcacaatcacc +aattctaaatgattcttccactgtgcgggtggagatatcaggacgggttaaggttgacct +acatcgttttgatacaacaaaaatcaaagcacatggctggggacttctcgatactatctt +tgagatagtacgggcaagagtgggtgacgcctccctacattttcaagtctatcggataac +ttctcggtaaaacgctcgcgatatagttttaaagcattgatttaatccacgcaggagcaa +gttttaccggtcgaatgagaaaattcaacgtaagtgtcatatccagtcatggttagccaa +aagcatgggttatccaaaaggaataaaacagctcttcaacaaagagatgaggcttcataa +cttcgatgaatgcgtatggttctgatatatagatcgatgcatgaggacactttattttag +ccggcgaattaatggaatccatacgttacttatttggacatgacttctaggtgtttttgc +tgtcccgtttagcgatatttacagattagtatttcgtttctcatagttaattgtatctag +atactaactcgttgaagacgcataccttgccatttgtacaggacttaactgttccgtgcg +taatttgaatttcttataggttcttcaaggcacgaatacctcactcatgaccgttcatac +tctagttaaggtcgggaatactacgtatgcagggaattgtaacctaggagatttacaact +ctttaaacaagagtcgctgaggtccaggatcaaaacactgaatctcctaacttcgggtgc +ctccgtaaatcacctagaaacctactcatacatttgcaattttgagatgtaggcgaaaga +gagaaatctgctttttaacggtatctcttgggattccttttaaaaacacataacgatagt +aatgtaccaagtaaccaaaagctgggatgtgtctgtgtactgatccgccgtgtcagagta +gtccgccatgaatattgacgtcaaggctagtgtcatcaggtattgatgttcattgtaaat +gaaggaatgaactaatgtcaccaagtaaagggggtgaaaatgctccccagggttctacag +acatagagatggtcagaacacgacccccctctcaacgcagtgtatttgaaatatatggac +atatctaccttattctgtaattttagatgtgttctgtgtataccgatattgataagtcaa +taggcttgattacgtatcttaagacaaatctgtttcgcaagtaggaccgcatctttcaga +ttgtttctttttatgccataacctgcccaggaattcaaaaggttatcgatacccgatatg +ctgtgaattattattctaatggccactcattcctgcttatatctggaattggcatgaata +tcttacaacctaaagtctggcgttgcgccagttctacttcgtaccggacaccatctccag +tcgttaaccgaaggtgggtacgtcacataaaagttcattagaccacactttgtgccgacg +tatatagatatattacacgtatagggaatgttttctcctaggtgacccgaccttctacta +aggttgtacatcgtataatggcccattaactacgaggaaagtggtattgacctggtaatg +cacgttcttcgatatataccgacgaggtaaagtctactattgcaaagtttgacgttatac +tgataagtttagatttccctggatcgcgcatgaacaatgtatgcgttatctgccatatat +aacatgttacaaatccttggggatactatcgctactatcatcggaccaaaattaaatagg +ctagtgtcttatcagaacatcatgtttaccgaactgatctattttccaatttaagctgat +attacgtccgcgtatttattttagttccccggatgacgattatctgagctacatcataca +agttagcatactcgccggtgcattgatttcttatttcgctatatcttcaagttcacaggc +ttcatatagttccaattagcagtataattaggttttgtaactttaaccatactttataaa +aggttatattgcacaactgatcaagcatccgctataacccgagctttaccagttagcggc +taataacaaataagatgacttcgtgtcatacgaccgtcatgatcatgctctaacttaggt +gggaaccaaatttaggcaatgggtagtaataagtataaaatgataccacatatactataa +caatgaaattatttgtaatccggtttgccaacgtatcccccttcgcgataaattaatgac +atagggtcatccatgtgccaatcgtgtgtgccaaaatctcaaattcaattatcatcaata +ttggccaagtgttataagcgttgaaagtgatataggccgccaaaaagtagtctacttaaa +aaccaatatttatcgttcgttattgctggtagtacaacatcacgagcatttctcttttga +gttgatttatactatatctgctgatgtgattatgtcccacttacccagaatattaagaaa +gtcctagattgtaggtatacttgactataaatataatttaagactatacaaataatctgg +ctacattatgccatcgtagaaactgataacgtagtaacgtcggacactagattttggtcg +gggagtaatctagcatactaacgaatttgttaaatccgctgaaagtatatgtcattacct +gcttggcctgtcttcaatacgtttagactattaaggactcatttcgagatccagtattaa +ttatacgcatccatatttatactgaagacggattgagttaggacgacaagctaaacaaat +attaagttaaggattagtattatattgtagaaactcgtcgggttggaacgattcatcatc +atagaatgcgttacttattcagagagacttaattcggttatgactggcagctcacctgga +aagtaggtgaaaggcaacagaagaatattgttgactgaattctacgggctacgaacgtaa +ttacaaagcggttcgtaaagagcataaagatcaatacaatggatctctacagtattacgt +aaataacatacataaacctggtgttgattcgactagctcatagattaatcattaattgaa +gctacgaagacgcggaagtctgcggagtgagcaaacagtaatcgactgataaatgcttat +aatatcgcgcttaaatgccgcatggtgtacattaacgtgggggtagtcaaaggaatatat +ttactaggaatattagttatgcaaatgttgtgtcaatgtgatgtgttttatccagacatt +ggatgcatggctgtgggggcacaggatacttaccattagttcacctacaagcggcgtgag +agggtctcagttttagccagcgcagagaagtacgggcctttagacgattaatgctagaat +tgtcataaacctcgtgaaaagctagttaataatcatggtgctagaagaacacaacttttc +tataaaccagttctcgactgacagtcgtaactcactatatcgccgctttgtactgtcgca +aaaaaacctcacatagaaagaaaaatctactgggtgcatcagtagagatcgtgttctgag +agataaatacaccggatacgatctgcatcgagttcatgtattaggtcaagcttgggactg +ttgtgccagtagcattttttaacagtcaaagtagggtgagacacgtcatatcataatata +tgccatcgaggtttaaagtttatatgataagctagcatgcgttgcaatcgtattcttgaa +tgctccgtggtttgtactaattcctttatagactgagtgtatcgtacactcggtacaatt +acaaaggatggaagagcaaataggtcttcaattataacagtaccccaccttaatctaaaa +accagcttcaattagtattaatttcgccaggagtatatatataaatatctaaagactaaa +agactcgtacttttacaacttacgtcgtagcataattaaatcatgggtaaatgtcatcag +taagtgcattagaaatactcctttgtaaggatacagtgaatgtgtctcagcaagtcagta +gaaatggaaattcatactcgattaaggcctataaaactgttgttggtatctacagagtga +ttaaaattagtgaatcagattacgaaaatgttttcccgctcgcacttacgcgtttagaca +aaagtacaggtggtacaattggctgtagtagaattttggtataaaataggtgataaaccg +gatgggtgtgggcgaattcaaaagcggtttttgttccatagaactatgtagttggttata +aaggttgtaatctcggagattaggttagggcttaatcagaatagtaacaatttctctatg +taaagtacagtgggtgatcgtatgagttcacgaactcttaatgccatgcctggacaggat +aaacaatacgcatataacttgacgatcgagcttatatcgacctatttgagaagtttaacg +ggtcgatataatatacaggtcttaatagccgattttttctagaaaagcaatcctatatct +tagttaatcagatcaaccccgtgaacgatatatcagcaaactgaacattgtatacaacat +tcctttttgtccgggtggggactccatttaaagtatctcacctagaactcagcggtaata +gatgcagtctcttgcccagttacggtaactaaatgttgatacttagaattgctaaatttt +agtctagacatttccaggtaaaccggtagacgacaatttctctgtcatctgtcataagat +cgcttagtgtgctcaaattgcaattgagggccctactatagacaatcatcagacttttta +attaaatagttttccatgaatgtgttgtcaaggcggaccccttcacttttatcacggctc +ataaatgtcgtatgactgtagtcggtagcggccttcgagtcttcaggggaaatggaaaag +aaattaggcttctaagatggactataatcgattaggctaattccgttcgcaaatcacaga +agcaatcttactcaaaattgttggaatcgatagcgaacgcgaccgtgaatgtttaaaagt +gctcgcacagaattacccaatacctatcatcacgacttaaatacccaaagcagttgtagt +cgcgtaatagattaagtctgaagcctagagacaaagggatactgggcggggaaacctgct +ccttcacggtaacatggtaacaacagaatttggttaaggttaaaacgaaatatactcgga +gtgaattactgttaggtttcgtcatcggatcaataagtagtttccgtgaagacactctta +tattagatctccgaaattctgacccgtgcattaggcacttggtaggagattccatttgga +acttgctcaatgtaagccagtaatgttccgaaataattcgctgcaggagcgaggagccgc +tgaataaaggaccctcgcatcttgttaccttatggttgagggtcaccgttctctgcgtca +attccagagctggagatacattcatcaacgttacctacgcacagaataaaaagatcgagc +gctaactcgttttcctaaacacaacggatttagacaaattaccgaatgcgccggagagta +gcatcttagtgtcatgcctatcatggcggctcagtacgaagagttcaggcatcgaatatt +gtggtagcccgcactcaaagttccgccattaggtaagctatatattgtggtcagaacttg +aggacaactatgagctactaaaaataaacaattttgtcatttgttctagatatgtggcat +tcatcgaacgcttgtaccagaagttacattcgcagcgtgagcgaataaacccgaatgagc +gtaacattatcaataacatatagttcagatagagaacgaggtattcgacagagaattacc +caacattggttattaatctatgcagaataatttagataatgtcactacataatattagga +ccaaaaggtgattccccagaagacaaaacaataaacaatctcacatattcgctagtacct +atgtatgggtatgatcttctgattggacggggataatttccaggtatattaaaacttatt +accataatctagacctaagagaggttatataagtaaagagctgtgttccgatagaaaaac +ccgaccttaaagacttgcgaagtaaattttgctttaacaaaaaaacctacgtaagggaat +attctgtataaactgaaaagtcaggtgtaactacatgagtcatgtcttcgattaattaca +atgcgatctcgttattctgatcaactaatatcataaactgccactacatcttgtacaatc +attcgcaacaatacttttatgtgctaaggtcacgtgcttcctctgctatgctgatttaat +cagattcataaaggaatacgaataactctggatccattaccacgcaagggatttatttac +ggctgattactttttggctgttgacagaactgccatgaaagtaagatgtcgcatcttgca +taaataatagcacctaatatagccgacaaagtgattccgataacagattttaagttgtcc +agccttgagactccatgaagaccgcttgggagcttccccgtgattagaagaatctaaatc +ccaagtggatggggggagtttaaatctcagcaccaacaaatagtacttcctctcagagcg +cgtcatggtcgaaggagcctatcctgatagaggtttgaaagcgcacgcgcatttaactgt +catattaaattggaatctcgtaagtgtcggcagtacgacaaattttaactgatgtcggta +tacggagaagaaggaagcacgcattgaagcagctacgcagaactgagaagatgacactct +aagatacaattaatacaaaaacgttttaagcccaatctatcaacagatgtaagatgtcta +atacacaagaataaaaccttcatgtcccgatgtataataacagctttatttctgctggtc +gaggtgaagtagtggaaattactccatcttgctgcgcgtctttatagtgttggctactct +gtaaccgacgcgtccatccctctctcctagtgatccgtatatccaattagaggataacca +acatctgcgttaccgacgaatttaaatttttcgactatttaattccgttcaaacccgtat +tcgtagtaagtgtttcatagatttatgaccgacatcgtgtacgagttgcagtgcatatgt +agataccactaattgctgatctaggatacatgctttataaacatgcttacttggctattt +tatttactgtcatgtgggggtttttattttcaacaagtatgtgctaccattggataatct +ggcttcaaattgaagatatgcgttccaaacttgtctactgtttgctaagtaggagttgtc +ccattagaactacgcagcacgtggtttgtgatcgaaaagaataattggcaaatacgaggc +tagccttcaaatttaatgcagattactcctcagaaacacacgtaagcgacgaacgtgatg +tttactacacaatgcgtatcatagaaattcgtgataatttttgttccaacctttgaatct +agactgagtggaaaaagatttcaccgggataccgtttatgctggttttaaaaactcgtcg +aatcatcttataactgcattcaaatggatttctcaatcatctgtacgtcaactgttttaa +caataacgtcagaataaaccggcacaatgagacggcggtctttcactacaccacaccctt +aggattataagtgacgtgtggattcgaattctaaggtgacgggatctacaagcctcagct +acattaggtctgaagatctttcgtatagccgcgtatgttactgtttggatatgggttatg +ctaatcaacagttgacagcgagtgaaacggccttgcgacctgaaatctttacggttacct +tttgattcaagacaggatcgacgatggaccacgtgaaatgaattcaaaactgtaacatcg +cttgtgcctcagcgaccgagtaacgacaagttcacatcctctatgcaactatcattgtgg +tcattaaggtattcaagattaactaagagtcgaccatatattctagagttttacaattag +gaaccgttagtctagactaggagcgtgcaacatcgcaggaggtgtggactgtcttgaccc +aagttgcctgacacatagtgtcttttgcttcatgtccttagcaatgcgatacctcaatcg +tagttttatcgggataaataacatggtgtttaaccctattaatggtttctattaatctaa +attgtaaggcagcccttgggtcgaaagcacattaggccacatacacagtatgaaattgtt +cgagtgtccagaccataattgactaccatggtacacggtgttgctattatgactcccgca +aaactcttgacagagggaattttggtacattgatgtaatcgatgatttaacagtaggaac +tagacgtcatccgttagactgagttccgacatgctcaaattgtcaggatttttatccaat +aactaatggctctcacatgtaaataaaatcacattaacgtcacttagtgatggattcgct +aaacagatagactatcattcatgaactggcactgtttcgattatatttgcaacatcgaac +atacttaaagttaaatacgacatcattcaattaaaaaaattcagtacacctctaatgagt +atcccgctttggaggaaagagtagcactttaaatggacaatttaggccggactttcctgt +aaatggatgaagtcattgtacagcttgaataaatcgttagggttagtccttacatccacc +atatgttaatgaataaagcctgagggaccttagagctaacttgtccaacacgttgctcat +ttacttaataaggttgaaatgtatcagtaagtgacagcgagtgtagattttgaccattta +actgaccttcacagttttgtcttcagacgtcacttacaccataatgatgacagagcttgt +agatgcacacactcattcctagtgtaaatcaagtagtagctagattattataaagagata +ttttctggcgtcgaacgtaacacagagagagtataaggggcatgataatggcttatcaat +atgtgtaagaaaaagtttttaatatcatctaactcggtggaatgcacacttatggccaac +tgaccttgggacgagttaagataccataagaggttgcctgtaagttaagataacaaaggg +atattccatctttgtgtgctaagaacctatttatatttgcagccataaaaacctctgtgc +tatgcagccaccagagttatttatacaaagaaagagaccatttagatacgttaattctgc +ttgcgatttattaaacagacatttcacgtccaaccactacaaaagccctatcgcaagacg +atcattgtattatagcctatgcaacgtagctaagcggccgaggaatcataaaatatgaat +tgttacattgtttactacatatgatcacaatctttgtaaaaggttcgttcgtgatactac +catgtacctaactaacctgagatatatgcaatgacttatggggtcagcgcgcaacatccg +caaagcatagtaatacaaggtaggaaaacttctggatttcccaaggttataatgctctat +actgaccaagagatccgttacgactcgcaatgaatactctaagggcactcacaaagaaaa +ccactaattgataaatttcaatgataatatcctgaattgcatcgtgtatgagttacgaga +agtcgcatttaatgaattagtcatagaaatgtcatagcaggaacataattactatatttt +aacgatttaatcgtagttggagtcctttcccaaattatgtcatcagttccgatttagatg +ttttcgggcccttcttagtaaagaagttaatatccaagactagctcctcacccacgcatg +cacatattcgcgagaagtctgatagaatattcgacagaaatgcgactctagctcacactc +gttaactgatcaggtacttatagacaagtacgttatcagatatcgcttcggggcattgtt +gcgctacctttgtgcatagcagttttgaaaaattgttcaagacctgaacgggaaaatgat +attatttttttaggaggaataatacagtaccatgtaaatactcaaccaccttacgtactt +cttacgccgaacatatatggcacgtgttattcggctaacaaaactgttgtgccttttcta +taaggataagcagattcgttttaaacatatgacctgtaaactgggatctacaaaagaggt +acttaaaataaattgcgcaacggtttagatctgcggatctttggttaaagagcaccatta +gatgtgccatacttcctatcgcctgagcgagaatttagtctgaggaaccactcttgggat +ttaaaacaattcggttaggacacctactcggcggatgaagcaatacgataacattaaaag +tcgttcagtctaattttggtcgtagtacgatgagctgatggccaattgtatttttattaa +cagcactgaaacaaaatggagactttagactaatactaaagtctcaatgttcgtcgaacc +ttaaatgctcggaatgaggggatcttcggaagtatagcgccgaagtgtatctcattatta +taacaccagtgtacagacgacatctaattatggccagaaactgtcattgtgccattaaga +ggattagtagatagtctggaccgtggaatagaattttgaccaaattgaccagtcctgctt +gtagacagcgcgatctaaactgcacgagaatatacaagttggtggtgcttgtggctgagc +acgctaagatgcgtttgtttttacgattctagtgcttcttaacgcaattcagtcttctag +atccgctattccaacatcaatatctcaatttaaggtcaatatatataacaaaattagaca +gagcagctgacacttacgaagcatcgtagaaccgatatagtcgaccttatgatgatatgg +acgtgtccaagtccgcacttccgatgcatcttgacggtgaaccgaaatgaaatcttcatt +agggcccccatgtgtcaaaccactcgagtcccgtctctgaagtcaagtattactgcgaaa +aattcgtctactattagtttattatgaacttatgacgcttaaataaattaaacagtaagc +ctgggaaaatgttaaggcaggaatctttgtaacagttcataatgttgctaaagattatca +gaccccgtgaagacttcgggctttgggcttcgtaccgtagcataatacatctatatagtt +agaggcttgcgtgttgttgtgctattccacatatagcagctctgggcgactcttcaatga +aaatgaaaaatggtaacctggcgacctacttgttaagtcagtttaattcaaggggattaa +gtaccaagggtcgagtttctctgtatttattatactgtaggcaagaagcttttttggcga +gatttaagacttaagcctatggtaaaaatttgatagtgagcgactatagtaagagatttg +ggtggttagtaattaaaattctcctatgctaaatcaggcgtacaatctgagggtgcacat +ttctcgacgcgtgaaccttcaccgaaagcgtgtggattatacaaatttcaaacatattgg +cggggcacttatccataatagatttctgtttgtacgccaaactctgcctcacccctccat +aaattgtattggctagaggttaaattctccgtaaatagagacacatatagttttatacaa +ttgtttgaatcaaagcacgagaaacttttaaccgtacattgacaaatgtcttcggatggg +gcagagcatctcttcgtgacccaaatcaatcgctgagcaataagcaagaaaacacagatt +atacaaagagatctggatgaagatattcgtgcaatcactatcgttatgttagagagttcc +atgcatgaggactcgttttttgaccaggagaattaagccaagaaataactgacgtatttc +caaatgaattctacgtgtttttcctgtcacctttagccagtgttaaagatgactatggag +tttcgaataggttattctatagacattataacgagtggaacacccataccttcacagtgc +taaaggtaggaacgggtacgtcaggtagttcaagggattttaggttcttaatccaacgaa +gaaataacgcatcacccgtcattctattgttttcgtcgggattacttagtaggcagggta +ttctaacctacctgagttacaaatctttaaaaaactggccatgaggtcatggtgataaaa +tctgaatcgcctaaattcgcgtccctaaggaaatatactagaatccgtctcagaaagtgc +aaaggttgacttcttcccctaacacagaattctcagttttatagctatctagtggcattc +ctttttataaaactttacgtttgtaagggtccaactttacaaaagctcggatgtgtatgt +gtaatcttccgccgtgtaagacttggaacccatgtatattgacggcatggcgtggctaag +caggtattgatcttcagtgtaaagcaaggtatgttctaatctaacaatgtaaagccgggg +attagccgccaaaggggtctaatgacatagagatgctctgaaatcgtaccaactataaaa +gcacgggatttgaaatatagcgacagatcttccgtattctgttagttgacatctgtgctg +tctttaccgattgtgatttggctttagcagtcatttagtttcgttactcattgctcgtgc +gatagttccaccgaatatggcacattcgttctttttttccattttactgcaaaccttttc +aaaagctgatcgataccactgatgatggcattgattagtcgattggcaactatgtcctgc +ttatatctccaattgcattgaatatagtaaaaaataaaggctcgccttcccaatgggcta +cggagtacacgaaaaaatcgcaactcgtttaaccaagcgccgtacctaacatataagtga +ttgagacaaatagttctccagacgtattgagatatatgtctcctataggcaagcgtttct +aattgctgaccagaaattagaattaggttgttaatactatattcgaccattttattccac +gaatgtgctattctactggtattgctccgtatgcgatatataaccaacacggaaagtcgt +cgattgcaaagtggctccgtagaatcatttctggtcatttaccgggagcgcgcttgaaca +atggatgcggtatctgccatattgttattgttaaaaagacttccgcttactatcgcttcg +atcatcggaaaaatattaatgaggattgggtcgtataagaaaatcatcttttcagttcgc +agatttttgccaatttaaccggttatttcgtcagacttggtagtgtagttacaagcatca +cgattatatcagctacagaattaaactgtcctgactcgacggggcagtgtgtgagtattg +cgctatatattcaaggtaacaggaggcatataggtcatagtacaaggataatgaggtttg +ctaactttaaaaattattgatttaacggttgattgaaaatctctgcaagatgacgctaga +acacctgatgttcaagtttgccgataataacatataagatgaattactgtctttagaccc +tcatgttaatccgctaacttagggcggaaacaatgttaggctatgcggagtaagtactat +attatgataccacatagaatttaacattcatatgatgtctaatacccgttcccaaccttg +caaccgtcccgattaattaagcaattacggtcatcaatgggccaatcctgtctcaaaaat +tatcatattcaaggttcagctattttggcaatgggtgagtaccgttcttagtgatttacg +aacccataatctaggcgacttaatatacaagatttagagttacgttttccgggtagtaca +tattaacgaccatggatcgggtgaggtgttgtattagttatctgatcttgtcagtagctc +ccaatgtcccagaatattatgtttctactagagtgttcgtatactggaatttaaatatta +tgtaagactagacaaattttatggatacattaggccatcgtagaatatgatatagttgta +acgtccctctatagattttcggagggcaggtatattgcttaataaagatgttcggaaatc +agcggaaaggatttgtaattaactgatgcgcagcgcttaaataagtttagactattaagc +tatatgttcgacagcatgtagttttttttaccagaaagtgttatactgatgacccatgga +ggtagctcctcatgataaaaatattgttacttaagcattactattatagtgttcaaacta +gtaccgttgcatactttaagaatcagacatggcgtttcttatgcagacacacttttttag +ctgttgacgcccacctcacatccatagtaggtcaatcgcataagaacaatattctggact +gttttattacccagaagaaagttttttctttccggttcgttaagacaataaagatcattt +cattcgttctcttaacgatgaactaaagtacttaaagtatccgcctcttgtttcgactag +cgcatagtgtaataattaaggcaagataagaagaacaggaacgcgcacgtcggagataac +tctaatagtctctttattccgtttaatatagcccgtaattgcaccatgcgctacagtaac +ggccgccttcgcaaacctatttatgtaattccaagtttaggtatgcaatggttggggcaa +tgtgaggggttttatcaagactttcgttgcttcgcggggggcgcaaagcagactttacag +tagttaaccgaaaaccgcagggagtcgctctaagtgttaccaacccctcactactacgcg +aaggtactcgattattccttgaatgggctgaaacatcgtgattagcgtcttatgattcag +gctgatagaagaaaacttattttctatattccacgtatacaatcacactcgtaactaaat +agttcccagcgttgtaatgtcgctataataaataaaatacaaagaaaattcgtctgggtg +cataagtacagttagtcgtctgtcacataaataatccgcagtcgatctcattacaggtat +tgttgttggtcaaccttcgcaaggtggtccaagtagcattgttgaacagtaaaactaccg +tcacacaaggaatatcataatagatgccatacacggttttacttgatatgtttacagtcc +ttgagttgcaatcgtagtattgtttcatccggggtgtgtacgaagtaatttagacaaggt +gtgtagcggtcactaggtaaaatgacttaggatggatgagcatttaggtattctatgata +acactaaccatcatgtttctaaaatcctcaggaaatttgtattattttaccaacctgtat +ttatagaaagtgcttttgacttaaagaagccgaagtgttcaaattaaggagtacctgatt +gaaagaatggggaattgtaatctgtaactcaattacaaataagccgttctaaggattaag +gctttgtgtctaagcaactcacgtgaattcgaaattcatactcgattaacgactttaata +ctcttctgcgtatctacagactcatttaaattacggaatatgttttcgtttttggtttcc +agctcgcacgtacgcgtttacaaataaggacacctggtacaattggctggagtacaatgt +tggtttttatttgctgattatcccgatccctgtgggcgttggcataaccgggttttcttc +aagactactttcgtgttgcttatatacctggtaatatcggtgagtagcttagggcttaat +cacaatactaacaagttctctatggattggacagggcggcatccgttgactgaacgatct +attaatccattccctgcactggataaacaagacccatttaaattgaccatagagatgtta +gcgtcatatttctgttcgtgatagggtacatatattataaacggattatgagcagtggtt +ttctagaaaagcattcatagttaggagtgtatcagatcataccactgaaccatagagcac +aattctctactggctatacttcattcctttttgtccgggtggggacgaaatttaaaggtt +ctaacctagaacgcagagcgaattgatcaaggcgctggccaagtgaacggttctaaatgt +tcttaatgagaattgcgtattttgactattgacagggcatcgtaaaccgctactcgactt +ggtatctgtaatctgtatgtagatagagtacgggcctataattcaaattcagccaccgaa +gattcacaatcttcagacgtttgaaggaaagaggtttactggtatgtggtgtcaagcccc +acccattctctgttatatccgagcattaatgtagtttcactgtactacggtcacgccgta +gagtcggcagggcaaatccaaaacaatttaggctgagaagtggcactataatagtttagc +ctaagtcccttcgctaataactcaacaaagatgacgcaaaagtcggcgaatagattgcgt +tcgcgtaagggtatcttgaatactgatagctctcatggtaccaagaactttcataacctc +tttatttaccaaacctgttctactagcgttagtgttttagtctgtagccgacacaaaaac +cgagaatggccggcgtaaccggcgcctgcaagctaacatgggatcaaaactattggctta +acgtttaatcgaatgagactagcactgtattactctttcgtttcggcagcggatcaataa +ggaggtgacggcatcactctcttatagtagatatcacttattctcacaacggaagtagga +tcttccgtcctcattaaatttgcaactggctcaatgtaacactgtaatgttaacaaagta +tgagctgaaggtcagagcagacgatgtagtaaggtccctcgaagctgcttacagtatcct +tgaggctcaacgggctatgcggaaattccagacctcgagttacattatgaaacgtgtcat +tccatctcattaaatagttcgtgccctatcgccttgtaatataaacaaccgtttttgtct +attttcccaaggagaaggagagtagcagcttagtggcttgcctatatggccccctaagta +cgtactcggcacgcttagaagattgggctaccccgcactatatgttcccaaagtaggtaa +cctagatagtgtcgtatgaaattcaggtcatcgatgagagtataaaaatatacaattttg +gcaggggttatacattgcgggcatgaagagtaacattggacatgaacggacattcgaacc +ctgtgagtttaataccctatctccggatcattataaagtaaatatacgtcacttactcta +cgtgcgtttagacagtctttgaaactaaattggttatttttctttcatctagatttgtct +gtatctaactaaattatagttccacataaagctgattcaactgaagacataaatataaac +tttctaacatagtagcgaggaaagagctatgcctagcatcggatcatgcgtccgcgagta +gttcctggtagagttaaaagtttttccagaatctagaccgaacacagggtagtgaacgaa +agtgcgcggtgaacatacataataccgaacgtaaacaattccgttcgtattgttgctgta +tctatatttcctacgtaaggctatttgatctataatatgaaaagtcacgtcgaaataaat +caggaagcgcttcgagtatgtacattcagatctccttagtatcatcaaattatagatttt +acggccacgaattattggtctagatgtcccaaaaataatttgatgtcagtagcgatcgtg +cttcctcggagttgaggttggaagaagagtcattatgctataccaagaactctccatcca +gtacctagaaaggcaggtatgtaccgctcattaattttgcgatcttgacagatctgcatg +caaagtaacttgtaccagatggcttttataatagaaactaagtttcccgaataacggtgt +acgataacagatttttaggtgtacagacgtctgactcaatgaacacacattgggacctgc +cccgggaggagtagtagataattaccttctccagcgcgggtcttttaatatcacaacata +aaaatactaattaatatcacacaccctcatcctcgatggagcctagcatcatacacgttt +gatagacaacgccaattttactgtaatatgatattcgaatctagtatgtggacgctgtac +cacattgtttaaaggagctccctttaccgacatgaacgaagcaagctttgtacaagatac +gaagaactcagtactggtaactataagagacaatttatacataaaagtgttaagaccatt +atataaaaagaggtatgaggtctttgtaactacaataatacattcatcgaacgatggaga +ataacagagttatttctgctgctcgagctctagttctgctaatttctcaatcttgatgcc +actcgtttgagtcttccattcgctcttaacgacgcgtacatccctctctcctactcttac +ctatatcctattactggttaacctacatctccgggaaagacgtaggtaaagtggtccacg +attgtattcacttataacacctagtagtactatgtgttgctgagagtgaggacacactta +ctctacgagttcaagtccatatggacattacactttttcagcatctaggtgtcatgatgt +attaacagccgttaggggctatttgattttatcgattgtcggcgtgtgtattttcaacaa +ctaggtgctacaattcgtgaataggcatgaaaattcaagattgcagttcctatcttgtat +aatctttcctttggacgagttgtaccatttcaactaacctgcaagtggggggtcatccat +atgaagatttgccaaatacctggagaccctgaaaagtttatccagattaataataacaaa +caaacctaagcgaagaacgtcagctttaataaactatcactatcatagaaattcctgtta +attgttcttccaaacgttgaatagactatcacgggtaatagattgaacacggagaacgtt +tatccggcttgtaaaatatcgtcgaatctgctgataactcaattatattcgatggagaat +tcatatctaccgcttagcttttaaaaattaagtcagattattccgccacaatgagaaggc +gcgagtgcactaatcaaatcacttaggattattacggacgtctgcattacaatgctttgg +ggtagggttatacaagcatatgattctttaggtctcttgatcgggcgtttaccaccgtag +cttaatgttggcatatccgtgatcctaatattctgttgtcagcgtgtgtataggaatgca +caacgcaaatctttaagctgacctgttcatgaaagacaggagacacgaggcaccacctca +attctatgcaaaactctaacatagcgtggcactatgagtacgtgtaacgacaaggtctca +tactcgatcctaagataattctcgtctggaaggttttaatctttaactaagagtagaact +tagtttattgacttttacaattaggatacggttcgcgactctaccacagggcatcatacc +tggagctctgctatctcgtgaccaaagtggcagcacacatagggtcgggtcctgcatcta +ctgagcaatccctttaagcattcctagtttgagagccatttagatattgctgtttaaacc +gattaatggtttctattattataaagtgtaacgctcccattcgggacattgaaaattagc +aataagacaatgtatgatattcggcgagtctcaacaacattatggtctaccatgggacaa +ggggttgatatgatgaatccacaaaaaatagtcaaacacccatggttcgttaagtgaggg +tatccaggtgttataaggacgatctagaagtattcaggtacacggtgttcagacatgctc +taattgtcaggttgtttataatttaacgtatcgctctctattctaaataatataaaatta +accgctcgtagggatgctttccagtaaaagatacactatcattaaggttatgcaaatgtg +gcgatttgatttgaatcttagtacattcttaaacttaaatacgtattatttaaagtaaat +atattatctaaaccgcttttgtctatccacatttcgtcgaatcacgacctcgttaatgcg +acaatttacgaccctctttcatctaaagcgatcatctatttcttctgattgatgtaatac +tgacccttactccgtacatacaaatgatggtaagcaagaatgactgacgctcctgtcacc +tttcgtggcaatcaactggcgctggtactgaagtagcttgaaagggatatggatgtgtat +gccaggcttcattttgacaatttttctgtcctgctcagtgttgtctgaagtcgtatcgta +cacaataatgatgactctcattgtagatccaatcacgctttcctacgctaatgaaagttc +tagatagtgtaggtgttagacagaggttagcgcctacatccttacacacacagtgttgaa +cggcaagcataatcgagtatcaatagctgtatgtatttgtttggaatatcatatttctcc +cgcctttgaacaatgatgccaaaatgtcctgccctagagttatgataaaataactgctgc +cctgtaacttaagtttacaaaccgatattcaatcgttgtgtcctatgaaaatatttatat +ttgcaccaagaaaatcatctgtgcgatgaacaaaacacagtgatttataaatacaaagag +tacatttagttaccggattgcggcttgacatttattttacagaattttatcggcaaaaca +cttcatatgaactatcgcttcacgataagtctatgatagactagcattcgtagagaacag +gaagagcaatcattatatatgaagtgttacagtgggtactacatatgagatcattaggtc +tatatccggccttcctcataagaccttggaaatatcttacatcagagatatcaaaggaag +tatgggcgaacccagaaaaagccccaaagaatagtaattcatcggacgtaatagtctggt +tttaactaggggttattgatatttaagctaaaagagttccctgaacactcgaaatgtata +atctatcccaactaaaaaagtatacctctaattcagaaatgtcattgagattagactgat +gtcaatacgctaggaggtaagacaagtagaagtttttgatttaggaattgaaatgtaata +cctccatcttaagttctatattttaaagttttatgcggacttcgagtaagtgcacaaatg +atggcataagtgcccagttacatgtttgcggccccgtatgagtaatgatctgtttatcaa +tctctagctactatcccacgaatgcactgatgccagtcatggcgcttacattagtcgaca +gaaatccgacgatacctatcacgcgtgaactgttctggttcttattcaattcgaagtgat +ctcagatacattacggccatgcttgcccttcatgtctgctgagcagttttgttataggct +gaatctcctctaagcgaaattgataggatttttggtggtcgatttagtctgtacctgctt +attaagattcaaaatgacctacttcttacgccgaaatgatagggatcggctgaggaggat +aaatatacgctggtgcctggtatttatccagaacaagttgcctgtgtatcagatgaactc +taatctccgagataaaaaacaggtacgtaaaataaaggccgcaaagggttacatctcagg +atcgtggcgtatagtccaccattagttctgacttacttaatatagactgaccgagattgt +agtatgtggatccaagcttgccatgtaaaacatgtcggttagcaaaacgtataggagcat +gatcaaagaagagttaattaatagtactgcactataattgtcggcggagtaccatgagct +gttgcccaattcgatgtttattaacagcacgcataaaaaatccagacttttcaattagaa +ttaactataaatggtccgcgaaccttaaatgatcggaaggacgggatctgccgttgtata +gaccccaactctatctaatttttataacacctctgtaatcaacaaatcttattatgccat +cattatgtcattcgccaagtaagtccagttcgagattctctggaccgtgcaatagtattg +tcaaattatggtaatggaatccttcttctaacacccttagaaaagccacgagaattgaca +agttgggcgtgcttgtccaggagcaacataagtgccgtttctttttacgatgatagggat +tcttaaagcttttctctattctagatcccagttgccatcatcaatatctcaattgatgct +cattatatagttcttatttagtatgtccagatgtcactgaagatcctgcctagaaccgat +attctcgacaggatcatcagttcgacggggcaaacgcacctatgcacatccatcttgacc +gtgaaacgaaaggaaagagtcagtaccgacccaatgtggaaaaaaactcctgtccacgat +atgtaggcaagttttactgcctttaattagtagtcgattagtgtagtttgatattatcta +ccttatagaatgtaaacagtaacccggccttaatggtttggcaggattctttgtaaaagt +taataatgttcataaactttatcagaaaacctgaagtagtccgcctttcgcctgcgtaac +gttgcagattaattcgttttacggagtggcttgcgtcttgttgtccgagtacacatattg +ctcctctcccccactcttctaggaaaatcaattatgctaacctgcagaccttcttcttta +ctatctttaatgcatgcccagtatgttcatagggtagacttgctatctattttgtataat +ctacgaatgatgcttggggcgcgacttttaacaattaagccgttgggtataatttgagag +ggtgccacgatagtaagagatttccggcgtgagtaaggaaaatgataataggattaagca +ggcgtaatagctcaccctcctcagttctccaaccctgaaccggctaagtatgactgtgca +gtattaattttgaatacatattgcagcccctaggatacattatagatgtctctttcttac +ccaaactcgcccgcaccaagaaagaatgtggattcgattgaggttaaattagccggaatt +acagacacagattcttgtttacaattgtgggaagaaaaccacctcaaacgttgaaaccta +cattcacaaatggattacgttggggatgagaatcgattccggtcaaaaatcatgcccgga +gcaataaccaagaattcacagaggattaatacacttctccatgaagataggactgcttgc +actatccttatctttgtgtcttccttcaagcaccaatcgtttggggacaaccacaattat +gccaagaaataacggaaggtgttccaaatctatgagtccgcggtttcatcgcaacgtttc +actgtgggtatcatgactttggactttagatttgggtattctagagactgtagaaagact +gcaacaacaagacattcacagggcgaaacctaggaaaggggaccgcacgttgtgctaggg +atgtttccttaggaatccatacatgtaagaaagaatcaaccgtaattatagtgttttcgg +ccccttgaattacgtgcatgcctttgctaaaagacctctgggaaatagattgaatattct +ggacagcagcgaatcctgattatatctcaagcgaatatatgacccgcaagaaggatttat +actagaataagtctaagaaagggcattgggtcacttcttccactaacacacttttatcag +ttttataccttgagagtcccatgcatttttatatatatttaactttcgttgcgtaaaact +ttaaatatgatccgtgctctatctctaatctgaacaacggtatcacgtcgaacaaatcta +gtggctacgaatcgcgtcgctaagaacggtttcttctgctggcgttagctacgtatcttc +tatgctaaaaatgtatagccccgcattagcagcaaaaccgggagaatcaaatacacatcc +gatgaaatcgtaacaaagataaaacaacgcgatttctatgtttgccaaagtgattaagtt +gtatcgtaggggtcagcgctgatgtcttttcagtttgggttttggatttaccagtctttt +agtttcggtactatttgatcgggacattcgtccaaacatgatggctcattcgttcttttt +ttcaattttaatcaaaaccttgtatttacctgatacattaaactgagcatcgcatggagg +tggagattcccatatatgtaatcatttgatatcctattccattctttttagttataaata +aacgctccactgcacaatgggagtaggacttcaccaataattagcatctactgtaaacaa +gcgccgtaacgaaatgattactgattgagaaaaataggtctcaacaacttttgacagata +tgtatccgatacccaagcgttgctaattgcgcaaaagtaagtagaattacggtcgtatta +cttgttgccaaatggttattactccaatgggctattctaatccgatggatacgtaggaga +gagtgtacctacaccgaaactcgtagtgggcttagtggctacgtagaagctgttcgggtc +agttacagcgtgcgaccttgtaaaatcgatcacggtgatgaattattgttattgtttaaa +agaagtcccctgaatagcccttagataatacgaaaatttgttatgtccagtcgctcgtat +atcaaaagattcggttaagttcgcagagttttgccaagtttacaggtgatttactaacac +ttgggagggtacgtacaaccatcacctggttagcagagaatgaattatacggtcatgtcg +cgaagggcaagtgtgtgagtattgaccgagttattaaacgtaaatgcaggcatttacgtc +ataggacatcgagtttgtcctttgcgaaatgttaaatttatggttttttccgttgagtga +taatagctgcaacatgaagatagtaaaactgaggttaaactttcaccatattaaattata +tgttcaattacgcgatgtacaaactaatgttaatcagatttaggagcgcgcttaatatgg +gtccctatcccgactttgtacgagattttgataaaaaatagtattgtaaattcatttgat +ggcgtagaaccgggcaaaaccttgaaaaaggacacatttaggatgctatttccctaagaa +agcggaaaatcctggctcaatatttataatagtaatggttaagattgtggcccaatcgct +gagtacccgtcttacgctttttccaacacataatcgacgagaatgtatttaaatgtttga +gacttacgttttccgcgtacttattattaaagtcattggagagggtgtcgtctgggtgta +gttttctcatctgctcaggagctaaaaatgtaaatctattggttgtttctaattctgtcg +tccgtgtaggctatttaatttttatggtacacttgaatatgtttagccataatgtagcca +atactacaatatcagatacttgtatacgacctatagacttttgccgaccgctcgtagagt +gatttagaaagatgttcggatagcacagcaatcgtttgcgaatgtaagcatgcgaagcga +gtatttaactgttgactattttgctatatgttactctgaatgttgttttttttaccagaa +tgtgttataatgatcaaccatgcacgttcctactaatcatataaattttgttacgtaagc +ttttctatgatagtggtctaaagactacccttgcatactttaagattaagacatgcactt +taggaggaactcacacgttttgagctgttctagcccacctataagccattcgtccgcaat +cccataactacaatagtcggcaatcttttattacccagaactaacgtttttatttcccgg +tacgtatcacattaatcttaatttaatgcgtgagagtaacgatgaacgaaagttatttat +gtttaagccgcttcttgagaatacagattactgttagaatgaaggcatcataactagaac +accaacgcgcacctcgcacattactctaatagtagctttattcagtttaatatagacagt +atttgaaccaggcgctaatgttaaggcccccttcgaaaaccttgttatgttattccatgt +ggtcggaggatttgcggggcgatagcgctgggcggggatcaacaatttcgttcatgcgag +cgcccccataaccagtaggtacagttcggaaaagaaaaccccacgcactcgctagaagtg +ttacaatcacatcacttcgtaccgaagggactactgtattccgtcttggggatgtaacag +actgattacagtcttatgatgaagcctcattcatctaaaattagttgatttattccacgg +atactatcacactcctatagaaagagttaccaccgtgggaagctagatataataaataaa +agacatacaatattagtatggctcatgatctacacttactcggatctctctttttttata +accagtagatcgcattacacgtattgttgttccgcatcaggccctaggggctcaaacttc +catggtggataactaaaacgtccgtcactaaacgaagatattaatagatgaaatacacgg +gtttacttgatttctgttcagtcattcacgggaaatcctaggagtctttcataacggcgg +tcttagtaggaatgtagtcaagctctgtagaggtctcgacggaattggtatttcctggca +tcacaatttacctagtattggagatcacttaaaataatgttgagataataatcaggatat +ttctagtatgtgacaaacctctatttagtgattgtgattttcaattaaacaagacgtagg +ggtcaaattaacgactacatgttggaaagaaggccgaattgtaatatctaactcatgtac +taagaagaagtgctttcgtttaaggctttctgtctaacattctaacgtcaattcctatgt +aatactactgtaaccaagttattactcggctgcgtagataaagtctcatgtaaatgacgg +tttatctgttacttttgggtttcaacctagctaggacgccggtactaattacgacacctg +cgtatagtgcagggtgttcaatgtgcctttttatgtccggattataaccatccctctccc +acttggaatatcaccgggttcttaatgacttagttcgtcttccttattttccgggtaaga +tcgctgtggaccggacccattttgatctagtctaaaaaggtatatagcgtttcgtctggc +ccgcttacgttcactgaaacttagattaatcaatgcactgcactggattaacaagaacat +gttatagtgtactgacacatgttagactaagaggtctgttcgggttagccgacttatatg +tttaaccgattttgacaactgggttgagagataacaatgaagagtgaggactgtagaaga +tcttaaaactgtaccatagtgctcaattcgctaatggcttgaattatttaattgttctaa +ccctggcgtcgaatttttttggttcgaaaatacttagcacagcgtattgttcaacgagat +gcacaactgtaccgttagaaagcggcttaatgacaaggcagtattgtgactattgacagg +gaatcctaaaaagctactcgaattggtatatggaagaggtatgtactgagaggtcgcgcc +tattagtcaaattctgccaaagaagagtcaaaagcttaactagtttgatggtatgaggtt +taatgctaggtggtctataccaccaaaaagtatatgggatatcccagaatttatcgactt +tcaatcgtctaccgtcacgacgtacactaggcagccctaatccaaaacttttgaggatga +gtactgccactattatactgtaccatttgtaacttacattttatatcttcaaagaggtag +atattgtcggccattactgtcacttacactaagggtagcttgattactgatacctctcat +ggtaaaaagtaatttaagaacctatttttttacataacctctgctactaccgttagtgtt +ttagtcggttcaagtcacaaaatccctgtagcgcacccctataagcagaaggaaacctta +atgcggataaaaacttttgccggaaccgttaatcctatgagaataccactcttggaatcg +gtcctttaggctgaggatatagaacgaggggaacgcatcaatctaggttaggtgagagaa +ctttgtatcaaaacgcaagtaccatatgccgtcctcagtaaattgccaaatgcagaaatc +ttacactcttttcttaactaagtatgagagcaacctcactcctgaacagcttgttaccta +acgagaagaggctttaagtagcctggagcctcaaccggatatccggatttgactctcatc +cacttacatgatgattacggtcattacatctcatgattttctgagtgccctatagactgg +gaatttaatctaccctgtttctatttgttaacaaggagaaccactggtcaagatgacgcg +cttccatttatgccaccataagtaagttctcggaacccttacatgattggcctaccaacc +tatatatgtgaccaatgtacggtacatagagtgtggcctatcatattcaggtcatcgagc +tcagtatttaaagattatatggtcgctgggggtattcagtgcgcgatggaagactaacat +tggaaatcaacggaattgacaacacgctcactttaataacctatctcaggataagtttaa +tgtaattagacggaactttctctaactccgtgtactaactctttgaaaataatgtgggta +tttttatttcatctagatttgtctgtatcgaaagaaagtattggtccaaataatcctcag +taaaatcaagtcataaatataaaatttagatcttaggacagaggaaagtgctttcccgag +cataggatctggcctacgccagtagttcatgcttgtgttaaaagttgttactgtttatag +tccgtactcagggtagtgttcgatactcagcggggaactgacatattacactaaggaatc +aaggcccttcgtatgggtcatgtttatatatttaattacttacgctatttgatcgagaat +agctatagtaacgtcgtaagaatgcaggatgcgattcgagtttgtaaattcacagatact +gtgtatcatattattatagatgttaaggcatagaattattggtattgatgtacaaaaaat +tatgggtgggcagtaccgataggcattacgagcagtgcagcttggaagaactggatgtat +cctataactagtaagagccttaaaggtactacatacccagggatgttaccatcattaatt +tggccatcttcaatcttcgcaatgcatactttcttctacaagatgccttttagaagacaa +aataagtgtcaacaataacgctgtaacttaactctgttgtacgtggaatcaagtctcact +aaagcaactaacattccgacatgcaaacgcaggactactagattattaaattcgccagcc +cgcctcgtttaatataacatcataaaaattctaagtaatatctcacacactaatccgcca +tcgtccatagcatcagtcacctgtcttacacaaacacatgtttaatcgatgttgttatgc +caagctagtttcgcgaccatgtaactaattgtggaaagctgctaccttgaacgacatcaa +ccatcctacctttgtacaacagaccaacatctctgtactggtaaatagatctgaaaagtt +ataaatataactgttttcacattgatagaaaaacagctatgtgctatttgtatatactat +aataaattaagcgaaacatggagattaaaacagtgttttctcatcctccacctcttgttc +tgctaatttataattcttgatgccactcgtgtgagtcgtccattcgatcgtaaagaaccc +gacataaatagatacgacgctgaacgagatcctatttctcctgaaaattattagcacggt +aactcctagggatagtggtactagttggtatgaacgtataaaaacttgtactactttctc +gggatgtgagggagcaaactattactcgaccagtgcaacgcattatcgacagtaaaagtt +ttcagctgatacctgtctggatggattatatgcaggtaggcgagagtggattgtagcgat +gctcggcgggggtattttaaaaatctaggtgataaaagtcctgtttagccaggaaaagtc +atcattgcactgcatatcgtcgattagctgtcatttcgtccactggtaccagttcaacgt +acatcaaagtccgggcgcatccatatcaagttttgcaatagtactccagaccatgaaatg +gttatccagattaataataacttaatatactttcactacatactcagcgggtattaaatt +tcactttatgtcaaaggactcttatgtggtcttcaaaaaggtctagagtctatcacgcct +aattgtgtgaaaaccgagtaacttgatcagccttgtaaaatatagtagaatatgatgtta +aatcatttatattccagggagattgaatagcttacgattagctggtataatttaactcac +atgattaagcaaatatctgtaggaccgagggaaagaataaaataaagtaccatgagttcg +gaacgctgcattacatggcgttgggctagcctgatacaagaagatgagtatggagctctc +ttcatcgggacgtgacaaccctagcgtaatcttggcagatcccggagcagatgattatcg +tctaacactgtctttaccaatgcacaacgcatagatttaacctgaactgttctggattca +ctcctgactacagcctacaactcatttctatgcataactcttaaagacagtcgcaatatc +agtacctctatacacatcggatcagactagatcataagataagtctcctctggatccttg +tattctgttaagtacactacaaatttgtttagtgtctgggacaattacgataagggtcgc +gactagaccacagggcatatgacctccaccgctcctagcgagtctccaatctgcaagcac +tcatacgctaggggcatgaatcgactgtcaatgcactgtaagatttacgagggtgagacc +catttagatatgcctcgtttaaccgttttaggcttgataggatgagtttgtcgatccatc +aaattcccgacattcatattgtccaataagtatatctagcttattcggactcgctaaact +aaattatggtataaatgccgtcaaccggtgcatttgttcaatcaacaaattatagtcaat +ctcccatggggccttatggcagcgtatacagctggtataacgaccatatacaactatgaa +cggactagctgtgaactaagcagattattggatccttgtgtataattttaagtttcgatc +tatatgctatagtatagaaaatgttccgatcgtacgcttcctttacagttaaacagtcta +tatcatgaagcttatccaaagctggacatttgatggcaatcttacttaattatgaaactt +aattacctattattgaaagtatttatatgatcgaataagatttgctctataaacaggtcg +tccattcacgacctagtgattgcgtaaattgaccaacctaggtaatctaaagcctgcatc +tatttcttatcattcatgttatactgacccgttctcagtacttaaaaatgatcgtaagca +agaatcactcacgctcatgtcacatttagtcgaaataaactgccgatgggaaggaagttc +cgtcattgcgatatcgatgtctatcccacgcgtcattttcaaattggttatctacggata +actgtgcgatgaactactataggtcaaaattatcttcaatctcattctagatcatataaa +gatgtccttcgcgattgatacgtctacagtgtgttggtgttacacagagggtagcgacta +cttacttactaactctctcttgatccgcaagcataagccaggttaaagtgctctatcttt +ttctgtggattataatagttataccgccttgcatctaggtgcccattaggtaatgcccta +gtgttttcataaatttactcctgccatctaacgttactttaatttcccagattcaatagg +tctctcatttgaaaattgttatatgtcaacaaagaatataatagctgagtggaacaatac +actgtgagggagtaatacatactctaaattttctttacggtttgcgcctgcacagttttt +tttatctatgtgatccgcataaaaagtaatttcaacgttccattcaagttaagtcttggt +gacactagcattaggagagatcaccaagaccattatttatttagctagggtttaagtcgg +ttagaaatatcagataatgaggtctttatccggccttacgcagtagaaattggaaatttc +gtaaagcactgagttcaatggaagtatggccgaacccacataatgcacaaatcaagtcga +tttcttccgtccttttagtctcctgggaactacgggttattcatagttaagctaaatcag +ttaacggaactagacaaatgtataatagttcccaaatatatatctataaatcttatgcag +ttagggaatgcagatttgaatcatggcaatacgctagctcggaactcaactacaagtgtt +ggatgtacgaattcaaaggtattacatccttatgatgttcttttttggatacttttatga +cgacttccacgaagtgaaattatgttcgaatatctgaacagttacttggttgagcccaag +gatgacgaatgttctgtttataattctcgtcataatataaatacaagcatatgaggccag +tcatggagctttcatttggactaacatttccgtagagtcatatcacgcctgtaatctgat +ccgtctttttctattcgaagtgttatcagatacatgacgcccttgcgtgacattcatggc +tcctgacatcgggtcttttaggctgaatctaatctaacccaatttgtttggattgtgggt +cctccattttgtctgttaatgcttattaagattaaaaatgtactacgtatttagacctaa +tgattgcgatacgctgtggaccattaatataagctgcgccaggggatttttccagatcat +ctggcctgtgtatatgttcaaatctaatagccgagagaaattactccgacggaaaataaa +ggcagataagcgtttcagagcaccatcgtggcgtttagtcaacctttagttcggaattta +ttaatatacaatctcactctttggacgagctccttaaaagatgcccttgtatatcatgtc +ccgtacctaaaagtataccagcatcatcaaagaacagttaaggaatacgactgctctata +attgtccgaggagtaccttctcatctgccaatagtcgttgggttggaaaacaacgcatta +atatgccacacttgtcaattagaagtttctataaaggggacgagtaactgatttgagacc +tagcacggcagaggacgttcgtgtgacaacatctctttataagtttgagataaaatcgct +aatctacaatgattatttgccaatcattatcgaatgcgcaaagtatctcctgttcgtgat +tctagcctaaggccattactatggtcaaattatgctaatcgaagcagtcttctaacaccc +ttagaaaagcaaacactattgaatactgccgccgcattcgccagcaccaacataactgca +cgtgcttttttccatgattggcattatgaaagatttgatctatgattcttaccagttgca +atattcaatttagcatgtgttcctaattattgtgttattatggtctatctcatcatgtaa +atgaagatcatgacgtcaacacagattctagtcaggatcatcagttcctcggggaaatcg +cacctaggaacagccttatgcaaccgctaaacaaagcaatgaggatgtaccgacaaaagc +tcgatttaaaagcctcgaaacgagatgtacgaatcgtttactgccttttatgaggagtcg +agtactgttggttcatatttgctacatgattgtatgtaataacgatcccgccctttatcg +gttcgatcctttatggcgataagttatgaatcgtcagtatctttagatcaaaaactcaac +tagtacccagttccccggaggaacggtcatgattaatgcgttttacggtctcccgtccct +cttcttgtcagaggaatcagtttcatccgatcccactcgatgattggtatagctatttgc +cgaaaagccacaacgtattcggtactatcttgtttgattcccctgtatcttaattcgcga +cacttgatatcttttgtgtttaatcgacgaatcatcctgggggcgacacttgttacaatt +atccagttgcgtttaatggctgtgggtcacaagattgttagacaggtcccgcgtgtcgta +ggaaattgataattggagtttgcaggacgaatagctcacccgcctaagtgatccaaccct +catcaggataactatcactgggcagtattatttttgatttcatatgccaccccctaggag +actgtagtcatgtatctttcttacccaatctagcccgaaacaagaaagaatgtcgattcc +agtcaccttttattagaccgatttacacacaaagtgtcttggtttaaaggctggcatgaa +tacatactcaaaagttgaaaacgacttgctctattcgattaccttcgcgatctcaatcga +ttacgctaaattttaatgcccgctgaaatatccaacatttaaaacaggattaattctctg +atccatgaacttaggactcattgcacgtgacttatctttctctcttaattcatgctccaa +tacggtgggctaaaccacttttatcacatgaatgtacgcaacgtgttaataagctatgag +tacgcgggggcagcgaaacgggtcaatctgggtatcttctattgggacggtacatttcgg +ttttatagactatgtagttacacggcatcaacatgtaattaaaacggcgtaacctaggaa +agccgaacgcaccttgggattgccatgtgtccggaggattacatacatctaagaaacatt +ctaaactatgtatagtcgtttacgacccttgtagtacgtgcatcccttggcgaaaagtac +tctgggtattagagtgtatattatcgacagcaccgaatcctcattttatagcttgacaat +ttatgacccgaaagaaccttttataagtctataagtatatctaacgcaattgcggcactg +agtccactaactatctttgagcagtgttatacagtgagacgccatggaaggggtttatat +attttactgtcgttccctaaaaagttaattatcagacctgcgcgatctcgtagatgaaca +acgcgatctagtcgaaaaatgcttgtggctaccattccagtcgagatcaaccgtttctgc +ggatcgcgttacattccttgcttatttgcgataaatcgatacaaccccattaccagaaaa +acccggagaatcaattactctgcagatcttatactaaaaaagagattacaacccctgttc +tatgtgtcccaaagtgagtaacgtggagcgttggggtaagagcggagcgattttaacttt +cgcttttccattttccagtattgtactttacgttatatttgagcggcacattcgtcaaaa +catgatccatatggactgaggtgtttaaatgttaatcaaataattgtattttcagctgac +tttaaaatctgcagccattggaggtggagattccaatagatgtaagcaggtgatatcata +tgcaattcttgtgacttattaagataccagacacggcacaatcgcagtagcacgtaaaca +ataatgacaatcgacggttaaattccgaacgtaagatatgtttacggatgcactaaaata +ggtagcaacaacgtttctctgagatgtataagttaccaaacactggagaattccgctaaa +ctaaggacaatttccgtcgtattaattgttgacaaatggttagtaatacattcgcagtgg +ataatccgttgcatacctagcactgagtgtaaataaaaccaatcgactactggcatttcg +ggctaacgactagatgttagcctatgtgaaagcctcacacatgcttattgccttcacggt +gagcaatgtttcttattcgttattagaagtcacctgtagagacagtagagatgacctaaa +tttggtttgtccagtcccgaggtgatctaatgattaggttaacttagaacagtggtcaat +tggttaaagctgatttacgaacacttccgaggggtcgtaaaacattaaactggtgagaac +agtatgatgtattcggtcatctagacaaccccatcgctgggagtttggacagtgttatga +ttcgtaaatccaccatgtgtccgaattcgaaatcctgttgctccggggagatagggttaa +tttaggcttttttacggtgtggcatattagctcaaacatcaacattcttaaaatcagcgt +aaacggtcaccagttgatatttgttctgctaggaagcgatgtacaaaataagcttaataa +gatttaggtccgaccttaatttcggtccatagcacctctttctaagtgttttgcttaaat +aattgtattgttattgattttctgcgagttgaacacggaaaataagtcaaaaaggacact +tttaggttcatatgtaccgatgaatgcgcaatagaatcgagaaatttttagattagtaat +cgtgatgattgtggccaaatcccgcactaaacggctttcgctgtttccaaaaaattttag +tccactaggtatttaaatgttggacactgaacgtggaagccgtcgtattatgaaactaat +ggcagaggggctcctctgcgtgtactttgagcagatgctatcgtcagaaaaaggtaaatc +ttttggttctttataattctggcgtccgtgtagcctagtgaatgtgtttggttcaagtga +atttgtttagccagaatggaccaattacgtcattagctgttacgtctatacgaaatatag +actgtggacgacccatcgtagagtcatgtagttacatgtgaccttagaacaccaatcgtg +tgcgattgtaagcaggacaacacagtattgtactggtcaattggttcatagatctgacta +tgaatcttcgtttttgtacaacaatctcggtgaagcttcaaaaagcctccttcctaataa +tcagttaatttttcgtaaggttcctgttcgaggttagtcgtataaagacgaaacggcctt +aatgtaacattaactattccactgtaggtggatctaacaaggttggacatgtgctaccaa +taagataagaatttcgtccgcaatacaatatctacttttgtagcctatcttggattaaca +acaacttacgttggtatttcaccggacgtatcaaatgattctgattttaatgactgagag +taaacatcaacgaatcttatgtatctttaagccgctgcttgacaagtcacattactgtta +gaatgaacgcttcattactacaaaacctaccaccaactcccacattaatattatactaga +tgtttgaagtttatttgacaaaggttttcaaaaagcacagaatcgttacgaacacgtaca +ttaaattgttagggtattaattgtggtcggtgcatttccggccccatagcgctccgcggg +gagaaactatggccttcatgacagcccccccataacatctaggtaatggtcggataacta +taaacaaccctctccagagaactgtgaaaataaaatctcttagtacacaagcgtatactg +gtttaagtcttgcccatcttaaagactcttttcactattttcttgatgcctcattcttct +aatattaggtgattttttaatccgagaatataaaaagacgatagaaagtgttaaaacacg +gcgtagcgacatattttaaagaaatgaaatactttttgactatccctcatgatctaaact +tacgcggagctatctttttgtataacatgtacagagaattaatccgatgcttcttccgat +taaggacatagcgccgaaaacgtcatggcggcttatcgatatcgtaacgcactataccaa +gtgattaagtgatcaatgaatacgggtttcgggatttctgttaagtcatgcacggcaaat +acttggagtcttgaataacgccgcgcgtagtacgaaggttctcaagctcgcgtgacgtat +agaccgtattgctatttcctgccttctcaattgtccgaggattgctgataacttaaaata +aggttgagtttttaataacgatttgtcgagtttgggaaaatcctcgtttgtgtgtttgtc +attttcaagttatcaagaactacgggtataatttacgacgtaatgttggtttgatgcccg +attgcgaatatcgtacgaatggtatttgtacaactgctttcctttatcgattgctcgaga +acattataaagtctattactatggattaagactgtatacaagtgtttaagcggagcccgt +gataatctataaggttttggtacctttatctgttacttttgccttgaaacatacatacgt +acacgggaatatttacctaaacgccgtatagtccagcctcgtatttgggccgtgttttgt +cagcattttaaactgaaagcgcccacttgcattataacccggtgcggaatctcttagtga +ctcgtcaggagtttacgcctttgagacctctcgacaggacccattttgatctagtcgtta +taggtagagtgcctttcctatcgcaccattaccttctagcaaacttagagtattcaatga +aatcatatcctgtttatactaaatgttataggctaatgacacagctgacactaagaggtc +tcttcgggttacccgaatgagttgtttatacgatgttgacaactcgggggagtcatttca +atgaagactgaggactcttgatcagattaaaacgcttaatgactgataatttagattatg +ccgtgtattatttaagtgggcgaaccctcccctagaatgggtttcctgagaaaagtctta +gaacacagtattctgaatccagatgcaaatcgctaacgttagtaagcggctgtagctctt +ggcagtttggtcaatagtcaatcgcaatccgtttaaccgtctactattcctagagcgaag +agctatgttctgacacgtccccaatattaggcaaaggctccaaaagaacagtcaattgat +taactacgggcttggtttctccgtgaatccttgcgccgctataccacataaaaggatagc +ggtgataccacaagtttgcgacgttaaagcgtcgaccctcaacaagtacactagcaaccc +cttagcaattaattttgtccatcactactgccaagagttgactggaccagttggaaatga +catttgatatattaatagagctacatattgtaccactttactgtcacttacactaaccct +agcgtgattactcatacatatattcgtaaattctaagttatgatactagttttgtaaatt +taatcggcgaagacacgttctcttgtacgagcttcaactaaatatttcactgtagccaac +cactttaaccagaaggataccttaatgccgatataatattgtccaggaaacgttaatact +ttcacaagacaaagcttggaagaggtactttacgatcacctgatagatcgaccggaacga +ttctatataggtttggtctgagaaatttgtagctaaaaccatgttccataggaactcctc +tgtaatgggcaaaatgcagatagcgttcaatcgttgcttaactatctatcacagcatcct +aactcctcaacagcttctttcctaaagacatcagcaggtaagttgacggcacccgataac +ccagagcacgattggaatctaatactctgtatggatcattacgctaagtaaatataatga +ttttctgactcaaagttacactgcgaattttatattaactggttctatttgttaaatacc +acaacctctcgtcaacaggtcgcgatgcaagtgatccaaaaatatctaacttataccaac +cattacttctggcgcagaaaaacatagatatctgaacaatcgaccgttaagactgtctcg +ccgatcttaggaacctaatactgctcagtagttattgtttatttgggccatccccggatt +atgtcagccatggaacactaaaagtcctaatctaacctatggacaaaaagctcactttta +taaaattgctcaccttatgttgattgttatttgtccgaaatgtctataactcagtgtact +atctattggaaaattatggccggagttttattgaatatacttttgtatgttgagaaagaa +tgttgtcgtaataattatcagctggaaaatcatctaatatatattatattgagatattac +gacagacctaagtgctttcccgtcatgagcagatggactaacactcttggtaatccttct +cgttttagttggtaatgtttagtctaagtaatatcccgactcttacttactcagagcgga +aatgactttttaaactaacgtttaaaggcacttagtatgcgtcagggttatttttttaat +tacgtacccttgtgcagagagtttagctattcgatcctacttagtatgaaccatgagagt +acaggttggtaattcacagagaaggtcgagaagattatttttgatgtttaccaatactat +gaggcgtattcatcgaaataattttatggctgcgcacttcacatacgcaggaagaccact +gcagcttgctagatctggatgtatcattgtacttctaagagcctgaaaggtaatacattc +ccagcgagcgtaacagattgtatggggacatattcaatcttagcaatgcattcgttcttc +gaaatcaggcatttttgatgtcataagttctgtcaactataaccctggaactttaatctg +ttgttcgtcgaatcaaggatcaagaaagcttctaaaaggcccaaagcaaaacccaccact +acttcagttttaaattagaatcacaccctagggtattagataataattaaatgtcttagg +aagagatatcaaaagatgcagacatcctcaagtgaataagtctccggtctttcacaaaca +catggttaagcgatgtggttttgactagagacgttcgccaccatcgtaatatttctggtt +acctgcgaacgtgaaccaaatcttacttcatacattgcttaaacagtacaacttatctct +tatcctatagagatctcaaaagtttgtatttttactggtttcaaattgagagaaaaactg +cgttctccgatttctatattattgtttaaatgatgccaaacatccagtttaaaacacggt +gtgatcagccgactcagattcgtatcctatgttagaatgagtcatcaaactacggtcacg +cgtacattacagagtaaactacacgaatgaaagagataagaagatgaaagagttaatagg +tctcctgttaattatgagaaccctaactactacggattggcctactagtgggttggaacg +gatataaaattcgactaagttcgcggcatgtcaggctcctaaatatgaagagaactcggc +atcgaattatccacagtaatagttggaacatgattcctctatgcatggtgtatatccacg +tacgccagtgtgcagtgtagccatgcgaccacgggcgttgtgaatattcttcctcagaaa +aggactgttgagcaaggaattggattctgtgaacggaatatagtcgagtagatggaattt +cctacactgcgaaaaggtcatagtaaatcaaacgccgcgcgcagacatatcttcttggca +attagtactccactaaatcaattggttataaacttttagaatatctttatataagttcac +tacttacgctgcgggtagtatatttaaagtgatgtcttaggaatcttatggcggcggaat +aaacggcttgactatagataccctaattctggcataaccctgtaacgtgtgaagcatgct +ttaatagacgactagatcagcttatagaatggatatgactgccacattgaagagattaac +attagcgggtataatgttacgaacttgtttaacaaaatagctctaccacacacgcatagt +ataatataaaggtcctggagttcgctacgagcctggaattgcagttcccctaccctgagt +aaacaagatcagtatggacctatcttctgacccacgtgtaaaaactaccgttagcggccc +tgagaacggtgaagttgattatcggctaacactcgctttaccaaggaacaaacaattgat +ggaacaggtaagcggctggattctatcctgaatacagcataataatatttgctttcaata +tatagttatgacactcccaatatcactaactctttacaaatcggatatgaagagtgaatt +agagatggagccgatcgttccttgtattctggtaagtactcgactaatgtgtgtagtcta +ggggtaaaggtccttaaccgtcgagtctagaactcacgcattatgaaatcctccgagcat +agagactctaaattcgccaagcaataagtcccgacgcgaaggatgagaagctcattgaac +tgtaacatttacgtcgggctcaccatgttacatatgcagcgggtaaaagtttttgcctgg +agtggttgagtttcgcgatacataaaaggccccactttcatatggtcaaatatctatatc +gtgctttggacgactcgataaactaaagtagcctagtaatgccctaaaccgctgcatttg +tgcaataaaaaatttagagtatatataacttccggacgtatggctgccttgaatcctcgg +atatcgtccttatacaacgatgaacggtatagctcggaactatgcagattaggcgatcct +tgggttgaatttttagtttccatagatatgagttagttttgatatggttaccatacgtcc +ctgcattgaaacttaatctgtatattgattgatccttagcaatagcggcacatttctggg +caatatgacttaattaggttacggtttttactatgatggatacgttttatatgatagaat +aacagttgctatttaaacaggtactacattcaactaatactgtttcactattgtgtccaa +catagggaatatattgcctgaatagatgtattatcaggcatcttttacgctccaggtaga +actaattaaaaatgatccttagaaactttcaagcaacataagctaaaagttacgccaatt +ataagccacatcggtaggatcttcaggcattcccatatccttctctatcaatcccgtctg +ttgctaattggttatctaagcatatcgcggcgagcatctacgataggtataaagttgctg +ctatctaattcgtcataatatatacatggaattacagattcatacgtcttcagtctcgtg +gtgtttctaagagcggacccaagaattacgtaatatctctctcgtgttacccaagaagtt +gacacgtgattgtcagctatctttttctggcgatgttaatagttataaacaattgcatat +agctgcaaattagctaatcaaatactcgtttcttaaatgttatcagcaaagctttaggtt +ctgtaatttcactgtgtaaagagggcgctaagttcaaaattggtttttggcaacaaacaa +tttaatagcgcagtgcaaaaataatatctcagggtgtaattatttctctaattggtcttt +acggttggaccaggcaatgggttttttatctatgtgataccaattaaaagtaatttcaaa +gtgacattaaacttaagtattgctgtcaagaccattacgacacttcaccaacacatttat +gtattgtgctacgcggtatggcccgtagtaatttctgatattgaccgcgttatcagcaag +tacgctgtacaaatgccaaatttagtaaagctctgtgtgcattccaaggtgcccacatca +cacattatcaacatatcatgtcgttgtattacgtccttttactagcctgggaaataccgg +tgattcagagtgaacataaatctctgaaagctactagacaaagctagtatagttaaaata +tatatttcttttaatattaggatctttgcgattgcacatttcaagcatcgcattaaccta +cctccgtactcttctacaacggttgcatgtacgatttctatgcgatgaaatacttatgtt +cttagtttggggttactttgttcacctagtcctcgaacgcaaattagcttcgaatatctg +aaaagtgtatgcgggcaccaaaacgatctcgattcttaggtttataattatagtcagaag +ataaatacatgcatatctggacactcttccacatgtcatgtcgactaactttgaactaca +gtcatatatagactgttatctgatccgtatgtgtctattactactcttatctgagaaagg +acccaatggagtcacagtaagcgatcatgtcatcggggctttttccctgattataagatt +acactattgctgtgcttggggcctcctactttttctatcttaatcattttgtacattaaa +aagctaagaagtaggtacaacttatctttcccatacgagctggaccattaatttaacagc +cgcaaggcgagttttaatgttaatctggaagggctttatgttctaagcttttagcactga +gaaattaatccgtaggaaattaatcccacataacccggtaagagaaccttacgccccgtt +actaataatgttctgcgcaatgtaggaagtgacaagctcactcttgcgacgagctcctta +atacaggccctgcgttatattcgaccgtacctataactagaccaccatcttaaatgtaca +gttatggttttcgacgcatagagtatgggaccacctcgaaatgctcagctgcaaattgta +ctgggggtggttatcaaacatttaatatgaatctatggtaaagtactagtttatagatag +ccgaacactaaaggtttgcagaccttcctcccctgaggaacttcgtgtcacaaattagat +tgagaaggtggtgataaaatcgcgtatctacaatgatttggtgcaaatatttatcgattg +cccaatcgttctactcgtactctttatagcctaacgccttttcttggcgctaattagcct +aatccaagaaggagtctaacaaaattacttaaccatactcttgtctattcggcccacgca +tgcgcaagctcaaaaagttctcaacgggcgtttttacttgagtcccaggaggtaacattg +gatctatgagtcttaacagtggaaatatgatttttagattgtgttcagatttattgtctt +attttggtctatctcatcagctatagctacataatgacgtcttaactgtttcgactaacc +ttcagatctgactaccccaaatacaacatagcaaaagaatgatgctaacgcttaactatc +ctttcacgatcttaacaaaaaagctccatttaaaagaatcgaaaacagatctaccattcg +tggaatcaatttttggacgagtactggtcgggtcgtgcttatttgctacaggattgtttc +gtataacgttcaagcactttagcggttccatccttgatggcgttaactgatgatgcgtaa +gtttatggtgatctaaaactctactacgaaccaggtcccagcacgaaacgtcatctttaa +tgagtttttaggtctccaggcactaggctgcgaagtggaatatgtgtcatcagagacaaa +tagatgattcctatagctttttgcagttaagccactaagtaggcggttctatagggtttc +attcaaatcgatcgtaattcccgactctgcatagcgtgggtcttgtatagaccattcttc +aggcccgccacaatggtttcaagtttcaacttccgtttattggctgtccctcaatagagt +cgttctcagggcacgactctcgttcgttattcataagtccagtttgatccacgaatacag +aacacgcatatctgataataaaagcttaacgataactttcacgcgcatggtttatttttg +atttattaggcaaccaaataccagaatgtagtcagcgatatgtagtaaaatttagacaaa +cataaaacaaagtatcgccattacagtctcctgttaggagaacctttttatcaatatgtg +taggcgtgtattggcgcccttgatttaataataattacggctaaacgtattgatattttc +caggaactgccccatctcatgagatgaccctaaattttattcacacctcatttttaattc +ttttatatcacgattatttatctgagcaagcatctttgcaagcattcatagtgacggtgc +tgtctctatgaatgcatgctaatatacggtgcgctaaacatattggttcaattcaatgta +agctacctcggaatttgcttgcactaagacggggaagccaaaacggtaaatcgccgtata +tgctagtgccaagggacttgtccgttggagtcactatggagttacaagcattataaatct +aaggaaatcgcagtatcagtccttaccccaaagatacttcgcattccctggggtacggac +catgaaatacttctttcatacatgataaacgatggagactcggttaccaccctggtagtt +actccatcaattggagttaactaagatcgctattacaggctttattagccaatcatcaca +agcctctttttagagattcacaagttagcaaaccaaagttcctttgataagtctttaacg +agatctatcccaattccggctaggagtaaaatttatatatttgagatcggggttaaagtc +acacgcaatgcaaggggtttttatatggtaatgtccttccctaattaggtaattttcaga +cctccgagagagagtagatcaacaacgcgttatactcctaaaatgcttgtcgataacatg +acactacagatcatccctggatgagcatcgactttcattacttgattagttcagttaatt +cgtttcaaaccattttcaacaaaatcccccagtagatatgtatatgcacatcttagacta +aataacagttttcataccctgggatttgtgtcactatctcaggaacgtcgagacgtcccc +tatcaccgcagcgagggtaactggccctgttccattgtaatcgatgggacgggacgttat +attgcagacccaaagtagtaataaattcagccatatggacggagggggggaattgttaag +aatataattcgattttcagctgaatgtaaaagctccagccattcctcctccacttgacat +tagttcgaagaaggtctgagaattggaattgcttgtgacgttttttgtttccagacaagg +aaatagcccagtaccaagtataatattatgacaatagaagcttaaattcacaacgtaaca +tatctgttagcatgctctaatagaccgagaaaataagtgtctatgtgtgcgagaactgtc +aattcacggcagtagtcacctaatctaacgtctagttcccgactatgaagtcttcacaaa +tggttagtaataatttcccagtggagtagaagtggcataacgtgcactctctgttaataa +tacctttagactactcccatttcgccagaacgtcttgatggtaccctatgggaaacactc +acacatgcttattgcctgcaacctcagcaatgtgtcgtatgcggtatttctacgaacagc +tagtgaaaggactgatgacctaattttggtttctcaagtccagacgtgatattttgatga +ccgtatctgacatctctgggcaattcggttaacctctggtacgaaatagtccgtcgcgta +ggtaaaaatgataatgctgtcatcactatcatgttttagctaagctacactaccccatcg +ctcgcacgtggcaaagtgtgaggattccgatatcatccatgtgtacgaattcctaatact +cttgctcagggcacttagggttattgtagcctgtgttaccgtctcgcatattagatcatt +aatcaacagtcttataatcaccgtaatcggtaaacagttgttatttgttctgataggtag +acagctaataaagatgctgttgaacagttacgtcccacctttattgccctacagtgaaac +tagttcttactctgttgctgtaatatgtctagggttattgatttgctgccacttcaaaac +ggaaattaagtcattaacgaaaatggttccttcataggtaaagatcaatccccaattgaa +gccagaaattttgagatgtcgattcctgatcattcgccaaatttacagctcgtaaacgag +ttccatgtgtaaaaaaatgttgagtccactagcttgtttattctggctcaaggtacgtgg +aacacgtagtattttgatactaatgccagacccgctacgatccctgtactgtgagcagag +ccgatcctcagaaatagctaaatcttgtgcttcgttagaagtctcgactacgtgtagcct +agtgtttgtgttgcgttatagtctatttgtggacacagtatggtcaaatgacgtcttttg +atctgacggcgttaacaaagatactctgggcaacacacatacttctctcatgttgtttct +tcggacctttcataacctttcctggcacatggttagctgcacatcacaggattgtaaggg +tctagtggttcagtgagcggaatatcattcgtcggtggtgttaatctatctcggtgtagc +ttataaatgcatccgtaagaatattatgtttatttgtcggtacgttcatggtagtggtgt +cgccgatttagacgtaaaggcatgtatggatcttgatctatgcaaaggtaggtccatcta +tatacgttgcacagcggatacaaataagataagaatttactaacatttaaattttcttat +tgtcgagcatagattggaggaaaaacttatttacttggtatttaaacggaagtttctaat +gtttatgattggatgcacggacagtttactgcttactttcttaggtttcttgaacaacag +gatgcactagtaacatgtctcgttcatgcttccattaagttcttcttaaacttacacaaa +ctacctaatttagagttgacgagatggttgaacgtgttgtgacaaacgtttgcaaaatgc +acagtatcgttaccaaaaagtacatttaagtgtgtgcgtaggaattctgctacgtccatt +gcaggccacattcacatcccacccctgaatatatggactgaatcacacacaccaaatttc +atctaccttatcgtagcataactattaacaaacatatacagacttcgcggtaaataaaat +atattagtacacaaccgtatactggttgaactattgcccagctttaagacgcttttaact +aggtgcttgatcaagaagtattattatatgacggcagtgtgtaatacctgaatagatata +gacgttagattgtctgaaaacacgccgtagagacatttttgttagatatgtatttctttt +tgacgagccagcatcttagtatctgaagacgagctatatgtttgtagaaaatcgactgac +attgtatacgaggcggcgtaagattaaccaaattccccagaattagtaatggcgccttat +cgatttactaacgatatataacttgtgatgttgtctgcaatgtatacccgtgtaggctgt +gctcttatcgaaggaaacgcattgaagtccaggctggatgaaaccaccgcgtacttccat +gcgtctatacatagcgtcaccgatactacgttttgctatgtaatccattctaatgggtaa +gaggattcctcttatagtaaaatatgcttgactttttaagaaccattgggagtggttggc +aaaataatagtgggtgtctttctcagtgtatagttttctacaactacccctattaggtta +caagtaatctggctttcttgccacttggcgatgatagttagattcgtatttctacaacgc +agttactgtatccatggcgcgagataattagatacgatttgaatttggatgtagactcgt +tactactgttgtagaccagcacgtgagtatctagatgggtttgctaccttgttagcggac +ttttgccgggaaaaagacatacgtacaaccgtatattttactataagcagtattggccac +cctcgtattgcggcagggtgtgctcacctggttaaaatgaaagagaaaaattccatttta +aaacccggaggaatctattactgacgaggaaggtgtttaacccgttgagacatctcctaa +cgtaaaaggttcatattctagttattccgagagtcactttcctatccaaacatgaactga +tagcataatgacaggttgaatggaaagcatatcctgtttattctaaatctgtttcgctaa +tcaatatgctgtcacgaactcggagcttacccttacaactatgtgttctgtttaccaggt +gctaatatcccggcactcttttcatgcatgtcgctcctagcgtcatctgatttaatagct +taatgtctcatattttacagtagccagtgtagtatggaaggcggcgaaccagcccctaca +ttgggtttcctgacataagtattacatatcacttgtctgattacacagcaaaatcgctaa +ccttactttgcgcatgtagctattggaactttgggctagtgtctatcccattaagtttaa +cagtagactagtccgtgagcgatcaccgagcttatgtctcgtacccaagttttggatttg +gatcaaaaactactcgatattcatgatctacgggcttcctttctccgggtatcattgcgc +cgagattaaaaataaaacgatagcgctgtgaaaacatgtttgacacgggatagcgtagaa +actaaacaacgaatagaccatccaatttgaattttattgggtccagcacttcgccatagt +gttgaatggtaaagttcgaaaggaaatttgttatattaattctgctacattttcgaccac +ttgtatctcaaggacaatatcccttgaggcttttagcagaaagagatgccgtaattctaa +gggatgataataggttgggaaatttaagagcagtagtaacggtcgcgggttcgaccttaa +actatatatttaaatctagccaaacaagttaacaacaaccataaagttatgaccttatta +tattggcaagcttaacgttttaattgctctagtaatagagtggtagaggtaagggaccat +cacctgattcttcctccgcaaccattatatagacgtgtcgtctgacaaatttcgagataa +aacattcgtccttagcaacgaatatcgaatggcaattagccacattgagttaaatagttg +aggatatttcttgcacagaatcagatctaatctaatgattcgttactaaacacttcacca +ggtatcgtgaaggctcaagattacccagagaacctttgcaatataagaatatgtatgcag +cattaccctaagtaattatattctttttctgactcaaagtgacaagccctagtgtatatt +aaatcggtatatttgggaaattcctcaaactatcctaatcaggtagccatgaaagtgatc +aaaaaagttcgtacttataccatacatgaattctggccaagtaaaaaatagattgcgcaa +aattcgtaccttaagtctctcgccaagatattaggatcctattactcatatcgtgttttt +ctttattgccgccatccccggagtatctcacccatccttctcttaaaggcctaatattac +ctatgcaaataaacatatattgttgaaaattgagaacctgatcgtgattcttatgtgtac +catatgtatagtaatcacgcgactatatagtgctttagtatcgcccgtgggtgagtgaat +attctgggctagcgtgagatagtttcttgtcctaatatttttcagatcgaatagcttcta +tttttgtgtttattgacatatgtcgaaactccttactcagtgaaagtcatgaccagatcc +acgaacaatcttcggaatcagtctcgttttacggcggaatcttgagtctaacttatatcc +cgtcgcttactttctaacaccccttatgtatttttaaaattacgtttattcgaacgtact +tggcggaagcgttattttttgaagtaagttacattgggcagactcttgacattttcgata +cgactttctttcatccatcacaggactcgttcgtattgatatcagaagctcgtgatgatt +agttgtcttctttaccaatactttgaggcctattctgcgaaatttttgttgccctgcgaa +cttcacataccaaggaacacctcgcaacatgccttcatatccatcgttcattgtaattct +tacacaatgaatcctaagtaattacatccctgcgtaaaagatggtaggggcactgaggat +atattaccaagcatttagttatgagtaatcagcaatgtttcttgtattaagttctctaaa +atagttacatcgtaatgttatctcgggttccgcgaataaacgagatagattcattatata +tggccctaagcaaaaacctcctcgtattctgttggtaattagaatcacacaatacgggtt +gagatattaattatttgtagtacgaagagatataaaaagatgaacaattactcaagtcaa +gatgtatacgggatttataataaaaatcgggtagagatctgctttgcaattcagacgtgc +cactaaatcgtaatatgtcgcgttacatcagaaagggtaactattattaattaataaagg +gcttaatcactacatattagatcttatccgatagtcttatctattcgttgtatttttaag +cggttctaattcagtcattatatcagtgctccgagttctttattattgttttaaggatga +caaaatgcctcttgttataacgctgggagaagcagactaagagtcggagcagttggtaga +atgaggctgcaaaagacggtctcgacgaatggacagactttactaaaccaatgaaagaca +gaagtagagcaaagtctgaagtggtatcagcttaattatgacaacccttaatacttccct +ttcgccgaatactggcgtggaaaggttttaaaagtcgaagtagttagaggcatctctcgc +tcataaataggtagactactcgcaatccaatgtgactatgtaatactgggaacatcagtc +cgcgatgcagcgtgtttatcaaccgtccccactcgcctggggagacatgagaccaccccc +gtggggattattagtccgcagtaatcgactcttgacaatccttttcgattatgtcatagc +aatttacgacagttcagcgaagtgactactcggcgaaatggtattactaaagcattcgaa +cccacatgaatgtgattcttggcaatttctaatccactaaagcttttccgttgaatctgg +ttgtagatatttatataagttcactaattaagatcacggtagtatattgatagtgatgtc +tttgcaagaggttggccgaggaatttacggattctctattgatacaatttgtctggctta +taactcttaaggctgaaccaggcgtttttagacgacttgatcagctgttagaatggtttg +gactccctctttcatgtcagtaacatttcagccgttattgttacgatatgcttgaacaat +attgatctaccacacacccatagtatattttataggtcatgctgttacctacgagcatgg +tattccacttcccattcaatgagtattcaacatcactagcctcagagatgatgacccacc +tctaataacgtcacgttgcggccatgtgaaacctgaacttgagtagacgatatcaagcgc +tttaaattgcatataacatttgagggtaaagctaagcggatgctttatataatcaatact +caataataagatttgattgcattttagagttatgacacgacatagttcactaacgagtta +ctattcccagatctagactgaagtactgatcgagacgatccttacgtcgatgatcgttag +ttatcgacttaggtcgggtctctagcggtattggtacttaaccggacactatactaataa +cccatgatcaaagcataacagaatacagacgataatttcgccaacatatatgtacagacc +ccaagcatgagaagctcattgaaagctatcattgaagtcccgctcacaatgtgtcttttc +cagacggtttaactggttcccgggagtcctggagtttcgacttacataaatggaaacaat +gtattttgctaatttatctatagcgtcatttggaccaatacagaatattatgttgcctag +taatccactataacccgcaagtgctgatagaaaatttttagacgatttataaatgcccca +agtatccctcccgtgaatcctccgttatactaattagtattcgttcatacgtataccgcg +catatatgaacatttggcgataaggcgcgtgaattgttacgtgacagagatagcagtttc +ttgtgatatggttaacagacgtacatgaagggaaactttatatctatagtgatgcttccg +tagaaataccgccactggtctgccaatgatgaagtatgtagctttaggtttgtactatga +ggctttcgtttgtttgcagagtataacagttgcgagtgaaaaaccgacgaatttatacta +atacgctttcactattggctacaaaatagggaagagtttcaatcatgagagggagtatat +ggatgctttgtagctaaaggtagaacgtatgtatatgctgccgttcattcttgaaagata +cataagcgataagttacgacaattataagcaacatccctaccttcgtaacgatttcactg +ttactgcgcttgaaatacactatggggctattggcggagagaagcagatcgcgccgagca +tatacgagacctataatgttgatgatagagaaggcgtctgaattgatacatcgaagtaca +ctttctttcgtagtatctctcgtcctctttctatctccggacacaagaattaagttatat +atatagagtcttaccaatcatgttgaatcctgattctcagagttctttggcgggccttgt +gatgactgagaaacaatgcaatattgctccaaatttcctaagcaaattctcggttatgtt +atgttatcagcaaagcgttacgttatgttatttaaatctggaatgacggagcgaagttct +tatgtcggtgtgggaataattcttttgaagacagcactccttaaataatatcgctccgtg +tttgtatttatcgaatgggtctgtaaccttgcacaagcaaatcggtggtgtatatatcgg +ataacaattaatacgatgttcatagtgacagtatactgatcgagtcctctaaagtcaatt +acctcacttaacaatctcattgatgttgtgtcattcccggtatcgcccgtagtatgtgct +ctgattgaccgagtgtgaaccaaggaacatctactaatgcctttgttaggtaagatctct +ctgaattccttcgtgccaacttaaaacattatcaaaatttcttctacttggattaactac +ttttacgagcatggcaaattcccctgtggaagacggttcattattatcggaaaccttata +gaaattgcgtgttgactgaaattagatttttattgtaagagttgcatctttgcgattcct +ctggtctagcttccaatgaacagtcctcccttctattcgacatcgggtccttcgtacatg +tctttgcgatgtaataattaggttcggagtgtggccttaatgggtgcaactaggaataca +acgcaaatttgctgacatgatagcaaatcggtatgccggcaccaaaacgtgctccttgct +tagcttgtgaatgagactcagtagttaaataaatccatatctgcaatcgattccacaggt +attgtccactatctttgaactactctaagagatacaagcttagctgagaccgaggtgtat +atgactacgctgatatctgtaaggtaccaatgcaggcaaagtatgcgagaagctaatacc +ggctgtttccagctttataagattaaaatttggctgtcctggcggcctcagaattgttct +atcgtaatcagttggttcattaattagctaagtacgaggtacaacttatctgtcccagaa +cagctccacaagtttttttacagccgaaacccctgtgtgaatcttaatatccaagcgcgt +tatctgattagagtttacaactcagtattttatcagtacgttttgtttccaacattaccc +ggtatgacaaaatgacgccacgtgtcgaataatggtctgaccaatgtaggaagtgaaaag +ataaatattgcctacacatactgaattcaggcaatgcgttttattcgaaaggtcatataa +ctagaaaacatgatgaattcttatcggatccttttactagcatagtgttggcgaacacct +cgtaatgctcagcggcaaattggactgcgggtccttatcatacattttttttcaatatag +gcgattggtctaggttagtgattccccaacacttaaggtttgctgacattcataccctca +gcaacttcctctcaaaaattagagtgagttggtggtcttataagaccgttgattatttga +ggtggtcaaatgatggtgcgatgcacaaatcgttataatcgtactctgtagacaataacc +cattgtagtgccgattttgtgcataatacaagaaggaggatataaaaatgacttttcaat +aatattggctattagcaacaagaaggagaatcctcattaagttagcaaccgcagggggta +ctgcagtccaaggaggtttcattggagagagcagtatgaaaacggcaattatgattgtga +gattcgctgaagattgtgtctctgattttcctagatagaataagctatagctacttaatc +aactcttaactgtggagactatcctgatgatctgaataccccatttacaaaattccatat +caatgaggctaacgcttaaatttcatttctccatcgtaacaaaaatcagcctttttatac +aagacaaaacactgcttccattacgggtagcaatggttgctcgactactggtagcgtcgt +gatgtggtgataaagctgtcttgcgtttatacttaaacaaattttgacctgacataatgg +agcgacttatcggatgttgccgatctttagggtcatctattaagcttatacgaaaaaggg +acaagcacgttacgtaatctggtaggactgggtacctagaaacgcaagaggaggcgaact +ccaatatctgtaagaacagaaaaatacaggagtccttttcatttttcaagttaacaatat +aagtaggagcttagagaggcttgcatgaaaatcgttaggaattacagaataggcagagag +tggggcgtgtagactacattcttcaggccccacaatatgggttataggttaaactgcact +ttttgcgatctcccgaaatactgtcgttctctgcgaaccacgctcgttccttttgctgta +gtccacgttcatccaactattcagataaacaagatcgcagaattaaagcttaaccatatc +ttgatagcccatcgtgtatggggcatgtatgtgcaaacaaaagacctcaatcttgtctgc +gagagggaggaaaatttagacaaacataattcattctttcgactggacacgctaaggttt +ggacaaactttgtatctatatctggaggcctgtattccagcccttcttttaataagattt +acggcttaaactatggatatttgccaggaaatgacactgctattgacaggaacataattt +tgattcaaacctcattgttaattattttatatctcctgtttttatatcagaatgcttctg +tcctagaaggcatactcaaggtgagggctcgaggaatgaatcataatagaccggccccta +ttaatattggttcaattctttcttacataacgcggaatttgattgcacgaacaccgggaa +cacataaccgtatagcgcccgttatgctagtgcctagcgactgggaccgtggagtctata +tcgtctttctaccattattaatctaaggatataccactttaagtcctttcaactaacata +aggcgcattccatgcgctaaggaccttgaatttattatttcttacatgataaaagatcga +gtcgacgggaacaaaaggctacgtactcaataaagtgcagtttactaagagccctttttc +tggcttgtggagactatcataacatgaagatgttttgacattcaatagtttgcaaaacaa +acttactttgtgtagtattgaacgagatctttccaattgccccatagcaggaatagttat +atattgcagatcgcggtgtaacgcactccaaatccatcgcggtgtgtgagggtaagcgac +ttaaagaattacggtttttgatcaaagcacagtgagagttgagcaaattacagttatacg +acttaattcagtctccataaattgaaacgacacttcttaacgggaggaccagacacgttc +attaagtgaggagtgcactttttgactttaaaaacatggtaatcaatttaaaccacttga +tatgtatatgaacagatttgaagttatttctgttttaatacactgggagttctgtcaata +tcgcaggaaccgcctgacgtcccctatcacacctcagagggtaaagggacaggggaaagg +gtaatcgaggggtagggaacgtagttggcacacccaatggacgaataaatgctgccatat +ccacggagggcgggattgcggttgattttaaggcgatggtaacctgaatgtaatagatca +tcaaatgcctcctccactggaaattactgcgtacatccgctgagaattgcaatggagtgt +ctcggtttttctttaaacaaaaccaaattgacaacttcatagtataatttttgcacatta +caagcgttaattaacaaacttactttgctgttagctgcctatatttgtccgacaatataa +ctggatatctctgcgagaactgtaaattaacggcacttggaacataatagttcctattgg +taacgacgttgtaggcggcaattatccggtggaagaattgacaactgcagttgaactgca +tgaaagtcaaatctctcgtaagtataactttagaagactccaaggtacccagaacctctt +cagcggacacgatcgctatcaatcaataaggattattcactgaaaccgctcatatctgga +ggtggacgtttttcttcgaaaagcttgtcaaaggactcatcaaatttttggccgtgctaa +tcgacacacctgttattttcatgaccggataggacatctcgcggaaattcgggtaacagc +tgggtagatataggacctcccctacgtattaatgataagcctgtcataactagcttggtt +taccgaagagacaataaacattcgagcgctcgtgccaaactcggtgcattacgtttgaat +aaatcggtaacatgtactattactctgcctaacggcacttacccgtttgggtccatgggg +taaccgctcgatgttgacagaattatgctaaagtcgtttaagatcccgattaccgaaaat +ctggttatgtctgagcattcgtacactgcgtattaagatcaggttgaacaggttcctaac +aaattttgtgacctaaagtgaaactaggtcgtactctgggcatgttttatgtcgtggcgt +atgcatgtgctgacacttctaaaaccaaattaaggctttatccaatatgggtccttaagt +gctaaacatcattcacaatttcaagacagattgttggtcttgtcgattccgcatctgtcg +ccaaattgacacatcgtaaaccaggtacatcggtaattatatgttgactaaactaccgtg +tgtattctggctctaggtacggcgaacaagtacgatgtgcttaagaagccctcaccccag +acgagcccgcgtaggtcacatcagcagatcctaagtaattccgttttattgtcctgaggg +agtaggatcgacgaactctacaagtcgctttgtcgtgccttataggctatttcgggtcaa +tgtagcgtcaaatgaactattgtcatctgtacgagttaactaagtgtctatcgccaacta +aaagacgtctcgatggttctttatgcggacctgtcatatcattgactggcacttgcttac +atccaaataacacgtttgttagcggatagtcgttaagtgtgcgcaagatcatgaggcggg +gggggtaatatttcgccctctacatgataaatgaataagtaagaagatgatctttttgtg +gcggtaccttaagcgtactcctgtcgacgagttactactaaaggaatgtagggttctgga +tctatgaaaagcgacctccatatatatacgggcctaagcggagtaaaataagtgatcaat +ggactaacattgaaatgttagtattgtcgaccattgagggctggtaaatcttatttacgg +gcgtgggaaaacgaacgtgatatggtttagcatgggatgcaagcactcgttaatgcttac +tttagttggttgcgggaacaacaggaggctatactaactggtagcgttcttgcttccatt +atgttattattataattaaaaataagacatatggtagagttgtagtcagggtggatcggg +ttgtctataacgttggaataatcaaaactatcgttaacaaaaacgaaatttaagtcggtg +cggtggaatgcgcctacctcatgtgcaccacacattcacagcacacccctcattataggc +aaggaagcaaacaaaaaaaagttaatcgaccgtatccgaccttaaattttaaaataaata +gaaacacttagcggtaatgaaaagataggactaaaattcactagtatcctggaacgaggc +aacagagttatctagatggtaacgaggtgctgcatcaagatgtatgatttttggtccgct +gtgtggaatacctctattgatatacaagtgactttctcggtaataacgcacttcacaatg +tgttgtttcttttctatgtattttgcaagagaaagaagcttagtataggtacacctcaga +gatgtttcgtgtaaatcgtatcacatggtataactgcaggaggaacattatccaaattca +ccacaattactaatccacccttttacttttactaaagatatattaattctcatgttgtct +gaattgtataacccggtaccctgggagcgtatcgaaggataccaattgaagtcctcgagg +catgttacaacacacgacttccttccgtctattcagacactcaacgagactaacttttcc +taggtaatcaatgatattgggtaactcgtggcatcttatagttattgatccggctctttt +gtagatcctgtgcgactcgtgcgctaattaagactggctctcttgcgcaggggatacgtt +tattctacgtacccgatttggttactactaagcggcctttcttcaaacttgcagttgtga +cttacattcctatttcttcaaagcagggaagggttacagggagagacttattgagatacg +attggaatttccatgtacaatcgttaatacgcttgtagaccagcaactcagtatagagat +ccgtttcctaaagggtgagcggtaggggcaaggcaataagaaattactaaaaccctagtt +gttaatataagaacgattcgaaacaataggattgcccaagggggtgcgaacatggtgtaa +atcaaagagaaataggcattgttaaaacccgcacgtttctagtacgcaagaggaacgtcg +gtaaccagttctcaaagatcctaacctaaaaggggcttattctactttttccgacactca +atggacgagacaaacatgaacggatagctttaggtctcgttgaatgcaaagaatagaatc +gttattattaatcggtttccattatctatatgcggtatagatctccgagaggaccctgta +aactagctctgcggtttaactggtgctaatagaccgccactatgttattgcttctagctc +ctagcgtcttatcatgttatacattaatgtcgcatattggacagtagccaggcttggatg +gatcgccgacaaaaagaaaagactttccctgtaaggacttaactattacatataacttgg +atcattaatctgcaaattagagtaacggtctttcaccagcttcatattccaacgtggcgc +tagtcgatatcccatgaagtttaaaactagaattggcagtctcacttcacagtgcgtatc +tatacgacaaaagtggtcgatttgcataaatatcttatcgatattcaggttattaccgat +tccttgctaacgctagaagtcacaccagagtaataataattccagacacctgtgaaataa +tcggtcactacggatagactagtaacgataatacgtatagtccataaaagttgaatttta +ggggctaaagatattagcaatactggtctagcctaatcgtcgatagcaaagggctgtgag +gatttctcctacattttcgaccaattgtatcgataggaatagttacagtcacgcttgtag +atgtaagagatgacgttattcttagggttcttaagtcggggggtaatttaagaccactag +taaaggtagaggcgtacacagtaaacgatattttgaaatcgtcaaaaaaaagtttacaac +atcctttaagttagcaactgattttagtggcaaccttaacggttgaattgatctactaat +acaggcctacaccgaagggtacagataatgattcttactaccctaacatgatagagtcct +gtcctatctcataggtcgacattttaaattcgtaatgagcaacgaagatcgtttcccaat +ttgcaacattcacttatagacttcaggttatttcgtgctaacattaagatagaatataat +cagtcgttaagaaactattatccagctttcgtcaaccataaagattaaaaactgaaactt +ggcaagatatgaatagctatcctgctttaaccgatcgtatgagatgctttgtagcaagaa +aagtgactagcacttgtgtttagtaaagcgggagagtgcggtaattaatattaatatact +attaagctacacagcaaaggctgcaataatgttagtaagtagaacataaaggtattctcc +acaagtaataaatagtgtgagctaattgactaacttaactctcgcgacaagtgatgtgga +taagatgactcatatcgtctttttctgtagtgccgacatcccacctggatcgaacaattc +cttctagttatcgactttgattacctatcctattaaacagatagggttgtaaagtcagaa +aatgatcggcttgcgttggtctaccatagctagagttagaacgcgtagatagaggccttt +tgttgccaacgtgggggtgggatgagtctgggcgagcgtgactttctttcgtgtccgaat +ttgtttaacatccattagattagatgtttgtgttttgggtctgatgtcctaactactttc +tcagtgaaactaatgtcatcatccaagtaaaatagtccgatgaagtctccgttttcggcc +gaagcttgtctataacgtatataaagtcgctgaatttagaacacaccttatctatgttgt +aaagttactttattccaaaggacgtgcacgaagcgtgagtgtgggaaggaacttaaagtc +ggatcactcttgtcagtgtagataagaatttctttcatacttcactggaatccggcgtat +ggatatctctaccgcgtcatctggtggtgtctgcggtaaaaagtcttgctgcacgagtct +gagaaatttttggtgccatcacatcgtaactgtacaacgaacaaatagcatcaggccttc +ttatccagcgtgaagtctaattatttcacaagctttcctaagtatgtaaatccctcactt +aatgatgcttgcgccaatgaggatagaggacattgcatgtacgtaggactattctccaag +gggtcttctattttgttagcgaaaattgttacagcctaatgttagagcggcgtacgactt +tataccagatactttcattagatatgcaaatatccaattaaatcatagtagtatcgtggt +atggacaatcaaaaaagacccgttgtgatatgatgtttttctagttcgttctcatatata +tagatcaacaatgaataatctcatgatctataaccgatgtatatttatattccggttgac +tgctccggtgcaattcactacggacactaatgactaatatggcgcctttcatcagaaacg +ctaaatatgattaatgaattaagggagtattatctaattattagagagtagcagttagtc +tgatattttcggtgtatgtgttagccgttataatgctgtctttttatcagtgagaacagg +gagtgtgtagtgttgtatgcttcactttatgactctggttatatccctcggagaacaaga +ataagagtacgagaagttcggtcattgaggatgaaatagaaccgctagacgaatggactc +acgtttataaaactatgtatcacagtactacagctaactctgaagtccgagaagcttttg +taggacaaaacgttataagtacctttcgcagaatacggccgtgcatacctgttataaggc +gtagtagggacaccatgctatccctcatatagagctacactaataccattacatggtgac +tatcgtttacggccatcatctgtaagcgatcatgcctcgttagcatccgtacaatctcgc +atggcgtcactgcagaaaaaccccgtgcggattttgagtcagaactattcgaagcttctc +aatccttttccattatggcatagcaagtgacgactcgtcagccatgggaataatagcact +aatccgattacttatgaattagaacccacatgaatgtgattctgcgaattgtctaagaat +ctaatgattttccggtgaatatggttgttgttatttattgaacttatattattaacatca +cccttcgttagtgatagtcagctatttccaagaggttccccgagcatttttaccattctc +tagtcatacaagttggagcgcttttaaatctttaggctgatcaaggcgttttgtctagaa +ttctgcagatgttagattcgtgtgcaatccctcttgcatgtcagtaacaggtcacccgtt +tttcgttacatatgctggtaaaatattcatagtaataactacaatacttgatttgttacg +taatgctcgtacataacacaatcgtattccacggaacagtaaagctctattattctgatc +gagcctaagagaggatcacactacgctattaaagtcacgttcacgaaatctcaaacctca +actgctggtgaccagttatagacagtgtaattccatattacatgtcaggcttaagctaac +ccgagcctttatataagctataatcaagaattagattggagtgcattttagacttatcta +tcgaaatagtgatagtaagagtttatatgacctgatctagactgatgttctcttccacaa +cagccttaaggcgtggagcctttcttatactattaggtcgcgtcgagagccctattcgta +atgttaacgacactagactaatatacaatgagctaagaataacacaagtcacaagataat +ttacaaatcatatatctacagtccacaaccatcactagcgattgcaaagcgttattggta +ctaccgctctaaatcggtatgtgcaagacgcgttaactggttcaagcctctcctgctcgt +gagactgaaagaaatcgaaaatatggatgtgcctaattgttcttgtgagtcatgtgcaac +tatacagtttagtttggtcaagactatgcaactattaacagcatgtgcgcattgaatatt +tggtgtcgattgataaatgccccaacgttccatcacgtctataagccgtgttactaatgt +gtattagtgcatacctattcagaccatagttcaactgttggactgaaggcccgtcttggg +gttcgtgaatgagagtgcagtttcttgtcttttccttaactgacctaaatgaaggcaatc +ggtttatctagagtcatgcttaaggtgaatttcagccaatgggctcccattgagctagta +tggtgctttacctttgtaagtggtggctttccttggtgtgctgactttaacacggcagag +tgattatccgaagaatggataataagacgctggcaatattggctaataaagtccgatgag +tttcaatcatgactgcgaggagatccatgcggtgtacctaaacctacatcgtatgtattt +gctgacgttcattcttgatacataaagatccgatatcggtccactttgtttaccaaaagc +cctaccttcgtaacgatggaaatgtgaatgagagtgaaatacacgatggggatattgccg +gtgagtacaagttagaccacacattagaactgacctatattcgtcatcatagagatggag +tatgaattgattctgcgaagtacactggctttacgagtatctagacgccgcggtatatct +cccgtcaatactatgaaggtatatatatagaggctgaaaattcatgttcaatcctctttc +taagagtgagtgggagccccttctgttgtcggagtaaaaaggcattattcctcaaattgt +cagaagcaaagtatacgtgatgtttgcttagaacaaaagagttaccttagggtaggtaaa +tctcgattcaccgagagaagtgattttggcggtgtgcgattaattcttttgatgacagat +ctcattattttatatagctccctctttgtatttagagtttgcgtaggtaacctggcaaaa +ccatatcccggggggagagtgcgctgaacattttatacgatgtgattactcaaaggataa +ggttcgaggcctctatactcatggaactatcttataattataatggatcgtggctcattc +cacctatccaaacttctttgtgatctgatgctacgagtgtgaacaaacgtacatcttcta +aggaatttgggacgtttcatagctcgcatttcattcctgaaaacttaaatatttttaaaa +attgattctactgcgaggaactaaggtgtagacaagcccttagtaaccggtggatgtcgc +ttcagttttatagcaaacattattcaatttcagtcttgactgaaattagtttgttagtgt +tagaggtccatatgtcacatgcatatggtctagatgccattgtacagtaataccttagat +tagtattagcggcatgcgtacttggatttcacttgtaagaatgagcttaggacggtcgcc +tgtagggctgcaaataggaatacttacaatttttgatgacttgttagcatatcgctatca +cccataaaaaacctgatacttgatgagcgggtgattgagactatgtactgatataattca +atagctccaatagatgaaacagctatgcgcctatttatgtcaaataatcgatgtgataca +agcttagagctgaacgagcgcgagtggaattagcggtgatctctatcctaaaaagccacg +aaatcgatcccagaagctaatacccgaggtgtcaagcttgagttcagttaaatttgcatc +tcatgccccacgaagaatgggtagagagtttgaaggtgcttctggattttcctaagtacg +tggtaaaaatttgatgtaaatgaacacctcctaatggttgtgttaaccacaaacccctgg +gtgaatctgattagccaacccagtgatctgatttcagttgtcaaatctcttttttataac +taccttttgtttccataatttaaccggatctcataatgaacaaacgggtagaataatggt +agcacatagcgagcttgtctattcagaaatatggcctactcagaatgtattctccaaatc +agtgttatgcgaaacgtaattttacgtgtaataatgatgatttcttatcggttccttgta +ctacaatactcttgcccaacaaatactaagcataacagcaaaattcgaatccccctcctt +ttaataaatggtttttcaatatagccgattcgtattcgttagtctttcaccaactattaa +cctggcatctaattaataaaatcaccaaaggactctataatatgacagtcacttcggcct +cttttaagacagttgattattgcaggtccgcaattgatggtgacatgcacaattagttag +aatccgactatggagacaattaacaattgtagtgcccatttggtccagttgacttcaacc +acgagttataaaggtattttaatttatagtcgatagtaccaacaacaagcacaatcataa +ttatgttagaaaacccagggggtaatgctctaaatccagctttaaggccagagtgcacta +tgaaatcgccattgatcattgtgtcattcgctgaacttggtgtctaggaggtgccgagtg +agaatatcagataccttatgaagcaacgattatatctggactagatcatgatgatcggaa +taaaacattgaaataagtccttatcaaggagcataaacattttatttaatttatacttcg +taaataaattcagaattttttttcaagacattaatctgagtaaatgacggctagaaaggg +ttcctactcgaatcgtagcctacgcatgtgggcagtaacctggcttgcgtttttactgaa +acaaaggttcaccggaaagaaggctgccacttttagcttcttgacgatctttagcgtcat +atttttagattagtcgaaaaacggaaaacaaacttaacgaagctggttgcacggggtacc +gagaaaccaaagagcaggacaactccttgatcgggaagaactgaaatagacagctgtcat +tttcattggtcaacttatcaatataacgaccaccgtagtgacgcttgcatgaaaatactg +aggatgtaaactatagccagtcaggcccgcgtgttgactaattgatgaagcaaacaaaat +agccggtattcgttaaaaggaacgggttgccagctacagatatactctaggtatatccca +aacaagagacgtcctttggctgttgtaatcggtcataatacttgtcacataaacaagatc +gctgaattaaacattaaacagttagtgatacacaatcgtggttggggctgggatgtgcaa +taaaaagtcatctatcgtctatcacagagcgacgtaaatttagacaaacattattatttc +ttgacaatggaatcgataagcgttcctctaacttggtatatatatctcgaccccgggatt +ccagccattcttgtatgaagatttaaccatttaactatgcatagttgaatggtaaggaaa +atgatattgactgcaacagattttggatgcaaaaatatttgtgaattattggttatatac +tggttgtatagcacaatcattaggtcctagaaggcatactcaacctcagcgagagagcta +gcatgcataattgtaccgcccatattaatattcctgaaatgatttcttacattacgccca +atttcagtcatcgaacacccccatcaatttacccgatagagaacgtgatcatacgcaata +ccctatgcgaacgtccactctatagcgtctgtatacaatgattattcgttccatttacaa +cgttaagtaatttaaacttacataaggacaaggaaatccgcgaacctcctggaatgtatg +agttatttatgcagttaacttcgtctcgaccggaactaaaggcgtcgtacgaatgaaagg +ccacttttagaagagacctttgtatccattgtggagaatatcataaattcaagatggggt +gtcatgctattcggtcctaaacattcttaatggctgttctattgttagtctgatttaaaa +tggaaccatagcacgaatagttagatagggctcatacccctgtaacgatctacaaatcct +tccccgggtgtgtgcgttagcgacggaaagttttacggtttgtgatcaaagaacactcac +acgtcagattattacactgatacgaattatttcagtcgacagtaattgaatagaaactta +ttaacgccagcacctgacacggtaagtaaggcaggtctgaactgtttgactgtaaaaaaa +tggtaatatttttaaaaatcttgatttctatatcaaatgatgtgtagttttttctctgtt +attaaaatcccagtgcgcgaaatttagatcgttacgactcacgtacaagatcacacatca +cacgcgttagcgaaagcggaatggctaatacagccctacgcaacgtagtgggatcaacat +atggacgaatttatgctcaatgagccaacctcccccgcattgcggttcattttaaggcct +gggtaacatctatcgtttagataatcaaaggaatccgactatgcaattgtctgacttcat +ccgctctcaagtccaatgcaggcgctacgtgtttctttaatcaataccatattgaaatcg +taatacgataattgttgctattgactacaggttatgaaaaaacttactttgcgggtacat +gcatatttttgtaccacattattacgcgatatctctcagtgtactctaaattaaaccctc +ttcgaacattttagttcctattcgtaaacacgtgctacgcggcaatttgccggtcgtaga +atggacaactccagttcaactgcatgtaactcatagctcgcgttagtataaattgactag +tagccatgggacaaagtaactagtcagcggaaaagatccctttaaagatatatgcaggtt +gcaagcataaagctcattgctcgaggtgcaccgtggtattccaaaagcgtctctatcgta +tcttctaattttgggccgtgagaatcgaaactactctgatttgctgcacacgttaggtaa +tatcgcccattttcccgtataagctccgtacttatacgaactacacgaccttttaagcat +tagccgctcatatcgtgattcgtgtacagatgagtctattaaaattacagacatactcca +tatctcgctccttgaactttgaataatgcgctaacttgtactatgaataggcagaaccca +actttcccgtttgcgtcaagcggggaaacgatacatgttgtcagatttatgattatctag +ttttagatcacgtttaccgataatcggctgtggtctgagcagtcctacactgagtattta +cttcagcttcatatcggtccgaaaaaaggttgtgaccgaatgtcaaaatacggagtacga +tgggcatcttttttcgagtcgcggttgcagggcagcaaaaggcttaaaccatttttacga +tttttactatagcggtcatgaagtgcgaaactgcttgcaaattttctacacacattgtgg +ctcttgtccttgaagcttatggcgaaaatttgaaacatagtataccagggaaagcgcgaa +ttatttggtgactaatagtccgtgggtttgagccatatacctaacgccataaactacgtg +gtgctttagatgcaatctaaacagaacagaaagcgtagcgctcatcagcacagactaact +ttttcagtttgagtcgccggagggacttcgagacaagaacgcgtcaagtcgcttgcgcgg +cacggattcgattgggcggctcaatcttgcctaatttctactattgtcagctgtacgact +gtactaagtgtatagccccaaataaaagaagtatcgatgcgtctttatgaccaaaggtct +tataattgaagcgcacttccgttcatcaaattaaatcctggcttacccgattctccggaa +gtctgacctagagattgacgacggccgcgtattattgagacctcttcaggattaatcaat +aacgaagtagttgatctgtttggcgacgtaccttaagccgactccgctacacgagtttct +actaaaccaatgtagccttatgcttagatgaataccgtcctaattagatattccggcata +acagcagtaaattatctgttcaatggacgaacattgaattgttagtattctacacaagtc +aggcctcgtaaatattaggtaaggccgtgggataacctacgtgatatgcttgagcttgcg +ttgcaagctctcgttaatcattaatttaggtgcgtgagggttaaacaccagcatattcta +tatgctagacgtcttccttaaaggatcgtagtattataattaataataagaaatatggtt +gacgtctagtcagcgggcatacgctgctctatatactggcattattcaaaacttgacggt +aaaaaaacgaattttaaggcgctcacgtcgaatgagccgaactcatgggaaccaaaatgt +cacagaaaacacctctttattgccaagcatgcaataaaaaaaatgttaatagtacgttta +cgacattttattttataataaagagaaactattacacctattgatatgataggacgtaaa +ttaacgagtagcctgcatagaggcaaatgaggtttctacatggtatagacctgatgctga +aacatcgatgagttttggtcccctcgctcgttgaaatctagtcatttactactgtctttc +gagctattataccacttcactatgtggtgtttctttgctatgtatggggctagtcaaaca +tgatgactatagctacaactcagagagcgggcgtgttaagagtatctcatgctagaactg +cacgacgaacttgatacaaagtaacaacatttacgattccacaaggtgactttgaagaaa +catagtttaattctctgcttcgatcatttctataaaccggtaccatcgcagcggatagat +gcataacatttctactactccaggcatcttaaaacacacgtagtacttcactagattaag +acacgataagtgtataacttggcagtgggaagcaaggagattggcgaactcctggcatct +gttacgttttgttcaggctcggttgttgataatgtccgactcctgccatattgaagactc +gctcgagggagatcgggattcgttgattataagtacacgtgttccgtaatactatgaggc +agtgattcaaaatggcacttctgacttacatgactaggtattattaccacggaagcgtta +aaggcacactcttatggacttaagattgcaagtgccttcttctagcctgaattcgcgggt +tcaacacaaactctctttagacatccgttgcctaaaggctgagacgtaggggcaaccctt +taactatgtactaaaaaactagttggtaatttaacaacgtgtccaatcaagacgatgcac +caacgcggtgcgaaaatcgggttaagcaaacacaaataggaattgtgataaaccccacct +tgagaggtcgcaagaccaacctcgggaacaacggctctaagagaataacctaaatccgga +tgagtagactgtgtaactctctaaagggaagtgaaaaaaagctaagcatacatttaggtc +tcctgcattgcattcaattgaatcgtttgtattatgagctgtacagtagctatatcagct +atagttatcccagaggaacaggtaaactagctctgagcgtgaaatccggatattagaacc +cctagatgggattgattctagctaatacaggcttatctggttttacagttatctagatga +ttggtaaggtgaaacgcttggtgccttccaccacttaaacaaaagtattgcccgggaagc +tattttctaggtattataaagtcgagcattaatatcaatttgacagtaaaggtctttcac +cagcttcatatgccatagggcccatactcgatttaaattgaacggtttaacgagtattgg +aactctcacttataactgagtagctatacgaaaaatctggtccatttccagaaatttatt +atcgatttgctgcttagtacccaggaagtgataacccttgaaggcacaacactgtaataa +gttttcctgtcacatctgtaatattcggtcactacgcattcacgactaaagataattact +atactaattaaaagttcaatgttagggccgaatcatagtagaaattctcgtctagcctaa +tcggacttacctatgggctgtgaggatttatcagtatgtggacaaaaatgctagagatag +gtatagttaaagtcaccatggtacatctatgtgaggaagtttgtagttcgcttctttagt +ccgggcgtttgggatgacaactactatacgtagagccgtactcaggattagatagtgtga +aagagtcaaataaaagggttaatattaatttaacgttgcaaatgtgtttaggccaaacat +taaccgttgtagggatattctaatacaggccttcaccgaaccctaatgataatctgtctt +aataacattaaatgattgtctccgctacgagctcttagggcctcattttaaatgactaat +gtccaaagaagagactttcccaatttcaatctgtcacgtatagacggcaccttagtgagt +catatcattaagatagaagattatcaggagggaagtttctattatcaaccgttacgcaac +cataaacttttaaatctcataatggcattgagatcaagagctttcatgatggtaaagttc +gtatgtgatgctggggagctagatatcggtataccacttcggttgtggtaagcccgagtg +ggccgttagtaatattaatagacgattatccgacaatgcattcgctgaaataatcttact +taggagaaattaatgctatgagccaaaactatttatgtctgtcacattattgactaaagt +atctatcgacaaaactgatgtccataagttgtagcagatagtcggtgtatggtgtcacca +atgaaaacctcgagcgaaaaatgaattatagttatccaatttgagtaaattgcctattat +acagataggcttgtttagtcagataaggttccgcttgaggtgctctaacttagcgagagt +tagaaagcctagtgagaggcattttggtgccaaactccggctcgcatgagtaggccagag +agtcactttctttcgtcgaagaagttggtgaacagccttttgattagttgtttgtcttgt +ggctatgtgctactatataagttagaacgcaaactaatctaatcagcaaagtaaaatagg +accttgaacgagacggggtacgccgttgaggctcgagatagtagataaactagaggaatg +tagataaaacattagctagggggtttagttactggattacataggaagtgcaccatcacg +gtgtgggggttcgtacgtaaagtcgcatcaatattgtcagtggacttaacaagttcgtgc +ataatgaaatcctatacggactttgcatatctctaccgactcatctggtcgtctatgcgg +gtaattgtattgctccaagtggatgactattttggcgtcccagcacatagtaaatgtaaa +tccttataatagcataagcaattattagactgcgtgaagtcttagtagttctcaagcttt +acgttgtatgtaaataactcacgtaatcagccgtccccaaatcaccattgaggtcattga +atgtacggagcactattatcaatgcggtatgcgattttctgagcgattattgttaaagac +ttagcgttgagccccggaacacttgattacagattctttaaggagttatccaaatatcat +tttaaataatagtagtatcgtgctttggacaataaaaaaagacccgttctcttatgttgt +tttgcgacgtacttctctgatatatacttcaactatgaagattctattcatcgataaccc +aggtatatttatatgcccgttcactgcgcagggcaaattatctacggacaataatgacgt +agttggacccggtaagaactaacgcttaatatgattaaggatgtatgccagtattatctt +attatgtcagagtagaagtttctctgagattttccgtcgttgtggtacaccggatttggc +tctctttttagaactgagaactcggagtgtgtagtcttgtttccttcaatttatcaatat +gcttttataccgccctcatcaactataacaggacgacaagttccgtcttgctccatcata +tactaccgatacaccaatcgtatcaagtttagtatacttgctttctctcttctacagctt +actcgcttgtccgagaagcggttggtgctcataaagttagtagtaaatgtacaactagta +gccagtccttacctgtttttacgactactacggacaccatgagatacagaagttagtgct +acaattataccattacatgctcaatatcgttgtcggccataagatcgaagagtgcatcac +gcgtgtgaatacgtaaaatctaccatcccgtcaatgcacaaaaacacactccccttgttg +actaacatcttttacaagaggctaaatcattgtccaggatcgaataccttgtgtacaatc +gtcacccatcggaagaataccacttttccgatgtagtatgatttacaaaaaacatctatg +tgagtaggccaattgtagtagaatatattcatttgaccgtcattagccttcttcttaggt +tgtgtacggatagtaggtacataaaccgtcgtgtggcatacgctgcgatttcatacagct +gccaacaccttttttaccaggctagagtcagaaaagttggagccatgttaaatagttacc +atcataaaccactgttgtctactagtctgatcagctttcatgcctgtgcaagcaatatgg +attctcacgtaatggtaacaactgttgcgttacttaggctggttaatttgtcagagtaat +aaatacatgtcttgttgtgtttcctaatcctcggaaagtacacaagcctaggaataggaa +aagtaaagctcttttattctgatagtgactaactcaggatctaaatacgcgattatacta +accttcaccaaagctcaaaaatcatctgctggtgaccagttatagacagggtaattcaat +atttaatgtctcccttaacatttcaccagcatggattgaagatagtataaagttttacat +ggcagtcattgtgtcacggttctatacaaattctgatagttagacggtatttgaaatgtg +cttctagcatggtatcttacacaactgaatgaacgactggagccgttcgtatactatttg +cgagcctcgagaccccgtttcctaatgttaacgaatatagtataatataaattgtgatat +gaataacacaagtaactacagtttggacaattaattgttctaaactaaaaatcattcact +tcagatggcatagagttatggctactacacatataaagcggtatgtgaaacacccgtttt +agccggaaaccctctactgctcgggacaatgaatgatttccaaaatatggatgtgcagaa +ttgttagtgtgactcaggtccaaatagacactttagtttcgtcaagtcgttgcaaagttt +aaaaccatcgcagcattctttatttggtctacattgagaaatgaaaaaacgtgacagaaa +gtctagaagaactgtgaataatgtctattactgattaactagtaagacattagtgcatct +ggtccactgaagcacccgcttggcgttaggcaatctctgtgaactgtcgtggctgttccg +gtaatgtacgaaagcaagcctataggttgatcgagtcgcttcattaaggtcaatttcaca +atatccgatcacattgtgctaggttcgtcctttaccttgcttagtgctgcatgtacgggg +tgtcatgacttgttatcggcagactctttatcccaagaatggataatatgtacatggaaa +gtgtccataattaagtcccttcactgtaaagaatgactgccacgtgatccatgaggtcta +cagaaaccgacttacttgctttttgatcaacttaattatggattcataaagttcagatat +cggtacaattggtgtacaatatgaaattaatgaggaaacatggaaatctgaatgacagtg +atagaaaagatccccatttgcccggtcagttcatgttacaccactcattagtactgtaag +tgtttcgtcagcattgagatccacgatcatgtgtttatgccttcgaaactggatgtacga +cgatcgagacgaagaggtatatataacctaaatactaggtacgttgttagagagacgatg +aaaattaatcgtcaatacgctggcgaacactgagggggacccaatgctcttctcggtcta +aaaaggaatgtgtcagaaattggtcagttcaaaagtagaccggatctttgcggagaacaa +ttcacggaacgtagcgttgggaaatatcctttctaccacacatcggattttcgccctctc +ccattatttattgtgttctcacatagaattattgtttagacatccctcgttgtatggaga +gttgcccgagcgtaaaggcataatccatataccgccgggtgagtgacctgaaattgtttt +tagttgggatttcgctatggattagcttacacgaagagattctaatggtactataggata +attataatgctgcgtggcgcagtacaccgttacaaacgtcgttcgcatatgtggctaaca +cggtgaaaatacctacatcgtatttgcaatttcggtcgtttcatagagcgcattgaatta +ctcaaaaattatatatgttgattatttgattagactgcgtggaaagaaggggtactcaag +ccatttgtaaaagctgcatctcgcttaagtttgagagcttacattagtctatttcagtct +tctaggaaatgtctgtgtgagtggttgtcgtccataggtcactggcatatgcgattcatg +acatgctaaactaagaaagtagattactattaccggcatgcctaatgcgattgcactgct +atgaaggtgcggacgtcgcgcccatgtagccctgataataccaatacttacatttggtca +gcaattctgacattatacctagcacccataaatttactcagacttgaggacaggctcttg +gagtcgatcttctgtttgtatgcatgtgatcatatagatgaataagcgatgcgactagtt +agggcatagtatagatctgtgtatacagttcagctgaacgtccgcgagtggaagtacagc +tgagatctatcctaaaatgcaaccatatcgttcacacatgatatgaacccagggggaaac +attgagttcagttaaattggcagcgaatcccccaagaagaaggcggagtgacgttgaacg +ggcttatggtttttcagtacttcctccgtataagttgagcgaaatgtaaacagaataatc +gttgtgttaacaacattaaaatcgcggaatatgatgagaatacacagtgtgagcatttca +cttgtaaaatatctttggtagaacttactttgctttaaatatgttaaaccgatctaataa +tctacaaaacggtagattttgcctagcacattgcgtccttctctattcagatagaggcaa +tactcagaaggttttatccaaagcactgtgttgactaacctaagttttagtctaataatc +atgattgattataggtgccgtggactacatgactcgtccacaaataatacttagcagatc +agcaattggccaagcacccgacttttatttaatggttgtgcaatagtccagattcgtatt +cgggactctttcaaataatagtttcctggcatctaagtaagaaaagctcataaggaagcg +atattatgacacgctcttccgccgctgttttgaaacttgagtattgctcgtccgaaattg +agggtcacttcaaaatttactgagaagacgaagatcgactaaagttaaaatgctagtcca +cagttggtcaagttgaattcatccacgagttatatagctattttaatttatagtcgagtg +tacaaaaaacatccacaataagatttatcttagaataacaacccccgtatcatcgaaatc +ctccgttatggcctgactcctcgagcttatagcatttgtgctggcgctcttgccaggaac +ttgctcgcgaggtggtgacgagtgagatgatcagtttcattatgatgatacgattttatc +gcgactagttaatcatcatagcaagtaaaatttgaattatgtcattatcatgctccatta +acaggttatttaattgatactgacgaaattttttcacaatgggttttctagaatttaata +tcagtaattgaagccttcataggggtcctactagtatcctacacgacgcaggtccgcagt +atcctggagggacgtgttactgattaaaagggtcaaaggaatgaaggctcacaatgttac +ctgcttcaccatagtgagccgatgagttttacattagtactaaatcccaaatcatacttt +acgatgaggcttgctagcgctaaagagaatacatacaccaccacatagaattgttagcga +tgatatcaaatagactcctggaagtgtcagggggaaactgttcaatatttcgtccacagg +actgaccaggcatggaaaagactgacgttggaaactataccatctcacgcccgacgcttc +actaattgatgatccaaaaaatatagcccggattcctgattagcaaagggttcacagaga +aagatattatcgacgtatatcccaaaaaacagacgtaatgtgcatcttcgaatcgggatg +aatacttgtatcataaaaatgtgacctctagtatacaggttaatgttagtgatacacaat +actcgtgggccatgggttctcaaataaaatgtaatattgcgtcgatcactcacccacgta +tttggtctaattatgttttatttagtgacaatccaatagataaccggtcctattaagggc +tatatttttagcgaccacgcgtttaaacaaaggattgtatgtagatggtaccagtttaat +tgccagtgggcaatcctaagcaaaatgagattctatcctaaagtttgggcttgatataag +atttcggatgtatgggttttataatcgttggagagctcaatcatgagctaatacatggat +ttcgctacctcaccgagagaccttgcatgaagaattctaaccaaaagtttaataggccgg +attggattgagttaattaagaccttgttcagtcatagtaaaaacccttaaattttaccga +ttgacaaagtgagcagtcgcaataccctatgcgaaacgcctcgatagtgactaggtatac +aaggtttttgagttcctttgaaatagttaactaatttaaaattaattaacgacatggaaa +tcacagaacctaatgctttgtaggagttatttatgctgtttactgcctctacaaccctaa +taaagcagtcctaagaatgaaacgcatcttttagttcagaaagtggtatccagggtggtc +aatttaataaattcaacatcgggtctcaggatattcggtcatataatttattaagggctc +ttcgagtcttactctgagtgaaattggaaacagtcatccttttcgttgtgaggcatctta +caccgctatcgatatacaatgcattccaccgcggtgtcccgtacacaaggaaacttgtta +ccttggggatataagaaaactcacacgtctcattattaaactgagtacaatttttgcacg +agaaagtaatgcaatacaatatgatgaaagccagctaatgaaaagggatggaacgcacct +cggatctgttgcactggattaaaatccgattatttttaaaaatattcagtgctagagcat +atcaggtctacttttttatctggtatgtaaagcccacggagcgatagtgagatccttacg +actcaacgaaaagttataacataactcccgttagccaaagcccaatcccgattactgccc +taccctaacgtctgccatctaaatatcgaacttgttatgatcaatgtgactacctcccac +cctttccccttcatttgttccactggggataagctagcgttttcagaatcaatgcaataa +gaatagccaattgtctcacttcatcagagctcttggcaattccaggcgctacgtggttct +ggaatatattcatttttcaaatagtaatacgtttagtgttgctattgtctacacgtttgg +atattacgttatgtgagcggacatcaatagttgtctaactctttagtaagccagagatag +cactcttagcgaatggataccatcttccataagtttagttaatagtccgaaacaactgct +tcgagcatatttgaacctccttgtaggcaaatagcctcttcaaagcaatcttactaatag +atagagtttgttttaagggactactagaaatgggacaatcttaatagtatgacctaaact +gacatttaaagatatatccaggtggcaagcataaagatcattgcgccacctccaccgtgg +gattacttatcagtcgatatcctatatgctaagtttgcgacggcagaatacaaactaagc +tgagttgatgctaaccttacctatgataccccattggaccggttaacagccctacttatt +ccaaataaaagaacttttatgctgtagaagctattatagtgatgcctggtaacttcagta +tattaaaatgacacacatacgccatatagagctcctggaactttgaataatgagcgaact +tcgaagttgaagagcaagaaaccatatgtcacggttgcctaaagcccggtaaccagacat +gtgctatcattgatcattatcgaggttttcataaccttgacccattatcggctgtgcgcg +gacaagtacttaaatcactagtttcttcacctgcttatcggtaagaaataaggttggcaa +agaatcgcataagacggacgtagagccgcagcgttgtgcgagtccaggtgcatgcgcagc +aataggattttaaattttgttccatttttaatttagccgtaaggatgtccgtaaatgatt +gaaaattggattcaatctttgggcctatgctactggaacctgatcgacaaaatttcaaac +atacgttaactccgaaagaccgtatttttgcggctagaatagtcagtcgcttggagccat +ataccttaccacttaaacgacgtgctcctgtagttgaaatataaacagaacacaaagact +accgatcatatcaactgaagatctttgtaactttgaggcgaagcaccctcttcgagacaa +ctaagagtaaagtaccgggcgccgcaaggagtcgattgggaccctaaatcttgacgaatt +gctaagaggctcagagctaccactgtaatttctctagagcccataataaatgaacgatac +atccgtaggtagcacctaagggattataatggaagccaaatgcagttaataatattatat +actggcgtacacgattcgacggatctctcacatagtgattcacgacccccccctttgatt +gacacagcgtcagcattttgcaagaacgatcttctgcatagggtgcgccaccgtaaggat +gacgtcgaagctacaactgggtataatttaccatgcttccctgatgctgagtgcaataca +ctaagaatgagtttttaccccatatcaccagtatttgttctgttattgcgaagaaatggc +tatgctgagttggcgactaaagtcacccatcctttttattaggtaaccccctcccttaaa +ctaactgatttgctggagctgccctgcatacatatactttatcatttatggacgtccgtg +acgcttattatccaccatagtcgatatgctacacggattcattaatggatcgtaggagtt +taagttatatttactaagatcggtctcggctactatcccgccttacccggcgctatttac +ggccatttttaatatattgacggtaattattcctatggtttcgaccgcacgtccttggac +aagaaagaatggcaaaaaaaatgtaaaagaaaaaaaatattgagtccctaccatcatata +aaaaatatgtgatgagtaacttgacgaaatgttagtggttattaaagactatctattaca +ccttttgttttctgtcgtagtatattaaagtctagaagccttacaggaaaatcagggtta +tacagccgatactccgcagcatgaatcatcgaggaggtgtcctaccatcgcgccttgtaa +tcttgtctgtgtatactgtatttagaccttttatacaaagtaaatatctcggctttatgt +gattgggaggggcctactcaaacatgatgacttgacctaataatcactgtgcgggcgtct +tatgactagctattccttgaaatccaccaccaaatggttaatatgtaaaaactttgacga +tgaaacaaggtgaatgtgtagttactttgtgtaattagctgcgtcgagcattgcttgtaa +aaccgtcaatcgcacacgttacttccataaaatttctacgaatacacccttcttaaaaaa +aacgtaggaattcacgagtttaacaaacgataactgtataaagtggaagtccgaagaaag +cagatgcccgaactactcgaagatgtttcgttttcttaaccataggggcttcttaatggc +ccactacgcacattttgttcaagcccgagagggacatccccattacgggagtattactaa +aactgttccgtaatacgttcagcaagggatgaaaaaggccactgctcaagttattgacgt +gggagtattacatcggaagcctgaatcccacactatgatggtctgtacaggcctagggac +tgcgtctagacggtattaccggcttctaatcatacgatcgtgagtcttaacgggaagtaa +ggctcacacctaccccaaaccatttatctatgtaagtataaaattgtgcgtaagtgttca +aagtggacaataaagacgtggcaaaaacccccgcacataagccgctttagatttcacaaa +taccaatgcggttaaaaacatccttgagtcgtacatacaccatactcgcgttaaacggat +ataacagaagataataaatccggatgtggagtcggtgtaactatagaaagccaagtgaaa +taatgcttaccagtcatttagctatacggctttcatttcatgtcaagagggtggagtttg +acctgtacagttgatatatcaccgatacttagaactcacctaaagctaaaattgctcgca +gcgtgtaatccgcatattacaaacaatagatgggattcattatacataagacacgatgat +ctgctttttcaggttgcgagatgttgcctatcgtcaatcgagtcctgccttacaccactt +aaacaaaagtattgacagggaacctattttcgaggtattatatagtccagcttgaatatc +aatttgacagttaacctagtgaaaatcagtaagaggaaatacgccacattctccagtgaa +attctacgggttatcgtctagtccaactatcaattataactcacgagatataagtaaatt +ctcgtacttggcctgatttttattatactttggatccttagtaaacaggaagggagaaac +cttcaacgaaaaacactggattttgttttactctcaaagctcttatatgacggaaatacc +ctgtcaagtcttaactttattactagactaatgaaatgggcttggggtggccagaatcat +agtacaatttagcggatacactattcggactttcctatcggctgtctggttggataagta +tggggactaataggctagacatacctatacttaaactatacaggcgtcatctatctctgc +aactttggagttccctgatgttctcccgccctttgggttcacatcttctataccgacacc +cctaataacgattagtttgtgggttagagtaaattaatacggttaatattaatgtatcgt +tgaaaagctggtgtcgccaataaggtaaccggctaggcagagtatatgtcacgaagtata +actaccctaatgataagctgtaggaataaaattaatgctgtctctaagcgaagagatatt +tccgactctgttttaatgacgaatctcattacttctgacttgcaaatgttcaatatggca +cggtttcacggcacctttgtgacgcatataatgaacttagaagattataacgacggaact +ttatatgataatccgttacgattaaagaatctgttaaatatcataatggcattcagttct +agaccgtgcatcatggtaaacttactttctctgcatggcgacatacatttcgctattcaa +attcgcgtgtggttacacccactcgcacctttggaatattaagagaagatgatcagaaaa +tccattcgctcaatttttctgacgtacgtctaatttatcctaggagacaaatcgttttat +gtctctcacatttttgaagaaaggttcgagagacaatactcaggtcctgaactgctagaa +gatactcggtggagcgtggcaacaatgaaaaactcgtgacataaatgaatgatacttttc +caagttcagttaagtgaatatgtttaacatacccggcttttcgatcttaagctgacgctg +gacgtgcgagtaatgtcagtctcttacatacactagtgactccaagtttcgtcaaaaacg +ccccctcccttctcgagcccactcacgctatgtattgacgcgaacttgttcgggatcaga +cttttcaggagttcggtcgcgtgtccctatgtgctaatatataagttagatcgcattaga +tgctaatctgaatacttatagacgaccttcaacgagaacgggtaccaccttgaggctaga +gttaggtgtgaaacgacaggtagggacatataaaatttgagtgcggctttagttaagggt +ttaattacctactcaaacatcacgctcgcgcccttcgtacgtaatcgaccatctagaggc +taaggggactgtactaggtagtgattaatgatatcctagacgcacgtgccttagatcttc +agactctgatggtccgcgatcaccgtaattgtagtcctccaactcgatcactttgttggc +gtcaaagaaattacgatatctaaatacttataatacaataaccaaggatgagaatgactc +atcgcgttggagttatattgcttgaagttctatggaatgaaagcacgttatctgccgtcc +caatatctccagtgagctaattcattggacggtccactttgatcaatccccgaggagatg +ttcggacactttagtctgtaacacttagcgttgagaccacgaacaattgattactcagtc +ttgaaggtgttttccaaagttcattttaaataagactacgataggcctttcctattgata +taaactacccggctctgttgttcgtgtgagtcgtacttctctgtgtttttctgattatag +caagattcgattcttagtgtaaacagcgatttttatttgacccgtcaatgagaagcgcat +aggatctaagcaaaattatcaagttgtgccacaaggtaagatctttccagttattgcagg +taggatgtatcccacgttgatagtatgaggtctgacgtcaactgtctaggagagttgacc +gcgtgcgggtacaccggatttgcatcgatgttgagaacgcagaactcccactgtcgtggc +ggcgttcctgatatttagcaagaggcgttgataaagccctcatcatctagatctcgacct +catctgccctcttgctccatcattttctacacagactactttcctatctacgttagtata +attgctttctatcttagtatcatttagagcttctccgtcaacaggttcgtgctattaaag +ttagtacgaaagggacaacttgtagcaacgcatttaatcggttttcgactacttcgcaca +aaatcagataaagaagtttgtcattctattagacattgaattgcgcaattgacttgtacc +acttatgatcgaacactgaatcaagactgtgattaactaaaatagacaagccactatatc +aactaataaaaacgcccctggtggtcgaacatagttgactacaggataattaattggact +ggagccattacattctctacaatcgtatcacttcccaagtagacaactttgaccttgtag +tttcatgtacaaaaaaatgctttcgcaggagcacattggtagttcaatagtttcatggga +acctcttgagccgtcttctgtgggtgtgttcggatagtaggtactgataaagtcgtgtcg +ctttcgatgagagggaattcaccggaaaacaccttggttaacaggatagtctatgtaaac +ttcgagacatgtttaagagttaccagcttaatccacggtgctctactagtatcatcagct +gtcttgcctcgcctagaaatatgcattctatcgttatcctatcaacggttgccgtactga +gcagccttattgtggaagagtaatatataaatgtagtcttgtctttacgaagcagacgta +agtaataatgacttggaataccaaaactaaacatagtggattatcatactcaagaactct +ccagataaataacagtttttacgatacgtcaccaatgagcttaaagattaggatcctcaa +aactgatacaaacgctaattcatttgttattggatccagtatcagttaaactgaatggag +tgaagattgtagaatgttgttctggcctcgcatggggtctaggtgatatacaatttctca +tacttacacggtagtggaaatctgattctagcttcgtagctgactatactcaaggaacca +ctgctcaaggtaggagactagttccgaccctacagtcaaagtggccgaagcttaaactat +agactagttgttaaatgctgatttcaagatatcatctatatacagtttggacaattatgt +gtgcgaaactaaaattcatgctattcagatggatttcacttatgccttagaaacagatat +tgcccgagctcaatcaacagttttagccggaaacaatcgaagcatagggacaatgtatct +tttcctaaattgccatgtgcagatttctgagtgtcacgaagcgcataatagaatcttgtg +ttgcctcaactcgttgaaaagtttaaaacaatcgcagcagtctttttggggtctactgtg +tgtttgcaaaataactgaaagaaacgcttgaacaactctgaagtagctcgagtactcatt +aaagtgtaacacattagtgaatatcggccaatgaaccaaacgcttcccggtacgctatct +ctctcatcgggaggcgatgtgcaggttatctacgaaagcatccctttacgttgagagtgt +cgatgcatgaacctcattgtaacaatagcccagcaaattctcatacgtgcctcagggtcc +gggcgtactcctccatggaagggcgcgcatctagtgttataccaactcgctttttaacta +ctatgctgtagttctacaggcatagtggccagtattttctaacttctctggatagatgct +ctcactcctcatccatcacggcttcagtttacgtcttacttgcttgttcagcaacggatg +gaggcattaagtatcttcactgttccctaaaattgctgttcaatatcaaagtaaggacga +tacagggaaagctcaagcacactcattgaatactgccccagttgcaacctcacttaatct +gacaaaaataatgactactctaagtgttgcggaagcagtctcttccacgagcttgtctgt +atcacttcgtataggcatgtaactcgatagacacgaacaccgagtgagaaactatattct +tgcttccgtgtgtgtgacaccaggtaattgatgcggatataagctggagatcactcacgc +ccacacaaggcgctgctacctctttattccaatgtgtaagaatttgctaacttcatttct +agaccgcagctttgcggtcataatttcacggtacggacccttgggttagagacttgataa +cacacttcgcagtttccaccgcgcacatgttttagtggcttctaacatagaatttttgtt +gtgacataaagagtgcgtgggagacttgcccgaccgttaagccataatcaattgaaagcc +ccgtgagtcacatctaattggttgtactgcgcatttagctatcctttagctgactcgaag +agattcgattcctaatataggttaattagatggctgccgcgcgaagtaaaacgtgaaaaa +cgtagtgcgcagatctgcataactcgcgcttaattacttatgagtagttccaagttcgct +acgttatgagagagattggaattaagcaaatatgttttatggtgattttgggatgagaag +gactgctaagtacggctactaaacaaatttctaaaaccgccatctaccttatcttggaga +catttaagttgtatatgtcactagtctagcttttgtctgtgggacgcgttctcggaatga +gggaaatgcaagagccgattcatcaaatgcttatctaagaaagtagtggactattacacc +aagcacgaatgccagggaactgctttcttgctcaggacctcgcgacaaggtaccccgcat +aagtcctagaattacatttggtcagcaatgctgacatttgaccgtgaaaacataatttta +atcagaaggcagctcacccgcttgctctagatcttatctttgtatgaatgtcagaattta +ctgcaatatccgttccgaatagtgagggcttagtatagttctctgtatacaggtcacatc +aaactccccctgtcctagtacagctctgagctttaattaattgcatacatttccttcaat +catcagatgaaaacaccgcgaatcatgctcttctcgtatagggcaagagaagcaacaaac +aactagcccgactcacgttcatccgccgtatccttgttcagttcttactccgtattaggt +cagcgaaatctaatcagaataatcggtcgcgtatcaaaattaaaatcccgcttgaggttg +acaattaaaacgctgagcagttatcggctattagatagtggggtgaaagtaattggctgg +aattatgttaaaacgtgatattaagctaaaatacgctacttgttgccgacctaattcagt +cattcgatattcagttagagccaagaataacaagcttgtataaattgaacggggtgcact +aaacgatgtgttactctaatattcagcttggagtatacctgaaggcgaattcatgtatcg +gccaataataagacgttgaagatcacaatttggactagcaaaagaaggtgatttatgcgt +ggggattgagtccactgtacgagtacggtctctggaaaattataggttcagggaatataa +ggaagtaaagataattaccaagagatttttggtatcgctatgacccagaggtgttctaac +gtctgttttgatccgcagaatttctgcctcaatgcatatttgacggacttgaactagagc +ctctaaagttaaatggcgacgcaactgttcctaaacttcaattattactactcttttttt +cctagggtattgtagaggccagtggacaaaataaatcaaatttaagatgtttcggacatt +aacatcccccgtagcatagaaatcatcagttatccaatctctcatcgagcttttacaatt +tctgctggcgctatggacagcatatgccgcgagacctccgcaagactcacttgatcactg +taagtatcttcattagaggttagagcctatagttaagctgctgacctagtaaaattggta +ttttctaattttattgctcaagttaaaggttagtgaagggataatgacgttatttttgaa +caatgggttgtattcaattttatatcacgaatggaacccttcattcccggcataatacta +gacgacacgaacaagctccgatctatcagccaggcacgtgttaaggtttaattccggcaa +accaatgaagcatcaaaaggtgacctgatgcaacttagggtcacgatgagtttttcagga +ctacttattacctattaataagttaacatgagccttcataccccgtaagacaatacatac +tccaccaattagaattctgagccatcttatctttttgtatcatcgaagggtatggccgaa +taggttaattagttactcctaacgtctctacaggcatgcatttgacgcaccttcgaaaat +agtcaatctctcgccacacgcgtctagtatgcagcatcaaaaatatagtccacggtttcc +ggattaccaaacgcggcaaagagaaacattgtatcgacggagataacttaatacagaagg +aaggggcatcttcgaatacggatgaataattctatctgtttattctgacatcttgttttc +aggttaatcttacgcattcaaatgacgcctgccccatgcgtgcgcaattattttctaata +ttgacgagagcaatctcactccttttgggtctatttatgttttattgaggcacaagccta +tacagaacaggtactattaaggccgtgagtgtgagactcaaaccgtggaaacaaaggatg +ggttgttcttggtacaagttttagtgcatgtgggcaatccttaccaaaatcagatgctat +ccttaactttgggctgcatttaagatggcggttggaggcctgtgagaatcctgcgtgtca +tctttaatgaccgaattcatccatgtagattcagatcacacactcattccttgatgttgt +ctaaacaaaagttgttgtggacgcattggagggagttaagtaacaacttgggatcgcata +cttataaaaattatatgttaaactttcacaaacgctgaagtccaaagtaactagcccaaa +cgcctcgagagtcactaggtattaatggtgtttgagttcctgtgaaatagtgttcgaagg +taaaatttatgtaccaaatcgaaagaacacttaataaggcttgcttgcacggaggtatga +tgtttactgactctacaaccctaattttccagtacgtacattcattccaataggttagtt +ctcaaagtgctatacaggctcctcaattgatgatatgcttcagccgctctatggatatta +gctcattttatttaggaagcccgcttagaggcttactatgagggaaatgccaaaatgtca +tacttttcggtgtgtcccatatgacaccgctttacatagaatttgaattaaaacgcgctc +tcccgttcactaccatacttggtaccgtgcgcatattacatatagatataggatcatttt +ttaaagctgtactaggtttgatcgacaatcttatgctatactatatgatgtaaccctcat +aatcaataccgatcgtacgatcctagcataggtggcaagcgattttatgccgattattgt +gttaaatagtctgtgagtgtgattatcagggctacgttggtagaggggttgtatagacct +cgcacacattgtgacatacttaacaatatacgaaaactgatataataaatccccttaccc +aaacaccaatcccgttgaatcaactaccataacgtctcccatataaattgcctacttgtt +tgcataaatctgaatacataacaccattgcaccttcttgtgttccaatcccgttaagatt +gccttgtcagatgatatgcaagaacaatagcatttgctagcaattattaacagctcttcg +aattgcctccacataacgcgggagggtatattttaatttggcaaatactaagtactgttg +gcgtcatatgctattaacggttggatattaagttatgtcagccgtaagcaagagtgggcg +aaatattttgttacccagtgagagcactcttagagtttggatacaataggccatatgttg +acttaagaggacgtaactacgccgtacaccattgttcaaccgacttcttggcaaatagaa +tcgtattagcaatcttaagaatagagacacgttcgtgttagggtatactacaaatccgaa +aatcttaagaggatcacctaaactgaaatttatacatatttcaacgtggatagatttaac +ataattcagccacctccaacctgggagtaattttcagtagatttactagatgattagtgg +cccaacgcacttgactatataagatctggggatcctaacctgacctatgagacaaaattg +gaaacgttaacagcccttatgtgtacaaagaaaagtaagttgttgctgttcaacagatga +tagtcatgacgcgtaacttcactatagtaaattgaaacaaatacgcaatttagacagaat +ggtacggtcatgaatgacagtaattcgaagtgctagaccaacttaaaataggtaaacgtg +cccgaaaccccccttaacagaaagctgctatcatggtgcagtatcgacgtgttcagaaac +ttgtaacttttgagcaggtccgagcacatggaagtatatcacgtgtttctgaaccggctt +atccctaagatatatccgtcgcaaactttcgatttagtcccacgtagagcccaagcgttg +tgcgactccacgtgcatgcccagaaatacgagtttaaatttggttacatggttaattttg +accgaagcatcgcactttatgattgataattggattcaatatgtcgccctatgcgaatgc +aacatgatccacaatttggctataagacgtttaatccgtatcacactttgtttgcggcta +gtatagtaacgcccgtgcaccaagagtcagtaacaattataagtactccgcaggtacttc +aaatataaaaactaatcaaacacgacccatatgatcatctgaagatatttggaactttct +cgacaaccaccctcgtactcaatacttacactaatcgacaggcacacgcaacgtgtacag +tcgcaccatattgagtcaagatttgcttagtggcgatgagcgtacacgcttatttctcta +gtcacaattagttatctacgagacatcacgagggagcaaataagcgatgttatggctaca +cataggcacgtatgaatatgatataagccagttaaacagtcgaaccatcgagcaaattct +catgcaccaacccacacgttgaggcacaaagagtaagctgtttgaatgtaacttcttctg +ctgagcgggccccaacgtaaggatcaactagaagagaaaactcggtattagtttaaatgc +gtcacggagcatgagtgcatttcactaagaatgtctgtgtaaccaatataacatctattt +gttatctgattgcctacttatggctttgcggtcgtggcgactaatgtctccaatcctttt +gaggtcggtaccaactccctttaaattacgctgtgcaggctcatgcactgcatacatata +cggtagcaggtagggacctcacgcacccttattataatcaatagtagttatcagtcaacg +aggcaggaatgctgaggtcgaggtgttggtatattttctatgtgccgtctaggcgactat +cacgcattaccaggcgagatttaagccaattttgaatatagtcaacgtaatttttactat +gggttccaccgaaacgccttgcacaactaagaatcccataaaatatcgatatcaaataaa +agattgtgtcaataccttcatatatattttttcggttgactaacgtgaactaaggttagg +ggttttgtatgtctatataggaaacagtttcttttctgtcctactttagtaaagtcttca +agccttactccaaaatcacggtgattaagccgttactcagcagcatgattctgcctgctc +gggtcctaaaatccagccttgtaagagtcgctgtgtattagctagggagacctttgttaa +aaaggatatatcgcggcgggatgtgagtgcgtggcgcatactcaatcttcagctcgtgtc +attataatatctctcccccacgcttttcactagatatgccgtgtaagcaaacaccttatg +cttaatttcgaaaatattggtacttgaaaaaagctgtaggggtacttaatgtctggtagg +agatcaggagagaattgagtgtaaaaccgtaaagccctcacctgacttcatgtaaatggc +ttagaagactccatgatttaataaatactacgaaggaaagactggatctaaagataactc +tagtaaggccaactcccttcaatgctgttgccagttataatccaagagctgtccttttct +gaaccatagcggcttctgaagcgaactagaagcaaagttggttctagccagacagccaca +taccctgtacgggtgtattactaaaactggtccggtattagttcaccaagggaggaatta +ggcaaaggatctaggtatgcaagtcggagtattacatccctaccctgaatccatcaatag +gttcctctgtactggccttcgcaatgagtattcaaggttgtacagccgtataataataag +atagtgactatgaacgggaagtaacccgctcaccttccccaaaacattgttatatctaag +tattaaagtctgccgtagtgttaatactcgaaaataaacaactggcaaattacaccgcac +ttaagccgcttttgatttatatttttccaatgcgcttttaaaaataattcagtcctacat +actaattaagacccttaaacggagatatcacaagttaagttttaaccatctcgactaggt +ggaactatagatacccaactcaatttatcattacctgtaatgttcctagaaggattgcat +ttcatgtcaagacggtggagtttcacagcgaaacttcagtgtgaacagattctgagaaat +cacctaaacctattagtcagagcacccggttagaaccagttgtcaaaaaatagagcggtt +gcatgagacagaagtaacgatgagatccgttgtaacgttgagacatctggcctatcgtca +atacagtcctcccttaaaaatatttttaaatactaggcaaacccaacataggttagtcct +atgtgatacgccacatggtatatcattttgtaacgttacctagggataatcaggaagtgg +aattacgcaaaagtagacagtgaaatgcttagggttatagtctagtccaaagataaagga +taaagcacgtcagagaactatattagccgaatgggaatcattgttaggagactgtggatc +atgtctaaaaagcaacgcagaaacagtcatcgaaaaaatctcgtttttgtttgaatctaa +aagagctttgatgaccgatagtacctgtatactagttactgtattacgtgtctaatgatt +tcggattggggtccccagaatcagacgtcattgtagacgattcaagtttaccaatttaat +ttcccagctctccttggagaactatcgccaataattgcagtcactttccttttctgaaac +gataaagccgtcagagttctctgcaacgttggacttacctgaggttctaacccactttcg +gttctaatagtagttaacgacacaacgaataacctttactgtggggctttcacgatattt +tttcgcttattattaatggttacgtcataagctggtgtccaaattaaggttaccggcttc +gcagagtagttgtatccaagtataacttccctaatcataagatcgaggtagaaaattaat +gctgtctctaaccgaacagatatgtcccactatgtggtatggacgttgctaattacttct +gaagggaaattggtcattatggatacgtgtctaccatcaggtcggacgcagatatggttc +tgtcttcagttgatccaccgttctttataggataataactgacgattaaagattatggta +aatagattaagccaattctcttcttgtcagtgaagcatccttaactgacttgctctgcag +cccctcatacatttagctattcaaagtaccggctcgtttcaaactctcccacctttggaa +gaggttgtcaacttgataagtatatcatttacagcattttttcggacgtacctctaatgt +ttcattgcagaaaattagttttttctatcgcacattttgcaagtaacgttagagacacaa +ttatctgcgaatgaactgctagatctgacgaccgggagcctcgcaaatatcaaaaaagac +tgacatatatcaaggagtcgttgacaagtgctggtaagtcaattggtttatctgtcccgg +cgtttcgatcttaagctgaccatgcacggcagagtaatgtcactctcgttcttacaagtc +tgtctccaagggtcggcaaaaaagacccctccattctcgagcccactcacgatatgtagg +gacgacaacttgtgcggcttatgaattgtctggactgcgggcgagggtccatatctccga +agttagaagggacatacctttagatgataagatcaattcttattgacgaaattcatccac +aacggggaacaacttcaccctagacttacgtctgaaaagacacctagcgtcttataaaag +gtcagtgccccgtttcgtaaggctggaattacctacgcaaacttaaacctcgcgcccttc +cttacgtatcgacaagatagaggctatcgcgaatgtactacggaggcatgaatcatatac +tagaaccaagtgcctgtgatattaacaagatgatccgacgcgagcaccgtaattctaggc +ataaaactccagcaatttgggggccgaaaacaaatgacgttagctaattaattatatgac +atgatcaaaggaggtcaatcacgcatcgagttcgacgtatattcattgaacttcgtgcgt +ttgaaagaaacttttatgaaggcaaaattgatcctgtctcctatttcatgcgtacctcct +agttgataattccccgagcagtggttaggacacttttgtcggtatcaagttccggtctca +aaacgtaaaattctgtaatctgtatggatggtctgtgaattagttaatttttatgaagtc +gtcgagacgcagttcctattgatttattctaaacggagatgtgcttcgtgggactcggaa +gtagatctgtgtttatgattattgctactttagatgctgactgttaactccgtgttgttt +ttcaaccgtatatcacaaccgaattggatagaacctatagtttcaagttctgccacaagg +tatcatatttacagttagtgctggttgcttctttcaaacgtggtgagtttgtgctatcac +gtcaacggtagagctcagtggaccgagtgcgcgttcaaccctgttccagagagggtgtga +tagcacatataccacgctcgtcgaggcgttcatgatagtttgcaagagccggtgttaaac +acatattattattgttatccaactaatcggacctatgcataaagcattgtctaaacagaa +taattgcctatatacggtagttttagtgatttatatcttagtatcagttagagcttcgaa +ctcttcaggttcctcatatttaacgttcttcgaaagcgaaaacttctacaaacgaatgta +agcggttttccaagtagtacctataaatcacagaaagatctgtctcagtatagttgaaat +ggtattcagctagtgacgtgtaccaattatcatagttcactcaagcaagacgctcattaa +cgaatatagacaagacactatatcatataataaaaaagaacatggtgctcgaacatagtt +gaattcaccatattgaaggggaatgctgacatgtaattcgctactagacgatcaattccc +tacttgtcaaagttgaactggtacgttcttggaattaaatatgattgcgctggaccaaat +tgcgacttcttgagtttcagggcaaacgattgagccggaggatgtccgtctcttaccttt +cttgcttatgataaacgacggtccctgtacatcactgggaattctcagcaaaaataattg +ggtaaatcgagactcgatgtattcggccacaaaggtgttagacgttaaagattattcaac +ggggcgataataggatcataaccggtatgcaagcgcattgaaagagccatgagatcctta +tccgataaacgctgcacggtatgtgcagccttattgtcgatcacgaatttataaatgtag +tctgggctgtaagttgaagacctaagttataatgaagtgcaataccaaatcgattcatag +tggattatcagactcaagatatctcctgataaattacagttgttaagatacggataaaat +gagatttaagattagcagcctctaatctgtttcaatcccgttggaatgtggtatgcgatc +aaggttaagttaaaatcaagcctgtcttcagtcttgattcttgttctgccatcgcatgcg +gtctacgtgagttaatatgtagcttacgttctagcttgtgctaatctgagtatagattcg +tagaggaatattatcaagcttccacgcctcaacgtacgtgtattggtcacacaagacact +aaaagtggaagtagcgtaaactatagtctagttgttaaatgctcagttcttgttatattc +gatatactcttggctaatttatgtctgagtatataaaattaatgatattaacttgcattt +cacggatcccttagaaaaagattttgaccgagcgcattataaacggttacaccgaatcaa +tagaagcatacccaatagctttctttgaatttattgcctgcgcaacttggctgactctct +agatccgaataattctatatggtcgtgacgaaactagttcattactgtttaaaatgccaa +catgtcttttgggccgataatggctctttgcaaaattactcaatgatacgattgatcaaa +gcggtagttgctagtggtagcatgtaagtctatcaaatgtctgattatccgaaaatcttc +caaaagagtccacgtaccatatctatctcatagcgacgcgaggggaaccttatctaacta +tcattccatttaccgggtgactctcgatgcaggatccgattgggataaattgcccagaaa +tggctcattcctgactaagggtaaggccgttctcagcaagggaaccccgcgaatctaggc +ttataccatctagattgttaactacttgcctgtagttctacagccatactggacagttgt +ttctaaatgatcgggattcatgctagcactcctctgaatgcaccgcgtaagtttaactat +tacgtccgtgggcagataaggatggaggctgtatgtatcttaactgttacctaatatggc +tggtaattatcaaagtaaggaccttaatgccatagcgctagcaatcgctttgtatactga +ccatgtgccaacctctcttaatctgtaaaatataatgtcttagctaactgtggacgatca +tgtctctgcctagagcttcgctgtatcaattcctatagccagcgtactagtgacacaaca +acaccgtgtgagaaaagatattagtccttacgtctgtctctctacagcttattgatgagg +attgaacatggacatatagctccccctcaaaagcagatgctacctctttattccattctc +gaacatttgccgaacttaatttcgacaaacctgaggtcacgtcttaatttatcggtaacg +tcacgtccctttgagactggataaatatattaccaggggccaacgagcaattgttggagg +cgcttctataatacaaggtgtcttgtcaaagaaagacggcgtgcgtctcgtgcaactcac +ttaaccaatattaatgtgaaacccccctctctcacatcttatgcggtgtactgccctggt +acatttcctgtacaggactccaacagtgtagattcctaagatagctgttggagttgcctc +acgccagatcgaaaaactgaataaactagtgagctgagctgcagaaataccgcttaatta +cttatgactagttcaaagggacctacgtgatgtcagacattgcaaggaagaaattaggtt +tgtgcgtcattttggctggactagcactccttacttcccctactattcaaatgtcgtaaa +cagcatgagacaggatcgtgctgacatttaaggtctattgggaacgaggctacctttggt +cgcgcgctcgcgttctccgaatgaccgaaatgcatgagcacagtatgcaattgcttatag +atctaaggtctggtcgttgaaaccaagcacgtaggcctgggaaatcagttcttcctcagc +aactacacaaaagcgtccaagcattagtacttgtagtaaatgtccgaacctatgcgctca +tttgaaagtcaaaaaatatttttaagcagtaggcacctaacccgattcctctacttagta +gctttctttgattctcagaattgactgcaatatcactgcacaattctgtgccattactag +acttctctgtattaacgtctcatcttactaacactcgcctaggacacatctgagagtgaa +gtatttcaatacatttactgaaatcttcagttctaaaatccccgaataaggctcttatcg +gtttggccaacacaagaaaaaaacttcttgcaccactcaccttcatacgcaggagcctgg +ggaacttagtaataactatttcggcagacaaagcttataacaagttgccggcgcgtataa +tatttaaaagaccccttgagctgctcaattaaaacgctcacctggtataggctattagat +agtgccgtcttagtaaggggcgggaattatcggataaactgatattttgataaaataacc +gacttgttcacgacataagtcactaaggagattttatctttctccaaagtatatcttcct +tggataatttcaaagcgctgcaatttaagttctgttactagtttatgctgctgggaggtg +accggaaggcgtagtaatctagaggcaaattataagaagttcatcatatcattttcgact +acaaaaacaaggtgttgtatgccggcgcattgtgtaaactggacgagtaccctagatgga +aaattatacgttaagccaagatttcgatgtaatgataattacctacacatttttgctatc +cataggaacaagagctgttctataggctcgtggcatacgaacatttgctgccgctatgaa +tattggaagctcttcaactacagactctattcttaattgccgtcgaaaatgggccgaatc +ggctattattaatactcggtttttccgaggggattgttgtcgacagtcgtaattattatt +aatattgatgttggtgaggtcatttaaatacaaccttgcagacaatgaataagggatcca +atctctcatactccttttacaattgctcatgcccctatgcaaaccttatgccgccacacc +tccgcaactctctcttctgaactgtaagtagcttcattactggtttgagactatactgaa +gctgatgacattctaaaatggctattttcgaatgtgattcataatgtttatcgtttggga +tggcagaatcacgttatttttgatatagcccgggtattctattgtatagaacgtatgcta +caagtcattccccgaagaagactagaagtaaacaacatgcgaccatcgttaagccacgca +aggctgtagctttatttcccgataacctatcttccataaatagcggacagcaggatactg +acgctcaacatcagtggttatggtctaatttttaacttttaataaggtaacttcagcagg +catacacagtaactctttaatttataatcaaattagaagtctgacacttcttatattttt +ctatcatccaacgcgatcgcccattagcttattgtgttactaataacgtatctaaaccaa +tccttttcaagctactgcctatattgtcaatatatacaaacaacaggatagtaggctgct +taaaaaatattgtcaaccgtgtacgctttacaatacccggaaatcacaaactttgtagac +aacgagtgaaatttatacactacgaagggccagcgtacaagacccatgaattaggcgata +tgtttattctgacatattggtttatccttaatctgtcgctgtaaaatgaagccgccccca +tccctgcgaattttttttcgaagattcacgactgaaatataaatacgtttggctatattt +atgttggagggaggcaatagcctttactgttaaccgaagatttagccagtgagtgtgaca +ctaaaacactggaataaatgcaggcgttcttctgggtaaaaggtttagtcaatctcgcct +ataagttcatatagctctggatataattatctggcccatgcatttatcatggcgcttggt +gccctgtgtgaagccggcctctcatattgaaggtccgaagtattccatgtacattaagat +cactctctcattcatgcatcttggcttaacaaatctggttgtccaagctttccaggcacg +tatggtacaaattcggatcgaatacttataaaaatgatatgttaaactgtctaaaacgct +catctacaaagtaaagtgcactaaccaatagagtctcaagaccgtgtaatgctggtgcac +tgaatgtgtaatacggttagaagggattagttatgttacaaatccattgaaaacttaaga +agcattgcgtgctcggagggtgcatcttttatcaagagactaacattattttcaacgacg +tacatgctttacaatagggtacttatcaaacgccgagaaacgcgcctatagtgatgttat +gattatgacccgatatccattggaccgaattttatgtaggttcccagcgtactcgcgtaa +tatctcggtattgccataatgtaatacttgtcggtctctcccagatgaaaaagcgttaca +gagtatttcaatgaaaaacagcgcgcaacgtcaatacctttaggggtaacggccgctgat +ttcatatagatatacgataagttggtatagctctactaggtggcatccacaatcgttgca +tttactatagctggttacaatcataatctataccgttccttacatactaccatagcggga +tagcgtttttttgccgttgattgggtttaagaggatgtcagtctcattatatccgattcg +gtgggagagccgttgttttcaaatcgcacactttgtgacataatgtacaagataacaaaa +ctgatataagatataaactgtcaatatcaccttgacacttgaatcaaagtaaattaactc +gcaaatataatttgactaattgggtgcagatttctcaattaataaaaaaatggcaccgga +tgggcttacaagccccttatcattcacttgtatcatgatttccaagaacaatagaatttg +ctagcaagtatgaacagagattcgaattgcatccacagtacgccggagcgtttattttaa +tgtggatatgacgatgtactgttggcggcatttgctagtaaccggtccttatttacgtag +cgcacacgtaagcatgtctgggagaaatatggtggtacaatctcagagaaagattacagt +ttggtttaaataggacttatcgggtcggaagtggaacttaataagcagtacacaattggg +caacagacgtcttgcctattacaataggattacaatgcgttagatttcagacacgttcgt +gtttggctattcgtcaattccctaaatagttagacgatcaactattatcaaagtgattct +ttgttcatcctccattcatgtaacagatggcacactacgcataacgccgaggaattttaa +cgagatttaagagagcagttcgggcacaacccacttgactttataacagctcggcagcat +aaacggtaatatgtgacaaatttccaaacgttataagaacgtatgtgtacttagaaaact +aagtggttcatgttcaacagatgtgacgcagcaagcctaacttatctattggttttgcta +taaaagaacaaagttacacagaatcctaagggcttgtttcacacttatgcctagtgcttc +accatcttaaaatagcgaaaccggcacgaatcaaaccttaaaacaatgcgcagatattgg +tgatggtgactccgggtatgataatggtaactgttgaccagcgcccacctcatcgaagta +tagaaagtggttaggataaggatgagaccgaacttatttccggccataactttagatttt +ctacctagtacacaacatcagggcggacacgaaaccgccatcacatcatataccaggttt +aatttgcttaatgggggaagtgtcaacgaaccttcgaactttagcaggcatatggccatt +atatatggccccagagcagaatgctacagcagacaaaatttggatttatgtagtttaata +cctatcaaacttggtgtgaccatacttgtctaacgacagtgcacaaagtgtaagttacaa +ttattactactcagcagcttctgcaatgataaaatcttatcatacacgtcacatatgata +atatctacttagggggaacgggctccacaacctacatagtactcaatacttacactattc +gacaggcacaccaaacctgtacagtcccaaaagattgagtcaactttgcagtactgcaga +tcacagtaatagcttagttagcgagtcaaaattagttttctacgagactgcacgaccgtg +caaatttccgatgtgttggctacaaatagcaacgtatgaatttgtttgaagccacgtaaa +ctgtacaaccttagagataagtctcaggctactaaaaacacgttgtggcactaacaggat +catggttgattcttacttattcggctgaccggcccaataagtaaccttcaactagaacag +aataatcgggagtagtttaattcagtcaaggtgcaggtctcattgtaactaacaagctct +gtgtaaccaagttaaaatcgttttcttagcggattccctacttatggatttgagctcgtc +cacaatattcgatacaagaagtttgtggtccgtaacaacgaaattttaattacgctgtgc +agcctcatccaaggaattaatagaaggttgatggtaggctccgaacgctccatgattata +atcaagtggactgtgcagtaaacgaggaaggtatcctgacgtcgtggtgttcgtttttgt +tatttgtgccctatacgagtagataaaccatgaacagcacagtgtgaacccatggttgat +tttaggctaccttatttttaatttccgttacacagaaacgaattccacaactaacatgcc +attaatttttcgatatcttataaaagatggtcgaaattcattcatttattttttttcggt +tctcgaaagtcaactaagctgtcgcgttttgtttctctttagaggtaaaagtggctttga +tctcctacgtttggatactagtcaaccattactccatttgatccgtgagtatcacctgtc +taacatccagcattatgactcctcggcgaagaaaagacacacttcttagagtcgatgtgt +attagctagggacacagttgtttaatacgatagtgagcccagggagggcagtgcgtcccc +cagtagatttattcagctagtgtaagtataagatatctcacccacgaggttcaagtgata +tgcagtcttagaataatacttatcctgaatttcgatattatgggtacttcaataatccgc +tagcgctactttatgtctcgttggacagcaggacacatggcagtcttaaacactaaagac +atcacctgaatgaatgtaatgggattacaagaatcaatgaggtattatatacgacgtagg +aaactctggatatatacagtaatctagttacgccatcgcacttcattcctctggaaactt +agaagacatcagctgtacgtggaggaaccagacccccgtatgtagccaaatagaaccaaa +gttgcttatacaaacacacccaatgacaatggaccgctggagttcgtaaactcggaacgt +agtactgcacaaacccagcatttagcaataggagctacgtatgcaactcccacgtggtaa +taccttcaagctatcaatatataggtgcctagctaatcgcattcgcaagcagtattcaag +cttgtaaaccagtataataattacagaggctctatgaaacccaactttccagctaaaagt +cccaattaaatggttatttc diff --git a/src/benchmarks/coreclr/BenchmarksGame/binarytrees-2.cs b/src/benchmarks/coreclr/BenchmarksGame/binarytrees-2.cs new file mode 100644 index 00000000000..024e31c0021 --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/binarytrees-2.cs @@ -0,0 +1,106 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Adapted from binary-trees C# .NET Core #2 program +// http://benchmarksgame.alioth.debian.org/u64q/program.php?test=binarytrees&lang=csharpcore&id=2 +// aka (as of 2017-09-01) rev 1.3 of https://alioth.debian.org/scm/viewvc.php/benchmarksgame/bench/binarytrees/binarytrees.csharp-2.csharp?root=benchmarksgame&view=log +// Best-scoring single-threaded C# .NET Core version as of 2017-09-01 + +/* The Computer Language Benchmarks Game + http://benchmarksgame.alioth.debian.org/ + + contributed by Marek Safar + *reset* +*/ + +using System; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace BenchmarksGame +{ + [BenchmarkCategory(Categories.CoreCLR, Categories.BenchmarksGame)] + public class BinaryTrees_2 + { + const int minDepth = 4; + + [Benchmark(Description = nameof(BinaryTrees_2))] + public int RunBench() => Bench(16, false); + + static int Bench(int n, bool verbose) + { + int maxDepth = Math.Max(minDepth + 2, n); + int stretchDepth = maxDepth + 1; + + int check = (TreeNode.bottomUpTree(stretchDepth)).itemCheck(); + int checkSum = check; + if (verbose) Console.WriteLine("stretch tree of depth {0}\t check: {1}", stretchDepth, check); + + TreeNode longLivedTree = TreeNode.bottomUpTree(maxDepth); + + for (int depth = minDepth; depth <= maxDepth; depth += 2) + { + int iterations = 1 << (maxDepth - depth + minDepth); + + check = 0; + for (int i = 1; i <= iterations; i++) + { + check += (TreeNode.bottomUpTree(depth)).itemCheck(); + } + checkSum += check; + + if (verbose) + Console.WriteLine("{0}\t trees of depth {1}\t check: {2}", iterations, depth, check); + } + + check = longLivedTree.itemCheck(); + checkSum += check; + + if (verbose) + Console.WriteLine("long lived tree of depth {0}\t check: {1}", maxDepth, check); + + return checkSum; + } + + + struct TreeNode + { + class Next + { + public TreeNode left, right; + } + + private Next next; + + internal static TreeNode bottomUpTree(int depth) + { + if (depth > 0) + { + return new TreeNode( + bottomUpTree(depth - 1) + , bottomUpTree(depth - 1) + ); + } + else + { + return new TreeNode(); + } + } + + TreeNode(TreeNode left, TreeNode right) + { + this.next = new Next(); + this.next.left = left; + this.next.right = right; + } + + internal int itemCheck() + { + // if necessary deallocate here + if (next == null) return 1; + else return 1 + next.left.itemCheck() + next.right.itemCheck(); + } + } + } +} diff --git a/src/benchmarks/coreclr/BenchmarksGame/binarytrees-5.cs b/src/benchmarks/coreclr/BenchmarksGame/binarytrees-5.cs new file mode 100644 index 00000000000..1b1d02e8c50 --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/binarytrees-5.cs @@ -0,0 +1,133 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Adapted from binary-trees C# .NET Core #5 program +// http://benchmarksgame.alioth.debian.org/u64q/program.php?test=binarytrees&lang=csharpcore&id=5 +// aka (as of 2017-09-01) rev 1.1 of https://alioth.debian.org/scm/viewvc.php/benchmarksgame/bench/binarytrees/binarytrees.csharp-5.csharp?root=benchmarksgame&view=log +// Best-scoring C# .NET Core version as of 2017-09-01 + +/* The Computer Language Benchmarks Game + http://benchmarksgame.alioth.debian.org/ + + contributed by Marek Safar + *reset* + concurrency added by Peperud + minor improvements by Alex Yakunin +*/ + +using System; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace BenchmarksGame +{ + [MaxIterationCount(40)] // the default 20 is not enough, the benchmark has multimodal distribution and needs more runs + [BenchmarkCategory(Categories.CoreCLR, Categories.BenchmarksGame)] + public class BinaryTrees_5 + { + public const int MinDepth = 4; + + [Benchmark(Description = nameof(BinaryTrees_5))] + public int RunBench() => Bench(16, false); + + static int Bench(int n, bool verbose) + { + var maxDepth = n < (MinDepth + 2) ? MinDepth + 2 : n; + var stretchDepth = maxDepth + 1; + + var stretchDepthTask = Task.Run(() => TreeNode.CreateTree(stretchDepth).CountNodes()); + var maxDepthTask = Task.Run(() => TreeNode.CreateTree(maxDepth).CountNodes()); + + var tasks = new Task[(maxDepth - MinDepth) / 2 + 1]; + for (int depth = MinDepth, ti = 0; depth <= maxDepth; depth += 2, ti++) + { + var iterationCount = 1 << (maxDepth - depth + MinDepth); + var depthCopy = depth; // To make sure closure value doesn't change + tasks[ti] = Task.Run(() => + { + var count = 0; + if (depthCopy >= 17) + { + // Parallelized computation for relatively large tasks + var miniTasks = new Task[iterationCount]; + for (var i = 0; i < iterationCount; i++) + miniTasks[i] = Task.Run(() => TreeNode.CreateTree(depthCopy).CountNodes()); + Task.WaitAll(miniTasks); + for (var i = 0; i < iterationCount; i++) + count += miniTasks[i].Result; + } + else + { + // Sequential computation for smaller tasks + for (var i = 0; i < iterationCount; i++) + count += TreeNode.CreateTree(depthCopy).CountNodes(); + } + return $"{iterationCount}\t trees of depth {depthCopy}\t check: {count}"; + }); + } + Task.WaitAll(tasks); + + if (verbose) + { + int count = 0; + Action printAndSum = (string s) => + { + Console.WriteLine(s); + count += int.Parse(s.Substring(s.LastIndexOf(':') + 1).TrimStart()); + }; + + printAndSum(String.Format("stretch tree of depth {0}\t check: {1}", + stretchDepth, stretchDepthTask.Result)); + foreach (var task in tasks) + printAndSum(task.Result); + printAndSum(String.Format("long lived tree of depth {0}\t check: {1}", + maxDepth, maxDepthTask.Result)); + + return count; + } + + return 0; + } + } + + public struct TreeNode + { + public sealed class NodeData + { + public TreeNode Left, Right; + + public NodeData(TreeNode left, TreeNode right) + { + Left = left; + Right = right; + } + } + + public NodeData Data; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public TreeNode(TreeNode left, TreeNode right) + { + Data = new NodeData(left, right); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static TreeNode CreateTree(int depth) + { + return depth <= 0 + ? default(TreeNode) + : new TreeNode(CreateTree(depth - 1), CreateTree(depth - 1)); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public int CountNodes() + { + if (ReferenceEquals(Data, null)) + return 1; + return 1 + Data.Left.CountNodes() + Data.Right.CountNodes(); + } + } +} diff --git a/src/benchmarks/coreclr/BenchmarksGame/fannkuch-redux-2.cs b/src/benchmarks/coreclr/BenchmarksGame/fannkuch-redux-2.cs new file mode 100644 index 00000000000..03085d106bc --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/fannkuch-redux-2.cs @@ -0,0 +1,81 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Adapted from fannkuch-redux C# .NET Core #2 program +// http://benchmarksgame.alioth.debian.org/u64q/program.php?test=fannkuchredux&lang=csharpcore&id=2 +// aka (as of 2017-09-01) rev 1.2 of https://alioth.debian.org/scm/viewvc.php/benchmarksgame/bench/fannkuchredux/fannkuchredux.csharp-2.csharp?root=benchmarksgame&view=log +// Best-scoring single-threaded C# .NET Core version as of 2017-09-01 + +/* The Computer Language Benchmarks Game + http://benchmarksgame.alioth.debian.org/ + + contributed by Isaac Gouy, transliterated from Mike Pall's Lua program +*/ + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace BenchmarksGame +{ + [BenchmarkCategory(Categories.CoreCLR, Categories.BenchmarksGame)] + public class FannkuchRedux_2 + { + [Benchmark(Description = nameof(FannkuchRedux_2))] + [Arguments(10, 73196)] + public int[] RunBench(int n, int expectedSum) => fannkuch(n); // expectedSum argument needs to remain to keep old benchmark id in BenchView, do NOT remove it + + public int[] fannkuch(int n) + { + int[] p = new int[n], q = new int[n], s = new int[n]; + int sign = 1, maxflips = 0, sum = 0, m = n - 1; + for (int i = 0; i < n; i++) { p[i] = i; q[i] = i; s[i] = i; } + do + { + // Copy and flip. + var q0 = p[0]; // Cache 0th element. + if (q0 != 0) + { + for (int i = 1; i < n; i++) q[i] = p[i]; // Work on a copy. + var flips = 1; + do + { + var qq = q[q0]; + if (qq == 0) + { // ... until 0th element is 0. + sum += sign * flips; + if (flips > maxflips) maxflips = flips; // New maximum? + break; + } + q[q0] = q0; + if (q0 >= 3) + { + int i = 1, j = q0 - 1, t; + do { t = q[i]; q[i] = q[j]; q[j] = t; i++; j--; } while (i < j); + } + q0 = qq; flips++; + } while (true); + } + // Permute. + if (sign == 1) + { + var t = p[1]; p[1] = p[0]; p[0] = t; sign = -1; // Rotate 0<-1. + } + else + { + var t = p[1]; p[1] = p[2]; p[2] = t; sign = 1; // Rotate 0<-1 and 0<-1<-2. + for (int i = 2; i < n; i++) + { + var sx = s[i]; + if (sx != 0) { s[i] = sx - 1; break; } + if (i == m) return new int[] { sum, maxflips }; // Out of permutations. + s[i] = i; + // Rotate 0<-...<-i+1. + t = p[0]; for (int j = 0; j <= i; j++) { p[j] = p[j + 1]; } + p[i + 1] = t; + } + } + } while (true); + } + } +} diff --git a/src/benchmarks/coreclr/BenchmarksGame/fannkuch-redux-5.cs b/src/benchmarks/coreclr/BenchmarksGame/fannkuch-redux-5.cs new file mode 100644 index 00000000000..a8317074dc9 --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/fannkuch-redux-5.cs @@ -0,0 +1,139 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Adapted from fannkuch-redux C# .NET Core #5 program +// http://benchmarksgame.alioth.debian.org/u64q/program.php?test=fannkuchredux&lang=csharpcore&id=5 +// aka (as of 2017-09-01) rev 1.6 of https://alioth.debian.org/scm/viewvc.php/benchmarksgame/bench/fannkuchredux/fannkuchredux.csharp-5.csharp?root=benchmarksgame&view=log +// Best-scoring C# .NET Core version as of 2017-09-01 + +/* The Computer Language Benchmarks Game + http://benchmarksgame.alioth.debian.org/ + + contributed by Isaac Gouy, transliterated from Oleg Mazurov's Java program + concurrency fix and minor improvements by Peperud + parallel and small optimisations by Anthony Lloyd +*/ + +using System; +using System.Threading; +using System.Runtime.CompilerServices; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace BenchmarksGame +{ + [BenchmarkCategory(Categories.CoreCLR, Categories.BenchmarksGame)] + public class FannkuchRedux_5 + { + static int[] fact, chkSums, maxFlips; + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static void firstPermutation(int[] p, int[] pp, int[] count, int idx) + { + for (int i = 0; i < p.Length; ++i) p[i] = i; + for (int i = count.Length - 1; i > 0; --i) + { + int d = idx / fact[i]; + count[i] = d; + if (d > 0) + { + idx = idx % fact[i]; + for (int j = i; j >= 0; --j) pp[j] = p[j]; + for (int j = 0; j <= i; ++j) p[j] = pp[(j + d) % (i + 1)]; + } + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static int nextPermutation(int[] p, int[] count) + { + int first = p[1]; + p[1] = p[0]; + p[0] = first; + int i = 1; + while (++count[i] > i) + { + count[i++] = 0; + int next = p[1]; + p[0] = next; + for (int j = 1; j < i;) p[j] = p[++j]; + p[i] = first; + first = next; + } + return first; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static int countFlips(int first, int[] p, int[] pp) + { + if (first == 0) return 0; + if (p[first] == 0) return 1; + for (int i = 0; i < pp.Length; i++) pp[i] = p[i]; + int flips = 2; + while (true) + { + for (int lo = 1, hi = first - 1; lo < hi; lo++, hi--) + { + int t = pp[lo]; + pp[lo] = pp[hi]; + pp[hi] = t; + } + int tp = pp[first]; + if (pp[tp] == 0) return flips; + pp[first] = first; + first = tp; + flips++; + } + } + + static void run(int n, int taskId, int taskSize) + { + int[] p = new int[n], pp = new int[n], count = new int[n]; + firstPermutation(p, pp, count, taskId * taskSize); + int chksum = countFlips(p[0], p, pp); + int maxflips = chksum; + while (--taskSize > 0) + { + var flips = countFlips(nextPermutation(p, count), p, pp); + chksum += (1 - (taskSize % 2) * 2) * flips; + if (flips > maxflips) maxflips = flips; + } + chkSums[taskId] = chksum; + maxFlips[taskId] = maxflips; + } + + [Benchmark(Description = nameof(FannkuchRedux_5))] + [Arguments(10, 38)] + public int RunBench(int n, int expectedSum) => Bench(n, false); // expectedSum argument needs to remain to keep old benchmark id in BenchView, do NOT remove it + + static int Bench(int n, bool verbose) + { + fact = new int[n + 1]; + fact[0] = 1; + var factn = 1; + for (int i = 1; i < fact.Length; i++) { fact[i] = factn *= i; } + + int nTasks = Environment.ProcessorCount; + chkSums = new int[nTasks]; + maxFlips = new int[nTasks]; + int taskSize = factn / nTasks; + var threads = new Thread[nTasks]; + for (int i = 1; i < nTasks; i++) + { + int j = i; + (threads[j] = new Thread(() => run(n, j, taskSize))).Start(); + } + run(n, 0, taskSize); + int chksum = chkSums[0], maxflips = maxFlips[0]; + for (int i = 1; i < threads.Length; i++) + { + threads[i].Join(); + chksum += chkSums[i]; + if (maxFlips[i] > maxflips) maxflips = maxFlips[i]; + } + if (verbose) Console.Out.WriteLineAsync(chksum + "\nPfannkuchen(" + n + ") = " + maxflips); + + return maxflips; + } + } +} diff --git a/src/benchmarks/coreclr/BenchmarksGame/fasta-1.cs b/src/benchmarks/coreclr/BenchmarksGame/fasta-1.cs new file mode 100644 index 00000000000..c736a03b588 --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/fasta-1.cs @@ -0,0 +1,294 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Adapted from fasta C# .NET Core program +// http://benchmarksgame.alioth.debian.org/u64q/program.php?test=fasta&lang=csharpcore&id=1 +// aka (as of 2017-09-01) rev 1.1 of https://alioth.debian.org/scm/viewvc.php/benchmarksgame/bench/fasta/fasta.csharp?root=benchmarksgame&view=log +// Best-scoring C# .NET Core version as of 2017-09-01 + +/* The Computer Language Benchmarks Game + http://benchmarksgame.alioth.debian.org/ + + contributed by Serge Smith + further optimized (rewrote threading, random generation loop) by Jan de Vaan + modified by Josh Goldfoot (fasta-repeat buffering) +*/ + +using System; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace BenchmarksGame +{ + [BenchmarkCategory(Categories.CoreCLR, Categories.BenchmarksGame)] + public class Fasta_1 + { + const int LineLength = 60; + + const int IM = 139968; + const int IA = 3877; + const int IC = 29573; + static int seed = 42; + + [Benchmark(Description = nameof(Fasta_1))] + public void RunBench() => Bench(5000, false); + + static void Bench(int n, bool verbose) + { + MakeCumulative(IUB); + MakeCumulative(HomoSapiens); + + using (var s = (verbose ? Console.OpenStandardOutput() : Stream.Null)) + { + MakeRepeatFasta("ONE", "Homo sapiens alu", Encoding.ASCII.GetBytes(ALU), n * 2, s); + MakeRandomFasta("TWO", "IUB ambiguity codes", IUB, n * 3, s); + MakeRandomFasta("THREE", "Homo sapiens frequency", HomoSapiens, n * 5, s); + } + } + + public static IEnumerable TransformQueue(BlockingCollection queue, + Func transform, int threadCount) + { + var tasks = new Task[threadCount]; + + for (int i = 0; i < threadCount; ++i) + { + T input; + if (!queue.TryTake(out input, Timeout.Infinite)) + break; + + tasks[i] = Task.Run(() => transform(input)); + } + + int pos = 0; + while (true) + { + if (tasks[pos] == null) + break; + + yield return tasks[pos].Result; + + T input; + tasks[pos] = queue.TryTake(out input, Timeout.Infinite) + ? Task.Run(() => transform(input)) + : null; + + pos = (pos + 1) % threadCount; + } + } + + + + static void MakeRandomFasta(string id, string desc, + Frequency[] a, int n, Stream s) + { + var queue = new BlockingCollection(2); + + var bufferCount = Environment.ProcessorCount + 4; + + Task.Run(() => + { + var len = LineLength * 40; + var buffers = Enumerable.Range(0, bufferCount) + .Select(i => new int[len]).ToArray(); + var index = 0; + for (var i = 0; i < n; i += len) + { + var buffer = n - i < len + ? new int[n - i] + : buffers[index++ % buffers.Length]; + + FillRandom(buffer); + queue.Add(buffer); + } + queue.CompleteAdding(); + }); + + byte[] descStr = Encoding.ASCII.GetBytes(">" + id + " " + desc + "\n"); + s.Write(descStr, 0, descStr.Length); + + foreach (var r in TransformQueue(queue, + rnd => SelectNucleotides(a, rnd), Environment.ProcessorCount)) + { + s.Write(r, 0, r.Length); + } + + } + + private static byte[] SelectNucleotides(Frequency[] a, int[] rnd) + { + var resLength = (rnd.Length / LineLength) * (LineLength + 1); + if (rnd.Length % LineLength != 0) + { + resLength += rnd.Length % LineLength + 1; + } + + var buf = new byte[resLength]; + var index = 0; + for (var i = 0; i < rnd.Length; i += LineLength) + { + var len = Math.Min(LineLength, rnd.Length - i); + for (var j = 0; j < len; ++j) + buf[index++] = SelectRandom(a, (int)rnd[i + j]); + buf[index++] = (byte)'\n'; + } + return buf; + } + + static void MakeRepeatFasta(string id, string desc, + byte[] alu, int n, Stream s) + { + byte[] descStr = Encoding.ASCII.GetBytes(">" + id + " " + desc + "\n"); + s.Write(descStr, 0, descStr.Length); + + /* JG: fasta_repeat repeats every len(alu) * line-length = 287 * 61 = 17507 characters. + So, calculate this once, then just print that buffer over and over. */ + + byte[] sequence; + int sequenceLength; + using (var unstandardOut = new MemoryStream(alu.Length * (LineLength + 1) + 1)) + { + MakeRepeatFastaBuffer(alu, alu.Length * LineLength, unstandardOut); + sequenceLength = (int)unstandardOut.Length; + sequence = new byte[sequenceLength]; + unstandardOut.Seek(0, SeekOrigin.Begin); + unstandardOut.Read(sequence, 0, sequenceLength); + } + int outputBytes = n + n / 60; + while (outputBytes >= sequenceLength) + { + s.Write(sequence, 0, sequenceLength); + outputBytes -= sequenceLength; + } + if (outputBytes > 0) + { + s.Write(sequence, 0, outputBytes); + s.WriteByte((byte)'\n'); + } + } + + static void MakeRepeatFastaBuffer(byte[] alu, int n, Stream s) + { + var index = 0; + int m = 0; + int k = 0; + int kn = alu.Length; + var buf = new byte[1024]; + + while (n > 0) + { + m = n < LineLength ? n : LineLength; + + if (buf.Length - index < m) + { + s.Write(buf, 0, index); + index = 0; + } + + for (int i = 0; i < m; i++) + { + if (k == kn) + k = 0; + + buf[index++] = alu[k]; + k++; + } + + buf[index++] = (byte)'\n'; + n -= LineLength; + } + + if (index != 0) + s.Write(buf, 0, index); + } + + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static byte SelectRandom(Frequency[] a, int r) + { + for (int i = 0; i < a.Length - 1; i++) + if (r < a[i].p) + return a[i].c; + + return a[a.Length - 1].c; + } + + static void MakeCumulative(Frequency[] a) + { + double cp = 0; + for (int i = 0; i < a.Length; i++) + { + cp += a[i].p; + a[i].p = cp; + } + } + + static string ALU = + "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG" + + "GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA" + + "CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT" + + "ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA" + + "GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG" + + "AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC" + + "AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA"; + + struct Frequency + { + public readonly byte c; + public double p; + + public Frequency(char c, double p) + { + this.c = (byte)c; + this.p = (p * IM); + } + } + + static Frequency[] IUB = { + new Frequency ('a', 0.27), + new Frequency ('c', 0.12), + new Frequency ('g', 0.12), + new Frequency ('t', 0.27), + + new Frequency ('B', 0.02), + new Frequency ('D', 0.02), + new Frequency ('H', 0.02), + new Frequency ('K', 0.02), + new Frequency ('M', 0.02), + new Frequency ('N', 0.02), + new Frequency ('R', 0.02), + new Frequency ('S', 0.02), + new Frequency ('V', 0.02), + new Frequency ('W', 0.02), + new Frequency ('Y', 0.02) + }; + + static Frequency[] HomoSapiens = { + new Frequency ('a', 0.3029549426680), + new Frequency ('c', 0.1979883004921), + new Frequency ('g', 0.1975473066391), + new Frequency ('t', 0.3015094502008) + }; + + + private static void FillRandom(int[] result) + { + var s = seed; + for (var i = 0; i < result.Length; i++) + { + s = (s * IA + IC) % IM; + result[i] = s; + } + seed = s; + } + } +} diff --git a/src/benchmarks/coreclr/BenchmarksGame/fasta-2.cs b/src/benchmarks/coreclr/BenchmarksGame/fasta-2.cs new file mode 100644 index 00000000000..8f287666fb8 --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/fasta-2.cs @@ -0,0 +1,199 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Adapted from fasta C# .NET Core #2 program +// http://benchmarksgame.alioth.debian.org/u64q/program.php?test=fasta&lang=csharpcore&id=2 +// aka (as of 2017-09-01) rev 1.2 of https://alioth.debian.org/scm/viewvc.php/benchmarksgame/bench/fasta/fasta.csharp-2.csharp?root=benchmarksgame&view=log +// Best-scoring single-threaded C# .NET Core version as of 2017-09-01 + +/* The Computer Language Benchmarks Game + http://benchmarksgame.alioth.debian.org/ + + contributed by Isaac Gouy + optimizations by Alp Toker +*/ + +using System; +using System.IO; +using System.Text; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace BenchmarksGame +{ + [BenchmarkCategory(Categories.CoreCLR, Categories.BenchmarksGame)] + public class Fasta_2 + { + [Benchmark(Description = nameof(Fasta_2))] + public void RunBench() => Bench(5000, false); + + static void Bench(int n, bool verbose) + { + MakeCumulative(HomoSapiens); + MakeCumulative(IUB); + + using (Stream s = (verbose ? Console.OpenStandardOutput() : Stream.Null)) + { + MakeRepeatFasta("ONE", "Homo sapiens alu", Encoding.ASCII.GetBytes(ALU), n * 2, s); + MakeRandomFasta("TWO", "IUB ambiguity codes", IUB, n * 3, s); + MakeRandomFasta("THREE", "Homo sapiens frequency", HomoSapiens, n * 5, s); + } + } + + // The usual pseudo-random number generator + + const int IM = 139968; + const int IA = 3877; + const int IC = 29573; + static int seed = 42; + + static double random(double max) + { + return max * ((seed = (seed * IA + IC) % IM) * (1.0 / IM)); + } + + // Weighted selection from alphabet + + static string ALU = + "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG" + + "GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA" + + "CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT" + + "ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA" + + "GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG" + + "AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC" + + "AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA"; + + class Frequency + { + public byte c; + public double p; + + public Frequency(char c, double p) + { + this.c = (byte)c; + this.p = p; + } + } + + static Frequency[] IUB = { + new Frequency ('a', 0.27), + new Frequency ('c', 0.12), + new Frequency ('g', 0.12), + new Frequency ('t', 0.27), + + new Frequency ('B', 0.02), + new Frequency ('D', 0.02), + new Frequency ('H', 0.02), + new Frequency ('K', 0.02), + new Frequency ('M', 0.02), + new Frequency ('N', 0.02), + new Frequency ('R', 0.02), + new Frequency ('S', 0.02), + new Frequency ('V', 0.02), + new Frequency ('W', 0.02), + new Frequency ('Y', 0.02) + }; + + static Frequency[] HomoSapiens = { + new Frequency ('a', 0.3029549426680), + new Frequency ('c', 0.1979883004921), + new Frequency ('g', 0.1975473066391), + new Frequency ('t', 0.3015094502008) + }; + + static void MakeCumulative(Frequency[] a) + { + double cp = 0.0; + for (int i = 0; i < a.Length; i++) + { + cp += a[i].p; + a[i].p = cp; + } + } + + // naive + static byte SelectRandom(Frequency[] a) + { + double r = random(1.0); + + for (int i = 0; i < a.Length; i++) + if (r < a[i].p) + return a[i].c; + + return a[a.Length - 1].c; + } + + const int LineLength = 60; + static int index = 0; + static byte[] buf = new byte[1024]; + + static void MakeRandomFasta(string id, string desc, Frequency[] a, int n, Stream s) + { + index = 0; + int m = 0; + + byte[] descStr = Encoding.ASCII.GetBytes(">" + id + " " + desc + "\n"); + s.Write(descStr, 0, descStr.Length); + + while (n > 0) + { + m = n < LineLength ? n : LineLength; + + if (buf.Length - index < m) + { + s.Write(buf, 0, index); + index = 0; + } + + for (int i = 0; i < m; i++) + { + buf[index++] = SelectRandom(a); + } + + buf[index++] = (byte)'\n'; + n -= LineLength; + } + + if (index != 0) + s.Write(buf, 0, index); + } + + static void MakeRepeatFasta(string id, string desc, byte[] alu, int n, Stream s) + { + index = 0; + int m = 0; + int k = 0; + int kn = alu.Length; + + byte[] descStr = Encoding.ASCII.GetBytes(">" + id + " " + desc + "\n"); + s.Write(descStr, 0, descStr.Length); + + while (n > 0) + { + m = n < LineLength ? n : LineLength; + + if (buf.Length - index < m) + { + s.Write(buf, 0, index); + index = 0; + } + + for (int i = 0; i < m; i++) + { + if (k == kn) + k = 0; + + buf[index++] = alu[k]; + k++; + } + + buf[index++] = (byte)'\n'; + n -= LineLength; + } + + if (index != 0) + s.Write(buf, 0, index); + } + } +} diff --git a/src/benchmarks/coreclr/BenchmarksGame/k-nucleotide-1.cs b/src/benchmarks/coreclr/BenchmarksGame/k-nucleotide-1.cs new file mode 100644 index 00000000000..a8c50e9f834 --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/k-nucleotide-1.cs @@ -0,0 +1,205 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Adapted from k-nucleotide C# .NET Core program +// http://benchmarksgame.alioth.debian.org/u64q/program.php?test=knucleotide&lang=csharpcore&id=1 +// aka (as of 2017-09-01) rev 1.2 of https://alioth.debian.org/scm/viewvc.php/benchmarksgame/bench/knucleotide/knucleotide.csharp?root=benchmarksgame&view=log +// Best-scoring single-threaded C# .NET Core version as of 2017-09-01 + +/* The Computer Language Benchmarks Game + http://benchmarksgame.alioth.debian.org/ + * + * byte processing version using C# *3.0 idioms by Robert F. Tobler + */ + +using System; +using System.IO; +using System.Collections.Generic; +using System.Text; +using BenchmarkDotNet.Attributes; +using BenchmarkDotNet.Running; +using Benchmarks; + +namespace BenchmarksGame +{ + public struct ByteString : IEquatable + { + public byte[] Array; + public int Start; + public int Length; + + public ByteString(byte[] array, int start, int length) + { + Array = array; Start = start; Length = length; + } + + public ByteString(string text) + { + Start = 0; Length = text.Length; + Array = Encoding.ASCII.GetBytes(text); + } + + public override int GetHashCode() + { + if (Length < 1) return 0; + int hc = Length ^ (Array[Start] << 24); if (Length < 2) return hc; + hc ^= Array[Start + Length - 1] << 20; if (Length < 3) return hc; + for (int c = Length - 2; c > 0; c--) + hc ^= Array[Start + c] << (c & 0xf); + return hc; + } + + public bool Equals(ByteString other) + { + if (Length != other.Length) return false; + for (int i = 0; i < Length; i++) + if (Array[Start + i] != other.Array[other.Start + i]) return false; + return true; + } + + public override string ToString() + { + return Encoding.ASCII.GetString(Array, Start, Length); + } + } + + public static class Extensions + { + public static byte[] GetBytes(this List input) + { + int count = 0; + for (int i = 0; i < input.Count; i++) count += input[i].Length; + var byteArray = new byte[count]; + count = 0; + for (int i = 0; i < input.Count; i++) + { + string line = input[i]; + Encoding.ASCII.GetBytes(line, 0, line.Length, byteArray, count); + count += line.Length; + } + return byteArray; + } + } + + [BenchmarkCategory(Categories.CoreCLR, Categories.BenchmarksGame)] + public class KNucleotide_1 + { + private NucleotideHelpers _nucleotideHarnessHelpers = new NucleotideHelpers(bigInput: true); + + [Benchmark(Description = nameof(KNucleotide_1))] + public bool RunBench() + { + using (var inputFile = new FileStream(_nucleotideHarnessHelpers.InputFile, FileMode.Open)) + return Bench(inputFile, _nucleotideHarnessHelpers, false); + } + + static bool Bench(Stream inputStream, NucleotideHelpers helpers, bool verbose) + { + string line; + StreamReader source = new StreamReader(inputStream); + var input = new List(); + + while ((line = source.ReadLine()) != null) + if (line[0] == '>' && line.Substring(1, 5) == "THREE") + break; + + while ((line = source.ReadLine()) != null) + { + char c = line[0]; + if (c == '>') break; + if (c != ';') input.Add(line.ToUpper()); + } + + KNucleotide kn = new KNucleotide(input.GetBytes()); + input = null; + bool ok = true; + for (int f = 1; f < 3; f++) + ok &= kn.WriteFrequencies(f, helpers.expectedFrequencies[f - 1], verbose); + int i = 0; + foreach (var seq in + new[] { "GGT", "GGTA", "GGTATT", "GGTATTTTAATT", + "GGTATTTTAATTTATAGT"}) + ok &= kn.WriteCount(seq, helpers.expectedCountFragments[i++], verbose); + + return ok; + } + } + + public class KNucleotide + { + + private class Count + { + public int V; + public Count(int v) { V = v; } + } + + private Dictionary frequencies + = new Dictionary(); + private byte[] sequence; + + public KNucleotide(byte[] s) { sequence = s; } + + public bool WriteFrequencies(int length, int[] expectedCounts, bool verbose) + { + GenerateFrequencies(length); + var items = new List>(frequencies); + items.Sort(SortByFrequencyAndCode); + double percent = 100.0 / (sequence.Length - length + 1); + bool ok = true; + int i = 0; + foreach (var item in items) + { + ok &= (item.Value.V == expectedCounts[i++]); + if (verbose) + { + Console.WriteLine("{0} {1:f3}", + item.Key.ToString(), item.Value.V * percent); + } + } + if (verbose) Console.WriteLine(); + return ok; + } + + public bool WriteCount(string fragment, int expectedCount, bool verbose) + { + GenerateFrequencies(fragment.Length); + Count count; + if (!frequencies.TryGetValue(new ByteString(fragment), out count)) + count = new Count(0); + if (verbose) Console.WriteLine("{0}\t{1}", count.V, fragment); + return (count.V == expectedCount); + } + + private void GenerateFrequencies(int length) + { + frequencies.Clear(); + for (int frame = 0; frame < length; frame++) + KFrequency(frame, length); + } + + private void KFrequency(int frame, int k) + { + int n = sequence.Length - k + 1; + for (int i = frame; i < n; i += k) + { + var key = new ByteString(sequence, i, k); + Count count; + if (frequencies.TryGetValue(key, out count)) + count.V++; + else + frequencies[key] = new Count(1); + } + } + + int SortByFrequencyAndCode( + KeyValuePair i0, + KeyValuePair i1) + { + int order = i1.Value.V.CompareTo(i0.Value.V); + if (order != 0) return order; + return i0.Key.ToString().CompareTo(i1.Key.ToString()); + } + } +} diff --git a/src/benchmarks/coreclr/BenchmarksGame/k-nucleotide-9.cs b/src/benchmarks/coreclr/BenchmarksGame/k-nucleotide-9.cs new file mode 100644 index 00000000000..2f479efb2ef --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/k-nucleotide-9.cs @@ -0,0 +1,316 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Adapted from k-nucleotide C# .NET Core #9 program +// http://benchmarksgame.alioth.debian.org/u64q/program.php?test=knucleotide&lang=csharpcore&id=9 +// aka (as of 2017-09-01) rev 1.1 of https://alioth.debian.org/scm/viewvc.php/benchmarksgame/bench/knucleotide/knucleotide.csharp-9.csharp?root=benchmarksgame&view=log +// Best-scoring C# .NET Core version as of 2017-09-01 + +/* The Computer Language Benchmarks Game + http://benchmarksgame.alioth.debian.org/ + + submitted by Josh Goldfoot + Modified to reduce memory and do more in parallel by Anthony Lloyd + */ + +using System; +using System.IO; +using System.Text; +using System.Linq; +using System.Collections.Generic; +using System.Threading.Tasks; +using System.Runtime.CompilerServices; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace BenchmarksGame +{ + class Wrapper { public int v = 1; } + + [BenchmarkCategory(Categories.CoreCLR, Categories.BenchmarksGame)] + public class KNucleotide_9 + { + const int BLOCK_SIZE = 1024 * 1024 * 8; + static List threeBlocks = new List(); + static int threeStart, threeEnd; + static byte[] tonum = new byte[256]; + static char[] tochar = new char[] { 'A', 'C', 'G', 'T' }; + + static int read(Stream stream, byte[] buffer, int offset, int count) + { + var bytesRead = stream.Read(buffer, offset, count); + return bytesRead == count ? offset + count + : bytesRead == 0 ? offset + : read(stream, buffer, offset + bytesRead, count - bytesRead); + } + + static int find(byte[] buffer, byte[] toFind, int i, ref int matchIndex) + { + if (matchIndex == 0) + { + i = Array.IndexOf(buffer, toFind[0], i); + if (i == -1) return -1; + matchIndex = 1; + return find(buffer, toFind, i + 1, ref matchIndex); + } + else + { + int bl = buffer.Length, fl = toFind.Length; + while (i < bl && matchIndex < fl) + { + if (buffer[i++] != toFind[matchIndex++]) + { + matchIndex = 0; + return find(buffer, toFind, i, ref matchIndex); + } + } + return matchIndex == fl ? i : -1; + } + } + + static void loadThreeData(Stream stream) + { + // find three sequence + int matchIndex = 0; + var toFind = new[] { (byte)'>', (byte)'T', (byte)'H', (byte)'R', (byte)'E', (byte)'E' }; + var buffer = new byte[BLOCK_SIZE]; + do + { + threeEnd = read(stream, buffer, 0, BLOCK_SIZE); + threeStart = find(buffer, toFind, 0, ref matchIndex); + } while (threeStart == -1); + + // Skip to end of line + matchIndex = 0; + toFind = new[] { (byte)'\n' }; + threeStart = find(buffer, toFind, threeStart, ref matchIndex); + while (threeStart == -1) + { + threeEnd = read(stream, buffer, 0, BLOCK_SIZE); + threeStart = find(buffer, toFind, 0, ref matchIndex); + } + threeBlocks.Add(buffer); + + if (threeEnd != BLOCK_SIZE) // Needs to be at least 2 blocks + { + var bytes = threeBlocks[0]; + for (int i = threeEnd; i < bytes.Length; i++) + bytes[i] = 255; + threeEnd = 0; + threeBlocks.Add(Array.Empty()); + return; + } + + // find next seq or end of input + matchIndex = 0; + toFind = new[] { (byte)'>' }; + threeEnd = find(buffer, toFind, threeStart, ref matchIndex); + while (threeEnd == -1) + { + buffer = new byte[BLOCK_SIZE]; + var bytesRead = read(stream, buffer, 0, BLOCK_SIZE); + threeEnd = bytesRead == BLOCK_SIZE ? find(buffer, toFind, 0, ref matchIndex) + : bytesRead; + threeBlocks.Add(buffer); + } + + if (threeStart + 18 > BLOCK_SIZE) // Key needs to be in the first block + { + byte[] block0 = threeBlocks[0], block1 = threeBlocks[1]; + Buffer.BlockCopy(block0, threeStart, block0, threeStart - 18, BLOCK_SIZE - threeStart); + Buffer.BlockCopy(block1, 0, block0, BLOCK_SIZE - 18, 18); + for (int i = 0; i < 18; i++) block1[i] = 255; + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static void check(Dictionary dict, ref long rollingKey, byte nb, long mask) + { + if (nb == 255) return; + rollingKey = ((rollingKey & mask) << 2) | nb; + Wrapper w; + if (dict.TryGetValue(rollingKey, out w)) + w.v++; + else + dict[rollingKey] = new Wrapper(); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static void checkEnding(Dictionary dict, ref long rollingKey, byte b, byte nb, long mask) + { + if (nb == b) + { + Wrapper w; + if (dict.TryGetValue(rollingKey, out w)) + w.v++; + else + dict[rollingKey] = new Wrapper(); + rollingKey = ((rollingKey << 2) | nb) & mask; + } + else if (nb != 255) + { + rollingKey = ((rollingKey << 2) | nb) & mask; + } + } + + static Task count(int l, long mask, Func, string> summary) + { + return Task.Run(() => + { + long rollingKey = 0; + var firstBlock = threeBlocks[0]; + var start = threeStart; + while (--l > 0) rollingKey = (rollingKey << 2) | firstBlock[start++]; + var dict = new Dictionary(); + for (int i = start; i < firstBlock.Length; i++) + check(dict, ref rollingKey, firstBlock[i], mask); + + int lastBlockId = threeBlocks.Count - 1; + for (int bl = 1; bl < lastBlockId; bl++) + { + var bytes = threeBlocks[bl]; + for (int i = 0; i < bytes.Length; i++) + check(dict, ref rollingKey, bytes[i], mask); + } + + var lastBlock = threeBlocks[lastBlockId]; + for (int i = 0; i < threeEnd; i++) + check(dict, ref rollingKey, lastBlock[i], mask); + return summary(dict); + }); + } + + static Dictionary countEnding(int l, long mask, byte b) + { + long rollingKey = 0; + var firstBlock = threeBlocks[0]; + var start = threeStart; + while (--l > 0) rollingKey = (rollingKey << 2) | firstBlock[start++]; + var dict = new Dictionary(); + for (int i = start; i < firstBlock.Length; i++) + checkEnding(dict, ref rollingKey, b, firstBlock[i], mask); + + int lastBlockId = threeBlocks.Count - 1; + for (int bl = 1; bl < lastBlockId; bl++) + { + var bytes = threeBlocks[bl]; + for (int i = 0; i < bytes.Length; i++) + checkEnding(dict, ref rollingKey, b, bytes[i], mask); + } + + var lastBlock = threeBlocks[lastBlockId]; + for (int i = 0; i < threeEnd; i++) + checkEnding(dict, ref rollingKey, b, lastBlock[i], mask); + return dict; + } + + static Task count4(int l, long mask, Func, string> summary) + { + return Task.Factory.ContinueWhenAll( + new[] { + Task.Run(() => countEnding(l, mask, 0)), + Task.Run(() => countEnding(l, mask, 1)), + Task.Run(() => countEnding(l, mask, 2)), + Task.Run(() => countEnding(l, mask, 3)) + } + , dicts => + { + var d = new Dictionary(dicts.Sum(i => i.Result.Count)); + for (int i = 0; i < dicts.Length; i++) + foreach (var kv in dicts[i].Result) + d[(kv.Key << 2) | (long)i] = kv.Value; + return summary(d); + }); + } + + static string writeFrequencies(Dictionary freq, int fragmentLength, int[] expected, ref bool ok) + { + var sb = new StringBuilder(); + double percent = 100.0 / freq.Values.Sum(i => i.v); + int idx = 0; + foreach (var kv in freq.OrderByDescending(i => i.Value.v)) + { + ok &= (kv.Value.v == expected[idx++]); + var keyChars = new char[fragmentLength]; + var key = kv.Key; + for (int i = keyChars.Length - 1; i >= 0; --i) + { + keyChars[i] = tochar[key & 0x3]; + key >>= 2; + } + sb.Append(keyChars); + sb.Append(" "); + sb.AppendLine((kv.Value.v * percent).ToString("F3")); + } + return sb.ToString(); + } + + static string writeCount(Dictionary dictionary, string fragment, int expected, ref bool ok) + { + long key = 0; + for (int i = 0; i < fragment.Length; ++i) + key = (key << 2) | tonum[fragment[i]]; + Wrapper w; + var n = dictionary.TryGetValue(key, out w) ? w.v : 0; + ok &= (n == expected); + return string.Concat(n.ToString(), "\t", fragment); + } + + NucleotideHelpers helpers = new NucleotideHelpers(bigInput: true); + + [Benchmark(Description = nameof(KNucleotide_9))] + public bool RunBench() => Bench(helpers, false); + + static bool Bench(NucleotideHelpers helpers, bool verbose) + { + // Reset static state + threeBlocks.Clear(); + threeStart = 0; + threeEnd = 0; + + tonum['c'] = 1; tonum['C'] = 1; + tonum['g'] = 2; tonum['G'] = 2; + tonum['t'] = 3; tonum['T'] = 3; + tonum['\n'] = 255; tonum['>'] = 255; tonum[255] = 255; + + using (var inputStream = new FileStream(helpers.InputFile, FileMode.Open)) + { + loadThreeData(inputStream); + } + + Parallel.ForEach(threeBlocks, bytes => + { + for (int i = 0; i < bytes.Length; i++) + bytes[i] = tonum[bytes[i]]; + }); + + bool ok = true; + + var task18 = count4(18, 0x7FFFFFFFF, d => writeCount(d, "GGTATTTTAATTTATAGT", helpers.expectedCountFragments[4], ref ok)); + var task12 = count4(12, 0x7FFFFF, d => writeCount(d, "GGTATTTTAATT", helpers.expectedCountFragments[3], ref ok)); + var task6 = count(6, 0x3FF, d => writeCount(d, "GGTATT", helpers.expectedCountFragments[2], ref ok)); + var task4 = count(4, 0x3F, d => writeCount(d, "GGTA", helpers.expectedCountFragments[1], ref ok)); + var task3 = count(3, 0xF, d => writeCount(d, "GGT", helpers.expectedCountFragments[0], ref ok)); + var task2 = count(2, 0x3, d => writeFrequencies(d, 2, helpers.expectedFrequencies[1], ref ok)); + var task1 = count(1, 0, d => writeFrequencies(d, 1, helpers.expectedFrequencies[0], ref ok)); + + if (verbose) + { + Console.Out.WriteLineAsync(task1.Result); + Console.Out.WriteLineAsync(task2.Result); + Console.Out.WriteLineAsync(task3.Result); + Console.Out.WriteLineAsync(task4.Result); + Console.Out.WriteLineAsync(task6.Result); + Console.Out.WriteLineAsync(task12.Result); + Console.Out.WriteLineAsync(task18.Result); + } + else + { + Task.WaitAll(task1, task2, task3, task4, task6, task12, task18); + } + + return ok; + } + } +} diff --git a/src/benchmarks/coreclr/BenchmarksGame/mandelbrot-2.cs b/src/benchmarks/coreclr/BenchmarksGame/mandelbrot-2.cs new file mode 100644 index 00000000000..cf32f5a52f8 --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/mandelbrot-2.cs @@ -0,0 +1,102 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Adapted from mandelbrot C# .NET Core #2 program +// http://benchmarksgame.alioth.debian.org/u64q/program.php?test=mandelbrot&lang=csharpcore&id=2 +// aka (as of 2017-09-01) rev 1.2 of https://alioth.debian.org/scm/viewvc.php/benchmarksgame/bench/mandelbrot/mandelbrot.csharp-2.csharp?root=benchmarksgame&view=log +// Best-scoring single-threaded C# .NET Core version as of 2017-09-01 + +/* The Computer Language Benchmarks Game + http://benchmarksgame.alioth.debian.org/ + * + * Adapted by Antti Lankila from the earlier Isaac Gouy's implementation + */ + +using System; +using System.IO; +using System.Security.Cryptography; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace BenchmarksGame +{ + [BenchmarkCategory(Categories.CoreCLR, Categories.BenchmarksGame)] + public class Mandelbrot_2 + { + // Commented out data left in source to provide checksums for each case + + [Benchmark(Description = nameof(Mandelbrot_2))] + //[InlineData(1000, "B2-13-51-CE-B0-29-2C-4E-75-5E-91-19-18-E4-0C-D9")] + //[InlineData(2000, "5A-21-55-9B-7B-18-2F-34-9B-33-C5-F9-B5-2C-40-56")] + //[InlineData(3000, "E5-82-85-0A-3C-89-69-B1-A8-21-63-52-75-B3-C8-33")] + [Arguments(4000, "C7-E6-66-43-66-73-F8-A8-D3-B4-D7-97-2F-FC-A1-D3")] + //[InlineData(5000, "6D-36-F1-F6-37-8F-34-EB-52-F9-2D-11-89-12-B2-2F")] + //[InlineData(6000, "8B-05-78-EB-2E-0E-98-F2-C7-39-76-ED-0F-A9-D2-B8")] + //[InlineData(7000, "01-F8-F2-2A-AB-70-C7-BA-E3-64-19-E7-D2-84-DF-57")] + //[InlineData(8000, "C8-ED-D7-FB-65-66-3A-D9-C6-04-9E-96-E8-CA-4F-2C")] + public void Bench(int width, string checksum) + { + int lineLen = (width - 1) / 8 + 1; + byte[] bytes = new byte[width * lineLen]; + var memStream = new MemoryStream(bytes); + + DoBench(width, memStream, false); + } + + static void DoBench(int width, MemoryStream s, bool verbose) + { + int height = width; + int maxiter = 50; + double limit = 4.0; + + if (verbose) + { + Console.WriteLine("P4"); + Console.WriteLine("{0} {1}", width, height); + } + + for (int y = 0; y < height; y++) + { + int bits = 0; + int xcounter = 0; + double Ci = 2.0 * y / height - 1.0; + + for (int x = 0; x < width; x++) + { + double Zr = 0.0; + double Zi = 0.0; + double Cr = 2.0 * x / width - 1.5; + int i = maxiter; + + bits = bits << 1; + do + { + double Tr = Zr * Zr - Zi * Zi + Cr; + Zi = 2.0 * Zr * Zi + Ci; + Zr = Tr; + if (Zr * Zr + Zi * Zi > limit) + { + bits |= 1; + break; + } + } while (--i > 0); + + if (++xcounter == 8) + { + s.WriteByte((byte)(bits ^ 0xff)); + bits = 0; + xcounter = 0; + } + } + if (xcounter != 0) + s.WriteByte((byte)((bits << (8 - xcounter)) ^ 0xff)); + } + + if (verbose) + { + s.WriteTo(Console.OpenStandardOutput()); + } + } + } +} diff --git a/src/benchmarks/coreclr/BenchmarksGame/mandelbrot-7.cs b/src/benchmarks/coreclr/BenchmarksGame/mandelbrot-7.cs new file mode 100644 index 00000000000..402a4acec0f --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/mandelbrot-7.cs @@ -0,0 +1,176 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Adapted from mandelbrot C# .NET Core #7 program +// http://benchmarksgame.alioth.debian.org/u64q/program.php?test=mandelbrot&lang=csharpcore&id=7 +// aka (as of 2017-10-02) rev 1.2 of https://alioth.debian.org/scm/viewvc.php/benchmarksgame/bench/mandelbrot/mandelbrot.csharp-7.csharp?root=benchmarksgame&view=log +// Best-scoring C# .NET Core version as of 2017-10-02 + +/* The Computer Language Benchmarks Game + http://benchmarksgame.alioth.debian.org/ + + started with Java #2 program (Krause/Whipkey/Bennet/AhnTran/Enotus/Stalcup) + adapted for C# by Jan de Vaan + simplified and optimised to use TPL by Anthony Lloyd + simplified to compute Cib alongside Crb by Tanner Gooding + optimized to use Vector by Tanner Gooding +*/ + +using System; +using System.IO; +using System.Numerics; +using System.Runtime.CompilerServices; +using System.Security.Cryptography; +using System.Threading.Tasks; +using BenchmarkDotNet.Attributes; +using BenchmarkDotNet.Running; +using Benchmarks; + +namespace BenchmarksGame +{ + [BenchmarkCategory(Categories.CoreCLR, Categories.BenchmarksGame)] + public class MandelBrot_7 + { + // Vector.Count is treated as a constant by the JIT, don't bother + // storing it in a temporary variable anywhere below. + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static unsafe byte GetByte(double* pCrb, double Ciby, int x, int y) + { + // This currently does not do anything special for 'Count > 2' + + var res = 0; + + for (var i = 0; i < 8; i += 2) + { + var Crbx = Unsafe.Read>(pCrb + x + i); + var Zr = Crbx; + var vCiby = new Vector(Ciby); + var Zi = vCiby; + + var b = 0; + var j = 49; + + do + { + var nZr = Zr * Zr - Zi * Zi + Crbx; + Zi = Zr * Zi + Zr * Zi + vCiby; + Zr = nZr; + + var t = Zr * Zr + Zi * Zi; + + if (t[0] > 4) + { + b |= 2; + + if (b == 3) + { + break; + } + } + + if (t[1] > 4) + { + b |= 1; + + if (b == 3) + { + break; + } + } + + } while (--j > 0); + + res = (res << 2) + b; + } + + return (byte)(res ^ -1); + } + + // Commented out data left in source to provide checksums for each case + + [Benchmark(Description = nameof(MandelBrot_7))] + //[InlineData(1000, 125, "B2-13-51-CE-B0-29-2C-4E-75-5E-91-19-18-E4-0C-D9")] + //[InlineData(2000, 250, "5A-21-55-9B-7B-18-2F-34-9B-33-C5-F9-B5-2C-40-56")] + //[InlineData(3000, 375, "E5-82-85-0A-3C-89-69-B1-A8-21-63-52-75-B3-C8-33")] + [Arguments(4000, 500, "C7-E6-66-43-66-73-F8-A8-D3-B4-D7-97-2F-FC-A1-D3")] + //[InlineData(5000, 625, "6D-36-F1-F6-37-8F-34-EB-52-F9-2D-11-89-12-B2-2F")] + //[InlineData(6000, 750, "8B-05-78-EB-2E-0E-98-F2-C7-39-76-ED-0F-A9-D2-B8")] + //[InlineData(7000, 875, "01-F8-F2-2A-AB-70-C7-BA-E3-64-19-E7-D2-84-DF-57")] + //[InlineData(8000, 1000, "C8-ED-D7-FB-65-66-3A-D9-C6-04-9E-96-E8-CA-4F-2C")] + public byte[] Bench(int size, int lineLength, string checksum) => DoBench(size, lineLength); + + static unsafe byte[] DoBench(int size, int lineLength) + { + var adjustedSize = size + (Vector.Count * 8); + adjustedSize &= ~(Vector.Count * 8); + + var Crb = new double[adjustedSize]; + var Cib = new double[adjustedSize]; + + fixed (double* pCrb = &Crb[0]) + fixed (double* pCib = &Cib[0]) + { + var invN = new Vector(2.0 / size); + + var onePtFive = new Vector(1.5); + var step = new Vector(Vector.Count); + + Vector value; + + if (Vector.Count == 2) + { + // Software implementation should hit this path too + + value = new Vector(new double[] { + 0, 1 + }); + } + else if (Vector.Count == 4) + { + value = new Vector(new double[] { + 0, 1, 2, 3 + }); + } + else + { + // No hardware supports about 'Count == 8' today + + value = new Vector(new double[] { + 0, 1, 2, 3, 4, 5, 6, 7 + }); + } + + for (var i = 0; i < size; i += Vector.Count) + { + var t = value * invN; + + Unsafe.Write(pCrb + i, t - onePtFive); + Unsafe.Write(pCib + i, t - Vector.One); + + value += step; + } + } + + var data = new byte[adjustedSize * lineLength]; + + fixed (double* pCrb = &Crb[0]) + { + // C# doesn't let us pass a pinned variable to a lambda directly + var _Crb = pCrb; + + Parallel.For(0, size, y => { + var offset = y * lineLength; + + for (var x = 0; x < lineLength; x++) + { + data[offset + x] = GetByte(_Crb, Cib[y], x * 8, y); + } + }); + } + + return data; + } + } +} diff --git a/src/benchmarks/coreclr/BenchmarksGame/n-body-3.cs b/src/benchmarks/coreclr/BenchmarksGame/n-body-3.cs new file mode 100644 index 00000000000..319209a69d6 --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/n-body-3.cs @@ -0,0 +1,150 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Adapted from n-body C# .NET Core #3 program +// http://benchmarksgame.alioth.debian.org/u64q/program.php?test=nbody&lang=csharpcore&id=3 +// aka (as of 2017-09-01) rev 1.2 of https://alioth.debian.org/scm/viewvc.php/benchmarksgame/bench/nbody/nbody.csharp-3.csharp?root=benchmarksgame&view=log +// Best-scoring C# .NET Core version as of 2017-09-01 +// (also best-scoring single-threaded C# .NET Core version as of 2017-09-01) + +/* The Computer Language Benchmarks Game + http://benchmarksgame.alioth.debian.org/ + + contributed by Isaac Gouy, optimization and use of more C# idioms by Robert F. Tobler +*/ + +using System; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace BenchmarksGame +{ + [BenchmarkCategory(Categories.CoreCLR, Categories.BenchmarksGame)] + public class NBody_3 + { + [Benchmark(Description = nameof(NBody_3))] + public bool RunBench() => Bench(5000000, false); + + static bool Bench(int n, bool verbose) + { + NBodySystem bodies = new NBodySystem(); + double initialEnergy = bodies.Energy(); + if (verbose) Console.WriteLine("{0:f9}", initialEnergy); + for (int i = 0; i < n; i++) bodies.Advance(0.01); + double finalEnergy = bodies.Energy(); + if (verbose) Console.WriteLine("{0:f9}", finalEnergy); + double deltaEnergy = Math.Abs(initialEnergy - finalEnergy); + bool result = deltaEnergy < 1e-4; + if (verbose) Console.WriteLine("Energy {0} conserved", result ? "was" : "was not"); + return result; + } + } + + class Body { public double x, y, z, vx, vy, vz, mass; } + class Pair { public Body bi, bj; } + + class NBodySystem + { + private Body[] bodies; + private Pair[] pairs; + + const double Pi = 3.141592653589793; + const double Solarmass = 4 * Pi * Pi; + const double DaysPeryear = 365.24; + + public NBodySystem() + { + bodies = new Body[] { + new Body() { // Sun + mass = Solarmass, + }, + new Body() { // Jupiter + x = 4.84143144246472090e+00, + y = -1.16032004402742839e+00, + z = -1.03622044471123109e-01, + vx = 1.66007664274403694e-03 * DaysPeryear, + vy = 7.69901118419740425e-03 * DaysPeryear, + vz = -6.90460016972063023e-05 * DaysPeryear, + mass = 9.54791938424326609e-04 * Solarmass, + }, + new Body() { // Saturn + x = 8.34336671824457987e+00, + y = 4.12479856412430479e+00, + z = -4.03523417114321381e-01, + vx = -2.76742510726862411e-03 * DaysPeryear, + vy = 4.99852801234917238e-03 * DaysPeryear, + vz = 2.30417297573763929e-05 * DaysPeryear, + mass = 2.85885980666130812e-04 * Solarmass, + }, + new Body() { // Uranus + x = 1.28943695621391310e+01, + y = -1.51111514016986312e+01, + z = -2.23307578892655734e-01, + vx = 2.96460137564761618e-03 * DaysPeryear, + vy = 2.37847173959480950e-03 * DaysPeryear, + vz = -2.96589568540237556e-05 * DaysPeryear, + mass = 4.36624404335156298e-05 * Solarmass, + }, + new Body() { // Neptune + x = 1.53796971148509165e+01, + y = -2.59193146099879641e+01, + z = 1.79258772950371181e-01, + vx = 2.68067772490389322e-03 * DaysPeryear, + vy = 1.62824170038242295e-03 * DaysPeryear, + vz = -9.51592254519715870e-05 * DaysPeryear, + mass = 5.15138902046611451e-05 * Solarmass, + }, + }; + + pairs = new Pair[bodies.Length * (bodies.Length - 1) / 2]; + int pi = 0; + for (int i = 0; i < bodies.Length - 1; i++) + for (int j = i + 1; j < bodies.Length; j++) + pairs[pi++] = new Pair() { bi = bodies[i], bj = bodies[j] }; + + double px = 0.0, py = 0.0, pz = 0.0; + foreach (var b in bodies) + { + px += b.vx * b.mass; py += b.vy * b.mass; pz += b.vz * b.mass; + } + var sol = bodies[0]; + sol.vx = -px / Solarmass; sol.vy = -py / Solarmass; sol.vz = -pz / Solarmass; + } + + public void Advance(double dt) + { + foreach (var p in pairs) + { + Body bi = p.bi, bj = p.bj; + double dx = bi.x - bj.x, dy = bi.y - bj.y, dz = bi.z - bj.z; + double d2 = dx * dx + dy * dy + dz * dz; + double mag = dt / (d2 * Math.Sqrt(d2)); + bi.vx -= dx * bj.mass * mag; bj.vx += dx * bi.mass * mag; + bi.vy -= dy * bj.mass * mag; bj.vy += dy * bi.mass * mag; + bi.vz -= dz * bj.mass * mag; bj.vz += dz * bi.mass * mag; + } + foreach (var b in bodies) + { + b.x += dt * b.vx; b.y += dt * b.vy; b.z += dt * b.vz; + } + } + + public double Energy() + { + double e = 0.0; + for (int i = 0; i < bodies.Length; i++) + { + var bi = bodies[i]; + e += 0.5 * bi.mass * (bi.vx * bi.vx + bi.vy * bi.vy + bi.vz * bi.vz); + for (int j = i + 1; j < bodies.Length; j++) + { + var bj = bodies[j]; + double dx = bi.x - bj.x, dy = bi.y - bj.y, dz = bi.z - bj.z; + e -= (bi.mass * bj.mass) / Math.Sqrt(dx * dx + dy * dy + dz * dz); + } + } + return e; + } + } +} diff --git a/src/benchmarks/coreclr/BenchmarksGame/pidigits-3.cs b/src/benchmarks/coreclr/BenchmarksGame/pidigits-3.cs new file mode 100644 index 00000000000..6da0a5f8458 --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/pidigits-3.cs @@ -0,0 +1,144 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Adapted from pidigits C# .NET Core #3 program +// http://benchmarksgame.alioth.debian.org/u64q/program.php?test=pidigits&lang=csharpcore&id=3 +// aka (as of 2017-09-01) rev 1.2 of https://alioth.debian.org/scm/viewvc.php/benchmarksgame/bench/pidigits/pidigits.csharp-3.csharp?root=benchmarksgame&view=log +// Best-scoring C# .NET Core version as of 2017-09-01 +// (also best-scoring single-threaded C# .NET Core version as of 2017-09-01) +// **** Version #3 on website pinvokes to native GMP library; this has been modified to +// use .NET's System.Numerics.BigInteger type instead **** + +/* The Computer Language Benchmarks Game + http://benchmarksgame.alioth.debian.org/ + * + * Port of the Java port that uses native GMP to use native GMP with C# + * contributed by Miguel de Icaza, based on the Java version, that was: + * contributed by Mike Pall + * java port by Stefan Krause +*/ +using System; +using System.Numerics; +using System.Text; +using BenchmarkDotNet.Attributes; +using BenchmarkDotNet.Running; +using Benchmarks; + +namespace BenchmarksGame +{ + public class pidigits + { + BigInteger q = new BigInteger(), r = new BigInteger(), s = new BigInteger(), t = new BigInteger(); + BigInteger u = new BigInteger(), v = new BigInteger(), w = new BigInteger(); + + int i; + StringBuilder strBuf = new StringBuilder(40), lastBuf = null; + int n; + + pidigits(int n) + { + this.n = n; + } + + private void compose_r(int bq, int br, int bs, int bt) + { + u = r * bs; + r *= bq; + v = t * br; + r += v; + t *= bt; + t += u; + s *= bt; + u = q * bs; + s += u; + q *= bq; + } + + /* Compose matrix with numbers on the left. */ + private void compose_l(int bq, int br, int bs, int bt) + { + r *= bt; + u = q * br; + r += u; + u = t * bs; + t *= bt; + v = s * br; + t += v; + s *= bq; + s += u; + q *= bq; + } + + /* Extract one digit. */ + private int extract(int j) + { + u = q * j; + u += r; + v = s * j; + v += t; + w = u / v; + return (int)w; + } + + /* Print one digit. Returns 1 for the last digit. */ + private bool prdigit(int y, bool verbose) + { + strBuf.Append(y); + if (++i % 10 == 0 || i == n) + { + if (i % 10 != 0) + for (int j = 10 - (i % 10); j > 0; j--) + { strBuf.Append(" "); } + strBuf.Append("\t:"); + strBuf.Append(i); + if (verbose) Console.WriteLine(strBuf); + lastBuf = strBuf; + strBuf = new StringBuilder(40); + } + return i == n; + } + + /* Generate successive digits of PI. */ + void Run(bool verbose) + { + int k = 1; + i = 0; + q = 1; + r = 0; + s = 0; + t = 1; + for (; ; ) + { + int y = extract(3); + if (y == extract(4)) + { + if (prdigit(y, verbose)) + return; + compose_r(10, -10 * y, 0, 1); + } + else + { + compose_l(k, 4 * k + 2, 0, 2 * k + 1); + k++; + } + } + } + + public static StringBuilder Bench(int n, bool verbose) + { + pidigits m = new pidigits(n); + m.Run(verbose); + return m.lastBuf; + } + } + + [BenchmarkCategory(Categories.CoreCLR, Categories.BenchmarksGame)] + public class PiDigits_3 + { + [Benchmark(Description = nameof(PiDigits_3))] + [Arguments(3000, "8649423196\t:3000")] + public StringBuilder RunBench(int n, string expected) // the expected argument must remain to keep old benchmark id in BenchView, do NOT remove it + => pidigits.Bench(n, false); + } +} diff --git a/src/benchmarks/coreclr/BenchmarksGame/regex-redux-1.cs b/src/benchmarks/coreclr/BenchmarksGame/regex-redux-1.cs new file mode 100644 index 00000000000..45561b0c8cf --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/regex-redux-1.cs @@ -0,0 +1,111 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Adapted from regex-redux C# .NET Core program +// http://benchmarksgame.alioth.debian.org/u64q/program.php?test=regexredux&lang=csharpcore&id=1 +// aka (as of 2017-09-01) rev 1.3 of https://alioth.debian.org/scm/viewvc.php/benchmarksgame/bench/regexredux/regexredux.csharp?root=benchmarksgame&view=log +// Best-scoring single-threaded C# .NET Core version as of 2017-09-01 + +/* The Computer Language Benchmarks Game + http://benchmarksgame.alioth.debian.org/ + * + * regex-dna program contributed by Isaac Gouy + * converted from regex-dna program + * +*/ + +using System; +using System.IO; +using System.Text.RegularExpressions; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace BenchmarksGame +{ + [BenchmarkCategory(Categories.CoreCLR, Categories.BenchmarksGame)] + public class RegexRedux_1 + { + RegexReduxHelpers helpers = new RegexReduxHelpers(bigInput: true); + + [Benchmark(Description = nameof(RegexRedux_1))] + public int RunBench() + { + using (var inputStream = new FileStream(helpers.InputFile, FileMode.Open)) + using (var input = new StreamReader(inputStream)) + { + return Bench(input, false); + } + } + + static int Bench(TextReader inputReader, bool verbose) + { + // read FASTA sequence + String sequence = inputReader.ReadToEnd(); + int initialLength = sequence.Length; + + // remove FASTA sequence descriptions and new-lines + Regex r = new Regex(">.*\n|\n", RegexOptions.Compiled); + sequence = r.Replace(sequence, ""); + int codeLength = sequence.Length; + + + // regex match + string[] variants = { + "agggtaaa|tttaccct", + "[cgt]gggtaaa|tttaccc[acg]", + "a[act]ggtaaa|tttacc[agt]t", + "ag[act]gtaaa|tttac[agt]ct", + "agg[act]taaa|ttta[agt]cct", + "aggg[acg]aaa|ttt[cgt]ccct", + "agggt[cgt]aa|tt[acg]accct", + "agggta[cgt]a|t[acg]taccct", + "agggtaa[cgt]|[acg]ttaccct" + }; + + int count; + foreach (string v in variants) + { + count = 0; + r = new Regex(v, RegexOptions.Compiled); + + for (Match m = r.Match(sequence); m.Success; m = m.NextMatch()) count++; + if (verbose) + Console.WriteLine("{0} {1}", v, count); + } + + + // regex substitution + IUB[] codes = { + new IUB("tHa[Nt]", "<4>"), + new IUB("aND|caN|Ha[DS]|WaS", "<3>"), + new IUB("a[NSt]|BY", "<2>"), + new IUB("<[^>]*>", "|"), + new IUB("\\|[^|][^|]*\\|" , "-") + }; + + foreach (IUB iub in codes) + { + r = new Regex(iub.code, RegexOptions.Compiled); + sequence = r.Replace(sequence, iub.alternatives); + } + if (verbose) + Console.WriteLine("\n{0}\n{1}\n{2}", initialLength, codeLength, sequence.Length); + + return sequence.Length; + } + + + struct IUB + { + public string code; + public string alternatives; + + public IUB(string code, string alternatives) + { + this.code = code; + this.alternatives = alternatives; + } + } + } +} diff --git a/src/benchmarks/coreclr/BenchmarksGame/regex-redux-5.cs b/src/benchmarks/coreclr/BenchmarksGame/regex-redux-5.cs new file mode 100644 index 00000000000..1c7bcaffff5 --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/regex-redux-5.cs @@ -0,0 +1,103 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Adapted from regex-redux C# .NET Core #5 program +// http://benchmarksgame.alioth.debian.org/u64q/program.php?test=regexredux&lang=csharpcore&id=5 +// aka (as of 2017-09-01) rev 1.3 of https://alioth.debian.org/scm/viewvc.php/benchmarksgame/bench/regexredux/regexredux.csharp-5.csharp?root=benchmarksgame&view=log +// Best-scoring C# .NET Core version as of 2017-09-01 + +/* The Computer Language Benchmarks Game + http://benchmarksgame.alioth.debian.org/ + + Regex-Redux by Josh Goldfoot + order variants by execution time by Anthony Lloyd +*/ + +using System; +using System.IO; +using System.Threading.Tasks; +using System.Text.RegularExpressions; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace BenchmarksGame +{ + [BenchmarkCategory(Categories.CoreCLR, Categories.BenchmarksGame)] + public class RegexRedux_5 + { + static Regex regex(string re) + { + // Not compiled on .Net Core, hence poor benchmark results. + return new Regex(re, RegexOptions.Compiled); + } + + static string regexCount(string s, string r) + { + int c = 0; + var m = regex(r).Match(s); + while (m.Success) { c++; m = m.NextMatch(); } + return r + " " + c; + } + + RegexReduxHelpers helpers = new RegexReduxHelpers(bigInput: true); + + [Benchmark(Description = nameof(RegexRedux_5))] + public int RunBench() + { + using (var inputStream = new FileStream(helpers.InputFile, FileMode.Open)) + using (var input = new StreamReader(inputStream)) + { + return Bench(input, false); + } + } + + static int Bench(TextReader inputReader, bool verbose) + { + var sequences = inputReader.ReadToEnd(); + var initialLength = sequences.Length; + sequences = Regex.Replace(sequences, ">.*\n|\n", ""); + + var magicTask = Task.Run(() => + { + var newseq = regex("tHa[Nt]").Replace(sequences, "<4>"); + newseq = regex("aND|caN|Ha[DS]|WaS").Replace(newseq, "<3>"); + newseq = regex("a[NSt]|BY").Replace(newseq, "<2>"); + newseq = regex("<[^>]*>").Replace(newseq, "|"); + newseq = regex("\\|[^|][^|]*\\|").Replace(newseq, "-"); + return newseq.Length; + }); + + var variant2 = Task.Run(() => regexCount(sequences, "[cgt]gggtaaa|tttaccc[acg]")); + var variant3 = Task.Run(() => regexCount(sequences, "a[act]ggtaaa|tttacc[agt]t")); + var variant7 = Task.Run(() => regexCount(sequences, "agggt[cgt]aa|tt[acg]accct")); + var variant6 = Task.Run(() => regexCount(sequences, "aggg[acg]aaa|ttt[cgt]ccct")); + var variant4 = Task.Run(() => regexCount(sequences, "ag[act]gtaaa|tttac[agt]ct")); + var variant5 = Task.Run(() => regexCount(sequences, "agg[act]taaa|ttta[agt]cct")); + var variant1 = Task.Run(() => regexCount(sequences, "agggtaaa|tttaccct")); + var variant9 = Task.Run(() => regexCount(sequences, "agggtaa[cgt]|[acg]ttaccct")); + var variant8 = Task.Run(() => regexCount(sequences, "agggta[cgt]a|t[acg]taccct")); + + if (verbose) + { + Console.Out.WriteLineAsync(variant1.Result); + Console.Out.WriteLineAsync(variant2.Result); + Console.Out.WriteLineAsync(variant3.Result); + Console.Out.WriteLineAsync(variant4.Result); + Console.Out.WriteLineAsync(variant5.Result); + Console.Out.WriteLineAsync(variant6.Result); + Console.Out.WriteLineAsync(variant7.Result); + Console.Out.WriteLineAsync(variant8.Result); + Console.Out.WriteLineAsync(variant9.Result); + Console.Out.WriteLineAsync("\n" + initialLength + "\n" + sequences.Length); + Console.Out.WriteLineAsync(magicTask.Result.ToString()); + } + else + { + Task.WaitAll(variant1, variant2, variant3, variant4, variant5, variant6, variant7, variant8, variant9); + } + + return magicTask.Result; + } + } +} diff --git a/src/benchmarks/coreclr/BenchmarksGame/reverse-complement-1.cs b/src/benchmarks/coreclr/BenchmarksGame/reverse-complement-1.cs new file mode 100644 index 00000000000..2f0c658bf25 --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/reverse-complement-1.cs @@ -0,0 +1,147 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Adapted from reverse-complement C# .NET Core program +// http://benchmarksgame.alioth.debian.org/u64q/program.php?test=revcomp&lang=csharpcore&id=1 +// aka (as of 2017-09-01) rev 1.2 of https://alioth.debian.org/scm/viewvc.php/benchmarksgame/bench/revcomp/revcomp.csharp?root=benchmarksgame&view=log +// Best-scoring single-threaded C# .NET Core version as of 2017-09-01 + +/* The Computer Language Benchmarks Game + http://benchmarksgame.alioth.debian.org/ + + contributed by Robert F. Tobler to process large blocks of byte arrays +*/ + +using System; +using System.IO; +using System.Collections.Generic; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace BenchmarksGame +{ + [BenchmarkCategory(Categories.CoreCLR, Categories.BenchmarksGame)] + public class ReverseComplement_1 + { + struct Block + { + public byte[] Data; public int Count; + public int Read(BinaryReader r) + { + Data = r.ReadBytes(16384); Count++; return Data.Length; + } + public Index IndexOf(byte b, int o) + { + return new Index { Block = Count, Pos = Array.IndexOf(Data, b, o) }; + } + } + + struct Index + { + public int Block; public int Pos; + public static readonly Index None = new Index { Block = -1, Pos = -1 }; + public bool InBlock(Block b) { return Block == b.Count; } + } + + const byte Gt = (byte)'>'; + const byte Lf = (byte)'\n'; + + static ReverseComplementHelpers helpers = new ReverseComplementHelpers(bigInput: true); + byte[] outBytes = new byte[helpers.FileLength]; + + [Benchmark(Description = nameof(ReverseComplement_1))] + public void RunBench() + { + using (var input = new FileStream(helpers.InputFile, FileMode.Open)) + using (var output = new MemoryStream(outBytes)) + { + Bench(input, output); + } + } + + static void Bench(Stream input, Stream output) + { + InitComplements(); + var seq = new List(); + var b = new Block { Count = -1 }; + Index line = Index.None, start = Index.None, end = Index.None; + using (var r = new BinaryReader(input)) + { + using (var w = output) + { + while (b.Read(r) > 0) + { + seq.Add(b.Data); + if (line.Pos < 0) line = b.IndexOf(Gt, 0); + while (line.Pos >= 0) + { + if (start.Pos < 0) + { + var off = line.InBlock(b) ? line.Pos : 0; + start = b.IndexOf(Lf, off); + if (start.Pos < 0) + { + w.Write(b.Data, off, b.Data.Length - off); + seq.Clear(); break; + } + w.Write(b.Data, off, start.Pos + 1 - off); + } + if (end.Pos < 0) + { + end = b.IndexOf(Gt, start.InBlock(b) ? start.Pos : 0); + if (end.Pos < 0) break; + } + Reverse(w, start.Pos, end.Pos, seq); + if (seq.Count > 1) seq.RemoveRange(0, seq.Count - 1); + line = end; end = Index.None; start = Index.None; + } + } + if (start.Pos >= 0 && end.Pos < 0) + Reverse(w, start.Pos, seq[seq.Count - 1].Length, seq); + } + } + } + + const string Seq = "ABCDGHKMRTVYabcdghkmrtvy"; + const string Rev = "TVGHCDMKYABRTVGHCDMKYABR"; + static byte[] comp = new byte[256]; + + static void InitComplements() + { + for (byte i = 0; i < 255; i++) comp[i] = i; + for (int i = 0; i < Seq.Length; i++) + comp[(byte)Seq[i]] = (byte)Rev[i]; + comp[Lf] = 0; comp[(byte)' '] = 0; + } + + const int LineLen = 61; + const int BufSize = LineLen * 269; + static byte[] buf = new byte[BufSize]; + + static void Reverse(Stream w, int si, int ei, List bl) + { + int bi = 0, line = LineLen - 1; + for (int ri = bl.Count - 1; ri >= 0; ri--) + { + var b = bl[ri]; int off = ri == 0 ? si : 0; + for (int i = (ri == bl.Count - 1 ? ei : b.Length) - 1; i >= off; i--) + { + var c = comp[b[i]]; if (c > 0) buf[bi++] = c; + if (bi == line) + { + buf[bi++] = Lf; line += LineLen; + if (bi == BufSize) + { + w.Write(buf, 0, BufSize); bi = 0; line = LineLen - 1; + } + } + } + } + if (bi > 0) + { + if (buf[bi - 1] != Lf) buf[bi++] = Lf; w.Write(buf, 0, bi); + } + } + } +} diff --git a/src/benchmarks/coreclr/BenchmarksGame/reverse-complement-6.cs b/src/benchmarks/coreclr/BenchmarksGame/reverse-complement-6.cs new file mode 100644 index 00000000000..bb14c9d6078 --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/reverse-complement-6.cs @@ -0,0 +1,267 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Adapted from reverse-complement C# .NET Core #6 +// http://benchmarksgame.alioth.debian.org/u64q/program.php?test=revcomp&lang=csharpcore&id=6 +// aka (as of 2017-09-01) rev 1.4 of https://alioth.debian.org/scm/viewvc.php/benchmarksgame/bench/revcomp/revcomp.csharp-6.csharp?root=benchmarksgame&view=log +// Best-scoring C# .NET Core version as of 2017-09-01 + +/* The Computer Language Benchmarks Game + http://benchmarksgame.alioth.debian.org/ + + Contributed by Peperud + Modified to reduce memory use by Anthony Lloyd +*/ + +using System; +using System.IO; +using System.Collections.Generic; +using System.Collections.Concurrent; +using System.Security.Cryptography; +using System.Threading; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace BenchmarksGame +{ + class RevCompSequence + { + public List Pages; + public int StartHeader, EndExclusive; + public Thread ReverseThread; + } + + [BenchmarkCategory(Categories.CoreCLR, Categories.BenchmarksGame)] + public class ReverseComplement_6 + { + const int READER_BUFFER_SIZE = 1024 * 1024; + const byte LF = 10, GT = (byte)'>', SP = 32; + static BlockingCollection readQue; + static BlockingCollection writeQue; + static byte[] map; + + static int read(Stream stream, byte[] buffer, int offset, int count) + { + var bytesRead = stream.Read(buffer, offset, count); + return bytesRead == count ? offset + count + : bytesRead == 0 ? offset + : read(stream, buffer, offset + bytesRead, count - bytesRead); + } + static Stream ReaderStream; + static void Reader() + { + using (var stream = ReaderStream) + { + int bytesRead; + do + { + var buffer = new byte[READER_BUFFER_SIZE]; + bytesRead = read(stream, buffer, 0, READER_BUFFER_SIZE); + readQue.Add(buffer); + } while (bytesRead == READER_BUFFER_SIZE); + readQue.CompleteAdding(); + } + } + + static bool tryTake(BlockingCollection q, out T t) where T : class + { + t = null; + var wait = new SpinWait(); + while (!q.IsCompleted && !q.TryTake(out t)) wait.SpinOnce(); + return t != null; + } + + static void Grouper() + { + // Set up complements map + map = new byte[256]; + for (byte b = 0; b < 255; b++) map[b] = b; + map[(byte)'A'] = (byte)'T'; + map[(byte)'B'] = (byte)'V'; + map[(byte)'C'] = (byte)'G'; + map[(byte)'D'] = (byte)'H'; + map[(byte)'G'] = (byte)'C'; + map[(byte)'H'] = (byte)'D'; + map[(byte)'K'] = (byte)'M'; + map[(byte)'M'] = (byte)'K'; + map[(byte)'R'] = (byte)'Y'; + map[(byte)'T'] = (byte)'A'; + map[(byte)'V'] = (byte)'B'; + map[(byte)'Y'] = (byte)'R'; + map[(byte)'a'] = (byte)'T'; + map[(byte)'b'] = (byte)'V'; + map[(byte)'c'] = (byte)'G'; + map[(byte)'d'] = (byte)'H'; + map[(byte)'g'] = (byte)'C'; + map[(byte)'h'] = (byte)'D'; + map[(byte)'k'] = (byte)'M'; + map[(byte)'m'] = (byte)'K'; + map[(byte)'r'] = (byte)'Y'; + map[(byte)'t'] = (byte)'A'; + map[(byte)'v'] = (byte)'B'; + map[(byte)'y'] = (byte)'R'; + + var startHeader = 0; + var i = 0; + bool afterFirst = false; + var data = new List(); + byte[] bytes; + while (tryTake(readQue, out bytes)) + { + data.Add(bytes); + while ((i = Array.IndexOf(bytes, GT, i + 1)) != -1) + { + var sequence = new RevCompSequence + { + Pages = data, + StartHeader = startHeader, + EndExclusive = i + }; + if (afterFirst) + (sequence.ReverseThread = new Thread(() => Reverse(sequence))).Start(); + else + afterFirst = true; + writeQue.Add(sequence); + startHeader = i; + data = new List { bytes }; + } + } + i = Array.IndexOf(data[data.Count - 1], 0, 0); + var lastSequence = new RevCompSequence + { + Pages = data, + StartHeader = startHeader, + EndExclusive = i == -1 ? data[data.Count - 1].Length : i + }; + Reverse(lastSequence); + writeQue.Add(lastSequence); + writeQue.CompleteAdding(); + } + + static void Reverse(RevCompSequence sequence) + { + var startPageId = 0; + var startBytes = sequence.Pages[0]; + var startIndex = sequence.StartHeader; + + // Skip header line + while ((startIndex = Array.IndexOf(startBytes, LF, startIndex)) == -1) + { + startBytes = sequence.Pages[++startPageId]; + startIndex = 0; + } + + var endPageId = sequence.Pages.Count - 1; + var endIndex = sequence.EndExclusive - 1; + if (endIndex == -1) endIndex = sequence.Pages[--endPageId].Length - 1; + var endBytes = sequence.Pages[endPageId]; + + // Swap in place across pages + do + { + var startByte = startBytes[startIndex]; + if (startByte < SP) + { + if (++startIndex == startBytes.Length) + { + startBytes = sequence.Pages[++startPageId]; + startIndex = 0; + } + if (startIndex == endIndex && startPageId == endPageId) break; + startByte = startBytes[startIndex]; + } + var endByte = endBytes[endIndex]; + if (endByte < SP) + { + if (--endIndex == -1) + { + endBytes = sequence.Pages[--endPageId]; + endIndex = endBytes.Length - 1; + } + if (startIndex == endIndex && startPageId == endPageId) break; + endByte = endBytes[endIndex]; + } + + startBytes[startIndex] = map[endByte]; + endBytes[endIndex] = map[startByte]; + + if (++startIndex == startBytes.Length) + { + startBytes = sequence.Pages[++startPageId]; + startIndex = 0; + } + if (--endIndex == -1) + { + endBytes = sequence.Pages[--endPageId]; + endIndex = endBytes.Length - 1; + } + } while (startPageId < endPageId || (startPageId == endPageId && startIndex < endIndex)); + if (startIndex == endIndex) startBytes[startIndex] = map[startBytes[startIndex]]; + } + + static Stream WriterStream; + static void Writer() + { + using (var stream = WriterStream) + { + bool first = true; + RevCompSequence sequence; + while (tryTake(writeQue, out sequence)) + { + var startIndex = sequence.StartHeader; + var pages = sequence.Pages; + if (first) + { + Reverse(sequence); + first = false; + } + else + { + sequence.ReverseThread?.Join(); + } + for (int i = 0; i < pages.Count - 1; i++) + { + var bytes = pages[i]; + stream.Write(bytes, startIndex, bytes.Length - startIndex); + startIndex = 0; + } + stream.Write(pages[pages.Count - 1], startIndex, sequence.EndExclusive - startIndex); + } + } + } + + static ReverseComplementHelpers helpers = new ReverseComplementHelpers(bigInput: true); + byte[] outBytes = new byte[helpers.FileLength]; + + [Benchmark(Description = nameof(ReverseComplement_6))] + public void RunBench() + { + var input = new FileStream(helpers.InputFile, FileMode.Open); + var output = new MemoryStream(outBytes); + { + Bench(input, output); + } + } + + static bool MatchesChecksum(byte[] bytes, string checksum) + { + using (var md5 = MD5.Create()) + { + byte[] hash = md5.ComputeHash(bytes); + return (checksum == BitConverter.ToString(hash)); + } + } + + static void Bench(Stream input, Stream output) + { + readQue = new BlockingCollection(); + writeQue = new BlockingCollection(); + ReaderStream = input; + WriterStream = output; + new Thread(Reader).Start(); + new Thread(Grouper).Start(); + Writer(); + } + } +} diff --git a/src/benchmarks/coreclr/BenchmarksGame/spectralnorm-1.cs b/src/benchmarks/coreclr/BenchmarksGame/spectralnorm-1.cs new file mode 100644 index 00000000000..1f2c56312c5 --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/spectralnorm-1.cs @@ -0,0 +1,93 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Adapted from spectral-norm C# .NET Core program +// http://benchmarksgame.alioth.debian.org/u64q/program.php?test=spectralnorm&lang=csharpcore&id=1 +// aka (as of 2017-09-01) rev 1.2 of https://alioth.debian.org/scm/viewvc.php/benchmarksgame/bench/spectralnorm/spectralnorm.csharp?root=benchmarksgame&view=log +// Best-scoring single-threaded C# .NET Core version as of 2017-09-01 + +/* The Computer Language Benchmarks Game + http://benchmarksgame.alioth.debian.org/ + + contributed by Isaac Gouy +*/ + +using System; +using System.Runtime.CompilerServices; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace BenchmarksGame +{ + [BenchmarkCategory(Categories.CoreCLR, Categories.BenchmarksGame)] + public class SpectralNorm_1 + { + [Benchmark(Description = nameof(SpectralNorm_1))] + public double RunBench() => Bench(100); + + [MethodImpl(MethodImplOptions.NoInlining)] + double Bench(int n) + { + // create unit vector + double[] u = new double[n]; + for (int i = 0; i < n; i++) u[i] = 1; + + // 20 steps of the power method + double[] v = new double[n]; + for (int i = 0; i < n; i++) v[i] = 0; + + for (int i = 0; i < 10; i++) + { + MultiplyAtAv(n, u, v); + MultiplyAtAv(n, v, u); + } + + // B=AtA A multiplied by A transposed + // v.Bv /(v.v) eigenvalue of v + double vBv = 0, vv = 0; + for (int i = 0; i < n; i++) + { + vBv += u[i] * v[i]; + vv += v[i] * v[i]; + } + + return Math.Sqrt(vBv / vv); + } + + + /* return element i,j of infinite matrix A */ + double A(int i, int j) + { + return 1.0 / ((i + j) * (i + j + 1) / 2 + i + 1); + } + + /* multiply vector v by matrix A */ + void MultiplyAv(int n, double[] v, double[] Av) + { + for (int i = 0; i < n; i++) + { + Av[i] = 0; + for (int j = 0; j < n; j++) Av[i] += A(i, j) * v[j]; + } + } + + /* multiply vector v by matrix A transposed */ + void MultiplyAtv(int n, double[] v, double[] Atv) + { + for (int i = 0; i < n; i++) + { + Atv[i] = 0; + for (int j = 0; j < n; j++) Atv[i] += A(j, i) * v[j]; + } + } + + /* multiply vector v by matrix A and then by matrix A transposed */ + void MultiplyAtAv(int n, double[] v, double[] AtAv) + { + double[] u = new double[n]; + MultiplyAv(n, v, u); + MultiplyAtv(n, u, AtAv); + } + } +} diff --git a/src/benchmarks/coreclr/BenchmarksGame/spectralnorm-3.cs b/src/benchmarks/coreclr/BenchmarksGame/spectralnorm-3.cs new file mode 100644 index 00000000000..aa621bbfec7 --- /dev/null +++ b/src/benchmarks/coreclr/BenchmarksGame/spectralnorm-3.cs @@ -0,0 +1,155 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Adapted from spectral-norm C# .NET Core #3 program +// http://benchmarksgame.alioth.debian.org/u64q/program.php?test=spectralnorm&lang=csharpcore&id=3 +// aka (as of 2017-09-01) rev 1.1 of https://alioth.debian.org/scm/viewvc.php/benchmarksgame/bench/spectralnorm/spectralnorm.csharp-3.csharp?root=benchmarksgame&view=log +// Best-scoring C# .NET Core version as of 2017-09-01 + +/* The Computer Language Benchmarks Game + http://benchmarksgame.alioth.debian.org/ + + contributed by Isaac Gouy + modified by Josh Goldfoot, based on the Java version by The Anh Tran +*/ + +using System; +using System.Runtime.CompilerServices; +using System.Threading; +using System.Threading.Tasks; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace BenchmarksGame +{ + [MaxIterationCount(40)] // the default 20 is not enough, the benchmark has multimodal distribution and needs more runs + [BenchmarkCategory(Categories.CoreCLR, Categories.BenchmarksGame)] + public class SpectralNorm_3 + { + [Benchmark(Description = nameof(SpectralNorm_3))] + public double RunBench() => Bench(100); + + [MethodImpl(MethodImplOptions.NoInlining)] + private static double Bench(int n) + { + double[] u = new double[n]; + double[] v = new double[n]; + double[] tmp = new double[n]; + + // create unit vector + for (int i = 0; i < n; i++) + u[i] = 1.0; + + int nthread = Environment.ProcessorCount; + int chunk = n / nthread; + var barrier = new Barrier(nthread); + Approximate[] ap = new Approximate[nthread]; + + for (int i = 0; i < nthread; i++) + { + int r1 = i * chunk; + int r2 = (i < (nthread - 1)) ? r1 + chunk : n; + ap[i] = new Approximate(u, v, tmp, r1, r2, barrier); + } + + double vBv = 0, vv = 0; + for (int i = 0; i < nthread; i++) + { + ap[i].t.Wait(); + vBv += ap[i].m_vBv; + vv += ap[i].m_vv; + } + + return Math.Sqrt(vBv / vv); + } + + } + + public class Approximate + { + private Barrier barrier; + public Task t; + + private double[] _u; + private double[] _v; + private double[] _tmp; + + private int range_begin, range_end; + public double m_vBv, m_vv; + + public Approximate(double[] u, double[] v, double[] tmp, int rbegin, int rend, Barrier b) + { + m_vBv = 0; + m_vv = 0; + _u = u; + _v = v; + _tmp = tmp; + range_begin = rbegin; + range_end = rend; + barrier = b; + t = Task.Run(() => run()); + } + + private void run() + { + // 20 steps of the power method + for (int i = 0; i < 10; i++) + { + MultiplyAtAv(_u, _tmp, _v); + MultiplyAtAv(_v, _tmp, _u); + } + + for (int i = range_begin; i < range_end; i++) + { + m_vBv += _u[i] * _v[i]; + m_vv += _v[i] * _v[i]; + } + } + + /* return element i,j of infinite matrix A */ + private double eval_A(int i, int j) + { + return 1.0 / ((i + j) * (i + j + 1) / 2 + i + 1); + } + + /* multiply vector v by matrix A, each thread evaluate its range only */ + private void MultiplyAv(double[] v, double[] Av) + { + for (int i = range_begin; i < range_end; i++) + { + double sum = 0; + for (int j = 0; j < v.Length; j++) + sum += eval_A(i, j) * v[j]; + + Av[i] = sum; + } + } + + /* multiply vector v by matrix A transposed */ + private void MultiplyAtv(double[] v, double[] Atv) + { + for (int i = range_begin; i < range_end; i++) + { + double sum = 0; + for (int j = 0; j < v.Length; j++) + sum += eval_A(j, i) * v[j]; + + Atv[i] = sum; + } + } + + /* multiply vector v by matrix A and then by matrix A transposed */ + private void MultiplyAtAv(double[] v, double[] tmp, double[] AtAv) + { + + MultiplyAv(v, tmp); + // all thread must syn at completion + barrier.SignalAndWait(); + MultiplyAtv(tmp, AtAv); + // all thread must syn at completion + barrier.SignalAndWait(); + } + + } +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchF/Adams.cs b/src/benchmarks/coreclr/Benchstones/BenchF/Adams.cs new file mode 100644 index 00000000000..145b2771b75 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchF/Adams.cs @@ -0,0 +1,93 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// +// The Adams-Moulton Predictor Corrector Method adapted from Conte and de Boor +// original source: adams_d.c + +using System.Runtime.CompilerServices; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchF +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchF)] +public class Adams +{ + static double g_xn, g_yn, g_dn, g_en; + const double g_xn_base = 0.09999999E+01; + const double g_yn_base = 0.71828180E+00; + const double g_dn_base = 0.21287372E-08; + const double g_en_base = 0.74505806E-08; + + [MethodImpl(MethodImplOptions.NoInlining)] + private static void Bench() + { + double[] f = new double[5]; + double xn, yn, dn, en, yxn, h, fnp, ynp, y0, x0; + int i, k, n, nstep; + +#if VERBOSE + Console.WriteLine(" ADAMS-MOULTON METHOD "); +#endif // VERBOSE + + n = 4; + h = 1.0 / 32.0; + nstep = 32; + y0 = 0.0; + x0 = 0.0; + xn = 0.0; + yn = 0.0; + dn = 0.0; + en = 0.0; + + f[1] = x0 + y0; +#if VERBOSE + Console.WriteLine("{0}, {1}, {2}, {3}", x0, y0, dn, en); +#endif // VERBOSE + xn = x0; + for (i = 2; i <= 4; i++) + { + k = i - 1; + xn = xn + h; + yn = Soln(xn); + f[i] = xn + yn; +#if VERBOSE + Console.WriteLine("{0}, {1}, {2}, {3}, {4}", k, xn, yn, dn, en); +#endif // VERBOSE + } + + for (k = 4; k <= nstep; k++) + { + ynp = yn + (h / 24) * (55 * f[n] - 59 * f[n - 1] + 37 * f[n - 2] - 9 * f[n - 3]); + xn = xn + h; + fnp = xn + ynp; + yn = yn + (h / 24) * (9 * fnp + 19 * f[n] - 5 * f[n - 1] + f[n - 2]); + dn = (yn - ynp) / 14; + f[n - 3] = f[n - 2]; + f[n - 2] = f[n - 1]; + f[n - 1] = f[n]; + f[n] = xn + yn; + yxn = Soln(xn); + en = yn - yxn; +#if VERBOSE + Console.WriteLine("{0}, {1}, {2}, {3}, {4}", k, xn, yn, dn, en); +#endif // VERBOSE + } + + // Escape calculated values: + g_xn = xn; + g_yn = yn; + g_dn = dn; + g_en = en; + } + + private static double Soln(double x) + { + return (System.Math.Exp(x) - 1.0 - (x)); + } + + [Benchmark(Description = nameof(Adams))] + public void Test() => Bench(); +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchF/BenchMk2.cs b/src/benchmarks/coreclr/Benchstones/BenchF/BenchMk2.cs new file mode 100644 index 00000000000..f53c58ba8cc --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchF/BenchMk2.cs @@ -0,0 +1,39 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + + +using System; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchF +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchF)] +public class BenchMk2 +{ + public const int Iterations = 4000000; + + private static int s_i, s_n; + private static double s_p, s_a, s_x, s_f, s_e; + + [Benchmark(Description = nameof(BenchMk2))] + public bool Test() + { + s_p = Math.Acos(-1.0); + s_a = 0.0; + s_n = Iterations; + s_f = s_p / s_n; + for (s_i = 1; s_i <= s_n; ++s_i) + { + s_f = s_p / s_n; + s_x = s_f * s_i; + s_e = Math.Abs(Math.Log(Math.Exp(s_x)) / s_x) - Math.Sqrt((Math.Sin(s_x) * Math.Sin(s_x)) + Math.Cos(s_x) * Math.Cos(s_x)); + s_a = s_a + Math.Abs(s_e); + } + + return true; + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchF/BenchMrk.cs b/src/benchmarks/coreclr/Benchstones/BenchF/BenchMrk.cs new file mode 100644 index 00000000000..ab71260eaf4 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchF/BenchMrk.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using BenchmarkDotNet.Attributes; +using System; +using Benchmarks; + +namespace Benchstone.BenchF +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchF)] +public class BenchMrk +{ + public const int Iterations = 4000000; + + private static int s_i, s_n; + private static float s_p, s_a, s_x, s_f, s_e; + + [Benchmark(Description = nameof(BenchMrk))] + public bool Test() + { + s_p = (float)Math.Acos(-1.0); + s_a = 0.0F; + s_n = Iterations; + s_f = s_p / s_n; + for (s_i = 1; s_i <= s_n; ++s_i) + { + s_f = s_p / s_n; + s_x = s_f * s_i; + s_e = (float)(Math.Abs(Math.Log(Math.Exp(s_x)) / s_x) - Math.Sqrt((Math.Sin(s_x) * Math.Sin(s_x)) + Math.Cos(s_x) * Math.Cos(s_x))); + s_a = s_a + Math.Abs(s_e); + } + + return true; + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchF/Bisect.cs b/src/benchmarks/coreclr/Benchstones/BenchF/Bisect.cs new file mode 100644 index 00000000000..f51b2a9ef78 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchF/Bisect.cs @@ -0,0 +1,135 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// +// The Bisect algorithm adapted from Conte and de Boor + +using BenchmarkDotNet.Attributes; +using System.Runtime.CompilerServices; +using Benchmarks; + +namespace Benchstone.BenchF +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchF)] +public class Bisect +{ + public const int Iterations = 400000; + + public static volatile object VolatileObject; + + [MethodImpl(MethodImplOptions.NoInlining)] + private static void Escape(object obj) + { + VolatileObject = obj; + } + + [Benchmark(Description = nameof(Bisect))] + public bool Test() + { + int idbg, iflag; + double a, b, error, p1, xi; + + iflag = 0; + error = 0.0; + xi = 0.0; + idbg = 0; + for (int i = 1; i <= Iterations; i++) + { + for (int j = 1; j <= 10; j++) + { + a = 1.0; + b = 2.0; + p1 = 0.000001; + Inner(ref a, ref b, ref p1, out iflag); + if (iflag > 1) + { + goto L999; + } + + xi = (a + b) / 2.0; + if (a > b) + { + error = (a - b) / 2.0; + } + else + { + error = (b - a) / 2.0; + } + + if (idbg != 0) + { + System.Console.WriteLine(" the root is {0:E} plus/minus {1:E}\n", xi, error); + } + } + } + L999: + { + } + + // Escape iflag, error, xi so that they appear live + Escape(iflag); + Escape(error); + Escape(xi); + + return true; + } + + private static double FF(double x) + { + return ((-1.0 - (x * (1.0 - (x * x))))); + } + + private static void Inner(ref double a, ref double b, ref double xtol, out int iflag) + { + double fa, error; + double xm, fm; + + iflag = 0; + fa = FF(a); + /* check for sign change */ + if (((fa) * FF(b)) < 0.0) + { + goto L5; + } + + iflag = 2; + goto L99; + + L5: + { + error = System.Math.Abs(b - a); + } + L6: + error = error / 2.0; + /* check for sufficiently small interval */ + if (error < xtol) + { + goto L99; + } + xm = (a + b) / 2.0; + /* check for unreasonable error requirement */ + if (xm + error == xm) + { + goto L20; + } + + fm = FF(xm); + /* change to new interval */ + if (fa * fm < 0.0) + { + goto L9; + } + a = xm; + fa = fm; + goto L6; + L9: + b = xm; + goto L6; + L20: + iflag = 1; + L99: + { + } + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchF/DMath.cs b/src/benchmarks/coreclr/Benchstones/BenchF/DMath.cs new file mode 100644 index 00000000000..6498afaae16 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchF/DMath.cs @@ -0,0 +1,89 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using BenchmarkDotNet.Attributes; +using System; +using System.Runtime.CompilerServices; +using Benchmarks; + +namespace Benchstone.BenchF +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchF)] +public class DMath +{ + public const int Iterations = 100000; + + private const double Deg2Rad = 57.29577951; + private static volatile object s_volatileObject; + + private static void Escape(object obj) + { + s_volatileObject = obj; + } + + private static double Fact(double n) + { + double res; + res = 1.0; + while (n > 0.0) + { + res *= n; + n -= 1.0; + } + + return res; + } + + private static double Power(double n, double p) + { + double res; + res = 1.0; + while (p > 0.0) + { + res *= n; + p -= 1.0; + } + + return res; + } + + [Benchmark(Description = nameof(DMath))] + public bool Test() => Bench(Iterations); + + [MethodImpl(MethodImplOptions.NoInlining)] + private static bool Bench(int loop) + { + double[] sines = new double[91]; + double angle, radians, sine, worksine, temp, k; + double diff; + + for (int iter = 1; iter <= loop; iter++) + { + for (angle = 0.0; angle <= 90.0; angle += 1.0) + { + radians = angle / Deg2Rad; + k = 0.0; + worksine = 0.0; + do + { + sine = worksine; + temp = (2.0 * k) + 1.0; + worksine += (Power(-1.0, k) / Fact(temp)) * Power(radians, temp); + k += 1.0; + diff = Math.Abs(sine - worksine); + } while (diff > 1E-8); + + sines[(int)angle] = worksine; + } + } + + // Escape sines array so that its elements appear live-out + Escape(sines); + + return true; + } +} +} + diff --git a/src/benchmarks/coreclr/Benchstones/BenchF/FFT.cs b/src/benchmarks/coreclr/Benchstones/BenchF/FFT.cs new file mode 100644 index 00000000000..1db3c60e48e --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchF/FFT.cs @@ -0,0 +1,125 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// +// FFT benchmark adapted from a Fortran routine from the book +// Digital Signal Analysis, Samuel Stearns, Hayden Book Co. + +using BenchmarkDotNet.Attributes; +using System.Runtime.CompilerServices; +using Benchmarks; + +namespace Benchstone.BenchF +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchF)] +public class FFT +{ + public const int Iterations = 300000; + + private static readonly int s_points = 16; + public static volatile object VolatileObject; + + [MethodImpl(MethodImplOptions.NoInlining)] + private static void Escape(object obj) + { + VolatileObject = obj; + } + + [Benchmark(Description = nameof(FFT))] + public bool Test() + { + double[] fr = new double[17]; + double[] fi = new double[17]; + + int i; + double t; + + for (int iter = 1; iter <= Iterations; iter++) + { + for (i = 1; i <= s_points; ++i) + { + t = ((double)0.375) * ((double)(i - 1)); + fr[i] = System.Math.Exp(-t) * System.Math.Sin(t); + fi[i] = 0.0; + } + FastFourierT(fr, fi, s_points); + } + + // Escape the results to live-out. + Escape(fr); + Escape(fi); + + return true; + } + + private static void FastFourierT(double[] fr, double[] fi, int n) + { + int i, j, l, m; + int istep, mr, nn; + double a, el, tr, ti, wr, wi; + + mr = 0; + nn = n - 1; + m = 1; + + do + { + l = n; + for (l = l / 2; ((mr + l) > nn); l = l / 2) + { + } + // l <= n/2 + // mr <= (mr % l) + l ==> mr <= (l - 1) + l = 2l - 1 + // ==> mr <= n - 1 + mr = (mr % l) + l; + + if (mr > m) + { + // Accessing upto m + 1 ==> nn + 1 ==> n - 1 + 1 ==> n + tr = fr[m + 1]; + // Accessing upto mr + 1 ==> n - 1 + 1 ==> n + fr[m + 1] = fr[mr + 1]; + fr[mr + 1] = tr; + ti = fi[m + 1]; + fi[m + 1] = fi[mr + 1]; + fi[mr + 1] = ti; + } + ++m; + } while (m <= nn); + + for (l = 1; l < n; l = istep) + { + istep = 2 * l; + + el = ((double)l); + m = 1; + do + { + a = ((double)3.1415926535) * (((double)(1 - m)) / el); + wr = System.Math.Cos(a); + wi = System.Math.Sin(a); + i = m; + do + { + // l can have a maximum value of 2^x where 2^x < n and 2^(x+1) = n, since n is even + // ==> istep <= 2^(x+1) ==> i can only take the value of m and m <= l + // Therefore, j <= l + l + // or j <= 2^x + 2^x = 2^(x+1) = n + // i.e. j <= n + j = i + l; + + // Accessing upto j <= n, i <= n + tr = wr * fr[j] - wi * fi[j]; + ti = wr * fi[j] + wi * fr[j]; + fr[j] = fr[i] - tr; + fi[j] = fi[i] - ti; + fr[i] = fr[i] + tr; + fi[i] = fi[i] + ti; + i += istep; + } while (i <= n); + ++m; + } while (m <= l); + } + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchF/InProd.cs b/src/benchmarks/coreclr/Benchstones/BenchF/InProd.cs new file mode 100644 index 00000000000..b6d56ad3894 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchF/InProd.cs @@ -0,0 +1,105 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchF +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchF)] +public class InProd +{ + public const int Iterations = 70; + + private const int RowSize = 10 * Iterations; + + private static int s_seed; + + private static T[][] AllocArray(int n1, int n2) + { + T[][] a = new T[n1][]; + for (int i = 0; i < n1; ++i) + { + a[i] = new T[n2]; + } + return a; + } + + [Benchmark(Description = nameof(InProd))] + public bool Test() + { + double[][] rma = AllocArray(RowSize, RowSize); + double[][] rmb = AllocArray(RowSize, RowSize); + double[][] rmr = AllocArray(RowSize, RowSize); + + double sum; + + Inner(rma, rmb, rmr); + + for (int i = 1; i < RowSize; i++) + { + for (int j = 1; j < RowSize; j++) + { + sum = 0; + for (int k = 1; k < RowSize; k++) + { + sum = sum + rma[i][k] * rmb[k][j]; + } + if (rmr[i][j] != sum) + { + return false; + } + } + } + + return true; + } + + private static void InitRand() + { + s_seed = 7774755; + } + + private static int Rand() + { + s_seed = (s_seed * 77 + 13218009) % 3687091; + return s_seed; + } + + private static void InitMatrix(double[][] m) + { + for (int i = 1; i < RowSize; i++) + { + for (int j = 1; j < RowSize; j++) + { + m[i][j] = (Rand() % 120 - 60) / 3; + } + } + } + + private static void InnerProduct(out double result, double[][] a, double[][] b, int row, int col) + { + result = 0.0; + for (int i = 1; i < RowSize; i++) + { + result = result + a[row][i] * b[i][col]; + } + } + + private static void Inner(double[][] rma, double[][] rmb, double[][] rmr) + { + InitRand(); + InitMatrix(rma); + InitMatrix(rmb); + for (int i = 1; i < RowSize; i++) + { + for (int j = 1; j < RowSize; j++) + { + InnerProduct(out rmr[i][j], rma, rmb, i, j); + } + } + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchF/InvMt.cs b/src/benchmarks/coreclr/Benchstones/BenchF/InvMt.cs new file mode 100644 index 00000000000..b3fbc945246 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchF/InvMt.cs @@ -0,0 +1,108 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// +// Solution of linear algebraic equations and matrix inversion. + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchF +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.BenchF)] +public class InvMt +{ + public const int Iterations = 80; + + private const int MatSize = Iterations; + + private static T[][] AllocArray(int n1, int n2) + { + T[][] a = new T[n1][]; + for (int i = 0; i < n1; ++i) + { + a[i] = new T[n2]; + } + return a; + } + + [Benchmark(Description = nameof(InvMt))] + public bool Test() + { + double[][] t = AllocArray(MatSize + 1, (MatSize + 1) * 2); + + double det, detinv, ber, p; + int n, i, j; + + n = MatSize; + for (i = 1; i <= n; i++) + { + for (j = 1; j <= n; j++) + { + if (i == j) + { + t[i][j] = 2.0001; + t[i][n + 1 + j] = 1.0; + } + else + { + t[i][j] = 1.0001; + t[i][n + 1 + j] = 0.0; + } + } + t[i][n + 1] = System.Math.Sqrt((float)i); + } + + Inner(t, out det, ref n); + + for (i = 1; i <= n; i++) + { + for (j = 1; j <= n; j++) + { + p = t[i][j]; + t[i][j] = t[i][n + 1 + j]; + t[i][n + 1 + j] = p; + } + } + + Inner(t, out detinv, ref n); + + ber = 0.0; + for (i = 1; i <= n; i++) + { + ber = ber + System.Math.Abs(System.Math.Sqrt((double)i) - t[i][n + 1]); + } + + return true; + } + + private static void Inner(double[][] t, out double det, ref int n) + { + double tik, tkk; + + det = 1.0; + for (int k = 1; k <= n; k++) + { + tkk = t[k][k]; + det = det * tkk; + + for (int j = 1; j <= (2 * n + 1); j++) + { + t[k][j] = t[k][j] / tkk; + } + + for (int i = 1; i <= n; i++) + { + if (i != k) + { + tik = t[i][k]; + for (int j = 1; j <= (2 * n + 1); j++) + { + t[i][j] = t[i][j] - t[k][j] * tik; + } + } + } + } + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchF/LLoops.cs b/src/benchmarks/coreclr/Benchstones/BenchF/LLoops.cs new file mode 100644 index 00000000000..c303d5d6559 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchF/LLoops.cs @@ -0,0 +1,622 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// +// C# adaptation of C implementation of Livermore Loops Fortran benchmark. + +/* Livermore Loops coded in C Latest File Modification 20 Oct 92, + * by Tim Peters, Kendall Square Res. Corp. tim@ksr.com, ksr!tim@uunet.uu.net + * SUBROUTINE KERNEL( TK) replaces the Fortran routine in LFK Test program. + ************************************************************************ + * * + * KERNEL executes 24 samples of "C" computation * + * * + * TK(1) - total cpu time to execute only the 24 kernels.* + * TK(2) - total Flops executed by the 24 Kernels * + * * + ************************************************************************ + * * + * L. L. N. L. " C " K E R N E L S: M F L O P S * + * * + * These kernels measure " C " numerical computation * + * rates for a spectrum of cpu-limited computational * + * structures or benchmarks. Mathematical through-put * + * is measured in units of millions of floating-point * + * operations executed per second, called Megaflops/sec. * + * * + * Fonzi's Law: There is not now and there never will be a language * + * in which it is the least bit difficult to write * + * bad programs. * + * F.H.MCMAHON 1972 * + ************************************************************************ + *Originally from Greg Astfalk, AT&T, P.O.Box 900, Princeton, NJ. 08540* + * by way of Frank McMahon (LLNL). * + * * + * REFERENCE * + * * + * F.H.McMahon, The Livermore Fortran Kernels: * + * A Computer Test Of The Numerical Performance Range, * + * Lawrence Livermore National Laboratory, * + * Livermore, California, UCRL-53745, December 1986. * + * * + * from: National Technical Information Service * + * U.S. Department of Commerce * + * 5285 Port Royal Road * + * Springfield, VA. 22161 * + * * + * Changes made to correct many array subscripting problems, * + * make more readable (added #define's), include the original * + * FORTRAN versions of the runs as comments, and make more * + * portable by Kelly O'Hair (LLNL) and Chuck Rasbold (LLNL). * + * * + ************************************************************************ + */ + +using BenchmarkDotNet.Attributes; +using System; +using System.Runtime.CompilerServices; +using Benchmarks; + + +namespace Benchstone.BenchF +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchF)] +public class LLoops +{ + public const int Iterations = 4000; + + private const double MaxErr = 1.0e-6; + + private double[] _x = new double[1002]; + private double[] _y = new double[1002]; + private double[] _z = new double[1002]; + private double[] _u = new double[501]; + private double[][] _px; + private double[][] _cx; + private double[][][] _u1; + private double[][][] _u2; + private double[][][] _u3; + private double[][] _b; + private double[] _bnk1 = new double[6]; + private double[][] _c; + private double[] _bnk2 = new double[6]; + private double[][] _p; + private double[] _bnk3 = new double[6]; + private double[][] _h; + private double[] _bnk4 = new double[6]; + private double[] _bnk5 = new double[6]; + private double[] _ex = new double[68]; + private double[] _rh = new double[68]; + private double[] _dex = new double[68]; + private double[] _vx = new double[151]; + private double[] _xx = new double[151]; + private double[] _grd = new double[151]; + private int[] _e = new int[193]; + private int[] _f = new int[193]; + private int[] _nrops = { 0, 5, 10, 2, 2, 2, 2, 16, 36, 17, 9, 1, 1, 7, 11 }; + private int[] _loops = { 0, 400, 200, 1000, 510, 1000, 1000, 120, 40, 100, 100, 1000, 1000, 128, 150 }; + private double[] _checks = { + 0, 0.811986948148e+07, 0.356310000000e+03, 0.356310000000e+03, -0.402412007078e+05, + 0.136579037764e+06, 0.419716278716e+06, + 0.429449847526e+07, 0.314064400000e+06, + 0.182709000000e+07, -0.140415250000e+09, + 0.374895020500e+09, 0.000000000000e+00, + 0.171449024000e+06, -0.510829560800e+07 + }; + + public static volatile object VolatileObject; + + [MethodImpl(MethodImplOptions.NoInlining)] + private static void Escape(object obj) + { + VolatileObject = obj; + } + + private static T[][] AllocArray(int n1, int n2) + { + T[][] a = new T[n1][]; + for (int i = 0; i < n1; ++i) + { + a[i] = new T[n2]; + } + return a; + } + + private static T[][][] AllocArray(int n1, int n2, int n3) + { + T[][][] a = new T[n1][][]; + for (int i = 0; i < n1; ++i) + { + a[i] = new T[n2][]; + for (int j = 0; j < n2; j++) + { + a[i][j] = new T[n3]; + } + } + + return a; + } + + [Benchmark(Description = nameof(LLoops))] + public bool Test() + { + _px = AllocArray(16, 101); + _cx = AllocArray(16, 101); + + _u1 = AllocArray(6, 23, 3); + _u2 = AllocArray(6, 23, 3); + _u3 = AllocArray(6, 23, 3); + + _b = AllocArray(65, 9); + _c = AllocArray(65, 9); + _h = AllocArray(65, 9); + + _p = AllocArray(5, 513); + + for (int i = 0; i < Iterations; i++) + { + Main1(i < Iterations - 1 ? 0 : 1); + } + + return true; + } + + private static int Clock() + { + return 0; + } + + private void Main1(int output) + { + int nt, lw, nl1, nl2; + int i, i1, i2, ip, ir, ix, j, j1, j2, k, kx, ky, l, m; + double[] ts = new double[21]; + double[] rt = new double[21]; + double[] rpm = new double[21]; + double[] cksum = new double[21]; + double r, t, a11, a12, a13, sig, a21, a22, a23, a31, a32, a33; + double b28, b27, b26, b25, b24, b23, b22, c0, flx, rx1; + double q, s, scale, uu, du1, du2, du3, ar, br, cr, xi, ri; + int[] mops = new int[20]; + + for (i = 1; i <= 20; i++) + { + cksum[i] = 0.0; + } + + r = 4.86; + t = 276.0; + a11 = 0.5; + a12 = 0.33; + a13 = 0.25; + sig = 0.8; + a21 = 0.20; + a22 = 0.167; + a23 = 0.141; + a31 = 0.125; + a32 = 0.111; + a33 = 0.10; + b28 = 0.1; + b27 = 0.2; + b26 = 0.3; + b25 = 0.4; + b24 = 0.5; + b23 = 0.6; + b22 = 0.7; + c0 = 0.8; + flx = 4.689; + rx1 = 64.0; + + /* + * end of initialization -- begin timing + */ + + /* loop 1 hydro excerpt */ + + Init(); + ts[1] = (double)Clock(); + q = 0.0; + for (k = 1; k <= 400; k++) + { + _x[k] = q + _y[k] * (r * _z[k + 10] + t * _z[k + 11]); + } + ts[1] = (double)Clock() - ts[1]; + for (k = 1; k <= 400; k++) + { + cksum[1] += (double)k * _x[k]; + } + + /* loop 2 mlr, inner product */ + + Init(); + ts[2] = (double)Clock(); + q = 0.0; + for (k = 1; k <= 996; k += 5) + { + q += _z[k] * _x[k] + _z[k + 1] * _x[k + 1] + _z[k + 2] * _x[k + 2] + _z[k + 3] * _x[k + 3] + _z[k + 4] * _x[k + 4]; + } + ts[2] = (double)Clock() - ts[2]; + cksum[2] = q; + + /* loop 3 inner prod */ + + Init(); + ts[3] = (double)Clock(); + q = 0.0; + for (k = 1; k <= 1000; k++) + { + q += _z[k] * _x[k]; + } + ts[3] = (double)Clock() - ts[3]; + cksum[3] = q; + + /* loop 4 banded linear equarions */ + + Init(); + ts[4] = (double)Clock(); + for (l = 7; l <= 107; l += 50) + { + lw = l; + for (j = 30; j <= 870; j += 5) + { + _x[l - 1] -= _x[lw++] * _y[j]; + } + _x[l - 1] = _y[5] * _x[l - 1]; + } + ts[4] = (double)Clock() - ts[4]; + for (l = 7; l <= 107; l += 50) + { + cksum[4] += (double)l * _x[l - 1]; + } + + /* loop 5 tri-diagonal elimination, below diagonal */ + + Init(); + ts[5] = (double)Clock(); + for (i = 2; i <= 998; i += 3) + { + _x[i] = _z[i] * (_y[i] - _x[i - 1]); + _x[i + 1] = _z[i + 1] * (_y[i + 1] - _x[i]); + _x[i + 2] = _z[i + 2] * (_y[i + 2] - _x[i + 1]); + } + ts[5] = (double)Clock() - ts[5]; + for (i = 2; i <= 1000; i++) + { + cksum[5] += (double)i * _x[i]; + } + + /* loop 6 tri-diagonal elimination, above diagonal */ + + Init(); + ts[6] = (double)Clock(); + for (j = 3; j <= 999; j += 3) + { + i = 1003 - j; + _x[i] = _x[i] - _z[i] * _x[i + 1]; + _x[i - 1] = _x[i - 1] - _z[i - 1] * _x[i]; + _x[i - 2] = _x[i - 2] - _z[i - 2] * _x[i - 1]; + } + ts[6] = (double)Clock() - ts[6]; + for (j = 1; j <= 999; j++) + { + l = 1001 - j; + cksum[6] += (double)j * _x[l]; + } + + /* loop 7 equation of state excerpt */ + + Init(); + ts[7] = (double)Clock(); + for (m = 1; m <= 120; m++) + { + _x[m] = _u[m] + r * (_z[m] + r * _y[m]) + t * (_u[m + 3] + r * (_u[m + 2] + r * _u[m + 1]) + t * (_u[m + 6] + r * (_u[m + 5] + r * _u[m + 4]))); + } + ts[7] = (double)Clock() - ts[7]; + for (m = 1; m <= 120; m++) + { + cksum[7] += (double)m * _x[m]; + } + + /* loop 8 p.d.e. integration */ + + Init(); + ts[8] = (double)Clock(); + nl1 = 1; + nl2 = 2; + for (kx = 2; kx <= 3; kx++) + { + for (ky = 2; ky <= 21; ky++) + { + du1 = _u1[kx][ky + 1][nl1] - _u1[kx][ky - 1][nl1]; + du2 = _u2[kx][ky + 1][nl1] - _u2[kx][ky - 1][nl1]; + du3 = _u3[kx][ky + 1][nl1] - _u3[kx][ky - 1][nl1]; + _u1[kx][ky][nl2] = _u1[kx][ky][nl1] + a11 * du1 + a12 * du2 + a13 * du3 + sig * (_u1[kx + 1][ky][nl1] + - 2.0 * _u1[kx][ky][nl1] + _u1[kx - 1][ky][nl1]); + _u2[kx][ky][nl2] = _u2[kx][ky][nl1] + a21 * du1 + a22 * du2 + a23 * du3 + sig * (_u2[kx + 1][ky][nl1] + - 2.0 * _u2[kx][ky][nl1] + _u2[kx - 1][ky][nl1]); + _u3[kx][ky][nl2] = _u3[kx][ky][nl1] + a31 * du1 + a32 * du2 + a33 * du3 + sig * (_u3[kx + 1][ky][nl1] + - 2.0 * _u3[kx][ky][nl1] + _u3[kx - 1][ky][nl1]); + } + } + ts[8] = (double)Clock() - ts[8]; + for (i = 1; i <= 2; i++) + { + for (kx = 2; kx <= 3; kx++) + { + for (ky = 2; ky <= 21; ky++) + { + cksum[8] += (double)kx * (double)ky * (double)i * (_u1[kx][ky][i] + _u2[kx][ky][i] + _u3[kx][ky][i]); + } + } + } + + /* loop 9 integrate predictors */ + + Init(); + ts[9] = (double)Clock(); + for (i = 1; i <= 100; i++) + { + _px[1][i] = b28 * _px[13][i] + b27 * _px[12][i] + b26 * _px[11][i] + b25 * _px[10][i] + b24 * _px[9][i] + + b23 * _px[8][i] + b22 * _px[7][i] + c0 * (_px[5][i] + _px[6][i]) + _px[3][i]; + } + ts[9] = (double)Clock() - ts[9]; + for (i = 1; i <= 100; i++) + { + cksum[9] += (double)i * _px[1][i]; + } + + /* loop 10 difference predictors */ + + Init(); + ts[10] = (double)Clock(); + for (i = 1; i <= 100; i++) + { + ar = _cx[5][i]; + br = ar - _px[5][i]; + _px[5][i] = ar; + cr = br - _px[6][i]; + _px[6][i] = br; + ar = cr - _px[7][i]; + _px[7][i] = cr; + br = ar - _px[8][i]; + _px[8][i] = ar; + cr = br - _px[9][i]; + _px[9][i] = br; + ar = cr - _px[10][i]; + _px[10][i] = cr; + br = ar - _px[11][i]; + _px[11][i] = ar; + cr = br - _px[12][i]; + _px[12][i] = br; + _px[14][i] = cr - _px[13][i]; + _px[13][i] = cr; + } + ts[10] = (double)Clock() - ts[10]; + for (i = 1; i <= 100; i++) + { + for (k = 5; k <= 14; k++) + { + cksum[10] += (double)k * (double)i * _px[k][i]; + } + } + + /* loop 11 first sum. */ + + Init(); + ts[11] = (double)Clock(); + _x[1] = _y[1]; + for (k = 2; k <= 1000; k++) + { + _x[k] = _x[k - 1] + _y[k]; + } + ts[11] = (double)Clock() - ts[11]; + for (k = 1; k <= 1000; k++) + { + cksum[11] += (double)k * _x[k]; + } + + /* loop 12 first diff. */ + + Init(); + ts[12] = (double)Clock(); + for (k = 1; k <= 999; k++) + { + _x[k] = _y[k + 1] - _y[k]; + } + ts[12] = (double)Clock() - ts[12]; + for (k = 1; k <= 999; k++) + { + cksum[12] += (double)k * _x[k]; + } + + /* loop 13 2-d particle pusher */ + + Init(); + ts[13] = (double)Clock(); + for (ip = 1; ip <= 128; ip++) + { + i1 = (int)_p[1][ip]; + j1 = (int)_p[2][ip]; + _p[3][ip] += _b[i1][j1]; + _p[4][ip] += _c[i1][j1]; + _p[1][ip] += _p[3][ip]; + _p[2][ip] += _p[4][ip]; + // Each element of m_p, m_b and m_c is initialized to 1.00025 in Init(). + // From the assignments above, + // i2 = m_p[1][ip] = m_p[1][ip] + m_p[3][ip] = m_p[1][ip] + m_p[3][ip] + m_b[i1][j1] = 1 + 1 + 1 = 3 + // j2 = m_p[2][ip] = m_p[2][ip] + m_p[4][ip] = m_p[2][ip] + m_p[4][ip] + m_c[i1][j1] = 1 + 1 + 1 = 3 + i2 = (int)_p[1][ip]; + j2 = (int)_p[2][ip]; + // Accessing m_y, m_z upto 35 + _p[1][ip] += _y[i2 + 32]; + _p[2][ip] += _z[j2 + 32]; + + i2 += _e[i2 + 32]; + j2 += _f[j2 + 32]; + _h[i2][j2] += 1.0; + } + ts[13] = (double)Clock() - ts[13]; + for (ip = 1; ip <= 128; ip++) + { + cksum[13] += (double)ip * (_p[3][ip] + _p[4][ip] + _p[1][ip] + _p[2][ip]); + } + for (k = 1; k <= 64; k++) + { + for (ix = 1; ix <= 8; ix++) + { + cksum[13] += (double)k * (double)ix * _h[k][ix]; + } + } + + /* loop 14 1-d particle pusher */ + + Init(); + ts[14] = (double)Clock(); + for (k = 1; k <= 150; k++) + { + // m_grd[150] = 13.636 + // Therefore ix <= 13 + ix = (int)_grd[k]; + xi = (double)ix; + _vx[k] += _ex[ix] + (_xx[k] - xi) * _dex[ix]; + _xx[k] += _vx[k] + flx; + ir = (int)_xx[k]; + ri = (double)ir; + rx1 = _xx[k] - ri; + ir = System.Math.Abs(ir % 64); + _xx[k] = ri + rx1; + // ir < 64 since ir = ir % 64 + // So m_rh is accessed upto 64 + _rh[ir] += 1.0 - rx1; + _rh[ir + 1] += rx1; + } + ts[14] = (double)Clock() - ts[14]; + for (k = 1; k <= 150; k++) + { + cksum[14] += (double)k * (_vx[k] + _xx[k]); + } + for (k = 1; k <= 67; k++) + { + cksum[14] += (double)k * _rh[k]; + } + + /* time the clock call */ + + ts[15] = (double)Clock(); + ts[15] = (double)Clock() - ts[15]; + + /* scale= set to convert time to micro-seconds */ + + scale = 1.0; + rt[15] = ts[15] * scale; + + nt = 14; + t = s = uu = 0.0; + for (k = 1; k <= nt; k++) + { + rt[k] = (ts[k] - ts[15]) * scale; + t += rt[k]; + mops[k] = _nrops[k] * _loops[k]; + s += (double)mops[k]; + rpm[k] = 0.0; + if (rt[k] != 0.0) + { + rpm[k] = (double)mops[k] / rt[k]; + } + uu += rpm[k]; + } + uu /= (double)nt; + s /= t; + + // Ensure that the array elements are live-out + Escape(ts); + Escape(rt); + Escape(rpm); + Escape(cksum); + Escape(mops); + } + + private void Init() + { + int j, k, l; + + for (k = 1; k <= 1000; k++) + { + _x[k] = 1.11; + _y[k] = 1.123; + _z[k] = 0.321; + } + + for (k = 1; k <= 500; k++) + { + _u[k] = 0.00025; + } + + for (k = 1; k <= 15; k++) + { + for (l = 1; l <= 100; l++) + { + _px[k][l] = l; + _cx[k][l] = l; + } + } + + for (j = 1; j < 6; j++) + { + for (k = 1; k < 23; k++) + { + for (l = 1; l < 3; l++) + { + _u1[j][k][l] = k; + _u2[j][k][l] = k + k; + _u3[j][k][l] = k + k + k; + } + } + } + + for (j = 1; j < 65; j++) + { + for (k = 1; k < 9; k++) + { + _b[j][k] = 1.00025; + _c[j][k] = 1.00025; + _h[j][k] = 1.00025; + } + } + + for (j = 1; j < 6; j++) + { + _bnk1[j] = j * 100; + _bnk2[j] = j * 110; + _bnk3[j] = j * 120; + _bnk4[j] = j * 130; + _bnk5[j] = j * 140; + } + + for (j = 1; j < 5; j++) + { + for (k = 1; k < 513; k++) + { + _p[j][k] = 1.00025; + } + } + + for (j = 1; j < 193; j++) + { + _e[j] = _f[j] = 1; + } + + for (j = 1; j < 68; j++) + { + _ex[j] = _rh[j] = _dex[j] = (double)j; + } + + for (j = 1; j < 151; j++) + { + _vx[j] = 0.001; + _xx[j] = 0.001; + _grd[j] = (double)(j / 8 + 3); + } + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchF/Lorenz.cs b/src/benchmarks/coreclr/Benchstones/BenchF/Lorenz.cs new file mode 100644 index 00000000000..e8c2787632e --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchF/Lorenz.cs @@ -0,0 +1,105 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// +// This program solves the "lorenz" equations using Runge-Kutta 4 + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchF +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchF)] +public class Lorenz +{ + public const int Iterations = 8000000; + + private static double s_t = 0.0; + private static double s_x = 5.0; + private static double s_y = 2.0; + private static double s_z = 27.0; + + private static int s_nsteps = Iterations; + private static double s_h = -1.0; + private static int s_printDerivative = -1; + + [Benchmark(Description = nameof(Lorenz))] + public bool Test() + { + double k1, k2, k3, k4; + double l1, l2, l3, l4; + double m1, m2, m3, m4; + double hdiv2, hdiv6; + int i; + + if (s_h < 0.0) + { + s_h = 20.0 / (double)s_nsteps; + } + if (s_printDerivative < 0) + { + s_printDerivative = s_nsteps; + } + + hdiv2 = s_h / 2.0; + hdiv6 = s_h / 6.0; + + for (i = 0; i < s_nsteps; ++i) + { + double t_arg, x_arg, y_arg, z_arg; + + k1 = F(s_t, s_x, s_y, s_z); + l1 = G(s_t, s_x, s_y, s_z); + m1 = H(s_t, s_x, s_y, s_z); + + t_arg = s_t + hdiv2; + x_arg = s_x + hdiv2 * k1; + y_arg = s_y + hdiv2 * l1; + z_arg = s_z + hdiv2 * m1; + + k2 = F(t_arg, x_arg, y_arg, z_arg); + l2 = G(t_arg, x_arg, y_arg, z_arg); + m2 = H(t_arg, x_arg, y_arg, z_arg); + + x_arg = s_x + hdiv2 * k2; + y_arg = s_y + hdiv2 * l2; + z_arg = s_z + hdiv2 * m2; + + k3 = F(t_arg, x_arg, y_arg, z_arg); + l3 = G(t_arg, x_arg, y_arg, z_arg); + m3 = H(t_arg, x_arg, y_arg, z_arg); + + t_arg = s_t + s_h; + x_arg = s_x + s_h * k3; + y_arg = s_y + s_h * l3; + z_arg = s_z + s_h * m3; + + k4 = F(t_arg, x_arg, y_arg, z_arg); + l4 = G(t_arg, x_arg, y_arg, z_arg); + m4 = H(t_arg, x_arg, y_arg, z_arg); + + s_x = s_x + hdiv6 * (k1 + 2.0 * k2 + 2.0 * k3 + k4); + s_y = s_y + hdiv6 * (l1 + 2.0 * l2 + 2.0 * l3 + l4); + s_z = s_z + hdiv6 * (m1 + 2.0 * m2 + 2.0 * m3 + m4); + s_t = t_arg; + } + + return true; + } + + private static double F(double t, double x, double y, double z) + { + return (10.0 * (y - x)); + } + + private static double G(double t, double x, double y, double z) + { + return (x * (28.0 - z) - y); + } + + private static double H(double t, double x, double y, double z) + { + return (x * y - (8.0 * z) / 3.0); + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchF/MatInv4.cs b/src/benchmarks/coreclr/Benchstones/BenchF/MatInv4.cs new file mode 100644 index 00000000000..eb411058856 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchF/MatInv4.cs @@ -0,0 +1,466 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchF +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchF)] +public class MatInv4 +{ + public const int Iterations = 60; + + private static float s_det; + + private struct X + { + public float[] A; + public X(int size) + { + A = new float[size]; + } + } + + [Benchmark(Description = nameof(MatInv4))] + public bool Test() + { + X a = new X(Iterations * Iterations); + float[] b = new float[Iterations * Iterations]; + float[] c = new float[Iterations * Iterations]; + float[] d = new float[Iterations * Iterations]; + float[] l1 = new float[Iterations]; + float[] l2 = new float[Iterations]; + + int i, k, n, nsq; + + n = Iterations; + nsq = n * n; + for (i = 0; i < n; ++i) + { + for (k = 0; k < n; ++k) + { + if (i == k) + { + a.A[i * n + k] = 40.0F; + } + else + { + a.A[i * n + k] = 0.0F; + } + } + } + + for (i = 0; i < n; ++i) + { + for (k = i; k < nsq; k += n) + { + b[k] = a.A[k]; + } + } + + /*** second(&t1); ***/ + + MinV1(b, ref n, out s_det, l1, l2); + + if (s_det == 0.0F) + { + goto L990; + } + + /*** second(&tx); ***/ + + MProd(b, a.A, c, ref n); + for (k = 1; k <= nsq; ++k) + { + b[k - 1] = a.A[k - 1]; + } + + /*** second(&tx); ***/ + + MinV2(b, ref n, out s_det, l1, l2); + + if (s_det == 0.0F) + { + goto L990; + } + + /*** second(&ty); ***/ + + MProd(b, a.A, d, ref n); + CompM(c, d, ref n); + + /*** second(&t2); ***/ + + return true; + + L990: + { + } + + return true; + } + + private static void MinV1(float[] a, ref int n, out float d, float[] l, float[] m) + { + float biga, hold; + int i, j, k, ij, ik, ji, jk, nk, ki, kj, kk, iz, jp, jq, jr; + + d = 1.0F; + ji = 0; + hold = 0.0F; + nk = -n; + for (k = 1; k <= n; ++k) + { + nk = nk + n; + l[k - 1] = k; + m[k - 1] = k; + kk = nk + k; + biga = a[kk - 1]; + for (j = k; j <= n; ++j) + { + // j <= n, so iz <= n^2 - n + iz = n * (j - 1); + for (i = k; i <= n; ++i) + { + // iz <= n^2 - n and i <= n, so ij <= n^2 + ij = iz + i; + if (System.Math.Abs(biga) >= System.Math.Abs(a[ij - 1])) + { + continue; + } + // accessing up to n^2 - 1 + biga = a[ij - 1]; + l[k - 1] = i; + m[k - 1] = j; + } + } + + j = (int)l[k - 1]; + + if (j <= k) + { + goto L35; + } + + // -n < ki <= 0 + ki = k - n; + for (i = 1; i <= n; ++i) + { + // i <= n, ki <= n + n + ... + n (n times) i.e. k <= n * n (when ki = 0 initially) + ki = ki + n; + // Accessing upto n^2 -1 + hold = -a[ki - 1]; + // ji <= n^2 - n + n (for ki = 0 initially when k = n and 0 < j <= n) + // Therefore ji <= n^2 + ji = ki - k + j; + a[ki - 1] = a[ji - 1]; + a[ji - 1] = hold; + } + L35: + i = (int)m[k - 1]; + if (i <= k) + { + goto L45; + } + + // 0 <= jp <= n^2 - n + jp = n * (i - 1); + for (j = 1; j <= n; ++j) + { + // 0 < nk <= n * (n-1) + // jk <= n^2 - n + n + // jk <= n^2 + jk = nk + j; + // jp <= n^2 - n + // ji <= n^2 - n + n or ji <= n^2 (since 0 < j <= n) + ji = jp + j; + hold = -a[jk - 1]; + a[jk - 1] = a[ji - 1]; + a[ji - 1] = hold; + } + L45: + if (biga != 0.0F) + { + goto L48; + } + d = 0.0F; + return; + + L48: + for (i = 1; i <= n; ++i) + { + if (i == k) + { + break; + } + // 0 < nk <= n * (n-1) + // 0 < ik <= n^2 + ik = nk + i; + a[ik - 1] = a[ik - 1] / (-biga); + } + + for (i = 1; i <= n; ++i) + { + if (i == k) + { + continue; + } + // 0 < nk <= n * (n-1) + // 0 < ik <= n^2 + ik = nk + i; + hold = a[ik - 1]; + // -n < ij <= 0 + ij = i - n; + for (j = 1; j <= n; ++j) + { + // i <= n, ij <= n + n + ... + n (n times) or ij <= n * n + ij = ij + n; + if (j == k) + { + continue; + } + // if i=1, kj = (1 + (n-1) * n) - 1 + n ==> ij = n^2 + // if i=n, kj = (n * n) - n + n ==> ij = n ^2 + // So j <= n^2 + kj = ij - i + k; + a[ij - 1] = hold * a[kj - 1] + a[ij - 1]; + } + } + kj = k - n; + for (j = 1; j <= n; ++j) + { + // k <= n, kj <= n + n + ... + n (n times) or kj <= n * n + kj = kj + n; + if (j == k) + { + continue; + } + // Accessing upto n^2 - 1 + a[kj - 1] = a[kj - 1] / biga; + } + d = d * biga; + a[kk - 1] = 1.0F / biga; + } + k = n; + L100: + k = k - 1; + if (k < 1) + { + return; + } + i = (int)l[k - 1]; + if (i <= k) + { + goto L120; + } + + // 0 <= jq <= n^2 - n + // 0 <= jr <= n^2 - n + jq = n * (k - 1); + jr = n * (i - 1); + for (j = 1; j <= n; ++j) + { + // jk <= n^2 - n + n + // jk <= n^2 + jk = jq + j; + hold = a[jk - 1]; + // ji <= n^2 - n + n + // ji <= n^2 + ji = jr + j; + a[jk - 1] = -a[ji - 1]; + a[ji - 1] = hold; + } + L120: + j = (int)m[k - 1]; + if (j <= k) + { + goto L100; + } + // 0 <= jr <= n^2 - n + ki = k - n; + for (i = 1; i <= n; ++i) + { + // ki <= n + n + ... + n (n times) or ki <= n * n + ki = ki + n; + hold = a[ki - 1]; + // if i=1, ji = (1 + (n-1) * n) - 1 + n ==> ij = n^2 + // if i=n, ji = (n * n) - n + n ==> ij = n ^2 + // Therefore ji <= n^2 + ji = ki - k + j; + a[ki - 1] = -a[ji - 1]; + } + a[ji - 1] = hold; + goto L100; + } + + private static void MinV2(float[] a, ref int n, out float d, float[] l, float[] m) + { + float biga, hold; + int i, j, k; + + d = 1.0F; + for (k = 1; k <= n; ++k) + { + l[k - 1] = k; + m[k - 1] = k; + biga = a[(k - 1) * n + (k - 1)]; + for (j = k; j <= n; ++j) + { + for (i = k; i <= n; ++i) + { + // Accessing upto n^2 - n + n - 1 ==> n^2 - 1 + if (System.Math.Abs(biga) >= System.Math.Abs(a[(i - 1) * n + (j - 1)])) + { + continue; + } + biga = a[(i - 1) * n + (j - 1)]; + l[k - 1] = i; + m[k - 1] = j; + } + } + j = (int)l[k - 1]; + if (l[k - 1] <= k) + { + goto L200; + } + for (i = 1; i <= n; ++i) + { + // Accessing upto n^2 - n + n - 1 ==> n^2 - 1 + hold = -a[(k - 1) * n + (i - 1)]; + a[(k - 1) * n + (i - 1)] = a[(j - 1) * n + (i - 1)]; + a[(j - 1) * n + (i - 1)] = hold; + } + L200: + i = (int)m[k - 1]; + if (m[k - 1] <= k) + { + goto L250; + } + for (j = 1; j <= n; ++j) + { + // Accessing upto n^2 - n + n - 1 ==> n^2 - 1 + hold = -a[(j - 1) * n + (k - 1)]; + a[(j - 1) * n + (k - 1)] = a[(j - 1) * n + (i - 1)]; + a[(j - 1) * n + (i - 1)] = hold; + } + L250: + if (biga != 0.0F) + { + goto L300; + } + d = 0.0F; + return; + + L300: + for (i = 1; i <= n; ++i) + { + if (i != k) + { + // Accessing upto n^2 - n + n - 1 ==> n^2 - 1 + a[(i - 1) * n + (k - 1)] = a[(i - 1) * n + (k - 1)] / (-biga); + } + } + for (i = 1; i <= n; ++i) + { + if (i == k) + { + continue; + } + for (j = 1; j <= n; ++j) + { + if (j != k) + { + // Accessing upto n^2 - n + n - 1 ==> n^2 - 1 + a[(i - 1) * n + (j - 1)] = a[(i - 1) * n + (k - 1)] * a[(k - 1) * n + (j - 1)] + a[(i - 1) * n + (j - 1)]; + } + } + } + for (j = 1; j < n; ++j) + { + if (j != k) + { + // Accessing upto n^2 - n + n - 1 ==> n^2 - 1 + a[(k - 1) * n + (j - 1)] = a[(k - 1) * n + (j - 1)] / biga; + } + } + d = d * biga; + a[(k - 1) * n + (k - 1)] = 1.0F / biga; + } + k = n; + L400: + k = k - 1; + if (k < 1) + { + return; + } + i = (int)l[k - 1]; + if (i <= k) + { + goto L450; + } + for (j = 1; j <= n; ++j) + { + // Accessing upto n^2 - n + n - 1 ==> n^2 - 1 + hold = a[(j - 1) * n + (k - 1)]; + a[(j - 1) * n + (k - 1)] = -a[(j - 1) * n + (i - 1)]; + a[(j - 1) * n + (i - 1)] = hold; + } + L450: + j = (int)m[k - 1]; + if (j <= k) + { + goto L400; + } + for (i = 1; i <= n; ++i) + { + // Accessing upto n^2 - n + n - 1 ==> n^2 - 1 + hold = a[(k - 1) * n + (i - 1)]; + a[(k - 1) * n + (i - 1)] = -a[(j - 1) * n + (i - 1)]; + a[(j - 1) * n + (i - 1)] = hold; + } + goto L400; + } + + private static void MProd(float[] a, float[] b, float[] c, ref int n) + { + int i, j, k; + + for (i = 1; i <= n; ++i) + { + for (j = 1; j <= n; ++j) + { + // Accessing upto n^2 - n + n - 1 ==> n^2 - 1 + c[(i - 1) * n + (j - 1)] = 0.0F; + for (k = 1; k <= n; ++k) + { + c[(i - 1) * n + (j - 1)] = c[(i - 1) * n + (j - 1)] + a[(i - 1) * n + (k - 1)] * b[(k - 1) * n + (j - 1)]; + } + } + } + return; + } + + private static void CompM(float[] a, float[] b, ref int n) + { + int i, j; + float x, sum = 0.0F; + + //(starting compare.) + for (i = 1; i <= n; ++i) + { + for (j = 1; j <= n; ++j) + { + x = 0.0F; + if (i == j) + { + x = 1.0F; + } + sum = sum + System.Math.Abs(System.Math.Abs(a[(i - 1) * n + (j - 1)]) - x); + } + } + return; + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchF/NewtE.cs b/src/benchmarks/coreclr/Benchstones/BenchF/NewtE.cs new file mode 100644 index 00000000000..546afca87d7 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchF/NewtE.cs @@ -0,0 +1,106 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// +// Simultaneous equations by Newton's method adapted from Conte and De Boor +// to solve F(X,Y)=0 and G(X,Y)=0 + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchF +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchF)] +public class NewtE +{ + public const int Iterations = 1000000; + + [Benchmark(Description = nameof(NewtE))] + public bool Test() + { + double idgb, a, b, x, y, deltaX, deltaY; + a = 0; + b = 0; + x = 0; + y = 0; + idgb = 0; + + if (idgb != 0) + { + System.Console.WriteLine("{0}, {1}, F(x,y) , G(x,y) \n", x, y); + } + + for (int j = 1; j <= Iterations; j++) + { + x = 1.0; + y = (-2.0); + a = F(x, y); + b = G(x, y); + if (idgb != 0) + { + System.Console.WriteLine(" {0}, {1}, {2}, {3}\n", x, y, a, b); + } + + for (int i = 1; i <= 20; i++) + { + deltaX = (-F(x, y) * GY(x, y) + G(x, y) * FY(x, y)) / (FX(x, y) * GY(x, y) - FY(x, y) * GX(x, y)); + deltaY = (-G(x, y) * FX(x, y) + F(x, y) * GX(x, y)) / (FX(x, y) * GY(x, y) - FY(x, y) * GX(x, y)); + x = x + deltaX; + y = y + deltaY; + a = F(x, y); + b = G(x, y); + if (idgb != 0) + { + System.Console.WriteLine("{0}, {1}, {2}, {3}, {4}\n", i, x, y, a, b); + } + + if ((System.Math.Abs(deltaX) < 0.000001) && (System.Math.Abs(deltaY) < 0.000001) && + (System.Math.Abs(a) < 0.000001) && (System.Math.Abs(b) < 0.000001)) + { + goto L11; + } + } + if (idgb != 0) + { + System.Console.WriteLine("FAILED TO CONVERGE IN 20 ITERATIONS\n"); + } + + L11: + { + } + } + + return true; + } + + private static double F(double x, double y) + { + return ((x) + 3 * System.Math.Log(x) / System.Math.Log(10.0) - (y) * (y)); + } + + private static double G(double x, double y) + { + return (2 * (x) * (x) - (x) * (y) - 5 * (x) + 1); + } + + private static double FX(double x, double y) + { + return (1 + 3 / (System.Math.Log(10.0) * (x))); + } + + private static double FY(double x, double y) + { + return ((-2) * (y)); + } + + private static double GX(double x, double y) + { + return (4 * (x) - (y) - 5); + } + + private static double GY(double x, double y) + { + return (-(x)); + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchF/NewtR.cs b/src/benchmarks/coreclr/Benchstones/BenchF/NewtR.cs new file mode 100644 index 00000000000..1bb597e426d --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchF/NewtR.cs @@ -0,0 +1,103 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// +// Newton's method adapted from Conte and De Boor + +using BenchmarkDotNet.Attributes; +using System.Runtime.CompilerServices; +using Benchmarks; + +namespace Benchstone.BenchF +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchF)] +public class NewtR +{ + public const int Iterations = 80000000; + + public static volatile object VolatileObject; + + [MethodImpl(MethodImplOptions.NoInlining)] + private static void Escape(object obj) + { + VolatileObject = obj; + } + + [Benchmark(Description = nameof(NewtR))] + public bool Test() + { + int idbg, iflag; + double x0, fx0; + + iflag = 0; + idbg = 0; + fx0 = 0.0; + x0 = 1.0; + + for (int i = 1; i <= Iterations; i++) + { + Inner(ref x0, 0.0000001, 0.0000001, 10, out iflag); + if (iflag > 1) + { + goto L888; + } + + fx0 = FF(x0); + if (idbg != 0) + { + System.Console.WriteLine(" THE ROOT IS {0:e} F(ROOT) := {1:E}\n", x0, fx0); + } + + L888: + { + } + } + + // Escape iflag, x0, and fx0 so that they appear live + Escape(iflag); + Escape(x0); + Escape(fx0); + + return true; + } + + private static double FF(double x) + { + return (-1.0 - ((x) * (1.0 - ((x) * (x))))); + } + + private static double FFDer(double x) + { + return (3.0 * (x) * (x) - 1.0); + } + + private static void Inner(ref double x0, double xtol, double ftol, int ntol, out int iflag) + { + double fx0, deriv, deltax; + + iflag = 0; + for (int n = 1; n <= ntol; n++) + { + fx0 = FF(x0); + if (System.Math.Abs(fx0) < ftol) + { + goto L999; + } + deriv = FFDer(x0); + + if (deriv == 0.0) + { + goto L999; + } + deltax = fx0 / deriv; + x0 = x0 - deltax; + if (System.Math.Abs(deltax) < xtol) + { + goto L999; + } + } + L999: + iflag = 2; + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchF/Regula.cs b/src/benchmarks/coreclr/Benchstones/BenchF/Regula.cs new file mode 100644 index 00000000000..5854e5d1001 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchF/Regula.cs @@ -0,0 +1,165 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// +// The modified regula-falsi routine adapted from Conte and De Boor + +using BenchmarkDotNet.Attributes; +using System.Runtime.CompilerServices; +using Benchmarks; + +namespace Benchstone.BenchF +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchF)] +public class Regula +{ + public const int Iterations = 4000000; + + public static volatile object VolatileObject; + + [MethodImpl(MethodImplOptions.NoInlining)] + private static void Escape(object obj) + { + VolatileObject = obj; + } + + [Benchmark(Description = nameof(Regula))] + public bool Test() + { + double error, fxi; + double a, b, xi; + int idbg, iflag; + + iflag = 0; + idbg = 0; + xi = 0; + error = 0.0; + fxi = 0.0; + + for (int i = 1; i <= Iterations; i++) + { + a = 1.0; + b = 2.0; + Inner(ref a, ref b, 0.0000001, 0.0000000001, 30, out iflag); + if (iflag > 2) + { + goto L999; + } + + xi = (a + b) / 2.0; + error = System.Math.Abs(b - a) / 2.0; + fxi = FG(xi); + + if (idbg != 0) + { + System.Console.WriteLine(" the root is {0:E}", xi); + System.Console.WriteLine(" plus/minus {0}\n", error); + System.Console.WriteLine(" fg(root):= {0:E}\n", fxi); + } + + L999: + { + } + } + + // Escape iflag, xi, error, and fxi so that they appear live + Escape(iflag); + Escape(xi); + Escape(error); + Escape(fxi); + + return true; + } + + private static double FG(double x) + { + return (-1.0 - (x * (1.0 - (x * x)))); + } + + private static void Inner(ref double a, ref double b, double xtol, double ftol, int ntol, out int iflag) + { + double signfa, prevfw, fa, fb, fw, w; + + iflag = 0; + fa = FG(a); + if (fa < 0.0) + { + signfa = -1.0; + } + else + { + signfa = 1.0; + } + + fb = FG(b); + if (signfa * fb <= 0.0) + { + goto L5; + } + + iflag = 3; + goto L99; + + L5: + w = a; + fw = fa; + for (int i = 1; i <= ntol; i++) + { + if (System.Math.Abs(b - a) / 2.0 <= xtol) + { + goto L99; + } + if (System.Math.Abs(fw) > ftol) + { + goto L9; + } + + a = w; + b = w; + iflag = 1; + goto L99; + + L9: + w = (fa * b - fb * a) / (fa - fb); + if (fw < 0.0) + { + prevfw = -1.0; + } + else + { + prevfw = 1.0; + } + fw = FG(w); + + if (signfa * fw < 0.0) + { + goto L10; + } + a = w; + fa = fw; + if (fw * prevfw > 0.0) + { + fb = fb / 2.0; + } + goto L20; + + L10: + b = w; + fb = fw; + if (fw * prevfw > 0.0) + { + fa = fa / 2.0; + } + + L20: + { + } + } + + iflag = 2; + L99: + { + } + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchF/Romber.cs b/src/benchmarks/coreclr/Benchstones/BenchF/Romber.cs new file mode 100644 index 00000000000..05a64177ca9 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchF/Romber.cs @@ -0,0 +1,140 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// +// Integration by romberg method adapted from Conte and de Boor + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchF +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchF)] +public class Romber +{ + public const int Iterations = 640000; + + private static T[][] AllocArray(int n1, int n2) + { + T[][] a = new T[n1][]; + for (int i = 0; i < n1; ++i) + { + a[i] = new T[n2]; + } + return a; + } + + [Benchmark(Description = nameof(Romber))] + public bool Test() + { + double[][] r = AllocArray(11, 11); + double[][] t = AllocArray(11, 11); + + int idbg, m, n, i, kmax, fourj, j, kmaxm2, l, k, mm1; + double sum, ratio, t1, h, a, b; + + for (l = 1; l <= Iterations; l++) + { + idbg = 0; + m = 2; + kmax = 6; + a = 0; + b = 1; + h = (b - a) / (m); + sum = (F(a) + F(b)) / 2; + + mm1 = m - 1; + if (mm1 < 0) + { + goto L40; + } + if (mm1 == 0) + { + goto L10; + } + for (i = 1; i <= mm1; i++) + { + t1 = a + i * h; + sum = sum + F(t1); + } + + L10: + t[1][1] = sum * h; + if (idbg != 0) + { + System.Console.WriteLine(" romberg t-table \n"); + System.Console.WriteLine("{0}\n", t[1][1]); + } + + for (k = 2; k <= kmax; k++) + { + h = h / 2; + n = m * 2; + sum = 0; + for (i = 1; i <= n / 2; i++) + { + r[k][1] = r[k - 1][1] * System.Math.Sqrt(b * mm1); + t1 = a + i * h; + sum = sum + F(t1); + } + + t[k][1] = t[k - 1][1] / 2 + sum * h; + fourj = 1; + for (j = 2; j <= k; j++) + { + fourj = fourj * 4; + t[k - 1][j - 1] = t[k][j - 1] - t[k - 1][j - 1]; + t[k][j] = t[k][j - 1] + t[k - 1][j - 1] / (fourj - 1); + } + + if (idbg != 0) + { + j = 1; + System.Console.WriteLine("{0} {1} {2}d\n", t[k][j], j, k); + } + } + + kmaxm2 = kmax - 2; + if (kmaxm2 <= 0) + { + goto L40; + } + + if (idbg != 0) + { + System.Console.WriteLine(" table of ratios \n"); + } + + for (k = 1; k <= kmaxm2; k++) + { + for (j = 1; j <= k; j++) + { + ratio = 0; + if (System.Math.Abs(t[k + 1][j]) > 0) + { + ratio = t[k][j] / t[k + 1][j]; + } + t[k][j] = ratio; + } + } + + if (idbg != 0) + { + j = 1; + System.Console.WriteLine("{0} {1} {2}\n", t[k][j], j, k); + } + + L40: + { + } + } + + return true; + } + + private static double F(double x) + { + return (System.Math.Exp((-(x)) * (x))); + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchF/Secant.cs b/src/benchmarks/coreclr/Benchstones/BenchF/Secant.cs new file mode 100644 index 00000000000..7de0fdc0217 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchF/Secant.cs @@ -0,0 +1,114 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// +// The secant algorithm adapted from Conte and DeBoor + +using BenchmarkDotNet.Attributes; +using System.Runtime.CompilerServices; +using Benchmarks; + +namespace Benchstone.BenchF +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchF)] +public class Secant +{ + public const int Iterations = 3000000; + + public static volatile object VolatileObject; + + [MethodImpl(MethodImplOptions.NoInlining)] + private static void Escape(object obj) + { + VolatileObject = obj; + } + + [Benchmark(Description = nameof(Secant))] + public bool Test() + { + int idbg, iflag; + double x0, x1, fx1; + + iflag = 0; + idbg = 0; + x1 = 0; + fx1 = 0.0; + + for (int i = 1; i <= Iterations; i++) + { + x0 = 1.0; + x1 = 2.0; + Inner(ref x0, ref x1, 0.0000001, 0.0000001, 30, out iflag); + if (iflag > 1) + { + goto L888; + } + + fx1 = FF(x1); + if (idbg != 0) + { + System.Console.WriteLine(" the root is {0:E}, F(ROOT):= {1:E}\n", x1, fx1); + } + L888: + { + } + } + + // Escape iflag, x1, and fx1 so that they appear live + Escape(iflag); + Escape(x1); + Escape(fx1); + + return true; + } + + private static double FF(double x) + { + return (-1.0 - (x * (1.0 - (x * x)))); + } + + private static void Inner(ref double x0, ref double x1, double xtol, double ftol, int ntol, out int iflag) + { + double deltax, deltaf, f0, f1; + + iflag = 0; + f0 = FF(x0); + deltax = x1 - x0; + + for (int n = 1; n <= ntol; n++) + { + f1 = FF(x1); + + if (System.Math.Abs(f1) <= ftol) + { + goto L30; + } + + deltaf = f0 - f1; + if (deltaf == 0.0) + { + goto L999; + } + + deltax = f1 / deltaf * deltax; + x0 = x1; + x1 = x1 + deltax; + if (System.Math.Abs(deltax) <= xtol) + { + goto L88; + } + + f0 = f1; + } + + L999: + iflag = 2; + goto L88; + L30: + iflag = 1; + L88: + { + } + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchF/Simpsn.cs b/src/benchmarks/coreclr/Benchstones/BenchF/Simpsn.cs new file mode 100644 index 00000000000..5b3eed193f5 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchF/Simpsn.cs @@ -0,0 +1,64 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// +// Integration by Simpson's rule adapted from Conte and de Boor + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchF +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchF)] +public class Simpsn +{ + public const int Iterations = 90000; + + [Benchmark(Description = nameof(Simpsn))] + public bool Test() + { + double a, b, x, s, c, h, hov2, half, t1; + int idbg, n, nm1; + + s = 0; + idbg = 0; + if (idbg != 0) + { + System.Console.WriteLine("simpsons rule\n"); + } + + for (int j = 1; j <= Iterations; j++) + { + a = 0; + b = 1; + c = 4; + n = 100; + h = (b - a) / n; + hov2 = h / System.Math.Sqrt(c); + s = 0; + t1 = a + hov2; + half = F(t1); + nm1 = n - 1; + for (int i = 1; i <= nm1; i++) + { + x = a + i * h; + s = s + F(x); + t1 = x + hov2; + half = half + F(t1); + s = (h / 6) * (F(a) + 4 * half + 2 * s + F(b)); + if (idbg != 0) + { + System.Console.WriteLine(" integral from a = {0} to b = {1} for n = {2} is {3}\n", a, b, n, s); + } + } + } + + return true; + } + + private static double F(double x) + { + return (System.Math.Exp((-(x)) * 2)); + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchF/SqMtx.cs b/src/benchmarks/coreclr/Benchstones/BenchF/SqMtx.cs new file mode 100644 index 00000000000..0882a6f19ab --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchF/SqMtx.cs @@ -0,0 +1,74 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchF +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchF)] +public class SqMtx +{ + public const int Iterations = 4000; + + private const int MatrixSize = 40; + + private static T[][] AllocArray(int n1, int n2) + { + T[][] a = new T[n1][]; + for (int i = 0; i < n1; ++i) + { + a[i] = new T[n2]; + } + return a; + } + + [Benchmark(Description = nameof(SqMtx))] + public bool Test() + { + double[][] a = AllocArray(41, 41); + double[][] c = AllocArray(41, 41); + + int i, j; + + for (i = 1; i <= MatrixSize; i++) + { + for (j = 1; j <= MatrixSize; j++) + { + a[i][j] = i + j; + } + } + + for (i = 1; i <= Iterations; i++) + { + Inner(a, c, MatrixSize); + } + + if (c[1][1] == 23820.0) + { + return true; + } + else + { + return false; + } + } + + private static void Inner(double[][] a, double[][] c, int n) + { + for (int i = 1; i <= n; i++) + { + for (int j = 1; j <= n; j++) + { + c[i][j] = 0.0; + for (int k = 1; k <= n; k++) + { + c[i][j] = c[i][j] + a[i][k] * a[k][j]; + } + } + } + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchF/Trap.cs b/src/benchmarks/coreclr/Benchstones/BenchF/Trap.cs new file mode 100644 index 00000000000..1da074e49f9 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchF/Trap.cs @@ -0,0 +1,67 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// +// Integration by corrected trapezoid rule adapted from Conte and de Boor + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchF +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchF)] +public class Trap +{ + public const int Iterations = 240000; + + [Benchmark(Description = nameof(Trap))] + public bool Test() + { + int nm1, idbg; + double t2, cortrp, trap, a, b, h; + trap = 0.0; + cortrp = 0.0; + + idbg = 0; + for (int j = 1; j <= Iterations; j++) + { + a = 0; + b = 1; + if (idbg != 0) + { + System.Console.WriteLine("trapazoid sum corr.trap sum \n"); + } + + for (int n = 10; n <= 15; n++) + { + h = (b - a) / n; + nm1 = n - 1; + trap = (F(a) + F(b)) / 2; + for (int i = 1; i <= nm1; i++) + { + t2 = a + i * h; + trap = trap + F(t2); + } + trap = trap * h; + cortrp = trap + h * h * (FPrime(a) - FPrime(b)) / 12; + if (idbg != 0) + { + System.Console.WriteLine("{0}, {1}, {2}\n", n, trap, cortrp); + } + } + } + + return true; + } + + private static double F(double x) + { + return (System.Math.Exp(-(x) * (x))); + } + + private static double FPrime(double x) + { + return ((-2) * (x) * (F(x))); + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchF/Whetsto.cs b/src/benchmarks/coreclr/Benchstones/BenchF/Whetsto.cs new file mode 100644 index 00000000000..e0e8cde7e4a --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchF/Whetsto.cs @@ -0,0 +1,213 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// +// C# translation of Whetstone Double Precision Benchmark + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchF +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchF)] +public class Whetsto +{ + public const int Iterations = 50000; + + private static int s_j, s_k, s_l; + private static double s_t, s_t2; + + public static volatile int Volatile_out; + + private static void Escape(int n, int j, int k, double x1, double x2, double x3, double x4) + { + Volatile_out = n; + Volatile_out = j; + Volatile_out = k; + Volatile_out = (int)x1; + Volatile_out = (int)x2; + Volatile_out = (int)x3; + Volatile_out = (int)x4; + } + + [Benchmark(Description = nameof(Whetsto))] + public bool Test() + { + double[] e1 = new double[4]; + double x1, x2, x3, x4, x, y, z, t1; + int i, n1, n2, n3, n4, n6, n7, n8, n9, n10, n11; + + s_t = 0.499975; + t1 = 0.50025; + s_t2 = 2.0; + n1 = 0 * Iterations; + n2 = 12 * Iterations; + n3 = 14 * Iterations; + n4 = 345 * Iterations; + n6 = 210 * Iterations; + n7 = 32 * Iterations; + n8 = 899 * Iterations; + n9 = 616 * Iterations; + n10 = 0 * Iterations; + n11 = 93 * Iterations; + x1 = 1.0; + x2 = x3 = x4 = -1.0; + + for (i = 1; i <= n1; i += 1) + { + x1 = (x1 + x2 + x3 - x4) * s_t; + x2 = (x1 + x2 - x3 - x4) * s_t; + x3 = (x1 - x2 + x3 + x4) * s_t; + x4 = (-x1 + x2 + x3 + x4) * s_t; + } + Escape(n1, n1, n1, x1, x2, x3, x4); + + /* MODULE 2: array elements */ + e1[0] = 1.0; + e1[1] = e1[2] = e1[3] = -1.0; + for (i = 1; i <= n2; i += 1) + { + e1[0] = (e1[0] + e1[1] + e1[2] - e1[3]) * s_t; + e1[1] = (e1[0] + e1[1] - e1[2] + e1[3]) * s_t; + e1[2] = (e1[0] - e1[1] + e1[2] + e1[3]) * s_t; + e1[3] = (-e1[0] + e1[1] + e1[2] + e1[3]) * s_t; + } + Escape(n2, n3, n2, e1[0], e1[1], e1[2], e1[3]); + + /* MODULE 3: array as parameter */ + for (i = 1; i <= n3; i += 1) + { + PA(e1); + } + Escape(n3, n2, n2, e1[0], e1[1], e1[2], e1[3]); + + /* MODULE 4: conditional jumps */ + s_j = 1; + for (i = 1; i <= n4; i += 1) + { + if (s_j == 1) + { + s_j = 2; + } + else + { + s_j = 3; + } + if (s_j > 2) + { + s_j = 0; + } + else + { + s_j = 1; + } + if (s_j < 1) + { + s_j = 1; + } + else + { + s_j = 0; + } + } + Escape(n4, s_j, s_j, x1, x2, x3, x4); + + /* MODULE 5: omitted */ + /* MODULE 6: integer Math */ + s_j = 1; + s_k = 2; + s_l = 3; + for (i = 1; i <= n6; i += 1) + { + s_j = s_j * (s_k - s_j) * (s_l - s_k); + s_k = s_l * s_k - (s_l - s_j) * s_k; + s_l = (s_l - s_k) * (s_k + s_j); + e1[s_l - 2] = s_j + s_k + s_l; + e1[s_k - 2] = s_j * s_k * s_l; + } + Escape(n6, s_j, s_k, e1[0], e1[1], e1[2], e1[3]); + + /* MODULE 7: trig. functions */ + x = y = 0.5; + for (i = 1; i <= n7; i += 1) + { + x = s_t * System.Math.Atan(s_t2 * System.Math.Sin(x) * System.Math.Cos(x) / (System.Math.Cos(x + y) + System.Math.Cos(x - y) - 1.0)); + y = s_t * System.Math.Atan(s_t2 * System.Math.Sin(y) * System.Math.Cos(y) / (System.Math.Cos(x + y) + System.Math.Cos(x - y) - 1.0)); + } + Escape(n7, s_j, s_k, x, x, y, y); + + /* MODULE 8: procedure calls */ + x = y = z = 1.0; + for (i = 1; i <= n8; i += 1) + { + P3(x, y, out z); + } + Escape(n8, s_j, s_k, x, y, z, z); + + /* MODULE9: array references */ + s_j = 1; + s_k = 2; + s_l = 3; + e1[0] = 1.0; + e1[1] = 2.0; + e1[2] = 3.0; + for (i = 1; i <= n9; i += 1) + { + P0(e1); + } + Escape(n9, s_j, s_k, e1[0], e1[1], e1[2], e1[3]); + + /* MODULE10: integer System.Math */ + s_j = 2; + s_k = 3; + for (i = 1; i <= n10; i += 1) + { + s_j = s_j + s_k; + s_k = s_j + s_k; + s_j = s_k - s_j; + s_k = s_k - s_j - s_j; + } + Escape(n10, s_j, s_k, x1, x2, x3, x4); + + /* MODULE11: standard functions */ + x = 0.75; + for (i = 1; i <= n11; i += 1) + { + x = System.Math.Sqrt(System.Math.Exp(System.Math.Log(x) / t1)); + } + Escape(n11, s_j, s_k, x, x, x, x); + + return true; + } + + private static void PA(double[] e) + { + int j; + j = 0; + lab: + e[0] = (e[0] + e[1] + e[2] - e[3]) * s_t; + e[1] = (e[0] + e[1] - e[2] + e[3]) * s_t; + e[2] = (e[0] - e[1] + e[2] + e[3]) * s_t; + e[3] = (-e[0] + e[1] + e[2] + e[3]) / s_t2; + j += 1; + if (j < 6) + { + goto lab; + } + } + + private static void P3(double x, double y, out double z) + { + x = s_t * (x + y); + y = s_t * (x + y); + z = (x + y) / s_t2; + } + + private static void P0(double[] e1) + { + e1[s_j] = e1[s_k]; + e1[s_k] = e1[s_l]; + e1[s_l] = e1[s_j]; + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/8Queens.cs b/src/benchmarks/coreclr/Benchstones/BenchI/8Queens.cs new file mode 100644 index 00000000000..6ff60368a4b --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/8Queens.cs @@ -0,0 +1,68 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class EightQueens +{ + static int[] m_c = new int[15]; + static int[] m_x = new int[9]; + + static void TryMe(int i, ref int q, int[] a, int[] b) + { + int j = 0; + q = 0; + while ((q == 0) && (j != 8)) { + j = j + 1; + q = 0; + if ((b[j] == 1) && (a[i + j] == 1) && (m_c[i - j + 7] == 1)) { + m_x[i] = j; + b[j] = 0; + a[i + j] = 0; + m_c[i - j + 7] = 0; + if (i < 8) { + TryMe(i + 1, ref q, a, b); + if (q == 0) { + b[j] = 1; + a[i + j] = 1; + m_c[i - j + 7] = 1; + } + } + else { + q = 1; + } + } + } + } + + [Benchmark(Description = nameof(EightQueens))] + public bool Test() { + int[] a = new int[9]; + int[] b = new int[17]; + int q = 0; + int i = 0; + while (i <= 16) { + if ((i >= 1) && (i <= 8)) { + a[i] = 1; + } + if (i >= 2) { + b[i] = 1; + } + if (i <= 14) { + m_c[i] = 1; + } + i = i + 1; + } + + TryMe(1, ref q, b, a); + + return (q == 1); + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/Ackermann.cs b/src/benchmarks/coreclr/Benchstones/BenchI/Ackermann.cs new file mode 100644 index 00000000000..c5129a1a441 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/Ackermann.cs @@ -0,0 +1,35 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class Ackermann +{ + static int Acker(int m, int n) { + if (m == 0) { + return n + 1; + } + else if (n == 0) { + return Acker(m - 1, 1); + } + else { + return Acker(m - 1, Acker(m, n - 1)); + } + } + + [Benchmark(Description = nameof(Ackermann))] + public bool Test() { + int a00 = Acker(0, 0); + int a11 = Acker(1, 1); + int a22 = Acker(2, 2); + int a33 = Acker(3, 3); + return (a00 == 1) && (a11 == 3) && (a22 == 7) & (a33 == 61); + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/AddArray.cs b/src/benchmarks/coreclr/Benchstones/BenchI/AddArray.cs new file mode 100644 index 00000000000..1266c09e704 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/AddArray.cs @@ -0,0 +1,60 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System.Runtime.CompilerServices; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class AddArray +{ + const int Size = 6000; + + public static volatile object VolatileObject; + + [MethodImpl(MethodImplOptions.NoInlining)] + static void Escape(object obj) { + VolatileObject = obj; + } + + [Benchmark(Description = nameof(AddArray))] + public bool Test() { + + int[] flags1 = new int[Size + 1]; + int[] flags2 = new int[Size + 1]; + int[] flags3 = new int[Size + 1]; + int[] flags4 = new int[Size + 1]; + + int j, k, l, m; + + for (j = 0; j <= Size; j++) { + flags1[j] = 70000 + j; + k = j; + flags2[k] = flags1[j] + k + k; + l = j; + flags3[l] = flags2[k] + l + l + l; + m = j; + flags4[m] = flags3[l] + m + m + m + m; + } + + for (j = 0; j <= Size; j++) { + k = j; + l = j; + m = j; + flags1[j] = flags1[j] + flags2[k] + flags3[l] + flags4[m] - flags2[k - j + l]; + } + + // Escape each flags array so that their elements will appear live-out + Escape(flags1); + Escape(flags2); + Escape(flags3); + Escape(flags4); + + return true; + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/AddArray2.cs b/src/benchmarks/coreclr/Benchstones/BenchI/AddArray2.cs new file mode 100644 index 00000000000..6eca0a590c4 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/AddArray2.cs @@ -0,0 +1,97 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System.Runtime.CompilerServices; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class AddArray2 +{ + private const int Dim = 200; + + int[][] array = AllocArray(Dim + 1, Dim + 1); + + private static T[][] AllocArray(int n1, int n2) + { + T[][] a = new T[n1][]; + for (int i = 0; i < n1; ++i) + { + a[i] = new T[n2]; + } + return a; + } + + private static + void BenchInner1(int[][] a, ref int nn) + { + int n; + int l, m; + n = nn; + for (int i = 1; i <= n; i++) + { + for (int j = (i + 1); j <= n; j++) + { + for (int k = 1; k <= n; k++) + { + l = a[i][k]; + m = a[j][k]; + unchecked + { + a[j][k] = l + m; + } + } + } + } + } + + private static + void BenchInner2(int[][] a, ref int nn) + { + int n; + int l, m; + n = nn; + for (int i = 1; i <= n; i++) + { + for (int j = (i + 1); j <= n; j++) + { + for (int k = 1; k <= n; k++) + { + l = a[k][i]; + m = a[k][j]; + unchecked + { + a[k][j] = l + m; + } + } + } + } + } + + [MethodImpl(MethodImplOptions.NoInlining)] + private static bool Bench(int[][] a) + { + int n = Dim; + for (int i = 1; i <= n; i++) + { + for (int j = 1; j <= n; j++) + { + a[i][j] = i + j; + } + } + + BenchInner1(a, ref n); + n = Dim; + BenchInner2(a, ref n); + + return true; + } + + [Benchmark(Description = nameof(AddArray2))] + public bool Test() => Bench(array); +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/Array1.cs b/src/benchmarks/coreclr/Benchstones/BenchI/Array1.cs new file mode 100644 index 00000000000..3f423eff436 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/Array1.cs @@ -0,0 +1,117 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// +// The sorting benchmark calls a random number generator the number +// of times specified by Maxnum to create an array of int integers, +// then does a quicksort on the array of ints. Random numbers +// are produced using a multiplicative modulus method with known +// seed, so that the generated array is constant across compilers. +// +// This is adapted from a benchmark in BYTE Magazine, August 1984. + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class Array1 +{ + private const int Iterations = 125; + private const int Maxnum = 1000; + + private const int Modulus = ((int)0x20000); + private const int C = 13849; + private const int A = 25173; + static int s_seed = 7; + + private static void Quick(int lo, int hi, int[] input) + { + int i, j; + int pivot, temp; + + if (lo < hi) + { + // 0 <= lo < hi + for (i = lo, j = (hi + 1), pivot = input[lo]; ;) + { + do + { + ++i; + } while (input[i] < pivot); + + do + { + --j; + // Accessing upto hi + } while (input[j] > pivot); + + if (i < j) + { + temp = input[i]; + input[i] = input[j]; + input[j] = temp; + } + else + { + break; + } + } + temp = input[j]; + input[j] = input[lo]; + input[lo] = temp; + Quick(lo, j - 1, input); + Quick(j + 1, hi, input); + } + } + + private static int Random(int size) + { + unchecked + { + s_seed = s_seed * A + C; + } + + return (s_seed % size); + } + + private static bool VerifySort(int[] buffer) + { + for (int y = 0; y < Maxnum - 2; y++) + { + if (buffer[y] > buffer[y + 1]) + { + return false; + } + } + return true; + } + + [Benchmark(Description = nameof(Array1))] + public bool Test() + { + int[] buffer = new int[Maxnum + 1]; + + for (int i = 0; i < Iterations; ++i) + { + for (int j = 0; j < Maxnum; ++j) + { + int temp = Random(Modulus); + if (temp < 0L) + { + temp = (-temp); + } + buffer[j] = temp; + } + buffer[Maxnum] = Modulus; + + Quick(0, Maxnum - 1, buffer); + } + + bool result = VerifySort(buffer); + + return result; + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/Array2.cs b/src/benchmarks/coreclr/Benchstones/BenchI/Array2.cs new file mode 100644 index 00000000000..bc432629df6 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/Array2.cs @@ -0,0 +1,79 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System.Runtime.CompilerServices; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class Array2 +{ + public const int Iterations = 500000; + + static T[][][] AllocArray(int n1, int n2, int n3) { + T[][][] a = new T[n1][][]; + for (int i = 0; i < n1; ++i) { + a[i] = new T[n2][]; + for (int j = 0; j < n2; j++) { + a[i][j] = new T[n3]; + } + } + + return a; + } + + static void Initialize(int[][][] s) { + for (int i = 0; i < 10; i++) { + for (int j = 0; j < 10; j++) { + for (int k = 0; k < 10; k++) { + s[i][j][k] = (2 * i) - (3 * j) + (5 * k); + } + } + } + } + + static bool VerifyCopy(int[][][] s, int[][][] d) { + for (int i = 0; i < 10; i++) { + for (int j = 0; j < 10; j++) { + for (int k = 0; k < 10; k++) { + if (s[i][j][k] != d[i][j][k]) { + return false; + } + } + } + } + + return true; + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Bench(int loop) { + + int[][][] s = AllocArray(10, 10, 10); + int[][][] d = AllocArray(10, 10, 10); + + Initialize(s); + + for (; loop != 0; loop--) { + for (int i = 0; i < 10; i++) { + for (int j = 0; j < 10; j++) { + for (int k = 0; k < 10; k++) { + d[i][j][k] = s[i][j][k]; + } + } + } + } + + bool result = VerifyCopy(s, d); + + return result; + } + + [Benchmark(Description = nameof(Array2))] + public bool Test() => Bench(Iterations); +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/BenchE.cs b/src/benchmarks/coreclr/Benchstones/BenchI/BenchE.cs new file mode 100644 index 00000000000..4be66a68d2a --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/BenchE.cs @@ -0,0 +1,88 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class BenchE +{ + public const int Iterations = 5000000; + + private static int s_position; + + private static int Strsch(char[] s, char[] k, int ns, int nk) + { + int i, j; + int start, ksave, cont; + int kend, ssave; + int r; + + start = 0; + ksave = 0; + cont = ns - nk + start; + kend = ksave + nk - 1; + i = 0; + j = 0; + top: + while (s[i] != k[j]) + { + // s is accessed upto cont i.e. ns - nk + 0 + if (i >= cont) + { + r = -1; + goto bottom; + } + i = i + 1; + } + ssave = i; + j = j + 1; + while (j <= kend) + { + i = i + 1; + // j <= kend, so k is accessed upto 0 + nk - 1 + if (s[i] != k[j]) + { + i = ssave + 1; + j = ksave; + goto top; + } + j = j + 1; + } + r = ssave - start + 1; + bottom: + return r; + } + + private static void BenchInner(char[] s, char[] k) + { + int ns, nk; + + ns = 120; + nk = 15; + s_position = Strsch(s, k, ns, nk); + } + + [Benchmark(Description = nameof(BenchE))] + public bool Test() + { + char[] s = { + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'H', 'E', 'R', 'E', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + 'H', 'E', 'R', 'E', ' ', 'I', 'S', ' ', 'A', ' ', 'M', 'A', 'T', 'C', 'H', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0' + }; + + char[] k = { 'H', 'E', 'R', 'E', ' ', 'I', 'S', ' ', 'A', ' ', 'M', 'A', 'T', 'C', 'H', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' }; + + for (int i = 0; i < Iterations; i++) + { + BenchInner(s, k); + } + + return (s_position == 91); + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/BubbleSort.cs b/src/benchmarks/coreclr/Benchstones/BenchI/BubbleSort.cs new file mode 100644 index 00000000000..df6b0889b8a --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/BubbleSort.cs @@ -0,0 +1,56 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class BubbleSort +{ + static void SortArray(int[] tab, int last) { + bool swap; + int temp; + do { + swap = false; + for (int i = 0; i < last; i++) { + if (tab[i] > tab[i + 1]) { + temp = tab[i]; + tab[i] = tab[i + 1]; + tab[i + 1] = temp; + swap = true; + } + } + } + while (swap); + } + + static bool VerifySort(int[] tab, int last) { + for (int i = 0; i < last; i++) { + if (tab[i] > tab[i + 1]) { + return false; + } + } + + return true; + } + + // this benchmark is BAD, it should not allocate the array and check the order, but I am porting "as is" + [Benchmark(Description = nameof(BubbleSort))] + public bool Test() { + int[] tab = new int[100]; + int k = 0; + for (int i = 9; i >= 0; i--) { + for (int j = i * 10; j < (i + 1) * 10; j++) { + tab[k++] = ((j & 1) == 1) ? j + 1 : j - 1; + } + } + SortArray(tab, 99); + bool result = VerifySort(tab, 99); + return result; + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/BubbleSort2.cs b/src/benchmarks/coreclr/Benchstones/BenchI/BubbleSort2.cs new file mode 100644 index 00000000000..35782732f77 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/BubbleSort2.cs @@ -0,0 +1,59 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class BubbleSort2 +{ + public const int Bound = 500 * 15; + + static void Inner(int[] x) { + int limit1 = Bound - 1; + for (int i = 1; i <= limit1; i++) { + for (int j = i; j <= Bound; j++) { + if (x[i] > x[j]) { + int temp = x[j]; + x[j] = x[i]; + x[i] = temp; + } + } + } + } + + // this benchmark is BAD, it should not allocate the array and check the order, but I am porting "as is" + [Benchmark(Description = nameof(BubbleSort2))] + public bool Test() { + int[] x = new int[Bound + 1]; + int i, j; + int limit; + j = 99999; + limit = Bound - 2; + i = 1; + do { + x[i] = j & 32767; + x[i + 1] = (j + 11111) & 32767; + x[i + 2] = (j + 22222) & 32767; + j = j + 33333; + i = i + 3; + } while (i <= limit); + x[Bound - 1] = j; + x[Bound] = j; + + Inner(x); + + for (i = 0; i < Bound - 1; i++) { + if (x[i] > x[i + 1]) { + return false; + } + } + + return true; + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/CSieve.cs b/src/benchmarks/coreclr/Benchstones/BenchI/CSieve.cs new file mode 100644 index 00000000000..2f4d60af1b0 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/CSieve.cs @@ -0,0 +1,52 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// +// Based on Eratosthenes Sieve Prime Number Program in C, Byte Magazine, January 1983. + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class CSieve +{ + public const int Iterations = 200; + + const int Size = 8190; + + [Benchmark(Description = nameof(CSieve))] + public bool Test() { + bool[] flags = new bool[Size + 1]; + int count = 0; + for (int iter = 1; iter <= Iterations; iter++) + { + count = 0; + + // Initially, assume all are prime + for (int i = 0; i <= Size; i++) + { + flags[i] = true; + } + + // Refine + for (int i = 2; i <= Size; i++) + { + if (flags[i]) + { + // Found a prime + for (int k = i + i; k <= Size; k += i) + { + // Cancel its multiples + flags[k] = false; + } + count++; + } + } + } + + return (count == 1027); + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/Fib.cs b/src/benchmarks/coreclr/Benchstones/BenchI/Fib.cs new file mode 100644 index 00000000000..9d0afa6515f --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/Fib.cs @@ -0,0 +1,31 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class Fib +{ + const int Number = 24; + + static int Fibonacci(int x) { + if (x > 2) { + return (Fibonacci(x - 1) + Fibonacci(x - 2)); + } + else { + return 1; + } + } + + [Benchmark(Description = nameof(Fib))] + public bool Test() { + int fib = Fibonacci(Number); + return (fib == 46368); + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/HeapSort.cs b/src/benchmarks/coreclr/Benchstones/BenchI/HeapSort.cs new file mode 100644 index 00000000000..a2b0e40dc2d --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/HeapSort.cs @@ -0,0 +1,89 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class HeapSort +{ + const int ArraySize = 5500; + + static void Inner(int[] x, int n) { + int i, j, k, m; + + // pass1 -- put vector in heap form + // that is to say, guarantee that x(i)>=x(2*i) and x(i)>=x(2*i+1). + // after pass 1, the largest item will be at x(1). + for (i = 2; i <= n; i++) { + j = i; + k = j / 2; + m = x[i]; + + // 0 < k <= (n / 2) + // 1 <= j <= n + while (k > 0) { + if (m <= x[k]) { + break; + } + x[j] = x[k]; + j = k; + k = k / 2; + } + x[j] = m; + } + + // pass 2 -- swap first and last items. now with the last + // item correctly placed, consider the list shorter by one item. + // restore the shortened list to heap sort, and repeat + // process until list is only two items long. + i = n; + do { + // do i = n to 2 by -1; + m = x[i]; + x[i] = x[1]; // last item, i.e. item(i) now correct. + j = 1; // we now find the appropriate resting point for m + k = 2; + + // 2 <= k < i ==> 2 <= k < n + // 1 <= j < n + while (k < i) { + if ((k + 1) < i) { + if (x[k + 1] > x[k]) { + k = k + 1; + } + } + if (x[k] <= m) { + break; + } + + x[j] = x[k]; + j = k; + k = k + k; + } + + x[j] = m; + i = i - 1; + } while (i >= 2); + } + + [Benchmark(Description = nameof(HeapSort))] + public bool Test() { + int[] x = new int[ArraySize + 1]; + for (int i = 1; i <= ArraySize; i++) { + x[i] = ArraySize - i + 1; + } + Inner(x, ArraySize); + for (int j = 1; j <= ArraySize; j++) { + if (x[j] != j) { + return false; + } + } + return true; + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/IniArray.cs b/src/benchmarks/coreclr/Benchstones/BenchI/IniArray.cs new file mode 100644 index 00000000000..855386e1430 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/IniArray.cs @@ -0,0 +1,32 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class IniArray +{ + public const int Iterations = 10000000; + + const int Allotted = 16; + + /// + /// this benchmark is very dependent on loop alignment + /// + [Benchmark(Description = nameof(IniArray))] + public char[] Test() { + char[] workarea = new char[Allotted]; + for (int i = 0; i < Iterations; i++) { + for (int j = 0; j < Allotted; j++) { + workarea[j] = ' '; + } + } + return workarea; + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/LogicArray.cs b/src/benchmarks/coreclr/Benchstones/BenchI/LogicArray.cs new file mode 100644 index 00000000000..b6a53111303 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/LogicArray.cs @@ -0,0 +1,70 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class LogicArray +{ + public const int Iterations = 3000; + + struct Workarea + { + public int X; + public int[][] A; + } + + static T[][] AllocArray(int n1, int n2) { + T[][] a = new T[n1][]; + for (int i = 0; i < n1; ++i) { + a[i] = new T[n2]; + } + return a; + } + + static bool Inner(ref Workarea cmn) { + int i, j, k; + cmn.X = 0; + for (i = 1; i <= 50; i++) { + for (j = 1; j <= 50; j++) { + cmn.A[i][j] = 1; + } + } + for (k = 1; k <= 50; k++) { + for (j = 1; j <= 50; j++) { + i = 1; + do { + cmn.X = cmn.X | cmn.A[i][j] & cmn.A[i + 1][k]; + i = i + 2; + } while (i <= 50); + } + } + if (cmn.X != 1) { + return false; + } + else { + return true; + } + } + + [Benchmark(Description = nameof(LogicArray))] + public bool Test() { + Workarea cmn = new Workarea(); + cmn.X = 0; + cmn.A = AllocArray(51, 51); + for (int n = 1; n <= Iterations; n++) { + bool result = Inner(ref cmn); + if (!result) { + return false; + } + } + + return true; + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/Midpoint.cs b/src/benchmarks/coreclr/Benchstones/BenchI/Midpoint.cs new file mode 100644 index 00000000000..51976569826 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/Midpoint.cs @@ -0,0 +1,79 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class Midpoint +{ + public const int Iterations = 70000; + + static T[][] AllocArray(int n1, int n2) { + T[][] a = new T[n1][]; + for (int i = 0; i < n1; ++i) { + a[i] = new T[n2]; + } + return a; + } + + static int Inner(ref int x, ref int y, ref int z) { + int mid; + + if (x < y) { + if (y < z) { + mid = y; + } + else { + if (x < z) { + mid = z; + } + else { + mid = x; + } + } + } + else { + if (x < z) { + mid = x; + } + else { + if (y < z) { + mid = z; + } + else { + mid = y; + } + } + } + + return (mid); + } + + [Benchmark(Description = nameof(Midpoint))] + public bool Test() { + int[][] a = AllocArray(2001, 4); + int[] mid = new int[2001]; + int j = 99999; + + for (int i = 1; i <= 2000; i++) { + a[i][1] = j & 32767; + a[i][2] = (j + 11111) & 32767; + a[i][3] = (j + 22222) & 32767; + j = j + 33333; + } + + for (int k = 1; k <= Iterations; k++) { + for (int l = 1; l <= 2000; l++) { + mid[l] = Inner(ref a[l][1], ref a[l][2], ref a[l][3]); + } + } + + return (mid[2000] == 17018); + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/MulMatrix.cs b/src/benchmarks/coreclr/Benchstones/BenchI/MulMatrix.cs new file mode 100644 index 00000000000..bb2697da32d --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/MulMatrix.cs @@ -0,0 +1,109 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class MulMatrix +{ + public const int Iterations = 100; + + const int Size = 75; + + static T[][] AllocArray(int n1, int n2) { + T[][] a = new T[n1][]; + for (int i = 0; i < n1; ++i) { + a[i] = new T[n2]; + } + return a; + } + + static void Inner(int[][] a, int[][] b, int[][] c) { + + int i, j, k, l; + + // setup + for (j = 0; j < Size; j++) { + for (i = 0; i < Size; i++) { + a[i][j] = i; + b[i][j] = 2 * j; + c[i][j] = a[i][j] + b[i][j]; + } + } + + // jkl + for (j = 0; j < Size; j++) { + for (k = 0; k < Size; k++) { + for (l = 0; l < Size; l++) { + c[j][k] += a[j][l] * b[l][k]; + } + } + } + + // jlk + for (j = 0; j < Size; j++) { + for (l = 0; l < Size; l++) { + for (k = 0; k < Size; k++) { + c[j][k] += a[j][l] * b[l][k]; + } + } + } + + // kjl + for (k = 0; k < Size; k++) { + for (j = 0; j < Size; j++) { + for (l = 0; l < Size; l++) { + c[j][k] += a[j][l] * b[l][k]; + } + } + } + + // klj + for (k = 0; k < Size; k++) { + for (l = 0; l < Size; l++) { + for (j = 0; j < Size; j++) { + c[j][k] += a[j][l] * b[l][k]; + } + } + } + + // ljk + for (l = 0; l < Size; l++) { + for (j = 0; j < Size; j++) { + for (k = 0; k < Size; k++) { + c[j][k] += a[j][l] * b[l][k]; + } + } + } + + // lkj + for (l = 0; l < Size; l++) { + for (k = 0; k < Size; k++) { + for (j = 0; j < Size; j++) { + c[j][k] += a[j][l] * b[l][k]; + } + } + } + + return; + } + + [Benchmark(Description = nameof(MulMatrix))] + public int[][] Test() { + int[][] a = AllocArray(Size, Size); + int[][] b = AllocArray(Size, Size); + int[][] c = AllocArray(Size, Size); + + for (int i = 0; i < Iterations; ++i) { + Inner(a, b, c); + } + + return c; + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/NDhrystone.cs b/src/benchmarks/coreclr/Benchstones/BenchI/NDhrystone.cs new file mode 100644 index 00000000000..b56ec092047 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/NDhrystone.cs @@ -0,0 +1,261 @@ + // Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// +// Adapted from +// +// Dhrystone: a synthetic systems programming benchmark +// Reinhold P. Weicker +// Communications of the ACM, Volume 27 Issue 10, Oct 1984, Pages 1013-1030 + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class NDhrystone +{ + public const int Iterations = 7000000; + + static T[][] AllocArray(int n1, int n2) { + T[][] a = new T[n1][]; + for (int i = 0; i < n1; ++i) { + a[i] = new T[n2]; + } + return a; + } + + enum Enumeration + { + Ident1 = 1, Ident2, Ident3, Ident4, Ident5 + } + + sealed class Record + { + public Record PtrComp; + public Enumeration Discr; + public Enumeration EnumComp; + public int IntComp; + public char[] StringComp; + } + + static int s_intGlob; + static bool s_boolGlob; + static char s_char1Glob; + static char s_char2Glob; + static int[] m_array1Glob = new int[51]; + static int[][] m_array2Glob; + static Record m_ptrGlb = new Record(); + static Record m_ptrGlbNext = new Record(); + static char[] m_string1Loc; + static char[] m_string2Loc; + + static void Proc0() { + int intLoc1; + int intLoc2; + int intLoc3 = 0; + Enumeration enumLoc; + + int i; /* modification */ + + m_ptrGlb.PtrComp = m_ptrGlbNext; + m_ptrGlb.Discr = Enumeration.Ident1; + m_ptrGlb.EnumComp = Enumeration.Ident3; + m_ptrGlb.IntComp = 40; + m_ptrGlb.StringComp = "DHRYSTONE PROGRAM, SOME STRING".ToCharArray(); + m_string1Loc = "DHRYSTONE PROGRAM, 1'ST STRING".ToCharArray(); + m_array2Glob[8][7] = 10; /* Was missing in published program */ + + for (i = 0; i < Iterations; ++i) { + Proc5(); + Proc4(); + intLoc1 = 2; + intLoc2 = 3; + m_string2Loc = "DHRYSTONE PROGRAM, 2'ND STRING".ToCharArray(); + enumLoc = Enumeration.Ident2; + s_boolGlob = !Func2(m_string1Loc, m_string2Loc); + while (intLoc1 < intLoc2) { + intLoc3 = 5 * intLoc1 - intLoc2; + Proc7(intLoc1, intLoc2, ref intLoc3); + ++intLoc1; + } + Proc8(m_array1Glob, m_array2Glob, intLoc1, intLoc3); + Proc1(ref m_ptrGlb); + for (char charIndex = 'A'; charIndex <= s_char2Glob; ++charIndex) { + if (enumLoc == Func1(charIndex, 'C')) { + Proc6(Enumeration.Ident1, ref enumLoc); + } + } + intLoc3 = intLoc2 * intLoc1; + intLoc2 = intLoc3 / intLoc1; + intLoc2 = 7 * (intLoc3 - intLoc2) - intLoc1; + Proc2(ref intLoc1); + } + } + + static void Proc1(ref Record ptrParIn) { + ptrParIn.PtrComp = m_ptrGlb; + ptrParIn.IntComp = 5; + ptrParIn.PtrComp.IntComp = ptrParIn.IntComp; + ptrParIn.PtrComp.PtrComp = ptrParIn.PtrComp; + Proc3(ref ptrParIn.PtrComp.PtrComp); + if (ptrParIn.PtrComp.Discr == Enumeration.Ident1) { + ptrParIn.PtrComp.IntComp = 6; + Proc6(ptrParIn.EnumComp, ref ptrParIn.PtrComp.EnumComp); + ptrParIn.PtrComp.PtrComp = m_ptrGlb.PtrComp; + Proc7(ptrParIn.PtrComp.IntComp, 10, ref ptrParIn.PtrComp.IntComp); + } + else { + ptrParIn = ptrParIn.PtrComp; + } + } + + static void Proc2(ref int intParIO) { + int intLoc; + Enumeration enumLoc = Enumeration.Ident2; + intLoc = intParIO + 10; + + for (;;) { + if (s_char1Glob == 'A') { + --intLoc; + intParIO = intLoc - s_intGlob; + enumLoc = Enumeration.Ident1; + } + if (enumLoc == Enumeration.Ident1) { + break; + } + } + } + + static void Proc3(ref Record ptrParOut) { + if (m_ptrGlb != null) { + ptrParOut = m_ptrGlb.PtrComp; + } + else { + s_intGlob = 100; + } + + Proc7(10, s_intGlob, ref m_ptrGlb.IntComp); + } + + static void Proc4() { + bool boolLoc; + boolLoc = s_char1Glob == 'A'; + boolLoc |= s_boolGlob; + s_char2Glob = 'B'; + } + + static void Proc5() { + s_char1Glob = 'A'; + s_boolGlob = false; + } + + static void Proc6(Enumeration enumParIn, ref Enumeration enumParOut) { + enumParOut = enumParIn; + if (!Func3(enumParIn)) { + enumParOut = Enumeration.Ident4; + } + + switch (enumParIn) { + case Enumeration.Ident1: + enumParOut = Enumeration.Ident1; + break; + case Enumeration.Ident2: + if (s_intGlob > 100) { + enumParOut = Enumeration.Ident1; + } + else { + enumParOut = Enumeration.Ident4; + } + break; + case Enumeration.Ident3: + enumParOut = Enumeration.Ident2; + break; + case Enumeration.Ident4: + break; + case Enumeration.Ident5: + enumParOut = Enumeration.Ident3; + break; + } + } + + static void Proc7(int intParI1, int intParI2, ref int intParOut) { + int intLoc; + intLoc = intParI1 + 2; + intParOut = intParI2 + intLoc; + } + + static void Proc8(int[] array1Par, int[][] array2Par, int intParI1, int intParI2) { + int intLoc; + intLoc = intParI1 + 5; + array1Par[intLoc] = intParI2; + array1Par[intLoc + 1] = array1Par[intLoc]; + array1Par[intLoc + 30] = intLoc; + for (int intIndex = intLoc; intIndex <= (intLoc + 1); ++intIndex) { + array2Par[intLoc][intIndex] = intLoc; + } + ++array2Par[intLoc][intLoc - 1]; + array2Par[intLoc + 20][intLoc] = array1Par[intLoc]; + s_intGlob = 5; + } + + static Enumeration Func1(char charPar1, char charPar2) { + char charLoc1; + char charLoc2; + charLoc1 = charPar1; + charLoc2 = charLoc1; + if (charLoc2 != charPar2) { + return (Enumeration.Ident1); + } + else { + return (Enumeration.Ident2); + } + } + + static bool Func2(char[] strParI1, char[] strParI2) { + int intLoc; + char charLoc = '\0'; + intLoc = 1; + while (intLoc <= 1) { + if (Func1(strParI1[intLoc], strParI2[intLoc + 1]) == Enumeration.Ident1) { + charLoc = 'A'; + ++intLoc; + } + } + if (charLoc >= 'W' && charLoc <= 'Z') { + intLoc = 7; + } + if (charLoc == 'X') { + return true; + } + else { + for (int i = 0; i < 30; i++) { + if (strParI1[i] > strParI2[i]) { + intLoc += 7; + return true; + } + } + + return false; + } + } + + static bool Func3(Enumeration enumParIn) { + Enumeration enumLoc; + enumLoc = enumParIn; + if (enumLoc == Enumeration.Ident3) { + return true; + } + + return false; + } + + [Benchmark(Description = nameof(NDhrystone))] + public bool Test() { + m_array2Glob = AllocArray(51, 51); + Proc0(); + return true; + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/Permutate.cs b/src/benchmarks/coreclr/Benchstones/BenchI/Permutate.cs new file mode 100644 index 00000000000..85c2277e323 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/Permutate.cs @@ -0,0 +1,85 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class Permutate +{ + public const int Iterations = 20000; + + private int[] _permArray = new int[11]; + private static int s_pctr; + + private static + void Swap(int[] arr, int i, int j) + { + int t = arr[i]; + arr[i] = arr[j]; + arr[j] = t; + } + + private void Initialize() + { + for (int i = 1; i <= 7; i++) + { + _permArray[i] = i - 1; + } + } + + private void PermuteArray(int n) + { + int k; + s_pctr = s_pctr + 1; + if (n != 1) + { + PermuteArray(n - 1); + for (k = n - 1; k >= 1; k--) + { + Swap(_permArray, n, k); + PermuteArray(n - 1); + Swap(_permArray, n, k); + } + } + } + + private bool Validate() + { + int k = 0; + + for (int i = 0; i <= 6; i++) + { + for (int j = 1; j <= 7; j++) + { + if (_permArray[j] == i) + { + k = k + 1; + } + } + } + + return (k == 7); + } + + [Benchmark(Description = nameof(Permutate))] + public bool Test() + { + Initialize(); + + for (int i = 0; i < Iterations; ++i) + { + s_pctr = 0; + PermuteArray(7); + } + + bool result = Validate(); + + return result; + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/Pi.cs b/src/benchmarks/coreclr/Benchstones/BenchI/Pi.cs new file mode 100644 index 00000000000..3d6fe561b9c --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/Pi.cs @@ -0,0 +1,55 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System.Collections.Generic; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class Pi +{ + private int[] a = new int[3340]; + + static int[] ComputePi(int[] a) { + + int d = 4; + int r = 10000; + int n = 251; + int m = (int)(3.322 * n * d); + int[] digits = new int[n]; + int i, k, q; + + for (i = 0; i <= m; i++) { + a[i] = 2; + } + + a[m] = 4; + + for (i = 1; i <= n; i++) { + q = 0; + for (k = m; k > 0L; k--) { + a[k] = a[k] * r + q; + q = a[k] / (2 * k + 1); + a[k] -= (2 * k + 1) * q; + q *= k; + } + a[0] = a[0] * r + q; + q = a[0] / r; + a[0] -= q * r; + digits[i-1] = q; + } + + return digits; + } + + [Benchmark] + public bool Test() { + int[] digits = ComputePi(a); + return (digits[0] == 3 && digits[1] == 1415 && digits[2] == 9265 && digits[250] == 1989); + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/Puzzle.cs b/src/benchmarks/coreclr/Benchstones/BenchI/Puzzle.cs new file mode 100644 index 00000000000..820408311b6 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/Puzzle.cs @@ -0,0 +1,362 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class Puzzle +{ + public const int Iterations = 400; + + private const int PuzzleSize = 511; + private const int ClassMax = 3; + private const int TypeMax = 12; + private const int D = 8; + + private int[] _pieceCount = new int[ClassMax + 1]; + private int[] _class = new int[TypeMax + 1]; + private int[] _pieceMax = new int[TypeMax + 1]; + private bool[] _puzzle = new bool[PuzzleSize + 1]; + private bool[][] _p; + private int _count; + + private static T[][] AllocArray(int n1, int n2) + { + T[][] a = new T[n1][]; + for (int i = 0; i < n1; ++i) + { + a[i] = new T[n2]; + } + + return a; + } + + private bool Fit(int i, int j) + { + for (int k = 0; k <= _pieceMax[i]; k++) + { + if (_p[i][k]) + { + if (_puzzle[j + k]) + { + return false; + } + } + } + + return true; + } + + private int Place(int i, int j) + { + int k; + for (k = 0; k <= _pieceMax[i]; k++) + { + if (_p[i][k]) + { + _puzzle[j + k] = true; + } + } + + _pieceCount[_class[i]] = _pieceCount[_class[i]] - 1; + + for (k = j; k <= PuzzleSize; k++) + { + if (!_puzzle[k]) + { + return k; + } + } + + return 0; + } + + private void RemoveLocal(int i, int j) + { + for (int k = 0; k <= _pieceMax[i]; k++) + { + if (_p[i][k]) + { + _puzzle[j + k] = false; + } + } + + _pieceCount[_class[i]] = _pieceCount[_class[i]] + 1; + } + + private bool Trial(int j) + { + for (int i = 0; i <= TypeMax; i++) + { + if (_pieceCount[_class[i]] != 0) + { + if (Fit(i, j)) + { + int k = Place(i, j); + if (Trial(k) || (k == 0)) + { + _count = _count + 1; + return true; + } + else + { + RemoveLocal(i, j); + } + } + } + } + + _count = _count + 1; + return false; + } + + private bool DoIt() + { + int i, j, k, m, n; + + for (m = 0; m <= PuzzleSize; m++) + { + _puzzle[m] = true; + } + + for (i = 1; i <= 5; i++) + { + for (j = 1; j <= 5; j++) + { + for (k = 1; k <= 5; k++) + { + _puzzle[i + D * (j + D * k)] = false; + } + } + } + + for (i = 0; i <= TypeMax; i++) + { + for (m = 0; m <= PuzzleSize; m++) + { + _p[i][m] = false; + } + } + + for (i = 0; i <= 3; i++) + { + for (j = 0; j <= 1; j++) + { + for (k = 0; k <= 0; k++) + { + _p[0][i + D * (j + D * k)] = true; + } + } + } + + _class[0] = 0; + _pieceMax[0] = 3 + D * 1 + D * D * 0; + + for (i = 0; i <= 1; i++) + { + for (j = 0; j <= 0; j++) + { + for (k = 0; k <= 3; k++) + { + _p[1][i + D * (j + D * k)] = true; + } + } + } + + _class[1] = 0; + _pieceMax[1] = 1 + D * 0 + D * D * 3; + + for (i = 0; i <= 0; i++) + { + for (j = 0; j <= 3; j++) + { + for (k = 0; k <= 1; k++) + { + _p[2][i + D * (j + D * k)] = true; + } + } + } + _class[2] = 0; + _pieceMax[2] = 0 + D * 3 + D * D * 1; + + for (i = 0; i <= 1; i++) + { + for (j = 0; j <= 3; j++) + { + for (k = 0; k <= 0; k++) + { + _p[3][i + D * (j + D * k)] = true; + } + } + } + + _class[3] = 0; + _pieceMax[3] = 1 + D * 3 + D * D * 0; + + for (i = 0; i <= 3; i++) + { + for (j = 0; j <= 0; j++) + { + for (k = 0; k <= 1; k++) + { + _p[4][i + D * (j + D * k)] = true; + } + } + } + + _class[4] = 0; + _pieceMax[4] = 3 + D * 0 + D * D * 1; + + for (i = 0; i <= 0; i++) + { + for (j = 0; j <= 1; j++) + { + for (k = 0; k <= 3; k++) + { + _p[5][i + D * (j + D * k)] = true; + } + } + } + + _class[5] = 0; + _pieceMax[5] = 0 + D * 1 + D * D * 3; + + for (i = 0; i <= 2; i++) + { + for (j = 0; j <= 0; j++) + { + for (k = 0; k <= 0; k++) + { + _p[6][i + D * (j + D * k)] = true; + } + } + } + + _class[6] = 1; + _pieceMax[6] = 2 + D * 0 + D * D * 0; + + for (i = 0; i <= 0; i++) + { + for (j = 0; j <= 2; j++) + { + for (k = 0; k <= 0; k++) + { + _p[7][i + D * (j + D * k)] = true; + } + } + } + + _class[7] = 1; + _pieceMax[7] = 0 + D * 2 + D * D * 0; + + for (i = 0; i <= 0; i++) + { + for (j = 0; j <= 0; j++) + { + for (k = 0; k <= 2; k++) + { + _p[8][i + D * (j + D * k)] = true; + } + } + } + + _class[8] = 1; + _pieceMax[8] = 0 + D * 0 + D * D * 2; + + for (i = 0; i <= 1; i++) + { + for (j = 0; j <= 1; j++) + { + for (k = 0; k <= 0; k++) + { + _p[9][i + D * (j + D * k)] = true; + } + } + } + _class[9] = 2; + _pieceMax[9] = 1 + D * 1 + D * D * 0; + + for (i = 0; i <= 1; i++) + { + for (j = 0; j <= 0; j++) + { + for (k = 0; k <= 1; k++) + { + _p[10][i + D * (j + D * k)] = true; + } + } + } + + _class[10] = 2; + _pieceMax[10] = 1 + D * 0 + D * D * 1; + + for (i = 0; i <= 0; i++) + { + for (j = 0; j <= 1; j++) + { + for (k = 0; k <= 1; k++) + { + _p[11][i + D * (j + D * k)] = true; + } + } + } + + _class[11] = 2; + _pieceMax[11] = 0 + D * 1 + D * D * 1; + + for (i = 0; i <= 1; i++) + { + for (j = 0; j <= 1; j++) + { + for (k = 0; k <= 1; k++) + { + _p[12][i + D * (j + D * k)] = true; + } + } + } + + _class[12] = 3; + _pieceMax[12] = 1 + D * 1 + D * D * 1; + _pieceCount[0] = 13; + _pieceCount[1] = 3; + _pieceCount[2] = 1; + _pieceCount[3] = 1; + m = 1 + D * (1 + D * 1); + _count = 0; + + bool result = true; + + if (Fit(0, m)) + { + n = Place(0, m); + result = Trial(n); + } + else + { + result = false; + } + + return result; + } + + [Benchmark(Description = nameof(Puzzle))] + public bool Test() + { + _p = AllocArray(TypeMax + 1, PuzzleSize + 1); + + bool result = true; + + for (int i = 0; i < Iterations; ++i) + { + result &= DoIt(); + } + + return result; + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/QuickSort.cs b/src/benchmarks/coreclr/Benchstones/BenchI/QuickSort.cs new file mode 100644 index 00000000000..fdfa5086463 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/QuickSort.cs @@ -0,0 +1,84 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class QuickSort +{ + const int MAXNUM = 200; + const int MODULUS = 0x20000; + const int C = 13849; + const int A = 25173; + static int s_seed = 7; + + static int Random(int size) { + unchecked { + s_seed = s_seed * A + C; + } + return (s_seed % size); + } + + static void Quick(int lo, int hi, int[] arr) { + + int i, j; + int pivot, temp; + + if (lo < hi) { + for (i = lo, j = hi, pivot = arr[hi]; i < j;) { + while (i < j && arr[i] <= pivot){ + ++i; + } + while (j > i && arr[j] >= pivot) { + --j; + } + if (i < j) { + temp = arr[i]; + arr[i] = arr[j]; + arr[j] = temp; + } + } + + // need to swap the pivot and a[i](or a[j] as i==j) so + // that the pivot will be at its final place in the sorted array + + if (i != hi) { + temp = arr[i]; + arr[i] = pivot; + arr[hi] = temp; + } + Quick(lo, i - 1, arr); + Quick(i + 1, hi, arr); + } + } + + [Benchmark(Description = nameof(QuickSort))] + public bool Test() { + + int[] buffer = new int[MAXNUM]; + + for (int j = 0; j < MAXNUM; ++j) { + int temp = Random(MODULUS); + if (temp < 0){ + temp = (-temp); + } + buffer[j] = temp; + } + + Quick(0, MAXNUM - 1, buffer); + + for (int j = 0; j < MAXNUM - 1; ++j) { + if (buffer[j] > buffer[j+1]) { + return false; + } + } + + return true; + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/TreeInsert.cs b/src/benchmarks/coreclr/Benchstones/BenchI/TreeInsert.cs new file mode 100644 index 00000000000..6933ef43011 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/TreeInsert.cs @@ -0,0 +1,98 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class TreeInsert +{ + private struct Node + { + public int A; + public int L; + public int R; + } + + private struct Tree + { + public int Root; + public int NextAvail; + public Node[] Nodes; + } + + private Tree _s; + + public TreeInsert() + { + _s.Nodes = new Node[10001]; + } + + private void BenchInner(int x) + { + /* a tree insertion routine from knuth */ + int i = _s.Root; + int j = _s.NextAvail; + + L10: + /* compare */ + if (_s.Nodes[i].A < x) + { + if (_s.Nodes[i].L != 0) + { + i = _s.Nodes[i].L; + goto L10; + } + else + { + _s.Nodes[i].L = j; + goto L20; + } + } + else + { + if (_s.Nodes[i].R != 0) + { + i = _s.Nodes[i].R; + goto L10; + } + else + { + _s.Nodes[i].R = j; + goto L20; + } + } + + L20: + /* insert */ + _s.Nodes[j].A = x; + _s.Nodes[j].L = 0; + _s.Nodes[j].R = 0; + _s.NextAvail = j + 1; + } + + + [Benchmark(Description = nameof(TreeInsert))] + public bool Test() + { + _s.Root = 1; + _s.NextAvail = 2; + _s.Nodes[1].A = 300; + _s.Nodes[1].L = 0; + _s.Nodes[1].R = 0; + + int j = 99999; + for (int i = 1; i <= 900; i++) + { + BenchInner(j & 4095); + j = j + 33333; + } + + return (_s.Nodes[500].A == 441); + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/TreeSort.cs b/src/benchmarks/coreclr/Benchstones/BenchI/TreeSort.cs new file mode 100644 index 00000000000..3dd832a1fb9 --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/TreeSort.cs @@ -0,0 +1,119 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class TreeSort +{ + const int SortElements = 5000; + const int Modulus = 65536; + + sealed class Node + { + public Node Left; + public Node Right; + public int Val; + public Node(int n) + { + Left = null; + Right = null; + Val = n; + } + } + + static int s_biggest; + static int s_littlest; + static int s_seed; + + static void InitRand() { + s_seed = 33; + } + + static int Rand(ref int seed) { + int multiplier = 25173; + int increment = 13849; + seed = (multiplier * seed + increment) % Modulus; + return seed; + } + + static void InitArray(int[] sortList) { + InitRand(); + s_biggest = 0; + s_littlest = Modulus; + for (int i = 1; i <= SortElements; i++) { + sortList[i] = Rand(ref s_seed) - 1; + if (sortList[i] > s_biggest) { + s_biggest = sortList[i]; + } + else if (sortList[i] < s_littlest) { + s_littlest = sortList[i]; + } + } + } + + static void Insert(int n, Node t) { + if (n > t.Val) { + if (t.Left == null) { + t.Left = new Node(n); + } + else { + Insert(n, t.Left); + } + } + else if (n < t.Val) { + if (t.Right == null) { + t.Right = new Node(n); + } + else { + Insert(n, t.Right); + } + } + } + + static bool CheckTree(Node p) { + bool result = true; + if (p.Left != null) { + if (p.Left.Val <= p.Val) { + result = false; + } + else { + result &= CheckTree(p.Left); + } + } + + if (p.Right != null) { + if (p.Right.Val >= p.Val) { + result = false; + } + else { + result &= CheckTree(p.Right); + } + } + + return result; + } + + static bool Trees(int[] sortList) { + InitArray(sortList); + Node tree = new Node(sortList[1]); + for (int i = 2; i <= SortElements; i++) { + Insert(sortList[i], tree); + } + bool result = CheckTree(tree); + return result; + } + + [Benchmark(Description = nameof(TreeSort))] + public bool Test() { + int[] sortList = new int[SortElements + 1]; + bool result = Trees(sortList); + return result; + } +} +} diff --git a/src/benchmarks/coreclr/Benchstones/BenchI/XposMatrix.cs b/src/benchmarks/coreclr/Benchstones/BenchI/XposMatrix.cs new file mode 100644 index 00000000000..fe34b56feed --- /dev/null +++ b/src/benchmarks/coreclr/Benchstones/BenchI/XposMatrix.cs @@ -0,0 +1,61 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System.Collections.Generic; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Benchstone.BenchI +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Benchstones, Categories.BenchI)] +public class XposMatrix +{ + public const int ArraySize = 100; + + int[][] matrixField = AllocArray(ArraySize + 1, ArraySize + 1); + + static T[][] AllocArray(int n1, int n2) { + T[][] a = new T[n1][]; + for (int i = 0; i < n1; ++i) { + a[i] = new T[n2]; + } + return a; + } + + static void Inner(int[][] x, int n) { + for (int i = 1; i <= n; i++) { + for (int j = 1; j <= n; j++) { + int t = x[i][j]; + x[i][j] = x[j][i]; + x[j][i] = t; + } + } + } + + [Benchmark(Description = nameof(XposMatrix))] + public bool Test() { + int[][] matrix = matrixField; + + int n = ArraySize; + for (int i = 1; i <= n; i++) { + for (int j = 1; j <= n; j++) { + matrix[i][j] = 1; + } + } + + if (matrix[n][n] != 1) { + return false; + } + + Inner(matrix, n); + + if (matrix[n][n] != 1) { + return false; + } + + return true; + } +} +} diff --git a/src/benchmarks/coreclr/Burgers/Burgers.cs b/src/benchmarks/coreclr/Burgers/Burgers.cs new file mode 100644 index 00000000000..a9e0be2e7fe --- /dev/null +++ b/src/benchmarks/coreclr/Burgers/Burgers.cs @@ -0,0 +1,197 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// +// .NET SIMD to solve Burgers' equation +// +// Benchmark based on +// https://github.com/taumuon/SIMD-Vectorisation-Burgers-Equation-CSharp +// http://www.taumuon.co.uk/2014/10/net-simd-to-solve-burgers-equation.html + +using System; +using System.Linq; +using System.Numerics; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +[BenchmarkCategory(Categories.CoreCLR)] +public class Burgers +{ + private static double BurgersAnalytical(double t, double x, double nu) + { + return -2 * nu * (-(-8 * t + 2 * x) * Math.Exp(-Math.Pow((-4 * t + x), 2) / (4 * nu * (t + 1))) / (4 * nu * (t + 1)) - (-8 * t + 2 * x - 12.5663706143592) * Math.Exp(-Math.Pow(-4 * t + x - 6.28318530717959, 2) / (4 * nu * (t + 1))) / (4 * nu * (t + 1))) / (Math.Exp(-Math.Pow(-4 * t + x - 6.28318530717959, 2) / (4 * nu * (t + 1))) + Math.Exp(-Math.Pow(-4 * t + x, 2) / (4 * nu * (t + 1)))) + 4; + } + + private static double[] linspace(double first, double last, int num) + { + var step = (last - first) / (double)num; + return Enumerable.Range(0, num).Select(v => (v * step) + first).ToArray(); + } + + private static double[] GetAnalytical(double[] x, double t, double nu) + { + double[] u = new double[x.Length]; + + for (int i = 0; i < x.Length; ++i) + { + u[i] = BurgersAnalytical(t, x[i], nu); + } + + return u; + } + + private static double[] GetCalculated0(int nt, int nx, double dx, double dt, double nu, double[] initial) + { + double[] u = new double[nx]; + Array.Copy(initial, u, u.Length); + + for (int tStep = 0; tStep < nt; tStep++) + { + double[] un = new double[nx]; + Array.Copy(u, un, u.Length); + + for (int i = 1; i < nx - 1; i++) + { + u[i] = un[i] - un[i] * dt / dx * (un[i] - un[i - 1]) + Math.Pow(nu * dt / dx, 2.0) * + (un[i + 1] - 2 * un[i] + un[i - 1]); + } + + u[0] = un[0] - un[0] * dt / dx * (un[0] - un[nx - 1]) + Math.Pow(nu * dt / dx, 2.0) * + (un[1] - 2 * un[0] + un[nx - 1]); + + u[nx - 1] = un[nx - 1] - un[nx - 1] * dt / dx * (un[nx - 1] - un[nx - 2]) + Math.Pow(nu * dt / dx, 2.0) * + (un[0] - 2 * un[nx - 1] + un[nx - 2]); + } + + return u; + } + + // Reduce new array allocation and copying, ping-pong between them + private static double[] GetCalculated1(int nt, int nx, double dx, double dt, double nu, double[] initial) + { + double[] u = new double[nx]; + double[] un = new double[nx]; + Array.Copy(initial, un, un.Length); + + for (int tStep = 0; tStep < nt; tStep++) + { + for (int i = 1; i < nx - 1; i++) + { + u[i] = un[i] - un[i] * dt / dx * (un[i] - un[i - 1]) + Math.Pow(nu * dt / dx, 2.0) * + (un[i + 1] - 2 * un[i] + un[i - 1]); + } + + u[0] = un[0] - un[0] * dt / dx * (un[0] - un[nx - 1]) + Math.Pow(nu * dt / dx, 2.0) * + (un[1] - 2 * un[0] + un[nx - 1]); + + u[nx - 1] = un[nx - 1] - un[nx - 1] * dt / dx * (un[nx - 1] - un[nx - 2]) + Math.Pow(nu * dt / dx, 2.0) * + (un[0] - 2 * un[nx - 1] + un[nx - 2]); + + double[] swap = u; + u = un; + un = swap; + } + + return un; + } + + // Pull calculation of (nu * dt / dx)^2 out into a variable + private static double[] GetCalculated2(int nt, int nx, double dx, double dt, double nu, double[] initial) + { + double[] u = new double[nx]; + double[] un = new double[nx]; + Array.Copy(initial, un, un.Length); + + double factor = Math.Pow(nu * dt / dx, 2.0); + + for (int tStep = 0; tStep < nt; tStep++) + { + for (int i = 1; i < nx - 1; i++) + { + u[i] = un[i] - un[i] * dt / dx * (un[i] - un[i - 1]) + factor * + (un[i + 1] - 2 * un[i] + un[i - 1]); + } + + u[0] = un[0] - un[0] * dt / dx * (un[0] - un[nx - 1]) + factor * + (un[1] - 2 * un[0] + un[nx - 1]); + + u[nx - 1] = un[nx - 1] - un[nx - 1] * dt / dx * (un[nx - 1] - un[nx - 2]) + factor * + (un[0] - 2 * un[nx - 1] + un[nx - 2]); + + double[] swap = u; + u = un; + un = swap; + } + + return un; + } + + // SIMD + private static double[] GetCalculated3(int nt, int nx, double dx, double dt, double nu, double[] initial) + { + var nx2 = nx + (Vector.Count - (nx % Vector.Count)); + + double[] u = new double[nx2]; + double[] un = new double[nx2]; + Array.Copy(initial, un, initial.Length); + + double factor = Math.Pow(nu * dt / dx, 2.0); + + for (int tStep = 0; tStep < nt; tStep++) + { + for (int i = 1; i < nx2 - Vector.Count + 1; i += Vector.Count) + { + var vectorIn0 = new Vector(un, i); + var vectorInPrev = new Vector(un, i - 1); + var vectorInNext = new Vector(un, i + 1); + + var vectorOut = vectorIn0 - vectorIn0 * (dt / dx) * (vectorIn0 - vectorInPrev) + factor * + (vectorInNext - 2.0 * vectorIn0 + vectorInPrev); + + vectorOut.CopyTo(u, i); + } + + u[0] = un[0] - un[0] * dt / dx * (un[0] - un[nx - 1]) + factor * + (un[1] - 2 * un[0] + un[nx - 1]); + + u[nx - 1] = un[nx - 1] - un[nx - 1] * dt / dx * (un[nx - 1] - un[nx - 2]) + factor * + (un[0] - 2 * un[nx - 1] + un[nx - 2]); + + double[] swap = u; + u = un; + un = swap; + } + + return un; + } + + + const int nx = 10001; + const int nt = 10000; + const double nu = 0.07; + + double dx, dt; + double[] x, initial; + + [GlobalSetup] + public void Setup() + { + dx = 2.0 * Math.PI / (nx - 1.0); + dt = dx * nu; + x = linspace(0.0, 2.0 * Math.PI, nx); + initial = GetAnalytical(x, 0.0, nu); + } + + [Benchmark(Description = "Burgers_0")] + public double[] Test0() => GetCalculated0(nt, nx, dx, dt, nu, initial); + + [Benchmark(Description = "Burgers_1")] + public double[] Test1() => GetCalculated1(nt, nx, dx, dt, nu, initial); + + [Benchmark(Description = "Burgers_2")] + public double[] Test2() => GetCalculated2(nt, nx, dx, dt, nu, initial); + + [Benchmark(Description = "Burgers_3")] + public double[] Test3() => GetCalculated3(nt * 2, nx, dx, dt, nu, initial); +} + diff --git a/src/benchmarks/coreclr/Burgers/THIRD-PARTY-NOTICES b/src/benchmarks/coreclr/Burgers/THIRD-PARTY-NOTICES new file mode 100644 index 00000000000..48cfac483fc --- /dev/null +++ b/src/benchmarks/coreclr/Burgers/THIRD-PARTY-NOTICES @@ -0,0 +1,34 @@ +.NET Core uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Core software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for SIMD-Vectorisation-Burgers-Equation-CSharp +------------------------------------------------------------- + +MIT License + +Copyright (c) 2017 Gary Evans + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/src/benchmarks/coreclr/Bytemark/ByteMark.cs b/src/benchmarks/coreclr/Bytemark/ByteMark.cs new file mode 100644 index 00000000000..09d4513926f --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/ByteMark.cs @@ -0,0 +1,534 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +/* +** This program was translated to C# and adapted for xunit-performance. +** New variants of several tests were added to compare class versus +** struct and to compare jagged arrays vs multi-dimensional arrays. +*/ + +/* +** BYTEmark (tm) +** BYTE Magazine's Native Mode benchmarks +** Rick Grehan, BYTE Magazine +** +** Create: +** Revision: 3/95 +** +** DISCLAIMER +** The source, executable, and documentation files that comprise +** the BYTEmark benchmarks are made available on an "as is" basis. +** This means that we at BYTE Magazine have made every reasonable +** effort to verify that the there are no errors in the source and +** executable code. We cannot, however, guarantee that the programs +** are error-free. Consequently, McGraw-HIll and BYTE Magazine make +** no claims in regard to the fitness of the source code, executable +** code, and documentation of the BYTEmark. +** +** Furthermore, BYTE Magazine, McGraw-Hill, and all employees +** of McGraw-Hill cannot be held responsible for any damages resulting +** from the use of this code or the results obtained from using +** this code. +*/ + +using System; +using System.IO; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +#pragma warning disable CS0649, CS0169 + +internal class global +{ + public static long min_ticks; + public static int min_secs; + public static bool allstats; + public static String ofile_name; // Output file name + public static StreamWriter ofile; // Output file + public static bool custrun; // Custom run flag + public static bool write_to_file; // Write output to file + public static int align; // Memory alignment + + /* + ** Following are global structures, one built for + ** each of the tests. + */ + public static SortStruct numsortstruct_jagged; // For numeric sort + public static SortStruct numsortstruct_rect; // For numeric sort + public static StringSort strsortstruct; // For string sort + public static BitOpStruct bitopstruct; // For bitfield ops + public static EmFloatStruct emfloatstruct_struct; // For emul. float. pt. + public static EmFloatStruct emfloatstruct_class; // For emul. float. pt. + public static FourierStruct fourierstruct; // For fourier test + public static AssignStruct assignstruct_jagged; // For assignment algs + public static AssignStruct assignstruct_rect; // For assignment algs + public static IDEAStruct ideastruct; // For IDEA encryption + public static HuffStruct huffstruct; // For Huffman compression + public static NNetStruct nnetstruct_jagged; // For Neural Net + public static NNetStruct nnetstruct_rect; // For Neural Net + public static LUStruct lustruct; // For LU decomposition + + public const long TICKS_PER_SEC = 1000; + public const long MINIMUM_TICKS = 60; // 60 msecs + + public const int MINIMUM_SECONDS = 1; + + public const int NUMNUMARRAYS = 1000; + public const int NUMARRAYSIZE = 8111; + public const int STRINGARRAYSIZE = 8111; + // This is the upper limit of number of string arrays to sort in one + // iteration. If we can sort more than this number of arrays in less + // than MINIMUM_TICKS an exception is thrown. + public const int NUMSTRARRAYS = 100; + public const int HUFFARRAYSIZE = 5000; + public const int MAXHUFFLOOPS = 50000; + + // Assignment constants + public const int ASSIGNROWS = 101; + public const int ASSIGNCOLS = 101; + public const int MAXPOSLONG = 0x7FFFFFFF; + + // BitOps constants +#if LONG64 + public const int BITFARRAYSIZE = 16384; +#else + public const int BITFARRAYSIZE = 32768; +#endif + + // IDEA constants + public const int MAXIDEALOOPS = 5000; + public const int IDEAARRAYSIZE = 4000; + public const int IDEAKEYSIZE = 16; + public const int IDEABLOCKSIZE = 8; + public const int ROUNDS = 8; + public const int KEYLEN = (6 * ROUNDS + 4); + + // LUComp constants + public const int LUARRAYROWS = 101; + public const int LUARRAYCOLS = 101; + + // EMFLOAT constants + public const int CPUEMFLOATLOOPMAX = 50000; + public const int EMFARRAYSIZE = 3000; + + // FOURIER constants + public const int FOURIERARRAYSIZE = 100; +} +#pragma warning restore CS0649, CS0169 +/* +** TYPEDEFS +*/ + +public abstract class HarnessTest +{ + public bool bRunTest = true; + public double score; + public int adjust; /* Set adjust code */ + public int request_secs; /* # of seconds requested */ + + public abstract string Name(); + public abstract void ShowStats(); + public abstract double Run(); +} + +public abstract class SortStruct : HarnessTest +{ + public short numarrays = global.NUMNUMARRAYS; /* # of arrays */ + public int arraysize = global.NUMARRAYSIZE; /* # of elements in array */ + public override void ShowStats() + { + ByteMark.OutputString( + string.Format(" Number of arrays: {0}", numarrays)); + ByteMark.OutputString( + string.Format(" Array size: {0}", arraysize)); + } +} + +public abstract class StringSortStruct : HarnessTest +{ + public short numarrays = global.NUMNUMARRAYS; /* # of arrays */ + public int arraysize = global.STRINGARRAYSIZE; /* # of elements in array */ + public override void ShowStats() + { + ByteMark.OutputString( + string.Format(" Number of arrays: {0}", numarrays)); + ByteMark.OutputString( + string.Format(" Array size: {0}", arraysize)); + } +} + +public abstract class HuffStruct : HarnessTest +{ + public int arraysize = global.HUFFARRAYSIZE; + public int loops = 0; + public override void ShowStats() + { + ByteMark.OutputString( + string.Format(" Array size: {0}", arraysize)); + ByteMark.OutputString( + string.Format(" Number of loops: {0}", loops)); + } +} + +public abstract class FourierStruct : HarnessTest +{ + public int arraysize = global.FOURIERARRAYSIZE; + public override void ShowStats() + { + ByteMark.OutputString( + string.Format(" Number of coefficients: {0}", arraysize)); + } +} + +public abstract class AssignStruct : HarnessTest +{ + public short numarrays = global.NUMNUMARRAYS; /* # of elements in array */ + public override void ShowStats() + { + ByteMark.OutputString( + string.Format(" Number of arrays: {0}", numarrays)); + } +} + +public abstract class BitOpStruct : HarnessTest +{ + public int bitoparraysize; /* Total # of bitfield ops */ + public int bitfieldarraysize = global.BITFARRAYSIZE; /* Bit field array size */ + public override void ShowStats() + { + ByteMark.OutputString( + string.Format(" Operations array size: {0}", bitoparraysize)); + ByteMark.OutputString( + string.Format(" Bitfield array size: {0}", bitfieldarraysize)); + } +} + +public abstract class IDEAStruct : HarnessTest +{ + public int arraysize = global.IDEAARRAYSIZE; /* Size of array */ + public int loops; /* # of times to convert */ + public override void ShowStats() + { + ByteMark.OutputString( + string.Format(" Array size: {0}", arraysize)); + ByteMark.OutputString( + string.Format(" Number of loops: {0}", loops)); + } +} + +public abstract class LUStruct : HarnessTest +{ + public int numarrays; + public override void ShowStats() + { + ByteMark.OutputString( + string.Format(" Number of arrays: {0}", numarrays)); + } +} + +public abstract class NNetStruct : HarnessTest +{ + public int loops; /* # of times to learn */ + public double iterspersec; /* Results */ + public override void ShowStats() + { + ByteMark.OutputString( + string.Format(" Number of loops: {0}", loops)); + } +} + +public abstract class EmFloatStruct : HarnessTest +{ + public int arraysize = global.EMFARRAYSIZE; /* Size of array */ + public int loops; /* Loops per iterations */ + public override void ShowStats() + { + ByteMark.OutputString( + string.Format(" Number of loops: {0}", loops)); + ByteMark.OutputString( + string.Format(" Array size: {0}", arraysize)); + } +} + +[BenchmarkCategory(Categories.CoreCLR)] +public class ByteMark +{ + private static int[] s_randw; + + public static void OutputString(String s) + { + Console.WriteLine(s); + if (global.write_to_file) + { + global.ofile.WriteLine(s); + global.ofile.Flush(); + } + } + + /**************************** + ** TicksToSecs + ** Converts ticks to seconds. Converts ticks to integer + ** seconds, discarding any fractional amount. + */ + public static int TicksToSecs(long tickamount) + { + return ((int)(tickamount / global.TICKS_PER_SEC)); + } + + /**************************** + ** TicksToFracSecs + ** Converts ticks to fractional seconds. In other words, + ** this returns the exact conversion from ticks to + ** seconds. + */ + public static double TicksToFracSecs(long tickamount) + { + return ((double)tickamount / (double)global.TICKS_PER_SEC); + } + + public static long StartStopwatch() + { + //DateTime t = DateTime.Now; + //return(t.Ticks); + return Environment.TickCount; + } + + public static long StopStopwatch(long start) + { + //DateTime t = DateTime.Now; + //Console.WriteLine(t.Ticks - start); + //return(t.Ticks-start); + long x = Environment.TickCount - start; + //Console.WriteLine(x); + return x; + } + + /**************************** + * randwc() * + ***************************** + ** Returns int random modulo num. + */ + public static int randwc(int num) + { + return (randnum(0) % num); + } + + /*************************** + ** abs_randwc() ** + **************************** + ** Same as randwc(), only this routine returns only + ** positive numbers. + */ + public static int abs_randwc(int num) + { + int temp; /* Temporary storage */ + + temp = randwc(num); + if (temp < 0) temp = 0 - temp; + + return temp; + } + + /**************************** + * randnum() * + ***************************** + ** Second order linear congruential generator. + ** Constants suggested by J. G. Skellam. + ** If val==0, returns next member of sequence. + ** val!=0, restart generator. + */ + public static int randnum(int lngval) + { + int interm; + + if (lngval != 0L) + { s_randw[0] = 13; s_randw[1] = 117; } + + unchecked + { + interm = (s_randw[0] * 254754 + s_randw[1] * 529562) % 999563; + } + s_randw[1] = s_randw[0]; + s_randw[0] = interm; + return (interm); + } + + [GlobalSetup] + public void Setup() + { + s_randw = new int[2] { 13, 117 }; + global.min_ticks = global.MINIMUM_TICKS; + global.min_secs = global.MINIMUM_SECONDS; + global.allstats = false; + global.custrun = false; + global.align = 8; + global.write_to_file = false; + } + + const int NumericSortJaggedIterations = 10; + + [Benchmark] + public void BenchNumericSortJagged() + { + NumericSortJagged t = new NumericSortJagged(); + t.numarrays = 200; + t.adjust = 1; + + for (int i = 0; i < NumericSortJaggedIterations; i++) + t.Run(); + } + + const int NumericSortRectangularIterations = 5; + + [Benchmark] + public void BenchNumericSortRectangular() + { + NumericSortRect t = new NumericSortRect(); + t.numarrays = 200; + t.adjust = 1; + + for (int i = 0; i < NumericSortRectangularIterations; i++) + t.Run(); + } + + const int StringSortIterations = 15; + + [Benchmark] + public void BenchStringSort() + { + StringSort t = new StringSort(); + t.numarrays = 40; + t.adjust = 1; + + for (int i = 0; i < StringSortIterations; i++) + t.Run(); + } + + const int BitOpsIterations = 100000; + + [Benchmark] + public void BenchBitOps() + { + BitOps t = new BitOps(); + t.adjust = 1; + + for (int i = 0; i < BitOpsIterations; i++) + t.Run(); + } + + const int EmFloatIterations = 10; + + [Benchmark] + public void BenchEmFloat() + { + EmFloatStruct t = new EMFloat(); + t.loops = 50; + t.adjust = 1; + + for (int i = 0; i < EmFloatIterations; i++) + t.Run(); + } + + const int EmFloatClassIterations = 2; + + [Benchmark] + public void BenchEmFloatClass() + { + EmFloatStruct t = new EMFloatClass(); + t.loops = 50; + t.adjust = 1; + + for (int i = 0; i < EmFloatClassIterations; i++) + t.Run(); + } + + const int FourierIterations = 300; + + [Benchmark] + public void BenchFourier() + { + FourierStruct t = new Fourier(); + t.adjust = 1; + + for (int i = 0; i < FourierIterations; i++) + t.Run(); + } + + const int AssignJaggedIterations = 2; + + [Benchmark] + public void BenchAssignJagged() + { + AssignStruct t = new AssignJagged(); + t.numarrays = 25; + t.adjust = 1; + + for (int i = 0; i < AssignJaggedIterations; i++) + t.Run(); + } + + const int AssignRectangularIterations = 5; + + [Benchmark] + public void BenchAssignRectangular() + { + AssignStruct t = new AssignRect(); + t.numarrays = 10; + t.adjust = 1; + + for (int i = 0; i < AssignRectangularIterations; i++) + t.Run(); + } + + const int IDEAEncryptionIterations = 50; + + [Benchmark] + public void BenchIDEAEncryption() + { + IDEAStruct t = new IDEAEncryption(); + t.loops = 100; + t.adjust = 1; + + for (int i = 0; i < IDEAEncryptionIterations; i++) + t.Run(); + } + + const int NeuralJaggedIterations = 10; + + [Benchmark] + public void BenchNeuralJagged() + { + NNetStruct t = new NeuralJagged(); + t.loops = 3; + t.adjust = 1; + + for (int i = 0; i < NeuralJaggedIterations; i++) + t.Run(); + } + + const int NeuralIterations = 20; + + [Benchmark] + public void BenchNeural() + { + NNetStruct t = new Neural(); + t.loops = 1; + t.adjust = 1; + + for (int i = 0; i < NeuralIterations; i++) + t.Run(); + } + + const int LUDecompIterations = 10; + + [Benchmark] + public void BenchLUDecomp() + { + LUStruct t = new LUDecomp(); + t.numarrays = 250; + t.adjust = 1; + + for (int i = 0; i < LUDecompIterations; i++) + t.Run(); + } +} diff --git a/src/benchmarks/coreclr/Bytemark/Huffman.cs b/src/benchmarks/coreclr/Bytemark/Huffman.cs new file mode 100644 index 00000000000..f398b0ad103 --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/Huffman.cs @@ -0,0 +1,566 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +/* +** This program was translated to C# and adapted for xunit-performance. +** New variants of several tests were added to compare class versus +** struct and to compare jagged arrays vs multi-dimensional arrays. +*/ + +/* +** BYTEmark (tm) +** BYTE Magazine's Native Mode benchmarks +** Rick Grehan, BYTE Magazine +** +** Create: +** Revision: 3/95 +** +** DISCLAIMER +** The source, executable, and documentation files that comprise +** the BYTEmark benchmarks are made available on an "as is" basis. +** This means that we at BYTE Magazine have made every reasonable +** effort to verify that the there are no errors in the source and +** executable code. We cannot, however, guarantee that the programs +** are error-free. Consequently, McGraw-HIll and BYTE Magazine make +** no claims in regard to the fitness of the source code, executable +** code, and documentation of the BYTEmark. +** +** Furthermore, BYTE Magazine, McGraw-Hill, and all employees +** of McGraw-Hill cannot be held responsible for any damages resulting +** from the use of this code or the results obtained from using +** this code. +*/ + +using System; + +/* +** TYPEDEFS +*/ +internal struct huff_node +{ + public byte c; /* Byte value */ + public float freq; /* Frequency */ + public int parent; /* Parent node */ + public int left; /* Left pointer = 0 */ + public int right; /* Right pointer = 1 */ +}; + +/************************ +** HUFFMAN COMPRESSION ** +************************/ +public class Huffman : HuffStruct +{ + public override string Name() + { + return "HUFFMAN"; + } + + /************** + ** DoHuffman ** + *************** + ** Execute a huffman compression on a block of plaintext. + ** Note that (as with IDEA encryption) an iteration of the + ** Huffman test includes a compression AND a decompression. + ** Also, the compression cycle includes building the + ** Huffman tree. + */ + public override double Run() + { + huff_node[] hufftree; + long accumtime; + double iterations; + byte[] comparray; + byte[] decomparray; + byte[] plaintext; + + InitWords(); + + /* + ** Allocate memory for the plaintext and the compressed text. + ** We'll be really pessimistic here, and allocate equal amounts + ** for both (though we know...well, we PRESUME) the compressed + ** stuff will take less than the plain stuff. + ** Also note that we'll build a 3rd buffer to decompress + ** into, and we preallocate space for the huffman tree. + ** (We presume that the Huffman tree will grow no larger + ** than 512 bytes. This is actually a super-conservative + ** estimate...but, who cares?) + */ + plaintext = new byte[this.arraysize]; + comparray = new byte[this.arraysize]; + decomparray = new byte[this.arraysize]; + + hufftree = new huff_node[512]; + + /* + ** Build the plaintext buffer. Since we want this to + ** actually be able to compress, we'll use the + ** wordcatalog to build the plaintext stuff. + */ + create_text_block(plaintext, this.arraysize - 1, 500); + // for (int i = 0; i < this.arraysize-1; i++) { + // Console.Write((char)plaintext[i]); + // } + plaintext[this.arraysize - 1] = (byte)'\0'; + // plaintextlen=this.arraysize; + + /* + ** See if we need to perform self adjustment loop. + */ + if (this.adjust == 0) + { + /* + ** Do self-adjustment. This involves initializing the + ** # of loops and increasing the loop count until we + ** get a number of loops that we can use. + */ + + for (this.loops = 100; + this.loops < global.MAXHUFFLOOPS; + this.loops += 10) + { + if (DoHuffIteration(plaintext, + comparray, + decomparray, + this.arraysize, + this.loops, + hufftree) > global.min_ticks) + break; + } + } + + /* + ** All's well if we get here. Do the test. + */ + accumtime = 0L; + iterations = (double)0.0; + + do + { + accumtime += DoHuffIteration(plaintext, + comparray, + decomparray, + this.arraysize, + this.loops, + hufftree); + iterations += (double)this.loops; + } while (ByteMark.TicksToSecs(accumtime) < this.request_secs); + + /* + ** Clean up, calculate results, and go home. Be sure to + ** show that we don't have to rerun adjustment code. + */ + //this.iterspersec=iterations / TicksToFracSecs(accumtime); + + if (this.adjust == 0) + this.adjust = 1; + + return (iterations / ByteMark.TicksToFracSecs(accumtime)); + } + + + /********************* + ** create_text_line ** + ********************** + ** Create a random line of text, stored at *dt. The line may be + ** no more than nchars long. + */ + private static void create_text_line(byte[] dt, int nchars, int lower) + { + int charssofar; /* # of characters so far */ + int tomove; /* # of characters to move */ + string myword; /* Local buffer for words */ + + int index = 0; + + charssofar = 0; + + do + { + /* + ** Grab a random word from the wordcatalog + */ + myword = wordcatarray[ByteMark.abs_randwc(Huffman.WORDCATSIZE)]; + + /* + ** Append a blank. + */ + myword += " "; + tomove = myword.Length; + + /* + ** See how long it is. If its length+charssofar > nchars, we have + ** to trim it. + */ + if ((tomove + charssofar) > nchars) + tomove = nchars - charssofar; + /* + ** Attach the word to the current line. Increment counter. + */ + for (int i = 0; i < tomove; i++) + { + dt[lower + index++] = (byte)myword[i]; + } + charssofar += tomove; + + /* + ** If we're done, bail out. Otherwise, go get another word. + */ + } while (charssofar < nchars); + + return; + } + + /********************** + ** create_text_block ** + *********************** + ** Build a block of text randomly loaded with words. The words + ** come from the wordcatalog (which must be loaded before you + ** call this). + ** *tb points to the memory where the text is to be built. + ** tblen is the # of bytes to put into the text block + ** maxlinlen is the maximum length of any line (line end indicated + ** by a carriage return). + */ + private static void create_text_block(byte[] tb, + int tblen, + short maxlinlen) + { + int bytessofar; /* # of bytes so far */ + int linelen; /* Line length */ + + bytessofar = 0; + do + { + /* + ** Pick a random length for a line and fill the line. + ** Make sure the line can fit (haven't exceeded tablen) and also + ** make sure you leave room to append a carriage return. + */ + linelen = ByteMark.abs_randwc(maxlinlen - 6) + 6; + if ((linelen + bytessofar) > tblen) + linelen = tblen - bytessofar; + + if (linelen > 1) + { + create_text_line(tb, linelen, bytessofar); + } + tb[linelen] = (byte)'\n'; /* Add the carriage return */ + + bytessofar += linelen; + } while (bytessofar < tblen); + } + + /******************** + ** DoHuffIteration ** + ********************* + ** Perform the huffman benchmark. This routine + ** (a) Builds the huffman tree + ** (b) Compresses the text + ** (c) Decompresses the text and verifies correct decompression + */ + private static long DoHuffIteration(byte[] plaintext, + byte[] comparray, + byte[] decomparray, + int arraysize, + int nloops, + huff_node[] hufftree) + { + int i; /* Index */ + int j; /* Bigger index */ + int root; /* Pointer to huffman tree root */ + float lowfreq1, lowfreq2; /* Low frequency counters */ + int lowidx1, lowidx2; /* Indexes of low freq. elements */ + int bitoffset; /* Bit offset into text */ + int textoffset; /* Char offset into text */ + int maxbitoffset; /* Holds limit of bit offset */ + int bitstringlen; /* Length of bitstring */ + int c; /* Character from plaintext */ + byte[] bitstring = new byte[30]; /* Holds bitstring */ + long elapsed; /* For stopwatch */ + + /* + ** Start the stopwatch + */ + elapsed = ByteMark.StartStopwatch(); + + /* + ** Do everything for nloops + */ + while (nloops-- != 0) + { + /* + ** Calculate the frequency of each byte value. Store the + ** results in what will become the "leaves" of the + ** Huffman tree. Interior nodes will be built in those + ** nodes greater than node #255. + */ + for (i = 0; i < 256; i++) + { + hufftree[i].freq = (float)0.0; + hufftree[i].c = (byte)i; + } + + for (j = 0; j < arraysize; j++) + hufftree[plaintext[j]].freq += (float)1.0; + + for (i = 0; i < 256; i++) + if (hufftree[i].freq != (float)0.0) + hufftree[i].freq /= (float)arraysize; + + /* + ** Build the huffman tree. First clear all the parent + ** pointers and left/right pointers. Also, discard all + ** nodes that have a frequency of true 0. + */ + for (i = 0; i < 512; i++) + { + if (hufftree[i].freq == (float)0.0) + hufftree[i].parent = EXCLUDED; + else + hufftree[i].parent = hufftree[i].left = hufftree[i].right = -1; + } + + /* + ** Go through the tree. Finding nodes of really low + ** frequency. + */ + root = 255; /* Starting root node-1 */ + while (true) + { + lowfreq1 = (float)2.0; lowfreq2 = (float)2.0; + lowidx1 = -1; lowidx2 = -1; + /* + ** Find first lowest frequency. + */ + for (i = 0; i <= root; i++) + if (hufftree[i].parent < 0) + if (hufftree[i].freq < lowfreq1) + { + lowfreq1 = hufftree[i].freq; + lowidx1 = i; + } + + /* + ** Did we find a lowest value? If not, the + ** tree is done. + */ + if (lowidx1 == -1) break; + + /* + ** Find next lowest frequency + */ + for (i = 0; i <= root; i++) + if ((hufftree[i].parent < 0) && (i != lowidx1)) + if (hufftree[i].freq < lowfreq2) + { + lowfreq2 = hufftree[i].freq; + lowidx2 = i; + } + + /* + ** If we could only find one item, then that + ** item is surely the root, and (as above) the + ** tree is done. + */ + if (lowidx2 == -1) break; + + /* + ** Attach the two new nodes to the current root, and + ** advance the current root. + */ + root++; /* New root */ + hufftree[lowidx1].parent = root; + hufftree[lowidx2].parent = root; + hufftree[root].freq = lowfreq1 + lowfreq2; + hufftree[root].left = lowidx1; + hufftree[root].right = lowidx2; + hufftree[root].parent = -2; /* Show root */ + } + + /* + ** Huffman tree built...compress the plaintext + */ + bitoffset = 0; /* Initialize bit offset */ + for (i = 0; i < arraysize; i++) + { + c = (int)plaintext[i]; /* Fetch character */ + /* + ** Build a bit string for byte c + */ + bitstringlen = 0; + while (hufftree[c].parent != -2) + { + if (hufftree[hufftree[c].parent].left == c) + bitstring[bitstringlen] = (byte)'0'; + else + bitstring[bitstringlen] = (byte)'1'; + c = hufftree[c].parent; + bitstringlen++; + } + + /* + ** Step backwards through the bit string, setting + ** bits in the compressed array as you go. + */ + while (bitstringlen-- != 0) + { + SetCompBit(comparray, bitoffset, bitstring[bitstringlen]); + bitoffset++; + } + } + + /* + ** Compression done. Perform de-compression. + */ + maxbitoffset = bitoffset; + bitoffset = 0; + textoffset = 0; + do + { + i = root; + while (hufftree[i].left != -1) + { + if (GetCompBit(comparray, bitoffset) == 0) + i = hufftree[i].left; + else + i = hufftree[i].right; + bitoffset++; + } + decomparray[textoffset] = hufftree[i].c; + +#if DEBUG + if (hufftree[i].c != plaintext[textoffset]) + { + /* Show error */ + string error = String.Format("Huffman: error at textoffset {0}", textoffset); + throw new Exception(error); + } +#endif + textoffset++; + } while (bitoffset < maxbitoffset); + } /* End the big while(nloops--) from above */ + + /* + ** All done + */ + return (ByteMark.StopStopwatch(elapsed)); + } + + /*************** + ** SetCompBit ** + **************** + ** Set a bit in the compression array. The value of the + ** bit is set according to char bitchar. + */ + private static void SetCompBit(byte[] comparray, + int bitoffset, + byte bitchar) + { + int byteoffset; + int bitnumb; + + /* + ** First calculate which element in the comparray to + ** alter. and the bitnumber. + */ + byteoffset = bitoffset >> 3; + bitnumb = bitoffset % 8; + + /* + ** Set or clear + */ + if (bitchar == '1') + comparray[byteoffset] |= ((byte)(1 << bitnumb)); + else + { + // JTR: Work around compiler bug: (byte)~(1<> 3; + bitnumb = bitoffset % 8; + + /* + ** Fetch + */ + return ((1 << bitnumb) & comparray[byteoffset]); + } + + protected const int WORDCATSIZE = 50; + protected const int EXCLUDED = 32000; /* Big positive value */ + protected static string[] wordcatarray; + protected static void InitWords() + { + wordcatarray = new string[] + { "Hello", + "He", + "Him", + "the", + "this", + "that", + "though", + "rough", + "cough", + "obviously", + "But", + "but", + "bye", + "begin", + "beginning", + "beginnings", + "of", + "our", + "ourselves", + "yourselves", + "to", + "together", + "togetherness", + "from", + "either", + "I", + "A", + "return", + "However", + "that", + "example", + "yet", + "quickly", + "all", + "if", + "were", + "includes", + "always", + "never", + "not", + "small", + "returns", + "set", + "basic", + "Entered", + "with", + "used", + "shown", + "you", + "know" }; + } +} diff --git a/src/benchmarks/coreclr/Bytemark/StringSort.cs b/src/benchmarks/coreclr/Bytemark/StringSort.cs new file mode 100644 index 00000000000..12238e4447f --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/StringSort.cs @@ -0,0 +1,344 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +/* +** This program was translated to C# and adapted for xunit-performance. +** New variants of several tests were added to compare class versus +** struct and to compare jagged arrays vs multi-dimensional arrays. +*/ + +/* +** BYTEmark (tm) +** BYTE Magazine's Native Mode benchmarks +** Rick Grehan, BYTE Magazine +** +** Create: +** Revision: 3/95 +** +** DISCLAIMER +** The source, executable, and documentation files that comprise +** the BYTEmark benchmarks are made available on an "as is" basis. +** This means that we at BYTE Magazine have made every reasonable +** effort to verify that the there are no errors in the source and +** executable code. We cannot, however, guarantee that the programs +** are error-free. Consequently, McGraw-HIll and BYTE Magazine make +** no claims in regard to the fitness of the source code, executable +** code, and documentation of the BYTEmark. +** +** Furthermore, BYTE Magazine, McGraw-Hill, and all employees +** of McGraw-Hill cannot be held responsible for any damages resulting +** from the use of this code or the results obtained from using +** this code. +** +*/ + +using System; +using System.Text; + +/******************** +** STRING HEAPSORT ** +********************/ + +/***************** +** DoStringSort ** +****************** +** This routine performs the CPU string sort test. +** Arguments: +** requested_secs = # of seconds to execute test +** stringspersec = # of strings per second sorted (RETURNED) +*/ + +internal static class StringOrdinalComparer +{ + public static int Compare(String left, String right) + { + return String.CompareOrdinal(left, right); + } +} + +public class StringSort : StringSortStruct +{ + public override string Name() + { + return "STRING SORT"; + } + public override double Run() + { + string[][] arraybase; /* Base pointers of array */ + long accumtime; /* Accumulated time */ + double iterations; /* Iteration counter */ + + /* + ** See if we need to do self adjustment code. + */ + if (this.adjust == 0) + { + /* + ** Self-adjustment code. The system begins by sorting 1 + ** array. If it does that in no time, then two arrays + ** are built and sorted. This process continues until + ** enough arrays are built to handle the tolerance. + */ + this.numarrays = 1; + while (true) + { + /* + ** Allocate space for arrays + */ + arraybase = new string[this.numarrays][]; + for (int i = 0; i < this.numarrays; i++) + arraybase[i] = new string[this.arraysize]; + + /* + ** Do an iteration of the string sort. If the + ** elapsed time is less than or equal to the permitted + ** minimum, then allocate for more arrays and + ** try again. + */ + if (DoStringSortIteration(arraybase, + this.numarrays, + this.arraysize) > global.min_ticks) + break; /* We're ok...exit */ + + if (this.numarrays++ > global.NUMSTRARRAYS) + { + throw new Exception("CPU:SSORT -- NUMSTRARRAYS hit."); + } + } + } + else + { + /* + ** Allocate space for arrays + */ + arraybase = new string[this.numarrays][]; + for (int i = 0; i < this.numarrays; i++) + arraybase[i] = new string[this.arraysize]; + } + + /* + ** All's well if we get here. Repeatedly perform sorts until the + ** accumulated elapsed time is greater than # of seconds requested. + */ + accumtime = 0L; + iterations = (double)0.0; + + do + { + accumtime += DoStringSortIteration(arraybase, + this.numarrays, + this.arraysize); + iterations += (double)this.numarrays; + } while (ByteMark.TicksToSecs(accumtime) < this.request_secs); + + if (this.adjust == 0) + this.adjust = 1; + + /* + ** Clean up, calculate results, and go home. + ** Set flag to show we don't need to rerun adjustment code. + */ + + return (iterations * (double)this.numarrays / ByteMark.TicksToFracSecs(accumtime)); + } + + /************************** + ** DoStringSortIteration ** + *************************** + ** This routine executes one iteration of the string + ** sort benchmark. It returns the number of ticks + ** Note that this routine also builds the offset pointer + ** array. + */ + + private static int DoStringSortIteration(string[][] arraybase, int numarrays, int arraysize) + { + long elapsed; /* Elapsed ticks */ + int i; + + /* + ** Load up the array(s) with random numbers + */ + LoadStringArray(arraybase, arraysize, numarrays); + + /* + ** Start the stopwatch + */ + elapsed = ByteMark.StartStopwatch(); + + /* + ** Execute heapsorts + */ + for (i = 0; i < numarrays; i++) + { + // StrHeapSort(tempobase,tempsbase,nstrings,0L,nstrings-1); + StrHeapSort(arraybase[i], 0, arraysize - 1); + } + + /* + ** Record elapsed time + */ + elapsed = ByteMark.StopStopwatch(elapsed); + +#if DEBUG + for (i = 0; i < arraysize - 1; i++) + { + /* + ** Compare strings to check for proper + ** sort. + */ + if (StringOrdinalComparer.Compare(arraybase[0][i + 1], arraybase[0][i]) < 0) + { + Console.Write("Error in StringSort! arraybase[0][{0}]='{1}', arraybase[0][{2}]='{3}\n", i, arraybase[0][i], i + 1, arraybase[0][i + 1]); + break; + } + } +#endif + + return ((int)elapsed); + } + + + /******************** + ** LoadStringArray ** + ********************* + ** Initialize the string array with random strings of + ** varying sizes. + ** Returns the pointer to the offset pointer array. + ** Note that since we're creating a number of arrays, this + ** routine builds one array, then copies it into the others. + */ + private static void LoadStringArray(string[][] array, /* String array */ + int arraysize, /* Size of array */ + int numarrays) /* # of arrays */ + { + /* + ** Initialize random number generator. + */ + ByteMark.randnum(13); + + /* + ** Load up the first array with randoms + */ + + int i; + for (i = 0; i < arraysize; i++) + { + int length; + + length = 4 + ByteMark.abs_randwc(76); + array[0][i] = ""; + + /* + ** Fill up the string with random bytes. + */ + StringBuilder builder = new StringBuilder(length); + + int add; + for (add = 0; add < length; add++) + { + char myChar = (char)(ByteMark.abs_randwc(96) + 32); + builder.Append(myChar); + } + array[0][i] = builder.ToString(); + } + + /* + ** We now have initialized a single full array. If there + ** is more than one array, copy the original into the + ** others. + */ + int k; + for (k = 1; k < numarrays; k++) + { + for (i = 0; i < arraysize; i++) + { + array[k][i] = array[0][i]; + } + } + } + + + /**************** + ** strheapsort ** + ***************** + ** Pass this routine a pointer to an array of unsigned char. + ** The array is presumed to hold strings occupying at most + ** 80 bytes (counts a byte count). + ** This routine also needs a pointer to an array of offsets + ** which represent string locations in the array, and + ** an unsigned long indicating the number of strings + ** in the array. + */ + private static void StrHeapSort(string[] array, + int bottom, /* lower bound */ + int top) /* upper bound */ + { + int i; + string temp; + + /* + ** Build a heap in the array + */ + for (i = (top / 2); i > 0; --i) + strsift(array, i, top); + + /* + ** Repeatedly extract maximum from heap and place it at the + ** end of the array. When we get done, we'll have a sorted + ** array. + */ + for (i = top; i > 0; --i) + { + strsift(array, bottom, i); + temp = array[0]; + array[0] = array[i]; /* perform exchange */ + array[i] = temp; + } + return; + } + + + /************ + ** strsift ** + ************* + ** Pass this function: + ** 1) A pointer to an array of offset pointers + ** 2) A pointer to a string array + ** 3) The number of elements in the string array + ** 4) Offset within which to sort. + ** Sift the array within the bounds of those offsets (thus + ** building a heap). + */ + private static void strsift(string[] array, + int i, + int j) + { + int k; + string temp; + + while ((i + i) <= j) + { + k = i + i; + if (k < j) + { + //array[k].CompareTo(array[k+1]); + if (StringOrdinalComparer.Compare(array[k], array[k + 1]) < 0) + ++k; + } + + //if(array[i] global.min_ticks) + break; /* We're ok...exit */ + + this.numarrays++; + } + } + else + { /* + ** Allocate space for arrays + */ + arraybase = new int[this.numarrays][][]; + for (int i = 0; i < this.numarrays; i++) + { + arraybase[i] = new int[global.ASSIGNROWS][]; + for (int j = 0; j < global.ASSIGNROWS; j++) + arraybase[i][j] = new int[global.ASSIGNCOLS]; + } + } + + /* + ** All's well if we get here. Do the tests. + */ + accumtime = 0; + iterations = (double)0.0; + + do + { + accumtime += DoAssignIteration(arraybase, this.numarrays); + iterations += (double)1.0; + } while (ByteMark.TicksToSecs(accumtime) < this.request_secs); + + if (this.adjust == 0) + this.adjust = 1; + + return (iterations * (double)this.numarrays + / ByteMark.TicksToFracSecs(accumtime)); + } + + /********************** + ** DoAssignIteration ** + *********************** + ** This routine executes one iteration of the assignment test. + ** It returns the number of ticks elapsed in the iteration. + */ + private static long DoAssignIteration(int[][][] arraybase, int numarrays) + { + long elapsed; /* Elapsed ticks */ + int i; + + /* + ** Load up the arrays with a random table. + */ + LoadAssignArrayWithRand(arraybase, numarrays); + + /* + ** Start the stopwatch + */ + elapsed = ByteMark.StartStopwatch(); + + /* + ** Execute assignment algorithms + */ + for (i = 0; i < numarrays; i++) + { + Assignment(arraybase[i]); + } + + /* + ** Get elapsed time + */ + return (ByteMark.StopStopwatch(elapsed)); + } + + /**************************** + ** LoadAssignArrayWithRand ** + ***************************** + ** Load the assignment arrays with random numbers. All positive. + ** These numbers represent costs. + */ + private static void LoadAssignArrayWithRand(int[][][] arraybase, int numarrays) + { + int i; + + /* + ** Set up the first array. Then just copy it into the + ** others. + */ + LoadAssign(arraybase[0]); + if (numarrays > 1) + for (i = 1; i < numarrays; i++) + { + CopyToAssign(arraybase[0], arraybase[i]); + } + + return; + } + + /*************** + ** LoadAssign ** + **************** + ** The array given by arraybase is loaded with positive random + ** numbers. Elements in the array are capped at 5,000,000. + */ + private static void LoadAssign(int[][] arraybase) + { + short i, j; + + /* + ** Reset random number generator so things repeat. + */ + ByteMark.randnum(13); + + for (i = 0; i < global.ASSIGNROWS; i++) + for (j = 0; j < global.ASSIGNCOLS; j++) + arraybase[i][j] = ByteMark.abs_randwc(5000000); + return; + } + + /***************** + ** CopyToAssign ** + ****************** + ** Copy the contents of one array to another. This is called by + ** the routine that builds the initial array, and is used to copy + ** the contents of the intial array into all following arrays. + */ + private static void CopyToAssign(int[][] arrayfrom, + int[][] arrayto) + { + short i, j; + + for (i = 0; i < global.ASSIGNROWS; i++) + for (j = 0; j < global.ASSIGNCOLS; j++) + arrayto[i][j] = arrayfrom[i][j]; + + return; + } + + /*************** + ** Assignment ** + ***************/ + private static void Assignment(int[][] arraybase) + { + short[][] assignedtableau = new short[global.ASSIGNROWS][]; + for (int z = 0; z < global.ASSIGNROWS; z++) + assignedtableau[z] = new short[global.ASSIGNCOLS]; + + /* + ** First, calculate minimum costs + */ + calc_minimum_costs(arraybase); + + /* + ** Repeat following until the number of rows selected + ** equals the number of rows in the tableau. + */ + while (first_assignments(arraybase, assignedtableau) != global.ASSIGNROWS) + { + second_assignments(arraybase, assignedtableau); + } + + return; + } + + /*********************** + ** calc_minimum_costs ** + ************************ + ** Revise the tableau by calculating the minimum costs on a + ** row and column basis. These minima are subtracted from + ** their rows and columns, creating a new tableau. + */ + private static void calc_minimum_costs(int[][] tableau) + { + short i, j; /* Index variables */ + int currentmin; /* Current minimum */ + /* + ** Determine minimum costs on row basis. This is done by + ** subtracting -- on a row-per-row basis -- the minum value + ** for that row. + */ + for (i = 0; i < global.ASSIGNROWS; i++) + { + currentmin = global.MAXPOSLONG; /* Initialize minimum */ + for (j = 0; j < global.ASSIGNCOLS; j++) + if (tableau[i][j] < currentmin) + currentmin = tableau[i][j]; + + for (j = 0; j < global.ASSIGNCOLS; j++) + tableau[i][j] -= currentmin; + } + + /* + ** Determine minimum cost on a column basis. This works + ** just as above, only now we step through the array + ** column-wise + */ + for (j = 0; j < global.ASSIGNCOLS; j++) + { + currentmin = global.MAXPOSLONG; /* Initialize minimum */ + for (i = 0; i < global.ASSIGNROWS; i++) + if (tableau[i][j] < currentmin) + currentmin = tableau[i][j]; + + /* + ** Here, we'll take the trouble to see if the current + ** minimum is zero. This is likely worth it, since the + ** preceding loop will have created at least one zero in + ** each row. We can save ourselves a few iterations. + */ + if (currentmin != 0) + for (i = 0; i < global.ASSIGNROWS; i++) + tableau[i][j] -= currentmin; + } + + return; + } + + /********************** + ** first_assignments ** + *********************** + ** Do first assignments. + ** The assignedtableau[] array holds a set of values that + ** indicate the assignment of a value, or its elimination. + ** The values are: + ** 0 = Item is neither assigned nor eliminated. + ** 1 = Item is assigned + ** 2 = Item is eliminated + ** Returns the number of selections made. If this equals + ** the number of rows, then an optimum has been determined. + */ + private static int first_assignments(int[][] tableau, short[][] assignedtableau) + { + short i, j, k; /* Index variables */ + short numassigns; /* # of assignments */ + short totnumassigns; /* Total # of assignments */ + short numzeros; /* # of zeros in row */ + int selected = 0; /* Flag used to indicate selection */ + + /* + ** Clear the assignedtableau, setting all members to show that + ** no one is yet assigned, eliminated, or anything. + */ + for (i = 0; i < global.ASSIGNROWS; i++) + for (j = 0; j < global.ASSIGNCOLS; j++) + assignedtableau[i][j] = 0; + + totnumassigns = 0; + do + { + numassigns = 0; + /* + ** Step through rows. For each one that is not currently + ** assigned, see if the row has only one zero in it. If so, + ** mark that as an assigned row/col. Eliminate other zeros + ** in the same column. + */ + for (i = 0; i < global.ASSIGNROWS; i++) + { + numzeros = 0; + for (j = 0; j < global.ASSIGNCOLS; j++) + if (tableau[i][j] == 0) + if (assignedtableau[i][j] == 0) + { + numzeros++; + selected = j; + } + if (numzeros == 1) + { + numassigns++; + totnumassigns++; + assignedtableau[i][selected] = 1; + for (k = 0; k < global.ASSIGNROWS; k++) + if ((k != i) && + (tableau[k][selected] == 0)) + assignedtableau[k][selected] = 2; + } + } + /* + ** Step through columns, doing same as above. Now, be careful + ** of items in the other rows of a selected column. + */ + for (j = 0; j < global.ASSIGNCOLS; j++) + { + numzeros = 0; + for (i = 0; i < global.ASSIGNROWS; i++) + if (tableau[i][j] == 0) + if (assignedtableau[i][j] == 0) + { + numzeros++; + selected = i; + } + if (numzeros == 1) + { + numassigns++; + totnumassigns++; + assignedtableau[selected][j] = 1; + for (k = 0; k < global.ASSIGNCOLS; k++) + if ((k != j) && + (tableau[selected][k] == 0)) + assignedtableau[selected][k] = 2; + } + } + /* + ** Repeat until no more assignments to be made. + */ + } while (numassigns != 0); + + /* + ** See if we can leave at this point. + */ + if (totnumassigns == global.ASSIGNROWS) return (totnumassigns); + + /* + ** Now step through the array by row. If you find any unassigned + ** zeros, pick the first in the row. Eliminate all zeros from + ** that same row & column. This occurs if there are multiple optima... + ** possibly. + */ + for (i = 0; i < global.ASSIGNROWS; i++) + { + selected = -1; + for (j = 0; j < global.ASSIGNCOLS; j++) + if ((tableau[i][j] == 0) && + (assignedtableau[i][j] == 0)) + { + selected = j; + break; + } + if (selected != -1) + { + assignedtableau[i][selected] = 1; + totnumassigns++; + for (k = 0; k < global.ASSIGNCOLS; k++) + if ((k != selected) && + (tableau[i][k] == 0)) + assignedtableau[i][k] = 2; + for (k = 0; k < global.ASSIGNROWS; k++) + if ((k != i) && + (tableau[k][selected] == 0)) + assignedtableau[k][selected] = 2; + } + } + + return (totnumassigns); + } + + /*********************** + ** second_assignments ** + ************************ + ** This section of the algorithm creates the revised + ** tableau, and is difficult to explain. I suggest you + ** refer to the algorithm's source, mentioned in comments + ** toward the beginning of the program. + */ + private static void second_assignments(int[][] tableau, short[][] assignedtableau) + { + int i, j; /* Indexes */ + short[] linesrow = new short[global.ASSIGNROWS]; + short[] linescol = new short[global.ASSIGNCOLS]; + int smallest; /* Holds smallest value */ + short numassigns; /* Number of assignments */ + short newrows; /* New rows to be considered */ + /* + ** Clear the linesrow and linescol arrays. + */ + for (i = 0; i < global.ASSIGNROWS; i++) + linesrow[i] = 0; + for (i = 0; i < global.ASSIGNCOLS; i++) + linescol[i] = 0; + + /* + ** Scan rows, flag each row that has no assignment in it. + */ + for (i = 0; i < global.ASSIGNROWS; i++) + { + numassigns = 0; + for (j = 0; j < global.ASSIGNCOLS; j++) + if (assignedtableau[i][j] == 1) + { + numassigns++; + break; + } + if (numassigns == 0) linesrow[i] = 1; + } + + do + { + newrows = 0; + /* + ** For each row checked above, scan for any zeros. If found, + ** check the associated column. + */ + for (i = 0; i < global.ASSIGNROWS; i++) + { + if (linesrow[i] == 1) + for (j = 0; j < global.ASSIGNCOLS; j++) + if (tableau[i][j] == 0) + linescol[j] = 1; + } + + /* + ** Now scan checked columns. If any contain assigned zeros, check + ** the associated row. + */ + for (j = 0; j < global.ASSIGNCOLS; j++) + if (linescol[j] == 1) + for (i = 0; i < global.ASSIGNROWS; i++) + if ((assignedtableau[i][j] == 1) && + (linesrow[i] != 1)) + { + linesrow[i] = 1; + newrows++; + } + } while (newrows != 0); + + /* + ** linesrow[n]==0 indicate rows covered by imaginary line + ** linescol[n]==1 indicate cols covered by imaginary line + ** For all cells not covered by imaginary lines, determine smallest + ** value. + */ + smallest = global.MAXPOSLONG; + for (i = 0; i < global.ASSIGNROWS; i++) + if (linesrow[i] != 0) + for (j = 0; j < global.ASSIGNCOLS; j++) + if (linescol[j] != 1) + if (tableau[i][j] < smallest) + smallest = tableau[i][j]; + + /* + ** Subtract smallest from all cells in the above set. + */ + for (i = 0; i < global.ASSIGNROWS; i++) + if (linesrow[i] != 0) + for (j = 0; j < global.ASSIGNCOLS; j++) + if (linescol[j] != 1) + tableau[i][j] -= smallest; + + /* + ** Add smallest to all cells covered by two lines. + */ + for (i = 0; i < global.ASSIGNROWS; i++) + if (linesrow[i] == 0) + for (j = 0; j < global.ASSIGNCOLS; j++) + if (linescol[j] == 1) + tableau[i][j] += smallest; + + return; + } +} diff --git a/src/benchmarks/coreclr/Bytemark/assign_rect.cs b/src/benchmarks/coreclr/Bytemark/assign_rect.cs new file mode 100644 index 00000000000..ac49cddddf7 --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/assign_rect.cs @@ -0,0 +1,541 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +/* +** This program was translated to C# and adapted for xunit-performance. +** New variants of several tests were added to compare class versus +** struct and to compare jagged arrays vs multi-dimensional arrays. +*/ + +/* +** BYTEmark (tm) +** BYTE Magazine's Native Mode benchmarks +** Rick Grehan, BYTE Magazine +** +** Create: +** Revision: 3/95 +** +** DISCLAIMER +** The source, executable, and documentation files that comprise +** the BYTEmark benchmarks are made available on an "as is" basis. +** This means that we at BYTE Magazine have made every reasonable +** effort to verify that the there are no errors in the source and +** executable code. We cannot, however, guarantee that the programs +** are error-free. Consequently, McGraw-HIll and BYTE Magazine make +** no claims in regard to the fitness of the source code, executable +** code, and documentation of the BYTEmark. +** +** Furthermore, BYTE Magazine, McGraw-Hill, and all employees +** of McGraw-Hill cannot be held responsible for any damages resulting +** from the use of this code or the results obtained from using +** this code. +*/ + +/************* +** DoAssign ** +************** +** Perform an assignment algorithm. +** The algorithm was adapted from the step by step guide found +** in "Quantitative Decision Making for Business" (Gordon, +** Pressman, and Cohn; Prentice-Hall) +** +** +** NOTES: +** 1. Even though the algorithm distinguishes between +** ASSIGNROWS and ASSIGNCOLS, as though the two might +** be different, it does presume a square matrix. +** I.E., ASSIGNROWS and ASSIGNCOLS must be the same. +** This makes for some algorithmically-correct but +** probably non-optimal constructs. +** +*/ + +using System; + +public class AssignRect : AssignStruct +{ + public override string Name() + { + return "ASSIGNMENT(rectangle)"; + } + + public override double Run() + { + int[][,] arraybase; + long accumtime; + double iterations; + + /* + ** See if we need to do self adjustment code. + */ + if (this.adjust == 0) + { + /* + ** Self-adjustment code. The system begins by working on 1 + ** array. If it does that in no time, then two arrays + ** are built. This process continues until + ** enough arrays are built to handle the tolerance. + */ + this.numarrays = 1; + while (true) + { + /* + ** Allocate space for arrays + */ + arraybase = new int[this.numarrays][,]; + for (int i = 0; i < this.numarrays; i++) + arraybase[i] = new int[global.ASSIGNROWS, global.ASSIGNCOLS]; + + /* + ** Do an iteration of the assignment alg. If the + ** elapsed time is less than or equal to the permitted + ** minimum, then allocate for more arrays and + ** try again. + */ + if (DoAssignIteration(arraybase, + this.numarrays) > global.min_ticks) + break; /* We're ok...exit */ + + this.numarrays++; + } + } + else + { /* + ** Allocate space for arrays + */ + arraybase = new int[this.numarrays][,]; + for (int i = 0; i < this.numarrays; i++) + arraybase[i] = new int[global.ASSIGNROWS, global.ASSIGNCOLS]; + } + + + /* + ** All's well if we get here. Do the tests. + */ + accumtime = 0; + iterations = (double)0.0; + + do + { + accumtime += DoAssignIteration(arraybase, this.numarrays); + iterations += (double)1.0; + } while (ByteMark.TicksToSecs(accumtime) < this.request_secs); + + if (this.adjust == 0) + this.adjust = 1; + + + + return (iterations * (double)this.numarrays + / ByteMark.TicksToFracSecs(accumtime)); + } + + /********************** + ** DoAssignIteration ** + *********************** + ** This routine executes one iteration of the assignment test. + ** It returns the number of ticks elapsed in the iteration. + */ + private static long DoAssignIteration(int[][,] arraybase, int numarrays) + { + long elapsed; /* Elapsed ticks */ + int i; + + /* + ** Load up the arrays with a random table. + */ + LoadAssignArrayWithRand(arraybase, numarrays); + + /* + ** Start the stopwatch + */ + elapsed = ByteMark.StartStopwatch(); + + /* + ** Execute assignment algorithms + */ + for (i = 0; i < numarrays; i++) + { + Assignment(arraybase[i]); + } + + /* + ** Get elapsed time + */ + return (ByteMark.StopStopwatch(elapsed)); + } + + /**************************** + ** LoadAssignArrayWithRand ** + ***************************** + ** Load the assignment arrays with random numbers. All positive. + ** These numbers represent costs. + */ + private static void LoadAssignArrayWithRand(int[][,] arraybase, int numarrays) + { + int i; + + /* + ** Set up the first array. Then just copy it into the + ** others. + */ + LoadAssign(arraybase[0]); + if (numarrays > 1) + for (i = 1; i < numarrays; i++) + { + CopyToAssign(arraybase[0], arraybase[i]); + } + + return; + } + + /*************** + ** LoadAssign ** + **************** + ** The array given by arraybase is loaded with positive random + ** numbers. Elements in the array are capped at 5,000,000. + */ + private static void LoadAssign(int[,] arraybase) + { + short i, j; + + /* + ** Reset random number generator so things repeat. + */ + ByteMark.randnum(13); + + for (i = 0; i < global.ASSIGNROWS; i++) + for (j = 0; j < global.ASSIGNROWS; j++) + arraybase[i, j] = ByteMark.abs_randwc(5000000); + return; + } + + /***************** + ** CopyToAssign ** + ****************** + ** Copy the contents of one array to another. This is called by + ** the routine that builds the initial array, and is used to copy + ** the contents of the intial array into all following arrays. + */ + private static void CopyToAssign(int[,] arrayfrom, + int[,] arrayto) + { + short i, j; + + for (i = 0; i < global.ASSIGNROWS; i++) + for (j = 0; j < global.ASSIGNCOLS; j++) + arrayto[i, j] = arrayfrom[i, j]; + + return; + } + + /*************** + ** Assignment ** + ***************/ + private static void Assignment(int[,] arraybase) + { + short[,] assignedtableau = new short[global.ASSIGNROWS, global.ASSIGNCOLS]; + + /* + ** First, calculate minimum costs + */ + calc_minimum_costs(arraybase); + + /* + ** Repeat following until the number of rows selected + ** equals the number of rows in the tableau. + */ + while (first_assignments(arraybase, assignedtableau) != global.ASSIGNROWS) + { + second_assignments(arraybase, assignedtableau); + } + + return; + } + + /*********************** + ** calc_minimum_costs ** + ************************ + ** Revise the tableau by calculating the minimum costs on a + ** row and column basis. These minima are subtracted from + ** their rows and columns, creating a new tableau. + */ + private static void calc_minimum_costs(int[,] tableau) + { + short i, j; /* Index variables */ + int currentmin; /* Current minimum */ + /* + ** Determine minimum costs on row basis. This is done by + ** subtracting -- on a row-per-row basis -- the minum value + ** for that row. + */ + for (i = 0; i < global.ASSIGNROWS; i++) + { + currentmin = global.MAXPOSLONG; /* Initialize minimum */ + for (j = 0; j < global.ASSIGNCOLS; j++) + if (tableau[i, j] < currentmin) + currentmin = tableau[i, j]; + + for (j = 0; j < global.ASSIGNCOLS; j++) + tableau[i, j] -= currentmin; + } + + /* + ** Determine minimum cost on a column basis. This works + ** just as above, only now we step through the array + ** column-wise + */ + for (j = 0; j < global.ASSIGNCOLS; j++) + { + currentmin = global.MAXPOSLONG; /* Initialize minimum */ + for (i = 0; i < global.ASSIGNROWS; i++) + if (tableau[i, j] < currentmin) + currentmin = tableau[i, j]; + + /* + ** Here, we'll take the trouble to see if the current + ** minimum is zero. This is likely worth it, since the + ** preceding loop will have created at least one zero in + ** each row. We can save ourselves a few iterations. + */ + if (currentmin != 0) + for (i = 0; i < global.ASSIGNROWS; i++) + tableau[i, j] -= currentmin; + } + + return; + } + + /********************** + ** first_assignments ** + *********************** + ** Do first assignments. + ** The assignedtableau[] array holds a set of values that + ** indicate the assignment of a value, or its elimination. + ** The values are: + ** 0 = Item is neither assigned nor eliminated. + ** 1 = Item is assigned + ** 2 = Item is eliminated + ** Returns the number of selections made. If this equals + ** the number of rows, then an optimum has been determined. + */ + private static int first_assignments(int[,] tableau, short[,] assignedtableau) + { + short i, j, k; /* Index variables */ + short numassigns; /* # of assignments */ + short totnumassigns; /* Total # of assignments */ + short numzeros; /* # of zeros in row */ + int selected = 0; /* Flag used to indicate selection */ + + /* + ** Clear the assignedtableau, setting all members to show that + ** no one is yet assigned, eliminated, or anything. + */ + for (i = 0; i < global.ASSIGNROWS; i++) + for (j = 0; j < global.ASSIGNCOLS; j++) + assignedtableau[i, j] = 0; + + totnumassigns = 0; + do + { + numassigns = 0; + /* + ** Step through rows. For each one that is not currently + ** assigned, see if the row has only one zero in it. If so, + ** mark that as an assigned row/col. Eliminate other zeros + ** in the same column. + */ + for (i = 0; i < global.ASSIGNROWS; i++) + { + numzeros = 0; + for (j = 0; j < global.ASSIGNCOLS; j++) + if (tableau[i, j] == 0) + if (assignedtableau[i, j] == 0) + { + numzeros++; + selected = j; + } + if (numzeros == 1) + { + numassigns++; + totnumassigns++; + assignedtableau[i, selected] = 1; + for (k = 0; k < global.ASSIGNROWS; k++) + if ((k != i) && + (tableau[k, selected] == 0)) + assignedtableau[k, selected] = 2; + } + } + /* + ** Step through columns, doing same as above. Now, be careful + ** of items in the other rows of a selected column. + */ + for (j = 0; j < global.ASSIGNCOLS; j++) + { + numzeros = 0; + for (i = 0; i < global.ASSIGNROWS; i++) + if (tableau[i, j] == 0) + if (assignedtableau[i, j] == 0) + { + numzeros++; + selected = i; + } + if (numzeros == 1) + { + numassigns++; + totnumassigns++; + assignedtableau[selected, j] = 1; + for (k = 0; k < global.ASSIGNCOLS; k++) + if ((k != j) && + (tableau[selected, k] == 0)) + assignedtableau[selected, k] = 2; + } + } + /* + ** Repeat until no more assignments to be made. + */ + } while (numassigns != 0); + + /* + ** See if we can leave at this point. + */ + if (totnumassigns == global.ASSIGNROWS) return (totnumassigns); + + /* + ** Now step through the array by row. If you find any unassigned + ** zeros, pick the first in the row. Eliminate all zeros from + ** that same row & column. This occurs if there are multiple optima... + ** possibly. + */ + for (i = 0; i < global.ASSIGNROWS; i++) + { + selected = -1; + for (j = 0; j < global.ASSIGNCOLS; j++) + if ((tableau[i, j] == 0) && + (assignedtableau[i, j] == 0)) + { + selected = j; + break; + } + if (selected != -1) + { + assignedtableau[i, selected] = 1; + totnumassigns++; + for (k = 0; k < global.ASSIGNCOLS; k++) + if ((k != selected) && + (tableau[i, k] == 0)) + assignedtableau[i, k] = 2; + for (k = 0; k < global.ASSIGNROWS; k++) + if ((k != i) && + (tableau[k, selected] == 0)) + assignedtableau[k, selected] = 2; + } + } + + return (totnumassigns); + } + + /*********************** + ** second_assignments ** + ************************ + ** This section of the algorithm creates the revised + ** tableau, and is difficult to explain. I suggest you + ** refer to the algorithm's source, mentioned in comments + ** toward the beginning of the program. + */ + private static void second_assignments(int[,] tableau, short[,] assignedtableau) + { + int i, j; /* Indexes */ + short[] linesrow = new short[global.ASSIGNROWS]; + short[] linescol = new short[global.ASSIGNCOLS]; + int smallest; /* Holds smallest value */ + short numassigns; /* Number of assignments */ + short newrows; /* New rows to be considered */ + /* + ** Clear the linesrow and linescol arrays. + */ + for (i = 0; i < global.ASSIGNROWS; i++) + linesrow[i] = 0; + for (i = 0; i < global.ASSIGNCOLS; i++) + linescol[i] = 0; + + /* + ** Scan rows, flag each row that has no assignment in it. + */ + for (i = 0; i < global.ASSIGNROWS; i++) + { + numassigns = 0; + for (j = 0; j < global.ASSIGNCOLS; j++) + if (assignedtableau[i, j] == 1) + { + numassigns++; + break; + } + if (numassigns == 0) linesrow[i] = 1; + } + + do + { + newrows = 0; + /* + ** For each row checked above, scan for any zeros. If found, + ** check the associated column. + */ + for (i = 0; i < global.ASSIGNROWS; i++) + { + if (linesrow[i] == 1) + for (j = 0; j < global.ASSIGNCOLS; j++) + if (tableau[i, j] == 0) + linescol[j] = 1; + } + + /* + ** Now scan checked columns. If any contain assigned zeros, check + ** the associated row. + */ + for (j = 0; j < global.ASSIGNCOLS; j++) + if (linescol[j] == 1) + for (i = 0; i < global.ASSIGNROWS; i++) + if ((assignedtableau[i, j] == 1) && + (linesrow[i] != 1)) + { + linesrow[i] = 1; + newrows++; + } + } while (newrows != 0); + + /* + ** linesrow[n]==0 indicate rows covered by imaginary line + ** linescol[n]==1 indicate cols covered by imaginary line + ** For all cells not covered by imaginary lines, determine smallest + ** value. + */ + smallest = global.MAXPOSLONG; + for (i = 0; i < global.ASSIGNROWS; i++) + if (linesrow[i] != 0) + for (j = 0; j < global.ASSIGNCOLS; j++) + if (linescol[j] != 1) + if (tableau[i, j] < smallest) + smallest = tableau[i, j]; + + /* + ** Subtract smallest from all cells in the above set. + */ + for (i = 0; i < global.ASSIGNROWS; i++) + if (linesrow[i] != 0) + for (j = 0; j < global.ASSIGNCOLS; j++) + if (linescol[j] != 1) + tableau[i, j] -= smallest; + + /* + ** Add smallest to all cells covered by two lines. + */ + for (i = 0; i < global.ASSIGNROWS; i++) + if (linesrow[i] == 0) + for (j = 0; j < global.ASSIGNCOLS; j++) + if (linescol[j] == 1) + tableau[i, j] += smallest; + + return; + } +} diff --git a/src/benchmarks/coreclr/Bytemark/bitops.cs b/src/benchmarks/coreclr/Bytemark/bitops.cs new file mode 100644 index 00000000000..41a006f2fcb --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/bitops.cs @@ -0,0 +1,275 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +/* +** This program was translated to C# and adapted for xunit-performance. +** New variants of several tests were added to compare class versus +** struct and to compare jagged arrays vs multi-dimensional arrays. +*/ + +/* +** BYTEmark (tm) +** BYTE Magazine's Native Mode benchmarks +** Rick Grehan, BYTE Magazine +** +** Create: +** Revision: 3/95 +** +** DISCLAIMER +** The source, executable, and documentation files that comprise +** the BYTEmark benchmarks are made available on an "as is" basis. +** This means that we at BYTE Magazine have made every reasonable +** effort to verify that the there are no errors in the source and +** executable code. We cannot, however, guarantee that the programs +** are error-free. Consequently, McGraw-HIll and BYTE Magazine make +** no claims in regard to the fitness of the source code, executable +** code, and documentation of the BYTEmark. +** +** Furthermore, BYTE Magazine, McGraw-Hill, and all employees +** of McGraw-Hill cannot be held responsible for any damages resulting +** from the use of this code or the results obtained from using +** this code. +*/ + +/************************ +** BITFIELD OPERATIONS ** +*************************/ + +/************* +** DoBitops ** +************** +** Perform the bit operations test portion of the CPU +** benchmark. Returns the iterations per second. +*/ + +using System; + +public class BitOps : BitOpStruct +{ + public override string Name() + { + return "BITFIELD"; + } + + public override double Run() + { + int[] bitarraybase; /* Base of bitmap array */ + int[] bitoparraybase; /* Base of bitmap operations array */ + int nbitops = 0; /* # of bitfield operations */ + long accumtime; /* Accumulated time in ticks */ + double iterations; /* # of iterations */ + + /* + ** See if we need to run adjustment code. + */ + if (this.adjust == 0) + { + bitarraybase = new int[this.bitfieldarraysize]; + + /* + ** Initialize bitfield operations array to [2,30] elements + */ + this.bitoparraysize = 30; + + while (true) + { + /* + ** Allocate space for operations array + */ + bitoparraybase = new int[this.bitoparraysize * 2]; + + /* + ** Do an iteration of the bitmap test. If the + ** elapsed time is less than or equal to the permitted + ** minimum, then de-allocate the array, reallocate a + ** larger version, and try again. + */ + if (DoBitfieldIteration(bitarraybase, + bitoparraybase, + this.bitoparraysize, + ref nbitops) > global.min_ticks) + break; /* We're ok...exit */ + + this.bitoparraysize += 100; + } + } + else + { + /* + ** Don't need to do self adjustment, just allocate + ** the array space. + */ + bitarraybase = new int[this.bitfieldarraysize]; + bitoparraybase = new int[this.bitoparraysize * 2]; + } + + /* + ** All's well if we get here. Repeatedly perform bitops until the + ** accumulated elapsed time is greater than # of seconds requested. + */ + accumtime = 0; + iterations = (double)0.0; + + do + { + accumtime += DoBitfieldIteration(bitarraybase, + bitoparraybase, + this.bitoparraysize, + ref nbitops); + iterations += (double)nbitops; + } while (ByteMark.TicksToSecs(accumtime) < this.request_secs); + + /* + ** Clean up, calculate results, and go home. + ** Also, set adjustment flag to show that we don't have + ** to do self adjusting in the future. + */ + if (this.adjust == 0) + this.adjust = 1; + + return (iterations / ByteMark.TicksToFracSecs(accumtime)); + } + + /************************ + ** DoBitfieldIteration ** + ************************* + ** Perform a single iteration of the bitfield benchmark. + ** Return the # of ticks accumulated by the operation. + */ + private static long DoBitfieldIteration(int[] bitarraybase, + int[] bitoparraybase, + int bitoparraysize, + ref int nbitops) + { + int i; /* Index */ + int bitoffset; /* Offset into bitmap */ + long elapsed; /* Time to execute */ + + /* + ** Clear # bitops counter + */ + nbitops = 0; + + /* + ** Construct a set of bitmap offsets and run lengths. + ** The offset can be any random number from 0 to the + ** size of the bitmap (in bits). The run length can + ** be any random number from 1 to the number of bits + ** between the offset and the end of the bitmap. + ** Note that the bitmap has 8192 * 32 bits in it. + ** (262,144 bits) + */ + for (i = 0; i < bitoparraysize; i++) + { + /* First item is offset */ + bitoparraybase[i + i] = bitoffset = ByteMark.abs_randwc(262140); + + /* Next item is run length */ + nbitops += bitoparraybase[i + i + 1] = ByteMark.abs_randwc(262140 - bitoffset); + } + + /* + ** Array of offset and lengths built...do an iteration of + ** the test. + ** Start the stopwatch. + */ + elapsed = ByteMark.StartStopwatch(); + + /* + ** Loop through array off offset/run length pairs. + ** Execute operation based on modulus of index. + */ + for (i = 0; i < bitoparraysize; i++) + { + switch (i % 3) + { + case 0: /* Set run of bits */ + ToggleBitRun(bitarraybase, + bitoparraybase[i + i], + bitoparraybase[i + i + 1], + 1); + break; + + case 1: /* Clear run of bits */ + ToggleBitRun(bitarraybase, + bitoparraybase[i + i], + bitoparraybase[i + i + 1], + 0); + break; + + case 2: /* Complement run of bits */ + FlipBitRun(bitarraybase, + bitoparraybase[i + i], + bitoparraybase[i + i + 1]); + break; + } + } + + /* + ** Return elapsed time + */ + return (ByteMark.StopStopwatch(elapsed)); + } + + + /***************************** + ** ToggleBitRun * + ****************************** + ** Set or clear a run of nbits starting at + ** bit_addr in bitmap. + */ + private static void ToggleBitRun(int[] bitmap, /* Bitmap */ + int bit_addr, /* Address of bits to set */ + int nbits, /* # of bits to set/clr */ + int val) /* 1 or 0 */ + { + int bindex; /* Index into array */ + int bitnumb; /* Bit number */ + + while (nbits-- > 0) + { +#if LONG64 + bindex=bit_addr>>>6; /* Index is number /64 */ + bindex=bit_addr % 64; /* Bit number in word */ +#else + bindex = (int)((uint)bit_addr) >> 5; /* Index is number /32 */ + bitnumb = bit_addr % 32; /* bit number in word */ +#endif + + if (val != 0) + bitmap[bindex] |= (1 << bitnumb); + else + bitmap[bindex] &= ~(1 << bitnumb); + bit_addr++; + } + return; + } + + /*************** + ** FlipBitRun ** + **************** + ** Complements a run of bits. + */ + private static void FlipBitRun(int[] bitmap, /* Bit map */ + int bit_addr, /* Bit address */ + int nbits) /* # of bits to flip */ + { + int bindex; /* Index into array */ + int bitnumb; /* Bit number */ + + while (nbits-- > 0) + { +#if LONG64 + bindex=bit_addr>>6; /* Index is number /64 */ + bitnumb=bit_addr % 32; /* Bit number in longword */ +#else + bindex = bit_addr >> 5; /* Index is number /32 */ + bitnumb = bit_addr % 32; /* Bit number in longword */ +#endif + bitmap[bindex] ^= (1 << bitnumb); + bit_addr++; + } + + return; + } +} diff --git a/src/benchmarks/coreclr/Bytemark/commands/assignjagged.dat b/src/benchmarks/coreclr/Bytemark/commands/assignjagged.dat new file mode 100644 index 00000000000..52537e4558e --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/commands/assignjagged.dat @@ -0,0 +1,2 @@ +CUSTOMRUN=T +DOASSIGNJAGGED=T diff --git a/src/benchmarks/coreclr/Bytemark/commands/assignrect.dat b/src/benchmarks/coreclr/Bytemark/commands/assignrect.dat new file mode 100644 index 00000000000..67ef9884207 --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/commands/assignrect.dat @@ -0,0 +1,2 @@ +CUSTOMRUN=T +DOASSIGNRECT=T diff --git a/src/benchmarks/coreclr/Bytemark/commands/bitfield.dat b/src/benchmarks/coreclr/Bytemark/commands/bitfield.dat new file mode 100644 index 00000000000..1577f86bfb4 --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/commands/bitfield.dat @@ -0,0 +1,2 @@ +CUSTOMRUN=T +DOBITFIELD=T diff --git a/src/benchmarks/coreclr/Bytemark/commands/emfclass.dat b/src/benchmarks/coreclr/Bytemark/commands/emfclass.dat new file mode 100644 index 00000000000..421f4a44a53 --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/commands/emfclass.dat @@ -0,0 +1,2 @@ +CUSTOMRUN=T +DOEMFCLASS=T diff --git a/src/benchmarks/coreclr/Bytemark/commands/emfstruct.dat b/src/benchmarks/coreclr/Bytemark/commands/emfstruct.dat new file mode 100644 index 00000000000..aca1caf27d6 --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/commands/emfstruct.dat @@ -0,0 +1,2 @@ +CUSTOMRUN=T +DOEMFSTRUCT=T diff --git a/src/benchmarks/coreclr/Bytemark/commands/four.dat b/src/benchmarks/coreclr/Bytemark/commands/four.dat new file mode 100644 index 00000000000..6c7a13376b0 --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/commands/four.dat @@ -0,0 +1,2 @@ +CUSTOMRUN=T +DOFOUR=T diff --git a/src/benchmarks/coreclr/Bytemark/commands/huff.dat b/src/benchmarks/coreclr/Bytemark/commands/huff.dat new file mode 100644 index 00000000000..d498cc008f8 --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/commands/huff.dat @@ -0,0 +1,2 @@ +CUSTOMRUN=T +DOHUFF=T diff --git a/src/benchmarks/coreclr/Bytemark/commands/idea.dat b/src/benchmarks/coreclr/Bytemark/commands/idea.dat new file mode 100644 index 00000000000..f19f9ee28bf --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/commands/idea.dat @@ -0,0 +1,2 @@ +CUSTOMRUN=T +DOIDEA=T diff --git a/src/benchmarks/coreclr/Bytemark/commands/lu.dat b/src/benchmarks/coreclr/Bytemark/commands/lu.dat new file mode 100644 index 00000000000..73d3b730c52 --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/commands/lu.dat @@ -0,0 +1,2 @@ +CUSTOMRUN=T +DOLU=T diff --git a/src/benchmarks/coreclr/Bytemark/commands/nnetjagged.dat b/src/benchmarks/coreclr/Bytemark/commands/nnetjagged.dat new file mode 100644 index 00000000000..d7c2baab280 --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/commands/nnetjagged.dat @@ -0,0 +1,2 @@ +CUSTOMRUN=T +DONNETJAGGED=T diff --git a/src/benchmarks/coreclr/Bytemark/commands/nnetrect.dat b/src/benchmarks/coreclr/Bytemark/commands/nnetrect.dat new file mode 100644 index 00000000000..5c74684b239 --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/commands/nnetrect.dat @@ -0,0 +1,2 @@ +CUSTOMRUN=T +DONNETRECT=T diff --git a/src/benchmarks/coreclr/Bytemark/commands/numsortjagged.dat b/src/benchmarks/coreclr/Bytemark/commands/numsortjagged.dat new file mode 100644 index 00000000000..3ce1748daf4 --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/commands/numsortjagged.dat @@ -0,0 +1,2 @@ +CUSTOMRUN=T +DONUMSORTJAGGED=T diff --git a/src/benchmarks/coreclr/Bytemark/commands/numsortrect.dat b/src/benchmarks/coreclr/Bytemark/commands/numsortrect.dat new file mode 100644 index 00000000000..035f90c9f1b --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/commands/numsortrect.dat @@ -0,0 +1,2 @@ +CUSTOMRUN=T +DONUMSORTRECT=T diff --git a/src/benchmarks/coreclr/Bytemark/commands/stringsort.dat b/src/benchmarks/coreclr/Bytemark/commands/stringsort.dat new file mode 100644 index 00000000000..74b0a2fc2fa --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/commands/stringsort.dat @@ -0,0 +1,2 @@ +CUSTOMRUN=T +DOSTRINGSORT=T diff --git a/src/benchmarks/coreclr/Bytemark/emfloat.cs b/src/benchmarks/coreclr/Bytemark/emfloat.cs new file mode 100644 index 00000000000..1fba85cef89 --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/emfloat.cs @@ -0,0 +1,1573 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +/* +** This program was translated to C# and adapted for xunit-performance. +** New variants of several tests were added to compare class versus +** struct and to compare jagged arrays vs multi-dimensional arrays. +*/ + +/* +** BYTEmark (tm) +** BYTE Magazine's Native Mode benchmarks +** Rick Grehan, BYTE Magazine +** +** Create: +** Revision: 3/95 +** +** DISCLAIMER +** The source, executable, and documentation files that comprise +** the BYTEmark benchmarks are made available on an "as is" basis. +** This means that we at BYTE Magazine have made every reasonable +** effort to verify that the there are no errors in the source and +** executable code. We cannot, however, guarantee that the programs +** are error-free. Consequently, McGraw-HIll and BYTE Magazine make +** no claims in regard to the fitness of the source code, executable +** code, and documentation of the BYTEmark. +** +** Furthermore, BYTE Magazine, McGraw-Hill, and all employees +** of McGraw-Hill cannot be held responsible for any damages resulting +** from the use of this code or the results obtained from using +** this code. +*/ + +using System; + +/* +** DEFINES +*/ +public class EMFloat : EmFloatStruct +{ + public override string Name() + { + return "FP EMULATION(struct)"; + } + + private const int MAX_EXP = 32767; + private const int MIN_EXP = (-32767); + + private enum IFPF : byte + { + IFPF_IS_ZERO = 0, + IFPF_IS_SUBNORMAL = 1, + IFPF_IS_NORMAL = 2, + IFPF_IS_INFINITY = 3, + IFPF_IS_NAN = 4, + IFPF_TYPE_COUNT = 5, + }; + + private enum STATE + { + ZERO_ZERO = 0, + ZERO_SUBNORMAL = 1, + ZERO_NORMAL = 2, + ZERO_INFINITY = 3, + ZERO_NAN = 4, + + SUBNORMAL_ZERO = 5, + SUBNORMAL_SUBNORMAL = 6, + SUBNORMAL_NORMAL = 7, + SUBNORMAL_INFINITY = 8, + SUBNORMAL_NAN = 9, + + NORMAL_ZERO = 10, + NORMAL_SUBNORMAL = 11, + NORMAL_NORMAL = 12, + NORMAL_INFINITY = 13, + NORMAL_NAN = 14, + + INFINITY_ZERO = 15, + INFINITY_SUBNORMAL = 16, + INFINITY_NORMAL = 17, + INFINITY_INFINITY = 18, + INFINITY_NAN = 19, + + NAN_ZERO = 20, + NAN_SUBNORMAL = 21, + NAN_NORMAL = 22, + NAN_INFINITY = 23, + NAN_NAN = 24, + }; + + private enum OPERAND + { + OPERAND_ZERO = 0, + OPERAND_SUBNORMAL = 1, + OPERAND_NORMAL = 2, + OPERAND_INFINITY = 3, + OPERAND_NAN = 4, + }; + + /* + ** Following was already defined in NMGLOBAL.H + ** + */ + private const int INTERNAL_FPF_PRECISION = 4; + + /* + ** TYPEDEFS + */ + + private struct InternalFPF + { + public InternalFPF(int len) + { + type = IFPF.IFPF_IS_ZERO; sign = (byte)0; + exp = (short)0; mantissa = new char[len]; + } + + public IFPF type; /* Indicates, NORMAL, SUBNORMAL, etc. */ + public byte sign; /* Mantissa sign */ + public short exp; /* Signed exponent...no bias */ + public char[] mantissa; // [INTERNAL_FPF_PRECISION] + }; + + + /* + ** emfloat.c + ** Source for emulated floating-point routines. + ** BYTEmark (tm) + ** BYTE's Native Mode Benchmarks + ** Rick Grehan, BYTE Magazine. + ** + ** Created: + ** Last update: 3/95 + ** + ** DISCLAIMER + ** The source, executable, and documentation files that comprise + ** the BYTEmark benchmarks are made available on an "as is" basis. + ** This means that we at BYTE Magazine have made every reasonable + ** effort to verify that the there are no errors in the source and + ** executable code. We cannot, however, guarantee that the programs + ** are error-free. Consequently, McGraw-HIll and BYTE Magazine make + ** no claims in regard to the fitness of the source code, executable + ** code, and documentation of the BYTEmark. + ** Furthermore, BYTE Magazine, McGraw-Hill, and all employees + ** of McGraw-Hill cannot be held responsible for any damages resulting + ** from the use of this code or the results obtained from using + ** this code. + */ + + /* + ** Floating-point emulator. + ** These routines are only "sort of" IEEE-compliant. All work is + ** done using an internal representation. Also, the routines do + ** not check for many of the exceptions that might occur. + ** Still, the external formats produced are IEEE-compatible, + ** with the restriction that they presume a low-endian machine + ** (though the endianism will not effect the performance). + ** + ** Some code here was based on work done by Steve Snelgrove of + ** Orem, UT. Other code comes from routines presented in + ** the long-ago book: "Microprocessor Programming for + ** Computer Hobbyists" by Neill Graham. + */ + + /***************************** + ** FLOATING-POINT EMULATION ** + *****************************/ + + /************** + ** DoEmFloat ** + *************** + ** Perform the floating-point emulation routines portion of the + ** CPU benchmark. Returns the operations per second. + */ + public override double Run() + { + InternalFPF[] abase; /* Base of A array */ + InternalFPF[] bbase; /* Base of B array */ + InternalFPF[] cbase; /* Base of C array */ + long accumtime; /* Accumulated time in ticks */ + double iterations; /* # of iterations */ + long tickcount; /* # of ticks */ + int loops; /* # of loops */ + + /* + ** Test the emulation routines. + */ + + abase = new InternalFPF[this.arraysize]; + bbase = new InternalFPF[this.arraysize]; + cbase = new InternalFPF[this.arraysize]; + + + for (int i = 0; i < this.arraysize; i++) + { + abase[i] = new InternalFPF(INTERNAL_FPF_PRECISION); + bbase[i] = new InternalFPF(INTERNAL_FPF_PRECISION); + cbase[i] = new InternalFPF(INTERNAL_FPF_PRECISION); + } + + + /* + for (int i = 0; i < this.arraysize; i++) + { + abase[i].type = IFPF.IFPF_IS_ZERO; + abase[i].sign = (byte)0; + abase[i].exp = (short)0; + abase[i].mantissa = new char[INTERNAL_FPF_PRECISION]; + + bbase[i].type = IFPF.IFPF_IS_ZERO; + bbase[i].sign = (byte)0; + bbase[i].exp = (short)0; + bbase[i].mantissa = new char[INTERNAL_FPF_PRECISION]; + + cbase[i].type = IFPF.IFPF_IS_ZERO; + cbase[i].sign = (byte)0; + cbase[i].exp = (short)0; + cbase[i].mantissa = new char[INTERNAL_FPF_PRECISION]; + } + */ + + + /* + ** Set up the arrays + */ + SetupCPUEmFloatArrays(abase, bbase, cbase, this.arraysize); + + /* + ** See if we need to do self-adjusting code. + */ + if (this.adjust == 0) + { + this.loops = 0; + + /* + ** Do an iteration of the tests. If the elapsed time is + ** less than minimum, increase the loop count and try + ** again. + */ + for (loops = 1; loops < global.CPUEMFLOATLOOPMAX; loops += loops) + { + tickcount = DoEmFloatIteration(abase, bbase, cbase, + this.arraysize, + loops); + if (tickcount > global.min_ticks) + { + this.loops = loops; + break; + } + } + } + + /* + ** Verify that selft adjustment code worked. + */ + if (this.loops == 0) + { + throw new Exception("CPU:EMFPU -- CMPUEMFLOATLOOPMAX limit hit\n"); + } + + /* + ** All's well if we get here. Repeatedly perform floating + ** tests until the accumulated time is greater than the + ** # of seconds requested. + ** Each iteration performs arraysize * 3 operations. + */ + accumtime = 0L; + iterations = (double)0.0; + do + { + accumtime += DoEmFloatIteration(abase, bbase, cbase, + this.arraysize, + this.loops); + iterations += (double)1.0; + } while (ByteMark.TicksToSecs(accumtime) < this.request_secs); + + /* + ** Clean up, calculate results, and go home. + ** Also, indicate that adjustment is done. + */ + + if (this.adjust == 0) + this.adjust = 1; + double emflops = (iterations * (double)this.loops) / + (double)ByteMark.TicksToFracSecs(accumtime); + + return (emflops); + } + + + + + + /************************** + ** SetupCPUEmFloatArrays ** + *************************** + ** Set up the arrays that will be used in the emulated + ** floating-point tests. + ** This is done by loading abase and bbase elements with + ** random numbers. We use our long-to-floating point + ** routine to set them up. + ** NOTE: We really don't need the pointer to cbase...cbase + ** is overwritten in the benchmark. + */ + private static + void SetupCPUEmFloatArrays(InternalFPF[] abase, + InternalFPF[] bbase, + InternalFPF[] cbase, + int arraysize) + { + int i; + InternalFPF locFPF1, locFPF2; + locFPF1 = new InternalFPF(INTERNAL_FPF_PRECISION); + locFPF2 = new InternalFPF(INTERNAL_FPF_PRECISION); + + for (i = 0; i < arraysize; i++) + { + LongToInternalFPF(ByteMark.randwc(50000), ref locFPF1); + LongToInternalFPF(ByteMark.randwc(50000) + 1, ref locFPF2); + DivideInternalFPF(ref locFPF1, ref locFPF2, ref abase[i]); + LongToInternalFPF(ByteMark.randwc(50000) + 1, ref locFPF2); + DivideInternalFPF(ref locFPF1, ref locFPF2, ref bbase[i]); + } + return; + } + + /*********************** + ** DoEmFloatIteration ** + ************************ + ** Perform an iteration of the emulated floating-point + ** benchmark. Note that "an iteration" can involve multiple + ** loops through the benchmark. + */ + private static + long DoEmFloatIteration(InternalFPF[] abase, + InternalFPF[] bbase, + InternalFPF[] cbase, + int arraysize, int loops) + { + long elapsed; /* For the stopwatch */ + byte[] jtable = new byte[] { 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3 }; + int i; + + /* + ** Begin timing + */ + elapsed = ByteMark.StartStopwatch(); + + /* + ** Each pass through the array performs operations in + ** the followingratios: + ** 4 adds, 4 subtracts, 5 multiplies, 3 divides + ** (adds and subtracts being nearly the same operation) + */ + while (loops-- > 0) + { + for (i = 0; i < arraysize; i++) + switch (jtable[i % 16]) + { + case 0: /* Add */ + AddSubInternalFPF(0, ref abase[i], + ref bbase[i], + ref cbase[i]); + break; + case 1: /* Subtract */ + AddSubInternalFPF(1, ref abase[i], + ref bbase[i], + ref cbase[i]); + break; + case 2: /* Multiply */ + MultiplyInternalFPF(ref abase[i], + ref bbase[i], + ref cbase[i]); + break; + case 3: /* Divide */ + DivideInternalFPF(ref abase[i], + ref bbase[i], + ref cbase[i]); + break; + } + } + + return (ByteMark.StopStopwatch(elapsed)); + } + + /*********************** + ** SetInternalFPFZero ** + ************************ + ** Set an internal floating-point-format number to zero. + ** sign determines the sign of the zero. + */ + private static void SetInternalFPFZero(ref InternalFPF dest, + byte sign) + { + int i; /* Index */ + + dest.type = IFPF.IFPF_IS_ZERO; + dest.sign = sign; + dest.exp = MIN_EXP; + + for (i = 0; i < INTERNAL_FPF_PRECISION; i++) + dest.mantissa[i] = (char)0; + return; + } + + /*************************** + ** SetInternalFPFInfinity ** + **************************** + ** Set an internal floating-point-format number to infinity. + ** This can happen if the exponent exceeds MAX_EXP. + ** As above, sign picks the sign of infinity. + */ + private static void SetInternalFPFInfinity(ref InternalFPF dest, + byte sign) + { + int i; /* Index */ + + dest.type = IFPF.IFPF_IS_INFINITY; + dest.sign = sign; + dest.exp = MIN_EXP; + + for (i = 0; i < INTERNAL_FPF_PRECISION; i++) + dest.mantissa[i] = (char)0; + return; + } + + /********************** + ** SetInternalFPFNaN ** + *********************** + ** Set an internal floating-point-format number to Nan + ** (not a number). Note that we "emulate" an 80x87 as far + ** as the mantissa bits go. + */ + private static void SetInternalFPFNaN(ref InternalFPF dest) + { + int i; /* Index */ + + dest.type = IFPF.IFPF_IS_NAN; + dest.exp = MAX_EXP; + dest.sign = 1; + + dest.mantissa[0] = (char)0x4000; + for (i = 1; i < INTERNAL_FPF_PRECISION; i++) + dest.mantissa[i] = (char)0; + + return; + } + + /******************* + ** IsMantissaZero ** + ******************** + ** Pass this routine a pointer to an internal floating point format + ** number's mantissa. It checks for an all-zero mantissa. + ** Returns 0 if it is NOT all zeros, !=0 otherwise. + */ + private static bool IsMantissaZero(char[] mant) + { + int i; /* Index */ + int n; /* Return value */ + + n = 0; + for (i = 0; i < INTERNAL_FPF_PRECISION; i++) + n |= mant[i]; + + return (n == 0); + } + + /************** + ** Add16Bits ** + *************** + ** Add b, c, and carry. Retult in a. New carry in carry. + */ + private static void Add16Bits(ref char carry, + out char a, + char b, + char c) + { + int accum; /* Accumulator */ + + /* + ** Do the work in the 32-bit accumulator so we can return + ** the carry. + */ + accum = b; + accum += c; + accum += carry; + carry = (char)(((accum & 0x00010000) != 0) ? 1 : 0); /* New carry */ + a = (char)(accum & 0xFFFF); /* Result is lo 16 bits */ + return; + } + + /************** + ** Sub16Bits ** + *************** + ** Additive inverse of above. + */ + private static void Sub16Bits(ref char borrow, + out char a, + char b, + char c) + { + int accum; /* Accumulator */ + + accum = b; + accum -= c; + accum -= borrow; + borrow = (char)(((accum & 0x00010000) != 0) ? 1 : 0); /* New borrow */ + a = (char)(accum & 0xFFFF); + return; + } + + /******************* + ** ShiftMantLeft1 ** + ******************** + ** Shift a vector of 16-bit numbers left 1 bit. Also provides + ** a carry bit, which is shifted in at the beginning, and + ** shifted out at the end. + */ + private static void ShiftMantLeft1(ref char carry, + char[] mantissa) + { + int i; /* Index */ + int new_carry; + char accum; /* Temporary holding placed */ + + for (i = INTERNAL_FPF_PRECISION - 1; i >= 0; i--) + { + accum = mantissa[i]; + new_carry = accum & 0x8000; /* Get new carry */ + accum = unchecked((char)(accum << 1)); /* Do the shift */ + if (carry != 0) + accum |= (char)1; /* Insert previous carry */ + carry = (char)new_carry; + mantissa[i] = accum; /* Return shifted value */ + } + return; + } + + /******************** + ** ShiftMantRight1 ** + ********************* + ** Shift a mantissa right by 1 bit. Provides carry, as + ** above + */ + private static void ShiftMantRight1(ref char carry, + char[] mantissa) + { + int i; /* Index */ + int new_carry; + char accum; + + for (i = 0; i < INTERNAL_FPF_PRECISION; i++) + { + accum = mantissa[i]; + new_carry = accum & 1; /* Get new carry */ + accum = (char)(accum >> 1); + if (carry != 0) + accum |= (char)0x8000; + carry = (char)new_carry; + mantissa[i] = accum; + } + return; + } + + + /***************************** + ** StickyShiftMantRight ** + ****************************** + ** This is a shift right of the mantissa with a "sticky bit". + ** I.E., if a carry of 1 is shifted out of the least significant + ** bit, the least significant bit is set to 1. + */ + private static void StickyShiftRightMant(ref InternalFPF ptr, + int amount) + { + int i; /* Index */ + char carry; /* Self-explanatory */ + + if (ptr.type != IFPF.IFPF_IS_ZERO) /* Don't bother shifting a zero */ + { + /* + ** If the amount of shifting will shift everyting + ** out of existence, then just clear the whole mantissa + ** and set the lowmost bit to 1. + */ + if (amount >= INTERNAL_FPF_PRECISION * 16) + { + for (i = 0; i < INTERNAL_FPF_PRECISION - 1; i++) + ptr.mantissa[i] = (char)0; + ptr.mantissa[INTERNAL_FPF_PRECISION - 1] = (char)1; + } + else + for (i = 0; i < amount; i++) + { + carry = (char)0; + ShiftMantRight1(ref carry, ptr.mantissa); + if (carry != 0) + ptr.mantissa[INTERNAL_FPF_PRECISION - 1] |= (char)1; + } + } + return; + } + + + /************************************************** + ** POST ARITHMETIC PROCESSING ** + ** (NORMALIZE, ROUND, OVERFLOW, AND UNDERFLOW) ** + **************************************************/ + + /************** + ** normalize ** + *************** + ** Normalize an internal-representation number. Normalization + ** discards empty most-significant bits. + */ + private static void normalize(ref InternalFPF ptr) + { + char carry; + + /* + ** As long as there's a highmost 0 bit, shift the significand + ** left 1 bit. Each time you do this, though, you've + ** gotta decrement the exponent. + */ + while ((ptr.mantissa[0] & 0x8000) == 0) + { + carry = (char)0; + ShiftMantLeft1(ref carry, ptr.mantissa); + ptr.exp--; + } + return; + } + + /**************** + ** denormalize ** + ***************** + ** Denormalize an internal-representation number. This means + ** shifting it right until its exponent is equivalent to + ** minimum_exponent. (You have to do this often in order + ** to perform additions and subtractions). + */ + private static void denormalize(ref InternalFPF ptr, + int minimum_exponent) + { + int exponent_difference; + + if (IsMantissaZero(ptr.mantissa)) + { + throw new Exception("Error: zero significand in denormalize"); + } + + exponent_difference = ptr.exp - minimum_exponent; + if (exponent_difference < 0) + { + /* + ** The number is subnormal + */ + exponent_difference = -exponent_difference; + if (exponent_difference >= (INTERNAL_FPF_PRECISION * 16)) + { + /* Underflow */ + SetInternalFPFZero(ref ptr, ptr.sign); + } + else + { + ptr.exp += (short)exponent_difference; + StickyShiftRightMant(ref ptr, exponent_difference); + } + } + return; + } + + + /********************* + ** RoundInternalFPF ** + ********************** + ** Round an internal-representation number. + ** The kind of rounding we do here is simplest...referred to as + ** "chop". "Extraneous" rightmost bits are simply hacked off. + */ + private static + void RoundInternalFPF(ref InternalFPF ptr) + { + /* int i; */ + + if (ptr.type == IFPF.IFPF_IS_NORMAL || + ptr.type == IFPF.IFPF_IS_SUBNORMAL) + { + denormalize(ref ptr, MIN_EXP); + if (ptr.type != IFPF.IFPF_IS_ZERO) + { + /* clear the extraneous bits */ + ptr.mantissa[3] &= (char)0xfff8; + /* for (i=4; imantissa[i] = 0; + } + */ + /* + ** Check for overflow + */ + if (ptr.exp > MAX_EXP) + { + SetInternalFPFInfinity(ref ptr, ptr.sign); + } + } + } + return; + } + + /******************************************************* + ** ARITHMETIC OPERATIONS ON INTERNAL REPRESENTATION ** + *******************************************************/ + + private static void memmove(ref InternalFPF dest, ref InternalFPF src) + { + dest.type = src.type; + dest.sign = src.sign; + dest.exp = src.exp; + for (int i = 0; i < INTERNAL_FPF_PRECISION; i++) + { + dest.mantissa[i] = src.mantissa[i]; + } + /* This implementation only loses about .1 on the rating. Surprising. + dest = src; + dest.mantissa = new char[INTERNAL_FPF_PRECISION]; + for (int i = 0; i < INTERNAL_FPF_PRECISION; i++) + { + dest.mantissa[i] = src.mantissa[i]; + } + */ + } + + /*************** + ** choose_nan ** + **************** + ** Called by routines that are forced to perform math on + ** a pair of NaN's. This routine "selects" which NaN is + ** to be returned. + */ + private static void choose_nan(ref InternalFPF x, + ref InternalFPF y, + ref InternalFPF z, + int intel_flag) + { + int i; + + /* + ** Compare the two mantissas, + ** return the larger. Note that we will be emulating + ** an 80387 in this operation. + */ + for (i = 0; i < INTERNAL_FPF_PRECISION; i++) + { + if (x.mantissa[i] > y.mantissa[i]) + { + memmove(ref z, ref x); + return; + } + if (x.mantissa[i] < y.mantissa[i]) + { + memmove(ref z, ref y); + return; + } + } + + /* + ** They are equal + */ + if (intel_flag == 0) + /* if the operation is addition */ + memmove(ref z, ref x); + else + /* if the operation is multiplication */ + memmove(ref z, ref y); + return; + } + + + /********************** + ** AddSubInternalFPF ** + *********************** + ** Adding or subtracting internal-representation numbers. + ** Internal-representation numbers pointed to by x and y are + ** added/subtracted and the result returned in z. + */ + private static void AddSubInternalFPF(byte operation, + ref InternalFPF x, + ref InternalFPF y, + ref InternalFPF z) + { + int exponent_difference; + char borrow; + char carry; + int i; + InternalFPF locx, locy; /* Needed since we alter them */ + /* + ** Following big switch statement handles the + ** various combinations of operand types. + */ + int count = (int)IFPF.IFPF_TYPE_COUNT; + switch ((STATE)(((int)x.type * count) + (int)y.type)) + { + case STATE.ZERO_ZERO: + memmove(ref z, ref x); + if ((x.sign ^ y.sign ^ operation) != 0) + { + z.sign = 0; /* positive */ + } + break; + + case STATE.NAN_ZERO: + case STATE.NAN_SUBNORMAL: + case STATE.NAN_NORMAL: + case STATE.NAN_INFINITY: + case STATE.SUBNORMAL_ZERO: + case STATE.NORMAL_ZERO: + case STATE.INFINITY_ZERO: + case STATE.INFINITY_SUBNORMAL: + case STATE.INFINITY_NORMAL: + memmove(ref z, ref x); + break; + + + case STATE.ZERO_NAN: + case STATE.SUBNORMAL_NAN: + case STATE.NORMAL_NAN: + case STATE.INFINITY_NAN: + memmove(ref z, ref y); + break; + + case STATE.ZERO_SUBNORMAL: + case STATE.ZERO_NORMAL: + case STATE.ZERO_INFINITY: + case STATE.SUBNORMAL_INFINITY: + case STATE.NORMAL_INFINITY: + memmove(ref z, ref x); + z.sign ^= operation; + break; + + case STATE.SUBNORMAL_SUBNORMAL: + case STATE.SUBNORMAL_NORMAL: + case STATE.NORMAL_SUBNORMAL: + case STATE.NORMAL_NORMAL: + /* + ** Copy x and y to locals, since we may have + ** to alter them. + */ + locx = new InternalFPF(INTERNAL_FPF_PRECISION); + locy = new InternalFPF(INTERNAL_FPF_PRECISION); + memmove(ref locx, ref x); + memmove(ref locy, ref y); + + /* compute sum/difference */ + exponent_difference = locx.exp - locy.exp; + if (exponent_difference == 0) + { + /* + ** locx.exp == locy.exp + ** so, no shifting required + */ + if (locx.type == IFPF.IFPF_IS_SUBNORMAL || + locy.type == IFPF.IFPF_IS_SUBNORMAL) + z.type = IFPF.IFPF_IS_SUBNORMAL; + else + z.type = IFPF.IFPF_IS_NORMAL; + + /* + ** Assume that locx.mantissa > locy.mantissa + */ + z.sign = locx.sign; + z.exp = locx.exp; + } + else + if (exponent_difference > 0) + { + /* + ** locx.exp > locy.exp + */ + StickyShiftRightMant(ref locy, + exponent_difference); + z.type = locx.type; + z.sign = locx.sign; + z.exp = locx.exp; + } + else /* if (exponent_difference < 0) */ + { + /* + ** locx.exp < locy.exp + */ + StickyShiftRightMant(ref locx, + -exponent_difference); + z.type = locy.type; + z.sign = (byte)(locy.sign ^ operation); + z.exp = locy.exp; + } + + if ((locx.sign ^ locy.sign ^ operation) != 0) + { + /* + ** Signs are different, subtract mantissas + */ + borrow = (char)0; + for (i = (INTERNAL_FPF_PRECISION - 1); i >= 0; i--) + Sub16Bits(ref borrow, + out z.mantissa[i], + locx.mantissa[i], + locy.mantissa[i]); + + if (borrow != 0) + { + /* The y->mantissa was larger than the + ** x->mantissa leaving a negative + ** result. Change the result back to + ** an unsigned number and flip the + ** sign flag. + */ + z.sign = (byte)(locy.sign ^ operation); + borrow = (char)0; + for (i = (INTERNAL_FPF_PRECISION - 1); i >= 0; i--) + { + Sub16Bits(ref borrow, + out z.mantissa[i], + (char)0, + z.mantissa[i]); + } + } + else + { + /* The assumption made above + ** (i.e. x->mantissa >= y->mantissa) + ** was correct. Therefore, do nothing. + ** z->sign = x->sign; + */ + } + + if (IsMantissaZero(z.mantissa)) + { + z.type = IFPF.IFPF_IS_ZERO; + z.sign = 0; /* positive */ + } + else + if (locx.type == IFPF.IFPF_IS_NORMAL || + locy.type == IFPF.IFPF_IS_NORMAL) + { + normalize(ref z); + } + } + else + { + /* signs are the same, add mantissas */ + carry = (char)0; + for (i = (INTERNAL_FPF_PRECISION - 1); i >= 0; i--) + { + Add16Bits(ref carry, + out z.mantissa[i], + locx.mantissa[i], + locy.mantissa[i]); + } + + if (carry != 0) + { + z.exp++; + carry = (char)0; + ShiftMantRight1(ref carry, z.mantissa); + z.mantissa[0] |= (char)0x8000; + z.type = IFPF.IFPF_IS_NORMAL; + } + else + if ((z.mantissa[0] & 0x8000) != 0) + z.type = IFPF.IFPF_IS_NORMAL; + } + break; + + case STATE.INFINITY_INFINITY: + SetInternalFPFNaN(ref z); + break; + + case STATE.NAN_NAN: + choose_nan(ref x, ref y, ref z, 1); + break; + } + + /* + ** All the math is done; time to round. + */ + RoundInternalFPF(ref z); + return; + } + + + /************************ + ** MultiplyInternalFPF ** + ************************* + ** Two internal-representation numbers x and y are multiplied; the + ** result is returned in z. + */ + private static void MultiplyInternalFPF( + ref InternalFPF x, + ref InternalFPF y, + ref InternalFPF z) + { + int i; + int j; + char carry; + char[] extra_bits = new char[INTERNAL_FPF_PRECISION]; + InternalFPF locy; /* Needed since this will be altered */ + /* + ** As in the preceding function, this large switch + ** statement selects among the many combinations + ** of operands. + */ + int count = (int)IFPF.IFPF_TYPE_COUNT; + switch ((STATE)(((int)x.type * count) + (int)y.type)) + { + case STATE.INFINITY_SUBNORMAL: + case STATE.INFINITY_NORMAL: + case STATE.INFINITY_INFINITY: + case STATE.ZERO_ZERO: + case STATE.ZERO_SUBNORMAL: + case STATE.ZERO_NORMAL: + memmove(ref z, ref x); + z.sign ^= y.sign; + break; + + case STATE.SUBNORMAL_INFINITY: + case STATE.NORMAL_INFINITY: + case STATE.SUBNORMAL_ZERO: + case STATE.NORMAL_ZERO: + memmove(ref z, ref y); + z.sign ^= x.sign; + break; + + case STATE.ZERO_INFINITY: + case STATE.INFINITY_ZERO: + SetInternalFPFNaN(ref z); + break; + + case STATE.NAN_ZERO: + case STATE.NAN_SUBNORMAL: + case STATE.NAN_NORMAL: + case STATE.NAN_INFINITY: + memmove(ref z, ref x); + break; + + case STATE.ZERO_NAN: + case STATE.SUBNORMAL_NAN: + case STATE.NORMAL_NAN: + case STATE.INFINITY_NAN: + memmove(ref z, ref y); + break; + + + case STATE.SUBNORMAL_SUBNORMAL: + case STATE.SUBNORMAL_NORMAL: + case STATE.NORMAL_SUBNORMAL: + case STATE.NORMAL_NORMAL: + /* + ** Make a local copy of the y number, since we will be + ** altering it in the process of multiplying. + */ + locy = new InternalFPF(INTERNAL_FPF_PRECISION); + memmove(ref locy, ref y); + + /* + ** Check for unnormal zero arguments + */ + if (IsMantissaZero(x.mantissa) || IsMantissaZero(y.mantissa)) + { + SetInternalFPFInfinity(ref z, 0); + } + + /* + ** Initialize the result + */ + if (x.type == IFPF.IFPF_IS_SUBNORMAL || + y.type == IFPF.IFPF_IS_SUBNORMAL) + z.type = IFPF.IFPF_IS_SUBNORMAL; + else + z.type = IFPF.IFPF_IS_NORMAL; + + z.sign = (byte)(x.sign ^ y.sign); + z.exp = (short)(x.exp + y.exp); + for (i = 0; i < INTERNAL_FPF_PRECISION; i++) + { + z.mantissa[i] = (char)0; + extra_bits[i] = (char)0; + } + + for (i = 0; i < (INTERNAL_FPF_PRECISION * 16); i++) + { + /* + ** Get rightmost bit of the multiplier + */ + carry = (char)0; + ShiftMantRight1(ref carry, locy.mantissa); + if (carry != 0) + { + /* + ** Add the multiplicand to the product + */ + carry = (char)0; + for (j = (INTERNAL_FPF_PRECISION - 1); j >= 0; j--) + Add16Bits(ref carry, + out z.mantissa[j], + z.mantissa[j], + x.mantissa[j]); + } + else + { + carry = (char)0; + } + + /* + ** Shift the product right. Overflow bits get + ** shifted into extra_bits. We'll use it later + ** to help with the "sticky" bit. + */ + ShiftMantRight1(ref carry, z.mantissa); + ShiftMantRight1(ref carry, extra_bits); + } + + /* + ** Normalize + ** Note that we use a "special" normalization routine + ** because we need to use the extra bits. (These are + ** bits that may have been shifted off the bottom that + ** we want to reclaim...if we can. + */ + while ((z.mantissa[0] & 0x8000) == 0) + { + carry = (char)0; + ShiftMantLeft1(ref carry, extra_bits); + ShiftMantLeft1(ref carry, z.mantissa); + z.exp--; + } + + /* + ** Set the sticky bit if any bits set in extra bits. + */ + if (IsMantissaZero(extra_bits)) + { + z.mantissa[INTERNAL_FPF_PRECISION - 1] |= (char)1; + } + break; + + case STATE.NAN_NAN: + choose_nan(ref x, ref y, ref z, 0); + break; + } + + /* + ** All math done...do rounding. + */ + RoundInternalFPF(ref z); + return; + } + + + /********************** + ** DivideInternalFPF ** + *********************** + ** Divide internal FPF number x by y. Return result in z. + */ + private static void DivideInternalFPF( + ref InternalFPF x, + ref InternalFPF y, + ref InternalFPF z) + { + int i; + int j; + char carry; + char[] extra_bits = new char[INTERNAL_FPF_PRECISION]; + InternalFPF locx; /* Local for x number */ + + /* + ** As with preceding function, the following switch + ** statement selects among the various possible + ** operands. + */ + int count = (int)IFPF.IFPF_TYPE_COUNT; + switch ((STATE)(((int)x.type * count) + (int)y.type)) + { + case STATE.ZERO_ZERO: + case STATE.INFINITY_INFINITY: + SetInternalFPFNaN(ref z); + break; + + case STATE.ZERO_SUBNORMAL: + case STATE.ZERO_NORMAL: + if (IsMantissaZero(y.mantissa)) + { + SetInternalFPFNaN(ref z); + break; + } + goto case STATE.ZERO_INFINITY; + + case STATE.ZERO_INFINITY: + case STATE.SUBNORMAL_INFINITY: + case STATE.NORMAL_INFINITY: + SetInternalFPFZero(ref z, (byte)(x.sign ^ y.sign)); + break; + + case STATE.SUBNORMAL_ZERO: + case STATE.NORMAL_ZERO: + if (IsMantissaZero(x.mantissa)) + { + SetInternalFPFNaN(ref z); + break; + } + goto case STATE.INFINITY_ZERO; + + case STATE.INFINITY_ZERO: + case STATE.INFINITY_SUBNORMAL: + case STATE.INFINITY_NORMAL: + SetInternalFPFInfinity(ref z, 0); + z.sign = (byte)(x.sign ^ y.sign); + break; + + case STATE.NAN_ZERO: + case STATE.NAN_SUBNORMAL: + case STATE.NAN_NORMAL: + case STATE.NAN_INFINITY: + memmove(ref z, ref x); + break; + + case STATE.ZERO_NAN: + case STATE.SUBNORMAL_NAN: + case STATE.NORMAL_NAN: + case STATE.INFINITY_NAN: + memmove(ref z, ref y); + break; + + case STATE.SUBNORMAL_SUBNORMAL: + case STATE.NORMAL_SUBNORMAL: + case STATE.SUBNORMAL_NORMAL: + case STATE.NORMAL_NORMAL: + /* + ** Make local copy of x number, since we'll be + ** altering it in the process of dividing. + */ + locx = new InternalFPF(INTERNAL_FPF_PRECISION); + memmove(ref locx, ref x); + + /* + ** Check for unnormal zero arguments + */ + if (IsMantissaZero(locx.mantissa)) + { + if (IsMantissaZero(y.mantissa)) + SetInternalFPFNaN(ref z); + else + SetInternalFPFZero(ref z, 0); + break; + } + if (IsMantissaZero(y.mantissa)) + { + SetInternalFPFInfinity(ref z, 0); + break; + } + + /* + ** Initialize the result + */ + z.type = x.type; + z.sign = (byte)(x.sign ^ y.sign); + z.exp = (short)(x.exp - y.exp + + ((INTERNAL_FPF_PRECISION * 16 * 2))); + for (i = 0; i < INTERNAL_FPF_PRECISION; i++) + { + z.mantissa[i] = (char)0; + extra_bits[i] = (char)0; + } + + while ((z.mantissa[0] & 0x8000) == 0) + { + carry = (char)0; + ShiftMantLeft1(ref carry, locx.mantissa); + ShiftMantLeft1(ref carry, extra_bits); + + /* + ** Time to subtract yet? + */ + if (carry == 0) + for (j = 0; j < INTERNAL_FPF_PRECISION; j++) + { + if (y.mantissa[j] > extra_bits[j]) + { + carry = (char)0; + goto no_subtract; + } + if (y.mantissa[j] < extra_bits[j]) + break; + } + /* + ** Divisor (y) <= dividend (x), subtract + */ + carry = (char)0; + for (j = (INTERNAL_FPF_PRECISION - 1); j >= 0; j--) + Sub16Bits(ref carry, + out extra_bits[j], + extra_bits[j], + y.mantissa[j]); + carry = (char)1; /* 1 shifted into quotient */ + no_subtract: + ShiftMantLeft1(ref carry, z.mantissa); + z.exp--; + } + break; + + case STATE.NAN_NAN: + choose_nan(ref x, ref y, ref z, 0); + break; + } + + /* + ** Math complete...do rounding + */ + RoundInternalFPF(ref z); + } + + /********************** + ** LongToInternalFPF ** + *********************** + ** Convert a signed long integer into an internal FPF number. + */ + private static void LongToInternalFPF( + int mylong, + ref InternalFPF dest) + { + int i; /* Index */ + char myword; /* Used to hold converted stuff */ + /* + ** Save the sign and get the absolute value. This will help us + ** with 64-bit machines, since we use only the lower 32 + ** bits just in case. + */ + if (mylong < 0) + { + dest.sign = 1; + mylong = 0 - mylong; + } + else + dest.sign = 0; + /* + ** Prepare the destination floating point number + */ + dest.type = IFPF.IFPF_IS_NORMAL; + for (i = 0; i < INTERNAL_FPF_PRECISION; i++) + dest.mantissa[i] = (char)0; + + /* + ** See if we've got a zero. If so, make the resultant FP + ** number a true zero and go home. + */ + if (mylong == 0) + { + dest.type = IFPF.IFPF_IS_ZERO; + dest.exp = 0; + return; + } + + /* + ** Not a true zero. Set the exponent to 32 (internal FPFs have + ** no bias) and load the low and high words into their proper + ** locations in the mantissa. Then normalize. The action of + ** normalizing slides the mantissa bits into place and sets + ** up the exponent properly. + */ + dest.exp = 32; + myword = (char)((mylong >> 16) & 0xFFFFL); + dest.mantissa[0] = myword; + myword = (char)(mylong & 0xFFFFL); + dest.mantissa[1] = myword; + normalize(ref dest); + return; + } + + /************************ + ** InternalFPFToString ** + ************************* + ** FOR DEBUG PURPOSES + ** This routine converts an internal floating point representation + ** number to a string. Used in debugging the package. + ** Returns length of converted number. + ** NOTE: dest must point to a buffer big enough to hold the + ** result. Also, this routine does append a null (an effect + ** of using the sprintf() function). It also returns + ** a length count. + ** NOTE: This routine returns 5 significant digits. Thats + ** about all I feel safe with, given the method of + ** conversion. It should be more than enough for programmers + ** to determine whether the package is properly ported. + */ + private static int InternalFPFToString( + out string dest, + ref InternalFPF src) + { + InternalFPF locFPFNum; /* Local for src (will be altered) */ + InternalFPF IFPF10; /* Floating-point 10 */ + InternalFPF IFPFComp; /* For doing comparisons */ + int msign; /* Holding for mantissa sign */ + int expcount; /* Exponent counter */ + int ccount; /* Character counter */ + int i, j, k; /* Index */ + char carryaccum; /* Carry accumulator */ + char mycarry; /* Local for carry */ + + locFPFNum = new InternalFPF(INTERNAL_FPF_PRECISION); + IFPF10 = new InternalFPF(INTERNAL_FPF_PRECISION); + IFPFComp = new InternalFPF(INTERNAL_FPF_PRECISION); + dest = ""; + /* + ** Check first for the simple things...Nan, Infinity, Zero. + ** If found, copy the proper string in and go home. + */ + switch (src.type) + { + case IFPF.IFPF_IS_NAN: + dest = "NaN"; + return (3); + + case IFPF.IFPF_IS_INFINITY: + if (src.sign == 0) + dest = "+Inf"; + else + dest = "-Inf"; + return (4); + + case IFPF.IFPF_IS_ZERO: + if (src.sign == 0) + dest = "+0"; + else + dest = "-0"; + return (2); + } + + /* + ** Move the internal number into our local holding area, since + ** we'll be altering it to print it out. + */ + memmove(ref locFPFNum, ref src); + + /* + ** Set up a floating-point 10...which we'll use a lot in a minute. + */ + LongToInternalFPF(10, ref IFPF10); + + /* + ** Save the mantissa sign and make it positive. + */ + msign = src.sign; + src.sign = 0; + + expcount = 0; /* Init exponent counter */ + + /* + ** See if the number is less than 10. If so, multiply + ** the number repeatedly by 10 until it's not. For each + ** multiplication, decrement a counter so we can keep track + ** of the exponent. + */ + while (true) + { + AddSubInternalFPF(1, ref locFPFNum, ref IFPF10, ref IFPFComp); + if (IFPFComp.sign == 0) + break; + MultiplyInternalFPF(ref locFPFNum, ref IFPF10, ref IFPFComp); + expcount--; + memmove(ref locFPFNum, ref IFPFComp); + } + + /* + ** Do the reverse of the above. As long as the number is + ** greater than or equal to 10, divide it by 10. Increment the + ** exponent counter for each multiplication. + */ + while (true) + { + AddSubInternalFPF(1, ref locFPFNum, ref IFPF10, ref IFPFComp); + if (IFPFComp.sign != 0) + break; + DivideInternalFPF(ref locFPFNum, ref IFPF10, ref IFPFComp); + expcount++; + memmove(ref locFPFNum, ref IFPFComp); + } + + /* + ** About time to start storing things. First, store the + ** mantissa sign. + */ + ccount = 1; /* Init character counter */ + if (msign == 0) + dest += "+"; + else + dest += "-"; + + /* + ** At this point we know that the number is in the range + ** 10 > n >=1. We need to "strip digits" out of the + ** mantissa. We do this by treating the mantissa as + ** an integer and multiplying by 10. (Not a floating-point + ** 10, but an integer 10. Since this is debug code and we + ** could care less about speed, we'll do it the stupid + ** way and simply add the number to itself 10 times. + ** Anything that makes it to the left of the implied binary point + ** gets stripped off and emitted. We'll do this for + ** 5 significant digits (which should be enough to + ** verify things). + */ + /* + ** Re-position radix point + */ + carryaccum = (char)0; + while (locFPFNum.exp > 0) + { + mycarry = (char)0; + ShiftMantLeft1(ref mycarry, locFPFNum.mantissa); + carryaccum = (char)(carryaccum << 1); + if (mycarry != 0) + carryaccum++; + locFPFNum.exp--; + } + + while (locFPFNum.exp < 0) + { + mycarry = (char)0; + ShiftMantRight1(ref mycarry, locFPFNum.mantissa); + locFPFNum.exp++; + } + + for (i = 0; i < 6; i++) + if (i == 1) + { /* Emit decimal point */ + dest += "."; + ccount++; + } + else + { /* Emit a digit */ + string s = "0"; // (char)('0'+carryaccum)); // this isn't ever called + dest += s; + ccount++; + + carryaccum = (char)0; + memmove(ref IFPF10, ref locFPFNum); + + /* Do multiply via repeated adds */ + for (j = 0; j < 9; j++) + { + mycarry = (char)0; + for (k = (INTERNAL_FPF_PRECISION - 1); k >= 0; k--) + Add16Bits(ref mycarry, out IFPFComp.mantissa[k], + locFPFNum.mantissa[k], + IFPF10.mantissa[k]); + carryaccum += (char)(mycarry != 0 ? 1 : 0); + memmove(ref locFPFNum, ref IFPFComp); + } + } + + /* + ** Now move the 'E', the exponent sign, and the exponent + ** into the string. + */ + dest += "E"; + dest += expcount.ToString(); + + /* + ** All done, go home. + */ + return (dest.Length); + } +} diff --git a/src/benchmarks/coreclr/Bytemark/emfloatclass.cs b/src/benchmarks/coreclr/Bytemark/emfloatclass.cs new file mode 100644 index 00000000000..6d90823dfd1 --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/emfloatclass.cs @@ -0,0 +1,1562 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +/* +** This program was translated to C# and adapted for xunit-performance. +** New variants of several tests were added to compare class versus +** struct and to compare jagged arrays vs multi-dimensional arrays. +*/ + +/* +** BYTEmark (tm) +** BYTE Magazine's Native Mode benchmarks +** Rick Grehan, BYTE Magazine +** +** Create: +** Revision: 3/95 +** +** DISCLAIMER +** The source, executable, and documentation files that comprise +** the BYTEmark benchmarks are made available on an "as is" basis. +** This means that we at BYTE Magazine have made every reasonable +** effort to verify that the there are no errors in the source and +** executable code. We cannot, however, guarantee that the programs +** are error-free. Consequently, McGraw-HIll and BYTE Magazine make +** no claims in regard to the fitness of the source code, executable +** code, and documentation of the BYTEmark. +** +** Furthermore, BYTE Magazine, McGraw-Hill, and all employees +** of McGraw-Hill cannot be held responsible for any damages resulting +** from the use of this code or the results obtained from using +** this code. +*/ + +using System; + +/* +** DEFINES +*/ +public class EMFloatClass : EmFloatStruct +{ + public override string Name() + { + return "FP EMULATION(class)"; + } + + private const int MAX_EXP = 32767; + private const int MIN_EXP = (-32767); + + private enum IFPF : byte + { + IFPF_IS_ZERO = 0, + IFPF_IS_SUBNORMAL = 1, + IFPF_IS_NORMAL = 2, + IFPF_IS_INFINITY = 3, + IFPF_IS_NAN = 4, + IFPF_TYPE_COUNT = 5, + }; + + private enum STATE + { + ZERO_ZERO = 0, + ZERO_SUBNORMAL = 1, + ZERO_NORMAL = 2, + ZERO_INFINITY = 3, + ZERO_NAN = 4, + + SUBNORMAL_ZERO = 5, + SUBNORMAL_SUBNORMAL = 6, + SUBNORMAL_NORMAL = 7, + SUBNORMAL_INFINITY = 8, + SUBNORMAL_NAN = 9, + + NORMAL_ZERO = 10, + NORMAL_SUBNORMAL = 11, + NORMAL_NORMAL = 12, + NORMAL_INFINITY = 13, + NORMAL_NAN = 14, + + INFINITY_ZERO = 15, + INFINITY_SUBNORMAL = 16, + INFINITY_NORMAL = 17, + INFINITY_INFINITY = 18, + INFINITY_NAN = 19, + + NAN_ZERO = 20, + NAN_SUBNORMAL = 21, + NAN_NORMAL = 22, + NAN_INFINITY = 23, + NAN_NAN = 24, + }; + + private enum OPERAND + { + OPERAND_ZERO = 0, + OPERAND_SUBNORMAL = 1, + OPERAND_NORMAL = 2, + OPERAND_INFINITY = 3, + OPERAND_NAN = 4, + }; + + /* + ** Following was already defined in NMGLOBAL.H + ** + */ + private const int INTERNAL_FPF_PRECISION = 4; + + /* + ** TYPEDEFS + */ + + private class InternalFPF + { + public InternalFPF() + { + type = IFPF.IFPF_IS_ZERO; sign = (byte)0; + exp = (short)0; mantissa = new char[INTERNAL_FPF_PRECISION]; + } + public IFPF type; /* Indicates, NORMAL, SUBNORMAL, etc. */ + public byte sign; /* Mantissa sign */ + public short exp; /* Signed exponent...no bias */ + public char[] mantissa; // [INTERNAL_FPF_PRECISION] + }; + + /* + ** emfloat.c + ** Source for emulated floating-point routines. + ** BYTEmark (tm) + ** BYTE's Native Mode Benchmarks + ** Rick Grehan, BYTE Magazine. + ** + ** Created: + ** Last update: 3/95 + ** + ** DISCLAIMER + ** The source, executable, and documentation files that comprise + ** the BYTEmark benchmarks are made available on an "as is" basis. + ** This means that we at BYTE Magazine have made every reasonable + ** effort to verify that the there are no errors in the source and + ** executable code. We cannot, however, guarantee that the programs + ** are error-free. Consequently, McGraw-HIll and BYTE Magazine make + ** no claims in regard to the fitness of the source code, executable + ** code, and documentation of the BYTEmark. + ** Furthermore, BYTE Magazine, McGraw-Hill, and all employees + ** of McGraw-Hill cannot be held responsible for any damages resulting + ** from the use of this code or the results obtained from using + ** this code. + */ + + /* + ** Floating-point emulator. + ** These routines are only "sort of" IEEE-compliant. All work is + ** done using an internal representation. Also, the routines do + ** not check for many of the exceptions that might occur. + ** Still, the external formats produced are IEEE-compatible, + ** with the restriction that they presume a low-endian machine + ** (though the endianism will not effect the performance). + ** + ** Some code here was based on work done by Steve Snelgrove of + ** Orem, UT. Other code comes from routines presented in + ** the long-ago book: "Microprocessor Programming for + ** Computer Hobbyists" by Neill Graham. + */ + + /***************************** + ** FLOATING-POINT EMULATION ** + *****************************/ + + /************** + ** DoEmFloat ** + *************** + ** Perform the floating-point emulation routines portion of the + ** CPU benchmark. Returns the operations per second. + */ + public override double Run() + { + InternalFPF[] abase; /* Base of A array */ + InternalFPF[] bbase; /* Base of B array */ + InternalFPF[] cbase; /* Base of C array */ + long accumtime; /* Accumulated time in ticks */ + double iterations; /* # of iterations */ + long tickcount; /* # of ticks */ + int loops; /* # of loops */ + + /* + ** Test the emulation routines. + */ + + abase = new InternalFPF[this.arraysize]; + bbase = new InternalFPF[this.arraysize]; + cbase = new InternalFPF[this.arraysize]; + + for (int i = 0; i < this.arraysize; i++) + { + abase[i] = new InternalFPF(); + bbase[i] = new InternalFPF(); + cbase[i] = new InternalFPF(); + } + + /* + for (int i = 0; i < this.arraysize; i++) + { + abase[i].type = IFPF.IFPF_IS_ZERO; + abase[i].sign = (byte)0; + abase[i].exp = (short)0; + abase[i].mantissa = new char[INTERNAL_FPF_PRECISION]; + + bbase[i].type = IFPF.IFPF_IS_ZERO; + bbase[i].sign = (byte)0; + bbase[i].exp = (short)0; + bbase[i].mantissa = new char[INTERNAL_FPF_PRECISION]; + + cbase[i].type = IFPF.IFPF_IS_ZERO; + cbase[i].sign = (byte)0; + cbase[i].exp = (short)0; + cbase[i].mantissa = new char[INTERNAL_FPF_PRECISION]; + } + */ + + /* + ** Set up the arrays + */ + SetupCPUEmFloatArrays(abase, bbase, cbase, this.arraysize); + + /* + ** See if we need to do self-adjusting code. + */ + if (this.adjust == 0) + { + this.loops = 0; + + /* + ** Do an iteration of the tests. If the elapsed time is + ** less than minimum, increase the loop count and try + ** again. + */ + for (loops = 1; loops < global.CPUEMFLOATLOOPMAX; loops += loops) + { + tickcount = DoEmFloatIteration(abase, bbase, cbase, + this.arraysize, + loops); + if (tickcount > global.min_ticks) + { + this.loops = loops; + break; + } + } + } + + /* + ** Verify that selft adjustment code worked. + */ + if (this.loops == 0) + { + throw new Exception("CPU:EMFPU -- CMPUEMFLOATLOOPMAX limit hit\n"); + } + + /* + ** All's well if we get here. Repeatedly perform floating + ** tests until the accumulated time is greater than the + ** # of seconds requested. + ** Each iteration performs arraysize * 3 operations. + */ + accumtime = 0L; + iterations = (double)0.0; + do + { + accumtime += DoEmFloatIteration(abase, bbase, cbase, + this.arraysize, + this.loops); + iterations += (double)1.0; + } while (ByteMark.TicksToSecs(accumtime) < this.request_secs); + + /* + ** Clean up, calculate results, and go home. + ** Also, indicate that adjustment is done. + */ + + if (this.adjust == 0) + this.adjust = 1; + double emflops = (iterations * (double)this.loops) / + (double)ByteMark.TicksToFracSecs(accumtime); + + return (emflops); + } + + + + + + + /************************** + ** SetupCPUEmFloatArrays ** + *************************** + ** Set up the arrays that will be used in the emulated + ** floating-point tests. + ** This is done by loading abase and bbase elements with + ** random numbers. We use our long-to-floating point + ** routine to set them up. + ** NOTE: We really don't need the pointer to cbase...cbase + ** is overwritten in the benchmark. + */ + private static + void SetupCPUEmFloatArrays(InternalFPF[] abase, + InternalFPF[] bbase, + InternalFPF[] cbase, + int arraysize) + { + int i; + InternalFPF locFPF1, locFPF2; + locFPF1 = new InternalFPF(); + locFPF2 = new InternalFPF(); + + for (i = 0; i < arraysize; i++) + { + LongToInternalFPF(ByteMark.randwc(50000), locFPF1); + LongToInternalFPF(ByteMark.randwc(50000) + 1, locFPF2); + DivideInternalFPF(locFPF1, locFPF2, abase[i]); + LongToInternalFPF(ByteMark.randwc(50000) + 1, locFPF2); + DivideInternalFPF(locFPF1, locFPF2, bbase[i]); + } + return; + } + + /*********************** + ** DoEmFloatIteration ** + ************************ + ** Perform an iteration of the emulated floating-point + ** benchmark. Note that "an iteration" can involve multiple + ** loops through the benchmark. + */ + private static + long DoEmFloatIteration(InternalFPF[] abase, + InternalFPF[] bbase, + InternalFPF[] cbase, + int arraysize, int loops) + { + long elapsed; /* For the stopwatch */ + byte[] jtable = new byte[] { 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3 }; + int i; + + /* + ** Begin timing + */ + elapsed = ByteMark.StartStopwatch(); + + /* + ** Each pass through the array performs operations in + ** the followingratios: + ** 4 adds, 4 subtracts, 5 multiplies, 3 divides + ** (adds and subtracts being nearly the same operation) + */ + while (loops-- > 0) + { + for (i = 0; i < arraysize; i++) + switch (jtable[i % 16]) + { + case 0: /* Add */ + AddSubInternalFPF(0, abase[i], + bbase[i], + cbase[i]); + break; + case 1: /* Subtract */ + AddSubInternalFPF(1, abase[i], + bbase[i], + cbase[i]); + break; + case 2: /* Multiply */ + MultiplyInternalFPF(abase[i], + bbase[i], + cbase[i]); + break; + case 3: /* Divide */ + DivideInternalFPF(abase[i], + bbase[i], + cbase[i]); + break; + } + } + + return (ByteMark.StopStopwatch(elapsed)); + } + + /*********************** + ** SetInternalFPFZero ** + ************************ + ** Set an internal floating-point-format number to zero. + ** sign determines the sign of the zero. + */ + private static void SetInternalFPFZero(InternalFPF dest, + byte sign) + { + int i; /* Index */ + + dest.type = IFPF.IFPF_IS_ZERO; + dest.sign = sign; + dest.exp = MIN_EXP; + + for (i = 0; i < INTERNAL_FPF_PRECISION; i++) + dest.mantissa[i] = (char)0; + return; + } + + /*************************** + ** SetInternalFPFInfinity ** + **************************** + ** Set an internal floating-point-format number to infinity. + ** This can happen if the exponent exceeds MAX_EXP. + ** As above, sign picks the sign of infinity. + */ + private static void SetInternalFPFInfinity(InternalFPF dest, + byte sign) + { + int i; /* Index */ + + dest.type = IFPF.IFPF_IS_INFINITY; + dest.sign = sign; + dest.exp = MIN_EXP; + + for (i = 0; i < INTERNAL_FPF_PRECISION; i++) + dest.mantissa[i] = (char)0; + return; + } + + /********************** + ** SetInternalFPFNaN ** + *********************** + ** Set an internal floating-point-format number to Nan + ** (not a number). Note that we "emulate" an 80x87 as far + ** as the mantissa bits go. + */ + private static void SetInternalFPFNaN(InternalFPF dest) + { + int i; /* Index */ + + dest.type = IFPF.IFPF_IS_NAN; + dest.exp = MAX_EXP; + dest.sign = 1; + + dest.mantissa[0] = (char)0x4000; + for (i = 1; i < INTERNAL_FPF_PRECISION; i++) + dest.mantissa[i] = (char)0; + + return; + } + + /******************* + ** IsMantissaZero ** + ******************** + ** Pass this routine a pointer to an internal floating point format + ** number's mantissa. It checks for an all-zero mantissa. + ** Returns 0 if it is NOT all zeros, !=0 otherwise. + */ + private static bool IsMantissaZero(char[] mant) + { + int i; /* Index */ + int n; /* Return value */ + + n = 0; + for (i = 0; i < INTERNAL_FPF_PRECISION; i++) + n |= mant[i]; + + return (n == 0); + } + + /************** + ** Add16Bits ** + *************** + ** Add b, c, and carry. Retult in a. New carry in carry. + */ + private static void Add16Bits(ref char carry, + out char a, + char b, + char c) + { + int accum; /* Accumulator */ + + /* + ** Do the work in the 32-bit accumulator so we can return + ** the carry. + */ + accum = b; + accum += c; + accum += carry; + carry = (char)(((accum & 0x00010000) != 0) ? 1 : 0); /* New carry */ + a = (char)(accum & 0xFFFF); /* Result is lo 16 bits */ + return; + } + + /************** + ** Sub16Bits ** + *************** + ** Additive inverse of above. + */ + private static void Sub16Bits(ref char borrow, + out char a, + char b, + char c) + { + int accum; /* Accumulator */ + + accum = b; + accum -= c; + accum -= borrow; + borrow = (char)(((accum & 0x00010000) != 0) ? 1 : 0); /* New borrow */ + a = (char)(accum & 0xFFFF); + return; + } + + /******************* + ** ShiftMantLeft1 ** + ******************** + ** Shift a vector of 16-bit numbers left 1 bit. Also provides + ** a carry bit, which is shifted in at the beginning, and + ** shifted out at the end. + */ + private static void ShiftMantLeft1(ref char carry, + char[] mantissa) + { + int i; /* Index */ + int new_carry; + char accum; /* Temporary holding placed */ + + for (i = INTERNAL_FPF_PRECISION - 1; i >= 0; i--) + { + accum = mantissa[i]; + new_carry = accum & 0x8000; /* Get new carry */ + accum = unchecked((char)(accum << 1)); /* Do the shift */ + if (carry != 0) + accum |= (char)1; /* Insert previous carry */ + carry = (char)new_carry; + mantissa[i] = accum; /* Return shifted value */ + } + return; + } + + /******************** + ** ShiftMantRight1 ** + ********************* + ** Shift a mantissa right by 1 bit. Provides carry, as + ** above + */ + private static void ShiftMantRight1(ref char carry, + char[] mantissa) + { + int i; /* Index */ + int new_carry; + char accum; + + for (i = 0; i < INTERNAL_FPF_PRECISION; i++) + { + accum = mantissa[i]; + new_carry = accum & 1; /* Get new carry */ + accum = (char)(accum >> 1); + if (carry != 0) + accum |= (char)0x8000; + carry = (char)new_carry; + mantissa[i] = accum; + } + return; + } + + + /***************************** + ** StickyShiftMantRight ** + ****************************** + ** This is a shift right of the mantissa with a "sticky bit". + ** I.E., if a carry of 1 is shifted out of the least significant + ** bit, the least significant bit is set to 1. + */ + private static void StickyShiftRightMant(InternalFPF ptr, + int amount) + { + int i; /* Index */ + char carry; /* Self-explanatory */ + + if (ptr.type != IFPF.IFPF_IS_ZERO) /* Don't bother shifting a zero */ + { + /* + ** If the amount of shifting will shift everyting + ** out of existence, then just clear the whole mantissa + ** and set the lowmost bit to 1. + */ + if (amount >= INTERNAL_FPF_PRECISION * 16) + { + for (i = 0; i < INTERNAL_FPF_PRECISION - 1; i++) + ptr.mantissa[i] = (char)0; + ptr.mantissa[INTERNAL_FPF_PRECISION - 1] = (char)1; + } + else + for (i = 0; i < amount; i++) + { + carry = (char)0; + ShiftMantRight1(ref carry, ptr.mantissa); + if (carry != 0) + ptr.mantissa[INTERNAL_FPF_PRECISION - 1] |= (char)1; + } + } + return; + } + + + /************************************************** + ** POST ARITHMETIC PROCESSING ** + ** (NORMALIZE, ROUND, OVERFLOW, AND UNDERFLOW) ** + **************************************************/ + + /************** + ** normalize ** + *************** + ** Normalize an internal-representation number. Normalization + ** discards empty most-significant bits. + */ + private static void normalize(InternalFPF ptr) + { + char carry; + + /* + ** As long as there's a highmost 0 bit, shift the significand + ** left 1 bit. Each time you do this, though, you've + ** gotta decrement the exponent. + */ + while ((ptr.mantissa[0] & 0x8000) == 0) + { + carry = (char)0; + ShiftMantLeft1(ref carry, ptr.mantissa); + ptr.exp--; + } + return; + } + + /**************** + ** denormalize ** + ***************** + ** Denormalize an internal-representation number. This means + ** shifting it right until its exponent is equivalent to + ** minimum_exponent. (You have to do this often in order + ** to perform additions and subtractions). + */ + private static void denormalize(InternalFPF ptr, + int minimum_exponent) + { + int exponent_difference; + + if (IsMantissaZero(ptr.mantissa)) + { + throw new Exception("Error: zero significand in denormalize"); + } + + exponent_difference = ptr.exp - minimum_exponent; + if (exponent_difference < 0) + { + /* + ** The number is subnormal + */ + exponent_difference = -exponent_difference; + if (exponent_difference >= (INTERNAL_FPF_PRECISION * 16)) + { + /* Underflow */ + SetInternalFPFZero(ptr, ptr.sign); + } + else + { + ptr.exp += (short)exponent_difference; + StickyShiftRightMant(ptr, exponent_difference); + } + } + return; + } + + + /********************* + ** RoundInternalFPF ** + ********************** + ** Round an internal-representation number. + ** The kind of rounding we do here is simplest...referred to as + ** "chop". "Extraneous" rightmost bits are simply hacked off. + */ + private static + void RoundInternalFPF(InternalFPF ptr) + { + /* int i; */ + + if (ptr.type == IFPF.IFPF_IS_NORMAL || + ptr.type == IFPF.IFPF_IS_SUBNORMAL) + { + denormalize(ptr, MIN_EXP); + if (ptr.type != IFPF.IFPF_IS_ZERO) + { + /* clear the extraneous bits */ + ptr.mantissa[3] &= (char)0xfff8; + /* for (i=4; imantissa[i] = 0; + } + */ + /* + ** Check for overflow + */ + if (ptr.exp > MAX_EXP) + { + SetInternalFPFInfinity(ptr, ptr.sign); + } + } + } + return; + } + + /******************************************************* + ** ARITHMETIC OPERATIONS ON INTERNAL REPRESENTATION ** + *******************************************************/ + + private static void memmove(InternalFPF dest, InternalFPF src) + { + dest.type = src.type; + dest.sign = src.sign; + dest.exp = src.exp; + for (int i = 0; i < INTERNAL_FPF_PRECISION; i++) + { + dest.mantissa[i] = src.mantissa[i]; + } + } + + /*************** + ** choose_nan ** + **************** + ** Called by routines that are forced to perform math on + ** a pair of NaN's. This routine "selects" which NaN is + ** to be returned. + */ + private static void choose_nan(InternalFPF x, + InternalFPF y, + InternalFPF z, + int intel_flag) + { + int i; + + /* + ** Compare the two mantissas, + ** return the larger. Note that we will be emulating + ** an 80387 in this operation. + */ + for (i = 0; i < INTERNAL_FPF_PRECISION; i++) + { + if (x.mantissa[i] > y.mantissa[i]) + { + memmove(z, x); + return; + } + if (x.mantissa[i] < y.mantissa[i]) + { + memmove(z, y); + return; + } + } + + /* + ** They are equal + */ + if (intel_flag == 0) + /* if the operation is addition */ + memmove(z, x); + else + /* if the operation is multiplication */ + memmove(z, y); + return; + } + + + /********************** + ** AddSubInternalFPF ** + *********************** + ** Adding or subtracting internal-representation numbers. + ** Internal-representation numbers pointed to by x and y are + ** added/subtracted and the result returned in z. + */ + private static void AddSubInternalFPF(byte operation, + InternalFPF x, + InternalFPF y, + InternalFPF z) + { + int exponent_difference; + char borrow; + char carry; + int i; + InternalFPF locx, locy; /* Needed since we alter them */ + /* + ** Following big switch statement handles the + ** various combinations of operand types. + */ + int count = (int)IFPF.IFPF_TYPE_COUNT; + switch ((STATE)(((int)x.type * count) + (int)y.type)) + { + case STATE.ZERO_ZERO: + memmove(z, x); + if ((x.sign ^ y.sign ^ operation) != 0) + { + z.sign = 0; /* positive */ + } + break; + + case STATE.NAN_ZERO: + case STATE.NAN_SUBNORMAL: + case STATE.NAN_NORMAL: + case STATE.NAN_INFINITY: + case STATE.SUBNORMAL_ZERO: + case STATE.NORMAL_ZERO: + case STATE.INFINITY_ZERO: + case STATE.INFINITY_SUBNORMAL: + case STATE.INFINITY_NORMAL: + memmove(z, x); + break; + + + case STATE.ZERO_NAN: + case STATE.SUBNORMAL_NAN: + case STATE.NORMAL_NAN: + case STATE.INFINITY_NAN: + memmove(z, y); + break; + + case STATE.ZERO_SUBNORMAL: + case STATE.ZERO_NORMAL: + case STATE.ZERO_INFINITY: + case STATE.SUBNORMAL_INFINITY: + case STATE.NORMAL_INFINITY: + memmove(z, x); + z.sign ^= operation; + break; + + case STATE.SUBNORMAL_SUBNORMAL: + case STATE.SUBNORMAL_NORMAL: + case STATE.NORMAL_SUBNORMAL: + case STATE.NORMAL_NORMAL: + /* + ** Copy x and y to locals, since we may have + ** to alter them. + */ + locx = new InternalFPF(); + locy = new InternalFPF(); + memmove(locx, x); + memmove(locy, y); + + /* compute sum/difference */ + exponent_difference = locx.exp - locy.exp; + if (exponent_difference == 0) + { + /* + ** locx.exp == locy.exp + ** so, no shifting required + */ + if (locx.type == IFPF.IFPF_IS_SUBNORMAL || + locy.type == IFPF.IFPF_IS_SUBNORMAL) + z.type = IFPF.IFPF_IS_SUBNORMAL; + else + z.type = IFPF.IFPF_IS_NORMAL; + + /* + ** Assume that locx.mantissa > locy.mantissa + */ + z.sign = locx.sign; + z.exp = locx.exp; + } + else + if (exponent_difference > 0) + { + /* + ** locx.exp > locy.exp + */ + StickyShiftRightMant(locy, + exponent_difference); + z.type = locx.type; + z.sign = locx.sign; + z.exp = locx.exp; + } + else /* if (exponent_difference < 0) */ + { + /* + ** locx.exp < locy.exp + */ + StickyShiftRightMant(locx, + -exponent_difference); + z.type = locy.type; + z.sign = (byte)(locy.sign ^ operation); + z.exp = locy.exp; + } + + if ((locx.sign ^ locy.sign ^ operation) != 0) + { + /* + ** Signs are different, subtract mantissas + */ + borrow = (char)0; + for (i = (INTERNAL_FPF_PRECISION - 1); i >= 0; i--) + Sub16Bits(ref borrow, + out z.mantissa[i], + locx.mantissa[i], + locy.mantissa[i]); + + if (borrow != 0) + { + /* The y->mantissa was larger than the + ** x->mantissa leaving a negative + ** result. Change the result back to + ** an unsigned number and flip the + ** sign flag. + */ + z.sign = (byte)(locy.sign ^ operation); + borrow = (char)0; + for (i = (INTERNAL_FPF_PRECISION - 1); i >= 0; i--) + { + Sub16Bits(ref borrow, + out z.mantissa[i], + (char)0, + z.mantissa[i]); + } + } + else + { + /* The assumption made above + ** (i.e. x->mantissa >= y->mantissa) + ** was correct. Therefore, do nothing. + ** z->sign = x->sign; + */ + } + + if (IsMantissaZero(z.mantissa)) + { + z.type = IFPF.IFPF_IS_ZERO; + z.sign = 0; /* positive */ + } + else + if (locx.type == IFPF.IFPF_IS_NORMAL || + locy.type == IFPF.IFPF_IS_NORMAL) + { + normalize(z); + } + } + else + { + /* signs are the same, add mantissas */ + carry = (char)0; + for (i = (INTERNAL_FPF_PRECISION - 1); i >= 0; i--) + { + Add16Bits(ref carry, + out z.mantissa[i], + locx.mantissa[i], + locy.mantissa[i]); + } + + if (carry != 0) + { + z.exp++; + carry = (char)0; + ShiftMantRight1(ref carry, z.mantissa); + z.mantissa[0] |= (char)0x8000; + z.type = IFPF.IFPF_IS_NORMAL; + } + else + if ((z.mantissa[0] & 0x8000) != 0) + z.type = IFPF.IFPF_IS_NORMAL; + } + break; + + case STATE.INFINITY_INFINITY: + SetInternalFPFNaN(z); + break; + + case STATE.NAN_NAN: + choose_nan(x, y, z, 1); + break; + } + + /* + ** All the math is done; time to round. + */ + RoundInternalFPF(z); + return; + } + + + /************************ + ** MultiplyInternalFPF ** + ************************* + ** Two internal-representation numbers x and y are multiplied; the + ** result is returned in z. + */ + private static void MultiplyInternalFPF( + InternalFPF x, + InternalFPF y, + InternalFPF z) + { + int i; + int j; + char carry; + char[] extra_bits = new char[INTERNAL_FPF_PRECISION]; + InternalFPF locy; /* Needed since this will be altered */ + /* + ** As in the preceding function, this large switch + ** statement selects among the many combinations + ** of operands. + */ + int count = (int)IFPF.IFPF_TYPE_COUNT; + switch ((STATE)(((int)x.type * count) + (int)y.type)) + { + case STATE.INFINITY_SUBNORMAL: + case STATE.INFINITY_NORMAL: + case STATE.INFINITY_INFINITY: + case STATE.ZERO_ZERO: + case STATE.ZERO_SUBNORMAL: + case STATE.ZERO_NORMAL: + memmove(z, x); + z.sign ^= y.sign; + break; + + case STATE.SUBNORMAL_INFINITY: + case STATE.NORMAL_INFINITY: + case STATE.SUBNORMAL_ZERO: + case STATE.NORMAL_ZERO: + memmove(z, y); + z.sign ^= x.sign; + break; + + case STATE.ZERO_INFINITY: + case STATE.INFINITY_ZERO: + SetInternalFPFNaN(z); + break; + + case STATE.NAN_ZERO: + case STATE.NAN_SUBNORMAL: + case STATE.NAN_NORMAL: + case STATE.NAN_INFINITY: + memmove(z, x); + break; + + case STATE.ZERO_NAN: + case STATE.SUBNORMAL_NAN: + case STATE.NORMAL_NAN: + case STATE.INFINITY_NAN: + memmove(z, y); + break; + + + case STATE.SUBNORMAL_SUBNORMAL: + case STATE.SUBNORMAL_NORMAL: + case STATE.NORMAL_SUBNORMAL: + case STATE.NORMAL_NORMAL: + /* + ** Make a local copy of the y number, since we will be + ** altering it in the process of multiplying. + */ + locy = new InternalFPF(); + memmove(locy, y); + + /* + ** Check for unnormal zero arguments + */ + if (IsMantissaZero(x.mantissa) || IsMantissaZero(y.mantissa)) + { + SetInternalFPFInfinity(z, 0); + } + + /* + ** Initialize the result + */ + if (x.type == IFPF.IFPF_IS_SUBNORMAL || + y.type == IFPF.IFPF_IS_SUBNORMAL) + z.type = IFPF.IFPF_IS_SUBNORMAL; + else + z.type = IFPF.IFPF_IS_NORMAL; + + z.sign = (byte)(x.sign ^ y.sign); + z.exp = (short)(x.exp + y.exp); + for (i = 0; i < INTERNAL_FPF_PRECISION; i++) + { + z.mantissa[i] = (char)0; + extra_bits[i] = (char)0; + } + + for (i = 0; i < (INTERNAL_FPF_PRECISION * 16); i++) + { + /* + ** Get rightmost bit of the multiplier + */ + carry = (char)0; + ShiftMantRight1(ref carry, locy.mantissa); + if (carry != 0) + { + /* + ** Add the multiplicand to the product + */ + carry = (char)0; + for (j = (INTERNAL_FPF_PRECISION - 1); j >= 0; j--) + Add16Bits(ref carry, + out z.mantissa[j], + z.mantissa[j], + x.mantissa[j]); + } + else + { + carry = (char)0; + } + + /* + ** Shift the product right. Overflow bits get + ** shifted into extra_bits. We'll use it later + ** to help with the "sticky" bit. + */ + ShiftMantRight1(ref carry, z.mantissa); + ShiftMantRight1(ref carry, extra_bits); + } + + /* + ** Normalize + ** Note that we use a "special" normalization routine + ** because we need to use the extra bits. (These are + ** bits that may have been shifted off the bottom that + ** we want to reclaim...if we can. + */ + while ((z.mantissa[0] & 0x8000) == 0) + { + carry = (char)0; + ShiftMantLeft1(ref carry, extra_bits); + ShiftMantLeft1(ref carry, z.mantissa); + z.exp--; + } + + /* + ** Set the sticky bit if any bits set in extra bits. + */ + if (IsMantissaZero(extra_bits)) + { + z.mantissa[INTERNAL_FPF_PRECISION - 1] |= (char)1; + } + break; + + case STATE.NAN_NAN: + choose_nan(x, y, z, 0); + break; + } + + /* + ** All math done...do rounding. + */ + RoundInternalFPF(z); + return; + } + + + /********************** + ** DivideInternalFPF ** + *********************** + ** Divide internal FPF number x by y. Return result in z. + */ + private static void DivideInternalFPF( + InternalFPF x, + InternalFPF y, + InternalFPF z) + { + int i; + int j; + char carry; + char[] extra_bits = new char[INTERNAL_FPF_PRECISION]; + InternalFPF locx; /* Local for x number */ + + /* + ** As with preceding function, the following switch + ** statement selects among the various possible + ** operands. + */ + int count = (int)IFPF.IFPF_TYPE_COUNT; + switch ((STATE)(((int)x.type * count) + (int)y.type)) + { + case STATE.ZERO_ZERO: + case STATE.INFINITY_INFINITY: + SetInternalFPFNaN(z); + break; + + case STATE.ZERO_SUBNORMAL: + case STATE.ZERO_NORMAL: + if (IsMantissaZero(y.mantissa)) + { + SetInternalFPFNaN(z); + break; + } + goto case STATE.ZERO_INFINITY; + + case STATE.ZERO_INFINITY: + case STATE.SUBNORMAL_INFINITY: + case STATE.NORMAL_INFINITY: + SetInternalFPFZero(z, (byte)(x.sign ^ y.sign)); + break; + + case STATE.SUBNORMAL_ZERO: + case STATE.NORMAL_ZERO: + if (IsMantissaZero(x.mantissa)) + { + SetInternalFPFNaN(z); + break; + } + goto case STATE.INFINITY_ZERO; + + case STATE.INFINITY_ZERO: + case STATE.INFINITY_SUBNORMAL: + case STATE.INFINITY_NORMAL: + SetInternalFPFInfinity(z, 0); + z.sign = (byte)(x.sign ^ y.sign); + break; + + case STATE.NAN_ZERO: + case STATE.NAN_SUBNORMAL: + case STATE.NAN_NORMAL: + case STATE.NAN_INFINITY: + memmove(z, x); + break; + + case STATE.ZERO_NAN: + case STATE.SUBNORMAL_NAN: + case STATE.NORMAL_NAN: + case STATE.INFINITY_NAN: + memmove(z, y); + break; + + case STATE.SUBNORMAL_SUBNORMAL: + case STATE.NORMAL_SUBNORMAL: + case STATE.SUBNORMAL_NORMAL: + case STATE.NORMAL_NORMAL: + /* + ** Make local copy of x number, since we'll be + ** altering it in the process of dividing. + */ + + locx = new InternalFPF(); + memmove(locx, x); + + /* + ** Check for unnormal zero arguments + */ + if (IsMantissaZero(locx.mantissa)) + { + if (IsMantissaZero(y.mantissa)) + SetInternalFPFNaN(z); + else + SetInternalFPFZero(z, 0); + break; + } + if (IsMantissaZero(y.mantissa)) + { + SetInternalFPFInfinity(z, 0); + break; + } + + /* + ** Initialize the result + */ + z.type = x.type; + z.sign = (byte)(x.sign ^ y.sign); + z.exp = (short)(x.exp - y.exp + + ((INTERNAL_FPF_PRECISION * 16 * 2))); + for (i = 0; i < INTERNAL_FPF_PRECISION; i++) + { + z.mantissa[i] = (char)0; + extra_bits[i] = (char)0; + } + + while ((z.mantissa[0] & 0x8000) == 0) + { + carry = (char)0; + ShiftMantLeft1(ref carry, locx.mantissa); + ShiftMantLeft1(ref carry, extra_bits); + + /* + ** Time to subtract yet? + */ + if (carry == 0) + for (j = 0; j < INTERNAL_FPF_PRECISION; j++) + { + if (y.mantissa[j] > extra_bits[j]) + { + carry = (char)0; + goto no_subtract; + } + if (y.mantissa[j] < extra_bits[j]) + break; + } + /* + ** Divisor (y) <= dividend (x), subtract + */ + carry = (char)0; + for (j = (INTERNAL_FPF_PRECISION - 1); j >= 0; j--) + Sub16Bits(ref carry, + out extra_bits[j], + extra_bits[j], + y.mantissa[j]); + carry = (char)1; /* 1 shifted into quotient */ + no_subtract: + ShiftMantLeft1(ref carry, z.mantissa); + z.exp--; + } + break; + + case STATE.NAN_NAN: + choose_nan(x, y, z, 0); + break; + } + + /* + ** Math complete...do rounding + */ + RoundInternalFPF(z); + } + + /********************** + ** LongToInternalFPF ** + *********************** + ** Convert a signed long integer into an internal FPF number. + */ + private static void LongToInternalFPF( + int mylong, + InternalFPF dest) + { + int i; /* Index */ + char myword; /* Used to hold converted stuff */ + /* + ** Save the sign and get the absolute value. This will help us + ** with 64-bit machines, since we use only the lower 32 + ** bits just in case. + */ + if (mylong < 0) + { + dest.sign = 1; + mylong = 0 - mylong; + } + else + dest.sign = 0; + /* + ** Prepare the destination floating point number + */ + dest.type = IFPF.IFPF_IS_NORMAL; + for (i = 0; i < INTERNAL_FPF_PRECISION; i++) + dest.mantissa[i] = (char)0; + + /* + ** See if we've got a zero. If so, make the resultant FP + ** number a true zero and go home. + */ + if (mylong == 0) + { + dest.type = IFPF.IFPF_IS_ZERO; + dest.exp = 0; + return; + } + + /* + ** Not a true zero. Set the exponent to 32 (internal FPFs have + ** no bias) and load the low and high words into their proper + ** locations in the mantissa. Then normalize. The action of + ** normalizing slides the mantissa bits into place and sets + ** up the exponent properly. + */ + dest.exp = 32; + myword = (char)((mylong >> 16) & 0xFFFFL); + dest.mantissa[0] = myword; + myword = (char)(mylong & 0xFFFFL); + dest.mantissa[1] = myword; + normalize(dest); + return; + } + + /************************ + ** InternalFPFToString ** + ************************* + ** FOR DEBUG PURPOSES + ** This routine converts an internal floating point representation + ** number to a string. Used in debugging the package. + ** Returns length of converted number. + ** NOTE: dest must point to a buffer big enough to hold the + ** result. Also, this routine does append a null (an effect + ** of using the sprintf() function). It also returns + ** a length count. + ** NOTE: This routine returns 5 significant digits. Thats + ** about all I feel safe with, given the method of + ** conversion. It should be more than enough for programmers + ** to determine whether the package is properly ported. + */ + private static int InternalFPFToString( + out string dest, + InternalFPF src) + { + InternalFPF locFPFNum; /* Local for src (will be altered) */ + InternalFPF IFPF10; /* Floating-point 10 */ + InternalFPF IFPFComp; /* For doing comparisons */ + int msign; /* Holding for mantissa sign */ + int expcount; /* Exponent counter */ + int ccount; /* Character counter */ + int i, j, k; /* Index */ + char carryaccum; /* Carry accumulator */ + char mycarry; /* Local for carry */ + + locFPFNum = new InternalFPF(); + IFPF10 = new InternalFPF(); + IFPFComp = new InternalFPF(); + dest = ""; + /* + ** Check first for the simple things...Nan, Infinity, Zero. + ** If found, copy the proper string in and go home. + */ + switch (src.type) + { + case IFPF.IFPF_IS_NAN: + dest = "NaN"; + return (3); + + case IFPF.IFPF_IS_INFINITY: + if (src.sign == 0) + dest = "+Inf"; + else + dest = "-Inf"; + return (4); + + case IFPF.IFPF_IS_ZERO: + if (src.sign == 0) + dest = "+0"; + else + dest = "-0"; + return (2); + } + + /* + ** Move the internal number into our local holding area, since + ** we'll be altering it to print it out. + */ + memmove(locFPFNum, src); + + /* + ** Set up a floating-point 10...which we'll use a lot in a minute. + */ + LongToInternalFPF(10, IFPF10); + + /* + ** Save the mantissa sign and make it positive. + */ + msign = src.sign; + src.sign = 0; + + expcount = 0; /* Init exponent counter */ + + /* + ** See if the number is less than 10. If so, multiply + ** the number repeatedly by 10 until it's not. For each + ** multiplication, decrement a counter so we can keep track + ** of the exponent. + */ + while (true) + { + AddSubInternalFPF(1, locFPFNum, IFPF10, IFPFComp); + if (IFPFComp.sign == 0) + break; + MultiplyInternalFPF(locFPFNum, IFPF10, IFPFComp); + expcount--; + memmove(locFPFNum, IFPFComp); + } + + /* + ** Do the reverse of the above. As long as the number is + ** greater than or equal to 10, divide it by 10. Increment the + ** exponent counter for each multiplication. + */ + while (true) + { + AddSubInternalFPF(1, locFPFNum, IFPF10, IFPFComp); + if (IFPFComp.sign != 0) + break; + DivideInternalFPF(locFPFNum, IFPF10, IFPFComp); + expcount++; + memmove(locFPFNum, IFPFComp); + } + + /* + ** About time to start storing things. First, store the + ** mantissa sign. + */ + ccount = 1; /* Init character counter */ + if (msign == 0) + dest += "+"; + else + dest += "-"; + + /* + ** At this point we know that the number is in the range + ** 10 > n >=1. We need to "strip digits" out of the + ** mantissa. We do this by treating the mantissa as + ** an integer and multiplying by 10. (Not a floating-point + ** 10, but an integer 10. Since this is debug code and we + ** could care less about speed, we'll do it the stupid + ** way and simply add the number to itself 10 times. + ** Anything that makes it to the left of the implied binary point + ** gets stripped off and emitted. We'll do this for + ** 5 significant digits (which should be enough to + ** verify things). + */ + /* + ** Re-position radix point + */ + carryaccum = (char)0; + while (locFPFNum.exp > 0) + { + mycarry = (char)0; + ShiftMantLeft1(ref mycarry, locFPFNum.mantissa); + carryaccum = (char)(carryaccum << 1); + if (mycarry != 0) + carryaccum++; + locFPFNum.exp--; + } + + while (locFPFNum.exp < 0) + { + mycarry = (char)0; + ShiftMantRight1(ref mycarry, locFPFNum.mantissa); + locFPFNum.exp++; + } + + for (i = 0; i < 6; i++) + if (i == 1) + { /* Emit decimal point */ + dest += "."; + ccount++; + } + else + { /* Emit a digit */ + string s = "0"; // ((char)('0'+carryaccum)); // never gets called. + dest += s; + ccount++; + + carryaccum = (char)0; + memmove(IFPF10, locFPFNum); + + /* Do multiply via repeated adds */ + for (j = 0; j < 9; j++) + { + mycarry = (char)0; + for (k = (INTERNAL_FPF_PRECISION - 1); k >= 0; k--) + Add16Bits(ref mycarry, out IFPFComp.mantissa[k], + locFPFNum.mantissa[k], + IFPF10.mantissa[k]); + carryaccum += (char)(mycarry != 0 ? 1 : 0); + memmove(locFPFNum, IFPFComp); + } + } + + /* + ** Now move the 'E', the exponent sign, and the exponent + ** into the string. + */ + dest += "E"; + dest += expcount.ToString(); + + /* + ** All done, go home. + */ + return (dest.Length); + } +} diff --git a/src/benchmarks/coreclr/Bytemark/fourier.cs b/src/benchmarks/coreclr/Bytemark/fourier.cs new file mode 100644 index 00000000000..1ef2f550853 --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/fourier.cs @@ -0,0 +1,226 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +/* +** This program was translated to C# and adapted for xunit-performance. +** New variants of several tests were added to compare class versus +** struct and to compare jagged arrays vs multi-dimensional arrays. +*/ + +/* +** BYTEmark (tm) +** BYTE Magazine's Native Mode benchmarks +** Rick Grehan, BYTE Magazine +** +** Create: +** Revision: 3/95 +** +** DISCLAIMER +** The source, executable, and documentation files that comprise +** the BYTEmark benchmarks are made available on an "as is" basis. +** This means that we at BYTE Magazine have made every reasonable +** effort to verify that the there are no errors in the source and +** executable code. We cannot, however, guarantee that the programs +** are error-free. Consequently, McGraw-HIll and BYTE Magazine make +** no claims in regard to the fitness of the source code, executable +** code, and documentation of the BYTEmark. +** +** Furthermore, BYTE Magazine, McGraw-Hill, and all employees +** of McGraw-Hill cannot be held responsible for any damages resulting +** from the use of this code or the results obtained from using +** this code. +*/ + +using System; + +public class Fourier : FourierStruct +{ + public override string Name() + { + return "FOURIER"; + } + + /* + ** Perform the transcendental/trigonometric portion of the + ** benchmark. This benchmark calculates the first n + ** fourier coefficients of the function (x+1)^x defined + ** on the interval 0,2. + */ + public override double Run() + { + double[] abase; /* Base of A[] coefficients array */ + double[] bbase; /* Base of B[] coefficients array */ + long accumtime; /* Accumulated time in ticks */ + double iterations; /* # of iterations */ + + /* + ** See if we need to do self-adjustment code. + */ + if (this.adjust == 0) + { + this.arraysize = 100; /* Start at 100 elements */ + while (true) + { + abase = new double[this.arraysize]; + bbase = new double[this.arraysize]; + /* + ** Do an iteration of the tests. If the elapsed time is + ** less than or equal to the permitted minimum, re-allocate + ** larger arrays and try again. + */ + if (DoFPUTransIteration(abase, bbase, this.arraysize) > global.min_ticks) break; + this.arraysize += 50; + } + } + else + { + /* + ** Don't need self-adjustment. Just allocate the + ** arrays, and go. + */ + abase = new double[this.arraysize]; + bbase = new double[this.arraysize]; + } + + accumtime = 0L; + iterations = 0.0; + do + { + accumtime += DoFPUTransIteration(abase, bbase, this.arraysize); + iterations += (double)this.arraysize * (double)2.0 - (double)1.0; + } while (ByteMark.TicksToSecs(accumtime) < this.request_secs); + + if (this.adjust == 0) + this.adjust = 1; + + return iterations / (double)ByteMark.TicksToFracSecs(accumtime); + } + + /* + ** Perform an iteration of the FPU Transcendental/trigonometric + ** benchmark. Here, an iteration consists of calculating the + ** first n fourier coefficients of the function (x+1)^x on + ** the interval 0,2. n is given by arraysize. + ** NOTE: The # of integration steps is fixed at + ** 200. + */ + private static long DoFPUTransIteration(double[] abase, double[] bbase, int arraysize) + { + double omega; /* Fundamental frequency */ + int i; /* Index */ + long elapsed; /* Elapsed time */ + + elapsed = ByteMark.StartStopwatch(); + + /* + ** Calculate the fourier series. Begin by + ** calculating A[0]. + */ + + abase[0] = TrapezoidIntegrate(0.0, 2.0, 200, 0.0, 0) / 2.0; + + /* + ** Calculate the fundamental frequency. + ** ( 2 * pi ) / period...and since the period + ** is 2, omega is simply pi. + */ + omega = 3.1415926535897921; + + for (i = 1; i < arraysize; i++) + { + /* + ** Calculate A[i] terms. Note, once again, that we + ** can ignore the 2/period term outside the integral + ** since the period is 2 and the term cancels itself + ** out. + */ + abase[i] = TrapezoidIntegrate(0.0, 2.0, 200, omega * (double)i, 1); + + bbase[i] = TrapezoidIntegrate(0.0, 2.0, 200, omega * (double)i, 2); + } + /* + ** All done, stop the stopwatch + */ + return (ByteMark.StopStopwatch(elapsed)); + } + + /* + ** Perform a simple trapezoid integration on the + ** function (x+1)**x. + ** x0,x1 set the lower and upper bounds of the + ** integration. + ** nsteps indicates # of trapezoidal sections + ** omegan is the fundamental frequency times + ** the series member # + ** select = 0 for the A[0] term, 1 for cosine terms, and + ** 2 for sine terms. + ** Returns the value. + */ + private static double TrapezoidIntegrate(double x0, double x1, int nsteps, double omegan, int select) + { + double x; /* Independent variable */ + double dx; /* Stepsize */ + double rvalue; /* Return value */ + + /* + ** Initialize independent variable + */ + x = x0; + + /* + ** Calculate stepsize + */ + dx = (x1 - x0) / (double)nsteps; + + /* + ** Initialize the return value. + */ + rvalue = thefunction(x0, omegan, select) / (double)2.0; + + /* + ** Compute the other terms of the integral. + */ + if (nsteps != 1) + { + --nsteps; /* Already done 1 step */ + while (--nsteps != 0) + { + x += dx; + rvalue += thefunction(x, omegan, select); + } + } + /* + ** Finish computation + */ + rvalue = (rvalue + thefunction(x1, omegan, select) / (double)2.0) * dx; + + return (rvalue); + } + + /* + ** This routine selects the function to be used + ** in the Trapezoid integration. + ** x is the independent variable + ** omegan is omega * n + ** select chooses which of the sine/cosine functions + ** are used. note the special case for select=0. + */ + private static double thefunction(double x, double omegan, int select) + { + /* + ** Use select to pick which function we call. + */ + switch (select) + { + case 0: return Math.Pow(x + (double)1.0, x); + case 1: return Math.Pow(x + (double)1.0, x) * Math.Cos(omegan * x); + case 2: return Math.Pow(x + (double)1.0, x) * Math.Sin(omegan * x); + } + + /* + ** We should never reach this point, but the following + ** keeps compilers from issuing a warning message. + */ + return (0.0); + } +} diff --git a/src/benchmarks/coreclr/Bytemark/idea.cs b/src/benchmarks/coreclr/Bytemark/idea.cs new file mode 100644 index 00000000000..9fa8dc212d7 --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/idea.cs @@ -0,0 +1,447 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +/* +** This program was translated to C# and adapted for xunit-performance. +** New variants of several tests were added to compare class versus +** struct and to compare jagged arrays vs multi-dimensional arrays. +*/ + +/* +** BYTEmark (tm) +** BYTE Magazine's Native Mode benchmarks +** Rick Grehan, BYTE Magazine +** +** Create: +** Revision: 3/95 +** +** DISCLAIMER +** The source, executable, and documentation files that comprise +** the BYTEmark benchmarks are made available on an "as is" basis. +** This means that we at BYTE Magazine have made every reasonable +** effort to verify that the there are no errors in the source and +** executable code. We cannot, however, guarantee that the programs +** are error-free. Consequently, McGraw-HIll and BYTE Magazine make +** no claims in regard to the fitness of the source code, executable +** code, and documentation of the BYTEmark. +** +** Furthermore, BYTE Magazine, McGraw-Hill, and all employees +** of McGraw-Hill cannot be held responsible for any damages resulting +** from the use of this code or the results obtained from using +** this code. +*/ + +/******************** +** IDEA Encryption ** +********************* +** IDEA - International Data Encryption Algorithm. +** Based on code presented in Applied Cryptography by Bruce Schneier. +** Which was based on code developed by Xuejia Lai and James L. Massey. +** Other modifications made by Colin Plumb. +** +*/ + +/*********** +** DoIDEA ** +************ +** Perform IDEA encryption. Note that we time encryption & decryption +** time as being a single loop. +*/ + +using System; + +public class IDEAEncryption : IDEAStruct +{ + public override string Name() + { + return "IDEA"; + } + + public override double Run() + { + int i; + char[] Z = new char[global.KEYLEN]; + char[] DK = new char[global.KEYLEN]; + char[] userkey = new char[8]; + long accumtime; + double iterations; + byte[] plain1; /* First plaintext buffer */ + byte[] crypt1; /* Encryption buffer */ + byte[] plain2; /* Second plaintext buffer */ + + /* + ** Re-init random-number generator. + */ + ByteMark.randnum(3); + + /* + ** Build an encryption/decryption key + */ + for (i = 0; i < 8; i++) + userkey[i] = (char)(ByteMark.abs_randwc(60000) & 0xFFFF); + for (i = 0; i < global.KEYLEN; i++) + Z[i] = (char)0; + + /* + ** Compute encryption/decryption subkeys + */ + en_key_idea(userkey, Z); + de_key_idea(Z, DK); + + /* + ** Allocate memory for buffers. We'll make 3, called plain1, + ** crypt1, and plain2. It works like this: + ** plain1 >>encrypt>> crypt1 >>decrypt>> plain2. + ** So, plain1 and plain2 should match. + ** Also, fill up plain1 with sample text. + */ + plain1 = new byte[this.arraysize]; + crypt1 = new byte[this.arraysize]; + plain2 = new byte[this.arraysize]; + + /* + ** Note that we build the "plaintext" by simply loading + ** the array up with random numbers. + */ + for (i = 0; i < this.arraysize; i++) + plain1[i] = (byte)(ByteMark.abs_randwc(255) & 0xFF); + + /* + ** See if we need to perform self adjustment loop. + */ + if (this.adjust == 0) + { + /* + ** Do self-adjustment. This involves initializing the + ** # of loops and increasing the loop count until we + ** get a number of loops that we can use. + */ + for (this.loops = 100; + this.loops < global.MAXIDEALOOPS; + this.loops += 10) + if (DoIDEAIteration(plain1, crypt1, plain2, + this.arraysize, + this.loops, + Z, DK) > global.min_ticks) + break; + } + + /* + ** All's well if we get here. Do the test. + */ + accumtime = 0; + iterations = (double)0.0; + + do + { + accumtime += DoIDEAIteration(plain1, crypt1, plain2, + this.arraysize, + this.loops, Z, DK); + iterations += (double)this.loops; + } while (ByteMark.TicksToSecs(accumtime) < this.request_secs); + + /* + ** Clean up, calculate results, and go home. Be sure to + ** show that we don't have to rerun adjustment code. + */ + + if (this.adjust == 0) + this.adjust = 1; + + return (iterations / ByteMark.TicksToFracSecs(accumtime)); + } + + /******************** + ** DoIDEAIteration ** + ********************* + ** Execute a single iteration of the IDEA encryption algorithm. + ** Actually, a single iteration is one encryption and one + ** decryption. + */ + private static long DoIDEAIteration(byte[] plain1, + byte[] crypt1, + byte[] plain2, + int arraysize, + int nloops, + char[] Z, + char[] DK) + { + int i; + int j; + long elapsed; + + /* + ** Start the stopwatch. + */ + elapsed = ByteMark.StartStopwatch(); + + /* + ** Do everything for nloops. + */ + + for (i = 0; i < nloops; i++) + { + for (j = 0; j < arraysize; j += 8) + cipher_idea(plain1, crypt1, j, Z); /* Encrypt */ + + for (j = 0; j < arraysize; j += 8) + cipher_idea(crypt1, plain2, j, DK); /* Decrypt */ + } + + // Validate output + for (j = 0; j < arraysize; j++) + if (plain1[j] != plain2[j]) + { + string error = String.Format("IDEA: error at index {0} ({1} <> {2})!", j, (int)plain1[j], (int)plain2[j]); + throw new Exception(error); + } + + /* + ** Get elapsed time. + */ + return (ByteMark.StopStopwatch(elapsed)); + } + + /******** + ** mul ** + ********* + ** Performs multiplication, modulo (2**16)+1. This code is structured + ** on the assumption that untaken branches are cheaper than taken + ** branches, and that the compiler doesn't schedule branches. + */ + private static char mul(char a, char b) + { + int p; + if (a != 0) + { + if (b != 0) + { + p = unchecked((int)(a * b)); + b = low16(p); + a = unchecked((char)(p >> 16)); + return unchecked((char)(b - a + (b < a ? 1 : 0))); + } + else + return unchecked((char)(1 - a)); + } + else + return unchecked((char)(1 - b)); + } + + /******** + ** inv ** + ********* + ** Compute multiplicative inverse of x, modulo (2**16)+1 + ** using Euclid's GCD algorithm. It is unrolled twice + ** to avoid swapping the meaning of the registers. And + ** some subtracts are changed to adds. + */ + private static char inv(char x) + { + char t0, t1; + char q, y; + + if (x <= 1) + return (x); /* 0 and 1 are self-inverse */ + + t1 = (char)(0x10001 / x); + y = (char)(0x10001 % x); + + if (y == 1) + return (low16(1 - t1)); + + t0 = (char)1; + + do + { + q = (char)(x / y); + x = (char)(x % y); + t0 += (char)(q * t1); + if (x == 1) + return (t0); + q = (char)(y / x); + y = (char)(y % x); + t1 += (char)(q * t0); + } while (y != 1); + return (low16(1 - t1)); + } + + /**************** + ** en_key_idea ** + ***************** + ** Compute IDEA encryption subkeys Z + */ + private static void en_key_idea(char[] userkey, char[] Z) + { + int i, j; + + // NOTE: The temp variables (tmp,idx) were not in original C code. + // It may affect numbers a bit. + int tmp = 0; + int idx = 0; + + /* + ** shifts + */ + for (j = 0; j < 8; j++) + Z[j + idx] = userkey[tmp++]; + for (i = 0; j < global.KEYLEN; j++) + { + i++; + Z[i + 7 + idx] = unchecked((char)((Z[(i & 7) + idx] << 9) | (Z[((i + 1) & 7) + idx] >> 7))); + idx += (i & 8); + i &= 7; + } + return; + } + + /**************** + ** de_key_idea ** + ***************** + ** Compute IDEA decryption subkeys DK from encryption + ** subkeys Z. + */ + private static void de_key_idea(char[] Z, char[] DK) + { + char[] TT = new char[global.KEYLEN]; + int j; + char t1, t2, t3; + + short p = (short)global.KEYLEN; + + // NOTE: Another local variable was needed here but was not in original C. + // May affect benchmark numbers. + int tmpZ = 0; + + t1 = inv(Z[tmpZ++]); + t2 = unchecked((char)(-Z[tmpZ++])); + t3 = unchecked((char)(-Z[tmpZ++])); + TT[--p] = inv(Z[tmpZ++]); + TT[--p] = t3; + TT[--p] = t2; + TT[--p] = t1; + + for (j = 1; j < global.ROUNDS; j++) + { + t1 = Z[tmpZ++]; + TT[--p] = Z[tmpZ++]; + TT[--p] = t1; + t1 = inv(Z[tmpZ++]); + t2 = unchecked((char)(-Z[tmpZ++])); + t3 = unchecked((char)(-Z[tmpZ++])); + TT[--p] = inv(Z[tmpZ++]); + TT[--p] = t2; + TT[--p] = t3; + TT[--p] = t1; + } + + t1 = Z[tmpZ++]; + TT[--p] = Z[tmpZ++]; + TT[--p] = t1; + t1 = inv(Z[tmpZ++]); + t2 = unchecked((char)(-Z[tmpZ++])); + t3 = unchecked((char)(-Z[tmpZ++])); + TT[--p] = inv(Z[tmpZ++]); + TT[--p] = t3; + TT[--p] = t2; + TT[--p] = t1; + + /* + ** Copy and destroy temp copy + */ + for (j = 0, p = 0; j < global.KEYLEN; j++) + { + DK[j] = TT[p]; + TT[p++] = (char)0; + } + + return; + } + + /* + ** MUL(x,y) + ** This #define creates a macro that computes x=x*y modulo 0x10001. + ** Requires temps t16 and t32. Also requires y to be strictly 16 + ** bits. Here, I am using the simplest form. May not be the + ** fastest. -- RG + */ + /* #define MUL(x,y) (x=mul(low16(x),y)) */ + + /**************** + ** cipher_idea ** + ***************** + ** IDEA encryption/decryption algorithm. + */ + + // NOTE: args in and out were renamed because in/out are reserved words + // in cool. + + private static void cipher_idea(byte[] xin, byte[] xout, int offset, char[] Z) + { + char x1, x2, x3, x4, t1, t2; + int r = global.ROUNDS; + + // NOTE: More local variables (AND AN ARG) were required by this + // function. The original C code did not need/have these. + int offset2 = offset; + int idx = 0; + + // NOTE: Because of big endian (and lack of pointers) I had to + // force two bytes into the chars instead of how original + // c code did it. + unchecked + { + x1 = (char)((xin[offset]) | (xin[offset + 1] << 8)); + x2 = (char)((xin[offset + 2]) | (xin[offset + 3] << 8)); + x3 = (char)((xin[offset + 4]) | (xin[offset + 5] << 8)); + x4 = (char)((xin[offset + 6]) | (xin[offset + 7] << 8)); + + do + { + MUL(ref x1, Z[idx++]); + x2 += Z[idx++]; + x3 += Z[idx++]; + MUL(ref x4, Z[idx++]); + + t2 = (char)(x1 ^ x3); + MUL(ref t2, Z[idx++]); + t1 = (char)(t2 + (x2 ^ x4)); + MUL(ref t1, Z[idx++]); + t2 = (char)(t1 + t2); + + x1 ^= t1; + x4 ^= t2; + + t2 ^= x2; + x2 = (char)(x3 ^ t1); + x3 = t2; + } while ((--r) != 0); + + MUL(ref x1, Z[idx++]); + xout[offset2] = (byte)(x1 & 0x00ff); + xout[offset2 + 1] = (byte)((x1 >> 8) & 0x00ff); + xout[offset2 + 2] = (byte)((x3 + Z[idx]) & 0x00ff); + xout[offset2 + 3] = (byte)(((x3 + Z[idx++]) >> 8) & 0x00ff); + xout[offset2 + 4] = (byte)((x2 + Z[idx]) & 0x00ff); + xout[offset2 + 5] = (byte)(((x2 + Z[idx++]) >> 8) & 0x00ff); + MUL(ref x4, Z[idx]); + xout[offset2 + 6] = (byte)(x4 & 0x00ff); + xout[offset2 + 7] = (byte)((x4 >> 8) & 0x00ff); + } + return; + } + + // These were macros in the original C code + + /* #define low16(x) ((x) & 0x0FFFF) */ + private static char low16(int x) + { + return (char)((x) & 0x0FFFF); + } + + /* #define MUL(x,y) (x=mul(low16(x),y)) */ + private static void MUL(ref char x, char y) + { + x = mul(low16(x), y); + } +} diff --git a/src/benchmarks/coreclr/Bytemark/ludecomp.cs b/src/benchmarks/coreclr/Bytemark/ludecomp.cs new file mode 100644 index 00000000000..e2ce4d80f2e --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/ludecomp.cs @@ -0,0 +1,336 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +/* +** This program was translated to C# and adapted for xunit-performance. +** New variants of several tests were added to compare class versus +** struct and to compare jagged arrays vs multi-dimensional arrays. +*/ + +/* +** BYTEmark (tm) +** BYTE Magazine's Native Mode benchmarks +** Rick Grehan, BYTE Magazine +** +** Create: +** Revision: 3/95 +** +** DISCLAIMER +** The source, executable, and documentation files that comprise +** the BYTEmark benchmarks are made available on an "as is" basis. +** This means that we at BYTE Magazine have made every reasonable +** effort to verify that the there are no errors in the source and +** executable code. We cannot, however, guarantee that the programs +** are error-free. Consequently, McGraw-HIll and BYTE Magazine make +** no claims in regard to the fitness of the source code, executable +** code, and documentation of the BYTEmark. +** +** Furthermore, BYTE Magazine, McGraw-Hill, and all employees +** of McGraw-Hill cannot be held responsible for any damages resulting +** from the use of this code or the results obtained from using +** this code. +*/ + +using System; + +/*********************** +** LU DECOMPOSITION ** +** (Linear Equations) ** +************************ +** These routines come from "Numerical Recipes in Pascal". +** Note that, as in the assignment algorithm, though we +** separately define LUARRAYROWS and LUARRAYCOLS, the two +** must be the same value (this routine depends on a square +** matrix). +*/ + +internal class LUDecomp : LUStruct +{ + private const int MAXLUARRAYS = 1000; + + private static double[] s_LUtempvv; + + public override string Name() + { + return "LU DECOMPOSITION"; + } + + public override double Run() + { + double[][] a; + double[] b; + double[][][] abase = null; + double[][] bbase = null; + int n; + int i; + long accumtime; + double iterations; + + /* + ** Our first step is to build a "solvable" problem. This + ** will become the "seed" set that all others will be + ** derived from. (I.E., we'll simply copy these arrays + ** into the others. + */ + a = new double[global.LUARRAYROWS][]; + for (int j = 0; j < global.LUARRAYROWS; j++) + { + a[j] = new double[global.LUARRAYCOLS]; + } + b = new double[global.LUARRAYROWS]; + n = global.LUARRAYROWS; + + s_LUtempvv = new double[global.LUARRAYROWS]; + + build_problem(a, n, b); + + if (this.adjust == 0) + { + for (i = 1; i <= MAXLUARRAYS; i++) + { + abase = new double[i + 1][][]; + for (int j = 0; j < i + 1; j++) + { + abase[j] = new double[global.LUARRAYROWS][]; + for (int k = 0; k < global.LUARRAYROWS; k++) + { + abase[j][k] = new double[global.LUARRAYCOLS]; + } + } + + bbase = new double[i + 1][]; + for (int j = 0; j < i + 1; j++) + { + bbase[j] = new double[global.LUARRAYROWS]; + } + + if (DoLUIteration(a, b, abase, bbase, i) > global.min_ticks) + { + this.numarrays = i; + break; + } + } + + if (this.numarrays == 0) + { + throw new Exception("FPU:LU -- Array limit reached"); + } + } + else + { + abase = new double[this.numarrays][][]; + for (int j = 0; j < this.numarrays; j++) + { + abase[j] = new double[global.LUARRAYROWS][]; + for (int k = 0; k < global.LUARRAYROWS; k++) + { + abase[j][k] = new double[global.LUARRAYCOLS]; + } + } + bbase = new double[this.numarrays][]; + for (int j = 0; j < this.numarrays; j++) + { + bbase[j] = new double[global.LUARRAYROWS]; + } + } + + accumtime = 0; + iterations = 0.0; + + do + { + accumtime += DoLUIteration(a, b, abase, bbase, this.numarrays); + iterations += (double)this.numarrays; + } while (ByteMark.TicksToSecs(accumtime) < this.request_secs); + + if (this.adjust == 0) this.adjust = 1; + + return iterations / ByteMark.TicksToFracSecs(accumtime); + } + + private static long DoLUIteration(double[][] a, double[] b, double[][][] abase, double[][] bbase, int numarrays) + { + double[][] locabase; + double[] locbbase; + long elapsed; + int k, j, i; + + for (j = 0; j < numarrays; j++) + { + locabase = abase[j]; + locbbase = bbase[j]; + for (i = 0; i < global.LUARRAYROWS; i++) + for (k = 0; k < global.LUARRAYCOLS; k++) + locabase[i][k] = a[i][k]; + for (i = 0; i < global.LUARRAYROWS; i++) + locbbase[i] = b[i]; + } + + elapsed = ByteMark.StartStopwatch(); + + for (i = 0; i < numarrays; i++) + { + locabase = abase[i]; + locbbase = bbase[i]; + + lusolve(locabase, global.LUARRAYROWS, locbbase); + } + + return (ByteMark.StopStopwatch(elapsed)); + } + + private static void build_problem(double[][] a, int n, double[] b) + { + int i, j, k, k1; + double rcon; + + ByteMark.randnum(13); + + for (i = 0; i < n; i++) + { + b[i] = (double)(ByteMark.abs_randwc(100) + 1); + for (j = 0; j < n; j++) + if (i == j) + a[i][j] = (double)(ByteMark.abs_randwc(1000) + 1); + else + a[i][j] = (double)0.0; + } + + for (i = 0; i < 8 * n; i++) + { + k = ByteMark.abs_randwc(n); + k1 = ByteMark.abs_randwc(n); + if (k != k1) + { + if (k < k1) rcon = 1.0; + else rcon = -1.0; + for (j = 0; j < n; j++) + a[k][j] += a[k1][j] * rcon; + b[k] += b[k1] * rcon; + } + } + } + + private static int ludcmp(double[][] a, int n, int[] indx, out int d) + { + double big; + double sum; + double dum; + int i, j, k; + int imax = 0; + double tiny; + + tiny = 1.0e-20; + d = 1; + + for (i = 0; i < n; i++) + { + big = 0.0; + for (j = 0; j < n; j++) + if (Math.Abs(a[i][j]) > big) + big = Math.Abs(a[i][j]); + if (big == 0.0) return 0; + s_LUtempvv[i] = 1.0 / big; + } + + for (j = 0; j < n; j++) + { + if (j != 0) + for (i = 0; i < j; i++) + { + sum = a[i][j]; + if (i != 0) + for (k = 0; k < i; k++) + sum -= a[i][k] * a[k][j]; + a[i][j] = sum; + } + big = 0.0; + + for (i = j; i < n; i++) + { + sum = a[i][j]; + if (j != 0) + for (k = 0; k < j; k++) + sum -= a[i][k] * a[k][j]; + a[i][j] = sum; + dum = s_LUtempvv[i] * Math.Abs(sum); + if (dum >= big) + { + big = dum; + imax = i; + } + } + + if (j != imax) + { + for (k = 0; k < n; k++) + { + dum = a[imax][k]; + a[imax][k] = a[j][k]; + a[j][k] = dum; + } + d = -d; + dum = s_LUtempvv[imax]; + s_LUtempvv[imax] = s_LUtempvv[j]; + s_LUtempvv[j] = dum; + } + + indx[j] = imax; + if (a[j][j] == 0.0) + a[j][j] = tiny; + if (j != (n - 1)) + { + dum = 1.0 / a[j][j]; + for (i = j + 1; i < n; i++) + a[i][j] = a[i][j] * dum; + } + } + + return 1; + } + + private static void lubksb(double[][] a, int n, int[] indx, double[] b) + { + int i, j; + int ip; + int ii; + double sum; + + ii = -1; + + for (i = 0; i < n; i++) + { + ip = indx[i]; + sum = b[ip]; + b[ip] = b[i]; + if (ii != -1) + for (j = ii; j < i; j++) + sum = sum - a[i][j] * b[j]; + else + if (sum != (double)0.0) + ii = i; + b[i] = sum; + } + + for (i = (n - 1); i >= 0; i--) + { + sum = b[i]; + if (i != (n - 1)) + for (j = (i + 1); j < n; j++) + sum = sum - a[i][j] * b[j]; + b[i] = sum / a[i][i]; + } + } + + private static int lusolve(double[][] a, int n, double[] b) + { + int[] indx = new int[global.LUARRAYROWS]; + int d; + + if (ludcmp(a, n, indx, out d) == 0) return 0; + + lubksb(a, n, indx, b); + + return 1; + } +} diff --git a/src/benchmarks/coreclr/Bytemark/neural-dat.cs b/src/benchmarks/coreclr/Bytemark/neural-dat.cs new file mode 100644 index 00000000000..e7104a6e4a8 --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/neural-dat.cs @@ -0,0 +1,227 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +/* +** This program was translated to C# and adapted for xunit-performance. +** New variants of several tests were added to compare class versus +** struct and to compare jagged arrays vs multi-dimensional arrays. +*/ + +// Captures contents of NNET.DAT as a string +// to simplfy testing in CoreCLR. + +internal class NeuralData +{ + public static string Input = + "5 7 8 \n" + + "26 \n" + + "0 0 1 0 0 \n" + + "0 1 0 1 0 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 1 1 1 1 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "0 1 0 0 0 0 0 1 \n" + + "1 1 1 1 0 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 1 1 1 0 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 1 1 1 0 \n" + + "0 1 0 0 0 0 1 0 \n" + + "0 1 1 1 0 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 0 \n" + + "1 0 0 0 0 \n" + + "1 0 0 0 0 \n" + + "1 0 0 0 1 \n" + + "0 1 1 1 0 \n" + + "0 1 0 0 0 0 1 1 \n" + + "1 1 1 1 0 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 1 1 1 0 \n" + + "0 1 0 0 0 1 0 0 \n" + + "1 1 1 1 1 \n" + + "1 0 0 0 0 \n" + + "1 0 0 0 0 \n" + + "1 1 1 0 0 \n" + + "1 0 0 0 0 \n" + + "1 0 0 0 0 \n" + + "1 1 1 1 1 \n" + + "0 1 0 0 0 1 0 1 \n" + + "1 1 1 1 1 \n" + + "1 0 0 0 0 \n" + + "1 0 0 0 0 \n" + + "1 1 1 0 0 \n" + + "1 0 0 0 0 \n" + + "1 0 0 0 0 \n" + + "1 0 0 0 0 \n" + + "0 1 0 0 0 1 1 0 \n" + + "0 1 1 1 0 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 0 \n" + + "1 0 0 0 0 \n" + + "1 0 0 1 1 \n" + + "1 0 0 0 1 \n" + + "0 1 1 1 0 \n" + + "0 1 0 0 0 1 1 1 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 1 1 1 1 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "0 1 0 0 1 0 0 0 \n" + + "0 1 1 1 0 \n" + + "0 0 1 0 0 \n" + + "0 0 1 0 0 \n" + + "0 0 1 0 0 \n" + + "0 0 1 0 0 \n" + + "0 0 1 0 0 \n" + + "0 1 1 1 0 \n" + + "0 1 0 0 1 0 0 1 \n" + + "0 0 0 0 1 \n" + + "0 0 0 0 1 \n" + + "0 0 0 0 1 \n" + + "0 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "0 1 1 1 0 \n" + + "0 1 0 0 1 0 1 0 \n" + + "1 0 0 0 1 \n" + + "1 0 0 1 0 \n" + + "1 0 1 0 0 \n" + + "1 1 0 0 0 \n" + + "1 0 1 0 0 \n" + + "1 0 0 1 0 \n" + + "1 0 0 0 1 \n" + + "0 1 0 0 1 0 1 1 \n" + + "1 0 0 0 0 \n" + + "1 0 0 0 0 \n" + + "1 0 0 0 0 \n" + + "1 0 0 0 0 \n" + + "1 0 0 0 0 \n" + + "1 0 0 0 0 \n" + + "1 1 1 1 1 \n" + + "0 1 0 0 1 1 0 0 \n" + + "1 0 0 0 1 \n" + + "1 1 0 1 1 \n" + + "1 0 1 0 1 \n" + + "1 0 1 0 1 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "0 1 0 0 1 1 0 1 \n" + + "1 0 0 0 1 \n" + + "1 1 0 0 1 \n" + + "1 0 1 0 1 \n" + + "1 0 1 0 1 \n" + + "1 0 1 0 1 \n" + + "1 0 0 1 1 \n" + + "1 0 0 0 1 \n" + + "0 1 0 0 1 1 1 0 \n" + + "0 1 1 1 0 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "0 1 1 1 0 \n" + + "0 1 0 0 1 1 1 1 \n" + + "1 1 1 1 0 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 1 1 1 0 \n" + + "1 0 0 0 0 \n" + + "1 0 0 0 0 \n" + + "1 0 0 0 0 \n" + + "0 1 0 1 0 0 0 0 \n" + + "0 1 1 1 0 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 0 1 0 1 \n" + + "1 0 0 1 1 \n" + + "0 1 1 1 1 \n" + + "0 1 0 1 0 0 0 1 \n" + + "1 1 1 1 0 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 1 1 1 0 \n" + + "1 0 1 0 0 \n" + + "1 0 0 1 0 \n" + + "1 0 0 0 1 \n" + + "0 1 0 1 0 0 1 0 \n" + + "0 1 1 1 1 \n" + + "1 0 0 0 0 \n" + + "1 0 0 0 0 \n" + + "0 1 1 1 0 \n" + + "0 0 0 0 1 \n" + + "0 0 0 0 1 \n" + + "1 1 1 1 0 \n" + + "0 1 0 1 0 0 1 1 \n" + + "1 1 1 1 1 \n" + + "0 0 1 0 0 \n" + + "0 0 1 0 0 \n" + + "0 0 1 0 0 \n" + + "0 0 1 0 0 \n" + + "0 0 1 0 0 \n" + + "0 0 1 0 0 \n" + + "0 1 0 1 0 1 0 0 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "0 1 1 1 0 \n" + + "0 1 0 1 0 1 0 1 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "0 1 0 1 0 \n" + + "0 1 0 1 0 \n" + + "0 1 0 1 0 \n" + + "0 1 0 1 0 \n" + + "0 0 1 0 0 \n" + + "0 1 0 1 0 1 1 0 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 0 0 0 1 \n" + + "1 0 1 0 1 \n" + + "1 0 1 0 1 \n" + + "1 0 1 0 1 \n" + + "0 1 0 1 0 \n" + + "0 1 0 1 0 1 1 1 \n" + + "1 0 0 0 1 \n" + + "0 1 0 1 0 \n" + + "0 1 0 1 0 \n" + + "0 0 1 0 0 \n" + + "0 1 0 1 0 \n" + + "0 1 0 1 0 \n" + + "1 0 0 0 1 \n" + + "0 1 0 1 1 0 0 0 \n" + + "1 0 0 0 1 \n" + + "0 1 0 1 0 \n" + + "0 1 0 1 0 \n" + + "0 0 1 0 0 \n" + + "0 0 1 0 0 \n" + + "0 0 1 0 0 \n" + + "0 0 1 0 0 \n" + + "0 1 0 1 1 0 0 1 \n" + + "1 1 1 1 1 \n" + + "0 0 0 1 0 \n" + + "0 0 0 1 0 \n" + + "0 0 1 0 0 \n" + + "0 1 0 0 0 \n" + + "0 1 0 0 0 \n" + + "1 1 1 1 1 \n" + + "0 1 0 1 1 0 1 0 \n" + + " \n"; +} diff --git a/src/benchmarks/coreclr/Bytemark/neural.cs b/src/benchmarks/coreclr/Bytemark/neural.cs new file mode 100644 index 00000000000..73854ee9ccc --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/neural.cs @@ -0,0 +1,879 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +/* +** This program was translated to C# and adapted for xunit-performance. +** New variants of several tests were added to compare class versus +** struct and to compare jagged arrays vs multi-dimensional arrays. +*/ + +/* +** BYTEmark (tm) +** BYTE Magazine's Native Mode benchmarks +** Rick Grehan, BYTE Magazine +** +** Create: +** Revision: 3/95 +** +** DISCLAIMER +** The source, executable, and documentation files that comprise +** the BYTEmark benchmarks are made available on an "as is" basis. +** This means that we at BYTE Magazine have made every reasonable +** effort to verify that the there are no errors in the source and +** executable code. We cannot, however, guarantee that the programs +** are error-free. Consequently, McGraw-HIll and BYTE Magazine make +** no claims in regard to the fitness of the source code, executable +** code, and documentation of the BYTEmark. +** +** Furthermore, BYTE Magazine, McGraw-Hill, and all employees +** of McGraw-Hill cannot be held responsible for any damages resulting +** from the use of this code or the results obtained from using +** this code. +*/ + +/******************************** +** BACK PROPAGATION NEURAL NET ** +********************************* +** This code is a modified version of the code +** that was submitted to BYTE Magazine by +** Maureen Caudill. It accomanied an article +** that I CANNOT NOW RECALL. +** The author's original heading/comment was +** as follows: +** +** Backpropagation Network +** Written by Maureen Caudill +** in Think C 4.0 on a Macintosh +** +** (c) Maureen Caudill 1988-1991 +** This network will accept 5x7 input patterns +** and produce 8 bit output patterns. +** The source code may be copied or modified without restriction, +** but no fee may be charged for its use. +** +** ++++++++++++++ +** I have modified the code so that it will work +** on systems other than a Macintosh -- RG +*/ + +/*********** +** DoNNet ** +************ +** Perform the neural net benchmark. +** Note that this benchmark is one of the few that +** requires an input file. That file is "NNET.DAT" and +** should be on the local directory (from which the +** benchmark program in launched). +*/ + +using System; +using System.IO; + +public class Neural : NNetStruct +{ + public override string Name() + { + return "NEURAL NET(rectangle)"; + } + + /* + ** DEFINES + */ + public static int T = 1; /* TRUE */ + public static int F = 0; /* FALSE */ + public static int ERR = -1; + public static int MAXPATS = 10; /* max number of patterns in data file */ + public static int IN_X_SIZE = 5; /* number of neurodes/row of input layer */ + public static int IN_Y_SIZE = 7; /* number of neurodes/col of input layer */ + public static int IN_SIZE = 35; /* equals IN_X_SIZE*IN_Y_SIZE */ + public static int MID_SIZE = 8; /* number of neurodes in middle layer */ + public static int OUT_SIZE = 8; /* number of neurodes in output layer */ + public static double MARGIN = 0.1; /* how near to 1,0 do we have to come to stop? */ + public static double BETA = 0.09; /* beta learning constant */ + public static double ALPHA = 0.09; /* momentum term constant */ + public static double STOP = 0.1; /* when worst_error less than STOP, training is done */ + + /* + ** MAXNNETLOOPS + ** + ** This constant sets the max number of loops through the neural + ** net that the system will attempt before giving up. This + ** is not a critical constant. You can alter it if your system + ** has sufficient horsepower. + */ + public static int MAXNNETLOOPS = 50000; + + + /* + ** GLOBALS + */ + public static double[,] mid_wts = new double[MID_SIZE, IN_SIZE]; /* middle layer weights */ + public static double[,] out_wts = new double[OUT_SIZE, MID_SIZE]; + public static double[] mid_out = new double[MID_SIZE]; + public static double[] out_out = new double[OUT_SIZE]; + public static double[] mid_error = new double[MID_SIZE]; + public static double[] out_error = new double[OUT_SIZE]; + public static double[,] mid_wt_change = new double[MID_SIZE, IN_SIZE]; + public static double[,] out_wt_change = new double[OUT_SIZE, MID_SIZE]; + public static double[,] in_pats = new double[MAXPATS, IN_SIZE]; + public static double[,] out_pats = new double[MAXPATS, OUT_SIZE]; + public static double[] tot_out_error = new double[MAXPATS]; + public static double[,] out_wt_cum_change = new double[OUT_SIZE, MID_SIZE]; + public static double[,] mid_wt_cum_change = new double[MID_SIZE, IN_SIZE]; + public static double worst_error = 0.0; /* worst error each pass through the data */ + public static double average_error = 0.0; /* average error each pass through the data */ + public static double[] avg_out_error = new double[MAXPATS]; + + public static int iteration_count = 0; /* number of passes thru network so far */ + public static int numpats = 0; /* number of patterns in data file */ + public static int numpasses = 0; /* number of training passes through data file */ + public static int learned = 0; /* flag--if TRUE, network has learned all patterns */ + + /* + ** The Neural Net test requires an input data file. + ** The name is specified here. + */ + public static string inpath = "NNET.DAT"; + + public override + double Run() + { + return DoNNET(this); + } + + /********************* + ** read_data_file() ** + ********************** + ** Read in the input data file and store the patterns in + ** in_pats and out_pats. + ** The format for the data file is as follows: + ** + ** line# data expected + ** ----- ------------------------------ + ** 1 In-X-size,in-y-size,out-size + ** 2 number of patterns in file + ** 3 1st X row of 1st input pattern + ** 4.. following rows of 1st input pattern pattern + ** in-x+2 y-out pattern + ** 1st X row of 2nd pattern + ** etc. + ** + ** Each row of data is separated by commas or spaces. + ** The data is expected to be ascii text corresponding to + ** either a +1 or a 0. + ** + ** Sample input for a 1-pattern file (The comments to the + ** right may NOT be in the file unless more sophisticated + ** parsing of the input is done.): + ** + ** 5,7,8 input is 5x7 grid, output is 8 bits + ** 1 one pattern in file + ** 0,1,1,1,0 beginning of pattern for "O" + ** 1,0,0,0,1 + ** 1,0,0,0,1 + ** 1,0,0,0,1 + ** 1,0,0,0,1 + ** 1,0,0,0,0 + ** 0,1,1,1,0 + ** 0,1,0,0,1,1,1,1 ASCII code for "O" -- 0100 1111 + ** + ** Clearly, this simple scheme can be expanded or enhanced + ** any way you like. + ** + ** Returns -1 if any file error occurred, otherwise 0. + **/ + private + void read_data_file() + { + int xinsize = 0, yinsize = 0, youtsize = 0; + int patt = 0, element = 0, i = 0, row = 0; + int vals_read = 0; + int val1 = 0, val2 = 0, val3 = 0, val4 = 0, val5 = 0, val6 = 0, val7 = 0, val8 = 0; + Object[] results = new Object[8]; + + string input = NeuralData.Input; + + StringReader infile = new StringReader(input); + + vals_read = Utility.fscanf(infile, "%d %d %d", results); + xinsize = (int)results[0]; + yinsize = (int)results[1]; + youtsize = (int)results[2]; + + if (vals_read != 3) + { + throw new Exception("NNET: error reading input"); + } + vals_read = Utility.fscanf(infile, "%d", results); + numpats = (int)results[0]; + if (vals_read != 1) + { + throw new Exception("NNET: error reading input"); + } + if (numpats > MAXPATS) + numpats = MAXPATS; + + for (patt = 0; patt < numpats; patt++) + { + element = 0; + for (row = 0; row < yinsize; row++) + { + vals_read = Utility.fscanf(infile, "%d %d %d %d %d", results); + val1 = (int)results[0]; + val2 = (int)results[1]; + val3 = (int)results[2]; + val4 = (int)results[3]; + val5 = (int)results[4]; + if (vals_read != 5) + { + throw new Exception("NNET: error reading input"); + } + element = row * xinsize; + + in_pats[patt, element] = (double)val1; element++; + in_pats[patt, element] = (double)val2; element++; + in_pats[patt, element] = (double)val3; element++; + in_pats[patt, element] = (double)val4; element++; + in_pats[patt, element] = (double)val5; element++; + } + for (i = 0; i < IN_SIZE; i++) + { + if (in_pats[patt, i] >= 0.9) + in_pats[patt, i] = 0.9; + if (in_pats[patt, i] <= 0.1) + in_pats[patt, i] = 0.1; + } + element = 0; + vals_read = Utility.fscanf(infile, "%d %d %d %d %d %d %d %d", results); + val1 = (int)results[0]; + val2 = (int)results[1]; + val3 = (int)results[2]; + val4 = (int)results[3]; + val5 = (int)results[4]; + val6 = (int)results[5]; + val7 = (int)results[6]; + val8 = (int)results[7]; + + out_pats[patt, element] = (double)val1; element++; + out_pats[patt, element] = (double)val2; element++; + out_pats[patt, element] = (double)val3; element++; + out_pats[patt, element] = (double)val4; element++; + out_pats[patt, element] = (double)val5; element++; + out_pats[patt, element] = (double)val6; element++; + out_pats[patt, element] = (double)val7; element++; + out_pats[patt, element] = (double)val8; element++; + } + } + + + private + double DoNNET(NNetStruct locnnetstruct) + { + // string errorcontext = "CPU:NNET"; + // int systemerror = 0; + long accumtime = 0; + double iterations = 0.0; + + /* + ** Init random number generator. + ** NOTE: It is important that the random number generator + ** be re-initialized for every pass through this test. + ** The NNET algorithm uses the random number generator + ** to initialize the net. Results are sensitive to + ** the initial neural net state. + */ + ByteMark.randnum(3); + + /* + ** Read in the input and output patterns. We'll do this + ** only once here at the beginning. These values don't + ** change once loaded. + */ + read_data_file(); + + /* + ** See if we need to perform self adjustment loop. + */ + if (locnnetstruct.adjust == 0) + { + /* + ** Do self-adjustment. This involves initializing the + ** # of loops and increasing the loop count until we + ** get a number of loops that we can use. + */ + for (locnnetstruct.loops = 1; + locnnetstruct.loops < MAXNNETLOOPS; + locnnetstruct.loops++) + { + ByteMark.randnum(3); + if (DoNNetIteration(locnnetstruct.loops) > global.min_ticks) + break; + } + } + + /* + ** All's well if we get here. Do the test. + */ + accumtime = 0L; + iterations = (double)0.0; + + do + { + ByteMark.randnum(3); /* Gotta do this for Neural Net */ + accumtime += DoNNetIteration(locnnetstruct.loops); + iterations += (double)locnnetstruct.loops; + } while (ByteMark.TicksToSecs(accumtime) < locnnetstruct.request_secs); + + /* + ** Clean up, calculate results, and go home. Be sure to + ** show that we don't have to rerun adjustment code. + */ + locnnetstruct.iterspersec = iterations / ByteMark.TicksToFracSecs(accumtime); + + if (locnnetstruct.adjust == 0) + locnnetstruct.adjust = 1; + + + return locnnetstruct.iterspersec; + } + + /******************** + ** DoNNetIteration ** + ********************* + ** Do a single iteration of the neural net benchmark. + ** By iteration, we mean a "learning" pass. + */ + public static long DoNNetIteration(long nloops) + { + long elapsed; /* Elapsed time */ + int patt; + + /* + ** Run nloops learning cycles. Notice that, counted with + ** the learning cycle is the weight randomization and + ** zeroing of changes. This should reduce clock jitter, + ** since we don't have to stop and start the clock for + ** each iteration. + */ + elapsed = ByteMark.StartStopwatch(); + while (nloops-- != 0) + { + randomize_wts(); + zero_changes(); + iteration_count = 1; + learned = F; + numpasses = 0; + while (learned == F) + { + for (patt = 0; patt < numpats; patt++) + { + worst_error = 0.0; /* reset this every pass through data */ + move_wt_changes(); /* move last pass's wt changes to momentum array */ + do_forward_pass(patt); + do_back_pass(patt); + iteration_count++; + } + numpasses++; + learned = check_out_error(); + } + } + return (ByteMark.StopStopwatch(elapsed)); + } + + /************************* + ** do_mid_forward(patt) ** + ************************** + ** Process the middle layer's forward pass + ** The activation of middle layer's neurode is the weighted + ** sum of the inputs from the input pattern, with sigmoid + ** function applied to the inputs. + **/ + public static void do_mid_forward(int patt) + { + double sum; + int neurode, i; + + for (neurode = 0; neurode < MID_SIZE; neurode++) + { + sum = 0.0; + for (i = 0; i < IN_SIZE; i++) + { /* compute weighted sum of input signals */ + sum += mid_wts[neurode, i] * in_pats[patt, i]; + } + /* + ** apply sigmoid function f(x) = 1/(1+exp(-x)) to weighted sum + */ + sum = 1.0 / (1.0 + Math.Exp(-sum)); + mid_out[neurode] = sum; + } + return; + } + + /********************* + ** do_out_forward() ** + ********************** + ** process the forward pass through the output layer + ** The activation of the output layer is the weighted sum of + ** the inputs (outputs from middle layer), modified by the + ** sigmoid function. + **/ + public static void do_out_forward() + { + double sum; + int neurode, i; + + for (neurode = 0; neurode < OUT_SIZE; neurode++) + { + sum = 0.0; + for (i = 0; i < MID_SIZE; i++) + { /* + ** compute weighted sum of input signals + ** from middle layer + */ + sum += out_wts[neurode, i] * mid_out[i]; + } + /* + ** Apply f(x) = 1/(1+Math.Exp(-x)) to weighted input + */ + sum = 1.0 / (1.0 + Math.Exp(-sum)); + out_out[neurode] = sum; + } + return; + } + + /************************* + ** display_output(patt) ** + ************************** + ** Display the actual output vs. the desired output of the + ** network. + ** Once the training is complete, and the "learned" flag set + ** to TRUE, then display_output sends its output to both + ** the screen and to a text output file. + ** + ** NOTE: This routine has been disabled in the benchmark + ** version. -- RG + **/ + /* + public static void display_output(int patt) + { + int i; + + fprintf(outfile,"\n Iteration # %d",iteration_count); + fprintf(outfile,"\n Desired Output: "); + + for (i=0; i tot_error) + tot_error = -error; /* worst error this pattern */ + } + else + { + sum += error; + if (error > tot_error) + tot_error = error; /* worst error this pattern */ + } + } + avg_out_error[patt] = sum / OUT_SIZE; + tot_out_error[patt] = tot_error; + return; + } + + /*********************** + ** worst_pass_error() ** + ************************ + ** Find the worst and average error in the pass and save it + **/ + public static void worst_pass_error() + { + double error, sum; + + int i; + + error = 0.0; + sum = 0.0; + for (i = 0; i < numpats; i++) + { + if (tot_out_error[i] > error) error = tot_out_error[i]; + sum += avg_out_error[i]; + } + worst_error = error; + average_error = sum / numpats; + return; + } + + /******************* + ** do_mid_error() ** + ******************** + ** Compute the error for the middle layer neurodes + ** This is based on the output errors computed above. + ** Note that the derivative of the sigmoid f(x) is + ** f'(x) = f(x)(1 - f(x)) + ** Recall that f(x) is merely the output of the middle + ** layer neurode on the forward pass. + **/ + public static void do_mid_error() + { + double sum; + int neurode, i; + + for (neurode = 0; neurode < MID_SIZE; neurode++) + { + sum = 0.0; + for (i = 0; i < OUT_SIZE; i++) + sum += out_wts[i, neurode] * out_error[i]; + + /* + ** apply the derivative of the sigmoid here + ** Because of the choice of sigmoid f(I), the derivative + ** of the sigmoid is f'(I) = f(I)(1 - f(I)) + */ + mid_error[neurode] = mid_out[neurode] * (1 - mid_out[neurode]) * sum; + } + return; + } + + /********************* + ** adjust_out_wts() ** + ********************** + ** Adjust the weights of the output layer. The error for + ** the output layer has been previously propagated back to + ** the middle layer. + ** Use the Delta Rule with momentum term to adjust the weights. + **/ + public static void adjust_out_wts() + { + int weight, neurode; + double learn, delta, alph; + + learn = BETA; + alph = ALPHA; + for (neurode = 0; neurode < OUT_SIZE; neurode++) + { + for (weight = 0; weight < MID_SIZE; weight++) + { + /* standard delta rule */ + delta = learn * out_error[neurode] * mid_out[weight]; + + /* now the momentum term */ + delta += alph * out_wt_change[neurode, weight]; + out_wts[neurode, weight] += delta; + + /* keep track of this pass's cum wt changes for next pass's momentum */ + out_wt_cum_change[neurode, weight] += delta; + } + } + return; + } + + /************************* + ** adjust_mid_wts(patt) ** + ************************** + ** Adjust the middle layer weights using the previously computed + ** errors. + ** We use the Generalized Delta Rule with momentum term + **/ + public static void adjust_mid_wts(int patt) + { + int weight, neurode; + double learn, alph, delta; + + learn = BETA; + alph = ALPHA; + for (neurode = 0; neurode < MID_SIZE; neurode++) + { + for (weight = 0; weight < IN_SIZE; weight++) + { + /* first the basic delta rule */ + delta = learn * mid_error[neurode] * in_pats[patt, weight]; + + /* with the momentum term */ + delta += alph * mid_wt_change[neurode, weight]; + mid_wts[neurode, weight] += delta; + + /* keep track of this pass's cum wt changes for next pass's momentum */ + mid_wt_cum_change[neurode, weight] += delta; + } + } + return; + } + + /******************* + ** do_back_pass() ** + ******************** + ** Process the backward propagation of error through network. + **/ + public static void do_back_pass(int patt) + { + do_out_error(patt); + do_mid_error(); + adjust_out_wts(); + adjust_mid_wts(patt); + + return; + } + + + /********************** + ** move_wt_changes() ** + *********************** + ** Move the weight changes accumulated last pass into the wt-change + ** array for use by the momentum term in this pass. Also zero out + ** the accumulating arrays after the move. + **/ + public static void move_wt_changes() + { + int i, j; + + for (i = 0; i < MID_SIZE; i++) + for (j = 0; j < IN_SIZE; j++) + { + mid_wt_change[i, j] = mid_wt_cum_change[i, j]; + /* + ** Zero it out for next pass accumulation. + */ + mid_wt_cum_change[i, j] = 0.0; + } + + for (i = 0; i < OUT_SIZE; i++) + for (j = 0; j < MID_SIZE; j++) + { + out_wt_change[i, j] = out_wt_cum_change[i, j]; + out_wt_cum_change[i, j] = 0.0; + } + + return; + } + + /********************** + ** check_out_error() ** + *********************** + ** Check to see if the error in the output layer is below + ** MARGIN*OUT_SIZE for all output patterns. If so, then + ** assume the network has learned acceptably well. This + ** is simply an arbitrary measure of how well the network + ** has learned -- many other standards are possible. + **/ + public static int check_out_error() + { + int result, i, error; + + result = T; + error = F; + worst_pass_error(); /* identify the worst error in this pass */ + + /* + #if DEBUG + Console.WriteLine("\n Iteration # {0}",iteration_count); + #endif + */ + for (i = 0; i < numpats; i++) + { + /* printf("\n Error pattern %d: Worst: %8.3f; Average: %8.3f", + i+1,tot_out_error[i], avg_out_error[i]); + fprintf(outfile, + "\n Error pattern %d: Worst: %8.3f; Average: %8.3f", + i+1,tot_out_error[i]); + */ + + if (worst_error >= STOP) result = F; + if (tot_out_error[i] >= 16.0) error = T; + } + + if (error == T) result = ERR; + + +#if DEBUG + /* printf("\n Error this pass thru data: Worst: %8.3f; Average: %8.3f", + worst_error,average_error); + */ + /* fprintf(outfile, + "\n Error this pass thru data: Worst: %8.3f; Average: %8.3f", + worst_error, average_error); */ +#endif + + return (result); + } + + + /******************* + ** zero_changes() ** + ******************** + ** Zero out all the wt change arrays + **/ + public static void zero_changes() + { + int i, j; + + for (i = 0; i < MID_SIZE; i++) + { + for (j = 0; j < IN_SIZE; j++) + { + mid_wt_change[i, j] = 0.0; + mid_wt_cum_change[i, j] = 0.0; + } + } + + for (i = 0; i < OUT_SIZE; i++) + { + for (j = 0; j < MID_SIZE; j++) + { + out_wt_change[i, j] = 0.0; + out_wt_cum_change[i, j] = 0.0; + } + } + return; + } + + + /******************** + ** randomize_wts() ** + ********************* + ** Intialize the weights in the middle and output layers to + ** random values between -0.25..+0.25 + ** Function rand() returns a value between 0 and 32767. + ** + ** NOTE: Had to make alterations to how the random numbers were + ** created. -- RG. + **/ + public static void randomize_wts() + { + int neurode, i; + double value; + + /* + ** Following not used int benchmark version -- RG + ** + ** printf("\n Please enter a random number seed (1..32767): "); + ** scanf("%d", &i); + ** srand(i); + */ + + for (neurode = 0; neurode < MID_SIZE; neurode++) + { + for (i = 0; i < IN_SIZE; i++) + { + value = (double)ByteMark.abs_randwc(100000); + value = value / (double)100000.0 - (double)0.5; + mid_wts[neurode, i] = value / 2; + } + } + for (neurode = 0; neurode < OUT_SIZE; neurode++) + { + for (i = 0; i < MID_SIZE; i++) + { + value = (double)ByteMark.abs_randwc(100000); + value = value / (double)10000.0 - (double)0.5; + out_wts[neurode, i] = value / 2; + } + } + return; + } + + /********************** + ** display_mid_wts() ** + *********************** + ** Display the weights on the middle layer neurodes + ** NOTE: This routine is not used in the benchmark + ** test -- RG + **/ + /* static void display_mid_wts() + { + int neurode, weight, row, col; + + fprintf(outfile,"\n Weights of Middle Layer neurodes:"); + + for (neurode=0; neurode MAXPATS) + numpats = MAXPATS; + + for (patt = 0; patt < numpats; patt++) + { + element = 0; + for (row = 0; row < yinsize; row++) + { + vals_read = Utility.fscanf(infile, "%d %d %d %d %d", results); + val1 = (int)results[0]; + val2 = (int)results[1]; + val3 = (int)results[2]; + val4 = (int)results[3]; + val5 = (int)results[4]; + if (vals_read != 5) + { + throw new Exception("NNET: error reading input"); + } + element = row * xinsize; + + in_pats[patt][element] = (double)val1; element++; + in_pats[patt][element] = (double)val2; element++; + in_pats[patt][element] = (double)val3; element++; + in_pats[patt][element] = (double)val4; element++; + in_pats[patt][element] = (double)val5; element++; + } + for (i = 0; i < IN_SIZE; i++) + { + if (in_pats[patt][i] >= 0.9) + in_pats[patt][i] = 0.9; + if (in_pats[patt][i] <= 0.1) + in_pats[patt][i] = 0.1; + } + element = 0; + vals_read = Utility.fscanf(infile, "%d %d %d %d %d %d %d %d", results); + val1 = (int)results[0]; + val2 = (int)results[1]; + val3 = (int)results[2]; + val4 = (int)results[3]; + val5 = (int)results[4]; + val6 = (int)results[5]; + val7 = (int)results[6]; + val8 = (int)results[7]; + + out_pats[patt][element] = (double)val1; element++; + out_pats[patt][element] = (double)val2; element++; + out_pats[patt][element] = (double)val3; element++; + out_pats[patt][element] = (double)val4; element++; + out_pats[patt][element] = (double)val5; element++; + out_pats[patt][element] = (double)val6; element++; + out_pats[patt][element] = (double)val7; element++; + out_pats[patt][element] = (double)val8; element++; + } + } + + private + double DoNNET(NNetStruct locnnetstruct) + { + // string errorcontext = "CPU:NNET"; + // int systemerror = 0; + long accumtime = 0; + double iterations = 0.0; + + /* + ** Init random number generator. + ** NOTE: It is important that the random number generator + ** be re-initialized for every pass through this test. + ** The NNET algorithm uses the random number generator + ** to initialize the net. Results are sensitive to + ** the initial neural net state. + */ + ByteMark.randnum(3); + + /* + ** Read in the input and output patterns. We'll do this + ** only once here at the beginning. These values don't + ** change once loaded. + */ + read_data_file(); + + /* + ** See if we need to perform self adjustment loop. + */ + if (locnnetstruct.adjust == 0) + { + /* + ** Do self-adjustment. This involves initializing the + ** # of loops and increasing the loop count until we + ** get a number of loops that we can use. + */ + for (locnnetstruct.loops = 1; + locnnetstruct.loops < MAXNNETLOOPS; + locnnetstruct.loops++) + { + ByteMark.randnum(3); + if (DoNNetIteration(locnnetstruct.loops) > global.min_ticks) + break; + } + } + + /* + ** All's well if we get here. Do the test. + */ + accumtime = 0L; + iterations = (double)0.0; + + do + { + ByteMark.randnum(3); /* Gotta do this for Neural Net */ + accumtime += DoNNetIteration(locnnetstruct.loops); + iterations += (double)locnnetstruct.loops; + } while (ByteMark.TicksToSecs(accumtime) < locnnetstruct.request_secs); + + /* + ** Clean up, calculate results, and go home. Be sure to + ** show that we don't have to rerun adjustment code. + */ + locnnetstruct.iterspersec = iterations / ByteMark.TicksToFracSecs(accumtime); + + if (locnnetstruct.adjust == 0) + locnnetstruct.adjust = 1; + + return locnnetstruct.iterspersec; + } + + /******************** + ** DoNNetIteration ** + ********************* + ** Do a single iteration of the neural net benchmark. + ** By iteration, we mean a "learning" pass. + */ + public static long DoNNetIteration(long nloops) + { + long elapsed; /* Elapsed time */ + int patt; + + /* + ** Run nloops learning cycles. Notice that, counted with + ** the learning cycle is the weight randomization and + ** zeroing of changes. This should reduce clock jitter, + ** since we don't have to stop and start the clock for + ** each iteration. + */ + elapsed = ByteMark.StartStopwatch(); + while (nloops-- != 0) + { + randomize_wts(); + zero_changes(); + iteration_count = 1; + learned = F; + numpasses = 0; + while (learned == F) + { + for (patt = 0; patt < numpats; patt++) + { + worst_error = 0.0; /* reset this every pass through data */ + move_wt_changes(); /* move last pass's wt changes to momentum array */ + do_forward_pass(patt); + do_back_pass(patt); + iteration_count++; + } + numpasses++; + learned = check_out_error(); + } + } + + return (ByteMark.StopStopwatch(elapsed)); + } + + /************************* + ** do_mid_forward(patt) ** + ************************** + ** Process the middle layer's forward pass + ** The activation of middle layer's neurode is the weighted + ** sum of the inputs from the input pattern, with sigmoid + ** function applied to the inputs. + **/ + public static void do_mid_forward(int patt) + { + double sum; + int neurode, i; + + for (neurode = 0; neurode < MID_SIZE; neurode++) + { + sum = 0.0; + for (i = 0; i < IN_SIZE; i++) + { /* compute weighted sum of input signals */ + sum += mid_wts[neurode][i] * in_pats[patt][i]; + } + /* + ** apply sigmoid function f(x) = 1/(1+exp(-x)) to weighted sum + */ + sum = 1.0 / (1.0 + Math.Exp(-sum)); + mid_out[neurode] = sum; + } + return; + } + + /********************* + ** do_out_forward() ** + ********************** + ** process the forward pass through the output layer + ** The activation of the output layer is the weighted sum of + ** the inputs (outputs from middle layer), modified by the + ** sigmoid function. + **/ + public static void do_out_forward() + { + double sum; + int neurode, i; + + for (neurode = 0; neurode < OUT_SIZE; neurode++) + { + sum = 0.0; + for (i = 0; i < MID_SIZE; i++) + { /* + ** compute weighted sum of input signals + ** from middle layer + */ + sum += out_wts[neurode][i] * mid_out[i]; + } + /* + ** Apply f(x) = 1/(1+Math.Exp(-x)) to weighted input + */ + sum = 1.0 / (1.0 + Math.Exp(-sum)); + out_out[neurode] = sum; + } + return; + } + + /************************* + ** display_output(patt) ** + ************************** + ** Display the actual output vs. the desired output of the + ** network. + ** Once the training is complete, and the "learned" flag set + ** to TRUE, then display_output sends its output to both + ** the screen and to a text output file. + ** + ** NOTE: This routine has been disabled in the benchmark + ** version. -- RG + **/ + /* + public static void display_output(int patt) + { + int i; + + fprintf(outfile,"\n Iteration # %d",iteration_count); + fprintf(outfile,"\n Desired Output: "); + + for (i=0; i tot_error) + tot_error = -error; /* worst error this pattern */ + } + else + { + sum += error; + if (error > tot_error) + tot_error = error; /* worst error this pattern */ + } + } + avg_out_error[patt] = sum / OUT_SIZE; + tot_out_error[patt] = tot_error; + return; + } + + /*********************** + ** worst_pass_error() ** + ************************ + ** Find the worst and average error in the pass and save it + **/ + public static void worst_pass_error() + { + double error, sum; + + int i; + + error = 0.0; + sum = 0.0; + for (i = 0; i < numpats; i++) + { + if (tot_out_error[i] > error) error = tot_out_error[i]; + sum += avg_out_error[i]; + } + worst_error = error; + average_error = sum / numpats; + return; + } + + /******************* + ** do_mid_error() ** + ******************** + ** Compute the error for the middle layer neurodes + ** This is based on the output errors computed above. + ** Note that the derivative of the sigmoid f(x) is + ** f'(x) = f(x)(1 - f(x)) + ** Recall that f(x) is merely the output of the middle + ** layer neurode on the forward pass. + **/ + public static void do_mid_error() + { + double sum; + int neurode, i; + + for (neurode = 0; neurode < MID_SIZE; neurode++) + { + sum = 0.0; + for (i = 0; i < OUT_SIZE; i++) + sum += out_wts[i][neurode] * out_error[i]; + + /* + ** apply the derivative of the sigmoid here + ** Because of the choice of sigmoid f(I), the derivative + ** of the sigmoid is f'(I) = f(I)(1 - f(I)) + */ + mid_error[neurode] = mid_out[neurode] * (1 - mid_out[neurode]) * sum; + } + return; + } + + /********************* + ** adjust_out_wts() ** + ********************** + ** Adjust the weights of the output layer. The error for + ** the output layer has been previously propagated back to + ** the middle layer. + ** Use the Delta Rule with momentum term to adjust the weights. + **/ + public static void adjust_out_wts() + { + int weight, neurode; + double learn, delta, alph; + + learn = BETA; + alph = ALPHA; + for (neurode = 0; neurode < OUT_SIZE; neurode++) + { + for (weight = 0; weight < MID_SIZE; weight++) + { + /* standard delta rule */ + delta = learn * out_error[neurode] * mid_out[weight]; + + /* now the momentum term */ + delta += alph * out_wt_change[neurode][weight]; + out_wts[neurode][weight] += delta; + + /* keep track of this pass's cum wt changes for next pass's momentum */ + out_wt_cum_change[neurode][weight] += delta; + } + } + return; + } + + /************************* + ** adjust_mid_wts(patt) ** + ************************** + ** Adjust the middle layer weights using the previously computed + ** errors. + ** We use the Generalized Delta Rule with momentum term + **/ + public static void adjust_mid_wts(int patt) + { + int weight, neurode; + double learn, alph, delta; + + learn = BETA; + alph = ALPHA; + for (neurode = 0; neurode < MID_SIZE; neurode++) + { + for (weight = 0; weight < IN_SIZE; weight++) + { + /* first the basic delta rule */ + delta = learn * mid_error[neurode] * in_pats[patt][weight]; + + /* with the momentum term */ + delta += alph * mid_wt_change[neurode][weight]; + mid_wts[neurode][weight] += delta; + + /* keep track of this pass's cum wt changes for next pass's momentum */ + mid_wt_cum_change[neurode][weight] += delta; + } + } + return; + } + + /******************* + ** do_back_pass() ** + ******************** + ** Process the backward propagation of error through network. + **/ + public static void do_back_pass(int patt) + { + do_out_error(patt); + do_mid_error(); + adjust_out_wts(); + adjust_mid_wts(patt); + + return; + } + + + /********************** + ** move_wt_changes() ** + *********************** + ** Move the weight changes accumulated last pass into the wt-change + ** array for use by the momentum term in this pass. Also zero out + ** the accumulating arrays after the move. + **/ + public static void move_wt_changes() + { + int i, j; + + for (i = 0; i < MID_SIZE; i++) + for (j = 0; j < IN_SIZE; j++) + { + mid_wt_change[i][j] = mid_wt_cum_change[i][j]; + /* + ** Zero it out for next pass accumulation. + */ + mid_wt_cum_change[i][j] = 0.0; + } + + for (i = 0; i < OUT_SIZE; i++) + for (j = 0; j < MID_SIZE; j++) + { + out_wt_change[i][j] = out_wt_cum_change[i][j]; + out_wt_cum_change[i][j] = 0.0; + } + + return; + } + + /********************** + ** check_out_error() ** + *********************** + ** Check to see if the error in the output layer is below + ** MARGIN*OUT_SIZE for all output patterns. If so, then + ** assume the network has learned acceptably well. This + ** is simply an arbitrary measure of how well the network + ** has learned -- many other standards are possible. + **/ + public static int check_out_error() + { + int result, i, error; + + result = T; + error = F; + worst_pass_error(); /* identify the worst error in this pass */ + + for (i = 0; i < numpats; i++) + { + if (worst_error >= STOP) result = F; + if (tot_out_error[i] >= 16.0) error = T; + } + + if (error == T) result = ERR; + + return (result); + } + + /******************* + ** zero_changes() ** + ******************** + ** Zero out all the wt change arrays + **/ + public static void zero_changes() + { + int i, j; + + for (i = 0; i < MID_SIZE; i++) + { + for (j = 0; j < IN_SIZE; j++) + { + mid_wt_change[i][j] = 0.0; + mid_wt_cum_change[i][j] = 0.0; + } + } + + for (i = 0; i < OUT_SIZE; i++) + { + for (j = 0; j < MID_SIZE; j++) + { + out_wt_change[i][j] = 0.0; + out_wt_cum_change[i][j] = 0.0; + } + } + return; + } + + /******************** + ** randomize_wts() ** + ********************* + ** Intialize the weights in the middle and output layers to + ** random values between -0.25..+0.25 + ** Function rand() returns a value between 0 and 32767. + ** + ** NOTE: Had to make alterations to how the random numbers were + ** created. -- RG. + **/ + public static void randomize_wts() + { + int neurode, i; + double value; + + /* + ** Following not used int benchmark version -- RG + ** + ** printf("\n Please enter a random number seed (1..32767): "); + ** scanf("%d", &i); + ** srand(i); + */ + + for (neurode = 0; neurode < MID_SIZE; neurode++) + { + for (i = 0; i < IN_SIZE; i++) + { + value = (double)ByteMark.abs_randwc(100000); + value = value / (double)100000.0 - (double)0.5; + mid_wts[neurode][i] = value / 2; + } + } + for (neurode = 0; neurode < OUT_SIZE; neurode++) + { + for (i = 0; i < MID_SIZE; i++) + { + value = (double)ByteMark.abs_randwc(100000); + value = value / (double)10000.0 - (double)0.5; + out_wts[neurode][i] = value / 2; + } + } + return; + } + + /********************** + ** display_mid_wts() ** + *********************** + ** Display the weights on the middle layer neurodes + ** NOTE: This routine is not used in the benchmark + ** test -- RG + **/ + /* static void display_mid_wts() + { + int neurode, weight, row, col; + + fprintf(outfile,"\n Weights of Middle Layer neurodes:"); + + for (neurode=0; neurode global.min_ticks) + break; /* We're ok...exit */ + if (this.numarrays++ > global.NUMNUMARRAYS) + { + throw new Exception("CPU:NSORT -- NUMNUMARRAYS hit."); + } + } + } + else + { + /* + ** Allocate space for arrays + */ + arraybase = new int[this.numarrays][]; + for (int i = 0; i < this.numarrays; i++) + arraybase[i] = new int[this.arraysize]; + } + + /* + ** All's well if we get here. Repeatedly perform sorts until the + ** accumulated elapsed time is greater than # of seconds requested. + */ + accumtime = 0L; + iterations = (double)0.0; + + do + { + accumtime += DoNumSortIteration(arraybase, + this.arraysize, + this.numarrays); + iterations += (double)1.0; + } while (ByteMark.TicksToSecs(accumtime) < this.request_secs); + + if (this.adjust == 0) + this.adjust = 1; + + return (iterations * (double)this.numarrays / ByteMark.TicksToFracSecs(accumtime)); + } + + /*********************** + ** DoNumSortIteration ** + ************************ + ** This routine executes one iteration of the numeric + ** sort benchmark. It returns the number of ticks + ** elapsed for the iteration. + */ + + // JTR: The last 2 parms are no longer needed as they + // can be inferred from the arraybase. + private static int DoNumSortIteration(int[][] arraybase, int arraysize, int numarrays) + { + long elapsed; /* Elapsed ticks */ + int i; + /* + ** Load up the array with random numbers + */ + LoadNumArrayWithRand(arraybase, arraysize, numarrays); + + /* + ** Start the stopwatch + */ + elapsed = ByteMark.StartStopwatch(); + + /* + ** Execute a heap of heapsorts + */ + for (i = 0; i < numarrays; i++) + { + // NumHeapSort(arraybase+i*arraysize,0L,arraysize-1L); + NumHeapSort(arraybase[i], 0, arraysize - 1); + } + + /* + ** Get elapsed time + */ + elapsed = ByteMark.StopStopwatch(elapsed); +#if DEBUG + { + for (i = 0; i < arraysize - 1; i++) + { /* + ** Compare to check for proper + ** sort. + */ + if (arraybase[0][i + 1] < arraybase[0][i]) + { + Console.Write("Sort Error\n"); + break; + } + } + } +#endif + + return ((int)elapsed); + } + + /************************* + ** LoadNumArrayWithRand ** + ************************** + ** Load up an array with random longs. + */ + private static void LoadNumArrayWithRand(int[][] array, /* Pointer to arrays */ + int arraysize, + int numarrays) /* # of elements in array */ + { + int i; /* Used for index */ + + /* + ** Initialize the random number generator + */ + ByteMark.randnum(13); + + /* + ** Load up first array with randoms + */ + for (i = 0; i < arraysize; i++) + array[0][i] = ByteMark.randnum(0); + + /* + ** Now, if there's more than one array to load, copy the + ** first into each of the others. + */ + for (i = 1; i < numarrays; i++) + { + // the old code didn't do a memcpy, so I'm not doing + // an Array.Copy() + for (int j = 0; j < arraysize; j++) + array[i][j] = array[0][j]; + } + + return; + } + + /**************** + ** NumHeapSort ** + ***************** + ** Pass this routine a pointer to an array of long + ** integers. Also pass in minimum and maximum offsets. + ** This routine performs a heap sort on that array. + */ + private static void NumHeapSort(int[] array, + int bottom, /* Lower bound */ + int top) /* Upper bound */ + { + int temp; /* Used to exchange elements */ + int i; /* Loop index */ + + /* + ** First, build a heap in the array + */ + for (i = (top / 2); i > 0; --i) + NumSift(array, i, top); + + /* + ** Repeatedly extract maximum from heap and place it at the + ** end of the array. When we get done, we'll have a sorted + ** array. + */ + for (i = top; i > 0; --i) + { + NumSift(array, bottom, i); + temp = array[0]; /* Perform exchange */ + array[0] = array[i]; + array[i] = temp; + } + return; + } + + /************ + ** NumSift ** + ************* + ** Peforms the sift operation on a numeric array, + ** constructing a heap in the array. + */ + private static void NumSift(int[] array, /* Array of numbers */ + int i, /* Minimum of array */ + int j) /* Maximum of array */ + { + int k; + int temp; /* Used for exchange */ + + while ((i + i) <= j) + { + k = i + i; + if (k < j) + if (array[k] < array[k + 1]) + ++k; + if (array[i] < array[k]) + { + temp = array[k]; + array[k] = array[i]; + array[i] = temp; + i = k; + } + else + i = j + 1; + } + return; + } +} + +/////////////////////////////////////////////////////////////////////////////////////// +// New class +/////////////////////////////////////////////////////////////////////////////////////// +public class NumericSortRect : SortStruct +{ + public override string Name() + { + return "NUMERIC SORT(rectangle)"; + } + + public override double Run() + { + /* + ** Set the error context string. + */ + int[,] arraybase; /* Base pointers of array */ + long accumtime; /* Accumulated time */ + double iterations; /* Iteration counter */ + + /* + ** See if we need to do self adjustment code. + */ + if (this.adjust == 0) + { + /* + ** Self-adjustment code. The system begins by sorting 1 + ** array. If it does that in no time, then two arrays + ** are built and sorted. This process continues until + ** enough arrays are built to handle the tolerance. + */ + this.numarrays = 1; + while (true) + { + /* + ** Allocate space for arrays + */ + arraybase = new int[this.numarrays, this.arraysize]; + + /* + ** Do an iteration of the numeric sort. If the + ** elapsed time is less than or equal to the permitted + ** minimum, then allocate for more arrays and + ** try again. + */ + if (DoNumSortIteration(arraybase, + this.arraysize, + this.numarrays) > global.min_ticks) + break; /* We're ok...exit */ + if (this.numarrays++ > global.NUMNUMARRAYS) + { + throw new Exception("CPU:NSORT -- NUMNUMARRAYS hit."); + } + } + } + else + { + /* + ** Allocate space for arrays + */ + arraybase = new int[this.numarrays, this.arraysize]; + } + + /* + ** All's well if we get here. Repeatedly perform sorts until the + ** accumulated elapsed time is greater than # of seconds requested. + */ + accumtime = 0L; + iterations = (double)0.0; + + do + { + accumtime += DoNumSortIteration(arraybase, + this.arraysize, + this.numarrays); + iterations += (double)1.0; + } while (ByteMark.TicksToSecs(accumtime) < this.request_secs); + + if (this.adjust == 0) + this.adjust = 1; + + return (iterations * (double)this.numarrays / ByteMark.TicksToFracSecs(accumtime)); + } + + /*********************** + ** DoNumSortIteration ** + ************************ + ** This routine executes one iteration of the numeric + ** sort benchmark. It returns the number of ticks + ** elapsed for the iteration. + */ + + // JTR: The last 2 parms are no longer needed as they + // can be inferred from the arraybase. + private static int DoNumSortIteration(int[,] arraybase, int arraysize, int numarrays) + { + long elapsed; /* Elapsed ticks */ + int i; + /* + ** Load up the array with random numbers + */ + LoadNumArrayWithRand(arraybase, arraysize, numarrays); + + /* + ** Start the stopwatch + */ + elapsed = ByteMark.StartStopwatch(); + + /* + ** Execute a heap of heapsorts + */ + for (i = 0; i < numarrays; i++) + { + // NumHeapSort(arraybase+i*arraysize,0L,arraysize-1L); + NumHeapSort(arraybase, i, arraysize - 1); + } + + /* + ** Get elapsed time + */ + elapsed = ByteMark.StopStopwatch(elapsed); +#if DEBUG + { + for (i = 0; i < arraysize - 1; i++) + { /* + ** Compare to check for proper + ** sort. + */ + if (arraybase[0, i + 1] < arraybase[0, i]) + { + Console.Write("size: {0}, count: {1}, total: {2}\n", arraysize, numarrays, arraybase.Length); + Console.Write("Sort Error at index {0}\n", i); + break; + } + } + } +#endif + + return ((int)elapsed); + } + + /************************* + ** LoadNumArrayWithRand ** + ************************** + ** Load up an array with random longs. + */ + private static void LoadNumArrayWithRand(int[,] array, /* Pointer to arrays */ + int arraysize, + int numarrays) /* # of elements in array */ + { + int i; /* Used for index */ + + /* + ** Initialize the random number generator + */ + ByteMark.randnum(13); + + /* + ** Load up first array with randoms + */ + for (i = 0; i < arraysize; i++) + array[0, i] = ByteMark.randnum(0); + + /* + ** Now, if there's more than one array to load, copy the + ** first into each of the others. + */ + while (--numarrays > 0) + { + for (int j = 0; j < arraysize; j++, i++) + array[numarrays, j] = array[0, j]; + } + + return; + } + + /**************** + ** NumHeapSort ** + ***************** + ** Pass this routine a pointer to an array of long + ** integers. Also pass in minimum and maximum offsets. + ** This routine performs a heap sort on that array. + */ + private static void NumHeapSort(int[,] array, + int row, /* which row */ + int top) /* Upper bound */ + { + int temp; /* Used to exchange elements */ + int i; /* Loop index */ + + /* + ** First, build a heap in the array + */ + for (i = (top / 2); i > 0; --i) + NumSift(array, row, i, top); + + /* + ** Repeatedly extract maximum from heap and place it at the + ** end of the array. When we get done, we'll have a sorted + ** array. + */ + for (i = top; i > 0; --i) + { + NumSift(array, row, 0, i); + temp = array[row, 0]; /* Perform exchange */ + array[row, 0] = array[row, i]; + array[row, i] = temp; + } + return; + } + + /************ + ** NumSift ** + ************* + ** Peforms the sift operation on a numeric array, + ** constructing a heap in the array. + */ + private static void NumSift(int[,] array, /* Array of numbers */ + int row, + int i, /* Minimum of array */ + int j) /* Maximum of array */ + { + int k; + int temp; /* Used for exchange */ + + while ((i + i) <= j) + { + k = i + i; + if (k < j) + if (array[row, k] < array[row, k + 1]) + ++k; + if (array[row, i] < array[row, k]) + { + temp = array[row, k]; + array[row, k] = array[row, i]; + array[row, i] = temp; + i = k; + } + else + i = j + 1; + } + return; + } +} diff --git a/src/benchmarks/coreclr/Bytemark/utility.cs b/src/benchmarks/coreclr/Bytemark/utility.cs new file mode 100644 index 00000000000..c0bdbb656f3 --- /dev/null +++ b/src/benchmarks/coreclr/Bytemark/utility.cs @@ -0,0 +1,103 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Text; +using System.IO; + +public class Utility +{ + static public int sscanf(String stream, String format, Object[] results) + { + int fieldsRead = 0; + int resultsIndex = 0; + int formatIndex = 0; + char fieldType = '\0'; + char charRead = '\0'; + bool readingField = false; + bool eatWhiteSpace = false; + StringReader srStream = new StringReader(stream); + + while (formatIndex < format.Length) + { + if (Char.IsWhiteSpace((char)format[formatIndex])) + { + eatWhiteSpace = true; + formatIndex++; + continue; + } + while (eatWhiteSpace) + { + if (!Char.IsWhiteSpace((char)srStream.Peek())) + { + eatWhiteSpace = false; + break; + } + srStream.Read(); + } + if ('%' == format[formatIndex]) //If we found a scan field type + { + StringBuilder sb = new StringBuilder(); + ++formatIndex; + fieldType = format[formatIndex++]; + readingField = true; + charRead = (char)srStream.Read(); + + while (readingField) + { + if (-1 == (short)charRead) + { + readingField = false; + } + + sb.Append(charRead); + + int intCharRead = srStream.Peek(); + unchecked + { + charRead = (char)intCharRead; + } + if (Char.IsWhiteSpace(charRead) || ('c' == fieldType) || (-1 == intCharRead)) + { + readingField = false; + fieldsRead++; + + switch (fieldType) + { + case 'c': + results[resultsIndex++] = sb.ToString()[0]; + break; + case 'd': + case 'i': + int parsedInt; + parsedInt = int.Parse(sb.ToString()); + results[resultsIndex++] = parsedInt; + break; + case 'f': + double parsedDouble; + parsedDouble = double.Parse(sb.ToString()); + results[resultsIndex++] = parsedDouble; + break; + case 's': + results[resultsIndex++] = sb.ToString(); + break; + } + continue; + } + charRead = (char)srStream.Read(); + } + } + } + + return fieldsRead; + } + + static public int fscanf(TextReader stream, String format, Object[] results) + { + String s = stream.ReadLine(); + if (null == s) + return 0; + return sscanf(s, format, results); + } +} diff --git a/src/benchmarks/coreclr/Devirtualization/DefaultEqualityComparerPerf.cs b/src/benchmarks/coreclr/Devirtualization/DefaultEqualityComparerPerf.cs new file mode 100644 index 00000000000..3fdfcff1f34 --- /dev/null +++ b/src/benchmarks/coreclr/Devirtualization/DefaultEqualityComparerPerf.cs @@ -0,0 +1,84 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Runtime.CompilerServices; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +// Performance tests for optimizations related to EqualityComparer.Default + +namespace Devirtualization +{ + public class EqualityComparerFixture where T : IEquatable + { + IEqualityComparer comparer; + + public EqualityComparerFixture(IEqualityComparer customComparer = null) + { + comparer = customComparer ?? EqualityComparer.Default; + } + + // Baseline method showing unoptimized performance + [MethodImpl(MethodImplOptions.NoOptimization | MethodImplOptions.NoInlining)] + public bool CompareNoOpt(ref T a, ref T b) + { + return EqualityComparer.Default.Equals(a, b); + } + + // The code this method invokes should be well-optimized + [MethodImpl(MethodImplOptions.NoInlining)] + public bool Compare(ref T a, ref T b) + { + return EqualityComparer.Default.Equals(a, b); + } + + // This models how Dictionary uses a comparer. We're not + // yet able to optimize such cases. + [MethodImpl(MethodImplOptions.NoInlining)] + public bool CompareCached(ref T a, ref T b) + { + return comparer.Equals(a, b); + } + + private static IEqualityComparer Wrapped() + { + return EqualityComparer.Default; + } + + // We would need enhancements to late devirtualization + // to optimize this case. + [MethodImpl(MethodImplOptions.NoInlining)] + public bool CompareWrapped(ref T x, ref T y) + { + return Wrapped().Equals(x, y); + } + } + + [BenchmarkCategory(Categories.CoreCLR)] + public class EqualityComparer + { + public enum E + { + RED = 1, + BLUE = 2 + } + + private EqualityComparerFixture> valueTupleFixture = new EqualityComparerFixture>(); + private ValueTuple v0 = new ValueTuple(3, E.RED, 11); + + [Benchmark] + public bool ValueTupleCompareNoOpt() => valueTupleFixture.CompareNoOpt(ref v0, ref v0); + + [Benchmark] + public bool ValueTupleCompare() => valueTupleFixture.Compare(ref v0, ref v0); + + [Benchmark] + public bool ValueTupleCompareCached() => valueTupleFixture.CompareCached(ref v0, ref v0); + + [Benchmark] + public bool ValueTupleCompareWrapped() => valueTupleFixture.CompareWrapped(ref v0, ref v0); + } +} diff --git a/src/benchmarks/coreclr/FractalPerf/FractalPerf.cs b/src/benchmarks/coreclr/FractalPerf/FractalPerf.cs new file mode 100644 index 00000000000..bd0c78c7145 --- /dev/null +++ b/src/benchmarks/coreclr/FractalPerf/FractalPerf.cs @@ -0,0 +1,139 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace FractalPerf +{ + struct complex + { + public complex(double a, double b) { r = a; i = b; } + public double r; + public double i; + + public complex square() { + return new complex(r * r - i * i, 2.0 * r * i); + } + + public double sqabs() { + return r * r + i * i; + } + + public override string ToString() { + return String.Format("[{0} + {1}i]", r, i); + } + + public static complex operator +(complex a, complex b) { + return new complex(a.r + b.r, a.i + b.i); + } + } + + public abstract class Fractal + { + protected double XB, YB, XE, YE, XS, YS; + const double resolution = 375.0; + + public Fractal(double xbeg, double ybeg, double xend, double yend) { + XB = Math.Min(xbeg, xend); + YB = Math.Min(ybeg, yend); + XE = Math.Max(xbeg, xend); + YE = Math.Max(ybeg, yend); + XS = (xend - xbeg) / resolution; + YS = (yend - ybeg) / resolution; + } + + public abstract double Render(); + + public static double Clamp(double val, double lo, double hi) { + return Math.Min(Math.Max(val, lo), hi); + } + } + + public class Mandelbrot : Fractal + { + public Mandelbrot() : base(-2.0, -1.5, 1.0, 1.5) { } + + public override double Render() { + double limit = 4.0; + double result = 0.0; + + for (double y = YB; y < YE; y += YS) { + for (double x = YB; x < YE; x += XS) { + complex num = new complex(x, y); + complex accum = num; + int iters; + for (iters = 0; iters < 1000; iters++) { + accum = accum.square(); + accum += num; + if (accum.sqabs() > limit) + break; + } + result += iters; + } + } + return result; + } + } + + public class Julia : Fractal + { + private double Real; + double Imaginary; + public Julia(double real, double imaginary) + : base(-2.0, -1.5, 1.0, 1.5) { + Real = real; + Imaginary = imaginary; + } + + public override double Render() { + double limit = 4.0; + double result = 0.0; + + // set the Julia Set constant + complex seed = new complex(Real, Imaginary); + // run through every point on the screen, setting + // m and n to the coordinates + for (double m = XB; m < XE; m += XS) { + for (double n = YB; n < YE; n += YS) { + // the initial z value is the current pixel, + // so x and y have to be set to m and n + complex accum = new complex(m, n); + // perform the iteration + int num; + for (num = 0; num < 1000; num++) { + // exit the loop if the number becomes too big + if (accum.sqabs() > limit) + break; + // use the formula + accum = accum.square() + seed; + } + // determine the color using the number of + // iterations it took for the number to become too big + // char color = num % number_of_colors; + // plot the point + result += num; + } + } + return result; + } + } + + [BenchmarkCategory(Categories.CoreCLR)] + public class Launch + { + [Benchmark(Description = nameof(FractalPerf))] + public double Test() + { + Mandelbrot m = new Mandelbrot(); + Julia j = new Julia(-0.62, 0.41); + double mResult = m.Render(); + double jResult = j.Render(); + + return mResult + jResult; + } + } +} diff --git a/src/benchmarks/coreclr/Inlining/InlineGCStruct.cs b/src/benchmarks/coreclr/Inlining/InlineGCStruct.cs new file mode 100644 index 00000000000..8e1a51cccf6 --- /dev/null +++ b/src/benchmarks/coreclr/Inlining/InlineGCStruct.cs @@ -0,0 +1,76 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// In CoreCLR String.Format(ref, ref) is small and readily inlined. +// The inline introduces a System.Parms GC struct local which is +// untracked and must be zero initialized in the prolog. When the +// inlined callsite is in a cold path, the inline hurts performance. +// +// There are two test methods below, one of which calls String.Format +// on a cold path and the other which has similar structure but +// does not call String.Format. Expectation is that they will have +// similar performance. +// +// See https://github.com/dotnet/coreclr/issues/7569 for context. + +using System; +using System.Runtime.CompilerServices; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Inlining +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Inlining)] +public class InlineGCStruct +{ + [MethodImpl(MethodImplOptions.NoInlining)] + public static int FastFunctionNotCallingStringFormat(int param) + { + if (param < 0) + { + throw new Exception(String.Format("We do not like the value {0:N0}.", param)); + } + + if (param == int.MaxValue) + { + throw new Exception(String.Format("{0:N0} is maxed out.", param)); + } + + if (param > int.MaxValue / 2) + { + throw new Exception(String.Format("We do not like the value {0:N0} either.", param)); + } + + return param * 2; + } + + [MethodImpl(MethodImplOptions.NoInlining)] + public static int FastFunctionNotHavingStringFormat(int param) + { + if (param < 0) + { + throw new ArgumentOutOfRangeException("param", "We do not like this value."); + } + + if (param == int.MaxValue) + { + throw new ArgumentOutOfRangeException("param", "Maxed out."); + } + + if (param > int.MaxValue / 2) + { + throw new ArgumentOutOfRangeException("param", "We do not like this value either."); + } + + return param * 2; + } + + [Benchmark] + public int WithFormat() => FastFunctionNotCallingStringFormat(11); + + [Benchmark] + public int WithoutFormat() => FastFunctionNotHavingStringFormat(11); +} +} + diff --git a/src/benchmarks/coreclr/Inlining/NoThrowInline.cs b/src/benchmarks/coreclr/Inlining/NoThrowInline.cs new file mode 100644 index 00000000000..19288bb14b6 --- /dev/null +++ b/src/benchmarks/coreclr/Inlining/NoThrowInline.cs @@ -0,0 +1,53 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Runtime.CompilerServices; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Inlining +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.Inlining)] +public class NoThrowInline +{ + static void ThrowIfNull(string s) + { + if (s == null) + ThrowArgumentNullException(); + } + + static void ThrowArgumentNullException() + { + throw new ArgumentNullException(); + } + + // + // We expect ThrowArgumentNullException to not be inlined into Bench, the throw code is pretty + // large and throws are extremly slow. However, we need to be careful not to degrade the + // non-exception path performance by preserving registers across the call. For this the compiler + // will have to understand that ThrowArgumentNullException never returns and omit the register + // preservation code. + // + // For example, the Bench method below has 4 arguments (all passed in registers on x64) and fairly + // typical argument validation code. If the compiler does not inline ThrowArgumentNullException + // and does not make use of the "no return" information then all 4 register arguments will have + // to be spilled and then reloaded. That would add 8 unnecessary memory accesses. + // + + [MethodImpl(MethodImplOptions.NoInlining)] + static int Bench(string a, string b, string c, string d) + { + ThrowIfNull(a); + ThrowIfNull(b); + ThrowIfNull(c); + ThrowIfNull(d); + + return a.Length + b.Length + c.Length + d.Length; + } + + [Benchmark(Description = nameof(NoThrowInline))] + public int Test() => Bench("a", "bc", "def", "ghij"); +} +} diff --git a/src/benchmarks/coreclr/Layout/SearchLoops.cs b/src/benchmarks/coreclr/Layout/SearchLoops.cs new file mode 100644 index 00000000000..a67153190dd --- /dev/null +++ b/src/benchmarks/coreclr/Layout/SearchLoops.cs @@ -0,0 +1,94 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; +using BenchmarkDotNet.Running; +using Benchmarks; + +// Test code taken directly from GitHub issue #9692 (https://github.com/dotnet/coreclr/issues/9692) +// Laying the loop's early return path in-line can cost 30% on this micro-benchmark. + +namespace Layout +{ + [BenchmarkCategory(Categories.CoreCLR)] + public unsafe class SearchLoops + { + public int length = 100; + + private string test1; + private string test2; + + public SearchLoops() + { + test1 = new string('A', length); + test2 = new string('A', length); + } + + [Benchmark] + public bool LoopReturn() => LoopReturn(test1, test2); + + [Benchmark] + public bool LoopGoto() => LoopGoto(test1, test2); + + // Variant with code written naturally -- need JIT to lay this out + // with return path out of loop for best performance. + public static bool LoopReturn(String strA, String strB) + { + int length = strA.Length; + + fixed (char* ap = strA) fixed (char* bp = strB) + { + char* a = ap; + char* b = bp; + + while (length != 0) + { + int charA = *a; + int charB = *b; + + if (charA != charB) + return false; // placement of prolog for this return is the issue + + a++; + b++; + length--; + } + + return true; + } + } + + // Variant with code written awkwardly but which acheives the desired + // performance if JIT simply lays out code in source order. + public static bool LoopGoto(String strA, String strB) + { + int length = strA.Length; + + fixed (char* ap = strA) fixed (char* bp = strB) + { + char* a = ap; + char* b = bp; + + while (length != 0) + { + int charA = *a; + int charB = *b; + + if (charA != charB) + goto ReturnFalse; // placement of prolog for this return is the issue + + a++; + b++; + length--; + } + + return true; + + ReturnFalse: + return false; + } + } + } +} diff --git a/src/benchmarks/coreclr/Linq/Linq.cs b/src/benchmarks/coreclr/Linq/Linq.cs new file mode 100644 index 00000000000..75e3e85f35e --- /dev/null +++ b/src/benchmarks/coreclr/Linq/Linq.cs @@ -0,0 +1,369 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +public class Product +{ + public int ProductID { get; set; } + public string ProductName { get; set; } + public string Category { get; set; } + public decimal UnitPrice { get; set; } + public int UnitsInStock { get; set; } + + private static List s_productList; + + public static List GetProductList() + { + if (s_productList == null) + CreateLists(); + + return s_productList; + } + + private static void CreateLists() + { + s_productList = + new List { + new Product { ProductID = 1, ProductName = "Chai", Category = "Beverages", UnitPrice = 18.0000M, UnitsInStock = 39 }, + new Product { ProductID = 2, ProductName = "Chang", Category = "Beverages", UnitPrice = 19.0000M, UnitsInStock = 17 }, + new Product { ProductID = 3, ProductName = "Aniseed Syrup", Category = "Condiments", UnitPrice = 10.0000M, UnitsInStock = 13 }, + new Product { ProductID = 4, ProductName = "Chef Anton's Cajun Seasoning", Category = "Condiments", UnitPrice = 22.0000M, UnitsInStock = 53 }, + new Product { ProductID = 5, ProductName = "Chef Anton's Gumbo Mix", Category = "Condiments", UnitPrice = 21.3500M, UnitsInStock = 0 }, + new Product { ProductID = 6, ProductName = "Grandma's Boysenberry Spread", Category = "Condiments", UnitPrice = 25.0000M, UnitsInStock = 120 }, + new Product { ProductID = 7, ProductName = "Uncle Bob's Organic Dried Pears", Category = "Produce", UnitPrice = 30.0000M, UnitsInStock = 15 }, + new Product { ProductID = 8, ProductName = "Northwoods Cranberry Sauce", Category = "Condiments", UnitPrice = 40.0000M, UnitsInStock = 6 }, + new Product { ProductID = 9, ProductName = "Mishi Kobe Niku", Category = "Meat/Poultry", UnitPrice = 97.0000M, UnitsInStock = 29 }, + new Product { ProductID = 10, ProductName = "Ikura", Category = "Seafood", UnitPrice = 31.0000M, UnitsInStock = 31 }, + new Product { ProductID = 11, ProductName = "Queso Cabrales", Category = "Dairy Products", UnitPrice = 21.0000M, UnitsInStock = 22 }, + new Product { ProductID = 12, ProductName = "Queso Manchego La Pastora", Category = "Dairy Products", UnitPrice = 38.0000M, UnitsInStock = 86 }, + new Product { ProductID = 13, ProductName = "Konbu", Category = "Seafood", UnitPrice = 6.0000M, UnitsInStock = 24 }, + new Product { ProductID = 14, ProductName = "Tofu", Category = "Produce", UnitPrice = 23.2500M, UnitsInStock = 35 }, + new Product { ProductID = 15, ProductName = "Genen Shouyu", Category = "Condiments", UnitPrice = 15.5000M, UnitsInStock = 39 }, + new Product { ProductID = 16, ProductName = "Pavlova", Category = "Confections", UnitPrice = 17.4500M, UnitsInStock = 29 }, + new Product { ProductID = 17, ProductName = "Alice Mutton", Category = "Meat/Poultry", UnitPrice = 39.0000M, UnitsInStock = 0 }, + new Product { ProductID = 18, ProductName = "Carnarvon Tigers", Category = "Seafood", UnitPrice = 62.5000M, UnitsInStock = 42 }, + new Product { ProductID = 19, ProductName = "Teatime Chocolate Biscuits", Category = "Confections", UnitPrice = 9.2000M, UnitsInStock = 25 }, + new Product { ProductID = 20, ProductName = "Sir Rodney's Marmalade", Category = "Confections", UnitPrice = 81.0000M, UnitsInStock = 40 }, + new Product { ProductID = 21, ProductName = "Sir Rodney's Scones", Category = "Confections", UnitPrice = 10.0000M, UnitsInStock = 3 }, + new Product { ProductID = 22, ProductName = "Gustaf's Kn\u00E4ckebr\u00F6d", Category = "Grains/Cereals", UnitPrice = 21.0000M, UnitsInStock = 104 }, + new Product { ProductID = 23, ProductName = "Tunnbr\u00F6d", Category = "Grains/Cereals", UnitPrice = 9.0000M, UnitsInStock = 61 }, + new Product { ProductID = 24, ProductName = "Guaran\u00E1 Fant\u00E1stica", Category = "Beverages", UnitPrice = 4.5000M, UnitsInStock = 20 }, + new Product { ProductID = 25, ProductName = "NuNuCa Nu\u00DF-Nougat-Creme", Category = "Confections", UnitPrice = 14.0000M, UnitsInStock = 76 }, + new Product { ProductID = 26, ProductName = "Gumb\u00E4r Gummib\u00E4rchen", Category = "Confections", UnitPrice = 31.2300M, UnitsInStock = 15 }, + new Product { ProductID = 27, ProductName = "Schoggi Schokolade", Category = "Confections", UnitPrice = 43.9000M, UnitsInStock = 49 }, + new Product { ProductID = 28, ProductName = "R\u00F6ssle Sauerkraut", Category = "Produce", UnitPrice = 45.6000M, UnitsInStock = 26 }, + new Product { ProductID = 29, ProductName = "Th\u00FCringer Rostbratwurst", Category = "Meat/Poultry", UnitPrice = 123.7900M, UnitsInStock = 0 }, + new Product { ProductID = 30, ProductName = "Nord-Ost Matjeshering", Category = "Seafood", UnitPrice = 25.8900M, UnitsInStock = 10 }, + new Product { ProductID = 31, ProductName = "Gorgonzola Telino", Category = "Dairy Products", UnitPrice = 12.5000M, UnitsInStock = 0 }, + new Product { ProductID = 32, ProductName = "Mascarpone Fabioli", Category = "Dairy Products", UnitPrice = 32.0000M, UnitsInStock = 9 }, + new Product { ProductID = 33, ProductName = "Geitost", Category = "Dairy Products", UnitPrice = 2.5000M, UnitsInStock = 112 }, + new Product { ProductID = 34, ProductName = "Sasquatch Ale", Category = "Beverages", UnitPrice = 14.0000M, UnitsInStock = 111 }, + new Product { ProductID = 35, ProductName = "Steeleye Stout", Category = "Beverages", UnitPrice = 18.0000M, UnitsInStock = 20 }, + new Product { ProductID = 36, ProductName = "Inlagd Sill", Category = "Seafood", UnitPrice = 19.0000M, UnitsInStock = 112 }, + new Product { ProductID = 37, ProductName = "Gravad lax", Category = "Seafood", UnitPrice = 26.0000M, UnitsInStock = 11 }, + new Product { ProductID = 38, ProductName = "C\u00F4te de Blaye", Category = "Beverages", UnitPrice = 263.5000M, UnitsInStock = 17 }, + new Product { ProductID = 39, ProductName = "Chartreuse verte", Category = "Beverages", UnitPrice = 18.0000M, UnitsInStock = 69 }, + new Product { ProductID = 40, ProductName = "Boston Crab Meat", Category = "Seafood", UnitPrice = 18.4000M, UnitsInStock = 123 }, + new Product { ProductID = 41, ProductName = "Jack's New England Clam Chowder", Category = "Seafood", UnitPrice = 9.6500M, UnitsInStock = 85 }, + new Product { ProductID = 42, ProductName = "Singaporean Hokkien Fried Mee", Category = "Grains/Cereals", UnitPrice = 14.0000M, UnitsInStock = 26 }, + new Product { ProductID = 43, ProductName = "Ipoh Coffee", Category = "Beverages", UnitPrice = 46.0000M, UnitsInStock = 17 }, + new Product { ProductID = 44, ProductName = "Gula Malacca", Category = "Condiments", UnitPrice = 19.4500M, UnitsInStock = 27 }, + new Product { ProductID = 45, ProductName = "Rogede sild", Category = "Seafood", UnitPrice = 9.5000M, UnitsInStock = 5 }, + new Product { ProductID = 46, ProductName = "Spegesild", Category = "Seafood", UnitPrice = 12.0000M, UnitsInStock = 95 }, + new Product { ProductID = 47, ProductName = "Zaanse koeken", Category = "Confections", UnitPrice = 9.5000M, UnitsInStock = 36 }, + new Product { ProductID = 48, ProductName = "Chocolade", Category = "Confections", UnitPrice = 12.7500M, UnitsInStock = 15 }, + new Product { ProductID = 49, ProductName = "Maxilaku", Category = "Confections", UnitPrice = 20.0000M, UnitsInStock = 10 }, + new Product { ProductID = 50, ProductName = "Valkoinen suklaa", Category = "Confections", UnitPrice = 16.2500M, UnitsInStock = 65 }, + new Product { ProductID = 51, ProductName = "Manjimup Dried Apples", Category = "Produce", UnitPrice = 53.0000M, UnitsInStock = 20 }, + new Product { ProductID = 52, ProductName = "Filo Mix", Category = "Grains/Cereals", UnitPrice = 7.0000M, UnitsInStock = 38 }, + new Product { ProductID = 53, ProductName = "Perth Pasties", Category = "Meat/Poultry", UnitPrice = 32.8000M, UnitsInStock = 0 }, + new Product { ProductID = 54, ProductName = "Tourti\u00E8re", Category = "Meat/Poultry", UnitPrice = 7.4500M, UnitsInStock = 21 }, + new Product { ProductID = 55, ProductName = "P\u00E2t\u00E9 chinois", Category = "Meat/Poultry", UnitPrice = 24.0000M, UnitsInStock = 115 }, + new Product { ProductID = 56, ProductName = "Gnocchi di nonna Alice", Category = "Grains/Cereals", UnitPrice = 38.0000M, UnitsInStock = 21 }, + new Product { ProductID = 57, ProductName = "Ravioli Angelo", Category = "Grains/Cereals", UnitPrice = 19.5000M, UnitsInStock = 36 }, + new Product { ProductID = 58, ProductName = "Escargots de Bourgogne", Category = "Seafood", UnitPrice = 13.2500M, UnitsInStock = 62 }, + new Product { ProductID = 59, ProductName = "Raclette Courdavault", Category = "Dairy Products", UnitPrice = 55.0000M, UnitsInStock = 79 }, + new Product { ProductID = 60, ProductName = "Camembert Pierrot", Category = "Dairy Products", UnitPrice = 34.0000M, UnitsInStock = 19 }, + new Product { ProductID = 61, ProductName = "Sirop d'\u00E9rable", Category = "Condiments", UnitPrice = 28.5000M, UnitsInStock = 113 }, + new Product { ProductID = 62, ProductName = "Tarte au sucre", Category = "Confections", UnitPrice = 49.3000M, UnitsInStock = 17 }, + new Product { ProductID = 63, ProductName = "Vegie-spread", Category = "Condiments", UnitPrice = 43.9000M, UnitsInStock = 24 }, + new Product { ProductID = 64, ProductName = "Wimmers gute Semmelkn\u00F6del", Category = "Grains/Cereals", UnitPrice = 33.2500M, UnitsInStock = 22 }, + new Product { ProductID = 65, ProductName = "Louisiana Fiery Hot Pepper Sauce", Category = "Condiments", UnitPrice = 21.0500M, UnitsInStock = 76 }, + new Product { ProductID = 66, ProductName = "Louisiana Hot Spiced Okra", Category = "Condiments", UnitPrice = 17.0000M, UnitsInStock = 4 }, + new Product { ProductID = 67, ProductName = "Laughing Lumberjack Lager", Category = "Beverages", UnitPrice = 14.0000M, UnitsInStock = 52 }, + new Product { ProductID = 68, ProductName = "Scottish Longbreads", Category = "Confections", UnitPrice = 12.5000M, UnitsInStock = 6 }, + new Product { ProductID = 69, ProductName = "Gudbrandsdalsost", Category = "Dairy Products", UnitPrice = 36.0000M, UnitsInStock = 26 }, + new Product { ProductID = 70, ProductName = "Outback Lager", Category = "Beverages", UnitPrice = 15.0000M, UnitsInStock = 15 }, + new Product { ProductID = 71, ProductName = "Flotemysost", Category = "Dairy Products", UnitPrice = 21.5000M, UnitsInStock = 26 }, + new Product { ProductID = 72, ProductName = "Mozzarella di Giovanni", Category = "Dairy Products", UnitPrice = 34.8000M, UnitsInStock = 14 }, + new Product { ProductID = 73, ProductName = "R\u00F6d Kaviar", Category = "Seafood", UnitPrice = 15.0000M, UnitsInStock = 101 }, + new Product { ProductID = 74, ProductName = "Longlife Tofu", Category = "Produce", UnitPrice = 10.0000M, UnitsInStock = 4 }, + new Product { ProductID = 75, ProductName = "Rh\u00F6nbr\u00E4u Klosterbier", Category = "Beverages", UnitPrice = 7.7500M, UnitsInStock = 125 }, + new Product { ProductID = 76, ProductName = "Lakkalik\u00F6\u00F6ri", Category = "Beverages", UnitPrice = 18.0000M, UnitsInStock = 57 }, + new Product { ProductID = 77, ProductName = "Original Frankfurter gr\u00FCne So\u00DFe", Category = "Condiments", UnitPrice = 13.0000M, UnitsInStock = 32 } + }; + } +} + +[BenchmarkCategory(Categories.CoreCLR)] +public class LinqBenchmarks +{ + public const int IterationsWhere00 = 1000000; + public const int IterationsWhere01 = 250000; + public const int IterationsCount00 = 1000000; + public const int IterationsOrder00 = 25000; + + private static volatile object s_volatileObject; + + private static void Escape(object obj) + { + s_volatileObject = obj; + } + + #region Where00 + + [Benchmark] + public bool Where00LinqQueryX() + { + List products = Product.GetProductList(); + int count = 0; + for (int i = 0; i < IterationsWhere00; i++) + { + var soldOutProducts = + from prod in products + where prod.UnitsInStock == 0 + select prod; + + foreach (var product in soldOutProducts) + { + count++; + } + } + + return (count == 5 * IterationsWhere00); + } + + [Benchmark] + public bool Where00LinqMethodX() + { + List products = Product.GetProductList(); + int count = 0; + for (int i = 0; i < IterationsWhere00; i++) + { + var soldOutProducts = products.Where(p => p.UnitsInStock == 0); + + foreach (var product in soldOutProducts) + { + count++; + } + } + + return (count == 5 * IterationsWhere00); + } + + [Benchmark] + public bool Where00ForX() + { + List products = Product.GetProductList(); + int count = 0; + for (int i = 0; i < IterationsWhere00; i++) + { + List soldOutProducts = new List(); + + foreach (Product p in products) + { + if (p.UnitsInStock == 0) + { + soldOutProducts.Add(p); + } + } + + foreach (var product in soldOutProducts) + { + count++; + } + } + + return (count == 5 * IterationsWhere00); + } + #endregion + + #region Where01 + + [Benchmark] + public bool Where01LinqQueryX() + { + List products = Product.GetProductList(); + int count = 0; + for (int i = 0; i < IterationsWhere01; i++) + { + var expensiveInStockProducts = + from prod in products + where prod.UnitsInStock > 0 && prod.UnitPrice > 60.00M + select prod; + + foreach (var product in expensiveInStockProducts) + { + count++; + } + } + + return (count == 4 * IterationsWhere01); + } + + [Benchmark] + public bool Where01LinqMethodX() + { + List products = Product.GetProductList(); + int count = 0; + for (int i = 0; i < IterationsWhere01; i++) + { + var soldOutProducts = products.Where(p => p.UnitsInStock > 0 && p.UnitPrice > 60.00M); + + foreach (var product in soldOutProducts) + { + count++; + } + } + + return (count == 4 * IterationsWhere01); + } + + [Benchmark] + public bool Where01LinqMethodNestedX() + { + List products = Product.GetProductList(); + int count = 0; + for (int i = 0; i < IterationsWhere01; i++) + { + var soldOutProducts = products.Where(p => p.UnitsInStock > 0).Where(p => p.UnitPrice > 60.00M); + + foreach (var product in soldOutProducts) + { + count++; + } + } + + return (count == 4 * IterationsWhere01); + } + + [Benchmark] + public bool Where01ForX() + { + List products = Product.GetProductList(); + int count = 0; + for (int i = 0; i < IterationsWhere01; i++) + { + List soldOutProducts = new List(); + + foreach (Product p in products) + { + if (p.UnitsInStock > 0 && p.UnitPrice > 60.00M) + { + soldOutProducts.Add(p); + } + } + + foreach (var product in soldOutProducts) + { + count++; + } + } + + return (count == 4 * IterationsWhere01); + } + #endregion + + #region Count00 + + [Benchmark] + public bool Count00LinqMethodX() + { + List products = Product.GetProductList(); + int count = 0; + for (int i = 0; i < IterationsCount00; i++) + { + count += products.Count(p => p.UnitsInStock == 0); + } + + return (count == 5 * IterationsCount00); + } + + [Benchmark] + public bool Count00ForX() + { + List products = Product.GetProductList(); + int count = 0; + for (int i = 0; i < IterationsCount00; i++) + { + foreach (Product p in products) + { + if (p.UnitsInStock == 0) + { + count++; + } + } + } + + return (count == 5 * IterationsCount00); + } + #endregion + + #region Order00 + + [Benchmark] + public bool Order00LinqQueryX() + { + List products = Product.GetProductList(); + Product medianPricedProduct = null; + for (int i = 0; i < IterationsOrder00; i++) + { + var productsInPriceOrder = from prod in products orderby prod.UnitPrice descending select prod; + int count = productsInPriceOrder.Count(); + medianPricedProduct = productsInPriceOrder.ElementAt(count / 2); + Escape(medianPricedProduct); + } + + return (medianPricedProduct.ProductID == 57); + } + + [Benchmark] + public bool Order00LinqMethodX() + { + List products = Product.GetProductList(); + Product medianPricedProduct = null; + for (int i = 0; i < IterationsOrder00; i++) + { + var productsInPriceOrder = products.OrderByDescending(p => p.UnitPrice); + int count = productsInPriceOrder.Count(); + medianPricedProduct = productsInPriceOrder.ElementAt(count / 2); + Escape(medianPricedProduct); + } + + return (medianPricedProduct.ProductID == 57); + } + + [Benchmark] + public bool Order00ManualX() + { + List products = Product.GetProductList(); + Product medianPricedProduct = null; + for (int i = 0; i < IterationsOrder00; i++) + { + Product[] productsInPriceOrder = products.ToArray(); + Array.Sort(productsInPriceOrder, delegate (Product x, Product y) { return -x.UnitPrice.CompareTo(y.UnitPrice); }); + int count = productsInPriceOrder.Count(); + medianPricedProduct = productsInPriceOrder[count / 2]; + Escape(medianPricedProduct); + } + + return (medianPricedProduct.ProductID == 57); + } + #endregion +} diff --git a/src/benchmarks/coreclr/Math/Functions/Double/AbsDouble.cs b/src/benchmarks/coreclr/Math/Functions/Double/AbsDouble.cs new file mode 100644 index 00000000000..9d0bc16d922 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Double/AbsDouble.cs @@ -0,0 +1,39 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests Math.Abs(double) over 5000 iterations for the domain -1, +1 + + private const double absDoubleDelta = 0.0004; + private const double absDoubleExpectedResult = 2499.9999999999659; + + [Benchmark] + public void AbsDoubleBenchmark() => AbsDoubleTest(); + + public static void AbsDoubleTest() + { + var result = 0.0; var value = -1.0; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += absDoubleDelta; + result += Math.Abs(value); + } + + var diff = Math.Abs(absDoubleExpectedResult - result); + + if (diff > doubleEpsilon) + { + throw new Exception($"Expected Result {absDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); + } + } + } + +} diff --git a/src/benchmarks/coreclr/Math/Functions/Double/AcosDouble.cs b/src/benchmarks/coreclr/Math/Functions/Double/AcosDouble.cs new file mode 100644 index 00000000000..11732fc313c --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Double/AcosDouble.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests Math.Acos(double) over 5000 iterations for the domain -1, +1 + + private const double acosDoubleDelta = 0.0004; + private const double acosDoubleExpectedResult = 7852.4108380716079; + + [Benchmark] + public void AcosDoubleBenchmark() => AcosDoubleTest(); + + public static void AcosDoubleTest() + { + var result = 0.0; var value = -1.0; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += acosDoubleDelta; + result += Math.Acos(value); + } + + var diff = Math.Abs(acosDoubleExpectedResult - result); + + if (diff > doubleEpsilon) + { + throw new Exception($"Expected Result {acosDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Double/AsinDouble.cs b/src/benchmarks/coreclr/Math/Functions/Double/AsinDouble.cs new file mode 100644 index 00000000000..34529130a68 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Double/AsinDouble.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests Math.Asin(double) over 5000 iterations for the domain -1, +1 + + private const double asinDoubleDelta = 0.0004; + private const double asinDoubleExpectedResult = 1.5707959028763392; + + [Benchmark] + public void AsinDoubleBenchmark() => AsinDoubleTest(); + + public static void AsinDoubleTest() + { + var result = 0.0; var value = -1.0; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += asinDoubleDelta; + result += Math.Asin(value); + } + + var diff = Math.Abs(asinDoubleExpectedResult - result); + + if (diff > doubleEpsilon) + { + throw new Exception($"Expected Result {asinDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Double/Atan2Double.cs b/src/benchmarks/coreclr/Math/Functions/Double/Atan2Double.cs new file mode 100644 index 00000000000..3476b208776 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Double/Atan2Double.cs @@ -0,0 +1,39 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests Math.Atan2(double, double) over 5000 iterations for the domain y: -1, +1; x: +1, -1 + + private const double atan2DoubleDeltaX = -0.0004; + private const double atan2DoubleDeltaY = 0.0004; + private const double atan2DoubleExpectedResult = 3926.99081698702; + + [Benchmark] + public void Atan2DoubleBenchmark() => Atan2DoubleTest(); + + public static void Atan2DoubleTest() + { + var result = 0.0; var valueX = 1.0; var valueY = -1.0; + + for (var iteration = 0; iteration < iterations; iteration++) + { + valueX += atan2DoubleDeltaX; valueY += atan2DoubleDeltaY; + result += Math.Atan2(valueY, valueX); + } + + var diff = Math.Abs(atan2DoubleExpectedResult - result); + + if (diff > doubleEpsilon) + { + throw new Exception($"Expected Result {atan2DoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Double/AtanDouble.cs b/src/benchmarks/coreclr/Math/Functions/Double/AtanDouble.cs new file mode 100644 index 00000000000..692c2876bc7 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Double/AtanDouble.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests Math.Atan(double) over 5000 iterations for the domain -1, +1 + + private const double atanDoubleDelta = 0.0004; + private const double atanDoubleExpectedResult = 0.78539816322061329; + + [Benchmark] + public void AtanDoubleBenchmark() => AtanDoubleTest(); + + public static void AtanDoubleTest() + { + var result = 0.0; var value = -1.0; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += atanDoubleDelta; + result += Math.Atan(value); + } + + var diff = Math.Abs(atanDoubleExpectedResult - result); + + if (diff > doubleEpsilon) + { + throw new Exception($"Expected Result {atanDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Double/CeilingDouble.cs b/src/benchmarks/coreclr/Math/Functions/Double/CeilingDouble.cs new file mode 100644 index 00000000000..8b563ff11d2 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Double/CeilingDouble.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests Math.Ceiling(double) over 5000 iterations for the domain -1, +1 + + private const double ceilingDoubleDelta = 0.0004; + private const double ceilingDoubleExpectedResult = 2500; + + [Benchmark] + public void CeilingDoubleBenchmark() => CeilingDoubleTest(); + + public static void CeilingDoubleTest() + { + var result = 0.0; var value = -1.0; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += ceilingDoubleDelta; + result += Math.Ceiling(value); + } + + var diff = Math.Abs(ceilingDoubleExpectedResult - result); + + if (diff > doubleEpsilon) + { + throw new Exception($"Expected Result {ceilingDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); + } + } + } +} \ No newline at end of file diff --git a/src/benchmarks/coreclr/Math/Functions/Double/CosDouble.cs b/src/benchmarks/coreclr/Math/Functions/Double/CosDouble.cs new file mode 100644 index 00000000000..e67f38a7154 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Double/CosDouble.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests Math.Cos(double) over 5000 iterations for the domain 0, PI + + private const double cosDoubleDelta = 0.0006283185307180; + private const double cosDoubleExpectedResult = -1.0000000005924159; + + [Benchmark] + public void CosDoubleBenchmark() => CosDoubleTest(); + + public static void CosDoubleTest() + { + var result = 0.0; var value = 0.0; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += cosDoubleDelta; + result += Math.Cos(value); + } + + var diff = Math.Abs(cosDoubleExpectedResult - result); + + if (diff > doubleEpsilon) + { + throw new Exception($"Expected Result {cosDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Double/CoshDouble.cs b/src/benchmarks/coreclr/Math/Functions/Double/CoshDouble.cs new file mode 100644 index 00000000000..0080b153ea9 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Double/CoshDouble.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests Math.Cosh(double) over 5000 iterations for the domain -1, +1 + + private const double coshDoubleDelta = 0.0004; + private const double coshDoubleExpectedResult = 5876.0060465657216; + + [Benchmark] + public void CoshDoubleBenchmark() => CoshDoubleTest(); + + public static void CoshDoubleTest() + { + var result = 0.0; var value = -1.0; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += coshDoubleDelta; + result += Math.Cosh(value); + } + + var diff = Math.Abs(coshDoubleExpectedResult - result); + + if (diff > doubleEpsilon) + { + throw new Exception($"Expected Result {coshDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Double/ExpDouble.cs b/src/benchmarks/coreclr/Math/Functions/Double/ExpDouble.cs new file mode 100644 index 00000000000..4ba8fe68726 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Double/ExpDouble.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests Math.Exp(double) over 5000 iterations for the domain -1, +1 + + private const double expDoubleDelta = 0.0004; + private const double expDoubleExpectedResult = 5877.1812477590884; + + [Benchmark] + public void ExpDoubleBenchmark() => ExpDoubleTest(); + + public static void ExpDoubleTest() + { + var result = 0.0; var value = -1.0; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += expDoubleDelta; + result += Math.Exp(value); + } + + var diff = Math.Abs(expDoubleExpectedResult - result); + + if (diff > doubleEpsilon) + { + throw new Exception($"Expected Result {expDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Double/FloorDouble.cs b/src/benchmarks/coreclr/Math/Functions/Double/FloorDouble.cs new file mode 100644 index 00000000000..e4821d6b2d6 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Double/FloorDouble.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests Math.Floor(double) over 5000 iterations for the domain -1, +1 + + private const double floorDoubleDelta = 0.0004; + private const double floorDoubleExpectedResult = -2500; + + [Benchmark] + public void FloorDoubleBenchmark() => FloorDoubleTest(); + + public static void FloorDoubleTest() + { + var result = 0.0; var value = -1.0; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += floorDoubleDelta; + result += Math.Floor(value); + } + + var diff = Math.Abs(floorDoubleExpectedResult - result); + + if (diff > doubleEpsilon) + { + throw new Exception($"Expected Result {floorDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Double/Log10Double.cs b/src/benchmarks/coreclr/Math/Functions/Double/Log10Double.cs new file mode 100644 index 00000000000..ec4d4bf7108 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Double/Log10Double.cs @@ -0,0 +1,41 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests Math.Log10(double) over 5000 iterations for the domain -1, +1 + + private const double log10DoubleDelta = 0.0004; + private const double log10DoubleExpectedResult = -664.07384902184072; + + /// + /// this benchmark is dependent on loop alignment + /// + [Benchmark] + public void Log10DoubleBenchmark() => Log10DoubleTest(); + + public static void Log10DoubleTest() + { + var result = 0.0; var value = 0.0; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += log10DoubleDelta; + result += Math.Log10(value); + } + + var diff = Math.Abs(log10DoubleExpectedResult - result); + + if (diff > doubleEpsilon) + { + throw new Exception($"Expected Result {log10DoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Double/LogDouble.cs b/src/benchmarks/coreclr/Math/Functions/Double/LogDouble.cs new file mode 100644 index 00000000000..d7acc01cced --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Double/LogDouble.cs @@ -0,0 +1,39 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests Math.Log(double) over 5000 iterations for the domain -1, +1 + + private const double logDoubleDelta = 0.0004; + private const double logDoubleExpectedResult = -1529.0865454048721; + + [Benchmark] + public void LogDoubleBenchmark() => LogDoubleTest(); + + public static void LogDoubleTest() + { + var result = 0.0; var value = 0.0; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += logDoubleDelta; + result += Math.Log(value); + } + + var diff = Math.Abs(logDoubleExpectedResult - result); + + if (diff > doubleEpsilon) + { + throw new Exception($"Expected Result {logDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); + } + } + } + +} diff --git a/src/benchmarks/coreclr/Math/Functions/Double/PowDouble.cs b/src/benchmarks/coreclr/Math/Functions/Double/PowDouble.cs new file mode 100644 index 00000000000..439e6abe918 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Double/PowDouble.cs @@ -0,0 +1,40 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; +using BenchmarkDotNet.Running; + +namespace Functions +{ + public partial class MathTests + { + // Tests Math.Pow(double, double) over 5000 iterations for the domain x: +2, +1; y: -2, -1 + + private const double powDoubleDeltaX = -0.0004; + private const double powDoubleDeltaY = 0.0004; + private const double powDoubleExpectedResult = 4659.4627376138733; + + [Benchmark] + public void PowDoubleBenchmark() => PowDoubleTest(); + + public static void PowDoubleTest() + { + var result = 0.0; var valueX = 2.0; var valueY = -2.0; + + for (var iteration = 0; iteration < iterations; iteration++) + { + valueX += powDoubleDeltaX; valueY += powDoubleDeltaY; + result += Math.Pow(valueX, valueY); + } + + var diff = Math.Abs(powDoubleExpectedResult - result); + + if (diff > doubleEpsilon) + { + throw new Exception($"Expected Result {powDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Double/RoundDouble.cs b/src/benchmarks/coreclr/Math/Functions/Double/RoundDouble.cs new file mode 100644 index 00000000000..0afbfe96212 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Double/RoundDouble.cs @@ -0,0 +1,39 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; +using BenchmarkDotNet.Running; + +namespace Functions +{ + public partial class MathTests + { + // Tests Math.Round(double) over 5000 iterations for the domain -PI/2, +PI/2 + + private const double roundDoubleDelta = 0.0006283185307180; + private const double roundDoubleExpectedResult = 2; + + [Benchmark] + public void RoundDoubleBenchmark() => RoundDoubleTest(); + + public static void RoundDoubleTest() + { + var result = 0.0; var value = -1.5707963267948966; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += roundDoubleDelta; + result += Math.Round(value); + } + + var diff = Math.Abs(roundDoubleExpectedResult - result); + + if (diff > doubleEpsilon) + { + throw new Exception($"Expected Result {roundDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Double/SinDouble.cs b/src/benchmarks/coreclr/Math/Functions/Double/SinDouble.cs new file mode 100644 index 00000000000..944c6dc7073 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Double/SinDouble.cs @@ -0,0 +1,39 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; +using BenchmarkDotNet.Running; + +namespace Functions +{ + public partial class MathTests + { + // Tests Math.Sin(double) over 5000 iterations for the domain -PI/2, +PI/2 + + private const double sinDoubleDelta = 0.0006283185307180; + private const double sinDoubleExpectedResult = 1.0000000005445053; + + [Benchmark] + public void SinDoubleBenchmark() => SinDoubleTest(); + + public static void SinDoubleTest() + { + var result = 0.0; var value = -1.5707963267948966; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += sinDoubleDelta; + result += Math.Sin(value); + } + + var diff = Math.Abs(sinDoubleExpectedResult - result); + + if (diff > doubleEpsilon) + { + throw new Exception($"Expected Result {sinDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Double/SinhDouble.cs b/src/benchmarks/coreclr/Math/Functions/Double/SinhDouble.cs new file mode 100644 index 00000000000..b77865fe893 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Double/SinhDouble.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests Math.Sinh(double) over 5000 iterations for the domain -1, +1 + + private const double sinhDoubleDelta = 0.0004; + private const double sinhDoubleExpectedResult = 1.17520119337903; + + [Benchmark] + public void SinhDoubleBenchmark() => SinhDoubleTest(); + + public static void SinhDoubleTest() + { + var result = 0.0; var value = -1.0; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += sinhDoubleDelta; + result += Math.Sinh(value); + } + + var diff = Math.Abs(sinhDoubleExpectedResult - result); + + if (diff > doubleEpsilon) + { + throw new Exception($"Expected Result {sinhDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Double/SqrtDouble.cs b/src/benchmarks/coreclr/Math/Functions/Double/SqrtDouble.cs new file mode 100644 index 00000000000..b94115e9872 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Double/SqrtDouble.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests Math.Sqrt(double) over 5000 iterations for the domain 0, PI + + private const double sqrtDoubleDelta = 0.0006283185307180; + private const double sqrtDoubleExpectedResult = 5909.0605337797215; + + [Benchmark] + public void SqrtDoubleBenchmark() => SqrtDoubleTest(); + + public static void SqrtDoubleTest() + { + var result = 0.0; var value = 0.0; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += sqrtDoubleDelta; + result += Math.Sqrt(value); + } + + var diff = Math.Abs(sqrtDoubleExpectedResult - result); + + if (diff > doubleEpsilon) + { + throw new Exception($"Expected Result {sqrtDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Double/TanDouble.cs b/src/benchmarks/coreclr/Math/Functions/Double/TanDouble.cs new file mode 100644 index 00000000000..11927382d3c --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Double/TanDouble.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests Math.Tan(double) over 5000 iterations for the domain -PI/2, +PI/2 + + private const double tanDoubleDelta = 0.0004; + private const double tanDoubleExpectedResult = 1.5574077243051505; + + [Benchmark] + public void TanDoubleBenchmark() => TanDoubleTest(); + + public static void TanDoubleTest() + { + var result = 0.0; var value = -1.0; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += tanDoubleDelta; + result += Math.Tan(value); + } + + var diff = Math.Abs(tanDoubleExpectedResult - result); + + if (diff > doubleEpsilon) + { + throw new Exception($"Expected Result {tanDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Double/TanhDouble.cs b/src/benchmarks/coreclr/Math/Functions/Double/TanhDouble.cs new file mode 100644 index 00000000000..f8783095ddb --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Double/TanhDouble.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests Math.Tanh(double) over 5000 iterations for the domain -1, +1 + + private const double tanhDoubleDelta = 0.0004; + private const double tanhDoubleExpectedResult = 0.76159415578341827; + + [Benchmark] + public void TanhDoubleBenchmark() => TanhDoubleTest(); + + public static void TanhDoubleTest() + { + var result = 0.0; var value = -1.0; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += tanhDoubleDelta; + result += Math.Tanh(value); + } + + var diff = Math.Abs(tanhDoubleExpectedResult - result); + + if (diff > doubleEpsilon) + { + throw new Exception($"Expected Result {tanhDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/MathTests.cs b/src/benchmarks/coreclr/Math/Functions/MathTests.cs new file mode 100644 index 00000000000..6ccc1198dcc --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/MathTests.cs @@ -0,0 +1,75 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Functions +{ + [BenchmarkCategory(Categories.CoreCLR)] + public partial class MathTests + { + // double has a machine epsilon of approx: 2.22e-16. However, due to floating-point precision + // errors, this is too accurate when aggregating values of a set of iterations. Using the + // single-precision machine epsilon as our epsilon should be 'good enough' for the purposes + // of the perf testing as it ensures we get the expected value and that it is at least as precise + // as we would have computed with the single-precision version of the function (without aggregation). + private const double doubleEpsilon = 1.19e-07; + + // 5000 iterations is enough to cover the full domain of inputs for certain functions (such + // as Cos, which has a domain of 0 to PI) at reasonable intervals (in the case of Cos, the + // interval is PI / 5000 which is 0.0006283185307180). It should also give reasonable coverage + // for functions which have a larger domain (such as Atan, which covers the full set of real numbers). + private const int iterations = 5000; + + // float has a machine epsilon of approx: 1.19e-07. However, due to floating-point precision + // errors, this is too accurate when aggregating values of a set of iterations. Using the + // half-precision machine epsilon as our epsilon should be 'good enough' for the purposes + // of the perf testing as it ensures we get the expected value and that it is at least as precise + // as we would have computed with the half-precision version of the function (without aggregation). + private const float singleEpsilon = 9.77e-04f; + + // While iterations covers the domain of inputs, the full span of results doesn't run long enough + // to meet our siginificance criteria. So each test is repeated many times, using the factors below. + private const int AbsDoubleIterations = 200000; + private const int AcosDoubleIterations = 10000; + private const int AsinDoubleIterations = 10000; + private const int Atan2DoubleIterations = 6500; + private const int AtanDoubleIterations = 13000; + private const int CeilingDoubleIterations = 80000; + private const int CosDoubleIterations = 16000; + private const int CoshDoubleIterations = 8000; + private const int ExpDoubleIterations = 16000; + private const int FloorDoubleIterations = 80000; + private const int Log10DoubleIterations = 16000; + private const int LogDoubleIterations = 20000; + private const int PowDoubleIterations = 4000; + private const int RoundDoubleIterations = 35000; + private const int SinDoubleIterations = 16000; + private const int SinhDoubleIterations = 8000; + private const int SqrtDoubleIterations = 40000; + private const int TanDoubleIterations = 16000; + private const int TanhDoubleIterations = 17000; + + private const int AbsSingleIterations = 200000; + private const int AcosSingleIterations = 15000; + private const int AsinSingleIterations = 15000; + private const int Atan2SingleIterations = 9000; + private const int AtanSingleIterations = 17000; + private const int CeilingSingleIterations = 80000; + private const int CosSingleIterations = 20000; + private const int CoshSingleIterations = 10000; + private const int ExpSingleIterations = 24000; + private const int FloorSingleIterations = 80000; + private const int Log10SingleIterations = 20000; + private const int LogSingleIterations = 30000; + private const int PowSingleIterations = 10000; + private const int RoundSingleIterations = 35000; + private const int SinSingleIterations = 20000; + private const int SinhSingleIterations = 10000; + private const int SqrtSingleIterations = 80000; + private const int TanSingleIterations = 25000; + private const int TanhSingleIterations = 20000; + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Single/AbsSingle.cs b/src/benchmarks/coreclr/Math/Functions/Single/AbsSingle.cs new file mode 100644 index 00000000000..cce1d48db5f --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Single/AbsSingle.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests Math.Abs(single) over 5000 iterations for the domain -1, +1 + + private const float absSingleDelta = 0.0004f; + private const float absSingleExpectedResult = 2500.03125f; + + [Benchmark] + public void AbsSingleBenchmark() => AbsSingleTest(); + + public static void AbsSingleTest() + { + var result = 0.0f; var value = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += absSingleDelta; + result += Math.Abs(value); + } + + var diff = Math.Abs(absSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {absSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Single/AcosSingle.cs b/src/benchmarks/coreclr/Math/Functions/Single/AcosSingle.cs new file mode 100644 index 00000000000..aa4f2d137b4 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Single/AcosSingle.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests MathF.Acos(float) over 5000 iterations for the domain -1, +1 + + private const float acosSingleDelta = 0.0004f; + private const float acosSingleExpectedResult = 7852.41084f; + + [Benchmark] + public void AcosSingleBenchmark() => AcosSingleTest(); + + public static void AcosSingleTest() + { + var result = 0.0f; var value = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += acosSingleDelta; + result += MathF.Acos(value); + } + + var diff = MathF.Abs(acosSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {acosSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Single/AsinSingle.cs b/src/benchmarks/coreclr/Math/Functions/Single/AsinSingle.cs new file mode 100644 index 00000000000..3aad5c0f3ee --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Single/AsinSingle.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests MathF.Asin(float) over 5000 iterations for the domain -1, +1 + + private const float asinSingleDelta = 0.0004f; + private const float asinSingleExpectedResult = 1.57079590f; + + [Benchmark] + public void AsinSingleBenchmark() => AsinSingleTest(); + + public static void AsinSingleTest() + { + var result = 0.0f; var value = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += asinSingleDelta; + result += MathF.Asin(value); + } + + var diff = MathF.Abs(asinSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {asinSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Single/Atan2Single.cs b/src/benchmarks/coreclr/Math/Functions/Single/Atan2Single.cs new file mode 100644 index 00000000000..3d13096d320 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Single/Atan2Single.cs @@ -0,0 +1,39 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests MathF.Atan2(float, float) over 5000 iterations for the domain y: -1, +1; x: +1, -1 + + private const float atan2SingleDeltaX = -0.0004f; + private const float atan2SingleDeltaY = 0.0004f; + private const float atan2SingleExpectedResult = 3930.14282f; + + [Benchmark] + public void Atan2SingleBenchmark() => Atan2SingleTest(); + + public static void Atan2SingleTest() + { + var result = 0.0f; var valueX = 1.0f; var valueY = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + valueX += atan2SingleDeltaX; valueY += atan2SingleDeltaY; + result += MathF.Atan2(valueY, valueX); + } + + var diff = MathF.Abs(atan2SingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {atan2SingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Single/AtanSingle.cs b/src/benchmarks/coreclr/Math/Functions/Single/AtanSingle.cs new file mode 100644 index 00000000000..c675e8624ab --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Single/AtanSingle.cs @@ -0,0 +1,39 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; +using BenchmarkDotNet.Running; + +namespace Functions +{ + public partial class MathTests + { + // Tests MathF.Atan(float) over 5000 iterations for the domain -1, +1 + + private const float atanSingleDelta = 0.0004f; + private const float atanSingleExpectedResult = 0.841940999f; + + [Benchmark] + public void AtanSingleBenchmark() => AtanSingleTest(); + + public static void AtanSingleTest() + { + var result = 0.0f; var value = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += atanSingleDelta; + result += MathF.Atan(value); + } + + var diff = MathF.Abs(atanSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {atanSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Single/CeilingSingle.cs b/src/benchmarks/coreclr/Math/Functions/Single/CeilingSingle.cs new file mode 100644 index 00000000000..241bee242ab --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Single/CeilingSingle.cs @@ -0,0 +1,39 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; +using BenchmarkDotNet.Running; + +namespace Functions +{ + public partial class MathTests + { + // Tests MathF.Ceiling(float) over 5000 iterations for the domain -1, +1 + + private const float ceilingSingleDelta = 0.0004f; + private const float ceilingSingleExpectedResult = 2502.0f; + + [Benchmark] + public void CeilingSingleBenchmark() => CeilingSingleTest(); + + public static void CeilingSingleTest() + { + var result = 0.0f; var value = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += ceilingSingleDelta; + result += MathF.Ceiling(value); + } + + var diff = MathF.Abs(ceilingSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {ceilingSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Single/CosSingle.cs b/src/benchmarks/coreclr/Math/Functions/Single/CosSingle.cs new file mode 100644 index 00000000000..a4e0a7741e7 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Single/CosSingle.cs @@ -0,0 +1,39 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; +using BenchmarkDotNet.Running; + +namespace Functions +{ + public partial class MathTests + { + // Tests MathF.Cos(float) over 5000 iterations for the domain 0, PI + + private const float cosSingleDelta = 0.000628318531f; + private const float cosSingleExpectedResult = -0.993487537f; + + [Benchmark] + public void CosSingleBenchmark() => CosSingleTest(); + + public static void CosSingleTest() + { + var result = 0.0f; var value = 0.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += cosSingleDelta; + result += MathF.Cos(value); + } + + var diff = MathF.Abs(cosSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {cosSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Single/CoshSingle.cs b/src/benchmarks/coreclr/Math/Functions/Single/CoshSingle.cs new file mode 100644 index 00000000000..60cb5077469 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Single/CoshSingle.cs @@ -0,0 +1,39 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; +using BenchmarkDotNet.Running; + +namespace Functions +{ + public partial class MathTests + { + // Tests MathF.Cosh(float) over 5000 iterations for the domain -1, +1 + + private const float coshSingleDelta = 0.0004f; + private const float coshSingleExpectedResult = 5876.02588f; + + [Benchmark] + public void CoshSingleBenchmark() => CoshSingleTest(); + + public static void CoshSingleTest() + { + var result = 0.0f; var value = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += coshSingleDelta; + result += MathF.Cosh(value); + } + + var diff = MathF.Abs(coshSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {coshSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Single/ExpSingle.cs b/src/benchmarks/coreclr/Math/Functions/Single/ExpSingle.cs new file mode 100644 index 00000000000..b92c1c27397 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Single/ExpSingle.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests MathF.Exp(float) over 5000 iterations for the domain -1, +1 + + private const float expSingleDelta = 0.0004f; + private const float expSingleExpectedResult = 5877.28564f; + + [Benchmark] + public void ExpSingleBenchmark() => ExpSingleTest(); + + public static void ExpSingleTest() + { + var result = 0.0f; var value = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += expSingleDelta; + result += MathF.Exp(value); + } + + var diff = MathF.Abs(expSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {expSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Single/FloorSingle.cs b/src/benchmarks/coreclr/Math/Functions/Single/FloorSingle.cs new file mode 100644 index 00000000000..d7eaeb51efc --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Single/FloorSingle.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests MathF.Floor(float) over 5000 iterations for the domain -1, +1 + + private const float floorSingleDelta = 0.0004f; + private const float floorSingleExpectedResult = -2498.0f; + + [Benchmark] + public void FloorSingleBenchmark() => FloorSingleTest(); + + public static void FloorSingleTest() + { + var result = 0.0f; var value = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += floorSingleDelta; + result += MathF.Floor(value); + } + + var diff = MathF.Abs(floorSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {floorSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Single/Log10Single.cs b/src/benchmarks/coreclr/Math/Functions/Single/Log10Single.cs new file mode 100644 index 00000000000..015439ac6eb --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Single/Log10Single.cs @@ -0,0 +1,41 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests MathF.Log10(float) over 5000 iterations for the domain -1, +1 + + private const float log10SingleDelta = 0.0004f; + private const float log10SingleExpectedResult = -664.094971f; + + /// + /// this benchmark is dependent on loop alignment + /// + [Benchmark] + public void Log10SingleBenchmark() => Log10SingleTest(); + + public static void Log10SingleTest() + { + var result = 0.0f; var value = 0.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += log10SingleDelta; + result += MathF.Log10(value); + } + + var diff = MathF.Abs(log10SingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {log10SingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Single/LogSingle.cs b/src/benchmarks/coreclr/Math/Functions/Single/LogSingle.cs new file mode 100644 index 00000000000..f978d14d727 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Single/LogSingle.cs @@ -0,0 +1,39 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests MathF.Log(float) over 5000 iterations for the domain -1, +1 + + private const float logSingleDelta = 0.0004f; + private const float logSingleExpectedResult = -1529.14014f; + + [Benchmark] + public void LogSingleBenchmark() => LogSingleTest(); + + public static void LogSingleTest() + { + var result = 0.0f; var value = 0.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += logSingleDelta; + result += MathF.Log(value); + } + + var diff = MathF.Abs(logSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {logSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } + +} diff --git a/src/benchmarks/coreclr/Math/Functions/Single/PowSingle.cs b/src/benchmarks/coreclr/Math/Functions/Single/PowSingle.cs new file mode 100644 index 00000000000..e2fcee52e0b --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Single/PowSingle.cs @@ -0,0 +1,39 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests MathF.Pow(float, float) over 5000 iterations for the domain x: +2, +1; y: -2, -1 + + private const float powSingleDeltaX = -0.0004f; + private const float powSingleDeltaY = 0.0004f; + private const float powSingleExpectedResult = 4659.30762f; + + [Benchmark] + public void PowSingleBenchmark() => PowSingleTest(); + + public static void PowSingleTest() + { + var result = 0.0f; var valueX = 2.0f; var valueY = -2.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + valueX += powSingleDeltaX; valueY += powSingleDeltaY; + result += MathF.Pow(valueX, valueY); + } + + var diff = MathF.Abs(powSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {powSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Single/RoundSingle.cs b/src/benchmarks/coreclr/Math/Functions/Single/RoundSingle.cs new file mode 100644 index 00000000000..7877f68e11c --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Single/RoundSingle.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests MathF.Round(float) over 5000 iterations for the domain -PI/2, +PI/2 + + private const float roundSingleDelta = 0.000628318531f; + private const float roundSingleExpectedResult = 2.0f; + + [Benchmark] + public void RoundSingleBenchmark() => RoundSingleTest(); + + public static void RoundSingleTest() + { + var result = 0.0f; var value = -1.57079633f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += roundSingleDelta; + result += MathF.Round(value); + } + + var diff = MathF.Abs(roundSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {roundSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Single/SinSingle.cs b/src/benchmarks/coreclr/Math/Functions/Single/SinSingle.cs new file mode 100644 index 00000000000..b29a260d7e6 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Single/SinSingle.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests MathF.Sin(float) over 5000 iterations for the domain -PI/2, +PI/2 + + private const float sinSingleDelta = 0.000628318531f; + private const float sinSingleExpectedResult = 1.03592682f; + + [Benchmark] + public void SinSingleBenchmark() => SinSingleTest(); + + public static void SinSingleTest() + { + var result = 0.0f; var value = -1.57079633f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += sinSingleDelta; + result += MathF.Sin(value); + } + + var diff = MathF.Abs(sinSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {sinSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Single/SinhSingle.cs b/src/benchmarks/coreclr/Math/Functions/Single/SinhSingle.cs new file mode 100644 index 00000000000..f27ba022b55 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Single/SinhSingle.cs @@ -0,0 +1,41 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests MathF.Sinh(float) over 5000 iterations for the domain -1, +1 + + private const float sinhSingleDelta = 0.0004f; + private const float sinhSingleExpectedResult = 1.26028216f; + + /// + /// this benchmark is dependent on loop alignment + /// + [Benchmark] + public void SinhSingleBenchmark() => SinhSingleTest(); + + public static void SinhSingleTest() + { + var result = 0.0f; var value = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += sinhSingleDelta; + result += MathF.Sinh(value); + } + + var diff = MathF.Abs(sinhSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {sinhSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Single/SqrtSingle.cs b/src/benchmarks/coreclr/Math/Functions/Single/SqrtSingle.cs new file mode 100644 index 00000000000..cee40c6a4a4 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Single/SqrtSingle.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests MathF.Sqrt(float) over 5000 iterations for the domain 0, PI + + private const float sqrtSingleDelta = 0.000628318531f; + private const float sqrtSingleExpectedResult = 5909.03027f; + + [Benchmark] + public void SqrtSingleBenchmark() => SqrtSingleTest(); + + public static void SqrtSingleTest() + { + var result = 0.0f; var value = 0.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += sqrtSingleDelta; + result += MathF.Sqrt(value); + } + + var diff = MathF.Abs(sqrtSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {sqrtSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Single/TanSingle.cs b/src/benchmarks/coreclr/Math/Functions/Single/TanSingle.cs new file mode 100644 index 00000000000..8c53e9b9c24 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Single/TanSingle.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests MathF.Tan(float) over 5000 iterations for the domain -PI/2, +PI/2 + + private const float tanSingleDelta = 0.0004f; + private const float tanSingleExpectedResult = 1.66717815f; + + [Benchmark] + public void TanSingleBenchmark() => TanSingleTest(); + + public static void TanSingleTest() + { + var result = 0.0f; var value = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += tanSingleDelta; + result += MathF.Tan(value); + } + + var diff = MathF.Abs(tanSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {tanSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Math/Functions/Single/TanhSingle.cs b/src/benchmarks/coreclr/Math/Functions/Single/TanhSingle.cs new file mode 100644 index 00000000000..e98a095d5a5 --- /dev/null +++ b/src/benchmarks/coreclr/Math/Functions/Single/TanhSingle.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Functions +{ + public partial class MathTests + { + // Tests MathF.Tanh(float) over 5000 iterations for the domain -1, +1 + + private const float tanhSingleDelta = 0.0004f; + private const float tanhSingleExpectedResult = 0.816701353f; + + [Benchmark] + public void TanhSingleBenchmark() => TanhSingleTest(); + + public static void TanhSingleTest() + { + var result = 0.0f; var value = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += tanhSingleDelta; + result += MathF.Tanh(value); + } + + var diff = MathF.Abs(tanhSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {tanhSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/src/benchmarks/coreclr/Roslyn/CscBench.cs b/src/benchmarks/coreclr/Roslyn/CscBench.cs new file mode 100644 index 00000000000..82de3af0ce2 --- /dev/null +++ b/src/benchmarks/coreclr/Roslyn/CscBench.cs @@ -0,0 +1,156 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CSharp; +using Microsoft.CodeAnalysis.CSharp.Syntax; +using Microsoft.CodeAnalysis.Text; +using System; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Runtime.CompilerServices; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +[BenchmarkCategory(Categories.CoreCLR)] +public class CscBench +{ + public const int CompileIterations = 1500; + public const int DataflowIterations = 10000; + + public static string MscorlibPath; + + private static string GetLoadedAssemblyLocation(string fileName) + { + return Assembly.GetEntryAssembly().GetReferencedAssemblies() + .Select(assemblyName => Assembly.Load(assemblyName)) + .SingleOrDefault(@assembly => { + return @assembly.Location.EndsWith(fileName, StringComparison.OrdinalIgnoreCase); + })?.Location; + } + + [GlobalSetup] + public void SetMscorlib() + { + var runtimeDirectory = new FileInfo(GetLoadedAssemblyLocation("System.Runtime.dll")) + .DirectoryName; + + // Some CoreCLR packages have System.Private.CoreLib.ni.dll only. + var nicorlib = Path.Combine(runtimeDirectory, "System.Private.CoreLib.ni.dll"); + if (File.Exists(nicorlib)) + { + MscorlibPath = nicorlib; + return; + } + + var corlib = Path.Combine(runtimeDirectory, "System.Private.CoreLib.dll"); + if (!File.Exists(corlib)) + throw new FileNotFoundException("System.Private.CoreLib is not present with the System.Runtime"); + + MscorlibPath = corlib; + } + + [MethodImpl(MethodImplOptions.NoInlining)] + public static bool CompileBench() + { + var expression = "6 * 7"; + var text = @"public class Calculator { public static object Evaluate() { return $; } }".Replace("$", expression); + var tree = SyntaxFactory.ParseSyntaxTree(text); + var compilation = CSharpCompilation.Create( + "calc.dll", + options: new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary), + syntaxTrees: new[] { tree }, + references: new[] { MetadataReference.CreateFromFile(MscorlibPath) }); + + bool result = true; + for (int i = 0; i < CompileIterations; i++) + { + using (var stream = new MemoryStream()) + { + var emitResult = compilation.Emit(stream); + result &= emitResult.Success; + } + } + + return result; + } + + [Benchmark] + public bool CompileTest() => CompileBench(); + + public static TextSpan GetSpanBetweenMarkers(SyntaxTree tree) + { + SyntaxTrivia startComment = tree + .GetRoot() + .DescendantTrivia() + .First(syntaxTrivia => syntaxTrivia.ToString().Contains("start")); + SyntaxTrivia endComment = tree + .GetRoot() + .DescendantTrivia() + .First(syntaxTrivia => syntaxTrivia.ToString().Contains("end")); + TextSpan textSpan = TextSpan.FromBounds( + startComment.FullSpan.End, + endComment.FullSpan.Start); + return textSpan; + } + + public static void GetStatementsBetweenMarkers(SyntaxTree tree, out StatementSyntax firstStatement, out StatementSyntax lastStatement) + { + TextSpan span = GetSpanBetweenMarkers(tree); + var statementsInside = tree + .GetRoot() + .DescendantNodes(span) + .OfType() + .Where(s => span.Contains(s.Span)); + firstStatement = statementsInside.First(); + var first = firstStatement; + lastStatement = statementsInside + .Where(s => s.Parent == first.Parent) + .Last(); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + public static bool DataflowBench() + { + var text = @" +class C { + public void F(int x) + { + int a; +/*start*/ + int b; + int x, y = 1; + { var z = ""a""; } +/*end*/ + int c; + } +}"; + var tree = SyntaxFactory.ParseSyntaxTree(text); + var compilation = CSharpCompilation.Create( + "calc.dll", + options: new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary), + syntaxTrees: new[] { tree }, + references: new[] { MetadataReference.CreateFromFile(MscorlibPath) }); + var semanticModel = compilation.GetSemanticModel(tree); + + bool result = true; + for (int i = 0; i < DataflowIterations; i++) + { + StatementSyntax firstStatement, lastStatement; + GetStatementsBetweenMarkers(tree, out firstStatement, out lastStatement); + DataFlowAnalysis regionDataFlowAnalysis = semanticModel.AnalyzeDataFlow(firstStatement, lastStatement); + string declaredVars = string.Join(",", regionDataFlowAnalysis + .VariablesDeclared + .Select(symbol => symbol.Name)); + + result &= "b,x,y,z".Equals(declaredVars); + } + + return result; + } + + [Benchmark] + public bool DatflowTest() => DataflowBench(); +} diff --git a/src/benchmarks/coreclr/SIMD/ConsoleMandel/Abstractions.cs b/src/benchmarks/coreclr/SIMD/ConsoleMandel/Abstractions.cs new file mode 100644 index 00000000000..8cfc0d12384 --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/ConsoleMandel/Abstractions.cs @@ -0,0 +1,138 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System; +using System.Numerics; +using System.Runtime.CompilerServices; + +namespace Algorithms +{ + // A float implementation of the BCL Complex type that only + // contains the bare essentials, plus a couple operations needed + // for efficient Mandelbrot calcuation. + internal struct ComplexFloat + { + [MethodImplAttribute(MethodImplOptions.AggressiveInlining)] + public ComplexFloat(float real, float imaginary) + { + Real = real; Imaginary = imaginary; + } + + public float Real; + public float Imaginary; + + [MethodImplAttribute(MethodImplOptions.AggressiveInlining)] + public ComplexFloat square() + { + return new ComplexFloat(Real * Real - Imaginary * Imaginary, 2.0f * Real * Imaginary); + } + + [MethodImplAttribute(MethodImplOptions.AggressiveInlining)] + public float sqabs() + { + return Real * Real + Imaginary * Imaginary; + } + + public override string ToString() + { + return String.Format("[{0} + {1}Imaginary]", Real, Imaginary); + } + + [MethodImplAttribute(MethodImplOptions.AggressiveInlining)] + public static ComplexFloat operator +(ComplexFloat a, ComplexFloat b) + { + return new ComplexFloat(a.Real + b.Real, a.Imaginary + b.Imaginary); + } + } + + // A couple extension methods that operate on BCL Complex types to help efficiently calculate + // the Mandelbrot set (They're instance methods on the ComplexFloat custom type) + public static partial class extensions + { + [MethodImplAttribute(MethodImplOptions.AggressiveInlining)] + public static double sqabs(this Complex val) + { + return val.Real * val.Real + val.Imaginary * val.Imaginary; + } + + [MethodImplAttribute(MethodImplOptions.AggressiveInlining)] + public static Complex square(this Complex val) + { + return new Complex(val.Real * val.Real - val.Imaginary * val.Imaginary, 2.0 * val.Real * val.Imaginary); + } + } + + // This is an implementation of ComplexFloat that operates on Vector at a time SIMD types + internal struct ComplexVecFloat + { + [MethodImplAttribute(MethodImplOptions.AggressiveInlining)] + public ComplexVecFloat(Vector real, Vector imaginary) + { + Real = real; Imaginary = imaginary; + } + + public Vector Real; + public Vector Imaginary; + + [MethodImplAttribute(MethodImplOptions.AggressiveInlining)] + public ComplexVecFloat square() + { + return new ComplexVecFloat(Real * Real - Imaginary * Imaginary, Real * Imaginary + Real * Imaginary); + } + + [MethodImplAttribute(MethodImplOptions.AggressiveInlining)] + public Vector sqabs() + { + return Real * Real + Imaginary * Imaginary; + } + + public override string ToString() + { + return String.Format("[{0} + {1}Imaginary]", Real, Imaginary); + } + + [MethodImplAttribute(MethodImplOptions.AggressiveInlining)] + public static ComplexVecFloat operator +(ComplexVecFloat a, ComplexVecFloat b) + { + return new ComplexVecFloat(a.Real + b.Real, a.Imaginary + b.Imaginary); + } + } + + // This is an implementation of Complex that operates on Vector at a time SIMD types + internal struct ComplexVecDouble + { + [MethodImplAttribute(MethodImplOptions.AggressiveInlining)] + public ComplexVecDouble(Vector real, Vector imaginary) + { + Real = real; Imaginary = imaginary; + } + + public Vector Real; + public Vector Imaginary; + + [MethodImplAttribute(MethodImplOptions.AggressiveInlining)] + public ComplexVecDouble square() + { + return new ComplexVecDouble(Real * Real - Imaginary * Imaginary, Real * Imaginary + Real * Imaginary); + } + + [MethodImplAttribute(MethodImplOptions.AggressiveInlining)] + public Vector sqabs() + { + return Real * Real + Imaginary * Imaginary; + } + + public override string ToString() + { + return String.Format("[{0} + {1}Imaginary]", Real, Imaginary); + } + + [MethodImplAttribute(MethodImplOptions.AggressiveInlining)] + public static ComplexVecDouble operator +(ComplexVecDouble a, ComplexVecDouble b) + { + return new ComplexVecDouble(a.Real + b.Real, a.Imaginary + b.Imaginary); + } + } +} diff --git a/src/benchmarks/coreclr/SIMD/ConsoleMandel/ConsoleMandel.cs b/src/benchmarks/coreclr/SIMD/ConsoleMandel/ConsoleMandel.cs new file mode 100644 index 00000000000..27cd4376481 --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/ConsoleMandel/ConsoleMandel.cs @@ -0,0 +1,59 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace SIMD +{ + [BenchmarkCategory(Categories.CoreCLR, Categories.SIMD)] + public class ConsoleMandel + { + private static void DoNothing(int x, int y, int count) { } + + private static Algorithms.FractalRenderer.Render GetRenderer(Action draw, int which) + { + return Algorithms.FractalRenderer.SelectRender(draw, Abort, IsVector(which), IsDouble(which), IsMulti(which), UsesADT(which), !UseIntTypes(which)); + } + + private static bool Abort() { return false; } + + private static bool UseIntTypes(int num) { return (num & 8) == 0; } + + private static bool IsVector(int num) { return num > 7; } + + private static bool IsDouble(int num) { return (num & 4) != 0; } + + private static bool IsMulti(int num) { return (num & 2) != 0; } + + private static bool UsesADT(int num) { return (num & 1) != 0; } + + public static void XBench(int iters, int which) + { + float XC = -1.248f; + float YC = -.0362f; + float Range = .001f; + float xmin = XC - Range; + float xmax = XC + Range; + float ymin = YC - Range; + float ymax = YC + Range; + float step = Range / 100f; + + Algorithms.FractalRenderer.Render renderer = GetRenderer(DoNothing, which); + + for (int count = 0; count < iters; count++) + { + renderer(xmin, xmax, ymin, ymax, step); + } + } + + [Benchmark] + public void VectorFloatSinglethreadRawNoInt() => XBench(10, 8); + + [Benchmark] + public void VectorFloatSinglethreadADTNoInt() => XBench(10, 9); + } +} diff --git a/src/benchmarks/coreclr/SIMD/ConsoleMandel/Interfaces.cs b/src/benchmarks/coreclr/SIMD/ConsoleMandel/Interfaces.cs new file mode 100644 index 00000000000..dda2690e3db --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/ConsoleMandel/Interfaces.cs @@ -0,0 +1,145 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System; + +namespace Algorithms +{ + public abstract class FractalRenderer + { + public delegate void Render(float xmin, float xmax, float ymin, float ymax, float step); + + private Func _abort; + private Action _drawPixel; + protected const int max_iters = 1000; // Make this higher to see more detail when zoomed in (and slow down rendering a lot) + + protected FractalRenderer(Action draw, Func checkAbort) + { + _drawPixel = draw; _abort = checkAbort; + } + + protected Action DrawPixel { get { return _drawPixel; } } + + public bool Abort { get { return _abort(); } } + + public static Render SelectRender(Action draw, Func abort, bool useVectorTypes, bool doublePrecision, bool isMultiThreaded, bool useAbstractDataType, bool dontUseIntTypes = true) + { + if (useVectorTypes && doublePrecision) + { + if (dontUseIntTypes) + { + var r = new VectorDoubleStrictRenderer(draw, abort); + if (isMultiThreaded) + { + if (useAbstractDataType) + return r.RenderMultiThreadedWithADT; + else // !useAbstractDataType + return r.RenderMultiThreadedNoADT; + } + else // !isMultiThreaded + { + if (useAbstractDataType) + return r.RenderSingleThreadedWithADT; + else // !useAbstractDataType + return r.RenderSingleThreadedNoADT; + } + } + else // !dontUseIntTypes + { + var r = new VectorDoubleRenderer(draw, abort); + if (isMultiThreaded) + { + if (useAbstractDataType) + return r.RenderMultiThreadedWithADT; + else // !useAbstractDataType + return r.RenderMultiThreadedNoADT; + } + else // !isMultiThreaded + { + if (useAbstractDataType) + return r.RenderSingleThreadedWithADT; + else // !useAbstractDataType + return r.RenderSingleThreadedNoADT; + } + } + } + else if (useVectorTypes && !doublePrecision) + { + if (dontUseIntTypes) + { + var r = new VectorFloatStrictRenderer(draw, abort); + if (isMultiThreaded) + { + if (useAbstractDataType) + return r.RenderMultiThreadedWithADT; + else // !useAbstractDataType + return r.RenderMultiThreadedNoADT; + } + else // !isMultiThreaded + { + if (useAbstractDataType) + return r.RenderSingleThreadedWithADT; + else // !useAbstractDataType + return r.RenderSingleThreadedNoADT; + } + } + else // !dontUseIntTypes + { + var r = new VectorFloatRenderer(draw, abort); + if (isMultiThreaded) + { + if (useAbstractDataType) + return r.RenderMultiThreadedWithADT; + else // !useAbstractDataType + return r.RenderMultiThreadedNoADT; + } + else // !isMultiThreaded + { + if (useAbstractDataType) + return r.RenderSingleThreadedWithADT; + else // !useAbstractDataType + return r.RenderSingleThreadedNoADT; + } + } + } + else if (!useVectorTypes && doublePrecision) + { + var r = new ScalarDoubleRenderer(draw, abort); + if (isMultiThreaded) + { + if (useAbstractDataType) + return r.RenderMultiThreadedWithADT; + else // !useAbstractDataType + return r.RenderMultiThreadedNoADT; + } + else // !isMultiThreaded + { + if (useAbstractDataType) + return r.RenderSingleThreadedWithADT; + else // !useAbstractDataType + return r.RenderSingleThreadedNoADT; + } + } + else // (!useVectorTypes && !doublePrecision) + { + var r = new ScalarFloatRenderer(draw, abort); + if (isMultiThreaded) + { + if (useAbstractDataType) + return r.RenderMultiThreadedWithADT; + else // !useAbstractDataType + return r.RenderMultiThreadedNoADT; + } + else // !isMultiThreaded + { + if (useAbstractDataType) + return r.RenderSingleThreadedWithADT; + else // !useAbstractDataType + return r.RenderSingleThreadedNoADT; + } + } + } + } +} diff --git a/src/benchmarks/coreclr/SIMD/ConsoleMandel/ScalarDouble.cs b/src/benchmarks/coreclr/SIMD/ConsoleMandel/ScalarDouble.cs new file mode 100644 index 00000000000..e4ef4fbdf27 --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/ConsoleMandel/ScalarDouble.cs @@ -0,0 +1,158 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System; +using System.Numerics; +using System.Threading.Tasks; + +namespace Algorithms +{ + // This class contains renderers that use scalar doubles + internal class ScalarDoubleRenderer : FractalRenderer + { + public ScalarDoubleRenderer(Action dp, Func abortFunc) + : base(dp, abortFunc) + { + } + + protected const double limit = 4.0; + + // Render the fractal using the BCL Complex data type abstraction on a single thread with scalar doubles + public void RenderSingleThreadedWithADT(float xminf, float xmaxf, float yminf, float ymaxf, float stepf) + { + double xmin = (double)xminf; + double xmax = (double)xmaxf; + double ymin = (double)yminf; + double ymax = (double)ymaxf; + double step = (double)stepf; + + int yp = 0; + for (double y = ymin; y < ymax && !Abort; y += step, yp++) + { + int xp = 0; + for (double x = xmin; x < xmax; x += step, xp++) + { + Complex num = new Complex(x, y); + Complex accum = num; + int iters = 0; + double sqabs = 0f; + do + { + accum = accum.square(); + accum += num; + iters++; + sqabs = accum.sqabs(); + } while (sqabs < limit && iters < max_iters); + + DrawPixel(xp, yp, iters); + } + } + } + + // Render the fractal with no data type abstraction on a single thread with scalar doubles + public void RenderSingleThreadedNoADT(float xminf, float xmaxf, float yminf, float ymaxf, float stepf) + { + double xmin = (double)xminf; + double xmax = (double)xmaxf; + double ymin = (double)yminf; + double ymax = (double)ymaxf; + double step = (double)stepf; + + int yp = 0; + for (double y = ymin; y < ymax && !Abort; y += step, yp++) + { + int xp = 0; + for (double x = xmin; x < xmax; x += step, xp++) + { + double accumx = x; + double accumy = y; + int iters = 0; + double sqabs = 0.0; + do + { + double naccumx = accumx * accumx - accumy * accumy; + double naccumy = 2.0 * accumx * accumy; + accumx = naccumx + x; + accumy = naccumy + y; + iters++; + sqabs = accumx * accumx + accumy * accumy; + } while (sqabs < limit && iters < max_iters); + + DrawPixel(xp, yp, iters); + } + } + } + + // Render the fractal using the BCL Complex data type abstraction on multiple threads with scalar doubles + public void RenderMultiThreadedWithADT(float xminf, float xmaxf, float yminf, float ymaxf, float stepf) + { + double xmin = (double)xminf; + double xmax = (double)xmaxf; + double ymin = (double)yminf; + double ymax = (double)ymaxf; + double step = (double)stepf; + + Parallel.For(0, (int)(((ymax - ymin) / step) + .5), (yp) => + { + if (Abort) + return; + double y = ymin + step * yp; + int xp = 0; + for (double x = xmin; x < xmax; x += step, xp++) + { + Complex num = new Complex(x, y); + Complex accum = num; + int iters = 0; + double sqabs = 0f; + do + { + accum = accum.square(); + accum += num; + iters++; + sqabs = accum.sqabs(); + } while (sqabs < limit && iters < max_iters); + + DrawPixel(xp, yp, iters); + } + }); + } + + // Render the fractal with no data type abstraction on multiple threads with scalar doubles + public void RenderMultiThreadedNoADT(float xmind, float xmaxd, float ymind, float ymaxd, float stepd) + { + double xmin = (double)xmind; + double xmax = (double)xmaxd; + double ymin = (double)ymind; + double ymax = (double)ymaxd; + double step = (double)stepd; + + Parallel.For(0, (int)(((ymax - ymin) / step) + .5), (yp) => + { + if (Abort) + return; + double y = ymin + step * yp; + int xp = 0; + for (double x = xmin; x < xmax; x += step, xp++) + { + double accumx = x; + double accumy = y; + int iters = 0; + double sqabs = 0.0; + do + { + double naccumx = accumx * accumx - accumy * accumy; + double naccumy = 2.0 * accumx * accumy; + accumx = naccumx + x; + accumy = naccumy + y; + iters++; + sqabs = accumx * accumx + accumy * accumy; + } while (sqabs < limit && iters < max_iters); + + DrawPixel(xp, yp, iters); + } + }); + } + } +} diff --git a/src/benchmarks/coreclr/SIMD/ConsoleMandel/ScalarFloat.cs b/src/benchmarks/coreclr/SIMD/ConsoleMandel/ScalarFloat.cs new file mode 100644 index 00000000000..a7f17385aa9 --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/ConsoleMandel/ScalarFloat.cs @@ -0,0 +1,132 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System; +using System.Threading.Tasks; + +namespace Algorithms +{ + // This class contains renderers that use scalar floats + internal class ScalarFloatRenderer : FractalRenderer + { + public ScalarFloatRenderer(Action dp, Func abortFunc) + : base(dp, abortFunc) + { + } + + protected const float limit = 4.0f; + + // Render the fractal using a Complex data type on a single thread with scalar floats + public void RenderSingleThreadedWithADT(float xmin, float xmax, float ymin, float ymax, float step) + { + int yp = 0; + for (float y = ymin; y < ymax && !Abort; y += step, yp++) + { + int xp = 0; + for (float x = xmin; x < xmax; x += step, xp++) + { + ComplexFloat num = new ComplexFloat(x, y); + ComplexFloat accum = num; + int iters = 0; + float sqabs = 0f; + do + { + accum = accum.square(); + accum += num; + iters++; + sqabs = accum.sqabs(); + } while (sqabs < limit && iters < max_iters); + + DrawPixel(xp, yp, iters); + } + } + } + + // Render the fractal with no data type abstraction on a single thread with scalar floats + public void RenderSingleThreadedNoADT(float xmin, float xmax, float ymin, float ymax, float step) + { + int yp = 0; + for (float y = ymin; y < ymax && !Abort; y += step, yp++) + { + int xp = 0; + for (float x = xmin; x < xmax; x += step, xp++) + { + float accumx = x; + float accumy = y; + int iters = 0; + float sqabs = 0f; + do + { + float naccumx = accumx * accumx - accumy * accumy; + float naccumy = 2.0f * accumx * accumy; + accumx = naccumx + x; + accumy = naccumy + y; + iters++; + sqabs = accumx * accumx + accumy * accumy; + } while (sqabs < limit && iters < max_iters); + DrawPixel(xp, yp, iters); + } + } + } + + // Render the fractal using a Complex data type on a single thread with scalar floats + public void RenderMultiThreadedWithADT(float xmin, float xmax, float ymin, float ymax, float step) + { + Parallel.For(0, (int)(((ymax - ymin) / step) + .5f), (yp) => + { + if (Abort) + return; + float y = ymin + step * yp; + int xp = 0; + for (float x = xmin; x < xmax; x += step, xp++) + { + ComplexFloat num = new ComplexFloat(x, y); + ComplexFloat accum = num; + int iters = 0; + float sqabs = 0f; + do + { + accum = accum.square(); + accum += num; + iters++; + sqabs = accum.sqabs(); + } while (sqabs < limit && iters < max_iters); + + DrawPixel(xp, yp, iters); + } + }); + } + + // Render the fractal with no data type abstraction on multiple threads with scalar floats + public void RenderMultiThreadedNoADT(float xmin, float xmax, float ymin, float ymax, float step) + { + Parallel.For(0, (int)(((ymax - ymin) / step) + .5f), (yp) => + { + if (Abort) + return; + float y = ymin + step * yp; + int xp = 0; + for (float x = xmin; x < xmax; x += step, xp++) + { + float accumx = x; + float accumy = y; + int iters = 0; + float sqabs = 0f; + do + { + float naccumx = accumx * accumx - accumy * accumy; + float naccumy = 2.0f * accumx * accumy; + accumx = naccumx + x; + accumy = naccumy + y; + iters++; + sqabs = accumx * accumx + accumy * accumy; + } while (sqabs < limit && iters < max_iters); + + DrawPixel(xp, yp, iters); + } + }); + } + } +} diff --git a/src/benchmarks/coreclr/SIMD/ConsoleMandel/VectorDouble.cs b/src/benchmarks/coreclr/SIMD/ConsoleMandel/VectorDouble.cs new file mode 100644 index 00000000000..0d57e0b4bcf --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/ConsoleMandel/VectorDouble.cs @@ -0,0 +1,212 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System; +using System.Numerics; +using System.Threading.Tasks; + +namespace Algorithms +{ + // This contains renderers that only use Vector's and Vector types. + internal class VectorDoubleRenderer : FractalRenderer + { + private const double limit = 4.0; + + private static Vector s_dummy = Vector.One; + + public VectorDoubleRenderer(Action dp, Func abortFunc) + : base(dp, abortFunc) + { + } + + // Render the fractal on a single thread using raw Vector data types + // For a well commented version, go see VectorFloatRenderer.RenderSingleThreadedWithADT in VectorFloat.cs + public void RenderSingleThreadedNoADT(float xminf, float xmaxf, float yminf, float ymaxf, float stepf) + { + double xmin = (double)xminf; + double xmax = (double)xmaxf; + double ymin = (double)yminf; + double ymax = (double)ymaxf; + double step = (double)stepf; + + Vector vlimit = new Vector(limit); + Vector vinc = new Vector((double)Vector.Count * step); + Vector vstep = new Vector(step); + Vector vmax_iters = new Vector(max_iters); + Vector vxmin = VectorHelper.Create(i => xmin + step * i); + + double y = ymin; + int yp = 0; + for (Vector vy = new Vector(ymin); y <= ymax && !Abort; vy += vstep, y += step, yp++) + { + int xp = 0; + Vector vxmaxd = new Vector(xmax); + for (Vector vx = vxmin; Vector.LessThanOrEqualAny(vx, vxmaxd); vx += vinc, xp += Vector.Count) + { + Vector accumx = vx; + Vector accumy = vy; + + Vector viters = Vector.Zero; + Vector increment = Vector.One; + + do + { + Vector naccumx = accumx * accumx - accumy * accumy; + Vector naccumy = accumx * accumy + accumx * accumy; + accumx = naccumx + vx; + accumy = naccumy + vy; + viters += increment; + Vector sqabs = accumx * accumx + accumy * accumy; + Vector vCond = Vector.LessThanOrEqual(sqabs, vlimit) & + Vector.LessThanOrEqual(viters, vmax_iters); + increment = increment & vCond; + } while (increment != Vector.Zero); + + viters.ForEach((iter, elemNum) => DrawPixel(xp + elemNum, yp, (int)iter)); + } + } + } + + // Render the fractal on a single thread using the ComplexVecDouble data type + // For a well commented version, go see VectorFloatRenderer.RenderSingleThreadedWithADT in VectorFloat.cs + public void RenderSingleThreadedWithADT(float xminf, float xmaxf, float yminf, float ymaxf, float stepf) + { + double xmin = (double)xminf; + double xmax = (double)xmaxf; + double ymin = (double)yminf; + double ymax = (double)ymaxf; + double step = (double)stepf; + + Vector vlimit = new Vector(limit); + Vector vinc = new Vector((double)Vector.Count * step); + Vector vstep = new Vector(step); + Vector vmax_iters = new Vector(max_iters); + Vector vxmax = new Vector(xmax); + Vector vxmin = VectorHelper.Create(i => xmin + step * i); + + double y = ymin; + int yp = 0; + for (Vector vy = new Vector(ymin); y <= ymax && !Abort; vy += vstep, y += step, yp++) + { + int xp = 0; + for (Vector vx = vxmin; Vector.LessThanOrEqualAny(vx, vxmax); vx += vinc, xp += Vector.Count) + { + ComplexVecDouble num = new ComplexVecDouble(vx, vy); + ComplexVecDouble accum = num; + + Vector viters = Vector.Zero; + Vector increment = Vector.One; + + do + { + accum = accum.square() + num; + viters += increment; + Vector vCond = Vector.LessThanOrEqual(accum.sqabs(), vlimit) & + Vector.LessThanOrEqual(viters, vmax_iters); + increment = increment & vCond; + } while (increment != Vector.Zero); + + viters.ForEach((iter, elemNum) => DrawPixel(xp + elemNum, yp, (int)iter)); + } + } + } + + // Render the fractal on multiple threads using raw Vector data types + // For a well commented version, go see VectorFloatRenderer.RenderSingleThreadedWithADT in VectorFloat.cs + public void RenderMultiThreadedNoADT(float xminf, float xmaxf, float yminf, float ymaxf, float stepf) + { + double xmin = (double)xminf; + double xmax = (double)xmaxf; + double ymin = (double)yminf; + double ymax = (double)ymaxf; + double step = (double)stepf; + + Vector vmax_iters = new Vector(max_iters); + Vector vlimit = new Vector(limit); + Vector vinc = new Vector((double)Vector.Count * step); + Vector vxmax = new Vector(xmax); + Vector vstep = new Vector(step); + Vector vxmin = VectorHelper.Create(i => xmin + step * i); + + Parallel.For(0, (int)(((ymax - ymin) / step) + .5), (yp) => + { + if (Abort) + return; + + Vector vy = new Vector(ymin + step * yp); + int xp = 0; + for (Vector vx = vxmin; Vector.LessThanOrEqualAny(vx, vxmax); vx += vinc, xp += Vector.Count) + { + Vector accumx = vx; + Vector accumy = vy; + + Vector viters = Vector.Zero; + Vector increment = Vector.One; + + do + { + Vector naccumx = accumx * accumx - accumy * accumy; + Vector naccumy = accumx * accumy + accumx * accumy; + accumx = naccumx + vx; + accumy = naccumy + vy; + viters += increment; + Vector sqabs = accumx * accumx + accumy * accumy; + Vector vCond = Vector.LessThanOrEqual(sqabs, vlimit) & + Vector.LessThanOrEqual(viters, vmax_iters); + increment = increment & vCond; + } while (increment != Vector.Zero); + + viters.ForEach((iter, elemNum) => DrawPixel(xp + elemNum, yp, (int)iter)); + } + }); + } + + // Render the fractal on multiple threads using the ComplexVecDouble data type + // For a well commented version, go see VectorFloatRenderer.RenderSingleThreadedWithADT in VectorFloat.cs + public void RenderMultiThreadedWithADT(float xminf, float xmaxf, float yminf, float ymaxf, float stepf) + { + double xmin = (double)xminf; + double xmax = (double)xmaxf; + double ymin = (double)yminf; + double ymax = (double)ymaxf; + double step = (double)stepf; + + Vector vmax_iters = new Vector(max_iters); + Vector vlimit = new Vector(limit); + Vector vinc = new Vector((double)Vector.Count * step); + Vector vxmax = new Vector(xmax); + Vector vstep = new Vector(step); + Vector vxmin = VectorHelper.Create(i => xmin + step * i); + + Parallel.For(0, (int)(((ymax - ymin) / step) + .5), (yp) => + { + if (Abort) + return; + + Vector vy = new Vector(ymin + step * yp); + int xp = 0; + for (Vector vx = vxmin; Vector.LessThanOrEqualAny(vx, vxmax); vx += vinc, xp += Vector.Count) + { + ComplexVecDouble num = new ComplexVecDouble(vx, vy); + ComplexVecDouble accum = num; + + Vector viters = Vector.Zero; + Vector increment = Vector.One; + + do + { + accum = accum.square() + num; + viters += increment; + Vector vCond = Vector.LessThanOrEqual(accum.sqabs(), vlimit) & + Vector.LessThanOrEqual(viters, vmax_iters); + increment = increment & vCond; + } while (increment != Vector.Zero); + + viters.ForEach((iter, elemNum) => DrawPixel(xp + elemNum, yp, (int)iter)); + } + }); + } + } +} diff --git a/src/benchmarks/coreclr/SIMD/ConsoleMandel/VectorDoubleStrict.cs b/src/benchmarks/coreclr/SIMD/ConsoleMandel/VectorDoubleStrict.cs new file mode 100644 index 00000000000..a6099c78215 --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/ConsoleMandel/VectorDoubleStrict.cs @@ -0,0 +1,215 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System; +using System.Numerics; +using System.Threading.Tasks; + +namespace Algorithms +{ + // This contains renderers that only use Vector's with no Vector types. It's + // primarily useful when targeting AVX (not AVX2), because AVX doesn't support 256 bits of + // integer values, only floating point values. + internal class VectorDoubleStrictRenderer : FractalRenderer + { + private const double limit = 4.0; + + private static Vector s_dummy; + + static VectorDoubleStrictRenderer() + { + s_dummy = Vector.One; + } + + public VectorDoubleStrictRenderer(Action dp, Func abortFunc) + : base(dp, abortFunc) + { + } + + // Render the fractal on multiple threads using the ComplexVecDouble data type + // For a well commented version, go see VectorFloatRenderer.RenderSingleThreadedWithADT in VectorFloat.cs + public void RenderMultiThreadedWithADT(float xminf, float xmaxf, float yminf, float ymaxf, float stepf) + { + double xmin = (double)xminf; + double xmax = (double)xmaxf; + double ymin = (double)yminf; + double ymax = (double)ymaxf; + double step = (double)stepf; + + Vector vmax_iters = new Vector((double)max_iters); + Vector vlimit = new Vector(limit); + Vector vstep = new Vector(step); + Vector vinc = new Vector((double)Vector.Count * step); + Vector vxmax = new Vector(xmax); + Vector vxmin = VectorHelper.Create(i => xmin + step * i); + + Parallel.For(0, (int)(((ymax - ymin) / step) + .5), (yp) => + { + if (Abort) + return; + + Vector vy = new Vector(ymin + step * yp); + int xp = 0; + for (Vector vx = vxmin; Vector.LessThanOrEqualAny(vx, vxmax); vx += vinc, xp += Vector.Count) + { + ComplexVecDouble num = new ComplexVecDouble(vx, vy); + ComplexVecDouble accum = num; + + Vector viters = Vector.Zero; + Vector increment = Vector.One; + do + { + accum = accum.square() + num; + viters += increment; + Vector vCond = Vector.LessThanOrEqual(accum.sqabs(), vlimit) & + Vector.LessThanOrEqual(viters, vmax_iters); + increment = increment & vCond; + } while (increment != Vector.Zero); + + viters.ForEach((iter, elemNum) => DrawPixel(xp + elemNum, yp, (int)iter)); + } + }); + } + + // Render the fractal on multiple threads using raw Vector data types + // For a well commented version, go see VectorFloatRenderer.RenderSingleThreadedWithADT in VectorFloat.cs + public void RenderMultiThreadedNoADT(float xminf, float xmaxf, float yminf, float ymaxf, float stepf) + { + double xmin = (double)xminf; + double xmax = (double)xmaxf; + double ymin = (double)yminf; + double ymax = (double)ymaxf; + double step = (double)stepf; + + Vector vmax_iters = new Vector((double)max_iters); + Vector vlimit = new Vector(limit); + Vector vstep = new Vector(step); + Vector vinc = new Vector((double)Vector.Count * step); + Vector vxmax = new Vector(xmax); + Vector vxmin = VectorHelper.Create(i => xmin + step * i); + + Parallel.For(0, (int)(((ymax - ymin) / step) + .5), (yp) => + { + if (Abort) + return; + + Vector vy = new Vector(ymin + step * yp); + int xp = 0; + for (Vector vx = vxmin; Vector.LessThanOrEqualAny(vx, vxmax); vx += vinc, xp += Vector.Count) + { + Vector accumx = vx; + Vector accumy = vy; + + Vector viters = Vector.Zero; + Vector increment = Vector.One; + do + { + Vector naccumx = accumx * accumx - accumy * accumy; + Vector naccumy = accumx * accumy + accumx * accumy; + accumx = naccumx + vx; + accumy = naccumy + vy; + viters += increment; + Vector sqabs = accumx * accumx + accumy * accumy; + Vector vCond = Vector.LessThanOrEqual(sqabs, vlimit) & + Vector.LessThanOrEqual(viters, vmax_iters); + increment = increment & vCond; + } while (increment != Vector.Zero); + + viters.ForEach((iter, elemNum) => DrawPixel(xp + elemNum, yp, (int)iter)); + } + }); + } + + // Render the fractal on a single thread using the ComplexVecDouble data type + // For a well commented version, go see VectorFloatRenderer.RenderSingleThreadedWithADT in VectorFloat.cs + public void RenderSingleThreadedWithADT(float xminf, float xmaxf, float yminf, float ymaxf, float stepf) + { + double xmin = (double)xminf; + double xmax = (double)xmaxf; + double ymin = (double)yminf; + double ymax = (double)ymaxf; + double step = (double)stepf; + + Vector vmax_iters = new Vector((double)max_iters); + Vector vlimit = new Vector(limit); + Vector vstep = new Vector(step); + Vector vinc = new Vector((double)Vector.Count * step); + Vector vxmax = new Vector(xmax); + Vector vxmin = VectorHelper.Create(i => xmin + step * i); + + double y = ymin; + int yp = 0; + for (Vector vy = new Vector(ymin); y <= ymax && !Abort; vy += vstep, y += step, yp++) + { + int xp = 0; + for (Vector vx = vxmin; Vector.LessThanOrEqualAny(vx, vxmax); vx += vinc, xp += Vector.Count) + { + ComplexVecDouble num = new ComplexVecDouble(vx, vy); + ComplexVecDouble accum = num; + + Vector viters = Vector.Zero; + Vector increment = Vector.One; + do + { + accum = accum.square() + num; + viters += increment; + Vector vCond = Vector.LessThanOrEqual(accum.sqabs(), vlimit) & + Vector.LessThanOrEqual(viters, vmax_iters); + increment = increment & vCond; + } while (increment != Vector.Zero); + + viters.ForEach((iter, elemNum) => DrawPixel(xp + elemNum, yp, (int)iter)); + } + } + } + + // Render the fractal on a single thread using raw Vector data types + // For a well commented version, go see VectorFloatRenderer.RenderSingleThreadedWithADT in VectorFloat.cs + public void RenderSingleThreadedNoADT(float xminf, float xmaxf, float yminf, float ymaxf, float stepf) + { + double xmin = (double)xminf; + double xmax = (double)xmaxf; + double ymin = (double)yminf; + double ymax = (double)ymaxf; + double step = (double)stepf; + + Vector vmax_iters = new Vector((double)max_iters); + Vector vlimit = new Vector(limit); + Vector vstep = new Vector(step); + Vector vinc = new Vector((double)Vector.Count * step); + Vector vxmax = new Vector(xmax); + Vector vxmin = VectorHelper.Create(i => xmin + step * i); + + double y = ymin; + int yp = 0; + for (Vector vy = new Vector(ymin); y <= ymax && !Abort; vy += vstep, y += step, yp++) + { + int xp = 0; + for (Vector vx = vxmin; Vector.LessThanOrEqualAny(vx, vxmax); vx += vinc, xp += Vector.Count) + { + Vector accumx = vx; + Vector accumy = vy; + + Vector viters = Vector.Zero; + Vector increment = Vector.One; + do + { + Vector naccumx = accumx * accumx - accumy * accumy; + Vector naccumy = accumx * accumy + accumx * accumy; + accumx = naccumx + vx; + accumy = naccumy + vy; + viters += increment; + Vector sqabs = accumx * accumx + accumy * accumy; + Vector vCond = Vector.LessThanOrEqual(sqabs, vlimit) & + Vector.LessThanOrEqual(viters, vmax_iters); + increment = increment & vCond; + } while (increment != Vector.Zero); + + viters.ForEach((iter, elemNum) => DrawPixel(xp + elemNum, yp, (int)iter)); + } + } + } + } +} diff --git a/src/benchmarks/coreclr/SIMD/ConsoleMandel/VectorFloat.cs b/src/benchmarks/coreclr/SIMD/ConsoleMandel/VectorFloat.cs new file mode 100644 index 00000000000..418c271fcf1 --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/ConsoleMandel/VectorFloat.cs @@ -0,0 +1,214 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System; +using System.Numerics; +using System.Threading.Tasks; + +namespace Algorithms +{ + // This class contains renderers that use Vector (SIMD) floats + internal class VectorFloatRenderer : FractalRenderer + { + private const float limit = 4.0f; + + public VectorFloatRenderer(Action dp, Func abortFunc) + : base(dp, abortFunc) + { + } + + // Render the fractal on a single thread using the ComplexFloatVec data type + // This is the implementation that has the best comments. + public void RenderSingleThreadedWithADT(float xmin, float xmax, float ymin, float ymax, float step) + { + // Initialize a pile of method constant vectors + Vector vmax_iters = new Vector(max_iters); + Vector vlimit = new Vector(limit); + Vector vstep = new Vector(step); + Vector vxmax = new Vector(xmax); + Vector vinc = new Vector((float)Vector.Count * step); + // Use my little helper routine: it's kind of slow, but I find it pleasantly readable. + // The alternative would be this: + // float[] xmins = new float[Vector.Count]; + // for (int i = 0; i < xmins.Count; i++) + // xmins[i] = xmin + step * i; + // Vector vxmin = new Vector(xmins); + // Both allocate some memory, this one just does it in a separate routine :-) + Vector vxmin = VectorHelper.Create(i => xmin + step * i); + + float y = ymin; + int yp = 0; + for (Vector vy = new Vector(ymin); + y <= ymax && !Abort; + vy += vstep, y += step, yp++) + { + int xp = 0; + for (Vector vx = vxmin; + Vector.LessThanOrEqualAny(vx, vxmax); // Vector.{comparision}Any|All return bools, not masks + vx += vinc, xp += Vector.Count) + { + ComplexVecFloat num = new ComplexVecFloat(vx, vy); + ComplexVecFloat accum = num; + + Vector viters = Vector.Zero; // Iteration counts start at all zeros + Vector increment = Vector.One; // Increment starts out as all ones + do + { + // This is work that can be vectorized + accum = accum.square() + num; + // Increment the iteration count Only pixels that haven't already hit the + // limit will be incremented because the increment variable gets masked below + viters += increment; + // Create a mask that correspons to the element-wise logical operation + // "accum <= limit && iters <= max_iters" Note that the bitwise and is used, + // because the Vector.{comparision} operations return masks, not boolean values + Vector vCond = Vector.LessThanOrEqual(accum.sqabs(), vlimit) & + Vector.LessThanOrEqual(viters, vmax_iters); + // increment becomes zero for the elems that have hit the limit because + // vCond is a mask of all zeros or ones, based on the results of the + // Vector.{comparison} operations + increment = increment & vCond; + // Keep going until we have no elements that haven't either hit the value + // limit or the iteration count + } while (increment != Vector.Zero); + + // This is another little helper I created. It's definitely kind of slow but I + // find it pleasantly succinct. It could also be written like this: + // + // for (int eNum = 0; eNum < Vector.Count; eNum++) + // DrawPixel(xp + eNum, yp, viters[eNum]); + // + // Neither implementation is particularly fast, because pulling individual elements + // is a slow operation for vector types. + viters.ForEach((iter, elemNum) => DrawPixel(xp + elemNum, yp, iter)); + } + } + } + + // Render the fractal on a single thread using raw Vector data types + // For a well commented version, go see VectorFloatRenderer.RenderSingleThreadedWithADT + public void RenderSingleThreadedNoADT(float xmin, float xmax, float ymin, float ymax, float step) + { + Vector vmax_iters = new Vector(max_iters); + Vector vlimit = new Vector(limit); + Vector vstep = new Vector(step); + Vector vxmax = new Vector(xmax); + Vector vinc = new Vector((float)Vector.Count * step); + Vector vxmin = VectorHelper.Create(i => xmin + step * i); + + float y = ymin; + int yp = 0; + for (Vector vy = new Vector(ymin); y <= ymax && !Abort; vy += vstep, y += step, yp++) + { + int xp = 0; + for (Vector vx = vxmin; Vector.LessThanOrEqualAny(vx, vxmax); vx += vinc, xp += Vector.Count) + { + Vector accumx = vx; + Vector accumy = vy; + + Vector viters = Vector.Zero; + Vector increment = Vector.One; + do + { + Vector naccumx = accumx * accumx - accumy * accumy; + Vector naccumy = accumx * accumy + accumx * accumy; + accumx = naccumx + vx; + accumy = naccumy + vy; + viters += increment; + Vector sqabs = accumx * accumx + accumy * accumy; + Vector vCond = Vector.LessThanOrEqual(sqabs, vlimit) & + Vector.LessThanOrEqual(viters, vmax_iters); + increment = increment & vCond; + } while (increment != Vector.Zero); + + viters.ForEach((iter, elemNum) => DrawPixel(xp + elemNum, yp, (int)iter)); + } + } + } + + // Render the fractal on multiple threads using raw Vector data types + // For a well commented version, go see VectorFloatRenderer.RenderSingleThreadedWithADT + public void RenderMultiThreadedNoADT(float xmin, float xmax, float ymin, float ymax, float step) + { + Vector vmax_iters = new Vector(max_iters); + Vector vlimit = new Vector(limit); + Vector vstep = new Vector(step); + Vector vinc = new Vector((float)Vector.Count * step); + Vector vxmax = new Vector(xmax); + Vector vxmin = VectorHelper.Create(i => xmin + step * i); + + Parallel.For(0, (int)(((ymax - ymin) / step) + .5f), (yp) => + { + if (Abort) + return; + + Vector vy = new Vector(ymin + step * yp); + int xp = 0; + for (Vector vx = vxmin; Vector.LessThanOrEqualAny(vx, vxmax); vx += vinc, xp += Vector.Count) + { + Vector accumx = vx; + Vector accumy = vy; + + Vector viters = Vector.Zero; + Vector increment = Vector.One; + do + { + Vector naccumx = accumx * accumx - accumy * accumy; + Vector XtimesY = accumx * accumy; + Vector naccumy = XtimesY + XtimesY; + accumx = naccumx + vx; + accumy = naccumy + vy; + viters += increment; + Vector sqabs = accumx * accumx + accumy * accumy; + Vector vCond = Vector.LessThanOrEqual(sqabs, vlimit) & + Vector.LessThanOrEqual(viters, vmax_iters); + increment = increment & vCond; + } while (increment != Vector.Zero); + + viters.ForEach((iter, elemNum) => DrawPixel(xp + elemNum, yp, (int)iter)); + } + }); + } + + // Render the fractal on multiple threads using the ComplexFloatVec data type + // For a well commented version, go see VectorFloatRenderer.RenderSingleThreadedWithADT + public void RenderMultiThreadedWithADT(float xmin, float xmax, float ymin, float ymax, float step) + { + Vector vmax_iters = new Vector(max_iters); + Vector vlimit = new Vector(limit); + Vector vstep = new Vector(step); + Vector vinc = new Vector((float)Vector.Count * step); + Vector vxmax = new Vector(xmax); + Vector vxmin = VectorHelper.Create(i => xmin + step * i); + + Parallel.For(0, (int)(((ymax - ymin) / step) + .5f), (yp) => + { + if (Abort) + return; + + Vector vy = new Vector(ymin + step * yp); + int xp = 0; + for (Vector vx = vxmin; Vector.LessThanOrEqualAny(vx, vxmax); vx += vinc, xp += Vector.Count) + { + ComplexVecFloat num = new ComplexVecFloat(vx, vy); + ComplexVecFloat accum = num; + + Vector viters = Vector.Zero; + Vector increment = Vector.One; + do + { + accum = accum.square() + num; + viters += increment; + Vector vCond = Vector.LessThanOrEqual(accum.sqabs(), vlimit) & + Vector.LessThanOrEqual(viters, vmax_iters); + increment = increment & vCond; + } while (increment != Vector.Zero); + + viters.ForEach((iter, elemNum) => DrawPixel(xp + elemNum, yp, iter)); + } + }); + } + } +} diff --git a/src/benchmarks/coreclr/SIMD/ConsoleMandel/VectorFloatStrict.cs b/src/benchmarks/coreclr/SIMD/ConsoleMandel/VectorFloatStrict.cs new file mode 100644 index 00000000000..f4b8ccf9a53 --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/ConsoleMandel/VectorFloatStrict.cs @@ -0,0 +1,191 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System; +using System.Numerics; +using System.Threading.Tasks; + +namespace Algorithms +{ + // This contains renderers that only use Vector's with no Vector types. It was + // originally focused on targeting AVX (not AVX2), because AVX doesn't support 256 bits of + // integer values, only floating point values. + internal class VectorFloatStrictRenderer : FractalRenderer + { + private const float limit = 4.0f; + + private static Vector s_dummy; + + static VectorFloatStrictRenderer() + { + s_dummy = Vector.One; + } + + public VectorFloatStrictRenderer(Action dp, Func abortFunc) + : base(dp, abortFunc) + { + } + + // Render the fractal on multiple threads using the ComplexFloatVec data type + // For a well commented version, go see VectorFloatRenderer.RenderSingleThreadedWithADT in VectorFloat.cs + public void RenderMultiThreadedWithADT(float xmin, float xmax, float ymin, float ymax, float step) + { + Vector vmax_iters = new Vector((float)max_iters); + Vector vlimit = new Vector(limit); + Vector vstep = new Vector(step); + Vector vinc = new Vector((float)Vector.Count * step); + Vector vxmax = new Vector(xmax); + Vector vxmin = VectorHelper.Create(i => xmin + step * i); + + Parallel.For(0, (int)(((ymax - ymin) / step) + .5f), (yp) => + { + if (Abort) + return; + + Vector vy = new Vector(ymin + step * yp); + int xp = 0; + for (Vector vx = vxmin; Vector.LessThanOrEqualAny(vx, vxmax); vx += vinc, xp += Vector.Count) + { + ComplexVecFloat num = new ComplexVecFloat(vx, vy); + ComplexVecFloat accum = num; + + Vector viters = Vector.Zero; + Vector increment = Vector.One; + do + { + accum = accum.square() + num; + viters += increment; + Vector vCond = Vector.LessThanOrEqual(accum.sqabs(), vlimit) & + Vector.LessThanOrEqual(viters, vmax_iters); + increment = increment & vCond; + } while (increment != Vector.Zero); + + viters.ForEach((iter, elemNum) => DrawPixel(xp + elemNum, yp, (int)iter)); + } + }); + } + + // Render the fractal on multiple threads using raw Vector data types + // For a well commented version, go see VectorFloatRenderer.RenderSingleThreadedWithADT in VectorFloat.cs + public void RenderMultiThreadedNoADT(float xmin, float xmax, float ymin, float ymax, float step) + { + Vector vmax_iters = new Vector((float)max_iters); + Vector vlimit = new Vector(limit); + Vector vstep = new Vector(step); + Vector vinc = new Vector((float)Vector.Count * step); + Vector vxmax = new Vector(xmax); + Vector vxmin = VectorHelper.Create(i => xmin + step * i); + + Parallel.For(0, (int)(((ymax - ymin) / step) + .5f), (yp) => + { + if (Abort) + return; + + Vector vy = new Vector(ymin + step * yp); + int xp = 0; + for (Vector vx = vxmin; Vector.LessThanOrEqualAny(vx, vxmax); vx += vinc, xp += Vector.Count) + { + Vector accumx = vx; + Vector accumy = vy; + + Vector viters = Vector.Zero; + Vector increment = Vector.One; + do + { + Vector naccumx = accumx * accumx - accumy * accumy; + Vector naccumy = accumx * accumy + accumx * accumy; + accumx = naccumx + vx; + accumy = naccumy + vy; + viters += increment; + Vector sqabs = accumx * accumx + accumy * accumy; + Vector vCond = Vector.LessThanOrEqual(sqabs, vlimit) & + Vector.LessThanOrEqual(viters, vmax_iters); + increment = increment & vCond; + } while (increment != Vector.Zero); + + viters.ForEach((iter, elemNum) => DrawPixel(xp + elemNum, yp, (int)iter)); + } + }); + } + + // Render the fractal on a single thread using the ComplexFloatVec data type + // For a well commented version, go see VectorFloatRenderer.RenderSingleThreadedWithADT in VectorFloat.cs + public void RenderSingleThreadedWithADT(float xmin, float xmax, float ymin, float ymax, float step) + { + Vector vmax_iters = new Vector((float)max_iters); + Vector vlimit = new Vector(limit); + Vector vstep = new Vector(step); + Vector vxmax = new Vector(xmax); + Vector vinc = new Vector((float)Vector.Count * step); + Vector vxmin = VectorHelper.Create(i => xmin + step * i); + + float y = ymin; + int yp = 0; + for (Vector vy = new Vector(ymin); y <= ymax && !Abort; vy += vstep, y += step, yp++) + { + int xp = 0; + for (Vector vx = vxmin; Vector.LessThanOrEqualAny(vx, vxmax); vx += vinc, xp += Vector.Count) + { + ComplexVecFloat num = new ComplexVecFloat(vx, vy); + ComplexVecFloat accum = num; + + Vector viters = Vector.Zero; + Vector increment = Vector.One; + do + { + accum = accum.square() + num; + viters += increment; + Vector vCond = Vector.LessThanOrEqual(accum.sqabs(), vlimit) & + Vector.LessThanOrEqual(viters, vmax_iters); + increment = increment & vCond; + } while (increment != Vector.Zero); + + viters.ForEach((iter, elemNum) => DrawPixel(xp + elemNum, yp, (int)iter)); + } + } + } + + // Render the fractal on a single thread using raw Vector data types + // For a well commented version, go see VectorFloatRenderer.RenderSingleThreadedWithADT in VectorFloat.cs + public void RenderSingleThreadedNoADT(float xmin, float xmax, float ymin, float ymax, float step) + { + Vector vmax_iters = new Vector(max_iters); + Vector vlimit = new Vector(limit); + Vector vstep = new Vector(step); + Vector vxmax = new Vector(xmax); + Vector vinc = new Vector((float)Vector.Count * step); + Vector vxmin = VectorHelper.Create(i => xmin + step * i); + + float y = ymin; + int yp = 0; + for (Vector vy = new Vector(ymin); y <= ymax && !Abort; vy += vstep, y += step, yp++) + { + int xp = 0; + for (Vector vx = vxmin; Vector.LessThanOrEqualAny(vx, vxmax); vx += vinc, xp += Vector.Count) + { + Vector accumx = vx; + Vector accumy = vy; + + Vector viters = Vector.Zero; + Vector increment = Vector.One; + do + { + Vector naccumx = accumx * accumx - accumy * accumy; + Vector naccumy = accumx * accumy + accumx * accumy; + accumx = naccumx + vx; + accumy = naccumy + vy; + viters += increment; + Vector sqabs = accumx * accumx + accumy * accumy; + Vector vCond = Vector.LessThanOrEqual(sqabs, vlimit) & + Vector.LessThanOrEqual(viters, vmax_iters); + increment = increment & vCond; + } while (increment != Vector.Zero); + + viters.ForEach((iter, elemNum) => DrawPixel(xp + elemNum, yp, (int)iter)); + } + } + } + } +} diff --git a/src/benchmarks/coreclr/SIMD/ConsoleMandel/VectorHelpers.cs b/src/benchmarks/coreclr/SIMD/ConsoleMandel/VectorHelpers.cs new file mode 100644 index 00000000000..cba8ce81949 --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/ConsoleMandel/VectorHelpers.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System; +using System.Numerics; +using System.Runtime.CompilerServices; + +namespace Algorithms +{ + public static class VectorHelper + { + // Helper to construct a vector from a lambda that takes an + // index. It's not efficient, but it's more succint than the + // corresponding for loop. Don't use it on a hot code path + // (i.e. inside a loop) + [MethodImplAttribute(MethodImplOptions.AggressiveInlining)] + public static Vector Create(Func creator) where T : struct + { + T[] data = new T[Vector.Count]; + for (int i = 0; i < data.Length; i++) + data[i] = creator(i); + return new Vector(data); + } + + // Helper to invoke a function for each element of the + // vector. This is NOT fast. I just like the way it looks + // better than a for loop. Don't use it somewhere that + // performance truly matters + [MethodImplAttribute(MethodImplOptions.AggressiveInlining)] + public static void ForEach(this Vector vec, Action op) where T : struct + { + for (int i = 0; i < Vector.Count; i++) + op(vec[i], i); + } + } +} diff --git a/src/benchmarks/coreclr/SIMD/RayTracer/Camera.cs b/src/benchmarks/coreclr/SIMD/RayTracer/Camera.cs new file mode 100644 index 00000000000..f7a5f754dde --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/RayTracer/Camera.cs @@ -0,0 +1,28 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +namespace Benchmarks.SIMD.RayTracer +{ + internal class Camera + { + public Vector Pos; + public Vector Forward; + public Vector Up; + public Vector Right; + + public Camera(Vector pos, Vector forward, Vector up, Vector right) { Pos = pos; Forward = forward; Up = up; Right = right; } + + public static Camera Create(Vector pos, Vector lookAt) + { + Vector forward = Vector.Norm(Vector.Minus(lookAt, pos)); + Vector down = new Vector(0, -1, 0); + Vector right = Vector.Times(1.5F, Vector.Norm(Vector.Cross(forward, down))); + Vector up = Vector.Times(1.5F, Vector.Norm(Vector.Cross(forward, right))); + + return new Camera(pos, forward, up, right); + } + } +} + diff --git a/src/benchmarks/coreclr/SIMD/RayTracer/Color.cs b/src/benchmarks/coreclr/SIMD/RayTracer/Color.cs new file mode 100644 index 00000000000..3a531a020b9 --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/RayTracer/Color.cs @@ -0,0 +1,146 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System; +using System.Numerics; + +namespace Benchmarks.SIMD.RayTracer +{ + public struct Color + { + private Vector3 _simdVector; + public float R { get { return _simdVector.X; } } + public float G { get { return _simdVector.Y; } } + public float B { get { return _simdVector.Z; } } + + public Color(double r, double g, double b) + { + _simdVector = new Vector3((float)r, (float)g, (float)b); + } + public Color(string str) + { + string[] nums = str.Split(','); + if (nums.Length != 3) throw new ArgumentException(); + _simdVector = new Vector3(float.Parse(nums[0]), float.Parse(nums[1]), float.Parse(nums[2])); + } + + + public static Color Times(double n, Color v) + { + Color result; + result._simdVector = (float)n * v._simdVector; + return result; + } + public static Color Times(Color v1, Color v2) + { + Color result; + result._simdVector = v1._simdVector * v2._simdVector; + return result; + } + + public static Color Plus(Color v1, Color v2) + { + Color result; + result._simdVector = v1._simdVector + v2._simdVector; + return result; + } + public static Color Minus(Color v1, Color v2) + { + Color result; + result._simdVector = v1._simdVector - v2._simdVector; + return result; + } + + public static Color Background { get { Color result; result._simdVector = Vector3.Zero; return result; } } + public static Color DefaultColor { get { Color result; result._simdVector = Vector3.Zero; return result; } } + + public static float Legalize(float d) + { + return d > 1 ? 1 : d; + } + + public static byte ToByte(float c) + { + return (byte)(255 * Legalize(c)); + } + + public static Int32 ToInt32(float c) + { + Int32 r = (Int32)(255 * c); + return (r > 255 ? 255 : r); + } + + public Int32 ToInt32() + { + return (ToInt32(B) | ToInt32(G) << 8 | ToInt32(R) << 16 | 255 << 24); + } + + public float Brightness() + { + float r = (float)R / 255.0f; + float g = (float)G / 255.0f; + float b = (float)B / 255.0f; + + float max, min; + + max = r; min = r; + + if (g > max) max = g; + if (b > max) max = b; + + if (g < min) min = g; + if (b < min) min = b; + + return (max + min) / 2; + } + + public void ChangeHue(float hue) + { + float H, S, L, Br; + + Br = Brightness(); + H = hue; + S = 0.9F; + L = ((Br - 0.5F) * 0.5F) + 0.5F; + + if (L == 0) + { + _simdVector = Vector3.Zero; + } + else + { + if (S == 0) + { + _simdVector = new Vector3(L); + } + else + { + float temp2 = ((L <= 0.5F) ? L * (1.0F + S) : L + S - (L * S)); + float temp1 = 2.0F * L - temp2; + + float[] t3 = new float[] { H + 1.0F / 3.0F, H, H - 1.0F / 3.0F }; + float[] clr = new float[] { 0, 0, 0 }; + + for (int i = 0; i < 3; i++) + { + if (t3[i] < 0) t3[i] += 1.0F; + if (t3[i] > 1) t3[i] -= 1.0F; + if (6.0 * t3[i] < 1.0) + clr[i] = temp1 + (temp2 - temp1) * t3[i] * 6.0F; + else if (2.0 * t3[i] < 1.0) + clr[i] = temp2; + else if (3.0 * t3[i] < 2.0) + clr[i] = (temp1 + (temp2 - temp1) * ((2.0F / 3.0F) - t3[i]) * 6.0F); + else + clr[i] = temp1; + } + + _simdVector = new Vector3(clr[0], clr[1], clr[2]); + } + } + } + } +} + diff --git a/src/benchmarks/coreclr/SIMD/RayTracer/ISect.cs b/src/benchmarks/coreclr/SIMD/RayTracer/ISect.cs new file mode 100644 index 00000000000..dfc45c4f52b --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/RayTracer/ISect.cs @@ -0,0 +1,19 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +namespace Benchmarks.SIMD.RayTracer +{ + internal class ISect + { + public SceneObject Thing; + public Ray Ray; + public double Dist; + + public ISect(SceneObject thing, Ray ray, double dist) { Thing = thing; Ray = ray; Dist = dist; } + + public static bool IsNull(ISect sect) { return sect == null; } + public readonly static ISect Null = null; + } +} diff --git a/src/benchmarks/coreclr/SIMD/RayTracer/Light.cs b/src/benchmarks/coreclr/SIMD/RayTracer/Light.cs new file mode 100644 index 00000000000..cef25154005 --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/RayTracer/Light.cs @@ -0,0 +1,16 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +namespace Benchmarks.SIMD.RayTracer +{ + internal class Light + { + public Vector Pos; + public Color Color; + + public Light(Vector pos, Color color) { Pos = pos; Color = color; } + } +} + diff --git a/src/benchmarks/coreclr/SIMD/RayTracer/ObjectPool.cs b/src/benchmarks/coreclr/SIMD/RayTracer/ObjectPool.cs new file mode 100644 index 00000000000..c5a68f6524f --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/RayTracer/ObjectPool.cs @@ -0,0 +1,70 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Diagnostics; + +namespace Benchmarks.SIMD.RayTracer +{ + /// Provides a thread-safe object pool. + /// Specifies the type of the elements stored in the pool. + [DebuggerDisplay("Count={Count}")] + [DebuggerTypeProxy(typeof(IProducerConsumerCollection_DebugView<>))] + public sealed class ObjectPool : ProducerConsumerCollectionBase + { + private readonly Func _generator; + + /// Initializes an instance of the ObjectPool class. + /// The function used to create items when no items exist in the pool. + public ObjectPool(Func generator) : this(generator, new ConcurrentQueue()) { } + + /// Initializes an instance of the ObjectPool class. + /// The function used to create items when no items exist in the pool. + /// The collection used to store the elements of the pool. + public ObjectPool(Func generator, IProducerConsumerCollection collection) + : base(collection) + { + if (generator == null) throw new ArgumentNullException("generator"); + _generator = generator; + } + + /// Adds the provided item into the pool. + /// The item to be added. + public void PutObject(T item) { base.TryAdd(item); } + + /// Gets an item from the pool. + /// The removed or created item. + /// If the pool is empty, a new item will be created and returned. + public T GetObject() + { + T value; + return base.TryTake(out value) ? value : _generator(); + } + + /// Clears the object pool, returning all of the data that was in the pool. + /// An array containing all of the elements in the pool. + public T[] ToArrayAndClear() + { + var items = new List(); + T value; + while (base.TryTake(out value)) items.Add(value); + return items.ToArray(); + } + + protected override bool TryAdd(T item) + { + PutObject(item); + return true; + } + + protected override bool TryTake(out T item) + { + item = GetObject(); + return true; + } + } +} diff --git a/src/benchmarks/coreclr/SIMD/RayTracer/Plane.cs b/src/benchmarks/coreclr/SIMD/RayTracer/Plane.cs new file mode 100644 index 00000000000..693a778ffb5 --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/RayTracer/Plane.cs @@ -0,0 +1,28 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +namespace Benchmarks.SIMD.RayTracer +{ + internal class Plane : SceneObject + { + public Vector Norm; + public double Offset; + + public Plane(Vector norm, double offset, Surface surface) : base(surface) { Norm = norm; Offset = offset; } + + public override ISect Intersect(Ray ray) + { + double denom = Vector.Dot(Norm, ray.Dir); + if (denom > 0) return ISect.Null; + return new ISect(this, ray, (Vector.Dot(Norm, ray.Start) + Offset) / (-denom)); + } + + public override Vector Normal(Vector pos) + { + return Norm; + } + } +} + diff --git a/src/benchmarks/coreclr/SIMD/RayTracer/ProducerConsumerCollectionBase.cs b/src/benchmarks/coreclr/SIMD/RayTracer/ProducerConsumerCollectionBase.cs new file mode 100644 index 00000000000..1758d5bceff --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/RayTracer/ProducerConsumerCollectionBase.cs @@ -0,0 +1,110 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System; +using System.Collections; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Diagnostics; + +namespace Benchmarks.SIMD.RayTracer +{ + /// Debug view for the IProducerConsumerCollection. + /// Specifies the type of the data being aggregated. + internal sealed class IProducerConsumerCollection_DebugView + { + private IProducerConsumerCollection _collection; + + public IProducerConsumerCollection_DebugView(IProducerConsumerCollection collection) + { + _collection = collection; + } + + [DebuggerBrowsable(DebuggerBrowsableState.RootHidden)] + public T[] Values { get { return _collection.ToArray(); } } + } + + /// + /// Provides a base implementation for producer-consumer collections that wrap other + /// producer-consumer collections. + /// + /// Specifies the type of elements in the collection. + public abstract class ProducerConsumerCollectionBase : IProducerConsumerCollection + { + private readonly IProducerConsumerCollection _contained; + + /// Initializes the ProducerConsumerCollectionBase instance. + /// The collection to be wrapped by this instance. + protected ProducerConsumerCollectionBase(IProducerConsumerCollection contained) + { + if (contained == null) throw new ArgumentNullException("contained"); + _contained = contained; + } + + /// Gets the contained collection. + protected IProducerConsumerCollection ContainedCollection { get { return _contained; } } + + /// Attempts to add the specified value to the end of the deque. + /// The item to add. + /// true if the item could be added; otherwise, false. + protected virtual bool TryAdd(T item) { return _contained.TryAdd(item); } + + /// Attempts to remove and return an item from the collection. + /// + /// When this method returns, if the operation was successful, item contains the item removed. If + /// no item was available to be removed, the value is unspecified. + /// + /// + /// true if an element was removed and returned from the collection; otherwise, false. + /// + protected virtual bool TryTake(out T item) { return _contained.TryTake(out item); } + + /// Attempts to add the specified value to the end of the deque. + /// The item to add. + /// true if the item could be added; otherwise, false. + bool IProducerConsumerCollection.TryAdd(T item) { return TryAdd(item); } + + /// Attempts to remove and return an item from the collection. + /// + /// When this method returns, if the operation was successful, item contains the item removed. If + /// no item was available to be removed, the value is unspecified. + /// + /// + /// true if an element was removed and returned from the collection; otherwise, false. + /// + bool IProducerConsumerCollection.TryTake(out T item) { return TryTake(out item); } + + /// Gets the number of elements contained in the collection. + public int Count { get { return _contained.Count; } } + + /// Creates an array containing the contents of the collection. + /// The array. + public T[] ToArray() { return _contained.ToArray(); } + + /// Copies the contents of the collection to an array. + /// The array to which the data should be copied. + /// The starting index at which data should be copied. + public void CopyTo(T[] array, int index) { _contained.CopyTo(array, index); } + + /// Copies the contents of the collection to an array. + /// The array to which the data should be copied. + /// The starting index at which data should be copied. + void ICollection.CopyTo(Array array, int index) { _contained.CopyTo(array, index); } + + /// Gets an enumerator for the collection. + /// An enumerator. + public IEnumerator GetEnumerator() { return _contained.GetEnumerator(); } + + /// Gets an enumerator for the collection. + /// An enumerator. + IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } + + /// Gets whether the collection is synchronized. + bool ICollection.IsSynchronized { get { return _contained.IsSynchronized; } } + + /// Gets the synchronization root object for the collection. + object ICollection.SyncRoot { get { return _contained.SyncRoot; } } + } +} diff --git a/src/benchmarks/coreclr/SIMD/RayTracer/Ray.cs b/src/benchmarks/coreclr/SIMD/RayTracer/Ray.cs new file mode 100644 index 00000000000..189d21fa0a6 --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/RayTracer/Ray.cs @@ -0,0 +1,16 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +namespace Benchmarks.SIMD.RayTracer +{ + internal struct Ray + { + public Vector Start; + public Vector Dir; + + public Ray(Vector start, Vector dir) { Start = start; Dir = dir; } + } +} + diff --git a/src/benchmarks/coreclr/SIMD/RayTracer/RayTracerBench.cs b/src/benchmarks/coreclr/SIMD/RayTracer/RayTracerBench.cs new file mode 100644 index 00000000000..3dd974301f6 --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/RayTracer/RayTracerBench.cs @@ -0,0 +1,98 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// +// Based on the Raytracer example from +// Samples for Parallel Programming with the .NET Framework +// https://code.msdn.microsoft.com/windowsdesktop/Samples-for-Parallel-b4b76364 + +using System; +using System.Diagnostics; +using System.Threading; +using System.Threading.Tasks; +using BenchmarkDotNet.Attributes; +using Benchmarks; +using Benchmarks.SIMD.RayTracer; + +namespace SIMD +{ +[BenchmarkCategory(Categories.CoreCLR, Categories.SIMD)] +public class RayTracerBench +{ + private const int Width = 250; + private const int Height = 250; + private const int Iterations = 7; + + public RayTracerBench() + { + _width = Width; + _height = Height; + _parallel = false; + _showThreads = false; + _freeBuffers = new ObjectPool(() => new int[_width * _height]); + } + + private bool _parallel; + private bool _showThreads; + private int _width, _height; + private int _degreeOfParallelism = Environment.ProcessorCount; + private int _frames; + private CancellationTokenSource _cancellation; + private ObjectPool _freeBuffers; + + private void RenderBench() + { + _cancellation = new CancellationTokenSource(); + RenderLoop(Iterations); + } + + private void RenderLoop(int iterations) + { + // Create a ray tracer, and create a reference to "sphere2" that we are going to bounce + var rayTracer = new RayTracer(_width, _height); + var scene = rayTracer.DefaultScene; + var sphere2 = (Sphere)scene.Things[0]; // The first item is assumed to be our sphere + var baseY = sphere2.Radius; + sphere2.Center.Y = sphere2.Radius; + + // Timing determines how fast the ball bounces as well as diagnostics frames/second info + var renderingTime = new Stopwatch(); + var totalTime = Stopwatch.StartNew(); + + // Keep rendering until the iteration count is hit + for (_frames = 0; _frames < iterations; _frames++) + { + // Or the rendering task has been canceled + if (_cancellation.IsCancellationRequested) + { + break; + } + + // Get the next buffer + var rgb = _freeBuffers.GetObject(); + + // Determine the new position of the sphere based on the current time elapsed + double dy2 = 0.8 * Math.Abs(Math.Sin(totalTime.ElapsedMilliseconds * Math.PI / 3000)); + sphere2.Center.Y = (float)(baseY + dy2); + + // Render the scene + renderingTime.Reset(); + renderingTime.Start(); + ParallelOptions options = new ParallelOptions + { + MaxDegreeOfParallelism = _degreeOfParallelism, + CancellationToken = _cancellation.Token + }; + if (!_parallel) rayTracer.RenderSequential(scene, rgb); + else if (_showThreads) rayTracer.RenderParallelShowingThreads(scene, rgb, options); + else rayTracer.RenderParallel(scene, rgb, options); + renderingTime.Stop(); + + _freeBuffers.PutObject(rgb); + } + } + + [Benchmark(Description = nameof(RayTracerBench))] + public void Bench() => RenderBench(); +} +} diff --git a/src/benchmarks/coreclr/SIMD/RayTracer/Raytracer.cs b/src/benchmarks/coreclr/SIMD/RayTracer/Raytracer.cs new file mode 100644 index 00000000000..f59d61dfc62 --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/RayTracer/Raytracer.cs @@ -0,0 +1,198 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; + +namespace Benchmarks.SIMD.RayTracer +{ + internal sealed class RayTracer + { + private int _screenWidth; + private int _screenHeight; + private const int MaxDepth = 5; + + public RayTracer(int screenWidth, int screenHeight) + { + _screenWidth = screenWidth; + _screenHeight = screenHeight; + } + + internal void RenderSequential(Scene scene, Int32[] rgb) + { + for (int y = 0; y < _screenHeight; y++) + { + int stride = y * _screenWidth; + Camera camera = scene.Camera; + for (int x = 0; x < _screenWidth; x++) + { + Color color = TraceRay(new Ray(camera.Pos, GetPoint(x, y, camera)), scene, 0); + rgb[x + stride] = color.ToInt32(); + } + } + } + + internal void RenderParallel(Scene scene, Int32[] rgb, ParallelOptions options) + { + Parallel.For(0, _screenHeight, options, y => + { + int stride = y * _screenWidth; + Camera camera = scene.Camera; + for (int x = 0; x < _screenWidth; x++) + { + Color color = TraceRay(new Ray(camera.Pos, GetPoint(x, y, camera)), scene, 0); + rgb[x + stride] = color.ToInt32(); + } + }); + } + + internal void RenderParallelShowingThreads(Scene scene, Int32[] rgb, ParallelOptions options) + { + int id = 0; + Parallel.For(0, _screenHeight, options, () => GetHueShift(Interlocked.Increment(ref id)), (y, state, hue) => + { + int stride = y * _screenWidth; + Camera camera = scene.Camera; + for (int x = 0; x < _screenWidth; x++) + { + Color color = TraceRay(new Ray(camera.Pos, GetPoint(x, y, camera)), scene, 0); + color.ChangeHue(hue); + rgb[x + stride] = color.ToInt32(); + } + return hue; + }, + hue => Interlocked.Decrement(ref id)); + } + + private Dictionary _numToHueShiftLookup = new Dictionary(); + private Random _rand = new Random(); + + private float GetHueShift(int id) + { + float shift; + lock (_numToHueShiftLookup) + { + if (!_numToHueShiftLookup.TryGetValue(id, out shift)) + { + shift = (float)_rand.NextDouble(); + _numToHueShiftLookup.Add(id, shift); + } + } + return shift; + } + + internal readonly Scene DefaultScene = CreateDefaultScene(); + + private static Scene CreateDefaultScene() + { + SceneObject[] things = { + new Sphere( new Vector(-0.5,1,1.5), 0.5, Surfaces.MatteShiny), + new Sphere( new Vector(0,1,-0.25), 1, Surfaces.Shiny), + new Plane( new Vector(0,1,0), 0, Surfaces.CheckerBoard) + }; + Light[] lights = { + new Light(new Vector(-2,2.5,0),new Color(.5,.45,.41)), + new Light(new Vector(2,4.5,2), new Color(.99,.95,.8)) + }; + Camera camera = Camera.Create(new Vector(2.75, 2, 3.75), new Vector(-0.6, .5, 0)); + + return new Scene(things, lights, camera); + } + + + private ISect MinIntersection(Ray ray, Scene scene) + { + ISect min = ISect.Null; + foreach (SceneObject obj in scene.Things) + { + ISect isect = obj.Intersect(ray); + if (!ISect.IsNull(isect)) + { + if (ISect.IsNull(min) || min.Dist > isect.Dist) + { + min = isect; + } + } + } + return min; + } + + private double TestRay(Ray ray, Scene scene) + { + ISect isect = MinIntersection(ray, scene); + if (ISect.IsNull(isect)) + return 0; + return isect.Dist; + } + + private Color TraceRay(Ray ray, Scene scene, int depth) + { + ISect isect = MinIntersection(ray, scene); + if (ISect.IsNull(isect)) + return Color.Background; + return Shade(isect, scene, depth); + } + + private Color GetNaturalColor(SceneObject thing, Vector pos, Vector norm, Vector rd, Scene scene) + { + Color ret = new Color(0, 0, 0); + foreach (Light light in scene.Lights) + { + Vector ldis = Vector.Minus(light.Pos, pos); + Vector livec = Vector.Norm(ldis); + double neatIsect = TestRay(new Ray(pos, livec), scene); + bool isInShadow = !((neatIsect > Vector.Mag(ldis)) || (neatIsect == 0)); + if (!isInShadow) + { + float illum = Vector.Dot(livec, norm); + Color lcolor = illum > 0 ? Color.Times(illum, light.Color) : new Color(0, 0, 0); + float specular = Vector.Dot(livec, Vector.Norm(rd)); + Color scolor = specular > 0 ? Color.Times(Math.Pow(specular, thing.Surface.Roughness), light.Color) : new Color(0, 0, 0); + ret = Color.Plus(ret, Color.Plus(Color.Times(thing.Surface.Diffuse(pos), lcolor), + Color.Times(thing.Surface.Specular(pos), scolor))); + } + } + return ret; + } + + private Color GetReflectionColor(SceneObject thing, Vector pos, Vector norm, Vector rd, Scene scene, int depth) + { + return Color.Times(thing.Surface.Reflect(pos), TraceRay(new Ray(pos, rd), scene, depth + 1)); + } + + private Color Shade(ISect isect, Scene scene, int depth) + { + Vector d = isect.Ray.Dir; + Vector pos = Vector.Plus(Vector.Times(isect.Dist, isect.Ray.Dir), isect.Ray.Start); + Vector normal = isect.Thing.Normal(pos); + Vector reflectDir = Vector.Minus(d, Vector.Times(2 * Vector.Dot(normal, d), normal)); + Color ret = Color.DefaultColor; + ret = Color.Plus(ret, GetNaturalColor(isect.Thing, pos, normal, reflectDir, scene)); + if (depth >= MaxDepth) + { + return Color.Plus(ret, new Color(.5, .5, .5)); + } + return Color.Plus(ret, GetReflectionColor(isect.Thing, Vector.Plus(pos, Vector.Times(.001, reflectDir)), normal, reflectDir, scene, depth)); + } + + private double RecenterX(double x) + { + return (x - (_screenWidth / 2.0)) / (2.0 * _screenWidth); + } + private double RecenterY(double y) + { + return -(y - (_screenHeight / 2.0)) / (2.0 * _screenHeight); + } + + private Vector GetPoint(double x, double y, Camera camera) + { + return Vector.Norm(Vector.Plus(camera.Forward, Vector.Plus(Vector.Times(RecenterX(x), camera.Right), + Vector.Times(RecenterY(y), camera.Up)))); + } + } +} + diff --git a/src/benchmarks/coreclr/SIMD/RayTracer/Scene.cs b/src/benchmarks/coreclr/SIMD/RayTracer/Scene.cs new file mode 100644 index 00000000000..c21592b132a --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/RayTracer/Scene.cs @@ -0,0 +1,27 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System.Collections.Generic; + +namespace Benchmarks.SIMD.RayTracer +{ + internal class Scene + { + public SceneObject[] Things; + public Light[] Lights; + public Camera Camera; + + public Scene(SceneObject[] things, Light[] lights, Camera camera) { Things = things; Lights = lights; Camera = camera; } + + public IEnumerable Intersect(Ray r) + { + foreach (SceneObject obj in Things) + { + yield return obj.Intersect(r); + } + } + } +} + diff --git a/src/benchmarks/coreclr/SIMD/RayTracer/SceneObject.cs b/src/benchmarks/coreclr/SIMD/RayTracer/SceneObject.cs new file mode 100644 index 00000000000..45e21136ecc --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/RayTracer/SceneObject.cs @@ -0,0 +1,17 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +namespace Benchmarks.SIMD.RayTracer +{ + internal abstract class SceneObject + { + public Surface Surface; + public abstract ISect Intersect(Ray ray); + public abstract Vector Normal(Vector pos); + + public SceneObject(Surface surface) { Surface = surface; } + } +} + diff --git a/src/benchmarks/coreclr/SIMD/RayTracer/Sphere.cs b/src/benchmarks/coreclr/SIMD/RayTracer/Sphere.cs new file mode 100644 index 00000000000..f017b2c3d69 --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/RayTracer/Sphere.cs @@ -0,0 +1,41 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System; + +namespace Benchmarks.SIMD.RayTracer +{ + internal class Sphere : SceneObject + { + public Vector Center; + public float Radius; + + public Sphere(Vector center, double radius, Surface surface) : base(surface) { Center = center; Radius = (float)radius; } + + public override ISect Intersect(Ray ray) + { + Vector eo = Vector.Minus(Center, ray.Start); + float v = Vector.Dot(eo, ray.Dir); + float dist; + if (v < 0) + { + dist = 0; + } + else + { + double disc = Math.Pow(Radius, 2) - (Vector.Dot(eo, eo) - Math.Pow(v, 2)); + dist = disc < 0 ? 0 : v - (float)Math.Sqrt(disc); + } + if (dist == 0) return ISect.Null; + return new ISect(this, ray, dist); + } + + public override Vector Normal(Vector pos) + { + return Vector.Norm(Vector.Minus(pos, Center)); + } + } +} + diff --git a/src/benchmarks/coreclr/SIMD/RayTracer/Surface.cs b/src/benchmarks/coreclr/SIMD/RayTracer/Surface.cs new file mode 100644 index 00000000000..c70c2aad1de --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/RayTracer/Surface.cs @@ -0,0 +1,29 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System; + +namespace Benchmarks.SIMD.RayTracer +{ + internal class Surface + { + public Func Diffuse; + public Func Specular; + public Func Reflect; + public double Roughness; + + public Surface(Func Diffuse, + Func Specular, + Func Reflect, + double Roughness) + { + this.Diffuse = Diffuse; + this.Specular = Specular; + this.Reflect = Reflect; + this.Roughness = Roughness; + } + } +} + diff --git a/src/benchmarks/coreclr/SIMD/RayTracer/Surfaces.cs b/src/benchmarks/coreclr/SIMD/RayTracer/Surfaces.cs new file mode 100644 index 00000000000..89e80ce060f --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/RayTracer/Surfaces.cs @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System; + +namespace Benchmarks.SIMD.RayTracer +{ + internal static class Surfaces + { + // Only works with X-Z plane. + public static readonly Surface CheckerBoard = + new Surface( + delegate (Vector pos) + { + return ((Math.Floor(pos.Z) + Math.Floor(pos.X)) % 2 != 0) + ? new Color(1, 1, 1) + : new Color(0.02, 0.0, 0.14); + }, + delegate (Vector pos) { return new Color(1, 1, 1); }, + delegate (Vector pos) + { + return ((Math.Floor(pos.Z) + Math.Floor(pos.X)) % 2 != 0) + ? .1 + : .5; + }, + 150); + + + + public static readonly Surface Shiny = + new Surface( + delegate (Vector pos) { return new Color(1, 1, 1); }, + delegate (Vector pos) { return new Color(.5, .5, .5); }, + delegate (Vector pos) { return .7; }, + 250); + + public static readonly Surface MatteShiny = + new Surface( + delegate (Vector pos) { return new Color(1, 1, 1); }, + delegate (Vector pos) { return new Color(.25, .25, .25); }, + delegate (Vector pos) { return .7; }, + 250); + } +} + diff --git a/src/benchmarks/coreclr/SIMD/RayTracer/Vector.cs b/src/benchmarks/coreclr/SIMD/RayTracer/Vector.cs new file mode 100644 index 00000000000..240fc910d8d --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/RayTracer/Vector.cs @@ -0,0 +1,80 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +using System; +using System.Numerics; +using System.Runtime.CompilerServices; + +namespace Benchmarks.SIMD.RayTracer +{ + internal struct Vector + { + private Vector3 _simdVector; + public float X { get { return _simdVector.X; } } + public float Y { get { return _simdVector.Y; } set { _simdVector = new Vector3(_simdVector.X, value, _simdVector.Z); } } + public float Z { get { return _simdVector.Z; } } + + public Vector(double x, double y, double z) + { + _simdVector = new Vector3((float)x, (float)y, (float)z); + } + public Vector(string str) + { + string[] nums = str.Split(','); + if (nums.Length != 3) throw new ArgumentException(); + _simdVector = new Vector3(float.Parse(nums[0]), float.Parse(nums[1]), float.Parse(nums[2])); + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static Vector Times(double n, Vector v) + { + Vector result; + result._simdVector = (float)n * v._simdVector; + return result; + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static Vector Minus(Vector v1, Vector v2) + { + Vector result; + result._simdVector = v1._simdVector - v2._simdVector; + return result; + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static Vector Plus(Vector v1, Vector v2) + { + Vector result; + result._simdVector = v1._simdVector + v2._simdVector; + return result; + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static float Dot(Vector v1, Vector v2) + { + return Vector3.Dot(v1._simdVector, v2._simdVector); + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static float Mag(Vector v) { return (float)Math.Sqrt(Dot(v, v)); } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static Vector Norm(Vector v) + { + float mag = Mag(v); + float div = mag == 0 ? float.PositiveInfinity : 1 / mag; + return Times(div, v); + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static Vector Cross(Vector v1, Vector v2) + { + return new Vector(((v1.Y * v2.Z) - (v1.Z * v2.Y)), + ((v1.Z * v2.X) - (v1.X * v2.Z)), + ((v1.X * v2.Y) - (v1.Y * v2.X))); + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static bool Equals(Vector v1, Vector v2) + { + return v1._simdVector.Equals(v2._simdVector); + } + + public static Vector Null { get { Vector result; result._simdVector = Vector3.Zero; return result; } } + } +} + diff --git a/src/benchmarks/coreclr/SIMD/SeekUnroll/SeekUnroll.cs b/src/benchmarks/coreclr/SIMD/SeekUnroll/SeekUnroll.cs new file mode 100644 index 00000000000..1f4c3e05d7c --- /dev/null +++ b/src/benchmarks/coreclr/SIMD/SeekUnroll/SeekUnroll.cs @@ -0,0 +1,81 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Numerics; +using System.Runtime.CompilerServices; +using System.Collections.Generic; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +[BenchmarkCategory(Categories.CoreCLR, Categories.SIMD)] +public class SeekUnroll +{ + // The purpose of this micro-benchmark is to measure the effect of unrolling + // on this loop (taken from https://github.com/aspnet/KestrelHttpServer/pull/1138) + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static int FindByte(ref Vector byteEquals) + { + var vector64 = Vector.AsVectorInt64(byteEquals); + long longValue = 0; + var i = 0; + for (; i < Vector.Count; i++) + { + longValue = vector64[i]; + if (longValue == 0) continue; + break; + } + + // Flag least significant power of two bit + var powerOfTwoFlag = (ulong)(longValue ^ (longValue - 1)); + // Shift all powers of two into the high byte and extract + var foundByteIndex = (int)((powerOfTwoFlag * _xorPowerOfTwoToHighByte) >> 57); + // Single LEA instruction with jitted const (using function result) + return i * 8 + foundByteIndex; + } + + // Magic constant used in FindByte + const ulong _xorPowerOfTwoToHighByte = (0x07ul | + 0x06ul << 8 | + 0x05ul << 16 | + 0x04ul << 24 | + 0x03ul << 32 | + 0x02ul << 40 | + 0x01ul << 48) + 1; + + // Inner loop to repeatedly call FindByte + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static void InnerLoop(ref int foundIndex, ref Vector vector) + { + for (int i = 0; i < InnerIterations; i++) + { + foundIndex = FindByte(ref vector); + } + } + + static int InnerIterations = 1000000000; + + [Benchmark(Description = nameof(SeekUnroll))] + [ArgumentsSource(nameof(ArrayedBoxedIndicesToTest))] + public bool Test(int boxedIndex) // the argument must be called boxedIndex to keep old benchmark id in BenchView, do NOT change it + { + int index = boxedIndex; + if (index >= Vector.Count) + { + // FindByte assumes index is in range + index = 0; + } + var bytes = new Byte[Vector.Count]; + bytes[index] = 255; + Vector vector = new Vector(bytes); + + int foundIndex = -1; + + InnerLoop(ref foundIndex, ref vector); + + return (index == foundIndex); + } + + public static IEnumerable ArrayedBoxedIndicesToTest => new object[] { 1, 3, 11, 19, 27 }; +} diff --git a/src/benchmarks/coreclr/SciMark/Constants.cs b/src/benchmarks/coreclr/SciMark/Constants.cs new file mode 100644 index 00000000000..a0baa6fac6f --- /dev/null +++ b/src/benchmarks/coreclr/SciMark/Constants.cs @@ -0,0 +1,51 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +/// +/// This is a port of the SciMark2a Java Benchmark to C# by +/// Chris Re (cmr28@cornell.edu) and Werner Vogels (vogels@cs.cornell.edu) +/// +/// For details on the original authors see http://math.nist.gov/scimark2 +/// +/// This software is likely to burn your processor, bitflip your memory chips +/// anihilate your screen and corrupt all your disks, so you it at your +/// own risk. +/// + + +namespace SciMark2 +{ + public class Constants + { + public const double RESOLUTION_DEFAULT = 2.0; /*secs*/ + public const double RESOLUTION_TINY = 0.02; /*secs*/ + public const int RANDOM_SEED = 101010; + + // default: small (cache-contained) problem sizes + // + public const int FFT_SIZE = 1024; // must be a power of two + public const int SOR_SIZE = 100; // NxN grid + public const int SPARSE_SIZE_M = 1000; + public const int SPARSE_SIZE_nz = 5000; + public const int LU_SIZE = 100; + + // large (out-of-cache) problem sizes + // + public const int LG_FFT_SIZE = 1048576; // must be a power of two + public const int LG_SOR_SIZE = 1000; // NxN grid + public const int LG_SPARSE_SIZE_M = 100000; + public const int LG_SPARSE_SIZE_nz = 1000000; + public const int LG_LU_SIZE = 1000; + + // tiny problem sizes (used to mainly to preload network classes + // for applet, so that network download times + // are factored out of benchmark.) + // + public const int TINY_FFT_SIZE = 16; // must be a power of two + public const int TINY_SOR_SIZE = 10; // NxN grid + public const int TINY_SPARSE_SIZE_M = 10; + public const int TINY_SPARSE_SIZE_N = 10; + public const int TINY_SPARSE_SIZE_nz = 50; + public const int TINY_LU_SIZE = 10; + } +} diff --git a/src/benchmarks/coreclr/SciMark/FFT.cs b/src/benchmarks/coreclr/SciMark/FFT.cs new file mode 100644 index 00000000000..824c50f01a2 --- /dev/null +++ b/src/benchmarks/coreclr/SciMark/FFT.cs @@ -0,0 +1,222 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +/// +/// This is a port of the SciMark2a Java Benchmark to C# by +/// Chris Re (cmr28@cornell.edu) and Werner Vogels (vogels@cs.cornell.edu) +/// +/// For details on the original authors see http://math.nist.gov/scimark2 +/// +/// This software is likely to burn your processor, bitflip your memory chips +/// anihilate your screen and corrupt all your disks, so you it at your +/// own risk. +/// + + +using System; + +namespace SciMark2 +{ + /// Computes FFT's of complex, double precision data where n is an integer power of 2. + /// This appears to be slower than the Radix2 method, + /// but the code is smaller and simpler, and it requires no extra storage. + ///

+ ///
+ /// + /// + /// Bruce R. Miller bruce.miller@nist.gov, + /// Derived from GSL (Gnu Scientific Library), + /// GSL's FFT Code by Brian Gough bjg@vvv.lanl.gov + /// + + public class FFT + { + public static double num_flops(int N) + { + double Nd = (double)N; + double logN = (double)log2(N); + + return (5.0 * Nd - 2) * logN + 2 * (Nd + 1); + } + + + /// + /// Compute Fast Fourier Transform of (complex) data, in place. + /// + public static void transform(double[] data) + { + transform_internal(data, -1); + } + + /// + /// Compute Inverse Fast Fourier Transform of (complex) data, in place. + /// + public static void inverse(double[] data) + { + transform_internal(data, +1); + // Normalize + int nd = data.Length; + int n = nd / 2; + double norm = 1 / ((double)n); + for (int i = 0; i < nd; i++) + data[i] *= norm; + } + + /// + /// Accuracy check on FFT of data. Make a copy of data, Compute the FFT, then + /// the inverse and compare to the original. Returns the rms difference. + /// + public static double test(double[] data) + { + int nd = data.Length; + // Make duplicate for comparison + double[] copy = new double[nd]; + Array.Copy(data, 0, copy, 0, nd); + // Transform & invert + transform(data); + inverse(data); + // Compute RMS difference. + double diff = 0.0; + for (int i = 0; i < nd; i++) + { + double d = data[i] - copy[i]; + diff += d * d; + } + return Math.Sqrt(diff / nd); + } + + /// + /// Make a random array of n (complex) elements. + /// + public static double[] makeRandom(int n) + { + int nd = 2 * n; + double[] data = new double[nd]; + System.Random r = new System.Random(); + for (int i = 0; i < nd; i++) + data[i] = r.NextDouble(); + return data; + } + + protected internal static int log2(int n) + { + int log = 0; + for (int k = 1; k < n; k *= 2, log++) + ; + if (n != (1 << log)) + throw new Exception("FFT: Data length is not a power of 2!: " + n); + return log; + } + + protected internal static void transform_internal(double[] data, int direction) + { + if (data.Length == 0) + return; + int n = data.Length / 2; + if (n == 1) + return; + // Identity operation! + int logn = log2(n); + + /* bit reverse the input data for decimation in time algorithm */ + bitreverse(data); + + /* apply fft recursion */ + /* this loop executed log2(N) times */ + for (int bit = 0, dual = 1; bit < logn; bit++, dual *= 2) + { + double w_real = 1.0; + double w_imag = 0.0; + + double theta = 2.0 * direction * Math.PI / (2.0 * (double)dual); + double s = Math.Sin(theta); + double t = Math.Sin(theta / 2.0); + double s2 = 2.0 * t * t; + + /* a = 0 */ + for (int b = 0; b < n; b += 2 * dual) + { + int i = 2 * b; + int j = 2 * (b + dual); + + double wd_real = data[j]; + double wd_imag = data[j + 1]; + + data[j] = data[i] - wd_real; + data[j + 1] = data[i + 1] - wd_imag; + data[i] += wd_real; + data[i + 1] += wd_imag; + } + + /* a = 1 .. (dual-1) */ + for (int a = 1; a < dual; a++) + { + /* trignometric recurrence for w-> exp(i theta) w */ + { + double tmp_real = w_real - s * w_imag - s2 * w_real; + double tmp_imag = w_imag + s * w_real - s2 * w_imag; + w_real = tmp_real; + w_imag = tmp_imag; + } + for (int b = 0; b < n; b += 2 * dual) + { + int i = 2 * (b + a); + int j = 2 * (b + a + dual); + + double z1_real = data[j]; + double z1_imag = data[j + 1]; + + double wd_real = w_real * z1_real - w_imag * z1_imag; + double wd_imag = w_real * z1_imag + w_imag * z1_real; + + data[j] = data[i] - wd_real; + data[j + 1] = data[i + 1] - wd_imag; + data[i] += wd_real; + data[i + 1] += wd_imag; + } + } + } + } + + + protected internal static void bitreverse(double[] data) + { + /* This is the Goldrader bit-reversal algorithm */ + int n = data.Length / 2; + int nm1 = n - 1; + int i = 0; + int j = 0; + for (; i < nm1; i++) + { + //int ii = 2*i; + int ii = i << 1; + + //int jj = 2*j; + int jj = j << 1; + + //int k = n / 2 ; + int k = n >> 1; + + if (i < j) + { + double tmp_real = data[ii]; + double tmp_imag = data[ii + 1]; + data[ii] = data[jj]; + data[ii + 1] = data[jj + 1]; + data[jj] = tmp_real; + data[jj + 1] = tmp_imag; + } + + while (k <= j) + { + //j = j - k ; + j -= k; + + //k = k / 2 ; + k >>= 1; + } + j += k; + } + } + } +} diff --git a/src/benchmarks/coreclr/SciMark/LU.cs b/src/benchmarks/coreclr/SciMark/LU.cs new file mode 100644 index 00000000000..db8d61a1c8d --- /dev/null +++ b/src/benchmarks/coreclr/SciMark/LU.cs @@ -0,0 +1,271 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +/// +/// This is a port of the SciMark2a Java Benchmark to C# by +/// Chris Re (cmr28@cornell.edu) and Werner Vogels (vogels@cs.cornell.edu) +/// +/// For details on the original authors see http://math.nist.gov/scimark2 +/// +/// This software is likely to burn your processor, bitflip your memory chips +/// anihilate your screen and corrupt all your disks, so you it at your +/// own risk. +/// + + +using System; + +namespace SciMark2 +{ + /// + /// LU matrix factorization. (Based on TNT implementation.) + /// Decomposes a matrix A into a triangular lower triangular + /// factor (L) and an upper triangular factor (U) such that + /// A = L*U. By convnetion, the main diagonal of L consists + /// of 1's so that L and U can be stored compactly in + /// a NxN matrix. + /// + public class LU + { + private double[][] _LU; + private int[] _pivot; + + /// + /// Returns a copy of the compact LU factorization. + /// (useful mainly for debugging.) + /// + /// + /// + /// the compact LU factorization. The U factor + /// is stored in the upper triangular portion, and the L + /// factor is stored in the lower triangular portion. + /// The main diagonal of L consists (by convention) of + /// ones, and is not explicitly stored. + /// + public static double num_flops(int N) + { + // rougly 2/3*N^3 + + double Nd = (double)N; + + return (2.0 * Nd * Nd * Nd / 3.0); + } + + protected internal static double[] new_copy(double[] x) + { + double[] T = new double[x.Length]; + x.CopyTo(T, 0); + return T; + } + + + protected internal static double[][] new_copy(double[][] A) + { + int M = A.Length; + int N = A[0].Length; + + double[][] T = new double[M][]; + for (int i = 0; i < M; i++) + { + T[i] = new double[N]; + } + + for (int i = 0; i < M; i++) + { + A[i].CopyTo(T[i], 0); + } + + return T; + } + + + + public static int[] new_copy(int[] x) + { + int[] T = new int[x.Length]; + x.CopyTo(T, 0); + return T; + } + + protected internal static void insert_copy(double[][] B, double[][] A) + { + for (int i = 0; i < A.Length; i++) + { + A[i].CopyTo(B[i], 0); + } + } + + /// + /// Initalize LU factorization from matrix. + /// + /// + /// (in) the matrix to associate with this factorization. + /// + /// + public LU(double[][] A) + { + _LU = new_copy(A); + _pivot = new int[A.Length]; + + factor(_LU, _pivot); + } + + /// + /// Solve a linear system, with pre-computed factorization. + /// + /// + /// (in) the right-hand side. + /// + /// + /// solution vector. + /// + public virtual double[] solve(double[] b) + { + double[] x = new_copy(b); + + solve(_LU, _pivot, x); + return x; + } + + + /// + /// LU factorization (in place). + /// + /// + /// (in/out) On input, the matrix to be factored. + /// On output, the compact LU factorization. + /// + /// + /// (out) The pivot vector records the + /// reordering of the rows of A during factorization. + /// + /// + /// 0, if OK, nozero value, othewise. + /// + public static int factor(double[][] A, int[] pivot) + { + int N = A.Length; + int M = A[0].Length; + + int minMN = Math.Min(M, N); + + for (int j = 0; j < minMN; j++) + { + // find pivot in column j and test for singularity. + int jp = j; + + double t = Math.Abs(A[j][j]); + for (int i = j + 1; i < M; i++) + { + double ab = Math.Abs(A[i][j]); + if (ab > t) + { + jp = i; + t = ab; + } + } + + pivot[j] = jp; + + // jp now has the index of maximum element + // of column j, below the diagonal + if (A[jp][j] == 0) + return 1; + + // factorization failed because of zero pivot + if (jp != j) + { + // swap rows j and jp + double[] tA = A[j]; + A[j] = A[jp]; + A[jp] = tA; + } + + if (j < M - 1) + { + // compute elements j+1:M of jth column + // note A(j,j), was A(jp,p) previously which was + // guarranteed not to be zero (Label #1) + // + double recp = 1.0 / A[j][j]; + + for (int k = j + 1; k < M; k++) + A[k][j] *= recp; + } + + if (j < minMN - 1) + { + // rank-1 update to trailing submatrix: E = E - x*y; + // + // E is the region A(j+1:M, j+1:N) + // x is the column vector A(j+1:M,j) + // y is row vector A(j,j+1:N) + for (int ii = j + 1; ii < M; ii++) + { + double[] Aii = A[ii]; + double[] Aj = A[j]; + double AiiJ = Aii[j]; + for (int jj = j + 1; jj < N; jj++) + Aii[jj] -= AiiJ * Aj[jj]; + } + } + } + + return 0; + } + + + /// Solve a linear system, using a prefactored matrix + /// in LU form. + /// + /// (in) the factored matrix in LU form. + /// + /// (in) the pivot vector which lists + /// the reordering used during the factorization + /// stage. + /// + /// (in/out) On input, the right-hand side. + /// On output, the solution vector. + /// + /// + public static void solve(double[][] A, int[] pvt, double[] b) + { + int M = A.Length; + int N = A[0].Length; + int ii = 0; + + for (int i = 0; i < M; i++) + { + int ip = pvt[i]; + double sum = b[ip]; + + b[ip] = b[i]; + if (ii == 0) + { + for (int j = ii; j < i; j++) + { + sum -= A[i][j] * b[j]; + } + } + else + { + if (sum == 0.0) + { + ii = i; + } + } + b[i] = sum; + } + + for (int i = N - 1; i >= 0; i--) + { + double sum = b[i]; + for (int j = i + 1; j < N; j++) + { + sum -= A[i][j] * b[j]; + } + b[i] = sum / A[i][i]; + } + } + } +} \ No newline at end of file diff --git a/src/benchmarks/coreclr/SciMark/MonteCarlo.cs b/src/benchmarks/coreclr/SciMark/MonteCarlo.cs new file mode 100644 index 00000000000..e01d22bd9fe --- /dev/null +++ b/src/benchmarks/coreclr/SciMark/MonteCarlo.cs @@ -0,0 +1,72 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +/// +/// This is a port of the SciMark2a Java Benchmark to C# by +/// Chris Re (cmr28@cornell.edu) and Werner Vogels (vogels@cs.cornell.edu) +/// +/// For details on the original authors see http://math.nist.gov/scimark2 +/// +/// This software is likely to burn your processor, bitflip your memory chips +/// anihilate your screen and corrupt all your disks, so you it at your +/// own risk. +/// + + +using System; + +namespace SciMark2 +{ + /// Estimate Pi by approximating the area of a circle. + /// How: generate N random numbers in the unit square, (0,0) to (1,1) + /// and see how are within a radius of 1 or less, i.e. + ///
  
+    /// sqrt(x^2 + y^2) < r
+    /// 
+ /// since the radius is 1.0, we can square both sides + /// and avoid a sqrt() computation: + ///
+    /// x^2 + y^2 <= 1.0
+    /// 
+ /// this area under the curve is (Pi * r^2)/ 4.0, + /// and the area of the unit of square is 1.0, + /// so Pi can be approximated by + ///
+    /// # points with x^2+y^2 < 1
+    /// Pi =~ 		--------------------------  * 4.0
+    /// total # points
+    /// 
+ ///
+ + public class MonteCarlo + { + internal const int SEED = 113; + + public static double num_flops(int Num_samples) + { + // 3 flops in x^2+y^2 and 1 flop in random routine + + return ((double)Num_samples) * 4.0; + } + + + + public static double integrate(int Num_samples) + { + SciMark2.Random R = new SciMark2.Random(SEED); + + + int under_curve = 0; + for (int count = 0; count < Num_samples; count++) + { + double x = R.nextDouble(); + double y = R.nextDouble(); + + if (x * x + y * y <= 1.0) + under_curve++; + } + + return ((double)under_curve / Num_samples) * 4.0; + } + } +} \ No newline at end of file diff --git a/src/benchmarks/coreclr/SciMark/Random.cs b/src/benchmarks/coreclr/SciMark/Random.cs new file mode 100644 index 00000000000..7c4f618ee31 --- /dev/null +++ b/src/benchmarks/coreclr/SciMark/Random.cs @@ -0,0 +1,305 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +/// +/// This is a port of the SciMark2a Java Benchmark to C# by +/// Chris Re (cmr28@cornell.edu) and Werner Vogels (vogels@cs.cornell.edu) +/// +/// For details on the original authors see http://math.nist.gov/scimark2 +/// +/// This software is likely to burn your processor, bitflip your memory chips +/// anihilate your screen and corrupt all your disks, so you it at your +/// own risk. +/// + + +using System; +using System.Runtime.CompilerServices; + +namespace SciMark2 +{ + /* Random.java based on Java Numerical Toolkit (JNT) Random.UniformSequence + class. We do not use Java's own java.util.Random so that we can compare + results with equivalent C and Fortran coces.*/ + + public class Random + { + /*------------------------------------------------------------------------------ + CLASS VARIABLES + ------------------------------------------------------------------------------ */ + + internal int seed = 0; + + private int[] _m; + private int _i = 4; + private int _j = 16; + + private const int mdig = 32; + private const int one = 1; + private int _m1; + private int _m2; + + private double _dm1; + + private bool _haveRange = false; + private double _left = 0.0; + private double _right = 1.0; + private double _width = 1.0; + + + /* ------------------------------------------------------------------------------ + CONSTRUCTORS + ------------------------------------------------------------------------------ */ + + /// + /// Initializes a sequence of uniformly distributed quasi random numbers with a + /// seed based on the system clock. + /// + public Random() + { + initialize((int)System.DateTime.Now.Ticks); + } + + /// + /// Initializes a sequence of uniformly distributed quasi random numbers on a + /// given half-open interval [left,right) with a seed based on the system + /// clock. + /// + /// (double)
+ /// The left endpoint of the half-open interval [left,right). + /// + /// (double)
+ /// The right endpoint of the half-open interval [left,right). + /// + public Random(double left, double right) + { + initialize((int)System.DateTime.Now.Ticks); + _left = left; + _right = right; + _width = right - left; + _haveRange = true; + } + + /// + /// Initializes a sequence of uniformly distributed quasi random numbers with a + /// given seed. + /// + /// (int)
+ /// The seed of the random number generator. Two sequences with the same + /// seed will be identical. + /// + public Random(int seed) + { + initialize(seed); + } + + /// Initializes a sequence of uniformly distributed quasi random numbers + /// with a given seed on a given half-open interval [left,right). + /// + /// (int)
+ /// The seed of the random number generator. Two sequences with the same + /// seed will be identical. + /// + /// (double)
+ /// The left endpoint of the half-open interval [left,right). + /// + /// (double)
+ /// The right endpoint of the half-open interval [left,right). + /// + public Random(int seed, double left, double right) + { + initialize(seed); + _left = left; + _right = right; + _width = right - left; + _haveRange = true; + } + + /* ------------------------------------------------------------------------------ + PUBLIC METHODS + ------------------------------------------------------------------------------ */ + + /// + /// Returns the next random number in the sequence. + /// + public double nextDouble() + { + int k; + + k = _m[_i] - _m[_j]; + if (k < 0) + k += _m1; + _m[_j] = k; + + if (_i == 0) + _i = 16; + else + _i--; + + if (_j == 0) + _j = 16; + else + _j--; + + if (_haveRange) + return _left + _dm1 * (double)k * _width; + else + return _dm1 * (double)k; + } + + /// + /// Returns the next N random numbers in the sequence, as + /// a vector. + /// + public void nextDoubles(double[] x) + { + int N = x.Length; + int remainder = N & 3; + + if (_haveRange) + { + for (int count = 0; count < N; count++) + { + int k = _m[_i] - _m[_j]; + + if (_i == 0) + _i = 16; + else + _i--; + + if (k < 0) + k += _m1; + _m[_j] = k; + + if (_j == 0) + _j = 16; + else + _j--; + + x[count] = _left + _dm1 * (double)k * _width; + } + } + else + { + for (int count = 0; count < remainder; count++) + { + int k = _m[_i] - _m[_j]; + + if (_i == 0) + _i = 16; + else + _i--; + + if (k < 0) + k += _m1; + _m[_j] = k; + + if (_j == 0) + _j = 16; + else + _j--; + + + x[count] = _dm1 * (double)k; + } + + for (int count = remainder; count < N; count += 4) + { + int k = _m[_i] - _m[_j]; + if (_i == 0) + _i = 16; + else + _i--; + if (k < 0) + k += _m1; + _m[_j] = k; + if (_j == 0) + _j = 16; + else + _j--; + x[count] = _dm1 * (double)k; + + + k = _m[_i] - _m[_j]; + if (_i == 0) + _i = 16; + else + _i--; + if (k < 0) + k += _m1; + _m[_j] = k; + if (_j == 0) + _j = 16; + else + _j--; + x[count + 1] = _dm1 * (double)k; + + + k = _m[_i] - _m[_j]; + if (_i == 0) + _i = 16; + else + _i--; + if (k < 0) + k += _m1; + _m[_j] = k; + if (_j == 0) + _j = 16; + else + _j--; + x[count + 2] = _dm1 * (double)k; + + + k = _m[_i] - _m[_j]; + if (_i == 0) + _i = 16; + else + _i--; + if (k < 0) + k += _m1; + _m[_j] = k; + if (_j == 0) + _j = 16; + else + _j--; + x[count + 3] = _dm1 * (double)k; + } + } + } + + /*---------------------------------------------------------------------------- + PRIVATE METHODS + ------------------------------------------------------------------------ */ + + private void initialize(int seed) + { + // First the initialization of the member variables; + _m1 = (one << mdig - 2) + ((one << mdig - 2) - one); + _m2 = one << mdig / 2; + _dm1 = 1.0 / (double)_m1; + + int jseed, k0, k1, j0, j1, iloop; + + this.seed = seed; + + _m = new int[17]; + + jseed = System.Math.Min(System.Math.Abs(seed), _m1); + if (jseed % 2 == 0) + --jseed; + k0 = 9069 % _m2; + k1 = 9069 / _m2; + j0 = jseed % _m2; + j1 = jseed / _m2; + for (iloop = 0; iloop < 17; ++iloop) + { + jseed = j0 * k0; + j1 = (jseed / _m2 + j0 * k1 + j1 * k0) % (_m2 / 2); + j0 = jseed % _m2; + _m[iloop] = j0 + _m2 * j1; + } + _i = 4; + _j = 16; + } + } +} diff --git a/src/benchmarks/coreclr/SciMark/SOR.cs b/src/benchmarks/coreclr/SciMark/SOR.cs new file mode 100644 index 00000000000..5fb8099adce --- /dev/null +++ b/src/benchmarks/coreclr/SciMark/SOR.cs @@ -0,0 +1,56 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +/// +/// This is a port of the SciMark2a Java Benchmark to C# by +/// Chris Re (cmr28@cornell.edu) and Werner Vogels (vogels@cs.cornell.edu) +/// +/// For details on the original authors see http://math.nist.gov/scimark2 +/// +/// This software is likely to burn your processor, bitflip your memory chips +/// anihilate your screen and corrupt all your disks, so you it at your +/// own risk. +/// + + +using System; + +namespace SciMark2 +{ + public class SOR + { + public static double num_flops(int M, int N, int num_iterations) + { + double Md = (double)M; + double Nd = (double)N; + double num_iterD = (double)num_iterations; + + return (Md - 1) * (Nd - 1) * num_iterD * 6.0; + } + + public static void execute(double omega, double[][] G, int num_iterations) + { + int M = G.Length; + int N = G[0].Length; + + double omega_over_four = omega * 0.25; + double one_minus_omega = 1.0 - omega; + + // update interior points + // + int Mm1 = M - 1; + int Nm1 = N - 1; + for (int p = 0; p < num_iterations; p++) + { + for (int i = 1; i < Mm1; i++) + { + double[] Gi = G[i]; + double[] Gim1 = G[i - 1]; + double[] Gip1 = G[i + 1]; + for (int j = 1; j < Nm1; j++) + Gi[j] = omega_over_four * (Gim1[j] + Gip1[j] + Gi[j - 1] + Gi[j + 1]) + one_minus_omega * Gi[j]; + } + } + } + } +} \ No newline at end of file diff --git a/src/benchmarks/coreclr/SciMark/SparseCompRow.cs b/src/benchmarks/coreclr/SciMark/SparseCompRow.cs new file mode 100644 index 00000000000..34660c5978f --- /dev/null +++ b/src/benchmarks/coreclr/SciMark/SparseCompRow.cs @@ -0,0 +1,59 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +/// +/// This is a port of the SciMark2a Java Benchmark to C# by +/// Chris Re (cmr28@cornell.edu) and Werner Vogels (vogels@cs.cornell.edu) +/// +/// For details on the original authors see http://math.nist.gov/scimark2 +/// +/// This software is likely to burn your processor, bitflip your memory chips +/// anihilate your screen and corrupt all your disks, so you it at your +/// own risk. +/// + + +using System; + +namespace SciMark2 +{ + public class SparseCompRow + { + // multiple iterations used to make kernel + // have roughly same granulairty as other + // Scimark kernels + public static double num_flops(int N, int nz, int num_iterations) + { + /* Note that if nz does not divide N evenly, then the + actual number of nonzeros used is adjusted slightly. + */ + int actual_nz = (nz / N) * N; + return ((double)actual_nz) * 2.0 * ((double)num_iterations); + } + + /// + /// computes a matrix-vector multiply with a sparse matrix + /// held in compress-row format. If the size of the matrix + /// in MxN with nz nonzeros, then the val[] is the nz nonzeros, + /// with its ith entry in column col[i]. The integer vector row[] + /// is of size M+1 and row[i] points to the begining of the + /// ith row in col[]. + public static void matmult(double[] y, double[] val, int[] row, int[] col, double[] x, int NUM_ITERATIONS) + { + int M = row.Length - 1; + + for (int reps = 0; reps < NUM_ITERATIONS; reps++) + { + for (int r = 0; r < M; r++) + { + double sum = 0.0; + int rowR = row[r]; + int rowRp1 = row[r + 1]; + for (int i = rowR; i < rowRp1; i++) + sum += x[col[i]] * val[i]; + y[r] = sum; + } + } + } + } +} \ No newline at end of file diff --git a/src/benchmarks/coreclr/SciMark/THIRD-PARTY-NOTICES b/src/benchmarks/coreclr/SciMark/THIRD-PARTY-NOTICES new file mode 100644 index 00000000000..5497232ed0f --- /dev/null +++ b/src/benchmarks/coreclr/SciMark/THIRD-PARTY-NOTICES @@ -0,0 +1,33 @@ +.NET Core uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Core software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for SciMark C# +----------------------------- + +https://github.com/dosvidos/SciMark + + +This is a port of the SciMark2a Java Benchmark to C# by +Chris Re (cmr28@cornell.edu) and Werner Vogels (vogels@cs.cornell.edu) + +For details on the original authors see http://math.nist.gov/scimark2 + +This software is likely to burn your processor, bitflip your memory chips +anihilate your screen and corrupt all your disks, so you it at your +own risk. + + +License notice for SciMark 2.0 +------------------------------ + +http://math.nist.gov/scimark2/credits.html + +As this software was developed as part of work done by the United States Government, it is not subject to copyright, and is in the public domain. +We would, however, appreciate acknowledgements if this work is found useful. Note that according to GNU.org public domain is compatible with GPL. diff --git a/src/benchmarks/coreclr/SciMark/kernel.cs b/src/benchmarks/coreclr/SciMark/kernel.cs new file mode 100644 index 00000000000..0983eb98f19 --- /dev/null +++ b/src/benchmarks/coreclr/SciMark/kernel.cs @@ -0,0 +1,228 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +/// +/// This is a port of the SciMark2a Java Benchmark to C# by +/// Chris Re (cmr28@cornell.edu) and Werner Vogels (vogels@cs.cornell.edu) +/// +/// For details on the original authors see http://math.nist.gov/scimark2 +/// +/// This software is likely to burn your processor, bitflip your memory chips +/// anihilate your screen and corrupt all your disks, so you it at your +/// own risk. +/// + + +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace SciMark2 +{ + [BenchmarkCategory(Categories.CoreCLR)] + public class kernel + { + double[] inputFFT; + + double[][] inputSOR; + + private double[] inputSparseMultX; + private double[] inputSparseMultY; + private double[] inputSparseMultVal; + private int[] inputSparseMultCol; + private int[] inputSparseMultRow; + + private double[][] inputLU; + private int[] inputLUPivot; + private double[][] inputLUA; + + [GlobalSetup(Target = nameof(benchFFT))] + public void SetupFFT() + { + Random R = new SciMark2.Random(Constants.RANDOM_SEED); + int N = Constants.FFT_SIZE; + inputFFT = RandomVector(2 * N, R); + } + + [Benchmark] + public void benchFFT() + { + long Iterations = 20000; + + innerFFT(inputFFT, Iterations); + } + + private static void innerFFT(double[] x, long Iterations) + { + for (int i = 0; i < Iterations; i++) + { + FFT.transform(x); // forward transform + FFT.inverse(x); // backward transform + } + } + + [GlobalSetup(Target = nameof(benchSOR))] + public void SetupSOR() + { + Random R = new SciMark2.Random(Constants.RANDOM_SEED); + int N = Constants.SOR_SIZE; + + inputSOR = RandomMatrix(N, N, R); + } + + [Benchmark] + public void benchSOR() + { + int Iterations = 20000; + + SOR.execute(1.25, inputSOR, Iterations); + } + + [Benchmark] + public void benchMonteCarlo() + { + int Iterations = 40000000; + MonteCarlo.integrate(Iterations); + } + + [GlobalSetup(Target = nameof(benchSparseMult))] + public void SetupSparseMult() + { + Random R = new SciMark2.Random(Constants.RANDOM_SEED); + + int N = Constants.SPARSE_SIZE_M; + int nz = Constants.SPARSE_SIZE_nz; + + inputSparseMultX = RandomVector(N, R); + inputSparseMultY = new double[N]; + int nr = nz / N; // average number of nonzeros per row + int anz = nr * N; // _actual_ number of nonzeros + inputSparseMultVal = RandomVector(anz, R); + inputSparseMultCol = new int[anz]; + inputSparseMultRow = new int[N + 1]; + + inputSparseMultRow[0] = 0; + for (int r = 0; r < N; r++) + { + // initialize elements for row r + + int rowr = inputSparseMultRow[r]; + inputSparseMultRow[r + 1] = rowr + nr; + int step = r / nr; + if (step < 1) + step = 1; + // take at least unit steps + + for (int i = 0; i < nr; i++) + inputSparseMultCol[rowr + i] = i * step; + } + } + + [Benchmark] + public void benchSparseMult() + { + int Iterations = 100000; + + SparseCompRow.matmult(inputSparseMultY, inputSparseMultVal, inputSparseMultRow, inputSparseMultCol, inputSparseMultX, Iterations); + } + + [GlobalSetup(Target = nameof(benchmarkLU))] + public void SetupLU() + { + Random R = new SciMark2.Random(Constants.RANDOM_SEED); + + int N = Constants.LU_SIZE; + + inputLUA = RandomMatrix(N, N, R); + inputLU = new double[N][]; + for (int i = 0; i < N; i++) + { + inputLU[i] = new double[N]; + } + inputLUPivot = new int[N]; + } + + [Benchmark] + public void benchmarkLU() + { + int Iterations = 2000; + + for (int i = 0; i < Iterations; i++) + { + CopyMatrix(inputLU, inputLUA); + LU.factor(inputLU, inputLUPivot); + } + } + + private static void CopyMatrix(double[][] B, double[][] A) + { + int M = A.Length; + int N = A[0].Length; + + int remainder = N & 3; // N mod 4; + + for (int i = 0; i < M; i++) + { + double[] Bi = B[i]; + double[] Ai = A[i]; + for (int j = 0; j < remainder; j++) + Bi[j] = Ai[j]; + for (int j = remainder; j < N; j += 4) + { + Bi[j] = Ai[j]; + Bi[j + 1] = Ai[j + 1]; + Bi[j + 2] = Ai[j + 2]; + Bi[j + 3] = Ai[j + 3]; + } + } + } + + private static double[][] RandomMatrix(int M, int N, Random R) + { + double[][] A = new double[M][]; + for (int i = 0; i < M; i++) + { + A[i] = new double[N]; + } + + for (int i = 0; i < N; i++) + for (int j = 0; j < N; j++) + A[i][j] = R.nextDouble(); + return A; + } + + private static double[] RandomVector(int N, Random R) + { + double[] A = new double[N]; + + for (int i = 0; i < N; i++) + A[i] = R.nextDouble(); + return A; + } + + private static double[] matvec(double[][] A, double[] x) + { + int N = x.Length; + double[] y = new double[N]; + + matvec(A, x, y); + + return y; + } + + private static void matvec(double[][] A, double[] x, double[] y) + { + int M = A.Length; + int N = A[0].Length; + + for (int i = 0; i < M; i++) + { + double sum = 0.0; + double[] Ai = A[i]; + for (int j = 0; j < N; j++) + sum += Ai[j] * x[j]; + + y[i] = sum; + } + } + } +} diff --git a/src/benchmarks/coreclr/Span/Indexer.cs b/src/benchmarks/coreclr/Span/Indexer.cs new file mode 100644 index 00000000000..20b3eae4bf4 --- /dev/null +++ b/src/benchmarks/coreclr/Span/Indexer.cs @@ -0,0 +1,490 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Span +{ + public class Sink + { + [MethodImpl(MethodImplOptions.NoInlining)] + public static Sink NewSink() { return new Sink(); } + + public byte b = 0; + public int i; + } + + [BenchmarkCategory(Categories.CoreCLR, Categories.Span)] + public class IndexerBench + { + [Params(1024)] + public int length; // the field must be called length (starts with lowercase) to keep old benchmark id in BenchView, do NOT change it + + private byte[] a; + private Sink sink = Sink.NewSink(); + + [GlobalSetup] + public void Setup() => a = GetData(length); + + [Benchmark] + [BenchmarkCategory("Indexer in-loop bounds check elimination")] + public byte Ref() => TestRef(a); + + [MethodImpl(MethodImplOptions.NoInlining)] + static byte TestRef(Span data) + { + ref byte p = ref MemoryMarshal.GetReference(data); + int length = data.Length; + byte x = 0; + + for (var idx = 0; idx < length; idx++) + { + x ^= Unsafe.Add(ref p, idx); + } + + return x; + } + + [Benchmark] + [BenchmarkCategory("Indexer in-loop bounds check elimination")] + public byte Fixed1() => TestFixed1(a); + + [MethodImpl(MethodImplOptions.NoInlining)] + static unsafe byte TestFixed1(Span data) + { + fixed (byte* pData = &MemoryMarshal.GetReference(data)) + { + int length = data.Length; + byte x = 0; + byte* p = pData; + + for (var idx = 0; idx < length; idx++) + { + x ^= *(p + idx); + } + + return x; + } + } + + [Benchmark] + [BenchmarkCategory("Indexer in-loop bounds check elimination")] + public byte Fixed2() => TestFixed2(a); + + [MethodImpl(MethodImplOptions.NoInlining)] + static unsafe byte TestFixed2(Span data) + { + fixed (byte* pData = &MemoryMarshal.GetReference(data)) + { + int length = data.Length; + byte x = 0; + + for (var idx = 0; idx < length; idx++) + { + x ^= pData[idx]; + } + + return x; + } + } + + [Benchmark] + [BenchmarkCategory("Indexer in-loop bounds check elimination")] + public byte Indexer1() => TestIndexer1(a); + + [MethodImpl(MethodImplOptions.NoInlining)] + static byte TestIndexer1(Span data) + { + int length = data.Length; + byte x = 0; + + for (var idx = 0; idx < length; idx++) + { + x ^= data[idx]; + } + + return x; + } + + [Benchmark] + [BenchmarkCategory("Indexer in-loop bounds check elimination")] + public byte Indexer2() => TestIndexer2(a); + + [MethodImpl(MethodImplOptions.NoInlining)] + static byte TestIndexer2(Span data) + { + byte x = 0; + + for (var idx = 0; idx < data.Length; idx++) + { + x ^= data[idx]; + } + + return x; + } + + [Benchmark] + [BenchmarkCategory("Indexer in-loop bounds check elimination")] + public byte Indexer3() => TestIndexer3(a); + + [MethodImpl(MethodImplOptions.NoInlining)] + static byte TestIndexer3(Span data) + { + Span data2 = data; + + byte x = 0; + + for (var idx = 0; idx < data2.Length; idx++) + { + x ^= data2[idx]; + } + + return x; + } + + [Benchmark] + [BenchmarkCategory("Indexer in-loop bounds check elimination")] + public byte Indexer4() => TestIndexer4(a, 10); + + [MethodImpl(MethodImplOptions.NoInlining)] + static byte TestIndexer4(Span data, int iterations) + { + byte x = 0; + int length = data.Length; + + // This does more or less the same work as TestIndexer1 + // but is expressed as a loop nest. + for (int i = 0; i < iterations; i++) + { + x = 0; + + for (var idx = 0; idx < length; idx++) + { + x ^= data[idx]; + } + } + + return x; + } + + [Benchmark] + [BenchmarkCategory("Indexer in-loop bounds check elimination")] + public byte Indexer5() => TestIndexer5(a, out int z); + + [MethodImpl(MethodImplOptions.NoInlining)] + static byte TestIndexer5(Span data, out int z) + { + byte x = 0; + z = -1; + + // Write to z here should not be able to modify + // the span. + for (var idx = 0; idx < data.Length; idx++) + { + x ^= data[idx]; + z = idx; + } + + return x; + } + + [Benchmark] + [BenchmarkCategory("Indexer in-loop bounds check elimination")] + public byte Indexer6() => TestIndexer6(a, sink); + + [MethodImpl(MethodImplOptions.NoInlining)] + static byte TestIndexer6(Span data, Sink s) + { + byte x = 0; + + // Write to s.i here should not be able to modify + // the span. + for (var idx = 0; idx < data.Length; idx++) + { + x ^= data[idx]; + s.i = 0; + } + + return x; + } + + [Benchmark] + [BenchmarkCategory("Indexer in-loop bounds check elimination")] + public byte ReadOnlyIndexer1() => TestReadOnlyIndexer1(a); + + [MethodImpl(MethodImplOptions.NoInlining)] + static byte TestReadOnlyIndexer1(ReadOnlySpan data) + { + int length = data.Length; + byte x = 0; + + for (var idx = 0; idx < length; idx++) + { + x ^= data[idx]; + } + + return x; + } + + [Benchmark] + [BenchmarkCategory("Indexer in-loop bounds check elimination")] + public byte ReadOnlyIndexer2() => TestReadOnlyIndexer2(a); + + [MethodImpl(MethodImplOptions.NoInlining)] + static byte TestReadOnlyIndexer2(ReadOnlySpan data) + { + byte x = 0; + + for (var idx = 0; idx < data.Length; idx++) + { + x ^= data[idx]; + } + + return x; + } + + [Benchmark] + [BenchmarkCategory("Indexer in-loop bounds check elimination w/ writes")] + public byte WriteViaIndexer1() => TestWriteViaIndexer1(a); + + [MethodImpl(MethodImplOptions.NoInlining)] + static byte TestWriteViaIndexer1(Span data) + { + byte q = data[0]; + + for (var idx = 1; idx < data.Length; idx++) + { + data[0] ^= data[idx]; + } + + byte x = data[0]; + data[0] = q; + + return x; + } + + [Benchmark] + [BenchmarkCategory("Indexer in-loop bounds check elimination w/ writes")] + public byte WriteViaIndexer2() => TestWriteViaIndexer2(a, 0, a.Length); + + [MethodImpl(MethodImplOptions.NoInlining)] + static byte TestWriteViaIndexer2(Span data, int start, int end) + { + byte x = 0; + + for (var idx = start; idx < end; idx++) + { + // Bounds checks are redundant + byte b = data[idx]; + x ^= b; + data[idx] = b; + } + + return x; + } + + [Benchmark] + [BenchmarkCategory("Span known size bounds check elimination")] + public byte KnownSizeArray() => TestKnownSizeArray(a); + + [MethodImpl(MethodImplOptions.NoInlining)] + static byte TestKnownSizeArray(Span data) + { + byte x = 0; + for (var idx = 0; idx < data.Length; idx++) + { + x ^= data[idx]; + } + + return x; + } + + [Benchmark] + [BenchmarkCategory("Span known size bounds check elimination")] + public byte KnownSizeCtor() => TestKnownSizeCtor(a); + + [MethodImpl(MethodImplOptions.NoInlining)] + static byte TestKnownSizeCtor(byte[] a) + { + Span data = new Span(a, 0, 1024); + + byte x = 0; + for (var idx = 0; idx < data.Length; idx++) + { + x ^= data[idx]; + } + + return x; + } + + [Benchmark] + [BenchmarkCategory("Span known size bounds check elimination")] + public byte KnownSizeCtor2() => TestKnownSizeCtor2(a); + + [MethodImpl(MethodImplOptions.NoInlining)] + static byte TestKnownSizeCtor2(byte[] a) + { + Span data1 = new Span(a, 0, 512); + Span data2 = new Span(a, 512, 512); + byte x = 0; + + for (var idx = 0; idx < data1.Length; idx++) + { + x ^= data1[idx]; + } + for (var idx = 0; idx < data2.Length; idx++) + { + x ^= data2[idx]; + } + + return x; + } + + [Benchmark] + [BenchmarkCategory("Same index in-loop redundant bounds check elimination")] + public byte SameIndex1() => TestSameIndex1(a, 0, a.Length); + + [MethodImpl(MethodImplOptions.NoInlining)] + static byte TestSameIndex1(Span data, int start, int end) + { + byte x = 0; + byte y = 0; + + for (var idx = start; idx < end; idx++) + { + x ^= data[idx]; + y ^= data[idx]; + } + + byte t = (byte)(y ^ x ^ y); + + return t; + } + + [Benchmark] + [BenchmarkCategory("Same index in-loop redundant bounds check elimination")] + public byte SameIndex2() => TestSameIndex2(a, ref a[0], 0, a.Length); + + [MethodImpl(MethodImplOptions.NoInlining)] + static byte TestSameIndex2(Span data, ref byte b, int start, int end) + { + byte x = 0; + byte y = 0; + byte ye = 121; + byte q = data[0]; + + for (var idx = start; idx < end; idx++) + { + // Bounds check is redundant, but values are not CSEs. + x ^= data[idx]; + b = 1; + y ^= data[idx]; + } + + byte t = (byte)(y ^ x ^ ye); + data[0] = q; + + return t; + } + + [Benchmark] + [BenchmarkCategory("Covered index in-loop redundant bounds check elimination")] + public byte CoveredIndex1() => TestCoveredIndex1(a, 0, a.Length); + + [MethodImpl(MethodImplOptions.NoInlining)] + static byte TestCoveredIndex1(Span data, int start, int end) + { + byte x = 0; + byte y = 0; + + for (var idx = start; idx < end - 100; idx++) + { + x ^= data[idx + 100]; + y ^= data[idx]; + } + + for (var idx = end - 100; idx < end; idx++) + { + y ^= data[idx]; + x ^= data[idx - 100]; + } + + byte r = (byte)(x ^ y ^ x); + + return r; + } + + [Benchmark] + [BenchmarkCategory("Covered index in-loop redundant bounds check elimination")] + public byte CoveredIndex2() => TestCoveredIndex2(a, 0, a.Length); + + [MethodImpl(MethodImplOptions.NoInlining)] + static byte TestCoveredIndex2(Span data, int start, int end) + { + byte x = 0; + byte y = 0; + + for (var idx = start; idx < end; idx++) + { + x ^= data[idx]; + + if (idx != 100) + { + // Should be able to eliminate this bounds check + y ^= data[0]; + } + } + + byte r = (byte)(y ^ x ^ y); + + return r; + } + + [Benchmark] + [BenchmarkCategory("Covered index in-loop redundant bounds check elimination")] + public byte CoveredIndex3() => TestCoveredIndex3(a, 0, a.Length); + + [MethodImpl(MethodImplOptions.NoInlining)] + static byte TestCoveredIndex3(Span data, int start, int end) + { + byte x = 0; + byte y = 0; + byte z = 0; + + for (var idx = start; idx < end; idx++) + { + x ^= data[idx]; + + if (idx != 100) + { + y ^= data[50]; + // Should be able to eliminate this bounds check + z ^= data[25]; + } + } + + byte r = (byte)(z ^ y ^ x ^ y ^ z); + + return r; + } + + static byte[] GetData(int size) + { + byte[] data = new byte[size]; + SetData(data); + return data; + } + + static void SetData(byte[] data) + { + Random Rnd = new Random(42); + Rnd.NextBytes(data); + } + } +} diff --git a/src/benchmarks/coreclr/Span/SpanBench.cs b/src/benchmarks/coreclr/Span/SpanBench.cs new file mode 100644 index 00000000000..14e95efd1c8 --- /dev/null +++ b/src/benchmarks/coreclr/Span/SpanBench.cs @@ -0,0 +1,386 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Text; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace Span +{ + [BenchmarkCategory(Categories.CoreCLR, Categories.Span)] + public class SpanBench + { + [Params(1024)] + public static int length; // the field must be called length (starts with lowercase) to keep old benchmark id in BenchView, do NOT change it + + private byte[] bytes; + private int[] ints; + private string[] strings; + private string randomString; + + private TestClass testClassByte; + private TestClass testClassString; + + [GlobalSetup] + public void Setup() + { + bytes = new byte[length]; + ints = new int[length]; + strings = new string[length]; + randomString = GetRandomString(); + testClassByte = CreateTestClass(); + testClassString = CreateTestClass(); + } + + private TestClass CreateTestClass() + { + TestClass testClass = new TestClass(); + testClass.C0 = new T[length]; + return testClass; + } + + class Destination + { + public T[] array = new T[SpanBench.length]; // always more than length + + public static Destination Instance = new Destination(); + } + + // Helpers + #region Helpers + + [StructLayout(LayoutKind.Sequential)] + public sealed class TestClass + { + private double _d; + public T[] C0; + } + + // Helper for the sort tests to get some pseudo-random input + static int[] GetUnsortedData(int length) + { + int[] unsortedData = new int[length]; + Random r = new Random(42); + for (int i = 0; i < unsortedData.Length; ++i) + { + unsortedData[i] = r.Next(); + } + return unsortedData; + } + + private string GetRandomString() + { + StringBuilder sb = new StringBuilder(); + Random rand = new Random(42); + char[] c = new char[1]; + for (int i = 0; i < length; i++) + { + c[0] = (char)rand.Next(32, 126); + sb.Append(new string(c)); + } + string s = sb.ToString(); + + return s; + } + #endregion // helpers + + // Tests that implement some vary basic algorithms (fill/sort) over spans and arrays + #region Algorithm tests + + #region TestFillAllSpan + [Benchmark] + public void FillAllSpan() => TestFillAllSpan(bytes); + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestFillAllSpan(Span span) + { + for (int i = 0; i < span.Length; ++i) + { + span[i] = unchecked((byte)i); + } + } + #endregion + + #region TestFillAllArray + + [Benchmark] + public void FillAllArray() => TestFillAllArray(bytes); + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestFillAllArray(byte[] data) + { + for (int i = 0; i < data.Length; ++i) + { + data[i] = unchecked((byte)i); + } + } + #endregion + + #region TestFillAllReverseSpan + + [Benchmark] + public void FillAllReverseSpan() => TestFillAllReverseSpan(bytes); + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestFillAllReverseSpan(Span span) + { + for (int i = span.Length; --i >= 0;) + { + span[i] = unchecked((byte)i); + } + } + #endregion + + #region TestFillAllReverseArray + [Benchmark] + public void FillAllReverseArray() => TestFillAllReverseArray(bytes); + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestFillAllReverseArray(byte[] data) + { + for (int i = data.Length; --i >= 0;) + { + data[i] = unchecked((byte)i); + } + } + #endregion + + #region TestQuickSortSpan + + int[] _unsortedData; + + [IterationSetup(Target = nameof(QuickSortSpan) + "," + nameof(BubbleSortSpan) + "," + nameof(QuickSortArray) + "," + nameof(BubbleSortArray))] + public void SetupSort() => _unsortedData = GetUnsortedData(length); + + [Benchmark] + public void QuickSortSpan() => TestQuickSortSpan(_unsortedData); + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestQuickSortSpan(Span data) + { + if (data.Length <= 1) + { + return; + } + + int lo = 0; + int hi = data.Length - 1; + int i, j; + int pivot, temp; + for (i = lo, j = hi, pivot = data[hi]; i < j;) + { + while (i < j && data[i] <= pivot) + { + ++i; + } + while (j > i && data[j] >= pivot) + { + --j; + } + if (i < j) + { + temp = data[i]; + data[i] = data[j]; + data[j] = temp; + } + } + if (i != hi) + { + temp = data[i]; + data[i] = pivot; + data[hi] = temp; + } + + TestQuickSortSpan(data.Slice(0, i)); + TestQuickSortSpan(data.Slice(i + 1)); + } + #endregion + + #region TestBubbleSortSpan + [Benchmark] + public void BubbleSortSpan() => TestBubbleSortSpan(_unsortedData); + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestBubbleSortSpan(Span span) + { + bool swap; + int temp; + int n = span.Length - 1; + do + { + swap = false; + for (int i = 0; i < n; i++) + { + if (span[i] > span[i + 1]) + { + temp = span[i]; + span[i] = span[i + 1]; + span[i + 1] = temp; + swap = true; + } + } + --n; + } + while (swap); + } + #endregion + + #region TestQuickSortArray + [Benchmark] + public void QuickSortArray() => TestQuickSortArray(_unsortedData, 0, _unsortedData.Length - 1); + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestQuickSortArray(int[] data, int lo, int hi) + { + if (lo >= hi) + { + return; + } + + int i, j; + int pivot, temp; + for (i = lo, j = hi, pivot = data[hi]; i < j;) + { + while (i < j && data[i] <= pivot) + { + ++i; + } + while (j > i && data[j] >= pivot) + { + --j; + } + if (i < j) + { + temp = data[i]; + data[i] = data[j]; + data[j] = temp; + } + } + if (i != hi) + { + temp = data[i]; + data[i] = pivot; + data[hi] = temp; + } + + TestQuickSortArray(data, lo, i - 1); + TestQuickSortArray(data, i + 1, hi); + } + #endregion + + #region TestBubbleSortArray + [Benchmark] + public void BubbleSortArray() => TestBubbleSortArray(_unsortedData); + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestBubbleSortArray(int[] data) + { + bool swap; + int temp; + int n = data.Length - 1; + do + { + swap = false; + for (int i = 0; i < n; i++) + { + if (data[i] > data[i + 1]) + { + temp = data[i]; + data[i] = data[i + 1]; + data[i + 1] = temp; + swap = true; + } + } + --n; + } + while (swap); + } + #endregion + + #endregion // Algorithm tests + + [Benchmark] + public Span TestSpanConstructorByte() => new Span(bytes); + + [Benchmark] + public Span TestSpanConstructorString() => new Span(strings); + +#if NETCOREAPP2_1 // netcoreapp specific API https://github.com/dotnet/coreclr/issues/16126 + [Benchmark] + public Span TestSpanCreateByte() => MemoryMarshal.CreateSpan(ref testClassByte.C0[0], testClassByte.C0.Length); + + [Benchmark] + public Span TestSpanCreateString() => MemoryMarshal.CreateSpan(ref testClassString.C0[0], testClassString.C0.Length); +#endif + + [Benchmark] + public ref byte TestMemoryMarshalGetReferenceByte() => ref MemoryMarshal.GetReference(new Span(bytes)); + + [Benchmark] + public ref string TestMemoryMarshalGetReferenceString() => ref MemoryMarshal.GetReference(new Span(strings)); + + [Benchmark] + public Span TestSpanSliceByte() => new Span(bytes).Slice(bytes.Length / 2); + + [Benchmark] + public Span TestSpanSliceString() => new Span(strings).Slice(strings.Length / 2); + + [Benchmark] + public byte[] TestSpanToArrayByte() => new Span(bytes).ToArray(); + + [Benchmark] + public string[] TestSpanToArrayString()=> new Span(strings).ToArray(); + + [Benchmark] + public void TestSpanCopyToByte() => new Span(bytes).CopyTo(Destination.Instance.array); + + [Benchmark] + public void TestSpanCopyToString() => new Span(strings).CopyTo(Destination.Instance.array); + + [Benchmark] + public void TestArrayCopyToByte() => bytes.CopyTo(Destination.Instance.array, 0); + + [Benchmark] + public void TestArrayCopyToString() => strings.CopyTo(Destination.Instance.array, 0); + + [Benchmark] + public void TestSpanFillByte() => new Span(bytes).Fill(default(byte)); + + [Benchmark] + public void TestSpanFillString() => new Span(strings).Fill(default(string)); + + [Benchmark] + public void TestSpanClearByte() => TestSpanClear(bytes); + + [Benchmark] + public void TestSpanClearString() => TestSpanClear(strings); + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestSpanClear(Span span) => span.Clear(); + + [Benchmark] + public void TestArrayClearByte() => Array.Clear(bytes, 0, bytes.Length); + + [Benchmark] + public void TestArrayClearString() => Array.Clear(strings, 0, strings.Length); + + [Benchmark] + public Span TestSpanAsBytesByte() => MemoryMarshal.AsBytes(new Span(bytes)); + + [Benchmark] + public Span TestSpanAsBytesInt() => MemoryMarshal.AsBytes(new Span(ints)); + + [Benchmark] + public void TestSpanCastFromByteToInt() => MemoryMarshal.Cast(bytes); + + [Benchmark] + public void TestSpanCastFromIntToByte() => MemoryMarshal.Cast(ints); + + [Benchmark] + public ReadOnlySpan TestSpanAsSpanStringCharWrapper() => randomString.AsSpan(); + } +} diff --git a/src/benchmarks/coreclr/V8/Crypto/Crypto.cs b/src/benchmarks/coreclr/V8/Crypto/Crypto.cs new file mode 100644 index 00000000000..0d689b522cb --- /dev/null +++ b/src/benchmarks/coreclr/V8/Crypto/Crypto.cs @@ -0,0 +1,2052 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +/* + * Copyright (c) 2003-2005 Tom Wu + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, + * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY + * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + * + * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, + * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER + * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF + * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT + * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * In addition, the following condition applies: + * + * All redistributions must retain an intact copy of this copyright notice + * and disclaimer. + */ + +// Comment this out to use a fixed random number seed. + +// #define USE_RANDOM_SEED + +// The code has been adapted for use as a benchmark by Microsoft. + +using System; +using System.Collections.Generic; +using System.Globalization; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace V8.Crypto +{ + [BenchmarkCategory(Categories.CoreCLR, Categories.V8)] + public class Support + { + private const string INPUT = "The quick brown fox jumped over the extremely lazy frogs!"; + + [Benchmark(Description = nameof(Crypto))] + public void Bench() + { + runEncrypt(false); + runDecrypt(false); + } + + private static RSAKey s_RSA; + private static String s_TEXT; + + [GlobalSetup] + public void Setup() + { + String nValue = "a5261939975948bb7a58dffe5ff54e65f0498f9175f5a09288810b8975871e99af3b5dd94057b0fc07535f5f97444504fa35169d461d0d30cf0192e307727c065168c788771c561a9400fb49175e9e6aa4e23fe11af69e9412dd23b0cb6684c4c2429bce139e848ab26d0829073351f4acd36074eafd036a5eb83359d2a698d3"; + String eValue = "10001"; + String dValue = "8e9912f6d3645894e8d38cb58c0db81ff516cf4c7e5a14c7f1eddb1459d2cded4d8d293fc97aee6aefb861859c8b6a3d1dfe710463e1f9ddc72048c09751971c4a580aa51eb523357a3cc48d31cfad1d4a165066ed92d4748fb6571211da5cb14bc11b6e2df7c1a559e6d5ac1cd5c94703a22891464fba23d0d965086277a161"; + String pValue = "d090ce58a92c75233a6486cb0a9209bf3583b64f540c76f5294bb97d285eed33aec220bde14b2417951178ac152ceab6da7090905b478195498b352048f15e7d"; + String qValue = "cab575dc652bb66df15a0359609d51d1db184750c00c6698b90ef3465c99655103edbf0d54c56aec0ce3c4d22592338092a126a0cc49f65a4a30d222b411e58f"; + String dmp1Value = "1a24bca8e273df2f0e47c199bbf678604e7df7215480c77c8db39f49b000ce2cf7500038acfff5433b7d582a01f1826e6f4d42e1c57f5e1fef7b12aabc59fd25"; + String dmq1Value = "3d06982efbbe47339e1f6d36b1216b8a741d410b0c662f54f7118b27b9a4ec9d914337eb39841d8666f3034408cf94f5b62f11c402fc994fe15a05493150d9fd"; + String coeffValue = "3a3e731acd8960b7ff9eb81a7ff93bd1cfa74cbd56987db58b4594fb09c09084db1734c8143f98b602b981aaa9243ca28deb69b5b280ee8dcee0fd2625e53250"; + + BigInteger.setupEngine(new BigInteger.AMSig(BigInteger.am3), 28); + + s_RSA = new RSAKey(); + s_RSA.setPublic(nValue, eValue); + s_RSA.setPrivateEx(nValue, eValue, dValue, pValue, qValue, dmp1Value, dmq1Value, coeffValue); + + s_TEXT = INPUT; + } + + public static void runEncrypt(bool verbose) + { + var res = s_RSA.encrypt(s_TEXT); + if (verbose) Console.WriteLine("encrypt '{0}' is '{1}'", s_TEXT, res); + s_TEXT = res; + } + public static void runDecrypt(bool verbose) + { + var res = s_RSA.decrypt(s_TEXT); + if (verbose) Console.WriteLine("decrypt '{0}' is '{1}'", s_TEXT, res); + s_TEXT = res; + } + } + + internal class ListX : List + { + public ListX() : base() { } + public ListX(int cap) : base(cap) { } + + public new T this[int index] + { + get { return base[index]; } + set + { + if (index < Count) + { + base[index] = value; + } + else + { + for (int j = Count; j < index; j++) + { + base.Add(default(T)); + } + base.Add(value); + } + } + } + } + + // Basic JavaScript BN library - subset useful for RSA encryption. + + internal class BigInteger + { + private ListX _array; + private int _t; + private int _s; + + // Bits per digit + private static int s_dbits; + private static int s_BI_DB; + private static int s_BI_DM; + private static int s_BI_DV; + + private static int s_BI_FP; + private static ulong s_BI_FV; + private static int s_BI_F1; + private static int s_BI_F2; + + // JavaScript engine analysis + private const long canary = 0xdeadbeefcafe; + private const bool j_lm = ((canary & 0xffffff) == 0xefcafe); + + // (public) Constructor + public BigInteger(int a, int b, SecureRandom c) + { + _array = new ListX(); + this.fromNumber(a, b, c); + } + + public BigInteger() + { + _array = new ListX(); + } + + public BigInteger(String a) + { + _array = new ListX(); + this.fromString(a, 256); + } + public BigInteger(byte[] ba) + { + _array = new ListX(); + this.fromByteArray(ba); + } + public BigInteger(String a, int b) + { + _array = new ListX(); + this.fromString(a, b); + } + + // return new, unset BigInteger + private static BigInteger nbi() { return new BigInteger(); } + + public delegate int AMSig(BigInteger bi, int i, int x, BigInteger w, int j, int c, int n); + + private static AMSig s_am; + + // am: Compute w_j += (x*this_i), propagate carries, + // c is initial carry, returns final carry. + // c < 3*dvalue, x < 2*dvalue, this_i < dvalue + // We need to select the fastest one that works in this environment. + + // These appear to be unused +#if false + // am1: use a single mult and divide to get the high bits, + // max digit bits should be 26 because + // max internal value = 2*dvalue^2-2*dvalue (< 2^53) + function am1(i,x,w,j,c,n) { + var this_array = this.array; + var w_array = w.array; + while(--n >= 0) { + var v = x*this_array[i++]+w_array[j]+c; + c = Math.floor(v/0x4000000); + w_array[j++] = v&0x3ffffff; + } + return c; + } + + // am2 avoids a big mult-and-extract completely. + // Max digit bits should be <= 30 because we do bitwise ops + // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31) + function am2(i,x,w,j,c,n) { + var this_array = this.array; + var w_array = w.array; + var xl = x&0x7fff, xh = x>>15; + while(--n >= 0) { + var l = this_array[i]&0x7fff; + var h = this_array[i++]>>15; + var m = xh*l+h*xl; + l = xl*l+((m&0x7fff)<<15)+w_array[j]+(c&0x3fffffff); + c = (l>>>30)+(m>>>15)+xh*h+(c>>>30); + w_array[j++] = l&0x3fffffff; + } + return c; + } +#endif + + // Alternately, set max digit bits to 28 since some + // browsers slow down when dealing with 32-bit numbers. + public static int am3(BigInteger bi, int i, int x, BigInteger w, int j, int c, int n) + { + var this_array = bi._array; + var w_array = w._array; + + var xl = x & 0x3fff; var xh = x >> 14; + while (--n >= 0) + { + var l = this_array[i] & 0x3fff; + var h = this_array[i++] >> 14; + var m = xh * l + h * xl; + l = xl * l + ((m & 0x3fff) << 14) + w_array[j] + c; + c = (l >> 28) + (m >> 14) + xh * h; + w_array[j++] = l & 0xfffffff; + } + return c; + } + + +#if false + // This is tailored to VMs with 2-bit tagging. It makes sure + // that all the computations stay within the 29 bits available. + function am4(i,x,w,j,c,n) { + var this_array = this.array; + var w_array = w.array; + + var xl = x&0x1fff, xh = x>>13; + while(--n >= 0) { + var l = this_array[i]&0x1fff; + var h = this_array[i++]>>13; + var m = xh*l+h*xl; + l = xl*l+((m&0x1fff)<<13)+w_array[j]+c; + c = (l>>26)+(m>>13)+xh*h; + w_array[j++] = l&0x3ffffff; + } + return c; + } +#endif + + // Digit conversions + private const String BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz"; + private static int[] s_BI_RC; + + // am3/28 is best for SM, Rhino, but am4/26 is best for v8. + // Kestrel (Opera 9.5) gets its best result with am4/26. + // IE7 does 9% better with am3/28 than with am4/26. + // Firefox (SM) gets 10% faster with am3/28 than with am4/26. + + + public static void setupEngine(AMSig fn, int bits) + { + BigInteger.s_am = fn; + s_dbits = bits; + + s_BI_DB = s_dbits; + s_BI_DM = ((((int)1) << (int)s_dbits) - 1); + s_BI_DV = (((int)1) << (int)s_dbits); + + s_BI_FP = 52; + // The RHS had been Math.Pow(2,BI_FP); + s_BI_FV = (((ulong)1) << (int)s_BI_FP); + s_BI_F1 = s_BI_FP - s_dbits; + s_BI_F2 = 2 * s_dbits - s_BI_FP; + + s_BI_RC = new int[256]; + + // char rr = "0".charCodeAt(0); + char rr = '0'; + for (int vv = 0; vv <= 9; ++vv) s_BI_RC[rr++] = vv; + // rr = 'a".charCodeAt(0); + rr = 'a'; + for (int vv = 10; vv < 36; ++vv) s_BI_RC[rr++] = vv; + // rr = "A".charCodeAt(0); + rr = 'A'; + for (int vv = 10; vv < 36; ++vv) s_BI_RC[rr++] = vv; + } + + private static char int2char(int n) { return BI_RM[(int)n]; } + private static int intAt(String s, int i) + { + // int c = (int)BI_RC[s[(int)i]]; + // return (c==null)?-1:c; + if (i > s_BI_RC.Length) return -1; + else return (int)s_BI_RC[s[(int)i]]; + } + + // (protected) copy this to r + private void copyTo(BigInteger r) + { + var this_array = _array; + var r_array = r._array; + + for (var i = _t - 1; i >= 0; --i) r_array[i] = this_array[i]; + r._t = _t; + r._s = _s; + } + + // (protected) set from integer value x, -DV <= x < DV + private void fromInt(int x) + { + var this_array = _array; + _t = 1; + _s = (x < 0) ? -1 : 0; + if (this_array.Count == 0) + { + if (x > 0) + this_array.Add(x); + else if (x < -1) + this_array.Add(x + s_BI_DV); + else + _t = 0; + } + else + { + if (x > 0) this_array[0] = (int)x; + else if (x < -1) this_array[0] = (int)(x + s_BI_DV); + else _t = 0; + } + } + + // return bigint initialized to value + private static BigInteger nbv(int i) { var r = nbi(); r.fromInt(i); return r; } + + // (protected) set from string and radix + private void fromString(String s, int b) + { + var this_array = _array; + int k; + if (b == 16) k = 4; + else if (b == 8) k = 3; + else if (b == 256) k = 8; // byte array + else if (b == 2) k = 1; + else if (b == 32) k = 5; + else if (b == 4) k = 2; + else { this.fromRadix(s, b); return; } + _t = 0; + _s = 0; + int i = s.Length; bool mi = false; var sh = 0; + while (--i >= 0) + { + int x = (k == 8) ? (s[i] & 0xff) : intAt(s, (int)i); + if (x < 0) + { + if (s[i] == '-') mi = true; + continue; + } + mi = false; + if (sh == 0) + this_array[_t++] = (int)x; + else if (sh + k > s_BI_DB) + { + this_array[_t - 1] |= ((int)x & ((((int)1) << (s_BI_DB - sh)) - 1)) << sh; + this_array[_t++] = ((int)x >> (s_BI_DB - sh)); + } + else + this_array[_t - 1] |= ((int)x) << sh; + sh += (int)k; + if (sh >= s_BI_DB) sh -= s_BI_DB; + } + if (k == 8 && (s[0] & 0x80) != 0) + { + _s = -1; + if (sh > 0) this_array[_t - 1] |= ((((int)1) << (s_BI_DB - sh)) - 1) << sh; + } + this.clamp(); + if (mi) BigInteger.ZERO.subTo(this, this); + } + + private void fromByteArray(byte[] ba) + { + var this_array = _array; + _t = 0; + _s = 0; + int i = ba.Length; bool mi = false; var sh = 0; + while (--i >= 0) + { + int x = ba[i] & 0xff; + mi = false; + if (sh == 0) + this_array[_t++] = (int)x; + else if (sh + 8 > s_BI_DB) + { + this_array[_t - 1] |= ((int)x & ((((int)1) << (s_BI_DB - sh)) - 1)) << sh; + this_array[_t++] = ((int)x >> (s_BI_DB - sh)); + } + else + this_array[_t - 1] |= ((int)x) << sh; + sh += 8; + if (sh >= s_BI_DB) sh -= s_BI_DB; + } + if ((ba[0] & 0x80) != 0) + { + _s = -1; + if (sh > 0) this_array[_t - 1] |= ((((int)1) << (s_BI_DB - sh)) - 1) << sh; + } + this.clamp(); + if (mi) BigInteger.ZERO.subTo(this, this); + } + + // (protected) clamp off excess high words + private void clamp() + { + var this_array = _array; + var c = _s & s_BI_DM; + while (_t > 0 && this_array[_t - 1] == c) --_t; + } + + // (public) return string representation in given radix + public String toString(int b) + { + var this_array = _array; + if (_s < 0) return "-" + this.negate().toString(b); + int k; + if (b == 16) k = 4; + else if (b == 8) k = 3; + else if (b == 2) k = 1; + else if (b == 32) k = 5; + else if (b == 4) k = 2; + else return this.toRadix(b); + int km = ((int)1 << k) - 1; + int d; bool m = false; var r = ""; int i = (int)_t; + int p = (s_BI_DB - (i * s_BI_DB) % k); + if (i-- > 0) + { + if (p < s_BI_DB && (d = this_array[i] >> p) > 0) { m = true; r = new String(int2char(d), 1); } + while (i >= 0) + { + if (p < k) + { + d = (this_array[i] & ((((int)1) << p) - 1)) << (k - p); + d |= this_array[--i] >> (p += (int)(s_BI_DB - k)); + } + else + { + d = (this_array[i] >> (p -= k)) & km; + if (p <= 0) { p += (int)s_BI_DB; --i; } + } + if (d > 0) m = true; + if (m) r += int2char(d); + } + } + return m ? r : "0"; + } + + // (public) -this + public BigInteger negate() { var r = nbi(); BigInteger.ZERO.subTo(this, r); return r; } + + // (public) |this| + public BigInteger abs() { return (_s < 0) ? this.negate() : this; } + + // (public) return + if this > a, - if this < a, 0 if equal + public int compareTo(BigInteger a) + { + var this_array = _array; + var a_array = a._array; + + var r = _s - a._s; + if (r != 0) return r; + int i = (int)_t; + r = i - (int)a._t; + if (r != 0) return r; + while (--i >= 0) if ((r = (int)(this_array[i] - a_array[i])) != 0) return r; + return 0; + } + + // returns bit length of the integer x + public int nbits(int x) + { + int r = 1; + int t; + if ((t = x >> 16) != 0) { x = t; r += 16; } + if ((t = x >> 8) != 0) { x = t; r += 8; } + if ((t = x >> 4) != 0) { x = t; r += 4; } + if ((t = x >> 2) != 0) { x = t; r += 2; } + if ((t = x >> 1) != 0) { x = t; r += 1; } + return r; + } + + // (public) return the number of bits in "this" + public int bitLength() + { + var this_array = _array; + if (_t <= 0) return 0; + return ((int)s_BI_DB) * (_t - 1) + nbits(this_array[_t - 1] ^ (int)(_s & s_BI_DM)); + } + + // (protected) r = this << n*DB + private void dLShiftTo(int n, BigInteger r) + { + var this_array = _array; + var r_array = r._array; + for (int i = (int)_t - 1; i >= 0; --i) r_array[i + n] = this_array[i]; + for (int i = (int)n - 1; i >= 0; --i) r_array[i] = 0; + r._t = _t + (int)n; + r._s = _s; + } + + // (protected) r = this >> n*DB + private void dRShiftTo(int n, BigInteger r) + { + var this_array = _array; + var r_array = r._array; + for (var i = n; i < _t; ++i) r_array[i - n] = this_array[i]; + r._t = (int)Math.Max(_t - n, 0); + r._s = _s; + } + + // (protected) r = this << n + private void lShiftTo(int n, BigInteger r) + { + var this_array = _array; + var r_array = r._array; + int bs = (int)(n % s_BI_DB); + int cbs = (int)(s_BI_DB - bs); + var bm = ((int)1 << cbs) - 1; + int ds = n / s_BI_DB; int c = ((int)_s << bs) & s_BI_DM; + for (int i = (int)_t - 1; i >= 0; --i) + { + r_array[i + ds + 1] = (this_array[i] >> cbs) | c; + c = (this_array[i] & bm) << bs; +#if TRACING + Console.WriteLine(" i = {0}, this_array[i] = {3}, r_array[i + ds + 1] = {1}; c = {2}.", i, r_array[i + ds + 1], c, this_array[i]); +#endif + } + for (int i = (int)ds - 1; i >= 0; --i) r_array[i] = 0; + r_array[ds] = c; + r._t = _t + (int)ds + 1; + r._s = _s; + r.clamp(); + } + + // (protected) r = this >> n + private void rShiftTo(int n, BigInteger r) + { + var this_array = _array; + var r_array = r._array; + r._s = _s; + var ds = n / s_BI_DB; + if (ds >= _t) { r._t = 0; return; } + int bs = (int)(n % s_BI_DB); + int cbs = (int)(s_BI_DB - bs); + int bm = ((int)1 << bs) - 1; + r_array[0] = this_array[ds] >> bs; + for (int i = ds + 1; i < _t; ++i) + { + r_array[i - ds - 1] |= (this_array[i] & bm) << cbs; + r_array[i - ds] = this_array[i] >> bs; + } + if (bs > 0) r_array[(int)_t - ds - 1] |= ((int)_s & bm) << cbs; + r._t = _t - (int)ds; + r.clamp(); + } + + // (protected) r = this - a + private void subTo(BigInteger a, BigInteger r) + { + var this_array = _array; + var r_array = r._array; + var a_array = a._array; + int i = 0; int c = 0; var m = Math.Min(a._t, _t); + while (i < m) + { + c += (int)this_array[i] - (int)a_array[i]; + r_array[i++] = (int)c & s_BI_DM; + c >>= (int)s_BI_DB; + } + if (a._t < _t) + { + c -= a._s; + while (i < _t) + { + c += (int)this_array[i]; + r_array[i++] = (int)c & s_BI_DM; + c >>= (int)s_BI_DB; + } + c += _s; + } + else + { + c += _s; + while (i < a._t) + { + c -= (int)a_array[i]; + r_array[i++] = (int)c & s_BI_DM; + c >>= (int)s_BI_DB; + } + c -= a._s; + } + r._s = (c < 0) ? -1 : 0; + if (c < -1) r_array[i++] = (int)((int)s_BI_DV + c); + else if (c > 0) r_array[i++] = (int)c; + r._t = i; + r.clamp(); + } + + // (protected) r = this * a, r != this,a (HAC 14.12) + // "this" should be the larger one if appropriate. + private void multiplyTo(BigInteger a, BigInteger r) + { + var this_array = _array; + var r_array = r._array; + var x = this.abs(); var y = a.abs(); + var y_array = y._array; + + int i = (int)x._t; + r._t = (int)i + y._t; + while (--i >= 0) r_array[i] = 0; + for (i = 0; i < y._t; ++i) r_array[i + (int)x._t] = s_am(x, 0, y_array[i], r, (int)i, 0, (int)x._t); + r._s = 0; + r.clamp(); + if (_s != a._s) BigInteger.ZERO.subTo(r, r); + } + + // (protected) r = this^2, r != this (HAC 14.16) + private void squareTo(BigInteger r) + { + var x = this.abs(); + var x_array = x._array; + var r_array = r._array; + + int i = (int)(2 * x._t); + r._t = (int)i; + while (--i >= 0) r_array[i] = 0; + for (i = 0; i < x._t - 1; ++i) + { + var c = s_am(x, (int)i, x_array[i], r, (int)(2 * i), 0, 1); + if ((r_array[(int)i + x._t] += s_am(x, (int)(i + 1), 2 * x_array[i], r, (int)(2 * i + 1), c, (int)x._t - i - 1)) >= s_BI_DV) + { + r_array[(int)i + x._t] -= s_BI_DV; + r_array[(int)i + x._t + 1] = 1; + } + } + if (r._t > 0) r_array[r._t - 1] += s_am(x, (int)i, x_array[i], r, (int)(2 * i), 0, 1); + r._s = 0; + r.clamp(); + } + + // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20) + // r != q, this != m. q or r may be null. + private void divRemTo(BigInteger m, BigInteger q, BigInteger r) + { +#if TRACING + this.PrintArray("this"); +#endif + var pm = m.abs(); + if (pm._t <= 0) return; + var pt = this.abs(); +#if TRACING + pt.PrintArray("pt"); +#endif + if (pt._t < pm._t) + { + if (q != null) q.fromInt(0); + if (r != null) this.copyTo(r); + return; + } + if (r == null) r = nbi(); + var y = nbi(); var ts = _s; var ms = m._s; + var pm_array = pm._array; + int nsh = s_BI_DB - (int)nbits(pm_array[pm._t - 1]); // normalize modulus + if (nsh > 0) { pm.lShiftTo(nsh, y); pt.lShiftTo(nsh, r); } + else { pm.copyTo(y); pt.copyTo(r); } + int ys = y._t; + + var y_array = y._array; + double y0 = (double)y_array[ys - 1]; + if (y0 == 0) return; + double yt = (y0 * (double)((int)1 << s_BI_F1) + ((ys > 1) ? y_array[ys - 2] >> s_BI_F2 : 0)); + double d1 = ((double)s_BI_FV) / yt; + double d2 = ((double)(1 << s_BI_F1)) / yt; + var e = 1 << s_BI_F2; + int i = (int)r._t; int j = i - (int)ys; var t = (q == null) ? nbi() : q; + y.dLShiftTo(j, t); + +#if TRACING + Console.WriteLine("y is"); + for (int kk = 0; kk < y.array.Count; kk++) + Console.WriteLine("{0}", y.array[kk]); +#endif + + var r_array = r._array; + if (r.compareTo(t) >= 0) + { + r_array[r._t++] = 1; + r.subTo(t, r); + } + BigInteger.ONE.dLShiftTo((int)ys, t); + t.subTo(y, y); // "negative" y so we can replace sub with am later + while (y._t < ys) y_array[y._t++] = 0; + while (--j >= 0) + { + // Estimate quotient digit + int qd = (r_array[--i] == y0) ? s_BI_DM : + (int)Math.Floor((double)r_array[i] * d1 + ((double)(r_array[i - 1] + e)) * d2); + if ((r_array[i] += s_am(y, 0, qd, r, (int)j, 0, (int)ys)) < qd) + { // Try it out + y.dLShiftTo(j, t); + r.subTo(t, r); + while (r_array[i] < --qd) r.subTo(t, r); + } + } + if (q != null) + { + r.dRShiftTo((int)ys, q); + if (ts != ms) BigInteger.ZERO.subTo(q, q); + } + r._t = (int)ys; + r.clamp(); + if (nsh > 0) r.rShiftTo(nsh, r); // Denormalize remainder + if (ts < 0) BigInteger.ZERO.subTo(r, r); + } + + // (public) this mod a + public BigInteger mod(BigInteger a) + { + var r = nbi(); + this.abs().divRemTo(a, null, r); + if (_s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r); + return r; + } + + // Modular reduction using "classic" algorithm + public class ClassicReducer : Reducer + { + private BigInteger _m; + + public ClassicReducer(BigInteger m) { _m = m; } + + public void reduce(BigInteger x) { x.divRemTo(_m, null, x); } + + public override BigInteger convert(BigInteger x) + { + if (x._s < 0 || x.compareTo(_m) >= 0) return x.mod(_m); + else return x; + } + + public override BigInteger revert(BigInteger x) { return x; } + public override void mulTo(BigInteger x, BigInteger y, BigInteger r) { x.multiplyTo(y, r); this.reduce(r); } + public override void sqrTo(BigInteger x, BigInteger r) { x.squareTo(r); this.reduce(r); } + } + + // (protected) return "-1/this % 2^DB"; useful for Mont. reduction + // justification: + // xy == 1 (mod m) + // xy = 1+km + // xy(2-xy) = (1+km)(1-km) + // x[y(2-xy)] = 1-k^2m^2 + // x[y(2-xy)] == 1 (mod m^2) + // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2 + // should reduce x and y(2-xy) by m^2 at each step to keep size bounded. + // JS multiply "overflows" differently from C/C++, so care is needed here. + private int invDigit() + { + var this_array = _array; + if (_t < 1) return 0; + int x = (int)this_array[0]; + if ((x & 1) == 0) return 0; + int y = x & 3; // y == 1/x mod 2^2 + y = (y * (2 - (x & 0xf) * y)) & 0xf; // y == 1/x mod 2^4 + y = (y * (2 - (x & 0xff) * y)) & 0xff; // y == 1/x mod 2^8 + y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff; // y == 1/x mod 2^16 + // last step - calculate inverse mod DV directly; + // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints + y = (y * (2 - x * y % (int)s_BI_DV)) % (int)s_BI_DV; // y == 1/x mod 2^dbits + // we really want the negative inverse, and -DV < y < DV + return (y > 0) ? (int)s_BI_DV - y : -y; + } + + public abstract class Reducer + { + abstract public BigInteger convert(BigInteger x); + abstract public BigInteger revert(BigInteger x); + // DELETEME + // abstract public void reduce(BigInteger x); + abstract public void sqrTo(BigInteger x, BigInteger r); + abstract public void mulTo(BigInteger x, BigInteger y, BigInteger r); + }; + + private class MontgomeryReducer : Reducer + { + private BigInteger _m; + private int _mp; + private int _mpl; + private int _mph; + private int _um; + private int _mt2; + + public MontgomeryReducer(BigInteger m) + { + _m = m; + _mp = m.invDigit(); + _mpl = _mp & 0x7fff; + _mph = _mp >> 15; + _um = (1 << (s_BI_DB - 15)) - 1; + _mt2 = 2 * m._t; + } + + // xR mod m + public override BigInteger convert(BigInteger x) + { + var r = nbi(); + x.abs().dLShiftTo(_m._t, r); + r.divRemTo(_m, null, r); + if (x._s < 0 && r.compareTo(BigInteger.ZERO) > 0) _m.subTo(r, r); + return r; + } + + public override BigInteger revert(BigInteger x) + { + var r = nbi(); + x.copyTo(r); + this.reduce(r); + return r; + } + + // x = x/R mod m (HAC 14.32) + public void reduce(BigInteger x) + { + var x_array = x._array; + while (x._t <= _mt2) // pad x so am has enough room later + x_array[x._t++] = 0; + for (var i = 0; i < _m._t; ++i) + { + // faster way of calculating u0 = x[i]*mp mod DV + var j = x_array[i] & 0x7fff; + var u0 = (j * _mpl + (((j * _mph + (x_array[i] >> 15) * _mpl) & _um) << 15)) & s_BI_DM; + // use am to combine the multiply-shift-add into one call + j = i + _m._t; + x_array[j] += s_am(_m, 0, u0, x, i, 0, _m._t); + // propagate carry + while (x_array[j] >= s_BI_DV) { x_array[j] -= s_BI_DV; x_array[++j]++; } + } + x.clamp(); + x.dRShiftTo(_m._t, x); + if (x.compareTo(_m) >= 0) x.subTo(_m, x); + } + + // r = "x^2/R mod m"; x != r + public override void sqrTo(BigInteger x, BigInteger r) { x.squareTo(r); this.reduce(r); } + + // r = "xy/R mod m"; x,y != r + public override void mulTo(BigInteger x, BigInteger y, BigInteger r) + { + x.multiplyTo(y, r); this.reduce(r); + } + } + + + // (protected) true iff this is even + private bool isEven() + { + var this_array = _array; + return ((_t > 0) ? (int)(this_array[0] & 1) : _s) == 0; + } + + // (protected) this^e, e < 2^32, doing sqr and mul with "z" (HAC 14.79) + private BigInteger exp(uint e, Reducer z) + { + if (e > 0xffffffff || e < 1) return BigInteger.ONE; + var r = nbi(); var r2 = nbi(); var g = z.convert(this); int i = (int)nbits((int)e) - 1; + g.copyTo(r); + while (--i >= 0) + { + z.sqrTo(r, r2); + if ((e & (1 << i)) > 0) z.mulTo(r2, g, r); + else { var t = r; r = r2; r2 = t; } + } + return z.revert(r); + } + + // (public) this^e % m, 0 <= e < 2^32 + public BigInteger modPowInt(uint e, BigInteger m) + { + Reducer z; + if (e < 256 || m.isEven()) z = new ClassicReducer(m); else z = new MontgomeryReducer(m); + return this.exp(e, z); + } + + // "constants" + public static BigInteger ZERO = nbv(0); + public static BigInteger ONE = nbv(1); + + // Copyright (c) 2005 Tom Wu + // All Rights Reserved. + // See "LICENSE" for details. + + // Extended JavaScript BN functions, required for RSA private ops. + + // (public) + public BigInteger clone() { var r = nbi(); this.copyTo(r); return r; } + + // (public) return value as integer + public int intValue() + { + var this_array = _array; + if (_s < 0) + { + if (_t == 1) return (int)this_array[0] - (int)s_BI_DV; + else if (_t == 0) return -1; + } + else if (_t == 1) return (int)this_array[0]; + else if (_t == 0) return 0; + // assumes 16 < DB < 32 + // return ((this_array[1]&((1<<(32-BI_DB))-1))<> 24); + } + + // (public) return value as short (assumes DB>=16) + public ushort shortValue() + { + var this_array = _array; + return (_t == 0) ? (ushort)_s : (ushort)((this_array[0] << 16) >> 16); + } + + private static double s_LN2 = Math.Log(2.0); + + // (protected) return x s.t. r^x < DV + private int chunkSize(int r) { return (int)Math.Floor(s_LN2 * (double)s_BI_DB / Math.Log(r)); } + + // (public) 0 if this == 0, 1 if this > 0 + public int signum() + { + var this_array = _array; + if (_s < 0) return -1; + else if (_t <= 0 || (_t == 1 && this_array[0] <= 0)) return 0; + else return 1; + } + + private static String s_sdigits = "0123456789abcdefghijklmnopqrstuvwxyz"; + + private static String IntToString(int i, int radix) + { + if (radix == 10) + { + return i.ToString(); + } + else if (radix == 16) + { + return i.ToString("X"); + } + else + { + bool neg = false; + if (i < 0) + { + neg = true; i = -i; + } + String res = ""; + while (i != 0) + { + int digit = i % radix; + res = s_sdigits.Substring(digit, 1) + res; + i = i / radix; + } + if (neg) res = "-" + res; + return res; + } + } + + // (protected) convert to radix string + public String toRadix(int b) + { + // if (b == null) b = 10; + if (this.signum() == 0 || b < 2 || b > 36) return "0"; + var cs = this.chunkSize(b); + var a = (int)Math.Pow((double)b, (double)cs); + Console.WriteLine("a = {0}.", a); + var d = nbv(a); var y = nbi(); var z = nbi(); var r = ""; + Console.WriteLine("d.intValue = {0}.", d.intValue()); + this.divRemTo(d, y, z); + Console.WriteLine("y.signum = {0}", y.signum()); + Console.WriteLine("z.intValue = " + z.intValue()); + while (y.signum() > 0) + { + r = IntToString(a + z.intValue(), (int)b).Substring(1) + r; + y.divRemTo(d, y, z); + Console.WriteLine("y.signum = {0}", y.signum()); + Console.WriteLine("z.intValue = " + z.intValue()); + } + return IntToString(z.intValue(), (int)b) + r; + } + + private static int IntPow(int n, int p) + { + int res = 1; + for (int k = 1; k < p; k++) + { + res *= n; + } + return res; + } + + // (protected) convert from radix string + private void fromRadix(String s, int b) + { + this.fromInt(0); + var cs = this.chunkSize(b); + var d = IntPow(b, cs); bool mi = false; int j = 0; int w = 0; + for (int i = 0; i < s.Length; ++i) + { + int x = intAt(s, i); + if (x < 0) + { + if (s[(int)i] == '-' && this.signum() == 0) mi = true; + continue; + } + w = b * w + (int)x; + if (++j >= cs) + { + this.dMultiply(d); + this.dAddOffset(w, 0); + j = 0; + w = 0; + } + } + if (j > 0) + { + this.dMultiply(IntPow(b, j)); + this.dAddOffset(w, 0); + } + if (mi) BigInteger.ZERO.subTo(this, this); + } + + // (protected) alternate constructor + private void fromNumber(int a, int b, SecureRandom c) + { + if (a < 2) this.fromInt(1); + else + { + this.fromNumber(a, c); + if (!this.testBit(a - 1)) // force MSB set + this.bitwiseTo(BigInteger.ONE.shiftLeft((int)a - 1), op_or, this); + if (this.isEven()) this.dAddOffset(1, 0); // force odd + while (!this.isProbablePrime(b)) + { + this.dAddOffset(2, 0); + if (this.bitLength() > a) this.subTo(BigInteger.ONE.shiftLeft((int)a - 1), this); + } + } + } + + private void fromNumber(int a, SecureRandom b) + { + // new BigInteger(int,RNG) + byte[] x = new byte[(a >> 3) + 1]; + int t = (int)a & 7; + b.nextBytes(x); + if (t > 0) + x[0] &= (byte)((1 << (int)t) - 1); + else + x[0] = 0; + this.fromByteArray(x); + } + + // (public) convert to bigendian byte array + public byte[] toByteArray() + { + var this_array = _array; + int i = (int)_t; var r = new ListX(); + r[0] = (byte)_s; + int p = (int)s_BI_DB - (i * (int)s_BI_DB) % 8; + int d; int k = 0; + if (i-- > 0) + { + if (p < s_BI_DB && (d = this_array[i] >> p) != (_s & s_BI_DM) >> p) + r[k++] = (byte)(d | ((int)_s << (int)(s_BI_DB - p))); + while (i >= 0) + { + if (p < 8) + { + d = (this_array[i] & (((int)1 << p) - 1)) << (8 - p); + d |= this_array[--i] >> (p += s_BI_DB - 8); + } + else + { + d = (this_array[i] >> (p -= 8)) & 0xff; + if (p <= 0) { p += s_BI_DB; --i; } + } + if ((d & 0x80) != 0) d = (int)((int)d | -256); + if (k == 0 && (_s & 0x80) != (d & 0x80)) ++k; + if (k > 0 || d != _s) r[k++] = (byte)d; + } + } + return r.ToArray(); + } + + public bool Equals(BigInteger a) { return (this.compareTo(a) == 0); } + public BigInteger min(BigInteger a) { return (this.compareTo(a) < 0) ? this : a; } + public BigInteger max(BigInteger a) { return (this.compareTo(a) > 0) ? this : a; } + + // (protected) r = this op a (bitwise) + public delegate int BinOpInt(int x1, int x2); + + private void bitwiseTo(BigInteger a, BinOpInt op, BigInteger r) + { + var this_array = _array; + var a_array = a._array; + var r_array = r._array; + var m = Math.Min(a._t, _t); + for (int i = 0; i < m; ++i) r_array[i] = op(this_array[i], a_array[i]); + int f; + if (a._t < _t) + { + f = (int)a._s & s_BI_DM; + for (int i = m; i < _t; ++i) r_array[i] = op(this_array[i], f); + r._t = _t; + } + else + { + f = (int)_s & s_BI_DM; + for (int i = m; i < a._t; ++i) r_array[i] = op(f, a_array[i]); + r._t = a._t; + } + r._s = (int)op((int)_s, (int)a._s); + r.clamp(); + } + + // (public) this & a + private static int op_and(int x, int y) { return x & y; } + public BigInteger and(BigInteger a) { var r = nbi(); this.bitwiseTo(a, op_and, r); return r; } + + // (public) this | a + private static int op_or(int x, int y) { return x | y; } + public BigInteger or(BigInteger a) { var r = nbi(); this.bitwiseTo(a, op_or, r); return r; } + + // (public) this ^ a + private static int op_xor(int x, int y) { return x ^ y; } + public BigInteger xor(BigInteger a) { var r = nbi(); this.bitwiseTo(a, op_xor, r); return r; } + + // (public) this & ~a + private static int op_andnot(int x, int y) { return x & ~y; } + public BigInteger andNot(BigInteger a) { var r = nbi(); this.bitwiseTo(a, op_andnot, r); return r; } + + // (public) ~this + public BigInteger not() + { + var this_array = _array; + var r = nbi(); + var r_array = r._array; + + for (var i = 0; i < _t; ++i) r_array[i] = s_BI_DM & ~this_array[i]; + r._t = _t; + r._s = ~_s; + return r; + } + + // (public) this << n + public BigInteger shiftLeft(int n) + { + var r = nbi(); + if (n < 0) this.rShiftTo(-n, r); else this.lShiftTo(n, r); + return r; + } + + // (public) this >> n + public BigInteger shiftRight(int n) + { + var r = nbi(); + if (n < 0) this.lShiftTo(-n, r); else this.rShiftTo(n, r); + return r; + } + + // return index of lowest 1-bit in x, x < 2^31 (-1 for no set bits) + public static int lbit(int x) + { + if (x == 0) return -1; + int r = 0; + if ((x & 0xffff) == 0) { x >>= 16; r += 16; } + if ((x & 0xff) == 0) { x >>= 8; r += 8; } + if ((x & 0xf) == 0) { x >>= 4; r += 4; } + if ((x & 3) == 0) { x >>= 2; r += 2; } + if ((x & 1) == 0) ++r; + return r; + } + + // (public) returns index of lowest 1-bit (or -1 if none) + public int getLowestSetBit() + { + var this_array = _array; + for (var i = 0; i < _t; ++i) + if (this_array[i] != 0) return i * s_BI_DB + lbit(this_array[i]); + if (_s < 0) return (int)_t * s_BI_DB; + return -1; + } + + // return number of 1 bits in x + private static int cbit(int x) + { + int r = 0; + while (x != 0) { x &= x - 1; ++r; } + return r; + } + + // (public) return number of set bits + public int bitCount() + { + int r = 0; + int x = (int)_s & s_BI_DM; + for (int i = 0; i < _t; ++i) r += cbit(_array[i] ^ x); + return r; + } + + // (public) true iff nth bit is set + public bool testBit(int n) + { + var this_array = _array; + int j = n / (int)s_BI_DB; + if (j >= _t) return (_s != 0); + return ((this_array[j] & ((int)1 << (int)(n % s_BI_DB))) != 0); + } + + // (protected) this op (1<>= s_BI_DB; + } + if (a._t < _t) + { + c += (int)a._s; + while (i < _t) + { + c += this_array[i]; + r_array[i++] = c & s_BI_DM; + c >>= s_BI_DB; + } + c += (int)_s; + } + else + { + c += (int)_s; + while (i < a._t) + { + c += a_array[i]; + r_array[i++] = c & s_BI_DM; + c >>= s_BI_DB; + } + c += (int)a._s; + } + r._s = (c < 0) ? -1 : 0; + if (c > 0) r_array[i++] = c; + else if (c < -1) r_array[i++] = s_BI_DV + c; + r._t = i; + r.clamp(); + } + + // (public) this + a + public BigInteger add(BigInteger a) { var r = nbi(); this.addTo(a, r); return r; } + + // (public) this - a + public BigInteger subtract(BigInteger a) { var r = nbi(); this.subTo(a, r); return r; } + + // (public) this * a + public BigInteger multiply(BigInteger a) { var r = nbi(); this.multiplyTo(a, r); return r; } + + // (public) this / a + public BigInteger divide(BigInteger a) { var r = nbi(); this.divRemTo(a, r, null); return r; } + + // (public) this % a + public BigInteger remainder(BigInteger a) { var r = nbi(); this.divRemTo(a, null, r); return r; } + + public struct BigIntPair + { + public BigInteger p1; + public BigInteger p2; + public BigIntPair(BigInteger p1, BigInteger p2) { this.p1 = p1; this.p2 = p2; } + } + // (public) [this/a,this%a] + public BigIntPair divideAndRemainder(BigInteger a) + { + var q = nbi(); var r = nbi(); + this.divRemTo(a, q, r); + return new BigIntPair(q, r); + } + + // (protected) this *= n, this >= 0, 1 < n < DV + private void dMultiply(int n) + { + var this_array = _array; + this_array[_t] = s_am(this, 0, n - 1, this, 0, 0, _t); + ++_t; + this.clamp(); + } + + // (protected) this += n << w words, this >= 0 + private void dAddOffset(int n, int w) + { + var this_array = _array; + while (_t <= w) this_array[_t++] = 0; + this_array[w] += n; + while (this_array[w] >= s_BI_DV) + { + this_array[w] -= s_BI_DV; + if (++w >= _t) this_array[_t++] = 0; + ++this_array[w]; + } + } + + private class NullReducer : Reducer + { + public NullReducer() { } + + + public override BigInteger convert(BigInteger x) { return x; } + public override BigInteger revert(BigInteger x) { return x; } + public override void mulTo(BigInteger x, BigInteger y, BigInteger r) { x.multiplyTo(y, r); } + public override void sqrTo(BigInteger x, BigInteger r) { x.squareTo(r); } + } + + // (public) this^e + // public BigInteger pow(BigInteger e) { return this.exp(e,new NullReducer()); } + + // (protected) r = lower n words of "this * a", a.t <= n + // "this" should be the larger one if appropriate. + private void multiplyLowerTo(BigInteger a, int n, BigInteger r) + { + var r_array = r._array; + var a_array = a._array; + var i = Math.Min(_t + a._t, n); + r._s = 0; // assumes a,this >= 0 + r._t = i; + while (i > 0) r_array[--i] = 0; + for (int j = r._t - _t; i < j; ++i) r_array[i + _t] = s_am(this, 0, a_array[i], r, i, 0, _t); + for (int j = Math.Min(a._t, n); i < j; ++i) s_am(this, 0, a_array[i], r, i, 0, n - i); + r.clamp(); + } + + // (protected) r = "this * a" without lower n words, n > 0 + // "this" should be the larger one if appropriate. + public void multiplyUpperTo(BigInteger a, int n, BigInteger r) + { + var r_array = r._array; + var a_array = a._array; + --n; + int i = r._t = _t + a._t - n; + r._s = 0; // assumes a,this >= 0 + while (--i >= 0) r_array[i] = 0; + for (i = Math.Max(n - _t, 0); i < a._t; ++i) + r_array[_t + i - n] = s_am(this, n - i, a_array[i], r, 0, 0, _t + i - n); + r.clamp(); + r.dRShiftTo(1, r); + } + + // Barrett modular reduction + public class BarrettReducer : Reducer + { + private BigInteger _r2; + private BigInteger _q3; + private BigInteger _mu; + private BigInteger _m; + + public BarrettReducer(BigInteger m) + { + // setup Barrett + _r2 = nbi(); + _q3 = nbi(); + BigInteger.ONE.dLShiftTo(2 * m._t, _r2); + _mu = _r2.divide(m); + _m = m; + } + + public override BigInteger convert(BigInteger x) + { + if (x._s < 0 || x._t > 2 * _m._t) return x.mod(_m); + else if (x.compareTo(_m) < 0) return x; + else { var r = nbi(); x.copyTo(r); this.reduce(r); return r; } + } + + public override BigInteger revert(BigInteger x) { return x; } + + // x = x mod m (HAC 14.42) + public void reduce(BigInteger x) + { + x.dRShiftTo(_m._t - 1, _r2); + if (x._t > _m._t + 1) { x._t = _m._t + 1; x.clamp(); } + _mu.multiplyUpperTo(_r2, _m._t + 1, _q3); + _m.multiplyLowerTo(_q3, _m._t + 1, _r2); + while (x.compareTo(_r2) < 0) x.dAddOffset(1, _m._t + 1); + x.subTo(_r2, x); + while (x.compareTo(_m) >= 0) x.subTo(_m, x); + } + + // r = x^2 mod m; x != r + public override void sqrTo(BigInteger x, BigInteger r) { x.squareTo(r); this.reduce(r); } + + // r = x*y mod m; x,y != r + public override void mulTo(BigInteger x, BigInteger y, BigInteger r) { x.multiplyTo(y, r); this.reduce(r); } + } + + // (public) this^e % m (HAC 14.85) + public BigInteger modPow(BigInteger e, BigInteger m) + { + var e_array = e._array; + var i = e.bitLength(); int k; BigInteger r = nbv(1); Reducer z; + if (i <= 0) return r; + else if (i < 18) k = 1; + else if (i < 48) k = 3; + else if (i < 144) k = 4; + else if (i < 768) k = 5; + else k = 6; + if (i < 8) + z = new ClassicReducer(m); + else if (m.isEven()) + z = new BarrettReducer(m); + else + z = new MontgomeryReducer(m); + + // precomputation + var g = new ListX(); + int n = 3; + int k1 = k - 1; + int km = (1 << k) - 1; + g[1] = z.convert(this); + if (k > 1) + { + var g2 = nbi(); + z.sqrTo(g[1], g2); + while (n <= km) + { + g[n] = nbi(); + z.mulTo(g2, g[n - 2], g[n]); + n += 2; + } + } + + int j = e._t - 1; int w; bool is1 = true; BigInteger r2 = nbi(); BigInteger t; + i = nbits(e_array[j]) - 1; + while (j >= 0) + { + if (i >= k1) w = (e_array[j] >> (i - k1)) & km; + else + { + w = (e_array[j] & ((1 << (i + 1)) - 1)) << (k1 - i); + if (j > 0) w |= e_array[j - 1] >> (s_BI_DB + i - k1); + } + + n = k; + while ((w & 1) == 0) { w >>= 1; --n; } + if ((i -= n) < 0) { i += s_BI_DB; --j; } + if (is1) + { // ret == 1, don't bother squaring or multiplying it + g[w].copyTo(r); + is1 = false; + } + else + { + while (n > 1) { z.sqrTo(r, r2); z.sqrTo(r2, r); n -= 2; } + if (n > 0) z.sqrTo(r, r2); else { t = r; r = r2; r2 = t; } + z.mulTo(r2, g[w], r); + } + + while (j >= 0 && (e_array[j] & (1 << i)) == 0) + { + z.sqrTo(r, r2); t = r; r = r2; r2 = t; + if (--i < 0) { i = s_BI_DB - 1; --j; } + } + } + return z.revert(r); + } + + // (public) gcd(this,a) (HAC 14.54) + public BigInteger gcd(BigInteger a) + { + var x = (_s < 0) ? this.negate() : this.clone(); + var y = (a._s < 0) ? a.negate() : a.clone(); + if (x.compareTo(y) < 0) { var t = x; x = y; y = t; } + var i = x.getLowestSetBit(); var g = y.getLowestSetBit(); + if (g < 0) return x; + if (i < g) g = i; + if (g > 0) + { + x.rShiftTo(g, x); + y.rShiftTo(g, y); + } + while (x.signum() > 0) + { + if ((i = x.getLowestSetBit()) > 0) x.rShiftTo(i, x); + if ((i = y.getLowestSetBit()) > 0) y.rShiftTo(i, y); + if (x.compareTo(y) >= 0) + { + x.subTo(y, x); + x.rShiftTo(1, x); + } + else + { + y.subTo(x, y); + y.rShiftTo(1, y); + } + } + if (g > 0) y.lShiftTo(g, y); + return y; + } + + // (protected) this % n, n < 2^26 + private int modInt(int n) + { + var this_array = _array; + if (n <= 0) return 0; + var d = s_BI_DV % n; int r = (_s < 0) ? n - 1 : 0; + if (_t > 0) + if (d == 0) r = this_array[0] % n; + else for (var i = _t - 1; i >= 0; --i) r = (d * r + this_array[i]) % n; + return r; + } + + // (public) 1/this % m (HAC 14.61) + public BigInteger modInverse(BigInteger m) + { + var ac = m.isEven(); + if ((this.isEven() && ac) || m.signum() == 0) return BigInteger.ZERO; + var u = m.clone(); var v = this.clone(); + var a = nbv(1); var b = nbv(0); var c = nbv(0); var d = nbv(1); + while (u.signum() != 0) + { + while (u.isEven()) + { + u.rShiftTo(1, u); + if (ac) + { + if (!a.isEven() || !b.isEven()) { a.addTo(this, a); b.subTo(m, b); } + a.rShiftTo(1, a); + } + else if (!b.isEven()) b.subTo(m, b); + b.rShiftTo(1, b); + } + while (v.isEven()) + { + v.rShiftTo(1, v); + if (ac) + { + if (!c.isEven() || !d.isEven()) { c.addTo(this, c); d.subTo(m, d); } + c.rShiftTo(1, c); + } + else if (!d.isEven()) d.subTo(m, d); + d.rShiftTo(1, d); + } + if (u.compareTo(v) >= 0) + { + u.subTo(v, u); + if (ac) a.subTo(c, a); + b.subTo(d, b); + } + else + { + v.subTo(u, v); + if (ac) c.subTo(a, c); + d.subTo(b, d); + } + } + if (v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO; + if (d.compareTo(m) >= 0) return d.subtract(m); + if (d.signum() < 0) d.addTo(m, d); else return d; + if (d.signum() < 0) return d.add(m); else return d; + } + + private static int[] s_lowprimes = new int[] { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509 }; + private static int s_lplim = (1 << 26) / s_lowprimes[s_lowprimes.Length - 1]; + + // (public) test primality with certainty >= 1-.5^t + public bool isProbablePrime(int t) + { + int i; var x = this.abs(); + var x_array = x._array; + if (x._t == 1 && x_array[0] <= s_lowprimes[s_lowprimes.Length - 1]) + { + for (i = 0; i < s_lowprimes.Length; ++i) + if (x_array[0] == s_lowprimes[i]) return true; + return false; + } + if (x.isEven()) return false; + i = 1; + while (i < s_lowprimes.Length) + { + var m = s_lowprimes[i]; var j = i + 1; + while (j < s_lowprimes.Length && m < s_lplim) m *= s_lowprimes[j++]; + m = x.modInt(m); + while (i < j) if (m % s_lowprimes[i++] == 0) return false; + } + return x.millerRabin(t); + } + + // (protected) true if probably prime (HAC 4.24, Miller-Rabin) + private bool millerRabin(int t) + { + var n1 = this.subtract(BigInteger.ONE); + var k = n1.getLowestSetBit(); + if (k <= 0) return false; + var r = n1.shiftRight(k); + t = (t + 1) >> 1; + if (t > s_lowprimes.Length) t = s_lowprimes.Length; + var a = nbi(); + for (var i = 0; i < t; ++i) + { + a.fromInt(s_lowprimes[i]); + var y = a.modPow(r, this); + if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) + { + var j = 1; + while (j++ < k && y.compareTo(n1) != 0) + { + y = y.modPowInt(2, this); + if (y.compareTo(BigInteger.ONE) == 0) return false; + } + if (y.compareTo(n1) != 0) return false; + } + } + return true; + } + + public void PrintArray(String nm) + { + for (int kk = 0; kk < _array.Count; kk++) Console.WriteLine(" {0}.array[{1}] = {2}", nm, kk, _array[kk]); + } + + // BigInteger interfaces not implemented in jsbn: + + // BigInteger(int signum, byte[] magnitude) + // double doubleValue() + // float floatValue() + // int hashCode() + // long longValue() + // static BigInteger valueOf(long val) + // prng4.js - uses Arcfour as a PRNG + } + + internal abstract class RNG + { + abstract public void init(int[] key); + abstract public int next(); + } + + internal class Arcfour : RNG + { + private int _i; + private int _j; + private int[] _S; + + public Arcfour() + { + _i = 0; + _j = 0; + _S = new int[256]; + } + + // Initialize arcfour context from key, an array of ints, each from [0..255] + public override void init(int[] key) + { + for (int i = 0; i < 256; ++i) + _S[i] = i; + int j = 0; + for (int i = 0; i < 256; ++i) + { + j = (j + _S[i] + key[i % key.Length]) & 255; + int t = _S[i]; + _S[i] = _S[j]; + _S[j] = t; + } + _i = 0; + _j = 0; + } + + public override int next() + { + _i = (_i + 1) & 255; + _j = (_j + _S[_i]) & 255; + int t = _S[_i]; + _S[_i] = _S[_j]; + _S[_j] = t; + return _S[(t + _S[_i]) & 255]; + } + } + + internal class SecureRandom + { + // Pool size must be a multiple of 4 and greater than 32. + // An array of bytes the size of the pool will be passed to init() + private const int rng_psize = 256; + + // Random number generator - requires a PRNG backend, e.g. prng4.js + + // For best results, put code like + // + // in your main HTML document. + + private RNG _rng_state; + private int[] _rng_pool; + private int _rng_pptr; + + public SecureRandom() + { + _rng_pool = new int[rng_psize]; + _rng_pptr = 0; +#if USE_RANDOM_SEED + Random rnd = new Random(); +#endif + while (_rng_pptr < rng_psize) + { // extract some randomness from Math.random() +#if USE_RANDOM_SEED + int t = (int)Math.Floor(65536.0 * rnd.NextDouble()); +#else + int t = 1000; +#endif + _rng_pool[_rng_pptr++] = (int)((uint)t >> 8); + _rng_pool[_rng_pptr++] = t & 255; + } + _rng_pptr = 0; + rng_seed_time(); + } + + // Mix in a 32-bit integer into the pool + private void rng_seed_int(int x) + { + _rng_pool[_rng_pptr++] ^= x & 255; + _rng_pool[_rng_pptr++] ^= (x >> 8) & 255; + _rng_pool[_rng_pptr++] ^= (x >> 16) & 255; + _rng_pool[_rng_pptr++] ^= (x >> 24) & 255; + if (_rng_pptr >= rng_psize) _rng_pptr -= rng_psize; + } + + // Mix in the current time (w/milliseconds) into the pool + private void rng_seed_time() + { +#if USE_RANDOM_SEED + rng_seed_int((int)(new DateTime().Ticks)); +#endif + } + + + // Plug in your RNG constructor here + private RNG prng_newstate() + { + return new Arcfour(); + } + + private byte rng_get_byte() + { + if (_rng_state == null) + { + rng_seed_time(); + _rng_state = prng_newstate(); + _rng_state.init(_rng_pool); + for (_rng_pptr = 0; _rng_pptr < _rng_pool.Length; ++_rng_pptr) + _rng_pool[_rng_pptr] = 0; + _rng_pptr = 0; + //rng_pool = null; + } + // TODO: allow reseeding after first request + return (byte)_rng_state.next(); + } + + public void nextBytes(byte[] ba) + { + for (int i = 0; i < ba.Length; ++i) ba[i] = rng_get_byte(); + } + } + + internal class RSAKey + { + private BigInteger _n; + private int _e; + private BigInteger _d; + private BigInteger _p; + private BigInteger _q; + private BigInteger _dmp1; + private BigInteger _dmq1; + private BigInteger _coeff; + + // "empty" RSA key constructor + public RSAKey() + { + _n = null; + _e = 0; + _d = null; + _p = null; + _q = null; + _dmp1 = null; + _dmq1 = null; + _coeff = null; + } + + // convert a (hex) string to a bignum object + private static BigInteger parseBigInt(String str, int r) + { + return new BigInteger(str, r); + } + + private static String linebrk(String s, int n) + { + var ret = ""; + var i = 0; + while (i + n < s.Length) + { + ret += s.Substring(i, i + n) + "\n"; + i += n; + } + return ret + s.Substring(i, s.Length); + } + + private static String byte2Hex(byte b) + { + if (b < 0x10) + return "0" + b.ToString("X"); + else + return b.ToString("X"); + } + + // PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint + private static BigInteger pkcs1pad2(String s, int n) + { + if (n < s.Length + 11) + { + throw new ArgumentException("Message too long for RSA"); + } + var ba = new byte[n]; + var i = s.Length - 1; + while (i >= 0 && n > 0) ba[--n] = (byte)s[i--]; + ba[--n] = 0; + var rng = new SecureRandom(); + byte[] x = new byte[1]; + while (n > 2) + { // random non-zero pad + x[0] = 0; + while (x[0] == 0) rng.nextBytes(x); + ba[--n] = x[0]; + } + ba[--n] = 2; + ba[--n] = 0; + // for (int k = 0; k < ba.Length; k++) Console.WriteLine("ba[{0}] = {1}", k, (int)ba[k]); + return new BigInteger(ba); + } + + // Set the public key fields N and e from hex strings + public void setPublic(String N, String E) + { + if (N != null && E != null && N.Length > 0 && E.Length > 0) + { + _n = parseBigInt(N, 16); + _e = Int32.Parse(E, NumberStyles.HexNumber); + } + else + throw new ArgumentException("Invalid RSA public key"); + } + + // Perform raw public operation on "x": return x^e (mod n) + private BigInteger doPublic(BigInteger x) + { + return x.modPowInt((uint)_e, _n); + } + + // Return the PKCS#1 RSA encryption of "text" as an even-length hex string + public String encrypt(String text) + { + var m = pkcs1pad2(text, (_n.bitLength() + 7) >> 3); +#if TRACING + m.PrintArray("m"); + Console.WriteLine(m.toString(10)); +#endif + if (m == null) return null; + var c = this.doPublic(m); + if (c == null) return null; + var h = c.toString(16); + if ((h.Length & 1) == 0) return h; else return "0" + h; + } + + // Return the PKCS#1 RSA encryption of "text" as a Base64-encoded string + //function RSAEncryptB64(text) { + // var h = this.encrypt(text); + // if(h) return hex2b64(h); else return null; + //} + + // Undo PKCS#1 (type 2, random) padding and, if valid, return the plaintext + private String pkcs1unpad2(BigInteger d, int n) + { + var b = d.toByteArray(); + var i = 0; + while (i < b.Length && b[i] == 0) ++i; + if (b.Length - i != n - 1 || b[i] != 2) + return null; + ++i; + while (b[i] != 0) + if (++i >= b.Length) return null; + var ret = ""; + char[] oneChar = new char[1]; + while (++i < b.Length) + { + oneChar[0] = (char)b[i]; + ret += new String(oneChar); + } + return ret; + } + + // Set the private key fields N, e, and d from hex strings + private void setPrivate(String N, String E, String D) + { + if (N != null && E != null && N.Length > 0 && E.Length > 0) + { + _n = parseBigInt(N, 16); + _e = Int32.Parse(E, NumberStyles.HexNumber); + _d = parseBigInt(D, 16); + } + else + throw new ArgumentException("Invalid RSA private key"); + } + + // Set the private key fields N, e, d and CRT params from hex strings + public void setPrivateEx(String N, + String E, + String D, + String P, + String Q, + String DP, + String DQ, + String C) + { + if (N != null && E != null && N.Length > 0 && E.Length > 0) + { + _n = parseBigInt(N, 16); + _e = Int32.Parse(E, NumberStyles.HexNumber); + _d = parseBigInt(D, 16); + _p = parseBigInt(P, 16); + _q = parseBigInt(Q, 16); + _dmp1 = parseBigInt(DP, 16); + _dmq1 = parseBigInt(DQ, 16); + _coeff = parseBigInt(C, 16); + } + else + throw new ArgumentException("Invalid RSA private key"); + } + + // Generate a new random private key B bits long, using public expt E + private void generate(int B, String E) + { + var rng = new SecureRandom(); + var qs = B >> 1; + _e = Int32.Parse(E, NumberStyles.HexNumber); + var ee = new BigInteger(E, 16); + for (; ;) + { + for (; ;) + { + _p = new BigInteger(B - qs, 1, rng); + if (_p.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && _p.isProbablePrime(10)) break; + } + for (; ;) + { + _q = new BigInteger(qs, 1, rng); + if (_q.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && _q.isProbablePrime(10)) break; + } + if (_p.compareTo(_q) <= 0) + { + var t = _p; + _p = _q; + _q = t; + } + var p1 = _p.subtract(BigInteger.ONE); + var q1 = _q.subtract(BigInteger.ONE); + var phi = p1.multiply(q1); + if (phi.gcd(ee).compareTo(BigInteger.ONE) == 0) + { + _n = _p.multiply(_q); + _d = ee.modInverse(phi); + _dmp1 = _d.mod(p1); + _dmq1 = _d.mod(q1); + _coeff = _q.modInverse(_p); + break; + } + } + } + + // Perform raw private operation on "x": return x^d (mod n) + private BigInteger doPrivate(BigInteger x) + { + if (_p == null || _q == null) + return x.modPow(_d, _n); + + // TODO: re-calculate any missing CRT params + var xp = x.mod(_p).modPow(_dmp1, _p); + var xq = x.mod(_q).modPow(_dmq1, _q); + + while (xp.compareTo(xq) < 0) + xp = xp.add(_p); + return xp.subtract(xq).multiply(_coeff).mod(_p).multiply(_q).add(xq); + } + + // Return the PKCS#1 RSA decryption of "ctext". + // "ctext" is an even-length hex string and the output is a plain string. + public String decrypt(String ctext) + { + var c = parseBigInt(ctext, 16); + var m = this.doPrivate(c); + if (m == null) return null; + return pkcs1unpad2(m, (_n.bitLength() + 7) >> 3); + } + } +} + diff --git a/src/benchmarks/coreclr/V8/Crypto/THIRD-PARTY-NOTICES b/src/benchmarks/coreclr/V8/Crypto/THIRD-PARTY-NOTICES new file mode 100644 index 00000000000..10aab05ff77 --- /dev/null +++ b/src/benchmarks/coreclr/V8/Crypto/THIRD-PARTY-NOTICES @@ -0,0 +1,41 @@ +.NET Core uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Core software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for V8.Crypto +---------------------------- + + Copyright (c) 2003-2005 Tom Wu + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, + EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY + WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + + IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, + INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER + RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF + THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT + OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + In addition, the following condition applies: + + All redistributions must retain an intact copy of this copyright notice + and disclaimer. diff --git a/src/benchmarks/coreclr/V8/Richards/Richards.cs b/src/benchmarks/coreclr/V8/Richards/Richards.cs new file mode 100644 index 00000000000..72740560caa --- /dev/null +++ b/src/benchmarks/coreclr/V8/Richards/Richards.cs @@ -0,0 +1,715 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// +// This is a C# implementation of the Richards benchmark from: +// +// http://www.cl.cam.ac.uk/~mr10/Bench.html +// +// The benchmark was originally implemented in BCPL by Martin Richards. + +#define INTF_FOR_TASK + +using System; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +// using System.Diagnostics; +// using System.Text.RegularExpressions; + +namespace V8.Richards +{ + /// + /// Support is used for a place to generate any 'miscellaneous' methods generated as part + /// of code generation, (which do not have user-visible names) + /// + [BenchmarkCategory(Categories.CoreCLR, Categories.V8)] + public class Support + { + public static bool runRichards() + { + Scheduler scheduler = new Scheduler(); + scheduler.addIdleTask(ID_IDLE, 0, null, COUNT); + Packet queue = new Packet(null, ID_WORKER, KIND_WORK); + queue = new Packet(queue, ID_WORKER, KIND_WORK); + scheduler.addWorkerTask(ID_WORKER, 1000, queue); + + queue = new Packet(null, ID_DEVICE_A, KIND_DEVICE); + queue = new Packet(queue, ID_DEVICE_A, KIND_DEVICE); + queue = new Packet(queue, ID_DEVICE_A, KIND_DEVICE); + scheduler.addHandlerTask(ID_HANDLER_A, 2000, queue); + + queue = new Packet(null, ID_DEVICE_B, KIND_DEVICE); + queue = new Packet(queue, ID_DEVICE_B, KIND_DEVICE); + queue = new Packet(queue, ID_DEVICE_B, KIND_DEVICE); + scheduler.addHandlerTask(ID_HANDLER_B, 3000, queue); + + scheduler.addDeviceTask(ID_DEVICE_A, 4000, null); + scheduler.addDeviceTask(ID_DEVICE_B, 5000, null); + scheduler.schedule(); + + return ((scheduler.queueCount == EXPECTED_QUEUE_COUNT) + && (scheduler.holdCount == EXPECTED_HOLD_COUNT)); + } + + public const int COUNT = 1000; + + /** + * These two constants specify how many times a packet is queued and + * how many times a task is put on hold in a correct run of richards. + * They don't have any meaning a such but are characteristic of a + * correct run so if the actual queue or hold count is different from + * the expected there must be a bug in the implementation. + **/ + public const int EXPECTED_QUEUE_COUNT = 2322; + public const int EXPECTED_HOLD_COUNT = 928; + + public const int ID_IDLE = 0; + public const int ID_WORKER = 1; + public const int ID_HANDLER_A = 2; + public const int ID_HANDLER_B = 3; + public const int ID_DEVICE_A = 4; + public const int ID_DEVICE_B = 5; + public const int NUMBER_OF_IDS = 6; + + public const int KIND_DEVICE = 0; + public const int KIND_WORK = 1; + + /** + * The task is running and is currently scheduled. + */ + public const int STATE_RUNNING = 0; + + /** + * The task has packets left to process. + */ + public const int STATE_RUNNABLE = 1; + + /** + * The task is not currently running. The task is not blocked as such and may + * be started by the scheduler. + */ + public const int STATE_SUSPENDED = 2; + + /** + * The task is blocked and cannot be run until it is explicitly released. + */ + public const int STATE_HELD = 4; + + public const int STATE_SUSPENDED_RUNNABLE = STATE_SUSPENDED | STATE_RUNNABLE; + public const int STATE_NOT_HELD = ~STATE_HELD; + + /* --- * + * P a c k e t + * --- */ + + public const int DATA_SIZE = 4; + + [Benchmark(Description = nameof(Richards))] + public bool Bench() => runRichards(); + } + + internal class Scheduler + { + public int queueCount; + public int holdCount; + public TaskControlBlock[] blocks; + public TaskControlBlock list; + public TaskControlBlock currentTcb; + public int currentId; + + public Scheduler() + { + this.queueCount = 0; + this.holdCount = 0; + this.blocks = new TaskControlBlock[Support.NUMBER_OF_IDS]; + this.list = null; + this.currentTcb = null; + this.currentId = 0; + } + + /** + * Add an idle task to this scheduler. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + * @param {int} count the number of times to schedule the task + */ + public void addIdleTask(int id, int priority, Packet queue, int count) + { + this.addRunningTask(id, priority, queue, + new IdleTask(this, 1, count)); + } + + /** + * Add a work task to this scheduler. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + */ + public void addWorkerTask(int id, int priority, Packet queue) + { + this.addTask(id, priority, queue, + new WorkerTask(this, Support.ID_HANDLER_A, 0)); + } + + /** + * Add a handler task to this scheduler. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + */ + public void addHandlerTask(int id, int priority, Packet queue) + { + this.addTask(id, priority, queue, new HandlerTask(this)); + } + + /** + * Add a handler task to this scheduler. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + */ + public void addDeviceTask(int id, int priority, Packet queue) + { + this.addTask(id, priority, queue, new DeviceTask(this)); + } + + /** + * Add the specified task and mark it as running. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + * @param {Task} task the task to add + */ + public void addRunningTask(int id, int priority, Packet queue, Task task) + { + this.addTask(id, priority, queue, task); + this.currentTcb.setRunning(); + } + + /** + * Add the specified task to this scheduler. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + * @param {Task} task the task to add + */ + public void addTask(int id, int priority, Packet queue, Task task) + { + this.currentTcb = new TaskControlBlock(this.list, id, priority, queue, task); + this.list = this.currentTcb; + this.blocks[id] = this.currentTcb; + } + + /** + * Execute the tasks managed by this scheduler. + */ + public void schedule() + { + this.currentTcb = this.list; +#if TRACEIT + int kkk = 0; +#endif + while (this.currentTcb != null) + { +#if TRACEIT + Console.WriteLine("kkk = {0}", kkk); kkk++; +#endif + if (this.currentTcb.isHeldOrSuspended()) + { +#if TRACEIT + Console.WriteLine("held"); +#endif + this.currentTcb = this.currentTcb.link; + } + else + { + this.currentId = this.currentTcb.id; +#if TRACEIT + Console.WriteLine("currentId is now...{0}", this.currentId.ToString()); +#endif + this.currentTcb = this.currentTcb.run(); + } + } + } + + /** + * Release a task that is currently blocked and return the next block to run. + * @param {int} id the id of the task to suspend + */ + public TaskControlBlock release(int id) + { + TaskControlBlock tcb = this.blocks[id]; + if (tcb == null) return tcb; + tcb.markAsNotHeld(); + if (tcb.priority >= this.currentTcb.priority) + { + return tcb; + } + else + { + return this.currentTcb; + } + } + + /** + * Block the currently executing task and return the next task control block + * to run. The blocked task will not be made runnable until it is explicitly + * released, even if new work is added to it. + */ + public TaskControlBlock holdCurrent() + { + this.holdCount++; + this.currentTcb.markAsHeld(); + return this.currentTcb.link; + } + + /** + * Suspend the currently executing task and return the next task control block + * to run. If new work is added to the suspended task it will be made runnable. + */ + public TaskControlBlock suspendCurrent() + { + this.currentTcb.markAsSuspended(); + return this.currentTcb; + } + + /** + * Add the specified packet to the end of the worklist used by the task + * associated with the packet and make the task runnable if it is currently + * suspended. + * @param {Packet} packet the packet to add + */ + public TaskControlBlock queue(Packet packet) + { + TaskControlBlock t = this.blocks[packet.id]; + if (t == null) return t; + this.queueCount++; + packet.link = null; + packet.id = this.currentId; + return t.checkPriorityAdd(this.currentTcb, packet); + } + } + + /** + * A task control block manages a task and the queue of work packages associated + * with it. + * @param {TaskControlBlock} link the preceding block in the linked block list + * @param {int} id the id of this block + * @param {int} priority the priority of this block + * @param {Packet} queue the queue of packages to be processed by the task + * @param {Task} task the task + * @constructor + */ + public class TaskControlBlock + { + public TaskControlBlock link; + public int id; + public int priority; + public Packet queue; + public Task task; + public int state; + + public TaskControlBlock(TaskControlBlock link, int id, int priority, + Packet queue, Task task) + { + this.link = link; + this.id = id; + this.priority = priority; + this.queue = queue; + this.task = task; + if (queue == null) + { + this.state = Support.STATE_SUSPENDED; + } + else + { + this.state = Support.STATE_SUSPENDED_RUNNABLE; + } + } + + public void setRunning() + { + this.state = Support.STATE_RUNNING; + } + + public void markAsNotHeld() + { + this.state = this.state & Support.STATE_NOT_HELD; + } + + public void markAsHeld() + { + this.state = this.state | Support.STATE_HELD; + } + + public bool isHeldOrSuspended() + { + return ((this.state & Support.STATE_HELD) != 0) || (this.state == Support.STATE_SUSPENDED); + } + + public void markAsSuspended() + { + this.state = this.state | Support.STATE_SUSPENDED; + } + + public void markAsRunnable() + { + this.state = this.state | Support.STATE_RUNNABLE; + } + + /** + * Runs this task, if it is ready to be run, and returns the next task to run. + */ + public TaskControlBlock run() + { + Packet packet; +#if TRACEIT + Console.WriteLine(" TCB::run, state = {0}", this.state); +#endif + if (this.state == Support.STATE_SUSPENDED_RUNNABLE) + { + packet = this.queue; + this.queue = packet.link; + if (this.queue == null) + { + this.state = Support.STATE_RUNNING; + } + else + { + this.state = Support.STATE_RUNNABLE; + } +#if TRACEIT + Console.WriteLine(" State is now {0}", this.state); +#endif + } + else + { +#if TRACEIT + Console.WriteLine(" TCB::run, setting packet = Null."); +#endif + packet = null; + } + return this.task.run(packet); + } + + /** + * Adds a packet to the worklist of this block's task, marks this as runnable if + * necessary, and returns the next runnable object to run (the one + * with the highest priority). + */ + public TaskControlBlock checkPriorityAdd(TaskControlBlock task, Packet packet) + { + if (this.queue == null) + { + this.queue = packet; + this.markAsRunnable(); + if (this.priority >= task.priority) return this; + } + else + { + this.queue = packet.addTo(this.queue); + } + return task; + } + + public String toString() + { + return "tcb { " + this.task.toString() + "@" + this.state.ToString() + " }"; + } + } + +#if INTF_FOR_TASK + // I deliberately ignore the "I" prefix convention here so that we can use Task as a type in both + // cases... + public interface Task + { + TaskControlBlock run(Packet packet); + String toString(); + } +#else + public abstract class Task + { + public abstract TaskControlBlock run(Packet packet); + public abstract String toString(); + } +#endif + + /** + * An idle task doesn't do any work itself but cycles control between the two + * device tasks. + * @param {Scheduler} scheduler the scheduler that manages this task + * @param {int} v1 a seed value that controls how the device tasks are scheduled + * @param {int} count the number of times this task should be scheduled + * @constructor + */ + internal class IdleTask : Task + { + public Scheduler scheduler; + public int _v1; + public int _count; + + public IdleTask(Scheduler scheduler, int v1, int count) + { + this.scheduler = scheduler; + this._v1 = v1; + this._count = count; + } + + public +#if !INTF_FOR_TASK + override +#endif + TaskControlBlock run(Packet packet) + { + this._count--; + if (this._count == 0) return this.scheduler.holdCurrent(); + if ((this._v1 & 1) == 0) + { + this._v1 = this._v1 >> 1; + return this.scheduler.release(Support.ID_DEVICE_A); + } + else + { + this._v1 = (this._v1 >> 1) ^ 0xD008; + return this.scheduler.release(Support.ID_DEVICE_B); + } + } + + public +#if !INTF_FOR_TASK + override +#endif + String toString() + { + return "IdleTask"; + } + } + + /** + * A task that suspends itself after each time it has been run to simulate + * waiting for data from an external device. + * @param {Scheduler} scheduler the scheduler that manages this task + * @constructor + */ + internal class DeviceTask : Task + { + public Scheduler scheduler; + private Packet _v1; + + public DeviceTask(Scheduler scheduler) + { + this.scheduler = scheduler; + _v1 = null; + } + + public +#if !INTF_FOR_TASK + override +#endif + TaskControlBlock run(Packet packet) + { + if (packet == null) + { + if (_v1 == null) return this.scheduler.suspendCurrent(); + Packet v = _v1; + _v1 = null; + return this.scheduler.queue(v); + } + else + { + _v1 = packet; + return this.scheduler.holdCurrent(); + } + } + + public +#if !INTF_FOR_TASK + override +#endif + String toString() + { + return "DeviceTask"; + } + } + + /** + * A task that manipulates work packets. + * @param {Scheduler} scheduler the scheduler that manages this task + * @param {int} v1 a seed used to specify how work packets are manipulated + * @param {int} v2 another seed used to specify how work packets are manipulated + * @constructor + */ + internal class WorkerTask : Task + { + public Scheduler scheduler; + public int v1; + public int _v2; + + public WorkerTask(Scheduler scheduler, int v1, int v2) + { + this.scheduler = scheduler; + this.v1 = v1; + this._v2 = v2; + } + + public +#if !INTF_FOR_TASK + override +#endif + TaskControlBlock run(Packet packet) + { + if (packet == null) + { + return this.scheduler.suspendCurrent(); + } + else + { + if (this.v1 == Support.ID_HANDLER_A) + { + this.v1 = Support.ID_HANDLER_B; + } + else + { + this.v1 = Support.ID_HANDLER_A; + } + packet.id = this.v1; + packet.a1 = 0; + for (int i = 0; i < Support.DATA_SIZE; i++) + { + this._v2++; + if (this._v2 > 26) this._v2 = 1; + packet.a2[i] = this._v2; + } + return this.scheduler.queue(packet); + } + } + + public +#if !INTF_FOR_TASK + override +#endif + String toString() + { + return "WorkerTask"; + } + } + + /** + * A task that manipulates work packets and then suspends itself. + * @param {Scheduler} scheduler the scheduler that manages this task + * @constructor + */ + internal class HandlerTask : Task + { + public Scheduler scheduler; + public Packet v1; + public Packet v2; + + public HandlerTask(Scheduler scheduler) + { + this.scheduler = scheduler; + this.v1 = null; + this.v2 = null; + } + + public +#if !INTF_FOR_TASK + override +#endif + TaskControlBlock run(Packet packet) + { + if (packet != null) + { + if (packet.kind == Support.KIND_WORK) + { + this.v1 = packet.addTo(this.v1); + } + else + { + this.v2 = packet.addTo(this.v2); + } + } + if (this.v1 != null) + { + int count = this.v1.a1; + Packet v; + if (count < Support.DATA_SIZE) + { + if (this.v2 != null) + { + v = this.v2; + this.v2 = this.v2.link; + v.a1 = this.v1.a2[count]; + this.v1.a1 = count + 1; + return this.scheduler.queue(v); + } + } + else + { + v = this.v1; + this.v1 = this.v1.link; + return this.scheduler.queue(v); + } + } + return this.scheduler.suspendCurrent(); + } + + public +#if !INTF_FOR_TASK + override +#endif + String toString() + { + return "HandlerTask"; + } + } + + /** + * A simple package of data that is manipulated by the tasks. The exact layout + * of the payload data carried by a packet is not importaint, and neither is the + * nature of the work performed on packets by the tasks. + * + * Besides carrying data, packets form linked lists and are hence used both as + * data and worklists. + * @param {Packet} link the tail of the linked list of packets + * @param {int} id an ID for this packet + * @param {int} kind the type of this packet + * @constructor + */ + public class Packet + { + public Packet link; + public int id; + public int kind; + public int a1; + public int[] a2; + + public Packet(Packet link, int id, int kind) + { + this.link = link; + this.id = id; + this.kind = kind; + this.a1 = 0; + this.a2 = new int[Support.DATA_SIZE]; + } + + public Packet addTo(Packet queue) + { + this.link = null; + if (queue == null) return this; + Packet peek; + Packet next = queue; + while ((peek = next.link) != null) + next = peek; + next.link = this; + return queue; + } + + public String toString() + { + return "Packet"; + } + } +} diff --git a/src/benchmarks/coreclr/V8/Richards/THIRD-PARTY-NOTICES b/src/benchmarks/coreclr/V8/Richards/THIRD-PARTY-NOTICES new file mode 100644 index 00000000000..7eff233b545 --- /dev/null +++ b/src/benchmarks/coreclr/V8/Richards/THIRD-PARTY-NOTICES @@ -0,0 +1,21 @@ +.NET Core uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Core software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for A Benchmark Test for Systems Implementation Languages +------------------------------------------------------------------------ + +http://www.cl.cam.ac.uk/~mr10/Bench/README + +Please feel free to re-implement this benchmark in any language you +choose. I would be happy to incorporate such tranlations into this +distribution together with their timing/size results. + +Martin Richards +23 February 2007 diff --git a/src/benchmarks/coreclr/perflab/BlockCopyPerf.cs b/src/benchmarks/coreclr/perflab/BlockCopyPerf.cs new file mode 100644 index 00000000000..a5b8457ddd6 --- /dev/null +++ b/src/benchmarks/coreclr/perflab/BlockCopyPerf.cs @@ -0,0 +1,34 @@ +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace PerfLabTests +{ + [BenchmarkCategory(Categories.CoreCLR, Categories.Perflab)] + public class BlockCopyPerf + { + public static int InnerIterationCount = 1000000; // do not change the value and keep it public static NOT-readonly, ported "as is" from CoreCLR repo + + private byte[] bytes; + + [Params(0, 10, 100, 1000)] + public int numElements; // the field must be called numElements (starts with lowercase) to keep old benchmark id in BenchView, do NOT change it + + [GlobalSetup] + public void Setup() + { + bytes = new byte[numElements * 2]; + Buffer.BlockCopy(bytes, 0, bytes, numElements, numElements); + } + + [Benchmark] + public void CallBlockCopy() + { + for (int i = 0; i < InnerIterationCount; i++) + Buffer.BlockCopy(bytes, 0, bytes, numElements, numElements); + } + } +} diff --git a/src/benchmarks/coreclr/perflab/CastingPerf.cs b/src/benchmarks/coreclr/perflab/CastingPerf.cs new file mode 100644 index 00000000000..d339cb3e5c6 --- /dev/null +++ b/src/benchmarks/coreclr/perflab/CastingPerf.cs @@ -0,0 +1,377 @@ +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace PerfLabTests +{ + public interface IFoo + { + } + + public interface IFoo_1 + { + } + + public interface IFoo_2 + { + } + + public interface IFoo_3 + { + } + + public interface IFoo_4 + { + } + + public interface IFoo_5 + { + } + + // C# lays the interfaces in reverse order in metadata. So IFoo is the first and IFoo_5 is last + public class Foo : IFoo_5, IFoo_4, IFoo_3, IFoo_2, IFoo_1, IFoo + { + public int m_i; + } + + public class Foo_1 : Foo + { + public int m_j; + } + + public class Foo_2 : Foo_1 + { + public int m_k; + } + + public class Foo_3 : Foo_2 + { + public int m_l; + } + + public class Foo_4 : Foo_3 + { + public int m_m; + } + + public class Foo_5 : Foo_4 + { + public int m_n; + } + + // C# lays the interfaces in reverse order in metadata. So IFoo_1 is the first and IFoo is last + public class Foo2 : IFoo, IFoo_5, IFoo_4, IFoo_3, IFoo_2, IFoo_1 + { + public int m_i; + } + + public struct FooSVT + { + public int m_i; + public int m_j; + } + + public struct FooORVT + { + public Object m_o; + public Foo m_f; + } + + public interface IMyInterface1 { } + public interface IMyInterface2 { } + public class MyClass1 : IMyInterface1 { } + public class MyClass2 : IMyInterface2 { } + public class MyClass4 : IMyInterface1 { } + + [BenchmarkCategory(Categories.CoreCLR, Categories.Perflab)] + public class CastingPerf + { + public const int NUM_ARRAY_ELEMENTS = 100; + + public static int InnerIterationCount = 100000; // do not change the value and keep it public static NOT-readonly, ported "as is" from CoreCLR repo + + public static int[] j; + public static int[] k; + public static Foo[] foo; + public static Foo2[] foo2; + public static Foo[] n; + public static Foo_5[] foo_5; + public static FooSVT[] svt; + public static FooORVT[] orvt; + + public static Object o; + public static Object[] o_ar; + public static Foo[] f; + public static IFoo[] ifo; + public static IFoo_5[] if_5; + public static object myClass1; + public static object myClass2; + public static Object myClass4; + + public static Object[] myClass1Arr; + public static Object[] myClass2Arr; + + static CastingPerf() + { + j = new int[NUM_ARRAY_ELEMENTS]; + for (int i = 0; i < j.Length; i++) + { + j[i] = i; + } + foo = new Foo[NUM_ARRAY_ELEMENTS]; + for (int i = 0; i < foo.Length; i++) + { + foo[i] = new Foo(); + } + foo2 = new Foo2[NUM_ARRAY_ELEMENTS]; + for (int i = 0; i < foo2.Length; i++) + { + foo2[i] = new Foo2(); + } + n = new Foo[NUM_ARRAY_ELEMENTS]; + foo_5 = new Foo_5[NUM_ARRAY_ELEMENTS]; + for (int i = 0; i < foo_5.Length; i++) + { + foo_5[i] = new Foo_5(); + } + svt = new FooSVT[NUM_ARRAY_ELEMENTS]; + orvt = new FooORVT[NUM_ARRAY_ELEMENTS]; + } + + [Benchmark] + public void ObjFooIsObj() + { + for (int i = 0; i < InnerIterationCount; i++) + o = foo; + } + + [Benchmark] + public void ObjFooIsObj2() + { + for (int i = 0; i < InnerIterationCount; i++) + o_ar = foo; + } + + [GlobalSetup(Target = nameof(ObjObjIsFoo))] + public void SetupObjObjIsFoo() => o = foo; + + [Benchmark] + public void ObjObjIsFoo() + { + for (int i = 0; i < InnerIterationCount; i++) + o_ar = (Object[]) o; + } + + [GlobalSetup(Target = nameof(FooObjIsFoo))] + public void SetupFooObjIsFoo() => o = foo; + + [Benchmark] + public void FooObjIsFoo() + { + for (int i = 0; i < InnerIterationCount; i++) + f = (Foo[]) o; + } + + [GlobalSetup(Target = nameof(FooObjIsFoo2))] + public void SetupFooObjIsFoo2() => o_ar = foo; + + [Benchmark] + public void FooObjIsFoo2() + { + for (int i = 0; i < InnerIterationCount; i++) + f = (Foo[]) o_ar; + } + + [Benchmark] + public void FooObjIsNull() + { + for (int i = 0; i < InnerIterationCount; i++) + o = (Foo[]) n; + } + + [GlobalSetup(Target = nameof(FooObjIsDescendant))] + public void SetupFooObjIsDescendant() => o = foo_5; + + [Benchmark] + public void FooObjIsDescendant() + { + for (int i = 0; i < InnerIterationCount; i++) + f = (Foo[]) o; + } + + [Benchmark] + public void IFooFooIsIFoo() + { + for (int i = 0; i < InnerIterationCount; i++) + ifo = foo; + } + + [GlobalSetup(Target = nameof(IFooObjIsIFoo))] + public void SetupIFooObjIsIFoo() => o = foo; + + [Benchmark] + public void IFooObjIsIFoo() + { + for (int i = 0; i < InnerIterationCount; i++) + ifo = (IFoo[]) o; + } + + [GlobalSetup(Target = nameof(IFooObjIsIFooInterAlia))] + public void SetupIFooObjIsIFooInterAlia() => o = foo2; + + [Benchmark] + public void IFooObjIsIFooInterAlia() + { + for (int i = 0; i < InnerIterationCount; i++) + if_5 = (IFoo_5[]) o; + } + + [GlobalSetup(Target = nameof(IFooObjIsDescendantOfIFoo))] + public void SetupIFooObjIsDescendantOfIFoo() => o = foo_5; + + [Benchmark] + public void IFooObjIsDescendantOfIFoo() + { + for (int i = 0; i < InnerIterationCount; i++) + ifo = (IFoo[]) o; + } + + [Benchmark] + public void ObjInt() + { + for (int i = 0; i < InnerIterationCount; i++) + o = (Object) j; + } + + [GlobalSetup(Target = nameof(IntObj))] + public void SetupIntObj() => o = (Object)j; + + [Benchmark] + public void IntObj() + { + for (int i = 0; i < InnerIterationCount; i++) + k = (int[]) o; + } + + [Benchmark] + public void ObjScalarValueType() + { + for (int i = 0; i < InnerIterationCount; i++) + o = svt; + } + + [GlobalSetup(Target = nameof(ScalarValueTypeObj))] + public void SetupScalarValueTypeObj() => o = svt; + + [Benchmark] + public void ScalarValueTypeObj() + { + for (int i = 0; i < InnerIterationCount; i++) + svt = (FooSVT[]) o; + } + + [Benchmark] + public void ObjObjrefValueType() + { + for (int i = 0; i < InnerIterationCount; i++) + o = (Object) orvt; + } + + [GlobalSetup(Target = nameof(ObjrefValueTypeObj))] + public void SetupObjrefValueTypeObj() => o = (Object)orvt; + + [Benchmark] + public void ObjrefValueTypeObj() + { + for (int i = 0; i < InnerIterationCount; i++) + orvt = (FooORVT[]) o; + } + + [GlobalSetup(Target = nameof(FooObjCastIfIsa))] + public void SetupFooObjCastIfIsa() => o = foo; + + [Benchmark] + public void FooObjCastIfIsa() + { + for (int i = 0; i < InnerIterationCount; i++) + if (o is Foo[]) + f = (Foo[]) o; + } + + [GlobalSetup(Target = nameof(CheckObjIsInterfaceYes))] + public void SetupCheckObjIsInterfaceYes() => myClass1 = new MyClass1(); + + [Benchmark] + public bool CheckObjIsInterfaceYes() + { + bool res = false; + for (int i = 0; i < InnerIterationCount; i++) + res = myClass1 is IMyInterface1; + return res; + } + + [GlobalSetup(Target = nameof(CheckObjIsInterfaceNo))] + public void SetupCheckObjIsInterfaceNo() => myClass2 = new MyClass2(); + + [Benchmark] + public bool CheckObjIsInterfaceNo() + { + bool res = false; + for (int i = 0; i < InnerIterationCount; i++) + res = myClass2 is IMyInterface1; + return res; + } + + [GlobalSetup(Target = nameof(CheckIsInstAnyIsInterfaceYes))] + public void SetupCheckIsInstAnyIsInterfaceYes() => myClass4 = new MyClass4>(); + + [Benchmark] + public bool CheckIsInstAnyIsInterfaceYes() + { + bool res = false; + for (int i = 0; i < InnerIterationCount; i++) + res = myClass4 is IMyInterface1; + return res; + } + + [GlobalSetup(Target = nameof(CheckIsInstAnyIsInterfaceNo))] + public void SetupCheckIsInstAnyIsInterfaceNo() => myClass4 = new MyClass4>(); + + [Benchmark] + public bool CheckIsInstAnyIsInterfaceNo() + { + bool res = false; + for (int i = 0; i < InnerIterationCount; i++) + res = myClass4 is IMyInterface2; + return res; + } + + [GlobalSetup(Target = nameof(CheckArrayIsInterfaceYes))] + public void SetupCheckArrayIsInterfaceYes() => myClass1Arr = new MyClass1[5]; + + [Benchmark] + public bool CheckArrayIsInterfaceYes() + { + bool res = false; + for (int i = 0; i < InnerIterationCount; i++) + res = myClass1Arr is IMyInterface1[]; + return res; + } + + [GlobalSetup(Target = nameof(CheckArrayIsInterfaceNo))] + public void SetupCheckArrayIsInterfaceNo() => myClass2Arr = new MyClass2[5]; + + [Benchmark] + public bool CheckArrayIsInterfaceNo() + { + bool res = false; + for (int i = 0; i < InnerIterationCount; i++) + res = myClass2Arr is IMyInterface1[]; + return res; + } + } +} \ No newline at end of file diff --git a/src/benchmarks/coreclr/perflab/CastingPerf2.cs b/src/benchmarks/coreclr/perflab/CastingPerf2.cs new file mode 100644 index 00000000000..4edc1bfd3a9 --- /dev/null +++ b/src/benchmarks/coreclr/perflab/CastingPerf2.cs @@ -0,0 +1,237 @@ +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using BenchmarkDotNet.Attributes; +using BenchmarkDotNet.Running; +using Benchmarks; + +namespace PerfLabTests.CastingPerf2 +{ + public interface IFoo + { + } + + public interface IFoo_1 + { + } + + public interface IFoo_2 + { + } + + public interface IFoo_3 + { + } + + public interface IFoo_4 + { + } + + public interface IFoo_5 + { + } + + // C# lays the interfaces in reverse order in metadata. So IFoo is the first and IFoo_5 is last + public class Foo : IFoo_5, IFoo_4, IFoo_3, IFoo_2, IFoo_1, IFoo + { + public int m_i; + } + + public class Foo_1 : Foo + { + public int m_j; + } + + public class Foo_2 : Foo_1 + { + public int m_k; + } + + public class Foo_3 : Foo_2 + { + public int m_l; + } + + public class Foo_4 : Foo_3 + { + public int m_m; + } + + public class Foo_5 : Foo_4 + { + public int m_n; + } + + // C# lays the interfaces in reverse order in metadata. So IFoo_1 is the first and IFoo is last + public class Foo2 : IFoo, IFoo_5, IFoo_4, IFoo_3, IFoo_2, IFoo_1 + { + public int m_i; + } + + public struct FooSVT + { + public int m_i; + public int m_j; + } + + public struct FooORVT + { + public Object m_o; + public Foo m_f; + } + + [BenchmarkCategory(Categories.CoreCLR, Categories.Perflab)] + public class CastingPerf + { + public static int InnerIterationCount200000 = 200000; // do not change the value and keep it public static NOT-readonly, ported "as is" from CoreCLR repo + public static int InnerIterationCount100000 = 100000; // do not change the value and keep it public static NOT-readonly, ported "as is" from CoreCLR repo + public static int InnerIterationCount300000 = 300000; // do not change the value and keep it public static NOT-readonly, ported "as is" from CoreCLR repo + + public static int j, j1, j2, j3, j4, j5, j6, j7, j8, j9; + public static Foo foo = new Foo(); + public static Foo2 foo2 = new Foo2(); + public static Foo n = null; + public static Foo_5 foo_5 = new Foo_5(); + public static FooSVT svt = new FooSVT(); + public static FooORVT orvt = new FooORVT(); + + public static Object o, o1, o2, o3, o4, o5, o6, o7, o8, o9; + public static Foo f, f1, f2, f3, f4, f5, f6, f7, f8, f9; + public static IFoo ifo, ifo1, ifo2, ifo3, ifo4, ifo5, ifo6, ifo7, ifo8, ifo9; + public static IFoo_5 if_0, if_1, if_2, if_3, if_4, if_5, if_6, if_7, if_8, if_9; + + [Benchmark] + public void ObjFooIsObj() + { + for (int i = 0; i < InnerIterationCount200000; i++) + o = foo; + } + + [GlobalSetup(Target = nameof(FooObjIsFoo))] + public void SetupFooObjIsFoo() => o = foo; + + [Benchmark] + public void FooObjIsFoo() + { + for (int i = 0; i < InnerIterationCount200000; i++) + f = (Foo)o; + } + + [Benchmark] + public void FooObjIsNull() + { + for (int i = 0; i < InnerIterationCount200000; i++) + o = (Foo)n; + } + + [GlobalSetup(Target = nameof(FooObjIsDescendant))] + public void SetupFooObjIsDescendant() => o = foo_5; + + [Benchmark] + public void FooObjIsDescendant() + { + for (int i = 0; i < InnerIterationCount100000; i++) + f = (Foo)o; + } + + [Benchmark] + public void IFooFooIsIFoo() + { + for (int i = 0; i < InnerIterationCount200000; i++) + ifo = foo; + } + + [GlobalSetup(Target = nameof(IFooObjIsIFoo))] + public void SetupIFooObjIsIFoo() => o = foo; + + [Benchmark] + public void IFooObjIsIFoo() + { + for (int i = 0; i < InnerIterationCount100000; i++) + ifo = (IFoo)o; + } + + [GlobalSetup(Target = nameof(IFooObjIsIFooInterAlia))] + public void SetupIFooObjIsIFooInterAlia() => o = foo2; + + [Benchmark] + public void IFooObjIsIFooInterAlia() + { + for (int i = 0; i < InnerIterationCount100000; i++) + if_0 = (IFoo_5)o; + } + + [GlobalSetup(Target = nameof(IFooObjIsDescendantOfIFoo))] + public void SetupIFooObjIsDescendantOfIFoo() => o = foo_5; + + [Benchmark] + public void IFooObjIsDescendantOfIFoo() + { + for (int i = 0; i < InnerIterationCount100000; i++) + ifo = (IFoo)o; + } + + [Benchmark] + public void ObjInt() + { + for (int i = 0; i < InnerIterationCount100000; i++) + o = (Object)j; + } + + [GlobalSetup(Target = nameof(IntObj))] + public void SetupIntObj() => o = (Object)1; + + [Benchmark] + public void IntObj() + { + for (int i = 0; i < InnerIterationCount200000; i++) + j = (int)o; + } + + [Benchmark] + public void ObjScalarValueType() + { + for (int i = 0; i < InnerIterationCount100000; i++) + o = svt; + } + + [GlobalSetup(Target = nameof(ScalarValueTypeObj))] + public void SetupScalarValueTypeObj() => o = svt; + + [Benchmark] + public void ScalarValueTypeObj() + { + for (int i = 0; i < InnerIterationCount300000; i++) + svt = (FooSVT)o; + } + + [Benchmark] + public void ObjObjrefValueType() + { + for (int i = 0; i < InnerIterationCount100000; i++) + o = (Object)orvt; + } + + [GlobalSetup(Target = nameof(ObjrefValueTypeObj))] + public void SetupObjrefValueTypeObj() => o = (Object)orvt; + + [Benchmark] + public void ObjrefValueTypeObj() + { + for (int i = 0; i < InnerIterationCount200000; i++) + orvt = (FooORVT)o; + } + + [GlobalSetup(Target = nameof(FooObjCastIfIsa))] + public void StupFooObjCastIfIsa() => o = foo; + + [Benchmark] + public void FooObjCastIfIsa() + { + for (int i = 0; i < InnerIterationCount100000; i++) + if (o is Foo) + f = (Foo)o; + } + } +} \ No newline at end of file diff --git a/src/benchmarks/coreclr/perflab/DelegatePerf.cs b/src/benchmarks/coreclr/perflab/DelegatePerf.cs new file mode 100644 index 00000000000..4ca25fba8a1 --- /dev/null +++ b/src/benchmarks/coreclr/perflab/DelegatePerf.cs @@ -0,0 +1,132 @@ +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace PerfLabTests +{ + public delegate long DelegateLong(Object obj, long x, long y); + public delegate void MultiDelegate(Object obj, long x, long y); + + internal delegate int SerializeDelegate(); + + [BenchmarkCategory(Categories.CoreCLR, Categories.Perflab)] + public class DelegatePerf + { + public static int InnerIterationCount200000 = 200000; // do not change the value and keep it public static NOT-readonly, ported "as is" from CoreCLR repo + public static int InnerIterationCount1000 = 1000; // do not change the value and keep it public static NOT-readonly, ported "as is" from CoreCLR repo + public static int InnerIterationCount10000 = 10000; // do not change the value and keep it public static NOT-readonly, ported "as is" from CoreCLR repo + + DelegateLong dlField; + Object objField; + MultiDelegate md1Field, md2Field, md3Field, md4Field, md5Field, md6Field, md7Field, md8Field, md9Field, md10Field; + MultiDelegate md100Field, md1000Field; + + [GlobalSetup(Target = nameof(DelegateInvoke))] + public void SetupDelegateInvoke() + { + dlField = new DelegateLong(this.Invocable1); + objField = new Object(); + } + + [Benchmark] + public long DelegateInvoke() + { + DelegateLong dl = dlField; + Object obj = objField; + + long ret = 0; + + for (int i = 0; i < InnerIterationCount200000; i++) + ret = dl(obj, 100, 100); + + return ret; + } + + [IterationSetup(Target = nameof(MulticastDelegateCombineInvoke))] + public void SetupMulticastDelegateCombineInvoke() + { + md1Field = new MultiDelegate(this.Invocable2); + md2Field = new MultiDelegate(this.Invocable2); + md3Field = new MultiDelegate(this.Invocable2); + md4Field = new MultiDelegate(this.Invocable2); + md5Field = new MultiDelegate(this.Invocable2); + md6Field = new MultiDelegate(this.Invocable2); + md7Field = new MultiDelegate(this.Invocable2); + md8Field = new MultiDelegate(this.Invocable2); + md9Field = new MultiDelegate(this.Invocable2); + md10Field = new MultiDelegate(this.Invocable2); + } + + [Benchmark] + public MultiDelegate MulticastDelegateCombineInvoke() + { + MultiDelegate md1 = md1Field; + MultiDelegate md2 = md2Field; + MultiDelegate md3 = md3Field; + MultiDelegate md4 = md4Field; + MultiDelegate md5 = md5Field; + MultiDelegate md6 = md6Field; + MultiDelegate md7 = md7Field; + MultiDelegate md8 = md8Field; + MultiDelegate md9 = md9Field; + MultiDelegate md10 = md10Field; + + MultiDelegate md = null; + + for (int i = 0; i < InnerIterationCount1000; i++) + { + md = (MultiDelegate)Delegate.Combine(md1, md); + md = (MultiDelegate)Delegate.Combine(md2, md); + md = (MultiDelegate)Delegate.Combine(md3, md); + md = (MultiDelegate)Delegate.Combine(md4, md); + md = (MultiDelegate)Delegate.Combine(md5, md); + md = (MultiDelegate)Delegate.Combine(md6, md); + md = (MultiDelegate)Delegate.Combine(md7, md); + md = (MultiDelegate)Delegate.Combine(md8, md); + md = (MultiDelegate)Delegate.Combine(md9, md); + md = (MultiDelegate)Delegate.Combine(md10, md); + } + + return md; + } + + [GlobalSetup(Target = nameof(MulticastDelegateInvoke))] + public void SetupMulticastDelegateInvoke() + { + objField = new Object(); + + for (long i = 0; i < 100; i++) + md100Field = (MultiDelegate)Delegate.Combine(new MultiDelegate(this.Invocable2), md100Field); + + for (long i = 0; i < 1000; i++) + md1000Field = (MultiDelegate)Delegate.Combine(new MultiDelegate(this.Invocable2), md1000Field); + } + + [Benchmark] + [Arguments(100)] + [Arguments(1000)] + public void MulticastDelegateInvoke(int length) + { + MultiDelegate md = length == 100 ? md100Field : md1000Field; + Object obj = objField; + + for (int i = 0; i < InnerIterationCount10000; i++) + md(obj, 100, 100); + } + + internal virtual long Invocable1(Object obj, long x, long y) + { + long i = x + y; + return x; + } + + internal virtual void Invocable2(Object obj, long x, long y) + { + long i = x + y; + } + } +} diff --git a/src/benchmarks/coreclr/perflab/EnumPerf.cs b/src/benchmarks/coreclr/perflab/EnumPerf.cs new file mode 100644 index 00000000000..99940dd34c2 --- /dev/null +++ b/src/benchmarks/coreclr/perflab/EnumPerf.cs @@ -0,0 +1,83 @@ +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Runtime.CompilerServices; +using BenchmarkDotNet.Attributes; +using BenchmarkDotNet.Running; +using Benchmarks; + +namespace PerfLabTests +{ + public enum Color + { + Black, + White, + Red, + Brown, + Yellow, + Purple, + Orange + } + + [BenchmarkCategory(Categories.CoreCLR, Categories.Perflab)] + public class EnumPerf + { + public static int InnerIterationCount = 300000; // do not change the value and keep it public static NOT-readonly, ported "as is" from CoreCLR repo + + public static Color blackColor; + public static object blackObject; + + [Benchmark] + [Arguments(Color.Red)] + public void EnumCompareTo(Color color) + { + Color white = Color.White; + + for (int i = 0; i < InnerIterationCount; i++) + color.CompareTo(white); + } + + [GlobalSetup(Target = nameof(ObjectGetType))] + public void SetupObjectGetType() => blackColor = Color.Black; + + // [Benchmark] disabled for now -> is optimized by JIT to an empty loop, #42 + public Type ObjectGetType() + { + Type tmp = null; + + for (int i = 0; i < InnerIterationCount; i++) + tmp = blackColor.GetType(); + + return tmp; + } + + [GlobalSetup(Target = nameof(ObjectGetTypeNoBoxing))] + public void SetupObjectGetTypeNoBoxing() => blackObject = Color.Black; + + [Benchmark] + public Type ObjectGetTypeNoBoxing() + { + Type tmp = null; + + for (int i = 0; i < InnerIterationCount; i++) + tmp = blackObject.GetType(); + + return tmp; + } + + [Benchmark] + public bool EnumEquals() + { + Color black = Color.Black; + Color white = Color.White; + bool tmp = false; + + for (int i = 0; i < InnerIterationCount; i++) + tmp = black.Equals(white); + + return tmp; + } + } + +} diff --git a/src/benchmarks/coreclr/perflab/LowLevelPerf.cs b/src/benchmarks/coreclr/perflab/LowLevelPerf.cs new file mode 100644 index 00000000000..6202e3da3ac --- /dev/null +++ b/src/benchmarks/coreclr/perflab/LowLevelPerf.cs @@ -0,0 +1,830 @@ +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.CompilerServices; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace PerfLabTests +{ + [BenchmarkCategory(Categories.CoreCLR, Categories.Perflab)] + public class LowLevelPerf + { + public static int InnerIterationCount = 100000; // do not change the value and keep it public static NOT-readonly, ported "as is" from CoreCLR repo + + // following fields are static public on purpose! to make sure JIT does not optimize the benchmarks to constants, do NOT change it + public static Class aClassFiled; + public static LongHierarchyChildClass aLongHierarchyChildClassField; + public static SealedClass aSealedClassField; + public static List iListField; + public static StructWithInterface aStructWithInterfaceField; + public static AnInterface aInterfaceField; + public static AnInterface aInterfaceField1; + public static string stringField; + public static MyDelegate aInstanceDelegateField; + public static MyDelegate aStaticDelegateField; + public static GenericClass aGenericClassWithIntField; + public static GenericClass aGenericClassWithStringField; + public static object aObjectStringField; + public static object aObjectArrayOfStringField; + + [Benchmark] + public void EmptyStaticFunction() + { + for (int i = 0; i < InnerIterationCount; i++) + { + Class.EmptyStaticFunction(); + Class.EmptyStaticFunction(); + Class.EmptyStaticFunction(); + Class.EmptyStaticFunction(); + Class.EmptyStaticFunction(); + Class.EmptyStaticFunction(); + Class.EmptyStaticFunction(); + Class.EmptyStaticFunction(); + Class.EmptyStaticFunction(); + Class.EmptyStaticFunction(); + } + } + + [Benchmark] + public void EmptyStaticFunction5Arg() + { + for (int i = 0; i < InnerIterationCount; i++) + { + Class.EmptyStaticFunction5Arg(1, 2, 3, 4, 5); + Class.EmptyStaticFunction5Arg(1, 2, 3, 4, 5); + Class.EmptyStaticFunction5Arg(1, 2, 3, 4, 5); + Class.EmptyStaticFunction5Arg(1, 2, 3, 4, 5); + Class.EmptyStaticFunction5Arg(1, 2, 3, 4, 5); + Class.EmptyStaticFunction5Arg(1, 2, 3, 4, 5); + Class.EmptyStaticFunction5Arg(1, 2, 3, 4, 5); + Class.EmptyStaticFunction5Arg(1, 2, 3, 4, 5); + Class.EmptyStaticFunction5Arg(1, 2, 3, 4, 5); + Class.EmptyStaticFunction5Arg(1, 2, 3, 4, 5); + } + } + + [GlobalSetup(Target = nameof(EmptyInstanceFunction))] + public void SetupEmptyInstanceFunction() => aClassFiled = new Class(); + + [Benchmark] + public void EmptyInstanceFunction() + { + Class aClass = aClassFiled; + + for (int i = 0; i < InnerIterationCount; i++) + { + aClass.EmptyInstanceFunction(); + aClass.EmptyInstanceFunction(); + aClass.EmptyInstanceFunction(); + aClass.EmptyInstanceFunction(); + aClass.EmptyInstanceFunction(); + aClass.EmptyInstanceFunction(); + aClass.EmptyInstanceFunction(); + aClass.EmptyInstanceFunction(); + aClass.EmptyInstanceFunction(); + aClass.EmptyInstanceFunction(); + } + } + + [GlobalSetup(Target = nameof(InterfaceInterfaceMethod))] + public void SetupInterfaceInterfaceMethod() => aClassFiled = new Class(); + + [Benchmark] + public void InterfaceInterfaceMethod() + { + AnInterface aInterface = aClassFiled; + + for (int i = 0; i < InnerIterationCount; i++) + { + CallInterfaceMethod(aInterface); + CallInterfaceMethod(aInterface); + CallInterfaceMethod(aInterface); + CallInterfaceMethod(aInterface); + CallInterfaceMethod(aInterface); + CallInterfaceMethod(aInterface); + CallInterfaceMethod(aInterface); + CallInterfaceMethod(aInterface); + CallInterfaceMethod(aInterface); + CallInterfaceMethod(aInterface); + } + } + + [MethodImpl(MethodImplOptions.NoInlining)] + private void CallInterfaceMethod(AnInterface aInterface) + { + aInterface.InterfaceMethod(); + } + + [GlobalSetup(Target = nameof(InterfaceInterfaceMethodLongHierarchy))] + public void SetupInterfaceInterfaceMethodLongHierarchy() + { + aLongHierarchyChildClassField = new LongHierarchyChildClass(); + + //generate all the not-used call site first + CallInterfaceMethod(new LongHierarchyClass1()); + CallInterfaceMethod(new LongHierarchyClass2()); + CallInterfaceMethod(new LongHierarchyClass3()); + CallInterfaceMethod(new LongHierarchyClass4()); + CallInterfaceMethod(new LongHierarchyClass5()); + CallInterfaceMethod(new LongHierarchyClass6()); + CallInterfaceMethod(new LongHierarchyClass7()); + CallInterfaceMethod(new LongHierarchyClass8()); + CallInterfaceMethod(new LongHierarchyClass9()); + CallInterfaceMethod(new LongHierarchyClass11()); + CallInterfaceMethod(new LongHierarchyClass12()); + } + + [Benchmark] + public void InterfaceInterfaceMethodLongHierarchy() + { + var aInterface = aLongHierarchyChildClassField; + + for (int i = 0; i < InnerIterationCount; i++) + CallInterfaceMethod(aInterface); + } + + [GlobalSetup(Target = nameof(InterfaceInterfaceMethodSwitchCallType))] + public void SetupInterfaceInterfaceMethodSwitchCallType() + { + aInterfaceField = new LongHierarchyChildClass(); + aInterfaceField1 = new LongHierarchyClass1(); + } + + [Benchmark] + public void InterfaceInterfaceMethodSwitchCallType() + { + AnInterface aInterface = aInterfaceField; + AnInterface aInterface1 = aInterfaceField1; + + for (int i = 0; i < InnerIterationCount; i++) + { + CallInterfaceMethod(aInterface); + CallInterfaceMethod(aInterface1); + } + } + + [GlobalSetup(Target = nameof(ClassVirtualMethod))] + public void SetupClassVirtualMethod() => aClassFiled = new Class(); + + [Benchmark] + public int ClassVirtualMethod() + { + SuperClass aClass = aClassFiled; + + int x = 0; + + for (int i = 0; i < InnerIterationCount; i++) + x = aClass.VirtualMethod(); + + return x; + } + + [GlobalSetup(Target = nameof(SealedClassInterfaceMethod))] + public void SetupSealedClassInterfaceMethod() => aSealedClassField = new SealedClass(); + + [Benchmark] + public int SealedClassInterfaceMethod() + { + SealedClass aSealedClass = aSealedClassField; + + int x = 0; + + for (int i = 0; i < InnerIterationCount; i++) + x = aSealedClass.InterfaceMethod(); + + return x; + } + + [GlobalSetup(Target = nameof(StructWithInterfaceInterfaceMethod))] + public void SetupStructWithInterfaceInterfaceMethod() => aStructWithInterfaceField = new StructWithInterface(); + + [Benchmark] + public int StructWithInterfaceInterfaceMethod() + { + StructWithInterface aStructWithInterface = aStructWithInterfaceField; + + int x = 0; + + for (int i = 0; i < InnerIterationCount; i++) + x = aStructWithInterface.InterfaceMethod(); + + return x; + } + + [GlobalSetup(Target = nameof(StaticIntPlus))] + public void SetupStaticIntPlus() => aClassFiled = new Class(); // it's goint to call static ctor + + [Benchmark] + public void StaticIntPlus() + { + for (int i = 0; i < InnerIterationCount; i++) + Class.aStaticInt += 1; // TODO: reconsider the design, the cost of inner loop iteration is as big as the benchmarked thing + } + + [GlobalSetup(Target = nameof(ObjectStringIsString))] + public void SetupObjectStringIsString() => aObjectStringField = "aString1"; + + [Benchmark] + public bool ObjectStringIsString() + { + bool b = false; + + for (int i = 0; i < InnerIterationCount; i++) + b = aObjectStringField is String; + + return b; + } + + [GlobalSetup(Target = nameof(NewDelegateClassEmptyInstanceFn))] + public void SetupNewDelegateClassEmptyInstanceFn() => aClassFiled = new Class(); + + [Benchmark] + public void NewDelegateClassEmptyInstanceFn() + { + Class aClass = aClassFiled; + MyDelegate aMyDelegate; + + for (int i = 0; i < InnerIterationCount; i++) + aMyDelegate = new MyDelegate(aClass.EmptyInstanceFunction); + } + + [Benchmark] + public void NewDelegateClassEmptyStaticFn() + { + MyDelegate aMyDelegate; + + for (int i = 0; i < InnerIterationCount; i++) + aMyDelegate = new MyDelegate(Class.EmptyStaticFunction); + } + + [GlobalSetup(Target = nameof(InstanceDelegate))] + public void SetupInstanceDelegate() + { + Class aClass = new Class(); + aInstanceDelegateField = new MyDelegate(aClass.EmptyInstanceFunction); + } + + [Benchmark] + public void InstanceDelegate() + { + MyDelegate aInstanceDelegate = aInstanceDelegateField; + + for (int i = 0; i < InnerIterationCount; i++) + aInstanceDelegate(); + } + + [GlobalSetup(Target = nameof(StaticDelegate))] + public void SetupStaticDelegate() => aStaticDelegateField = new MyDelegate(Class.EmptyStaticFunction); + + [Benchmark] + public void StaticDelegate() + { + MyDelegate aStaticDelegate = aStaticDelegateField; + + for (int i = 0; i < InnerIterationCount; i++) + aStaticDelegate(); + } + + [GlobalSetup(Target = nameof(MeasureEvents))] + public void SetupMeasureEvents() + { + Class aClass = new Class(); + aClass.AnEvent += new MyDelegate(aClass.EmptyInstanceFunction); + + aClassFiled = aClass; + } + + [Benchmark] + public void MeasureEvents() + { + Class aClass = aClassFiled; + + for (int i = 0; i < InnerIterationCount; i++) + aClass.MeasureFire100(); + } + + [GlobalSetup(Target = nameof(GenericClassWithIntGenericInstanceField))] + public void SetupGenericClassWithIntGenericInstanceField() => aGenericClassWithIntField = new GenericClass(); + + [Benchmark] + public void GenericClassWithIntGenericInstanceField() + { + for (int i = 0; i < InnerIterationCount; i++) + aGenericClassWithIntField.aGenericInstanceFieldT = 1; + } + + [Benchmark] + public void GenericClassGenericStaticField() + { + for (int i = 0; i < InnerIterationCount; i++) + GenericClass.aGenericStaticFieldT = 1; + } + + [GlobalSetup(Target = nameof(GenericClassGenericInstanceMethod))] + public void SetupGenericClassGenericInstanceMethod() => aGenericClassWithIntField = new GenericClass(); + + [Benchmark] + public int GenericClassGenericInstanceMethod() + { + GenericClass aGenericClassWithInt = aGenericClassWithIntField; + + int x = 0; + + for (int i = 0; i < InnerIterationCount; i++) + x = aGenericClassWithInt.ClassGenericInstanceMethod(); + + return x; + } + + [Benchmark] + public int GenericClassGenericStaticMethod() + { + int x = 0; + + for (int i = 0; i < InnerIterationCount; i++) + x = GenericClass.ClassGenericStaticMethod(); + + return x; + } + + [Benchmark] + public int GenericGenericMethod() + { + int x = 0; + + for (int i = 0; i < InnerIterationCount; i++) + x = Class.GenericMethod(); + + return x; + } + + [GlobalSetup(Target = nameof(GenericClassWithSTringGenericInstanceMethod))] + public void SetupGenericClassWithSTringGenericInstanceMethod() + { + aGenericClassWithStringField = new GenericClass(); + stringField = "foo"; + } + + [Benchmark] + public void GenericClassWithSTringGenericInstanceMethod() + { + GenericClass aGenericClassWithString = aGenericClassWithStringField; + string aString = stringField; + + for (int i = 0; i < InnerIterationCount; i++) + aGenericClassWithString.aGenericInstanceFieldT = aString; + } + + [GlobalSetup(Target = nameof(ForeachOverList100Elements))] + public void SetupForeachOverList100Elements() => iListField = Enumerable.Range(0, 100).ToList(); + + [Benchmark] + public int ForeachOverList100Elements() + { + List iList = iListField; + + int iResult = 0; + + for (int i = 0; i < InnerIterationCount; i++) + foreach (int j in iList) + iResult = j; + + return iResult; + } + + [GlobalSetup(Target = nameof(TypeReflectionObjectGetType))] + public void SetupTypeReflectionObjectGetType() => stringField = "aString"; + + [Benchmark] + public Type TypeReflectionObjectGetType() + { + Type type = null; + + for (int i = 0; i < InnerIterationCount; i++) + type = stringField.GetType(); + + return type; + } + + [GlobalSetup(Target = nameof(TypeReflectionArrayGetType))] + public void Setup() => aObjectArrayOfStringField = new string[0]; + + [Benchmark] + public Type TypeReflectionArrayGetType() + { + Type type = null; + + for (int i = 0; i < InnerIterationCount; i++) + type = aObjectArrayOfStringField.GetType(); + + return type; + } + + [Benchmark] + public string IntegerFormatting() + { + int number = Int32.MaxValue; + string result = null; + + for (int i = 0; i < InnerIterationCount; i++) + result = number.ToString(); + + return result; + } + } + + #region Support Classes + // classes and method needed to perform the experiments. + + public interface AnInterface + { + int InterfaceMethod(); + } + + public class SuperClass : AnInterface + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] + public virtual int InterfaceMethod() { return 2; } + + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] + public virtual int VirtualMethod() + { + return 1; + } + } + + public struct ValueType + { + public int x; + public int y; + public int z; + } + + public delegate int MyDelegate(); + + public struct StructWithInterface : AnInterface + { + public int x; + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] + public int InterfaceMethod() + { + return x++; + } + } + + public sealed class SealedClass : SuperClass + { + public int aInstanceInt; + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] + public override int VirtualMethod() + { + return aInstanceInt++; + } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] + public override int InterfaceMethod() + { + return aInstanceInt++; + } + } + + /// + /// A example class. It inherits, overrides, has intefaces etc. + /// It excercises most of the common runtime features + /// + public class Class : SuperClass + { + public event MyDelegate AnEvent; + + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] + public override int VirtualMethod() { return aInstanceInt++; } + + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] + public override int InterfaceMethod() { return aInstanceInt++; } + + public int aInstanceInt; + public string aInstanceString; + + public static int aStaticInt; + public static string aStaticString = "Hello"; + public static ValueType aStaticValueType; + + [MethodImpl(MethodImplOptions.NoInlining)] + public static int EmptyStaticFunction() + { + return aStaticInt++; + } + + [MethodImpl(MethodImplOptions.NoInlining)] + public static int EmptyStaticFunction5Arg(int arg1, int arg2, int arg3, int arg4, int arg5) + { + return aStaticInt++; + } + + [MethodImpl(MethodImplOptions.NoInlining)] + public int EmptyInstanceFunction() + { + return aInstanceInt++; + } + + [MethodImpl(MethodImplOptions.NoInlining)] + public static int GenericMethod() + { + return aStaticInt++; + } + + public void MeasureFire100() + { + #region callAnEvent + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + AnEvent(); + //}); + #endregion + } + } + + public class GenericClass + { + [MethodImpl(MethodImplOptions.NoInlining)] + public T ClassGenericInstanceMethod() + { + tmp++; // need this to not be optimized away + return aGenericInstanceFieldT; + } + + [MethodImpl(MethodImplOptions.NoInlining)] + public static T ClassGenericStaticMethod() + { + sTmp++; // need this to not be optimized away + return aGenericStaticFieldT; + } + + public static int sTmp; + public int tmp; + public T aGenericInstanceFieldT; + public static T aGenericStaticFieldT; + } + + #region LongHierarchyClass + public class LongHierarchyClass1 : AnInterface + { + [MethodImpl(MethodImplOptions.NoInlining)] + public virtual int InterfaceMethod() { return 2; } + + [MethodImpl(MethodImplOptions.NoInlining)] + public virtual int VirtualMethod() + { + return 1; + } + } + + public class LongHierarchyClass2 : LongHierarchyClass1 + { + [MethodImpl(MethodImplOptions.NoInlining)] + public override int InterfaceMethod() { return 2; } + + [MethodImpl(MethodImplOptions.NoInlining)] + public override int VirtualMethod() + { + return 1; + } + } + + public class LongHierarchyClass3 : LongHierarchyClass2 + { + [MethodImpl(MethodImplOptions.NoInlining)] + public override int InterfaceMethod() { return 2; } + + [MethodImpl(MethodImplOptions.NoInlining)] + public override int VirtualMethod() + { + return 1; + } + } + + public class LongHierarchyClass4 : LongHierarchyClass3 + { + [MethodImpl(MethodImplOptions.NoInlining)] + public override int InterfaceMethod() { return 2; } + + [MethodImpl(MethodImplOptions.NoInlining)] + public override int VirtualMethod() + { + return 1; + } + } + + public class LongHierarchyClass5 : LongHierarchyClass4 + { + [MethodImpl(MethodImplOptions.NoInlining)] + public override int InterfaceMethod() { return 2; } + + [MethodImpl(MethodImplOptions.NoInlining)] + public override int VirtualMethod() + { + return 1; + } + } + + public class LongHierarchyClass6 : LongHierarchyClass5 + { + [MethodImpl(MethodImplOptions.NoInlining)] + public override int InterfaceMethod() { return 2; } + + [MethodImpl(MethodImplOptions.NoInlining)] + public override int VirtualMethod() + { + return 1; + } + } + + public class LongHierarchyClass7 : LongHierarchyClass6 + { + [MethodImpl(MethodImplOptions.NoInlining)] + public override int InterfaceMethod() { return 2; } + + [MethodImpl(MethodImplOptions.NoInlining)] + public override int VirtualMethod() + { + return 1; + } + } + + public class LongHierarchyClass8 : LongHierarchyClass7 + { + [MethodImpl(MethodImplOptions.NoInlining)] + public override int InterfaceMethod() { return 2; } + + [MethodImpl(MethodImplOptions.NoInlining)] + public override int VirtualMethod() + { + return 1; + } + } + + public class LongHierarchyClass9 : LongHierarchyClass8 + { + [MethodImpl(MethodImplOptions.NoInlining)] + public override int InterfaceMethod() { return 2; } + + [MethodImpl(MethodImplOptions.NoInlining)] + public override int VirtualMethod() + { + return 1; + } + } + + public class LongHierarchyClass10 : LongHierarchyClass9 + { + [MethodImpl(MethodImplOptions.NoInlining)] + public override int InterfaceMethod() { return 2; } + + [MethodImpl(MethodImplOptions.NoInlining)] + public override int VirtualMethod() + { + return 1; + } + } + + public class LongHierarchyClass11 : LongHierarchyClass10 + { + [MethodImpl(MethodImplOptions.NoInlining)] + public override int InterfaceMethod() { return 2; } + + [MethodImpl(MethodImplOptions.NoInlining)] + public override int VirtualMethod() + { + return 1; + } + } + + public class LongHierarchyClass12 : LongHierarchyClass11 + { + [MethodImpl(MethodImplOptions.NoInlining)] + public override int InterfaceMethod() { return 2; } + + [MethodImpl(MethodImplOptions.NoInlining)] + public override int VirtualMethod() + { + return 1; + } + } + + public class LongHierarchyChildClass : LongHierarchyClass12 + { + [MethodImpl(MethodImplOptions.NoInlining)] + public override int InterfaceMethod() { return 2; } + + [MethodImpl(MethodImplOptions.NoInlining)] + public override int VirtualMethod() + { + return 1; + } + } + + #endregion + + #endregion + +} diff --git a/src/benchmarks/coreclr/perflab/ReflectionPerf.cs b/src/benchmarks/coreclr/perflab/ReflectionPerf.cs new file mode 100644 index 00000000000..5bc86538cdb --- /dev/null +++ b/src/benchmarks/coreclr/perflab/ReflectionPerf.cs @@ -0,0 +1,3252 @@ +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.Reflection; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +#pragma warning disable 67 + +namespace PerfLabTests +{ + [BenchmarkCategory(Categories.CoreCLR, Categories.Perflab)] + public class GetMember + { + public static int InnerIterationCount = 1000; // do not change the value and keep it public static NOT-readonly, ported "as is" from CoreCLR repo + + // all these fields will be initialized in init, so that they can be used directly in invocation + private static readonly TypeInfo s_t1; + private static readonly TypeInfo s_t2; + private static readonly TypeInfo s_t3; + private static readonly TypeInfo s_t4; + private static readonly TypeInfo s_t5; + private static readonly TypeInfo s_t6; + private static readonly TypeInfo s_t7; + private static readonly TypeInfo s_t8; + private static readonly TypeInfo s_t9; + private static readonly TypeInfo s_t10; + private static readonly TypeInfo s_t11; + private static readonly TypeInfo s_t12; + private static readonly TypeInfo s_t13; + private static readonly TypeInfo s_t14; + private static readonly TypeInfo s_t15; + private static readonly TypeInfo s_t16; + private static readonly TypeInfo s_t17; + private static readonly TypeInfo s_t18; + private static readonly TypeInfo s_t19; + private static readonly TypeInfo s_t20; + + static GetMember() + { + s_t1 = typeof(Class1).GetTypeInfo(); + s_t2 = typeof(Class2).GetTypeInfo(); + s_t3 = typeof(Class3).GetTypeInfo(); + s_t4 = typeof(Class4).GetTypeInfo(); + s_t5 = typeof(Class5).GetTypeInfo(); + s_t6 = typeof(Class6).GetTypeInfo(); + s_t7 = typeof(Class7).GetTypeInfo(); + s_t8 = typeof(Class8).GetTypeInfo(); + s_t9 = typeof(Class9).GetTypeInfo(); + s_t10 = typeof(Class10).GetTypeInfo(); + s_t11 = typeof(Class11).GetTypeInfo(); + s_t12 = typeof(Class12).GetTypeInfo(); + s_t13 = typeof(Class13).GetTypeInfo(); + s_t14 = typeof(Class14).GetTypeInfo(); + s_t15 = typeof(Class15).GetTypeInfo(); + s_t16 = typeof(Class16).GetTypeInfo(); + s_t17 = typeof(Class17).GetTypeInfo(); + s_t18 = typeof(Class18).GetTypeInfo(); + s_t19 = typeof(Class19).GetTypeInfo(); + s_t20 = typeof(Class20).GetTypeInfo(); + } + + [Benchmark] + public void GetField() + { + for (int i = 0; i < InnerIterationCount; i++) + { + s_t1.GetDeclaredField("f1"); + s_t1.GetDeclaredField("f2"); + s_t1.GetDeclaredField("f3"); + } + } + + [Benchmark] + public void GetMethod1() + { + for (int i = 0; i < InnerIterationCount; i++) + { + s_t1.GetDeclaredMethod("m1"); + s_t1.GetDeclaredMethod("m2"); + s_t1.GetDeclaredMethod("m3"); + } + } + + [Benchmark] + public void GetMethod2() + { + for (int i = 0; i < InnerIterationCount; i++) + { + s_t1.GetDeclaredMethod("m1"); + s_t1.GetDeclaredMethod("m2"); + s_t1.GetDeclaredMethod("m3"); + s_t2.GetDeclaredMethod("m1"); + s_t2.GetDeclaredMethod("m2"); + s_t2.GetDeclaredMethod("m3"); + } + } + + [Benchmark] + public void GetMethod3() + { + for (int i = 0; i < InnerIterationCount; i++) + { + s_t1.GetDeclaredMethod("m1"); + s_t1.GetDeclaredMethod("m2"); //TODO: check if we can really get the method + s_t1.GetDeclaredMethod("m3"); + s_t2.GetDeclaredMethod("m1"); + s_t2.GetDeclaredMethod("m2"); + s_t2.GetDeclaredMethod("m3"); + s_t3.GetDeclaredMethod("m1"); + s_t3.GetDeclaredMethod("m2"); + s_t3.GetDeclaredMethod("m3"); + } + } + + [Benchmark] + public void GetMethod4() + { + for (int i = 0; i < InnerIterationCount; i++) + { + s_t1.GetDeclaredMethod("m1"); + s_t1.GetDeclaredMethod("m2"); //TODO: check if we can really get the method + s_t1.GetDeclaredMethod("m3"); + s_t2.GetDeclaredMethod("m1"); + s_t2.GetDeclaredMethod("m2"); + s_t2.GetDeclaredMethod("m3"); + s_t3.GetDeclaredMethod("m1"); + s_t3.GetDeclaredMethod("m2"); + s_t3.GetDeclaredMethod("m3"); + s_t4.GetDeclaredMethod("m1"); + s_t4.GetDeclaredMethod("m2"); + s_t4.GetDeclaredMethod("m3"); + } + } + + [Benchmark] + public void GetMethod5() + { + for (int i = 0; i < InnerIterationCount; i++) + { + s_t1.GetDeclaredMethod("m1"); + s_t1.GetDeclaredMethod("m2"); + s_t1.GetDeclaredMethod("m3"); + s_t2.GetDeclaredMethod("m1"); + s_t2.GetDeclaredMethod("m2"); + s_t2.GetDeclaredMethod("m3"); + s_t3.GetDeclaredMethod("m1"); + s_t3.GetDeclaredMethod("m2"); + s_t3.GetDeclaredMethod("m3"); + s_t4.GetDeclaredMethod("m1"); + s_t4.GetDeclaredMethod("m2"); + s_t4.GetDeclaredMethod("m3"); + s_t5.GetDeclaredMethod("m1"); + s_t5.GetDeclaredMethod("m2"); + s_t5.GetDeclaredMethod("m3"); + } + } + + [Benchmark] + public void GetMethod10() + { + for (int i = 0; i < InnerIterationCount; i++) + { + s_t1.GetDeclaredMethod("m1"); + s_t1.GetDeclaredMethod("m2"); + s_t1.GetDeclaredMethod("m3"); + s_t2.GetDeclaredMethod("m1"); + s_t2.GetDeclaredMethod("m2"); + s_t2.GetDeclaredMethod("m3"); + s_t3.GetDeclaredMethod("m1"); + s_t3.GetDeclaredMethod("m2"); + s_t3.GetDeclaredMethod("m3"); + s_t4.GetDeclaredMethod("m1"); + s_t4.GetDeclaredMethod("m2"); + s_t4.GetDeclaredMethod("m3"); + s_t5.GetDeclaredMethod("m1"); + s_t5.GetDeclaredMethod("m2"); + s_t5.GetDeclaredMethod("m3"); + + s_t6.GetDeclaredMethod("m1"); + s_t6.GetDeclaredMethod("m2"); + s_t6.GetDeclaredMethod("m3"); + s_t7.GetDeclaredMethod("m1"); + s_t7.GetDeclaredMethod("m2"); + s_t7.GetDeclaredMethod("m3"); + s_t8.GetDeclaredMethod("m1"); + s_t8.GetDeclaredMethod("m2"); + s_t8.GetDeclaredMethod("m3"); + s_t9.GetDeclaredMethod("m1"); + s_t9.GetDeclaredMethod("m2"); + s_t9.GetDeclaredMethod("m3"); + s_t10.GetDeclaredMethod("m1"); + s_t10.GetDeclaredMethod("m2"); + s_t10.GetDeclaredMethod("m3"); + } + } + + [Benchmark] + public void GetMethod12() + { + for (int i = 0; i < InnerIterationCount; i++) + { + s_t1.GetDeclaredMethod("m1"); + s_t1.GetDeclaredMethod("m2"); + s_t1.GetDeclaredMethod("m3"); + s_t2.GetDeclaredMethod("m1"); + s_t2.GetDeclaredMethod("m2"); + s_t2.GetDeclaredMethod("m3"); + s_t3.GetDeclaredMethod("m1"); + s_t3.GetDeclaredMethod("m2"); + s_t3.GetDeclaredMethod("m3"); + s_t4.GetDeclaredMethod("m1"); + s_t4.GetDeclaredMethod("m2"); + s_t4.GetDeclaredMethod("m3"); + s_t5.GetDeclaredMethod("m1"); + s_t5.GetDeclaredMethod("m2"); + s_t5.GetDeclaredMethod("m3"); + + s_t6.GetDeclaredMethod("m1"); + s_t6.GetDeclaredMethod("m2"); + s_t6.GetDeclaredMethod("m3"); + s_t7.GetDeclaredMethod("m1"); + s_t7.GetDeclaredMethod("m2"); + s_t7.GetDeclaredMethod("m3"); + s_t8.GetDeclaredMethod("m1"); + s_t8.GetDeclaredMethod("m2"); + s_t8.GetDeclaredMethod("m3"); + s_t9.GetDeclaredMethod("m1"); + s_t9.GetDeclaredMethod("m2"); + s_t9.GetDeclaredMethod("m3"); + s_t10.GetDeclaredMethod("m1"); + s_t10.GetDeclaredMethod("m2"); + s_t10.GetDeclaredMethod("m3"); + + s_t11.GetDeclaredMethod("m1"); + s_t11.GetDeclaredMethod("m2"); + s_t11.GetDeclaredMethod("m3"); + s_t12.GetDeclaredMethod("m1"); + s_t12.GetDeclaredMethod("m2"); + s_t12.GetDeclaredMethod("m3"); + } + } + + [Benchmark] + public void GetMethod15() + { + for (int i = 0; i < InnerIterationCount; i++) + { + s_t1.GetDeclaredMethod("m1"); + s_t1.GetDeclaredMethod("m2"); + s_t1.GetDeclaredMethod("m3"); + s_t2.GetDeclaredMethod("m1"); + s_t2.GetDeclaredMethod("m2"); + s_t2.GetDeclaredMethod("m3"); + s_t3.GetDeclaredMethod("m1"); + s_t3.GetDeclaredMethod("m2"); + s_t3.GetDeclaredMethod("m3"); + s_t4.GetDeclaredMethod("m1"); + s_t4.GetDeclaredMethod("m2"); + s_t4.GetDeclaredMethod("m3"); + s_t5.GetDeclaredMethod("m1"); + s_t5.GetDeclaredMethod("m2"); + s_t5.GetDeclaredMethod("m3"); + + s_t6.GetDeclaredMethod("m1"); + s_t6.GetDeclaredMethod("m2"); + s_t6.GetDeclaredMethod("m3"); + s_t7.GetDeclaredMethod("m1"); + s_t7.GetDeclaredMethod("m2"); + s_t7.GetDeclaredMethod("m3"); + s_t8.GetDeclaredMethod("m1"); + s_t8.GetDeclaredMethod("m2"); + s_t8.GetDeclaredMethod("m3"); + s_t9.GetDeclaredMethod("m1"); + s_t9.GetDeclaredMethod("m2"); + s_t9.GetDeclaredMethod("m3"); + s_t10.GetDeclaredMethod("m1"); + s_t10.GetDeclaredMethod("m2"); + s_t10.GetDeclaredMethod("m3"); + + s_t11.GetDeclaredMethod("m1"); + s_t11.GetDeclaredMethod("m2"); + s_t11.GetDeclaredMethod("m3"); + s_t12.GetDeclaredMethod("m1"); + s_t12.GetDeclaredMethod("m2"); + s_t12.GetDeclaredMethod("m3"); + s_t13.GetDeclaredMethod("m1"); + s_t13.GetDeclaredMethod("m2"); + s_t13.GetDeclaredMethod("m3"); + s_t14.GetDeclaredMethod("m1"); + s_t14.GetDeclaredMethod("m2"); + s_t14.GetDeclaredMethod("m3"); + s_t15.GetDeclaredMethod("m1"); + s_t15.GetDeclaredMethod("m2"); + s_t15.GetDeclaredMethod("m3"); + } + } + + [Benchmark] + public void GetMethod20() + { + for (int i = 0; i < InnerIterationCount; i++) + { + s_t1.GetDeclaredMethod("m1"); + s_t1.GetDeclaredMethod("m2"); + s_t1.GetDeclaredMethod("m3"); + s_t2.GetDeclaredMethod("m1"); + s_t2.GetDeclaredMethod("m2"); + s_t2.GetDeclaredMethod("m3"); + s_t3.GetDeclaredMethod("m1"); + s_t3.GetDeclaredMethod("m2"); + s_t3.GetDeclaredMethod("m3"); + s_t4.GetDeclaredMethod("m1"); + s_t4.GetDeclaredMethod("m2"); + s_t4.GetDeclaredMethod("m3"); + s_t5.GetDeclaredMethod("m1"); + s_t5.GetDeclaredMethod("m2"); + s_t5.GetDeclaredMethod("m3"); + + s_t6.GetDeclaredMethod("m1"); + s_t6.GetDeclaredMethod("m2"); + s_t6.GetDeclaredMethod("m3"); + s_t7.GetDeclaredMethod("m1"); + s_t7.GetDeclaredMethod("m2"); + s_t7.GetDeclaredMethod("m3"); + s_t8.GetDeclaredMethod("m1"); + s_t8.GetDeclaredMethod("m2"); + s_t8.GetDeclaredMethod("m3"); + s_t9.GetDeclaredMethod("m1"); + s_t9.GetDeclaredMethod("m2"); + s_t9.GetDeclaredMethod("m3"); + s_t10.GetDeclaredMethod("m1"); + s_t10.GetDeclaredMethod("m2"); + s_t10.GetDeclaredMethod("m3"); + + s_t11.GetDeclaredMethod("m1"); + s_t11.GetDeclaredMethod("m2"); + s_t11.GetDeclaredMethod("m3"); + s_t12.GetDeclaredMethod("m1"); + s_t12.GetDeclaredMethod("m2"); + s_t12.GetDeclaredMethod("m3"); + s_t13.GetDeclaredMethod("m1"); + s_t13.GetDeclaredMethod("m2"); + s_t13.GetDeclaredMethod("m3"); + s_t14.GetDeclaredMethod("m1"); + s_t14.GetDeclaredMethod("m2"); + s_t14.GetDeclaredMethod("m3"); + s_t15.GetDeclaredMethod("m1"); + s_t15.GetDeclaredMethod("m2"); + s_t15.GetDeclaredMethod("m3"); + + s_t16.GetDeclaredMethod("m1"); + s_t16.GetDeclaredMethod("m2"); + s_t16.GetDeclaredMethod("m3"); + s_t17.GetDeclaredMethod("m1"); + s_t17.GetDeclaredMethod("m2"); + s_t17.GetDeclaredMethod("m3"); + s_t18.GetDeclaredMethod("m1"); + s_t18.GetDeclaredMethod("m2"); + s_t18.GetDeclaredMethod("m3"); + s_t19.GetDeclaredMethod("m1"); + s_t19.GetDeclaredMethod("m2"); + s_t19.GetDeclaredMethod("m3"); + s_t20.GetDeclaredMethod("m1"); + s_t20.GetDeclaredMethod("m2"); + s_t20.GetDeclaredMethod("m3"); + } + } + + /* + [Benchmark] + public void GetConstructor() + { + for (int i = 0; i < InnerIterationCount; i++) + { + s_t1.GetConstructor(new Type[] { }); + s_t1.GetConstructor(new Type[] { typeof(int) }); + s_t1.GetConstructor(new Type[] { typeof(int), typeof(int) }); + s_t2.GetConstructor(new Type[] { }); + s_t2.GetConstructor(new Type[] { typeof(int) }); + s_t2.GetConstructor(new Type[] { typeof(int), typeof(int) }); + s_t3.GetConstructor(new Type[] { }); + s_t3.GetConstructor(new Type[] { typeof(int) }); + s_t3.GetConstructor(new Type[] { typeof(int), typeof(int) }); + s_t4.GetConstructor(new Type[] { }); + s_t4.GetConstructor(new Type[] { typeof(int) }); + s_t4.GetConstructor(new Type[] { typeof(int), typeof(int) }); + s_t5.GetConstructor(new Type[] { }); + s_t5.GetConstructor(new Type[] { typeof(int) }); + s_t5.GetConstructor(new Type[] { typeof(int), typeof(int) }); + } + } + + [Benchmark] + public void GetProperty() + { + for (int i = 0; i < InnerIterationCount; i++) + { + PropertyInfo pi = s_t1.GetProperty("p1"); + pi.GetSetMethod(); + pi.GetGetMethod(); + pi = s_t1.GetProperty("p2"); + pi.GetSetMethod(); + pi.GetGetMethod(); + pi = s_t1.GetProperty("p3"); + pi.GetSetMethod(); + pi.GetGetMethod(); + pi = s_t2.GetProperty("p1"); + pi.GetSetMethod(); + pi.GetGetMethod(); + pi = s_t2.GetProperty("p2"); + pi.GetSetMethod(); + pi.GetGetMethod(); + pi = s_t2.GetProperty("p3"); + pi.GetSetMethod(); + pi.GetGetMethod(); + s_t3.GetProperty("p1"); + s_t3.GetProperty("p2"); + s_t3.GetProperty("p3"); + s_t4.GetProperty("p1"); + s_t4.GetProperty("p2"); + s_t4.GetProperty("p3"); + s_t5.GetProperty("p1"); + s_t5.GetProperty("p2"); + s_t5.GetProperty("p3"); + } + } + + [Benchmark] + public void GetEvent() + { + for (int i = 0; i < InnerIterationCount; i++) + { + EventInfo ei = s_t1.GetEvent("e1"); + ei.GetAddMethod(); + ei.GetRaiseMethod(); + ei.GetRemoveMethod(); + s_t1.GetEvent("e2"); + ei.GetAddMethod(); + ei.GetRaiseMethod(); + ei.GetRemoveMethod(); + s_t1.GetEvent("e3"); + ei.GetAddMethod(); + ei.GetRaiseMethod(); + ei.GetRemoveMethod(); + s_t2.GetEvent("e1"); + ei.GetAddMethod(); + ei.GetRaiseMethod(); + ei.GetRemoveMethod(); + s_t2.GetEvent("e2"); + ei.GetAddMethod(); + ei.GetRaiseMethod(); + ei.GetRemoveMethod(); + s_t2.GetEvent("e3"); + ei.GetAddMethod(); + ei.GetRaiseMethod(); + ei.GetRemoveMethod(); + s_t3.GetEvent("e1"); + s_t3.GetEvent("e2"); + s_t3.GetEvent("e3"); + s_t4.GetEvent("e1"); + s_t4.GetEvent("e2"); + s_t4.GetEvent("e3"); + s_t5.GetEvent("e1"); + s_t5.GetEvent("e2"); + s_t5.GetEvent("e3"); + } + } + */ + } + + #region ClassDef + public class Class1 + { + public Class1() { } + public Class1(int i) { } + public Class1(int i, int ii) { } + public int f0 = 0; + static public int f1 = 0; + public int f2 = 0; + public int f3 = 0; + public int f4 = 0; + public int f5 = 0; + public int f6 = 0; + public int f7 = 0; + public int f8 = 0; + public int f9 = 0; + public int f10 = 0; + public int f11 = 0; + public int f12 = 0; + public int f13 = 0; + public int f14 = 0; + public int f15 = 0; + public int f16 = 0; + public int f17 = 0; + public int f18 = 0; + public int f19 = 0; + public int f20 = 0; + public int f21 = 0; + public int f22 = 0; + public int f23 = 0; + public int f24 = 0; + + public void m1() { } + static public void m2() { } + public void m3() { } + public void m4() { } + public void m5() { } + public void m6() { } + public void m7() { } + public void m8() { } + public void m9() { } + public void m10() { } + public void m11() { } + public void m12() { } + public void m13() { } + public void m14() { } + public void m15() { } + public void m16() { } + public void m17() { } + public void m18() { } + public void m19() { } + public void m20() { } + public void m21() { } + public void m22() { } + public void m23() { } + public void m24() { } + + public int p0 { get { return 1; } set { } } + static public int p1 { get { return 1; } set { } } + public int p2 { get { return 1; } set { } } + public int p3 { get { return 1; } set { } } + public int p4 { get { return 1; } set { } } + public int p5 { get { return 1; } set { } } + public int p6 { get { return 1; } set { } } + public int p7 { get { return 1; } set { } } + public int p8 { get { return 1; } set { } } + public int p9 { get { return 1; } set { } } + public int p10 { get { return 1; } set { } } + public int p11 { get { return 1; } set { } } + public int p12 { get { return 1; } set { } } + public int p13 { get { return 1; } set { } } + public int p14 { get { return 1; } set { } } + public int p15 { get { return 1; } set { } } + public int p16 { get { return 1; } set { } } + public int p17 { get { return 1; } set { } } + public int p18 { get { return 1; } set { } } + public int p19 { get { return 1; } set { } } + public int p20 { get { return 1; } set { } } + public int p21 { get { return 1; } set { } } + public int p22 { get { return 1; } set { } } + public int p23 { get { return 1; } set { } } + public int p24 { get { return 1; } set { } } + + public event d e0; + static public event d e1; + public event d e2; + public event d e3; + public event d e4; + public event d e5; + public event d e6; + public event d e7; + public event d e8; + public event d e9; + public event d e10; + public event d e11; + public event d e12; + public event d e13; + public event d e14; + public event d e15; + public event d e16; + public event d e17; + public event d e18; + public event d e19; + public event d e20; + public event d e21; + public event d e22; + public event d e23; + public event d e24; + + public void NoWarning() + { + e0 += new d(m1); + e1 += new d(m1); + e2 += new d(m1); + e3 += new d(m1); + e4 += new d(m1); + e5 += new d(m1); + e6 += new d(m1); + e7 += new d(m1); + e8 += new d(m1); + e9 += new d(m1); + e10 += new d(m1); + e11 += new d(m1); + e12 += new d(m1); + e13 += new d(m1); + e14 += new d(m1); + e15 += new d(m1); + e16 += new d(m1); + e17 += new d(m1); + e18 += new d(m1); + e19 += new d(m1); + e20 += new d(m1); + e21 += new d(m1); + e22 += new d(m1); + e23 += new d(m1); + e24 += new d(m1); + } + } + public class Class2 + { + public Class2() { } + public Class2(int i) { } + public Class2(int i, int ii) { } + public int f0 = 0; + static public int f1 = 0; + public int f2 = 0; + public int f3 = 0; + public int f4 = 0; + public int f5 = 0; + public int f6 = 0; + public int f7 = 0; + public int f8 = 0; + public int f9 = 0; + public int f10 = 0; + public int f11 = 0; + public int f12 = 0; + public int f13 = 0; + public int f14 = 0; + public int f15 = 0; + public int f16 = 0; + public int f17 = 0; + public int f18 = 0; + public int f19 = 0; + public int f20 = 0; + public int f21 = 0; + public int f22 = 0; + public int f23 = 0; + public int f24 = 0; + + public void m1() { } + static public void m2() { } + public void m3() { } + public void m4() { } + public void m5() { } + public void m6() { } + public void m7() { } + public void m8() { } + public void m9() { } + public void m10() { } + public void m11() { } + public void m12() { } + public void m13() { } + public void m14() { } + public void m15() { } + public void m16() { } + public void m17() { } + public void m18() { } + public void m19() { } + public void m20() { } + public void m21() { } + public void m22() { } + public void m23() { } + public void m24() { } + + public int p0 { get { return 1; } set { } } + static public int p1 { get { return 1; } set { } } + public int p2 { get { return 1; } set { } } + public int p3 { get { return 1; } set { } } + public int p4 { get { return 1; } set { } } + public int p5 { get { return 1; } set { } } + public int p6 { get { return 1; } set { } } + public int p7 { get { return 1; } set { } } + public int p8 { get { return 1; } set { } } + public int p9 { get { return 1; } set { } } + public int p10 { get { return 1; } set { } } + public int p11 { get { return 1; } set { } } + public int p12 { get { return 1; } set { } } + public int p13 { get { return 1; } set { } } + public int p14 { get { return 1; } set { } } + public int p15 { get { return 1; } set { } } + public int p16 { get { return 1; } set { } } + public int p17 { get { return 1; } set { } } + public int p18 { get { return 1; } set { } } + public int p19 { get { return 1; } set { } } + public int p20 { get { return 1; } set { } } + public int p21 { get { return 1; } set { } } + public int p22 { get { return 1; } set { } } + public int p23 { get { return 1; } set { } } + public int p24 { get { return 1; } set { } } + + public event d e0; + static public event d e1; + public event d e2; + public event d e3; + public event d e4; + public event d e5; + public event d e6; + public event d e7; + public event d e8; + public event d e9; + public event d e10; + public event d e11; + public event d e12; + public event d e13; + public event d e14; + public event d e15; + public event d e16; + public event d e17; + public event d e18; + public event d e19; + public event d e20; + public event d e21; + public event d e22; + public event d e23; + public event d e24; + + public void NoWarning() + { + e0 += new d(m1); + e1 += new d(m1); + e2 += new d(m1); + e3 += new d(m1); + e4 += new d(m1); + e5 += new d(m1); + e6 += new d(m1); + e7 += new d(m1); + e8 += new d(m1); + e9 += new d(m1); + e10 += new d(m1); + e11 += new d(m1); + e12 += new d(m1); + e13 += new d(m1); + e14 += new d(m1); + e15 += new d(m1); + e16 += new d(m1); + e17 += new d(m1); + e18 += new d(m1); + e19 += new d(m1); + e20 += new d(m1); + e21 += new d(m1); + e22 += new d(m1); + e23 += new d(m1); + e24 += new d(m1); + } + } + + public class Class3 + { + public Class3() { } + public Class3(int i) { } + public Class3(int i, int ii) { } + public int f0 = 0; + static public int f1 = 0; + public int f2 = 0; + public int f3 = 0; + public int f4 = 0; + public int f5 = 0; + public int f6 = 0; + public int f7 = 0; + public int f8 = 0; + public int f9 = 0; + public int f10 = 0; + public int f11 = 0; + public int f12 = 0; + public int f13 = 0; + public int f14 = 0; + public int f15 = 0; + public int f16 = 0; + public int f17 = 0; + public int f18 = 0; + public int f19 = 0; + public int f20 = 0; + public int f21 = 0; + public int f22 = 0; + public int f23 = 0; + public int f24 = 0; + + public void m1() { } + static public void m2() { } + public void m3() { } + public void m4() { } + public void m5() { } + public void m6() { } + public void m7() { } + public void m8() { } + public void m9() { } + public void m10() { } + public void m11() { } + public void m12() { } + public void m13() { } + public void m14() { } + public void m15() { } + public void m16() { } + public void m17() { } + public void m18() { } + public void m19() { } + public void m20() { } + public void m21() { } + public void m22() { } + public void m23() { } + public void m24() { } + + public int p0 { get { return 1; } set { } } + static public int p1 { get { return 1; } set { } } + public int p2 { get { return 1; } set { } } + public int p3 { get { return 1; } set { } } + public int p4 { get { return 1; } set { } } + public int p5 { get { return 1; } set { } } + public int p6 { get { return 1; } set { } } + public int p7 { get { return 1; } set { } } + public int p8 { get { return 1; } set { } } + public int p9 { get { return 1; } set { } } + public int p10 { get { return 1; } set { } } + public int p11 { get { return 1; } set { } } + public int p12 { get { return 1; } set { } } + public int p13 { get { return 1; } set { } } + public int p14 { get { return 1; } set { } } + public int p15 { get { return 1; } set { } } + public int p16 { get { return 1; } set { } } + public int p17 { get { return 1; } set { } } + public int p18 { get { return 1; } set { } } + public int p19 { get { return 1; } set { } } + public int p20 { get { return 1; } set { } } + public int p21 { get { return 1; } set { } } + public int p22 { get { return 1; } set { } } + public int p23 { get { return 1; } set { } } + public int p24 { get { return 1; } set { } } + + public event d e0; + static public event d e1; + public event d e2; + public event d e3; + public event d e4; + public event d e5; + public event d e6; + public event d e7; + public event d e8; + public event d e9; + public event d e10; + public event d e11; + public event d e12; + public event d e13; + public event d e14; + public event d e15; + public event d e16; + public event d e17; + public event d e18; + public event d e19; + public event d e20; + public event d e21; + public event d e22; + public event d e23; + public event d e24; + + public void NoWarning() + { + e0 += new d(m1); + e1 += new d(m1); + e2 += new d(m1); + e3 += new d(m1); + e4 += new d(m1); + e5 += new d(m1); + e6 += new d(m1); + e7 += new d(m1); + e8 += new d(m1); + e9 += new d(m1); + e10 += new d(m1); + e11 += new d(m1); + e12 += new d(m1); + e13 += new d(m1); + e14 += new d(m1); + e15 += new d(m1); + e16 += new d(m1); + e17 += new d(m1); + e18 += new d(m1); + e19 += new d(m1); + e20 += new d(m1); + e21 += new d(m1); + e22 += new d(m1); + e23 += new d(m1); + e24 += new d(m1); + } + } + + public class Class4 + { + public Class4() { } + public Class4(int i) { } + public Class4(int i, int ii) { } + + public int f0 = 0; + static public int f1 = 0; + public int f2 = 0; + public int f3 = 0; + public int f4 = 0; + public int f5 = 0; + public int f6 = 0; + public int f7 = 0; + public int f8 = 0; + public int f9 = 0; + public int f10 = 0; + public int f11 = 0; + public int f12 = 0; + public int f13 = 0; + public int f14 = 0; + public int f15 = 0; + public int f16 = 0; + public int f17 = 0; + public int f18 = 0; + public int f19 = 0; + public int f20 = 0; + public int f21 = 0; + public int f22 = 0; + public int f23 = 0; + public int f24 = 0; + + public void m1() { } + static public void m2() { } + public void m3() { } + public void m4() { } + public void m5() { } + public void m6() { } + public void m7() { } + public void m8() { } + public void m9() { } + public void m10() { } + public void m11() { } + public void m12() { } + public void m13() { } + public void m14() { } + public void m15() { } + public void m16() { } + public void m17() { } + public void m18() { } + public void m19() { } + public void m20() { } + public void m21() { } + public void m22() { } + public void m23() { } + public void m24() { } + + public int p0 { get { return 1; } set { } } + static public int p1 { get { return 1; } set { } } + public int p2 { get { return 1; } set { } } + public int p3 { get { return 1; } set { } } + public int p4 { get { return 1; } set { } } + public int p5 { get { return 1; } set { } } + public int p6 { get { return 1; } set { } } + public int p7 { get { return 1; } set { } } + public int p8 { get { return 1; } set { } } + public int p9 { get { return 1; } set { } } + public int p10 { get { return 1; } set { } } + public int p11 { get { return 1; } set { } } + public int p12 { get { return 1; } set { } } + public int p13 { get { return 1; } set { } } + public int p14 { get { return 1; } set { } } + public int p15 { get { return 1; } set { } } + public int p16 { get { return 1; } set { } } + public int p17 { get { return 1; } set { } } + public int p18 { get { return 1; } set { } } + public int p19 { get { return 1; } set { } } + public int p20 { get { return 1; } set { } } + public int p21 { get { return 1; } set { } } + public int p22 { get { return 1; } set { } } + public int p23 { get { return 1; } set { } } + public int p24 { get { return 1; } set { } } + + public event d e0; + static public event d e1; + public event d e2; + public event d e3; + public event d e4; + public event d e5; + public event d e6; + public event d e7; + public event d e8; + public event d e9; + public event d e10; + public event d e11; + public event d e12; + public event d e13; + public event d e14; + public event d e15; + public event d e16; + public event d e17; + public event d e18; + public event d e19; + public event d e20; + public event d e21; + public event d e22; + public event d e23; + public event d e24; + + public void NoWarning() + { + e0 += new d(m1); + e1 += new d(m1); + e2 += new d(m1); + e3 += new d(m1); + e4 += new d(m1); + e5 += new d(m1); + e6 += new d(m1); + e7 += new d(m1); + e8 += new d(m1); + e9 += new d(m1); + e10 += new d(m1); + e11 += new d(m1); + e12 += new d(m1); + e13 += new d(m1); + e14 += new d(m1); + e15 += new d(m1); + e16 += new d(m1); + e17 += new d(m1); + e18 += new d(m1); + e19 += new d(m1); + e20 += new d(m1); + e21 += new d(m1); + e22 += new d(m1); + e23 += new d(m1); + e24 += new d(m1); + } + } + + public class Class5 + { + public Class5() { } + public Class5(int i) { } + public Class5(int i, int ii) { } + + public int f0 = 0; + static public int f1 = 0; + public int f2 = 0; + public int f3 = 0; + public int f4 = 0; + public int f5 = 0; + public int f6 = 0; + public int f7 = 0; + public int f8 = 0; + public int f9 = 0; + public int f10 = 0; + public int f11 = 0; + public int f12 = 0; + public int f13 = 0; + public int f14 = 0; + public int f15 = 0; + public int f16 = 0; + public int f17 = 0; + public int f18 = 0; + public int f19 = 0; + public int f20 = 0; + public int f21 = 0; + public int f22 = 0; + public int f23 = 0; + public int f24 = 0; + + public void m1() { } + static public void m2() { } + public void m3() { } + public void m4() { } + public void m5() { } + public void m6() { } + public void m7() { } + public void m8() { } + public void m9() { } + public void m10() { } + public void m11() { } + public void m12() { } + public void m13() { } + public void m14() { } + public void m15() { } + public void m16() { } + public void m17() { } + public void m18() { } + public void m19() { } + public void m20() { } + public void m21() { } + public void m22() { } + public void m23() { } + public void m24() { } + + public int p0 { get { return 1; } set { } } + static public int p1 { get { return 1; } set { } } + public int p2 { get { return 1; } set { } } + public int p3 { get { return 1; } set { } } + public int p4 { get { return 1; } set { } } + public int p5 { get { return 1; } set { } } + public int p6 { get { return 1; } set { } } + public int p7 { get { return 1; } set { } } + public int p8 { get { return 1; } set { } } + public int p9 { get { return 1; } set { } } + public int p10 { get { return 1; } set { } } + public int p11 { get { return 1; } set { } } + public int p12 { get { return 1; } set { } } + public int p13 { get { return 1; } set { } } + public int p14 { get { return 1; } set { } } + public int p15 { get { return 1; } set { } } + public int p16 { get { return 1; } set { } } + public int p17 { get { return 1; } set { } } + public int p18 { get { return 1; } set { } } + public int p19 { get { return 1; } set { } } + public int p20 { get { return 1; } set { } } + public int p21 { get { return 1; } set { } } + public int p22 { get { return 1; } set { } } + public int p23 { get { return 1; } set { } } + public int p24 { get { return 1; } set { } } + + public event d e0; + static public event d e1; + public event d e2; + public event d e3; + public event d e4; + public event d e5; + public event d e6; + public event d e7; + public event d e8; + public event d e9; + public event d e10; + public event d e11; + public event d e12; + public event d e13; + public event d e14; + public event d e15; + public event d e16; + public event d e17; + public event d e18; + public event d e19; + public event d e20; + public event d e21; + public event d e22; + public event d e23; + public event d e24; + + public void NoWarning() + { + e0 += new d(m1); + e1 += new d(m1); + e2 += new d(m1); + e3 += new d(m1); + e4 += new d(m1); + e5 += new d(m1); + e6 += new d(m1); + e7 += new d(m1); + e8 += new d(m1); + e9 += new d(m1); + e10 += new d(m1); + e11 += new d(m1); + e12 += new d(m1); + e13 += new d(m1); + e14 += new d(m1); + e15 += new d(m1); + e16 += new d(m1); + e17 += new d(m1); + e18 += new d(m1); + e19 += new d(m1); + e20 += new d(m1); + e21 += new d(m1); + e22 += new d(m1); + e23 += new d(m1); + e24 += new d(m1); + } + } + + public class Class6 + { + public Class6() { } + public Class6(int i) { } + public Class6(int i, int ii) { } + + public int f0 = 0; + static public int f1 = 0; + public int f2 = 0; + public int f3 = 0; + public int f4 = 0; + public int f5 = 0; + public int f6 = 0; + public int f7 = 0; + public int f8 = 0; + public int f9 = 0; + public int f10 = 0; + public int f11 = 0; + public int f12 = 0; + public int f13 = 0; + public int f14 = 0; + public int f15 = 0; + public int f16 = 0; + public int f17 = 0; + public int f18 = 0; + public int f19 = 0; + public int f20 = 0; + public int f21 = 0; + public int f22 = 0; + public int f23 = 0; + public int f24 = 0; + + public void m1() { } + static public void m2() { } + public void m3() { } + public void m4() { } + public void m5() { } + public void m6() { } + public void m7() { } + public void m8() { } + public void m9() { } + public void m10() { } + public void m11() { } + public void m12() { } + public void m13() { } + public void m14() { } + public void m15() { } + public void m16() { } + public void m17() { } + public void m18() { } + public void m19() { } + public void m20() { } + public void m21() { } + public void m22() { } + public void m23() { } + public void m24() { } + + public int p0 { get { return 1; } set { } } + static public int p1 { get { return 1; } set { } } + public int p2 { get { return 1; } set { } } + public int p3 { get { return 1; } set { } } + public int p4 { get { return 1; } set { } } + public int p5 { get { return 1; } set { } } + public int p6 { get { return 1; } set { } } + public int p7 { get { return 1; } set { } } + public int p8 { get { return 1; } set { } } + public int p9 { get { return 1; } set { } } + public int p10 { get { return 1; } set { } } + public int p11 { get { return 1; } set { } } + public int p12 { get { return 1; } set { } } + public int p13 { get { return 1; } set { } } + public int p14 { get { return 1; } set { } } + public int p15 { get { return 1; } set { } } + public int p16 { get { return 1; } set { } } + public int p17 { get { return 1; } set { } } + public int p18 { get { return 1; } set { } } + public int p19 { get { return 1; } set { } } + public int p20 { get { return 1; } set { } } + public int p21 { get { return 1; } set { } } + public int p22 { get { return 1; } set { } } + public int p23 { get { return 1; } set { } } + public int p24 { get { return 1; } set { } } + + public event d e0; + static public event d e1; + public event d e2; + public event d e3; + public event d e4; + public event d e5; + public event d e6; + public event d e7; + public event d e8; + public event d e9; + public event d e10; + public event d e11; + public event d e12; + public event d e13; + public event d e14; + public event d e15; + public event d e16; + public event d e17; + public event d e18; + public event d e19; + public event d e20; + public event d e21; + public event d e22; + public event d e23; + public event d e24; + + public void NoWarning() + { + e0 += new d(m1); + e1 += new d(m1); + e2 += new d(m1); + e3 += new d(m1); + e4 += new d(m1); + e5 += new d(m1); + e6 += new d(m1); + e7 += new d(m1); + e8 += new d(m1); + e9 += new d(m1); + e10 += new d(m1); + e11 += new d(m1); + e12 += new d(m1); + e13 += new d(m1); + e14 += new d(m1); + e15 += new d(m1); + e16 += new d(m1); + e17 += new d(m1); + e18 += new d(m1); + e19 += new d(m1); + e20 += new d(m1); + e21 += new d(m1); + e22 += new d(m1); + e23 += new d(m1); + e24 += new d(m1); + } + } + + public class Class7 + { + public Class7() { } + public Class7(int i) { } + public Class7(int i, int ii) { } + + public int f0 = 0; + static public int f1 = 0; + public int f2 = 0; + public int f3 = 0; + public int f4 = 0; + public int f5 = 0; + public int f6 = 0; + public int f7 = 0; + public int f8 = 0; + public int f9 = 0; + public int f10 = 0; + public int f11 = 0; + public int f12 = 0; + public int f13 = 0; + public int f14 = 0; + public int f15 = 0; + public int f16 = 0; + public int f17 = 0; + public int f18 = 0; + public int f19 = 0; + public int f20 = 0; + public int f21 = 0; + public int f22 = 0; + public int f23 = 0; + public int f24 = 0; + + public void m1() { } + static public void m2() { } + public void m3() { } + public void m4() { } + public void m5() { } + public void m6() { } + public void m7() { } + public void m8() { } + public void m9() { } + public void m10() { } + public void m11() { } + public void m12() { } + public void m13() { } + public void m14() { } + public void m15() { } + public void m16() { } + public void m17() { } + public void m18() { } + public void m19() { } + public void m20() { } + public void m21() { } + public void m22() { } + public void m23() { } + public void m24() { } + + public int p0 { get { return 1; } set { } } + static public int p1 { get { return 1; } set { } } + public int p2 { get { return 1; } set { } } + public int p3 { get { return 1; } set { } } + public int p4 { get { return 1; } set { } } + public int p5 { get { return 1; } set { } } + public int p6 { get { return 1; } set { } } + public int p7 { get { return 1; } set { } } + public int p8 { get { return 1; } set { } } + public int p9 { get { return 1; } set { } } + public int p10 { get { return 1; } set { } } + public int p11 { get { return 1; } set { } } + public int p12 { get { return 1; } set { } } + public int p13 { get { return 1; } set { } } + public int p14 { get { return 1; } set { } } + public int p15 { get { return 1; } set { } } + public int p16 { get { return 1; } set { } } + public int p17 { get { return 1; } set { } } + public int p18 { get { return 1; } set { } } + public int p19 { get { return 1; } set { } } + public int p20 { get { return 1; } set { } } + public int p21 { get { return 1; } set { } } + public int p22 { get { return 1; } set { } } + public int p23 { get { return 1; } set { } } + public int p24 { get { return 1; } set { } } + + public event d e0; + static public event d e1; + public event d e2; + public event d e3; + public event d e4; + public event d e5; + public event d e6; + public event d e7; + public event d e8; + public event d e9; + public event d e10; + public event d e11; + public event d e12; + public event d e13; + public event d e14; + public event d e15; + public event d e16; + public event d e17; + public event d e18; + public event d e19; + public event d e20; + public event d e21; + public event d e22; + public event d e23; + public event d e24; + + public void NoWarning() + { + e0 += new d(m1); + e1 += new d(m1); + e2 += new d(m1); + e3 += new d(m1); + e4 += new d(m1); + e5 += new d(m1); + e6 += new d(m1); + e7 += new d(m1); + e8 += new d(m1); + e9 += new d(m1); + e10 += new d(m1); + e11 += new d(m1); + e12 += new d(m1); + e13 += new d(m1); + e14 += new d(m1); + e15 += new d(m1); + e16 += new d(m1); + e17 += new d(m1); + e18 += new d(m1); + e19 += new d(m1); + e20 += new d(m1); + e21 += new d(m1); + e22 += new d(m1); + e23 += new d(m1); + e24 += new d(m1); + } + } + + public class Class8 + { + public Class8() { } + public Class8(int i) { } + public Class8(int i, int ii) { } + + public int f0 = 0; + static public int f1 = 0; + public int f2 = 0; + public int f3 = 0; + public int f4 = 0; + public int f5 = 0; + public int f6 = 0; + public int f7 = 0; + public int f8 = 0; + public int f9 = 0; + public int f10 = 0; + public int f11 = 0; + public int f12 = 0; + public int f13 = 0; + public int f14 = 0; + public int f15 = 0; + public int f16 = 0; + public int f17 = 0; + public int f18 = 0; + public int f19 = 0; + public int f20 = 0; + public int f21 = 0; + public int f22 = 0; + public int f23 = 0; + public int f24 = 0; + + public void m1() { } + static public void m2() { } + public void m3() { } + public void m4() { } + public void m5() { } + public void m6() { } + public void m7() { } + public void m8() { } + public void m9() { } + public void m10() { } + public void m11() { } + public void m12() { } + public void m13() { } + public void m14() { } + public void m15() { } + public void m16() { } + public void m17() { } + public void m18() { } + public void m19() { } + public void m20() { } + public void m21() { } + public void m22() { } + public void m23() { } + public void m24() { } + + public int p0 { get { return 1; } set { } } + static public int p1 { get { return 1; } set { } } + public int p2 { get { return 1; } set { } } + public int p3 { get { return 1; } set { } } + public int p4 { get { return 1; } set { } } + public int p5 { get { return 1; } set { } } + public int p6 { get { return 1; } set { } } + public int p7 { get { return 1; } set { } } + public int p8 { get { return 1; } set { } } + public int p9 { get { return 1; } set { } } + public int p10 { get { return 1; } set { } } + public int p11 { get { return 1; } set { } } + public int p12 { get { return 1; } set { } } + public int p13 { get { return 1; } set { } } + public int p14 { get { return 1; } set { } } + public int p15 { get { return 1; } set { } } + public int p16 { get { return 1; } set { } } + public int p17 { get { return 1; } set { } } + public int p18 { get { return 1; } set { } } + public int p19 { get { return 1; } set { } } + public int p20 { get { return 1; } set { } } + public int p21 { get { return 1; } set { } } + public int p22 { get { return 1; } set { } } + public int p23 { get { return 1; } set { } } + public int p24 { get { return 1; } set { } } + + public event d e0; + static public event d e1; + public event d e2; + public event d e3; + public event d e4; + public event d e5; + public event d e6; + public event d e7; + public event d e8; + public event d e9; + public event d e10; + public event d e11; + public event d e12; + public event d e13; + public event d e14; + public event d e15; + public event d e16; + public event d e17; + public event d e18; + public event d e19; + public event d e20; + public event d e21; + public event d e22; + public event d e23; + public event d e24; + + public void NoWarning() + { + e0 += new d(m1); + e1 += new d(m1); + e2 += new d(m1); + e3 += new d(m1); + e4 += new d(m1); + e5 += new d(m1); + e6 += new d(m1); + e7 += new d(m1); + e8 += new d(m1); + e9 += new d(m1); + e10 += new d(m1); + e11 += new d(m1); + e12 += new d(m1); + e13 += new d(m1); + e14 += new d(m1); + e15 += new d(m1); + e16 += new d(m1); + e17 += new d(m1); + e18 += new d(m1); + e19 += new d(m1); + e20 += new d(m1); + e21 += new d(m1); + e22 += new d(m1); + e23 += new d(m1); + e24 += new d(m1); + } + } + + public class Class9 + { + public Class9() { } + public Class9(int i) { } + public Class9(int i, int ii) { } + + public int f0 = 0; + static public int f1 = 0; + public int f2 = 0; + public int f3 = 0; + public int f4 = 0; + public int f5 = 0; + public int f6 = 0; + public int f7 = 0; + public int f8 = 0; + public int f9 = 0; + public int f10 = 0; + public int f11 = 0; + public int f12 = 0; + public int f13 = 0; + public int f14 = 0; + public int f15 = 0; + public int f16 = 0; + public int f17 = 0; + public int f18 = 0; + public int f19 = 0; + public int f20 = 0; + public int f21 = 0; + public int f22 = 0; + public int f23 = 0; + public int f24 = 0; + + public void m1() { } + static public void m2() { } + public void m3() { } + public void m4() { } + public void m5() { } + public void m6() { } + public void m7() { } + public void m8() { } + public void m9() { } + public void m10() { } + public void m11() { } + public void m12() { } + public void m13() { } + public void m14() { } + public void m15() { } + public void m16() { } + public void m17() { } + public void m18() { } + public void m19() { } + public void m20() { } + public void m21() { } + public void m22() { } + public void m23() { } + public void m24() { } + + public int p0 { get { return 1; } set { } } + static public int p1 { get { return 1; } set { } } + public int p2 { get { return 1; } set { } } + public int p3 { get { return 1; } set { } } + public int p4 { get { return 1; } set { } } + public int p5 { get { return 1; } set { } } + public int p6 { get { return 1; } set { } } + public int p7 { get { return 1; } set { } } + public int p8 { get { return 1; } set { } } + public int p9 { get { return 1; } set { } } + public int p10 { get { return 1; } set { } } + public int p11 { get { return 1; } set { } } + public int p12 { get { return 1; } set { } } + public int p13 { get { return 1; } set { } } + public int p14 { get { return 1; } set { } } + public int p15 { get { return 1; } set { } } + public int p16 { get { return 1; } set { } } + public int p17 { get { return 1; } set { } } + public int p18 { get { return 1; } set { } } + public int p19 { get { return 1; } set { } } + public int p20 { get { return 1; } set { } } + public int p21 { get { return 1; } set { } } + public int p22 { get { return 1; } set { } } + public int p23 { get { return 1; } set { } } + public int p24 { get { return 1; } set { } } + + public event d e0; + static public event d e1; + public event d e2; + public event d e3; + public event d e4; + public event d e5; + public event d e6; + public event d e7; + public event d e8; + public event d e9; + public event d e10; + public event d e11; + public event d e12; + public event d e13; + public event d e14; + public event d e15; + public event d e16; + public event d e17; + public event d e18; + public event d e19; + public event d e20; + public event d e21; + public event d e22; + public event d e23; + public event d e24; + + public void NoWarning() + { + e0 += new d(m1); + e1 += new d(m1); + e2 += new d(m1); + e3 += new d(m1); + e4 += new d(m1); + e5 += new d(m1); + e6 += new d(m1); + e7 += new d(m1); + e8 += new d(m1); + e9 += new d(m1); + e10 += new d(m1); + e11 += new d(m1); + e12 += new d(m1); + e13 += new d(m1); + e14 += new d(m1); + e15 += new d(m1); + e16 += new d(m1); + e17 += new d(m1); + e18 += new d(m1); + e19 += new d(m1); + e20 += new d(m1); + e21 += new d(m1); + e22 += new d(m1); + e23 += new d(m1); + e24 += new d(m1); + } + } + + public class Class10 + { + public Class10() { } + public Class10(int i) { } + public Class10(int i, int ii) { } + + public int f0 = 0; + static public int f1 = 0; + public int f2 = 0; + public int f3 = 0; + public int f4 = 0; + public int f5 = 0; + public int f6 = 0; + public int f7 = 0; + public int f8 = 0; + public int f9 = 0; + public int f10 = 0; + public int f11 = 0; + public int f12 = 0; + public int f13 = 0; + public int f14 = 0; + public int f15 = 0; + public int f16 = 0; + public int f17 = 0; + public int f18 = 0; + public int f19 = 0; + public int f20 = 0; + public int f21 = 0; + public int f22 = 0; + public int f23 = 0; + public int f24 = 0; + + public void m1() { } + static public void m2() { } + public void m3() { } + public void m4() { } + public void m5() { } + public void m6() { } + public void m7() { } + public void m8() { } + public void m9() { } + public void m10() { } + public void m11() { } + public void m12() { } + public void m13() { } + public void m14() { } + public void m15() { } + public void m16() { } + public void m17() { } + public void m18() { } + public void m19() { } + public void m20() { } + public void m21() { } + public void m22() { } + public void m23() { } + public void m24() { } + + public int p0 { get { return 1; } set { } } + static public int p1 { get { return 1; } set { } } + public int p2 { get { return 1; } set { } } + public int p3 { get { return 1; } set { } } + public int p4 { get { return 1; } set { } } + public int p5 { get { return 1; } set { } } + public int p6 { get { return 1; } set { } } + public int p7 { get { return 1; } set { } } + public int p8 { get { return 1; } set { } } + public int p9 { get { return 1; } set { } } + public int p10 { get { return 1; } set { } } + public int p11 { get { return 1; } set { } } + public int p12 { get { return 1; } set { } } + public int p13 { get { return 1; } set { } } + public int p14 { get { return 1; } set { } } + public int p15 { get { return 1; } set { } } + public int p16 { get { return 1; } set { } } + public int p17 { get { return 1; } set { } } + public int p18 { get { return 1; } set { } } + public int p19 { get { return 1; } set { } } + public int p20 { get { return 1; } set { } } + public int p21 { get { return 1; } set { } } + public int p22 { get { return 1; } set { } } + public int p23 { get { return 1; } set { } } + public int p24 { get { return 1; } set { } } + + public event d e0; + static public event d e1; + public event d e2; + public event d e3; + public event d e4; + public event d e5; + public event d e6; + public event d e7; + public event d e8; + public event d e9; + public event d e10; + public event d e11; + public event d e12; + public event d e13; + public event d e14; + public event d e15; + public event d e16; + public event d e17; + public event d e18; + public event d e19; + public event d e20; + public event d e21; + public event d e22; + public event d e23; + public event d e24; + + public void NoWarning() + { + e0 += new d(m1); + e1 += new d(m1); + e2 += new d(m1); + e3 += new d(m1); + e4 += new d(m1); + e5 += new d(m1); + e6 += new d(m1); + e7 += new d(m1); + e8 += new d(m1); + e9 += new d(m1); + e10 += new d(m1); + e11 += new d(m1); + e12 += new d(m1); + e13 += new d(m1); + e14 += new d(m1); + e15 += new d(m1); + e16 += new d(m1); + e17 += new d(m1); + e18 += new d(m1); + e19 += new d(m1); + e20 += new d(m1); + e21 += new d(m1); + e22 += new d(m1); + e23 += new d(m1); + e24 += new d(m1); + } + } + + public class Class11 + { + public Class11() { } + public Class11(int i) { } + public Class11(int i, int ii) { } + + public int f0 = 0; + static public int f1 = 0; + public int f2 = 0; + public int f3 = 0; + public int f4 = 0; + public int f5 = 0; + public int f6 = 0; + public int f7 = 0; + public int f8 = 0; + public int f9 = 0; + public int f10 = 0; + public int f11 = 0; + public int f12 = 0; + public int f13 = 0; + public int f14 = 0; + public int f15 = 0; + public int f16 = 0; + public int f17 = 0; + public int f18 = 0; + public int f19 = 0; + public int f20 = 0; + public int f21 = 0; + public int f22 = 0; + public int f23 = 0; + public int f24 = 0; + + public void m1() { } + static public void m2() { } + public void m3() { } + public void m4() { } + public void m5() { } + public void m6() { } + public void m7() { } + public void m8() { } + public void m9() { } + public void m10() { } + public void m11() { } + public void m12() { } + public void m13() { } + public void m14() { } + public void m15() { } + public void m16() { } + public void m17() { } + public void m18() { } + public void m19() { } + public void m20() { } + public void m21() { } + public void m22() { } + public void m23() { } + public void m24() { } + + public int p0 { get { return 1; } set { } } + static public int p1 { get { return 1; } set { } } + public int p2 { get { return 1; } set { } } + public int p3 { get { return 1; } set { } } + public int p4 { get { return 1; } set { } } + public int p5 { get { return 1; } set { } } + public int p6 { get { return 1; } set { } } + public int p7 { get { return 1; } set { } } + public int p8 { get { return 1; } set { } } + public int p9 { get { return 1; } set { } } + public int p10 { get { return 1; } set { } } + public int p11 { get { return 1; } set { } } + public int p12 { get { return 1; } set { } } + public int p13 { get { return 1; } set { } } + public int p14 { get { return 1; } set { } } + public int p15 { get { return 1; } set { } } + public int p16 { get { return 1; } set { } } + public int p17 { get { return 1; } set { } } + public int p18 { get { return 1; } set { } } + public int p19 { get { return 1; } set { } } + public int p20 { get { return 1; } set { } } + public int p21 { get { return 1; } set { } } + public int p22 { get { return 1; } set { } } + public int p23 { get { return 1; } set { } } + public int p24 { get { return 1; } set { } } + + public event d e0; + static public event d e1; + public event d e2; + public event d e3; + public event d e4; + public event d e5; + public event d e6; + public event d e7; + public event d e8; + public event d e9; + public event d e10; + public event d e11; + public event d e12; + public event d e13; + public event d e14; + public event d e15; + public event d e16; + public event d e17; + public event d e18; + public event d e19; + public event d e20; + public event d e21; + public event d e22; + public event d e23; + public event d e24; + + public void NoWarning() + { + e0 += new d(m1); + e1 += new d(m1); + e2 += new d(m1); + e3 += new d(m1); + e4 += new d(m1); + e5 += new d(m1); + e6 += new d(m1); + e7 += new d(m1); + e8 += new d(m1); + e9 += new d(m1); + e10 += new d(m1); + e11 += new d(m1); + e12 += new d(m1); + e13 += new d(m1); + e14 += new d(m1); + e15 += new d(m1); + e16 += new d(m1); + e17 += new d(m1); + e18 += new d(m1); + e19 += new d(m1); + e20 += new d(m1); + e21 += new d(m1); + e22 += new d(m1); + e23 += new d(m1); + e24 += new d(m1); + } + } + + public class Class12 + { + public Class12() { } + public Class12(int i) { } + public Class12(int i, int ii) { } + + public int f0 = 0; + static public int f1 = 0; + public int f2 = 0; + public int f3 = 0; + public int f4 = 0; + public int f5 = 0; + public int f6 = 0; + public int f7 = 0; + public int f8 = 0; + public int f9 = 0; + public int f10 = 0; + public int f11 = 0; + public int f12 = 0; + public int f13 = 0; + public int f14 = 0; + public int f15 = 0; + public int f16 = 0; + public int f17 = 0; + public int f18 = 0; + public int f19 = 0; + public int f20 = 0; + public int f21 = 0; + public int f22 = 0; + public int f23 = 0; + public int f24 = 0; + + public void m1() { } + static public void m2() { } + public void m3() { } + public void m4() { } + public void m5() { } + public void m6() { } + public void m7() { } + public void m8() { } + public void m9() { } + public void m10() { } + public void m11() { } + public void m12() { } + public void m13() { } + public void m14() { } + public void m15() { } + public void m16() { } + public void m17() { } + public void m18() { } + public void m19() { } + public void m20() { } + public void m21() { } + public void m22() { } + public void m23() { } + public void m24() { } + + public int p0 { get { return 1; } set { } } + static public int p1 { get { return 1; } set { } } + public int p2 { get { return 1; } set { } } + public int p3 { get { return 1; } set { } } + public int p4 { get { return 1; } set { } } + public int p5 { get { return 1; } set { } } + public int p6 { get { return 1; } set { } } + public int p7 { get { return 1; } set { } } + public int p8 { get { return 1; } set { } } + public int p9 { get { return 1; } set { } } + public int p10 { get { return 1; } set { } } + public int p11 { get { return 1; } set { } } + public int p12 { get { return 1; } set { } } + public int p13 { get { return 1; } set { } } + public int p14 { get { return 1; } set { } } + public int p15 { get { return 1; } set { } } + public int p16 { get { return 1; } set { } } + public int p17 { get { return 1; } set { } } + public int p18 { get { return 1; } set { } } + public int p19 { get { return 1; } set { } } + public int p20 { get { return 1; } set { } } + public int p21 { get { return 1; } set { } } + public int p22 { get { return 1; } set { } } + public int p23 { get { return 1; } set { } } + public int p24 { get { return 1; } set { } } + + public event d e0; + static public event d e1; + public event d e2; + public event d e3; + public event d e4; + public event d e5; + public event d e6; + public event d e7; + public event d e8; + public event d e9; + public event d e10; + public event d e11; + public event d e12; + public event d e13; + public event d e14; + public event d e15; + public event d e16; + public event d e17; + public event d e18; + public event d e19; + public event d e20; + public event d e21; + public event d e22; + public event d e23; + public event d e24; + + public void NoWarning() + { + e0 += new d(m1); + e1 += new d(m1); + e2 += new d(m1); + e3 += new d(m1); + e4 += new d(m1); + e5 += new d(m1); + e6 += new d(m1); + e7 += new d(m1); + e8 += new d(m1); + e9 += new d(m1); + e10 += new d(m1); + e11 += new d(m1); + e12 += new d(m1); + e13 += new d(m1); + e14 += new d(m1); + e15 += new d(m1); + e16 += new d(m1); + e17 += new d(m1); + e18 += new d(m1); + e19 += new d(m1); + e20 += new d(m1); + e21 += new d(m1); + e22 += new d(m1); + e23 += new d(m1); + e24 += new d(m1); + } + } + + public class Class13 + { + public Class13() { } + public Class13(int i) { } + public Class13(int i, int ii) { } + + public int f0 = 0; + static public int f1 = 0; + public int f2 = 0; + public int f3 = 0; + public int f4 = 0; + public int f5 = 0; + public int f6 = 0; + public int f7 = 0; + public int f8 = 0; + public int f9 = 0; + public int f10 = 0; + public int f11 = 0; + public int f12 = 0; + public int f13 = 0; + public int f14 = 0; + public int f15 = 0; + public int f16 = 0; + public int f17 = 0; + public int f18 = 0; + public int f19 = 0; + public int f20 = 0; + public int f21 = 0; + public int f22 = 0; + public int f23 = 0; + public int f24 = 0; + + public void m1() { } + static public void m2() { } + public void m3() { } + public void m4() { } + public void m5() { } + public void m6() { } + public void m7() { } + public void m8() { } + public void m9() { } + public void m10() { } + public void m11() { } + public void m12() { } + public void m13() { } + public void m14() { } + public void m15() { } + public void m16() { } + public void m17() { } + public void m18() { } + public void m19() { } + public void m20() { } + public void m21() { } + public void m22() { } + public void m23() { } + public void m24() { } + + public int p0 { get { return 1; } set { } } + static public int p1 { get { return 1; } set { } } + public int p2 { get { return 1; } set { } } + public int p3 { get { return 1; } set { } } + public int p4 { get { return 1; } set { } } + public int p5 { get { return 1; } set { } } + public int p6 { get { return 1; } set { } } + public int p7 { get { return 1; } set { } } + public int p8 { get { return 1; } set { } } + public int p9 { get { return 1; } set { } } + public int p10 { get { return 1; } set { } } + public int p11 { get { return 1; } set { } } + public int p12 { get { return 1; } set { } } + public int p13 { get { return 1; } set { } } + public int p14 { get { return 1; } set { } } + public int p15 { get { return 1; } set { } } + public int p16 { get { return 1; } set { } } + public int p17 { get { return 1; } set { } } + public int p18 { get { return 1; } set { } } + public int p19 { get { return 1; } set { } } + public int p20 { get { return 1; } set { } } + public int p21 { get { return 1; } set { } } + public int p22 { get { return 1; } set { } } + public int p23 { get { return 1; } set { } } + public int p24 { get { return 1; } set { } } + + public event d e0; + static public event d e1; + public event d e2; + public event d e3; + public event d e4; + public event d e5; + public event d e6; + public event d e7; + public event d e8; + public event d e9; + public event d e10; + public event d e11; + public event d e12; + public event d e13; + public event d e14; + public event d e15; + public event d e16; + public event d e17; + public event d e18; + public event d e19; + public event d e20; + public event d e21; + public event d e22; + public event d e23; + public event d e24; + + public void NoWarning() + { + e0 += new d(m1); + e1 += new d(m1); + e2 += new d(m1); + e3 += new d(m1); + e4 += new d(m1); + e5 += new d(m1); + e6 += new d(m1); + e7 += new d(m1); + e8 += new d(m1); + e9 += new d(m1); + e10 += new d(m1); + e11 += new d(m1); + e12 += new d(m1); + e13 += new d(m1); + e14 += new d(m1); + e15 += new d(m1); + e16 += new d(m1); + e17 += new d(m1); + e18 += new d(m1); + e19 += new d(m1); + e20 += new d(m1); + e21 += new d(m1); + e22 += new d(m1); + e23 += new d(m1); + e24 += new d(m1); + } + } + + public class Class14 + { + public Class14() { } + public Class14(int i) { } + public Class14(int i, int ii) { } + + public int f0 = 0; + static public int f1 = 0; + public int f2 = 0; + public int f3 = 0; + public int f4 = 0; + public int f5 = 0; + public int f6 = 0; + public int f7 = 0; + public int f8 = 0; + public int f9 = 0; + public int f10 = 0; + public int f11 = 0; + public int f12 = 0; + public int f13 = 0; + public int f14 = 0; + public int f15 = 0; + public int f16 = 0; + public int f17 = 0; + public int f18 = 0; + public int f19 = 0; + public int f20 = 0; + public int f21 = 0; + public int f22 = 0; + public int f23 = 0; + public int f24 = 0; + + public void m1() { } + static public void m2() { } + public void m3() { } + public void m4() { } + public void m5() { } + public void m6() { } + public void m7() { } + public void m8() { } + public void m9() { } + public void m10() { } + public void m11() { } + public void m12() { } + public void m13() { } + public void m14() { } + public void m15() { } + public void m16() { } + public void m17() { } + public void m18() { } + public void m19() { } + public void m20() { } + public void m21() { } + public void m22() { } + public void m23() { } + public void m24() { } + + public int p0 { get { return 1; } set { } } + static public int p1 { get { return 1; } set { } } + public int p2 { get { return 1; } set { } } + public int p3 { get { return 1; } set { } } + public int p4 { get { return 1; } set { } } + public int p5 { get { return 1; } set { } } + public int p6 { get { return 1; } set { } } + public int p7 { get { return 1; } set { } } + public int p8 { get { return 1; } set { } } + public int p9 { get { return 1; } set { } } + public int p10 { get { return 1; } set { } } + public int p11 { get { return 1; } set { } } + public int p12 { get { return 1; } set { } } + public int p13 { get { return 1; } set { } } + public int p14 { get { return 1; } set { } } + public int p15 { get { return 1; } set { } } + public int p16 { get { return 1; } set { } } + public int p17 { get { return 1; } set { } } + public int p18 { get { return 1; } set { } } + public int p19 { get { return 1; } set { } } + public int p20 { get { return 1; } set { } } + public int p21 { get { return 1; } set { } } + public int p22 { get { return 1; } set { } } + public int p23 { get { return 1; } set { } } + public int p24 { get { return 1; } set { } } + + public event d e0; + static public event d e1; + public event d e2; + public event d e3; + public event d e4; + public event d e5; + public event d e6; + public event d e7; + public event d e8; + public event d e9; + public event d e10; + public event d e11; + public event d e12; + public event d e13; + public event d e14; + public event d e15; + public event d e16; + public event d e17; + public event d e18; + public event d e19; + public event d e20; + public event d e21; + public event d e22; + public event d e23; + public event d e24; + + public void NoWarning() + { + e0 += new d(m1); + e1 += new d(m1); + e2 += new d(m1); + e3 += new d(m1); + e4 += new d(m1); + e5 += new d(m1); + e6 += new d(m1); + e7 += new d(m1); + e8 += new d(m1); + e9 += new d(m1); + e10 += new d(m1); + e11 += new d(m1); + e12 += new d(m1); + e13 += new d(m1); + e14 += new d(m1); + e15 += new d(m1); + e16 += new d(m1); + e17 += new d(m1); + e18 += new d(m1); + e19 += new d(m1); + e20 += new d(m1); + e21 += new d(m1); + e22 += new d(m1); + e23 += new d(m1); + e24 += new d(m1); + } + } + + public class Class15 + { + public Class15() { } + public Class15(int i) { } + public Class15(int i, int ii) { } + + public int f0 = 0; + static public int f1 = 0; + public int f2 = 0; + public int f3 = 0; + public int f4 = 0; + public int f5 = 0; + public int f6 = 0; + public int f7 = 0; + public int f8 = 0; + public int f9 = 0; + public int f10 = 0; + public int f11 = 0; + public int f12 = 0; + public int f13 = 0; + public int f14 = 0; + public int f15 = 0; + public int f16 = 0; + public int f17 = 0; + public int f18 = 0; + public int f19 = 0; + public int f20 = 0; + public int f21 = 0; + public int f22 = 0; + public int f23 = 0; + public int f24 = 0; + + public void m1() { } + static public void m2() { } + public void m3() { } + public void m4() { } + public void m5() { } + public void m6() { } + public void m7() { } + public void m8() { } + public void m9() { } + public void m10() { } + public void m11() { } + public void m12() { } + public void m13() { } + public void m14() { } + public void m15() { } + public void m16() { } + public void m17() { } + public void m18() { } + public void m19() { } + public void m20() { } + public void m21() { } + public void m22() { } + public void m23() { } + public void m24() { } + + public int p0 { get { return 1; } set { } } + static public int p1 { get { return 1; } set { } } + public int p2 { get { return 1; } set { } } + public int p3 { get { return 1; } set { } } + public int p4 { get { return 1; } set { } } + public int p5 { get { return 1; } set { } } + public int p6 { get { return 1; } set { } } + public int p7 { get { return 1; } set { } } + public int p8 { get { return 1; } set { } } + public int p9 { get { return 1; } set { } } + public int p10 { get { return 1; } set { } } + public int p11 { get { return 1; } set { } } + public int p12 { get { return 1; } set { } } + public int p13 { get { return 1; } set { } } + public int p14 { get { return 1; } set { } } + public int p15 { get { return 1; } set { } } + public int p16 { get { return 1; } set { } } + public int p17 { get { return 1; } set { } } + public int p18 { get { return 1; } set { } } + public int p19 { get { return 1; } set { } } + public int p20 { get { return 1; } set { } } + public int p21 { get { return 1; } set { } } + public int p22 { get { return 1; } set { } } + public int p23 { get { return 1; } set { } } + public int p24 { get { return 1; } set { } } + + public event d e0; + static public event d e1; + public event d e2; + public event d e3; + public event d e4; + public event d e5; + public event d e6; + public event d e7; + public event d e8; + public event d e9; + public event d e10; + public event d e11; + public event d e12; + public event d e13; + public event d e14; + public event d e15; + public event d e16; + public event d e17; + public event d e18; + public event d e19; + public event d e20; + public event d e21; + public event d e22; + public event d e23; + public event d e24; + + public void NoWarning() + { + e0 += new d(m1); + e1 += new d(m1); + e2 += new d(m1); + e3 += new d(m1); + e4 += new d(m1); + e5 += new d(m1); + e6 += new d(m1); + e7 += new d(m1); + e8 += new d(m1); + e9 += new d(m1); + e10 += new d(m1); + e11 += new d(m1); + e12 += new d(m1); + e13 += new d(m1); + e14 += new d(m1); + e15 += new d(m1); + e16 += new d(m1); + e17 += new d(m1); + e18 += new d(m1); + e19 += new d(m1); + e20 += new d(m1); + e21 += new d(m1); + e22 += new d(m1); + e23 += new d(m1); + e24 += new d(m1); + } + } + + public class Class16 + { + public Class16() { } + public Class16(int i) { } + public Class16(int i, int ii) { } + + public int f0 = 0; + static public int f1 = 0; + public int f2 = 0; + public int f3 = 0; + public int f4 = 0; + public int f5 = 0; + public int f6 = 0; + public int f7 = 0; + public int f8 = 0; + public int f9 = 0; + public int f10 = 0; + public int f11 = 0; + public int f12 = 0; + public int f13 = 0; + public int f14 = 0; + public int f15 = 0; + public int f16 = 0; + public int f17 = 0; + public int f18 = 0; + public int f19 = 0; + public int f20 = 0; + public int f21 = 0; + public int f22 = 0; + public int f23 = 0; + public int f24 = 0; + + public void m1() { } + static public void m2() { } + public void m3() { } + public void m4() { } + public void m5() { } + public void m6() { } + public void m7() { } + public void m8() { } + public void m9() { } + public void m10() { } + public void m11() { } + public void m12() { } + public void m13() { } + public void m14() { } + public void m15() { } + public void m16() { } + public void m17() { } + public void m18() { } + public void m19() { } + public void m20() { } + public void m21() { } + public void m22() { } + public void m23() { } + public void m24() { } + + public int p0 { get { return 1; } set { } } + static public int p1 { get { return 1; } set { } } + public int p2 { get { return 1; } set { } } + public int p3 { get { return 1; } set { } } + public int p4 { get { return 1; } set { } } + public int p5 { get { return 1; } set { } } + public int p6 { get { return 1; } set { } } + public int p7 { get { return 1; } set { } } + public int p8 { get { return 1; } set { } } + public int p9 { get { return 1; } set { } } + public int p10 { get { return 1; } set { } } + public int p11 { get { return 1; } set { } } + public int p12 { get { return 1; } set { } } + public int p13 { get { return 1; } set { } } + public int p14 { get { return 1; } set { } } + public int p15 { get { return 1; } set { } } + public int p16 { get { return 1; } set { } } + public int p17 { get { return 1; } set { } } + public int p18 { get { return 1; } set { } } + public int p19 { get { return 1; } set { } } + public int p20 { get { return 1; } set { } } + public int p21 { get { return 1; } set { } } + public int p22 { get { return 1; } set { } } + public int p23 { get { return 1; } set { } } + public int p24 { get { return 1; } set { } } + + public event d e0; + static public event d e1; + public event d e2; + public event d e3; + public event d e4; + public event d e5; + public event d e6; + public event d e7; + public event d e8; + public event d e9; + public event d e10; + public event d e11; + public event d e12; + public event d e13; + public event d e14; + public event d e15; + public event d e16; + public event d e17; + public event d e18; + public event d e19; + public event d e20; + public event d e21; + public event d e22; + public event d e23; + public event d e24; + + public void NoWarning() + { + e0 += new d(m1); + e1 += new d(m1); + e2 += new d(m1); + e3 += new d(m1); + e4 += new d(m1); + e5 += new d(m1); + e6 += new d(m1); + e7 += new d(m1); + e8 += new d(m1); + e9 += new d(m1); + e10 += new d(m1); + e11 += new d(m1); + e12 += new d(m1); + e13 += new d(m1); + e14 += new d(m1); + e15 += new d(m1); + e16 += new d(m1); + e17 += new d(m1); + e18 += new d(m1); + e19 += new d(m1); + e20 += new d(m1); + e21 += new d(m1); + e22 += new d(m1); + e23 += new d(m1); + e24 += new d(m1); + } + } + + public class Class17 + { + public Class17() { } + public Class17(int i) { } + public Class17(int i, int ii) { } + + public int f0 = 0; + static public int f1 = 0; + public int f2 = 0; + public int f3 = 0; + public int f4 = 0; + public int f5 = 0; + public int f6 = 0; + public int f7 = 0; + public int f8 = 0; + public int f9 = 0; + public int f10 = 0; + public int f11 = 0; + public int f12 = 0; + public int f13 = 0; + public int f14 = 0; + public int f15 = 0; + public int f16 = 0; + public int f17 = 0; + public int f18 = 0; + public int f19 = 0; + public int f20 = 0; + public int f21 = 0; + public int f22 = 0; + public int f23 = 0; + public int f24 = 0; + + public void m1() { } + static public void m2() { } + public void m3() { } + public void m4() { } + public void m5() { } + public void m6() { } + public void m7() { } + public void m8() { } + public void m9() { } + public void m10() { } + public void m11() { } + public void m12() { } + public void m13() { } + public void m14() { } + public void m15() { } + public void m16() { } + public void m17() { } + public void m18() { } + public void m19() { } + public void m20() { } + public void m21() { } + public void m22() { } + public void m23() { } + public void m24() { } + + public int p0 { get { return 1; } set { } } + static public int p1 { get { return 1; } set { } } + public int p2 { get { return 1; } set { } } + public int p3 { get { return 1; } set { } } + public int p4 { get { return 1; } set { } } + public int p5 { get { return 1; } set { } } + public int p6 { get { return 1; } set { } } + public int p7 { get { return 1; } set { } } + public int p8 { get { return 1; } set { } } + public int p9 { get { return 1; } set { } } + public int p10 { get { return 1; } set { } } + public int p11 { get { return 1; } set { } } + public int p12 { get { return 1; } set { } } + public int p13 { get { return 1; } set { } } + public int p14 { get { return 1; } set { } } + public int p15 { get { return 1; } set { } } + public int p16 { get { return 1; } set { } } + public int p17 { get { return 1; } set { } } + public int p18 { get { return 1; } set { } } + public int p19 { get { return 1; } set { } } + public int p20 { get { return 1; } set { } } + public int p21 { get { return 1; } set { } } + public int p22 { get { return 1; } set { } } + public int p23 { get { return 1; } set { } } + public int p24 { get { return 1; } set { } } + + public event d e0; + static public event d e1; + public event d e2; + public event d e3; + public event d e4; + public event d e5; + public event d e6; + public event d e7; + public event d e8; + public event d e9; + public event d e10; + public event d e11; + public event d e12; + public event d e13; + public event d e14; + public event d e15; + public event d e16; + public event d e17; + public event d e18; + public event d e19; + public event d e20; + public event d e21; + public event d e22; + public event d e23; + public event d e24; + + public void NoWarning() + { + e0 += new d(m1); + e1 += new d(m1); + e2 += new d(m1); + e3 += new d(m1); + e4 += new d(m1); + e5 += new d(m1); + e6 += new d(m1); + e7 += new d(m1); + e8 += new d(m1); + e9 += new d(m1); + e10 += new d(m1); + e11 += new d(m1); + e12 += new d(m1); + e13 += new d(m1); + e14 += new d(m1); + e15 += new d(m1); + e16 += new d(m1); + e17 += new d(m1); + e18 += new d(m1); + e19 += new d(m1); + e20 += new d(m1); + e21 += new d(m1); + e22 += new d(m1); + e23 += new d(m1); + e24 += new d(m1); + } + } + + public class Class18 + { + public Class18() { } + public Class18(int i) { } + public Class18(int i, int ii) { } + + public int f0 = 0; + static public int f1 = 0; + public int f2 = 0; + public int f3 = 0; + public int f4 = 0; + public int f5 = 0; + public int f6 = 0; + public int f7 = 0; + public int f8 = 0; + public int f9 = 0; + public int f10 = 0; + public int f11 = 0; + public int f12 = 0; + public int f13 = 0; + public int f14 = 0; + public int f15 = 0; + public int f16 = 0; + public int f17 = 0; + public int f18 = 0; + public int f19 = 0; + public int f20 = 0; + public int f21 = 0; + public int f22 = 0; + public int f23 = 0; + public int f24 = 0; + + public void m1() { } + static public void m2() { } + public void m3() { } + public void m4() { } + public void m5() { } + public void m6() { } + public void m7() { } + public void m8() { } + public void m9() { } + public void m10() { } + public void m11() { } + public void m12() { } + public void m13() { } + public void m14() { } + public void m15() { } + public void m16() { } + public void m17() { } + public void m18() { } + public void m19() { } + public void m20() { } + public void m21() { } + public void m22() { } + public void m23() { } + public void m24() { } + + public int p0 { get { return 1; } set { } } + static public int p1 { get { return 1; } set { } } + public int p2 { get { return 1; } set { } } + public int p3 { get { return 1; } set { } } + public int p4 { get { return 1; } set { } } + public int p5 { get { return 1; } set { } } + public int p6 { get { return 1; } set { } } + public int p7 { get { return 1; } set { } } + public int p8 { get { return 1; } set { } } + public int p9 { get { return 1; } set { } } + public int p10 { get { return 1; } set { } } + public int p11 { get { return 1; } set { } } + public int p12 { get { return 1; } set { } } + public int p13 { get { return 1; } set { } } + public int p14 { get { return 1; } set { } } + public int p15 { get { return 1; } set { } } + public int p16 { get { return 1; } set { } } + public int p17 { get { return 1; } set { } } + public int p18 { get { return 1; } set { } } + public int p19 { get { return 1; } set { } } + public int p20 { get { return 1; } set { } } + public int p21 { get { return 1; } set { } } + public int p22 { get { return 1; } set { } } + public int p23 { get { return 1; } set { } } + public int p24 { get { return 1; } set { } } + + public event d e0; + static public event d e1; + public event d e2; + public event d e3; + public event d e4; + public event d e5; + public event d e6; + public event d e7; + public event d e8; + public event d e9; + public event d e10; + public event d e11; + public event d e12; + public event d e13; + public event d e14; + public event d e15; + public event d e16; + public event d e17; + public event d e18; + public event d e19; + public event d e20; + public event d e21; + public event d e22; + public event d e23; + public event d e24; + + public void NoWarning() + { + e0 += new d(m1); + e1 += new d(m1); + e2 += new d(m1); + e3 += new d(m1); + e4 += new d(m1); + e5 += new d(m1); + e6 += new d(m1); + e7 += new d(m1); + e8 += new d(m1); + e9 += new d(m1); + e10 += new d(m1); + e11 += new d(m1); + e12 += new d(m1); + e13 += new d(m1); + e14 += new d(m1); + e15 += new d(m1); + e16 += new d(m1); + e17 += new d(m1); + e18 += new d(m1); + e19 += new d(m1); + e20 += new d(m1); + e21 += new d(m1); + e22 += new d(m1); + e23 += new d(m1); + e24 += new d(m1); + } + } + + public class Class19 + { + public Class19() { } + public Class19(int i) { } + public Class19(int i, int ii) { } + + public int f0 = 0; + static public int f1 = 0; + public int f2 = 0; + public int f3 = 0; + public int f4 = 0; + public int f5 = 0; + public int f6 = 0; + public int f7 = 0; + public int f8 = 0; + public int f9 = 0; + public int f10 = 0; + public int f11 = 0; + public int f12 = 0; + public int f13 = 0; + public int f14 = 0; + public int f15 = 0; + public int f16 = 0; + public int f17 = 0; + public int f18 = 0; + public int f19 = 0; + public int f20 = 0; + public int f21 = 0; + public int f22 = 0; + public int f23 = 0; + public int f24 = 0; + + public void m1() { } + static public void m2() { } + public void m3() { } + public void m4() { } + public void m5() { } + public void m6() { } + public void m7() { } + public void m8() { } + public void m9() { } + public void m10() { } + public void m11() { } + public void m12() { } + public void m13() { } + public void m14() { } + public void m15() { } + public void m16() { } + public void m17() { } + public void m18() { } + public void m19() { } + public void m20() { } + public void m21() { } + public void m22() { } + public void m23() { } + public void m24() { } + + public int p0 { get { return 1; } set { } } + static public int p1 { get { return 1; } set { } } + public int p2 { get { return 1; } set { } } + public int p3 { get { return 1; } set { } } + public int p4 { get { return 1; } set { } } + public int p5 { get { return 1; } set { } } + public int p6 { get { return 1; } set { } } + public int p7 { get { return 1; } set { } } + public int p8 { get { return 1; } set { } } + public int p9 { get { return 1; } set { } } + public int p10 { get { return 1; } set { } } + public int p11 { get { return 1; } set { } } + public int p12 { get { return 1; } set { } } + public int p13 { get { return 1; } set { } } + public int p14 { get { return 1; } set { } } + public int p15 { get { return 1; } set { } } + public int p16 { get { return 1; } set { } } + public int p17 { get { return 1; } set { } } + public int p18 { get { return 1; } set { } } + public int p19 { get { return 1; } set { } } + public int p20 { get { return 1; } set { } } + public int p21 { get { return 1; } set { } } + public int p22 { get { return 1; } set { } } + public int p23 { get { return 1; } set { } } + public int p24 { get { return 1; } set { } } + + public event d e0; + static public event d e1; + public event d e2; + public event d e3; + public event d e4; + public event d e5; + public event d e6; + public event d e7; + public event d e8; + public event d e9; + public event d e10; + public event d e11; + public event d e12; + public event d e13; + public event d e14; + public event d e15; + public event d e16; + public event d e17; + public event d e18; + public event d e19; + public event d e20; + public event d e21; + public event d e22; + public event d e23; + public event d e24; + + public void NoWarning() + { + e0 += new d(m1); + e1 += new d(m1); + e2 += new d(m1); + e3 += new d(m1); + e4 += new d(m1); + e5 += new d(m1); + e6 += new d(m1); + e7 += new d(m1); + e8 += new d(m1); + e9 += new d(m1); + e10 += new d(m1); + e11 += new d(m1); + e12 += new d(m1); + e13 += new d(m1); + e14 += new d(m1); + e15 += new d(m1); + e16 += new d(m1); + e17 += new d(m1); + e18 += new d(m1); + e19 += new d(m1); + e20 += new d(m1); + e21 += new d(m1); + e22 += new d(m1); + e23 += new d(m1); + e24 += new d(m1); + } + } + + public class Class20 + { + public Class20() { } + public Class20(int i) { } + public Class20(int i, int ii) { } + + public int f0 = 0; + static public int f1 = 0; + public int f2 = 0; + public int f3 = 0; + public int f4 = 0; + public int f5 = 0; + public int f6 = 0; + public int f7 = 0; + public int f8 = 0; + public int f9 = 0; + public int f10 = 0; + public int f11 = 0; + public int f12 = 0; + public int f13 = 0; + public int f14 = 0; + public int f15 = 0; + public int f16 = 0; + public int f17 = 0; + public int f18 = 0; + public int f19 = 0; + public int f20 = 0; + public int f21 = 0; + public int f22 = 0; + public int f23 = 0; + public int f24 = 0; + + public void m1() { } + static public void m2() { } + public void m3() { } + public void m4() { } + public void m5() { } + public void m6() { } + public void m7() { } + public void m8() { } + public void m9() { } + public void m10() { } + public void m11() { } + public void m12() { } + public void m13() { } + public void m14() { } + public void m15() { } + public void m16() { } + public void m17() { } + public void m18() { } + public void m19() { } + public void m20() { } + public void m21() { } + public void m22() { } + public void m23() { } + public void m24() { } + + public int p0 { get { return 1; } set { } } + static public int p1 { get { return 1; } set { } } + public int p2 { get { return 1; } set { } } + public int p3 { get { return 1; } set { } } + public int p4 { get { return 1; } set { } } + public int p5 { get { return 1; } set { } } + public int p6 { get { return 1; } set { } } + public int p7 { get { return 1; } set { } } + public int p8 { get { return 1; } set { } } + public int p9 { get { return 1; } set { } } + public int p10 { get { return 1; } set { } } + public int p11 { get { return 1; } set { } } + public int p12 { get { return 1; } set { } } + public int p13 { get { return 1; } set { } } + public int p14 { get { return 1; } set { } } + public int p15 { get { return 1; } set { } } + public int p16 { get { return 1; } set { } } + public int p17 { get { return 1; } set { } } + public int p18 { get { return 1; } set { } } + public int p19 { get { return 1; } set { } } + public int p20 { get { return 1; } set { } } + public int p21 { get { return 1; } set { } } + public int p22 { get { return 1; } set { } } + public int p23 { get { return 1; } set { } } + public int p24 { get { return 1; } set { } } + + public event d e0; + static public event d e1; + public event d e2; + public event d e3; + public event d e4; + public event d e5; + public event d e6; + public event d e7; + public event d e8; + public event d e9; + public event d e10; + public event d e11; + public event d e12; + public event d e13; + public event d e14; + public event d e15; + public event d e16; + public event d e17; + public event d e18; + public event d e19; + public event d e20; + public event d e21; + public event d e22; + public event d e23; + public event d e24; + + public void NoWarning() + { + e0 += new d(m1); + e1 += new d(m1); + e2 += new d(m1); + e3 += new d(m1); + e4 += new d(m1); + e5 += new d(m1); + e6 += new d(m1); + e7 += new d(m1); + e8 += new d(m1); + e9 += new d(m1); + e10 += new d(m1); + e11 += new d(m1); + e12 += new d(m1); + e13 += new d(m1); + e14 += new d(m1); + e15 += new d(m1); + e16 += new d(m1); + e17 += new d(m1); + e18 += new d(m1); + e19 += new d(m1); + e20 += new d(m1); + e21 += new d(m1); + e22 += new d(m1); + e23 += new d(m1); + e24 += new d(m1); + } + } + #endregion + + + public delegate void d(); +} \ No newline at end of file diff --git a/src/benchmarks/coreclr/perflab/StackWalk.cs b/src/benchmarks/coreclr/perflab/StackWalk.cs new file mode 100644 index 00000000000..51c496ded8b --- /dev/null +++ b/src/benchmarks/coreclr/perflab/StackWalk.cs @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Runtime.CompilerServices; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace PerfLabTests +{ + [BenchmarkCategory(Categories.CoreCLR, Categories.Perflab)] + public class StackWalk + { + public static int InnerIterationCount = 1000; // do not change the value and keep it public static NOT-readonly, ported "as is" from CoreCLR repo + + [Benchmark] + public void Walk() + { + A(5); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + private static int A(int a) { return B(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int B(int a) { return C(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int C(int a) { return D(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int D(int a) { return E(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int E(int a) { return F(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int F(int a) { return G(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int G(int a) { return H(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int H(int a) { return I(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int I(int a) { return J(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int J(int a) { return K(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int K(int a) { return L(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int L(int a) { return M(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int M(int a) { return N(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int N(int a) { return O(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int O(int a) { return P(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int P(int a) { return Q(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int Q(int a) { return R(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int R(int a) { return S(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int S(int a) { return T(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int T(int a) { return U(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int U(int a) { return V(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int V(int a) { return W(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int W(int a) { return X(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int X(int a) { return Y(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int Y(int a) { return Z(a + 5); } + [MethodImpl(MethodImplOptions.NoInlining)] + private static int Z(int a) + { + for (int i = 0; i < InnerIterationCount; i++) + GC.Collect(0); + + return 55; + } + } +} \ No newline at end of file diff --git a/src/benchmarks/coreclr/perflab/ThreadingPerf.cs b/src/benchmarks/coreclr/perflab/ThreadingPerf.cs new file mode 100644 index 00000000000..50434f44d85 --- /dev/null +++ b/src/benchmarks/coreclr/perflab/ThreadingPerf.cs @@ -0,0 +1,72 @@ +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.Threading; +using BenchmarkDotNet.Attributes; +using Benchmarks; + +namespace PerfLabTests +{ + [BenchmarkCategory(Categories.CoreCLR, Categories.Perflab)] + public class JITIntrinsics + { + public static int InnerIterationCount = 100000; // do not change the value and keep it public static NOT-readonly, ported "as is" from CoreCLR repo + + private static int s_i; + private static string s_s; + + [GlobalSetup(Target = nameof(CompareExchangeIntNoMatch))] + public void SetupCompareExchangeIntNoMatch() => s_i = 0; + + [Benchmark] + public void CompareExchangeIntNoMatch() + { + for (int i = 0; i < InnerIterationCount; i++) + Interlocked.CompareExchange(ref s_i, 5, -1); + } + + [GlobalSetup(Target = nameof(CompareExchangeIntMatch))] + public void SetupCompareExchangeIntMatch() => s_i = 1; + + [Benchmark] + public void CompareExchangeIntMatch() + { + for (int i = 0; i < InnerIterationCount; i++) + Interlocked.CompareExchange(ref s_i, 5, 1); + } + + [GlobalSetup(Target = nameof(CompareExchangeObjNoMatch))] + public void SetupCompareExchangeObjNoMatch() => s_s = "Hello"; + + [Benchmark] + public void CompareExchangeObjNoMatch() + { + for (int i = 0; i < InnerIterationCount; i++) + Interlocked.CompareExchange(ref s_s, "World", "What?"); + } + + [GlobalSetup(Target = nameof(CompareExchangeObjMatch))] + public void SetupCompareExchangeObjMatch() => s_s = "Hello"; + + [Benchmark] + public void CompareExchangeObjMatch() + { + for (int i = 0; i < InnerIterationCount; i++) + Interlocked.CompareExchange(ref s_s, "World", "What?"); + } + + [Benchmark] + public void InterlockedIncrement() + { + for (int i = 0; i < InnerIterationCount; i++) + Interlocked.Increment(ref s_i); + } + + [Benchmark] + public void InterlockedDecrement() + { + for (int i = 0; i < InnerIterationCount; i++) + Interlocked.Decrement(ref s_i); + } + } +} \ No newline at end of file