diff options
30 files changed, 0 insertions, 6838 deletions
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csharp.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csharp.cs deleted file mode 100644 index 6e44629499..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csharp.cs +++ /dev/null @@ -1,154 +0,0 @@ -// 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 Computer Language Benchmarks Game - http://benchmarksgame.alioth.debian.org/ - - contributed by Marek Safar - - modified for use with xunit-performance -*/ - -using Microsoft.Xunit.Performance; -using System; -using System.Runtime.CompilerServices; -using Xunit; - -[assembly: OptimizeForBenchmarks] -[assembly: MeasureGCCounts] - -namespace BenchmarksGame -{ -public class BinaryTrees -{ - private const int minDepth = 4; - private const int Iterations = 1; - - [MethodImpl(MethodImplOptions.NoInlining)] - private static bool Bench(bool verbose = false) - { - int n = 16; - int maxDepth = Math.Max(minDepth + 2, n); - int stretchDepth = maxDepth + 1; - int t = 0; - - int check = (TreeNode.bottomUpTree(0, stretchDepth)).itemCheck(); - if (verbose) - { - Console.WriteLine("stretch tree of depth {0}\t check: {1}", stretchDepth, check); - } - t += check; - - TreeNode longLivedTree = TreeNode.bottomUpTree(0, 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(i, depth)).itemCheck(); - check += (TreeNode.bottomUpTree(-i, depth)).itemCheck(); - } - - if (verbose) - { - Console.WriteLine("{0}\t trees of depth {1}\t check: {2}", - iterations * 2, depth, check); - } - - t += check; - } - - if (verbose) - { - Console.WriteLine("long lived tree of depth {0}\t check: {1}", - maxDepth, longLivedTree.itemCheck()); - } - - t += check; - - return (t == -174785); - } - - private struct TreeNode - { - private class Next - { - public TreeNode left, right; - } - - private Next _next; - private int _item; - - private TreeNode(int item) - { - _item = item; - _next = null; - } - - internal static TreeNode bottomUpTree(int item, int depth) - { - if (depth > 0) - { - return new TreeNode( - bottomUpTree(2 * item - 1, depth - 1) - , bottomUpTree(2 * item, depth - 1) - , item - ); - } - else - { - return new TreeNode(item); - } - } - - private TreeNode(TreeNode left, TreeNode right, int item) - { - _next = new Next(); - _next.left = left; - _next.right = right; - _item = item; - } - - internal int itemCheck() - { - // if necessary deallocate here - if (_next == null) return _item; - else return _item + _next.left.itemCheck() - _next.right.itemCheck(); - } - } - - [Benchmark] - public static void Test() - { - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - for (int i = 0; i < Iterations; i++) - { - Bench(); - } - } - } - } - - private static bool TestBase() - { - bool result = true; - for (int i = 0; i < Iterations; i++) - { - result &= Bench(true); - } - return result; - } - - public static int Main() - { - bool result = TestBase(); - return (result ? 100 : -1); - } -} -} diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csharp3.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csharp3.cs deleted file mode 100644 index 0cc239274b..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csharp3.cs +++ /dev/null @@ -1,141 +0,0 @@ -// 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 Computer Language Benchmarks Game - http://benchmarksgame.alioth.debian.org/ - - Based on code originally contributed by Marek Safar - and optimized by kasthack - - modified for use with xunit-performance -*/ - -using Microsoft.Xunit.Performance; -using System; -using System.Runtime.CompilerServices; -using Xunit; - -[assembly: OptimizeForBenchmarks] -[assembly: MeasureGCCounts] - -namespace BenchmarksGame -{ -public class BinaryTrees3 -{ - private const int minDepth = 4; - private const int Iterations = 1; - - [MethodImpl(MethodImplOptions.NoInlining)] - private static bool Bench(bool verbose = false) - { - int n = 16; - int maxDepth = Math.Max(minDepth + 2, n); - int stretchDepth = maxDepth + 1; - int t = 0; - - int check = (TreeNode.bottomUpTree(0, stretchDepth)).itemCheck(); - if (verbose) - { - Console.WriteLine("stretch tree of depth {0}\t check: {1}", stretchDepth, check); - } - t += check; - - TreeNode longLivedTree = TreeNode.bottomUpTree(0, 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(i, depth)).itemCheck(); - check += (TreeNode.bottomUpTree(-i, depth)).itemCheck(); - } - - if (verbose) - { - Console.WriteLine("{0}\t trees of depth {1}\t check: {2}", - iterations * 2, depth, check); - } - - t += check; - } - - if (verbose) - { - Console.WriteLine("long lived tree of depth {0}\t check: {1}", - maxDepth, longLivedTree.itemCheck()); - } - - t += check; - - return (t == -174785); - } - - private class TreeNode - { - private TreeNode left, right; - private int item; - - private TreeNode(int item) - { - this.item = item; - } - - internal static TreeNode bottomUpTree(int item, int depth) - { - TreeNode t; - ChildTreeNodes(out t, item, depth - 1); - return t; - } - - static void ChildTreeNodes(out TreeNode node, int item, int depth) - { - node = new TreeNode(item); - if ( depth > 0 ) - { - ChildTreeNodes(out node.left, 2 * item - 1, depth - 1); - ChildTreeNodes(out node.right, 2 * item, depth - 1); - } - } - - internal int itemCheck() - { - if (right == null) return item; - else return item + left.itemCheck() - right.itemCheck(); - } - } - - [Benchmark] - public static void Test() - { - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - for (int i = 0; i < Iterations; i++) - { - Bench(); - } - } - } - } - - private static bool TestBase() - { - bool result = true; - for (int i = 0; i < Iterations; i++) - { - result &= Bench(true); - } - return result; - } - - public static int Main() - { - bool result = TestBase(); - return (result ? 100 : -1); - } -} -} diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csproj deleted file mode 100644 index d10772f2af..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csproj +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - <NuGetTargetMonikerShort>netstandard1.4</NuGetTargetMonikerShort> - <GCStressIncompatible>true</GCStressIncompatible> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - </PropertyGroup> - <PropertyGroup> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="binarytrees.csharp.cs" /> - </ItemGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> - <PropertyGroup> - <ProjectAssetsFile>$(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json</ProjectAssetsFile> - </PropertyGroup> -</Project> diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees3.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees3.csproj deleted file mode 100644 index 3dffd5e4bf..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees3.csproj +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - <NuGetTargetMonikerShort>netstandard1.4</NuGetTargetMonikerShort> - <GCStressIncompatible>true</GCStressIncompatible> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - </PropertyGroup> - <PropertyGroup> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="binarytrees.csharp3.cs" /> - </ItemGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> - <PropertyGroup> - <ProjectAssetsFile>$(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json</ProjectAssetsFile> - </PropertyGroup> -</Project> diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fannkuch-redux/fannkuch-redux.csharp.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fannkuch-redux/fannkuch-redux.csharp.cs deleted file mode 100644 index ea7a189e0b..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fannkuch-redux/fannkuch-redux.csharp.cs +++ /dev/null @@ -1,120 +0,0 @@ -// 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 Computer Language Benchmarks Game - http://benchmarksgame.alioth.debian.org/ - - contributed by Isaac Gouy, transliterated from Mike Pall's Lua program - - posted to Benchmarks Game as fannkuck-redux C# .NET Core #2 - (http://benchmarksgame.alioth.debian.org/u64q/program.php?test=fannkuchredux&lang=csharpcore&id=2) - modified for use with xunit-performance -*/ - -using System.Reflection; -using System.Runtime.CompilerServices; -using Microsoft.Xunit.Performance; -using Microsoft.Xunit.Performance.Api; -using Xunit; - -namespace BenchmarksGame -{ - public class FannkuchRedux - { - - [MethodImpl(MethodImplOptions.NoInlining)] - private static int[] Bench(int n, bool verbose = false) - { - 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); - } - - // Commented out data left in source to provide checksums for each case - // Checksums calculated from the origonal source referenced at top of this source - - [Benchmark(InnerIterationCount = 7)] - //[InlineData(7, 228)] - //[InlineData(8, 1616)] - //[InlineData(9, 8629)] - [InlineData(10, 73196)] - //[InlineData(11, 556355)] - //[InlineData(12, 3968050)] - public static void Test(int n, int checksum) - { - foreach (var iteration in Benchmark.Iterations) - { - int[] pfannkuchen = null; - using (iteration.StartMeasurement()) - { - for (int i = 0; i < Benchmark.InnerIterationCount; ++i) - { - pfannkuchen = Bench(n); - } - } - Assert.Equal(checksum, pfannkuchen[0]); - } - } - - public static bool VerifyBench(int n, int checksum) - { - int[] pfannkuchen = Bench(n); - return pfannkuchen[0] == checksum; - } - - public static int Main(string[] args) - { - const int n = 7; - const int checksum = 228; - - bool verified = VerifyBench(n, checksum); - return (verified ? 100 : -1); - } - } -} diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fannkuch-redux/fannkuch-redux.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fannkuch-redux/fannkuch-redux.csproj deleted file mode 100644 index aed483ba91..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fannkuch-redux/fannkuch-redux.csproj +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - <NuGetTargetMonikerShort>netstandard1.4</NuGetTargetMonikerShort> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> - <PropertyGroup> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="fannkuch-redux.csharp.cs" /> - </ItemGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> - <PropertyGroup> - <ProjectAssetsFile>$(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json</ProjectAssetsFile> - </PropertyGroup> -</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csharp-2.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csharp-2.cs deleted file mode 100644 index 3e97d64429..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csharp-2.cs +++ /dev/null @@ -1,222 +0,0 @@ -// 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 Computer Language Benchmarks Game - http://benchmarksgame.alioth.debian.org/ - - contributed by Isaac Gouy - optimizations by Alp Toker <alp@atoker.com> - - modified for use with xunit-performance -*/ - -using Microsoft.Xunit.Performance; -using System; -using System.IO; -using System.Text; - -[assembly: OptimizeForBenchmarks] - -namespace BenchmarksGame -{ -public class Fasta -{ -#if DEBUG - private const int Iterations = 1; -#else - const int Iterations = 800; -#endif - - public static int Main(string[] args) - { - MakeCumulative(s_homoSapiens); - MakeCumulative(s_IUB); - - int n = args.Length > 0 ? Int32.Parse(args[0]) : 1000; - - using (Stream s = Console.OpenStandardOutput()) - { - MakeRepeatFasta("ONE", "Homo sapiens alu", Encoding.ASCII.GetBytes(s_ALU), n * 2, s); - MakeRandomFasta("TWO", "IUB ambiguity codes", s_IUB, n * 3, s); - MakeRandomFasta("THREE", "Homo sapiens frequency", s_homoSapiens, n * 5, s); - } - return 100; - } - - [Benchmark] - public static void Bench() - { - int n = 5000; - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - for (int i = 0; i < Iterations; i++) - { - using (Stream s = Stream.Null) - { - MakeRepeatFasta("ONE", "Homo sapiens alu", Encoding.ASCII.GetBytes(s_ALU), n * 2, s); - MakeRandomFasta("TWO", "IUB ambiguity codes", s_IUB, n * 3, s); - MakeRandomFasta("THREE", "Homo sapiens frequency", s_homoSapiens, n * 5, s); - } - } - } - } - } - - // The usual pseudo-random number generator - - private const int IM = 139968; - private const int IA = 3877; - private const int IC = 29573; - private static int s_seed = 42; - - private static double random(double max) - { - return max * ((s_seed = (s_seed * IA + IC) % IM) * (1.0 / IM)); - } - - // Weighted selection from alphabet - - private static string s_ALU = - "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG" + - "GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA" + - "CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT" + - "ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA" + - "GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG" + - "AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC" + - "AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA"; - - private class Frequency - { - public byte c; - public double p; - - public Frequency(char c, double p) - { - this.c = (byte)c; - this.p = p; - } - } - - private static Frequency[] s_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) - }; - - private static Frequency[] s_homoSapiens = { - new Frequency ('a', 0.3029549426680) - ,new Frequency ('c', 0.1979883004921) - ,new Frequency ('g', 0.1975473066391) - ,new Frequency ('t', 0.3015094502008) - }; - - private 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 - private 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; - } - - private const int LineLength = 60; - private static int s_index = 0; - private static byte[] s_buf = new byte[1024]; - - private static void MakeRandomFasta(string id, string desc, Frequency[] a, int n, Stream s) - { - 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 (s_buf.Length - s_index < m) - { - s.Write(s_buf, 0, s_index); - s_index = 0; - } - - for (int i = 0; i < m; i++) - { - s_buf[s_index++] = SelectRandom(a); - } - - s_buf[s_index++] = (byte)'\n'; - n -= LineLength; - } - - if (s_index != 0) - s.Write(s_buf, 0, s_index); - } - - private static void MakeRepeatFasta(string id, string desc, byte[] alu, int n, Stream s) - { - 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 (s_buf.Length - s_index < m) - { - s.Write(s_buf, 0, s_index); - s_index = 0; - } - - for (int i = 0; i < m; i++) - { - if (k == kn) - k = 0; - - s_buf[s_index++] = alu[k]; - k++; - } - - s_buf[s_index++] = (byte)'\n'; - n -= LineLength; - } - - if (s_index != 0) - s.Write(s_buf, 0, s_index); - } -} -} diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csproj deleted file mode 100644 index 5d5c7f72c6..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csproj +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - <NuGetTargetMonikerShort>netstandard1.4</NuGetTargetMonikerShort> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> - <PropertyGroup> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="fasta.csharp-2.cs" /> - </ItemGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> - <PropertyGroup> - <ProjectAssetsFile>$(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json</ProjectAssetsFile> - </PropertyGroup> -</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux-best.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux-best.cs deleted file mode 100644 index 691fde3aac..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux-best.cs +++ /dev/null @@ -1 +0,0 @@ -// no longer up on site
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csharp.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csharp.cs deleted file mode 100644 index c7a786a77e..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csharp.cs +++ /dev/null @@ -1,186 +0,0 @@ -// 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 Computer Language Benchmarks Game - http://benchmarksgame.alioth.debian.org/ - - contributed by Robert F. Tobler - optimized based on java & C# by Enotus, Isaac Gouy, and Alp Toker - - modified for use with xunit-performance -*/ - -using Microsoft.Xunit.Performance; -using System; -using System.IO; -using System.Text; - -[assembly: OptimizeForBenchmarks] - -namespace BenchmarksGame -{ -public static class FastaRedux -{ -#if DEBUG - private const int Iterations = 1; -#else - const int Iterations = 5; -#endif - - public static int Main(string[] args) - { - AccumulateAndScale(s_homoSapiens); - AccumulateAndScale(s_IUB); - int n = args.Length > 0 ? Int32.Parse(args[0]) : 2500; - using (Stream s = Console.OpenStandardOutput()) - { - s.WriteRepeatFasta("ONE", "Homo sapiens alu", Encoding.ASCII.GetBytes(s_ALU), n * 2); - s.WriteRandomFasta("TWO", "IUB ambiguity codes", s_IUB, n * 3); - s.WriteRandomFasta("THREE", "Homo sapiens frequency", s_homoSapiens, n * 5); - } - return 100; - } - - [Benchmark] - public static void Bench() - { - int n = 2500000; - AccumulateAndScale(s_homoSapiens); - AccumulateAndScale(s_IUB); - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - using (Stream s = Stream.Null) - { - for (int i = 0; i < Iterations; i++) - { - s.WriteRepeatFasta("ONE", "Homo sapiens alu", Encoding.ASCII.GetBytes(s_ALU), n * 2); - s.WriteRandomFasta("TWO", "IUB ambiguity codes", s_IUB, n * 3); - s.WriteRandomFasta("THREE", "Homo sapiens frequency", s_homoSapiens, n * 5); - } - } - } - } - } - - private const int LINE_LEN = 60; - private const int BUF_LEN = 64 * 1024; - private const byte LF = (byte)'\n'; - - private const int LOOKUP_LEN = 1024; - private const double LOOKUP_SCALE = LOOKUP_LEN - 1; - - private static readonly string s_ALU = - "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG" + - "GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA" + - "CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT" + - "ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA" + - "GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG" + - "AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC" + - "AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA"; - - private struct Freq - { - public double P; - public byte C; - - public Freq(char c, double p) { C = (byte)c; P = p; } - } - - private static Freq[] s_IUB = { - new Freq('a', 0.27), new Freq('c', 0.12), new Freq('g', 0.12), - new Freq('t', 0.27), new Freq('B', 0.02), new Freq('D', 0.02), - new Freq('H', 0.02), new Freq('K', 0.02), new Freq('M', 0.02), - new Freq('N', 0.02), new Freq('R', 0.02), new Freq('S', 0.02), - new Freq('V', 0.02), new Freq('W', 0.02), new Freq('Y', 0.02), - }; - - private static Freq[] s_homoSapiens = { - new Freq ('a', 0.3029549426680), new Freq ('c', 0.1979883004921), - new Freq ('g', 0.1975473066391), new Freq ('t', 0.3015094502008), - }; - - private static void AccumulateAndScale(Freq[] a) - { - double cp = 0.0; - for (int i = 0; i < a.Length; i++) - a[i].P = (cp += a[i].P) * LOOKUP_SCALE; - a[a.Length - 1].P = LOOKUP_SCALE; - } - - private static byte[] s_buf = new byte[BUF_LEN]; - - private static int WriteDesc(this byte[] buf, string id, string desc) - { - var ds = Encoding.ASCII.GetBytes(">" + id + " " + desc + "\n"); - for (int i = 0; i < ds.Length; i++) buf[i] = ds[i]; - return BUF_LEN - ds.Length; - } - - private static int Min(int a, int b) { return a < b ? a : b; } - - private static void WriteRepeatFasta( - this Stream s, string id, string desc, byte[] alu, int nr) - { - int alen = alu.Length; - int ar = alen, br = s_buf.WriteDesc(id, desc), lr = LINE_LEN; - while (nr > 0) - { - int r = Min(Min(nr, lr), Min(ar, br)); - for (int ai = alen - ar, bi = BUF_LEN - br, be = bi + r; - bi < be; bi++, ai++) - s_buf[bi] = alu[ai]; - nr -= r; lr -= r; br -= r; ar -= r; - if (ar == 0) ar = alen; - if (br == 0) { s.Write(s_buf, 0, BUF_LEN); br = BUF_LEN; } - if (lr == 0) { s_buf[BUF_LEN - (br--)] = LF; lr = LINE_LEN; } - if (br == 0) { s.Write(s_buf, 0, BUF_LEN); br = BUF_LEN; } - } - if (lr < LINE_LEN) s_buf[BUF_LEN - (br--)] = LF; - if (br < BUF_LEN) s.Write(s_buf, 0, BUF_LEN - br); - } - - private static Freq[] s_lookup = new Freq[LOOKUP_LEN]; - - private static void CreateLookup(Freq[] fr) - { - for (int i = 0, j = 0; i < LOOKUP_LEN; i++) - { - while (fr[j].P < i) j++; - s_lookup[i] = fr[j]; - } - } - - private const int IM = 139968; - private const int IA = 3877; - private const int IC = 29573; - private const double SCALE = LOOKUP_SCALE / IM; - - private static int s_last = 42; - - private static void WriteRandomFasta( - this Stream s, string id, string desc, Freq[] fr, int nr) - { - CreateLookup(fr); - int br = s_buf.WriteDesc(id, desc), lr = LINE_LEN; - while (nr > 0) - { - int r = Min(Min(nr, lr), br); - for (int bi = BUF_LEN - br, be = bi + r; bi < be; bi++) - { - double p = SCALE * (s_last = (s_last * IA + IC) % IM); - int ai = (int)p; if (s_lookup[ai].P < p) ai++; - s_buf[bi] = s_lookup[ai].C; - } - nr -= r; lr -= r; br -= r; - if (br == 0) { s.Write(s_buf, 0, BUF_LEN); br = BUF_LEN; } - if (lr == 0) { s_buf[BUF_LEN - (br--)] = LF; lr = LINE_LEN; } - if (br == 0) { s.Write(s_buf, 0, BUF_LEN); br = BUF_LEN; } - } - if (lr < LINE_LEN) s_buf[BUF_LEN - (br--)] = LF; - if (br < BUF_LEN) s.Write(s_buf, 0, BUF_LEN - br); - } -} -} - diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csproj deleted file mode 100644 index 9260a22668..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csproj +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - <NuGetTargetMonikerShort>netstandard1.4</NuGetTargetMonikerShort> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> - <PropertyGroup> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="fastaredux.csharp.cs" /> - </ItemGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> - <PropertyGroup> - <ProjectAssetsFile>$(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json</ProjectAssetsFile> - </PropertyGroup> -</Project> diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.cs deleted file mode 100644 index 3325a61926..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.cs +++ /dev/null @@ -1,311 +0,0 @@ -/* The Computer Language Benchmarks Game - http://benchmarksgame.alioth.debian.org/ - * - * submitted by Josh Goldfoot - * - */ - -using System; -using System.IO; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Microsoft.Xunit.Performance; -using Xunit; - -[assembly: OptimizeForBenchmarks] -[assembly: MeasureGCCounts] - -namespace BenchmarksGame -{ - -public class knucleotide -{ -#if DEBUG - const int Iterations = 1; - const string InputFile = "knucleotide-input.txt"; - static int[] expectedCountLetter = new int[] { 1480, 974, 970, 1576 }; - static int[] expectedCountPairs = new int[] { 420, 272, 292, 496, 273, 202, 201, 298, 316, 185, 167, 302, 470, 315, 310, 480 }; - static int[] expectedCountFragments = new int[] { 54, 24, 4, 0, 0 }; -#else - const int Iterations = 10; - const string InputFile = "knucleotide-input-big.txt"; - static int[] expectedCountLetter = new int[] { 302923, 198136, 197566, 301375 }; - static int[] expectedCountPairs = new int[] { 91779, 60030, 59889, 91225, 60096, 39203, 39081, 59756, 59795, 39190, 39023, 59557, 91253, 59713, 59572, 90837 }; - static int[] expectedCountFragments = new int[] { 11765, 3572, 380, 7, 7 }; -#endif - - - static string FindInput(string s) - { - string CoreRoot = System.Environment.GetEnvironmentVariable("CORE_ROOT"); - - if (CoreRoot == null) - { - Console.WriteLine("This benchmark requries CORE_ROOT to be set"); - return null; - } - - string inputFile = s ?? InputFile; - - // Normal testing -- input file will end up next to the assembly - // and CoreRoot points at the test overlay dir - string[] pathPartsNormal = new string[] { - CoreRoot, "..", "..", "JIT", "Performance", - "CodeQuality", "BenchmarksGame", "k-nucleotide", "k-nucleotide", inputFile - }; - - string inputPathNormal = Path.Combine(pathPartsNormal); - - // Perf testing -- input file will end up next to the assembly - // and CoreRoot points at this directory - string[] pathPartsPerf = new string[] { CoreRoot, inputFile }; - - string inputPathPerf = Path.Combine(pathPartsPerf); - - string inputPath = null; - - if (File.Exists(inputPathNormal)) - { - inputPath = inputPathNormal; - } - else if (File.Exists(inputPathPerf)) - { - inputPath = inputPathPerf; - } - - if (inputPath != null) - { - Console.WriteLine("Using input file {0}", inputPath); - } - else - { - Console.WriteLine("Unable to find input file {0}", inputFile); - } - - return inputPath; - } - - public static int Main(string[] args) - { - int iterations = Iterations; - - string inputFile = FindInput(InputFile); - if (inputFile == null) - { - throw new Exception("unable to find input"); - } - - PrepareLookups(); - var source = new FileStream(inputFile, FileMode.Open); - var buffer = GetBytesForThirdSequence(source); - var fragmentLengths = new[] { 1, 2, 3, 4, 6, 12, 18 }; - var dicts = - (from fragmentLength in fragmentLengths.AsParallel() - select CountFrequency(buffer, fragmentLength)).ToArray(); - source.Dispose(); - int res = 100; - for (ulong i = 0; i < 4; ++i){ - if (dicts[0][i].V != expectedCountLetter[i]){ - res = -1; - } - } - for (ulong i = 0; i < 16; ++i){ - if (dicts[1][i].V != expectedCountPairs[i]){ - res = -1; - } - } - int buflen = dicts[0].Values.Sum(x => x.V); - WriteFrequencies(dicts[0], buflen, 1); - WriteFrequencies(dicts[1], buflen, 2); - if (WriteCount(dicts[2], "GGT") != expectedCountFragments[0]) { res = -1; } - if (WriteCount(dicts[3], "GGTA") != expectedCountFragments[1]) { res = -1; } - if (WriteCount(dicts[4], "GGTATT") != expectedCountFragments[2]) { res = -1; } - if (WriteCount(dicts[5], "GGTATTTTAATT") != expectedCountFragments[3]) { res = -1; } - if (WriteCount(dicts[6], "GGTATTTTAATTTATAGT") != expectedCountFragments[4]) { res = -1; } - //Console.ReadKey(); - return res; - } - - private static void WriteFrequencies(Dictionary<ulong, Wrapper> freq, int buflen, int fragmentLength) - { - - double percent = 100.0 / (buflen - fragmentLength + 1); - foreach (var line in (from k in freq.Keys - orderby freq[k].V descending - select string.Format("{0} {1:f3}", PrintKey(k, fragmentLength), - (freq.ContainsKey(k) ? freq[k].V : 0) * percent))) - Console.WriteLine(line); - Console.WriteLine(); - } - - private static int WriteCount(Dictionary<ulong, Wrapper> dictionary, string fragment) - { - ulong key = 0; - var keybytes = Encoding.ASCII.GetBytes(fragment.ToLower()); - for (int i = 0; i < keybytes.Length; i++) - { - key <<= 2; - key |= tonum[keybytes[i]]; - } - Wrapper w; - int count = dictionary.TryGetValue(key, out w) ? w.V : 0; - Console.WriteLine("{0}\t{1}", - count, - fragment); - return count; - } - - private static string PrintKey(ulong key, int fragmentLength) - { - char[] items = new char[fragmentLength]; - for (int i = 0; i < fragmentLength; ++i) - { - items[fragmentLength - i - 1] = tochar[key & 0x3]; - key >>= 2; - } - return new string(items); - } - - private static Dictionary<ulong, Wrapper> CountFrequency(byte[] buffer, int fragmentLength) - { - var dictionary = new Dictionary<ulong, Wrapper>(); - ulong rollingKey = 0; - ulong mask = 0; - int cursor; - for (cursor = 0; cursor < fragmentLength - 1; cursor++) - { - rollingKey <<= 2; - rollingKey |= tonum[buffer[cursor]]; - mask = (mask << 2) + 3; - } - mask = (mask << 2) + 3; - int stop = buffer.Length; - Wrapper w; - byte cursorByte; - while (cursor < stop) - { - if ((cursorByte = buffer[cursor++]) < (byte)'a') - cursorByte = buffer[cursor++]; - rollingKey = ((rollingKey << 2) & mask) | tonum[cursorByte]; - if (dictionary.TryGetValue(rollingKey, out w)) - w.V++; - else - dictionary.Add(rollingKey, new Wrapper(1)); - } - return dictionary; - } - - private static byte[] GetBytesForThirdSequence(FileStream source) - { - const int buffersize = 2500120; - byte[] threebuffer = null; - var buffer = new byte[buffersize]; - int amountRead, threebuflen, indexOfFirstByteInThreeSequence, indexOfGreaterThan, threepos, tocopy; - amountRead = threebuflen = indexOfFirstByteInThreeSequence = indexOfGreaterThan = threepos = tocopy = 0; - bool threeFound = false; - //var source = new FileStream(inputFile, FileMode.Open); - source.Seek(0, SeekOrigin.Begin); - while (!threeFound && (amountRead = source.Read(buffer, 0, buffersize)) > 0) - { - indexOfGreaterThan = Array.LastIndexOf(buffer, (byte)'>'); - threeFound = (indexOfGreaterThan > -1 && - buffer[indexOfGreaterThan + 1] == (byte)'T' && - buffer[indexOfGreaterThan + 2] == (byte)'H'); - if (threeFound) - { - threepos += indexOfGreaterThan; - threebuflen = threepos - 48; - threebuffer = new byte[threebuflen]; - indexOfFirstByteInThreeSequence = Array.IndexOf<byte>(buffer, 10, indexOfGreaterThan) + 1; - tocopy = amountRead - indexOfFirstByteInThreeSequence; - if (amountRead < buffersize) - tocopy -= 1; - Buffer.BlockCopy(buffer, indexOfFirstByteInThreeSequence, threebuffer, 0, tocopy); - buffer = null; - } - else - threepos += amountRead; - } - int toread = threebuflen - tocopy; - source.Read(threebuffer, tocopy, toread); - return threebuffer; - } - - private static byte[] tonum = new byte[256]; - private static char[] tochar = new char[4]; - private static void PrepareLookups() - { - tonum['a'] = 0; - tonum['c'] = 1; - tonum['g'] = 2; - tonum['t'] = 3; - tochar[0] = 'A'; - tochar[1] = 'C'; - tochar[2] = 'G'; - tochar[3] = 'T'; - } - - [Benchmark(InnerIterationCount=Iterations)] - public static void Bench_Parallel() - { - PrepareLookups(); - string inputFile = FindInput(InputFile); - var source = new FileStream(inputFile, FileMode.Open); - - if (inputFile == null) - { - throw new Exception("unable to find input"); - } - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - for (int i = 0; i < Benchmark.InnerIterationCount; ++i) - { - var buffer = GetBytesForThirdSequence(source); - var fragmentLengths = new[] { 1, 2, 3, 4, 6, 12, 18 }; - var dicts = - (from fragmentLength in fragmentLengths.AsParallel() - select CountFrequency(buffer, fragmentLength)).ToArray(); - } - } - } - source.Dispose(); - } - [Benchmark(InnerIterationCount=Iterations)] - public static void Bench_No_Parallel() - { - string inputFile = FindInput(InputFile); - var source = new FileStream(inputFile, FileMode.Open); - - if (inputFile == null) - { - throw new Exception("unable to find input"); - } - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - for (int i = 0; i < Benchmark.InnerIterationCount; ++i) - { - PrepareLookups(); - var buffer = GetBytesForThirdSequence(source); - var fragmentLengths = new[] { 1, 2, 3, 4, 6, 12, 18 }; - var dicts = - (from fragmentLength in fragmentLengths - select CountFrequency(buffer, fragmentLength)).ToArray(); - } - } - } - source.Dispose(); - } -} - -public class Wrapper -{ - public int V; - public Wrapper(int v) { V = v; } -} - -}
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.csproj deleted file mode 100644 index 89c8ad5c47..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.csproj +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - <NuGetTargetMonikerShort>netstandard1.4</NuGetTargetMonikerShort> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - </PropertyGroup> - <PropertyGroup> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="k-nucleotide.cs" /> - </ItemGroup> - <ItemGroup> - <Content Include="knucleotide-input.txt"> - <CopyToOutputDirectory>Always</CopyToOutputDirectory> - </Content> - <Content Include="knucleotide-input-big.txt"> - <CopyToOutputDirectory>Always</CopyToOutputDirectory> - </Content> - </ItemGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> - <PropertyGroup> - <ProjectAssetsFile>$(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json</ProjectAssetsFile> - </PropertyGroup> -</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/mandelbrot/mandelbrot.csharp.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/mandelbrot/mandelbrot.csharp.cs deleted file mode 100644 index aa38976cb7..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/mandelbrot/mandelbrot.csharp.cs +++ /dev/null @@ -1,146 +0,0 @@ -// 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 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 - - posted to Benchmarks Game as mandelbrot C# .NET Core #4 - (http://benchmarksgame.alioth.debian.org/u64q/program.php?test=mandelbrot&lang=csharpcore&id=4) - modified to remove concurrency and operate with xunit-performance -*/ - -using System; -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Security.Cryptography; -using Microsoft.Xunit.Performance; -using Microsoft.Xunit.Performance.Api; -using Xunit; - -namespace BenchmarksGame -{ - public class Mandelbrot - { - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - static byte getByte(double[] Crb, double Ciby, int x, int y) - { - int res = 0; - for (int i = 0; i < 8; i += 2) - { - double Crbx = Crb[x + i], Crbx1 = Crb[x + i + 1]; - double Zr1 = Crbx, Zr2 = Crbx1; - double Zi1 = Ciby, Zi2 = Ciby; - - int b = 0; - int j = 49; - do - { - double nZr1 = Zr1 * Zr1 - Zi1 * Zi1 + Crbx; - Zi1 = Zr1 * Zi1 + Zr1 * Zi1 + Ciby; - Zr1 = nZr1; - - double nZr2 = Zr2 * Zr2 - Zi2 * Zi2 + Crbx1; - Zi2 = Zr2 * Zi2 + Zr2 * Zi2 + Ciby; - Zr2 = nZr2; - - if (Zr1 * Zr1 + Zi1 * Zi1 > 4) - { - b |= 2; - if (b == 3) - break; - } - if (Zr2 * Zr2 + Zi2 * Zi2 > 4) - { - b |= 1; - if (b == 3) - break; - } - } while (--j > 0); - res = (res << 2) + b; - } - return (byte)(res ^ -1); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private static byte[] Bench(int n, bool verbose = false) - { - double invN = 2.0 / n; - var Crb = new double[n + 7]; - for (int i = 0; i < n; i++) - { - Crb[i] = i * invN - 1.5; - } - int lineLen = (n - 1) / 8 + 1; - var data = new byte[n * lineLen]; - for (int i = 0; i < n; i++) - { - var Cibi = i * invN - 1.0; - var offset = i * lineLen; - for (int x = 0; x < lineLen; x++) - data[offset + x] = getByte(Crb, Cibi, x * 8, i); - }; - - if (verbose) - { - Console.Out.WriteLine("P4\n{0} {0}", n); - Console.OpenStandardOutput().Write(data, 0, data.Length); - } - - return data; - } - - // Commented out data left in source to provide checksums for each case - // Checksums calculated from the origonal source referenced at top of this source - - [Benchmark] - //[InlineData(500, "54-01-EE-C8-46-9B-AB-FA-54-9F-45-CE-98-89-66-A9")] - //[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")] - [InlineData(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 static void Test(int n, string checksum) - { - foreach (var iteration in Benchmark.Iterations) - { - byte[] bitmap = null; - using (iteration.StartMeasurement()) - { - bitmap = Bench(n); - } - using (var md5 = MD5.Create()) - { - byte[] hash = md5.ComputeHash(bitmap); - Assert.Equal(checksum, BitConverter.ToString(hash)); - } - } - } - - public static bool VerifyBench(int n, string checksum) - { - byte[] bitmap = Bench(n); - using (var md5 = MD5.Create()) - { - byte[] hash = md5.ComputeHash(bitmap); - return checksum == BitConverter.ToString(hash); - } - } - - public static int Main(string[] args) - { - const int n = 500; - const string checksum = "54-01-EE-C8-46-9B-AB-FA-54-9F-45-CE-98-89-66-A9"; - - bool verified = VerifyBench(n, checksum); - return (verified ? 100 : -1); - } - } -} diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/mandelbrot/mandelbrot.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/mandelbrot/mandelbrot.csproj deleted file mode 100644 index 0ef3cdf927..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/mandelbrot/mandelbrot.csproj +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - <NuGetTargetMonikerShort>netstandard1.4</NuGetTargetMonikerShort> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> - <PropertyGroup> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="mandelbrot.csharp.cs" /> - </ItemGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> - <PropertyGroup> - <ProjectAssetsFile>$(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json</ProjectAssetsFile> - </PropertyGroup> -</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/n-body/n-body-serial.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/n-body/n-body-serial.cs deleted file mode 100644 index 6d7970df3f..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/n-body/n-body-serial.cs +++ /dev/null @@ -1,2 +0,0 @@ -// best is serial - diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/n-body/n-body.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/n-body/n-body.csproj deleted file mode 100644 index 5df299a93e..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/n-body/n-body.csproj +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - <NuGetTargetMonikerShort>netstandard1.4</NuGetTargetMonikerShort> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> - <PropertyGroup> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="nbody.csharp-3.cs" /> - </ItemGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> - <PropertyGroup> - <ProjectAssetsFile>$(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json</ProjectAssetsFile> - </PropertyGroup> -</Project> diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/n-body/nbody.csharp-3.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/n-body/nbody.csharp-3.cs deleted file mode 100644 index 60e083ad11..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/n-body/nbody.csharp-3.cs +++ /dev/null @@ -1,158 +0,0 @@ -// 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 Computer Language Benchmarks Game - http://benchmarksgame.alioth.debian.org/ - - contributed by Isaac Gouy, optimization and use of more C# idioms by Robert F. Tobler - - modified for use with xunit-performance -*/ - -using Microsoft.Xunit.Performance; -using System; - -[assembly: OptimizeForBenchmarks] - -namespace BenchmarksGame -{ -public class NBody -{ - public static int Main(String[] args) - { - int n = args.Length > 0 ? Int32.Parse(args[0]) : 10000; - NBodySystem bodies = new NBodySystem(); - double initialEnergy = bodies.Energy(); - Console.WriteLine("{0:f9}", initialEnergy); - for (int i = 0; i < n; i++) bodies.Advance(0.01); - double finalEnergy = bodies.Energy(); - Console.WriteLine("{0:f9}", finalEnergy); - double deltaEnergy = Math.Abs(initialEnergy - finalEnergy); - bool result = deltaEnergy < 1e-4; - Console.WriteLine("Energy {0} conserved", result ? "was" : "was not"); - return (result ? 100 : -1); - } - - [Benchmark] - public static void Bench() - { - int n = 5000000; - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - NBodySystem bodies = new NBodySystem(); - for (int i = 0; i < n; i++) bodies.Advance(0.01); - } - } - } -} - -internal class Body { public double x, y, z, vx, vy, vz, mass; } -internal class Pair { public Body bi, bj; } - -internal class NBodySystem -{ - private Body[] _bodies; - private Pair[] _pairs; - - private const double Pi = 3.141592653589793; - private const double Solarmass = 4 * Pi * Pi; - private 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/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.cs deleted file mode 100644 index 3c79a89edc..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.cs +++ /dev/null @@ -1,116 +0,0 @@ -// 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 Computer Language Benchmarks Game - * http://benchmarksgame.alioth.debian.org/ - * - * Port of the C code that uses GMP - * Just switched it to use C#'s BigInteger instead - * - * To compile use csc /o+ /r:System.Numerics.dll - * - * modified for use with xunit-performance -*/ - -using Microsoft.Xunit.Performance; -using System; -using System.Numerics; -using System.Text; - -[assembly: OptimizeForBenchmarks] - -namespace BenchmarksGame -{ -public class pidigits -{ -#if DEBUG - public const int Iterations = 1; -#else - public const int Iterations = 50; -#endif - - private BigInteger _acc,_den,_num; - - public pidigits() - { - _acc = BigInteger.Zero; - _den = BigInteger.One; - _num = BigInteger.One; - } - - public uint extract_digit(uint nth) - { - return (uint)((_num * nth + _acc) / _den); - } - - public void eliminate_digit(uint d) - { - _acc -= _den * d; - _acc *= 10; - _num *= 10; - } - - public void next_term(uint k) - { - uint k2 = k * 2 + 1; - _acc += _num * 2; - _acc *= k2; - _den *= k2; - _num *= k; - } - - public void Calculate(int n, bool verbose = false) - { - StringBuilder sb = new StringBuilder(20); - uint d, k, i; - for (i = k = 0; i < n;) - { - next_term(++k); - if (_num > _acc) - continue; - d = extract_digit(3); - if (d != extract_digit(4)) - continue; - sb.Append((char)('0' + d)); - if (++i % 10 == 0) - { - if (verbose) - { - Console.WriteLine("{0}\t:{1}", sb, i); - } - sb.Clear(); - } - eliminate_digit(d); - } - } - - public static int Main(String[] args) - { - int length = args.Length == 0 ? 10 : Int32.Parse(args[0]); - for (int i = 0; i < Iterations; i++) - { - pidigits p = new pidigits(); - p.Calculate(length, true); - } - return 100; - } - - [Benchmark] - public static void Bench() - { - int length = 600; - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - for (int i = 0; i < Iterations; i++) - { - pidigits p = new pidigits(); - p.Calculate(length); - } - } - } - } -} -} - diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.csproj deleted file mode 100644 index 003871e447..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.csproj +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - <NuGetTargetMonikerShort>netstandard1.4</NuGetTargetMonikerShort> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> - <PropertyGroup> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="pi-digits.cs" /> - </ItemGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> - <PropertyGroup> - <ProjectAssetsFile>$(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json</ProjectAssetsFile> - </PropertyGroup> -</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pidigits-serial.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pidigits-serial.cs deleted file mode 100644 index 6d7970df3f..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pidigits-serial.cs +++ /dev/null @@ -1,2 +0,0 @@ -// best is serial - diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna-best.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna-best.cs deleted file mode 100644 index d261a0d286..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna-best.cs +++ /dev/null @@ -1 +0,0 @@ -// no longer up on site diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna-input25.txt b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna-input25.txt deleted file mode 100644 index c32ac3c876..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna-input25.txt +++ /dev/null @@ -1,9 +0,0 @@ ->ONE Homo sapiens alu -GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA ->TWO IUB ambiguity codes -cttBtatcatatgctaKggNcataaaSatgtaaaDcDRtBggDtctttataattcBgtcg -tactDtDagcctatt ->THREE Homo sapiens frequency -agggtaaagtttgtgttgcgttatagtctatttgtggacacagtatggtcaaatgacgtc -ttttccctttaacaaagatactctgggcaacacacatacttctctcatgttgtttcttcg -gacct diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna-input25000.txt b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna-input25000.txt deleted file mode 100644 index fd4414b176..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna-input25000.txt +++ /dev/null @@ -1,4171 +0,0 @@ ->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/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csharp-6.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csharp-6.cs deleted file mode 100644 index 882bfd23f9..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csharp-6.cs +++ /dev/null @@ -1,229 +0,0 @@ -// 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 Computer Language Benchmarks Game - http://benchmarksgame.alioth.debian.org/ - * - * contributed by Jimmy Tang - * - * modified for use with xunit-performance - */ - -using Microsoft.Xunit.Performance; -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.IO; -using System.Linq; -using System.Text.RegularExpressions; -using System.Threading; - -[assembly: OptimizeForBenchmarks] - -namespace BenchmarksGame -{ - -public static class Regexdna -{ - -#if DEBUG - const bool Verbose = true; - const int Iterations = 1; - const string InputFile = "regexdna-input25.txt"; -#else - const bool Verbose = false; - const int Iterations = 6; - const string InputFile = "regexdna-input25000.txt"; -#endif - - static string FindInput(string s) - { - string CoreRoot = System.Environment.GetEnvironmentVariable("CORE_ROOT"); - - if (CoreRoot == null) - { - Console.WriteLine("This benchmark requries CORE_ROOT to be set"); - return null; - } - - string inputFile = s ?? InputFile; - - // Normal testing -- input file will end up next to the assembly - // and CoreRoot points at the test overlay dir - string[] pathPartsNormal = new string[] { - CoreRoot, "..", "..", "JIT", "Performance", - "CodeQuality", "BenchmarksGame", "regexdna", "regexdna", inputFile - }; - - string inputPathNormal = Path.Combine(pathPartsNormal); - - // Perf testing -- input file will end up next to the assembly - // and CoreRoot points at this directory - string[] pathPartsPerf = new string[] { CoreRoot, inputFile }; - - string inputPathPerf = Path.Combine(pathPartsPerf); - - string inputPath = null; - - if (File.Exists(inputPathNormal)) - { - inputPath = inputPathNormal; - } - else if (File.Exists(inputPathPerf)) - { - inputPath = inputPathPerf; - } - - if (inputPath != null) - { - Console.WriteLine("Using input file {0}", inputPath); - } - else - { - Console.WriteLine("Unable to find input file {0}", inputFile); - } - - return inputPath; - } - - public static int Main(string[] args) - { - string inputFile = InputFile; - int iterations = Iterations; - bool verbose = Verbose; - - for (int i = 0; i < args.Length; i++) - { - if (args[i] == "-v") - { - verbose = true; - } - else if (args[i] == "-q") - { - verbose = false; - } - else if (args[i] == "-i") - { - i++; - - if (i < args.Length) - { - Int32.TryParse(args[i], out iterations); - } - } - else - { - inputFile = args[i]; - } - } - - string fullInputFile = FindInput(inputFile); - - if (fullInputFile == null) - { - Console.WriteLine("unable to find input"); - return -1; - } - - if (iterations != Iterations) - { - Console.WriteLine("Running {0} iterations", iterations); - } - - using (var r = File.OpenText(fullInputFile)) - { - string sequence = r.ReadToEnd(); - - // Warmup - - BenchInner(verbose, sequence); - - Stopwatch sw = Stopwatch.StartNew(); - for (int j = 0; j < iterations; j++) - { - BenchInner(verbose, sequence); - } - sw.Stop(); - - Console.WriteLine("regexdna [{0} iters]: {1}ms", iterations, sw.ElapsedMilliseconds); - } - - return 100; - } - - static void BenchInner(bool verbose, string sequence) - { - int initialLength = sequence.Length; - - sequence = Regex.Replace(sequence, ">.*\n|\n", ""); - int codeLength = sequence.Length; - - 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" - }; - - var flags = variants.Select((v, i) => { - var flag = new ManualResetEvent(false); - ThreadPool.QueueUserWorkItem(x => { - variants[i] += " " + Regex.Matches(sequence, v).Count; - flag.Set(); - }); - return flag; - }); - WaitHandle.WaitAll(flags.ToArray()); - if (verbose) - { - Console.WriteLine(string.Join("\n", variants)); - } - - var dict = new Dictionary<string, string> { - {"B", "(c|g|t)"}, {"D", "(a|g|t)"}, {"H", "(a|c|t)"}, {"K", "(g|t)"}, - {"M", "(a|c)"}, {"N", "(a|c|g|t)"}, {"R", "(a|g)"}, {"S", "(c|g)"}, - {"V", "(a|c|g)"}, {"W", "(a|t)"}, {"Y", "(c|t)"} - }; - - sequence = new Regex("[WYKMSRBDVHN]").Replace(sequence, m => dict[m.Value]); - - if (verbose) - { - Console.WriteLine("\n{0}\n{1}\n{2}", initialLength, codeLength, sequence.Length); - } - } - - [Benchmark] - public static void Bench() - { - string fullInputFile = FindInput(InputFile); - - if (fullInputFile == null) - { - throw new Exception("unable to find input"); - } - - using (var r = File.OpenText(fullInputFile)) - { - string sequence = r.ReadToEnd(); - - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - for (int i = 0; i < Iterations; i++) - { - BenchInner(false, sequence); - } - } - } - } - } -} - -} diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csproj deleted file mode 100644 index e7b9d42bd0..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csproj +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - <NuGetTargetMonikerShort>netstandard1.4</NuGetTargetMonikerShort> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - </PropertyGroup> - <PropertyGroup> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="regexdna.csharp-6.cs" /> - </ItemGroup> - <ItemGroup> - <Content Include="regexdna-input25.txt"> - <CopyToOutputDirectory>Always</CopyToOutputDirectory> - </Content> - <Content Include="regexdna-input25000.txt"> - <CopyToOutputDirectory>Always</CopyToOutputDirectory> - </Content> - </ItemGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> - <PropertyGroup> - <ProjectAssetsFile>$(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json</ProjectAssetsFile> - </PropertyGroup> -</Project> diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/reverse-complement/revcomp.csharp-1.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/reverse-complement/revcomp.csharp-1.cs deleted file mode 100644 index bca63bd00e..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/reverse-complement/revcomp.csharp-1.cs +++ /dev/null @@ -1,249 +0,0 @@ -// 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 Computer Language Benchmarks Game - http://benchmarksgame.alioth.debian.org/ - - contributed by Robert F. Tobler to process large blocks of byte arrays - - modified for use with xunit-performance -*/ - -using Microsoft.Xunit.Performance; -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.IO; - -[assembly: OptimizeForBenchmarks] - -namespace BenchmarksGame -{ - -public static class Revcomp -{ - -#if DEBUG - const int Iterations = 1; - const string InputFile = "revcomp-input25.txt"; -#else - const int Iterations = 800; - const string InputFile = "revcomp-input25000.txt"; -#endif - - 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 string FindInput(string s) - { - string CoreRoot = System.Environment.GetEnvironmentVariable("CORE_ROOT"); - - if (CoreRoot == null) - { - Console.WriteLine("This benchmark requries CORE_ROOT to be set"); - return null; - } - - string inputFile = s ?? InputFile; - - // Normal testing -- input file will end up next to the assembly - // and CoreRoot points at the test overlay dir - string[] pathPartsNormal = new string[] { - CoreRoot, "..", "..", "JIT", "Performance", - "CodeQuality", "BenchmarksGame", "revcomp", "revcomp", inputFile - }; - - string inputPathNormal = Path.Combine(pathPartsNormal); - - // Perf testing -- input file will end up next to the assembly - // and CoreRoot points at this directory - string[] pathPartsPerf = new string[] { CoreRoot, inputFile }; - - string inputPathPerf = Path.Combine(pathPartsPerf); - - string inputPath = null; - - if (File.Exists(inputPathNormal)) - { - inputPath = inputPathNormal; - } - else if (File.Exists(inputPathPerf)) - { - inputPath = inputPathPerf; - } - - if (inputPath != null) - { - Console.WriteLine("Using input file {0}", inputPath); - } - else - { - Console.WriteLine("Unable to find input file {0}", inputFile); - } - - return inputPath; - } - - static int Main(string[] args) - { - bool verbose = false; - string inputFile = InputFile; - int iterations = Iterations; - - for (int i = 0; i < args.Length; i++) - { - if (args[i] == "-v") - { - verbose = true; - } - if (args[i] == "-i") - { - i++; - - if (i < args.Length) - { - Int32.TryParse(args[i], out iterations); - } - } - else - { - inputFile = args[i]; - } - } - - string fullInputFile = FindInput(inputFile); - - if (fullInputFile == null) - { - return -1; - } - - if (iterations != Iterations) - { - Console.WriteLine("Running {0} iterations", iterations); - } - - // Warmup - BenchInner(false, fullInputFile); - - Stopwatch sw = Stopwatch.StartNew(); - for (int j = 0; j < iterations; j++) - { - BenchInner(verbose, fullInputFile); - } - sw.Stop(); - Console.WriteLine("revcomp [{0} iters]: {1}ms", iterations, sw.ElapsedMilliseconds); - - return 100; - } - - static void BenchInner(bool doOutput, string inputFile) - { - InitComplements(); - var seq = new List<byte[]>(); - var b = new Block { Count = -1 }; - Index line = Index.None, start = Index.None, end = Index.None; - using (var r = new BinaryReader(File.OpenRead(inputFile))) { - using (var w = doOutput ? Console.OpenStandardOutput() : Stream.Null) { - 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; - } - w.Reverse(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) - w.Reverse(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(this Stream w, int si, int ei, List<byte[]> 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); - } - } - - [Benchmark] - public static void Bench() - { - string inputFile = FindInput(InputFile); - - if (inputFile == null) - { - throw new Exception("unable to find input"); - } - - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - for (int i = 0; i < Iterations; i++) - { - BenchInner(false, inputFile); - } - } - } - } -} - -} diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/reverse-complement/reverse-complement.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/reverse-complement/reverse-complement.csproj deleted file mode 100644 index 00789ed3a5..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/reverse-complement/reverse-complement.csproj +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - <NuGetTargetMonikerShort>netstandard1.4</NuGetTargetMonikerShort> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - </PropertyGroup> - <PropertyGroup> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="revcomp.csharp-1.cs" /> - </ItemGroup> - <ItemGroup> - <Content Include="revcomp-input25.txt"> - <CopyToOutputDirectory>Always</CopyToOutputDirectory> - </Content> - <Content Include="revcomp-input25000.txt"> - <CopyToOutputDirectory>Always</CopyToOutputDirectory> - </Content> - </ItemGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> - <PropertyGroup> - <ProjectAssetsFile>$(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json</ProjectAssetsFile> - </PropertyGroup> -</Project> diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.cs deleted file mode 100644 index 5f2b1aed5f..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.cs +++ /dev/null @@ -1,128 +0,0 @@ -// 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 Computer Language Benchmarks Game - http://benchmarksgame.alioth.debian.org/ - - contributed by Isaac Gouy - - modified for use with xunit-performance -*/ - -using Microsoft.Xunit.Performance; -using System; - -[assembly: OptimizeForBenchmarks] - -namespace BenchmarksGame -{ -public class SpectralNorm -{ -#if DEBUG - public const int Iterations = 1; -#else - public const int Iterations = 300; -#endif - - public static int Main(String[] args) - { - int n = 100; - if (args.Length > 0) n = Int32.Parse(args[0]); - double norm = new SpectralNorm().Approximate(n); - Console.WriteLine("Norm={0:f9}", norm); - double expected = 1.274219991; - bool result = Math.Abs(norm - expected) < 1e-4; - return (result ? 100 : -1); - } - - [Benchmark] - public static void Bench() - { - int n = 100; - foreach (var iteration in Benchmark.Iterations) - { - double a = 0; - - using (iteration.StartMeasurement()) - { - for (int i = 0; i < Iterations; i++) - { - SpectralNorm s = new SpectralNorm(); - a += s.Approximate(n); - } - } - - double norm = a / Iterations; - double expected = 1.274219991; - bool valid = Math.Abs(norm - expected) < 1e-4; - if (!valid) - { - throw new Exception("Benchmark failed to validate"); - } - } - } - - private double Approximate(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 */ - private double A(int i, int j) - { - return 1.0 / ((i + j) * (i + j + 1) / 2 + i + 1); - } - - /* multiply vector v by matrix A */ - private 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 */ - private 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 */ - private void MultiplyAtAv(int n, double[] v, double[] AtAv) - { - double[] u = new double[n]; - MultiplyAv(n, v, u); - MultiplyAtv(n, u, AtAv); - } -} -} diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.csproj deleted file mode 100644 index 3c3e32e986..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.csproj +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - <NuGetTargetMonikerShort>netstandard1.4</NuGetTargetMonikerShort> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> - <PropertyGroup> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="spectralnorm.cs" /> - </ItemGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> - <PropertyGroup> - <ProjectAssetsFile>$(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json</ProjectAssetsFile> - </PropertyGroup> -</Project> |