Merge pull request #852 from ranma42/abc-64bits
authorZoltan Varga <vargaz@gmail.com>
Sun, 5 Jan 2014 10:57:37 +0000 (02:57 -0800)
committerZoltan Varga <vargaz@gmail.com>
Sun, 5 Jan 2014 10:57:37 +0000 (02:57 -0800)
Improve ABCREM

74 files changed:
data/aspnetwebstack.pc.in
mcs/class/Makefile
mcs/class/Microsoft.Build.Tasks/Makefile
mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks-net_2_0.csproj
mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks-net_3_5.csproj
mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks-net_4_0.csproj
mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks-net_4_5.csproj
mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks.dll.sources
mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/LibraryPcFileCache.cs [deleted file]
mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/PcFileCache.cs [deleted file]
mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/ObjectMirror.cs
mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/TypeMirror.cs
mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/VirtualMachineManager.cs
mcs/class/Mono.Debugger.Soft/Test/dtest.cs
mcs/class/Mono.XBuild.Tasks/Assembly/AssemblyInfo.cs [new file with mode: 0644]
mcs/class/Mono.XBuild.Tasks/Makefile [new file with mode: 0644]
mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-net_2_0.csproj [new file with mode: 0644]
mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-net_3_5.csproj [new file with mode: 0644]
mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-net_4_0.csproj [new file with mode: 0644]
mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-net_4_5.csproj [new file with mode: 0644]
mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-tests-net_2_0.csproj [new file with mode: 0644]
mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-tests-net_3_5.csproj [new file with mode: 0644]
mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-tests-net_4_0.csproj [new file with mode: 0644]
mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-tests-net_4_5.csproj [new file with mode: 0644]
mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks.dll.sources [new file with mode: 0644]
mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks/LibraryPcFileCache.cs [new file with mode: 0644]
mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks/PcFileCache.cs [new file with mode: 0644]
mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks_test.dll.sources [new file with mode: 0644]
mcs/class/Mono.XBuild.Tasks/Test/Mono.XBuild.Tasks/PcFileCacheTest.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms.DataVisualization/Assembly/AssemblyInfo.cs
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/Chart.cs
mcs/class/WindowsBase/System.ComponentModel/GroupDescription.cs
mcs/class/WindowsBase/System.ComponentModel/SortDescriptionCollection.cs
mcs/class/WindowsBase/Test/System.ComponentModel/GroupDescriptionTest.cs [new file with mode: 0644]
mcs/class/WindowsBase/Test/System.ComponentModel/SortDescriptionCollectionTest.cs
mcs/class/WindowsBase/WindowsBase-tests-net_2_0.csproj
mcs/class/WindowsBase/WindowsBase-tests-net_4_0.csproj
mcs/class/WindowsBase/WindowsBase-tests-net_4_5.csproj
mcs/class/WindowsBase/WindowsBase_test.dll.sources
mcs/class/corlib/System.Reflection/MonoParameterInfo.cs
mcs/class/corlib/System.Reflection/ParameterInfo.cs
mcs/class/corlib/System.Runtime.CompilerServices/AsyncTaskMethodBuilder.cs
mcs/class/corlib/System.Runtime.CompilerServices/AsyncTaskMethodBuilder_T.cs
mcs/class/corlib/System.Threading.Tasks/Task.cs
mcs/class/corlib/System.Threading.Tasks/TaskActionInvoker.cs
mcs/class/corlib/Test/System.Globalization/DateTimeFormatInfoTest.cs
mcs/class/corlib/Test/System.Reflection/ParameterInfoTest.cs
mcs/class/corlib/Test/System/DateTimeOffsetTest.cs
mcs/class/corlib/Test/System/DateTimeTest.cs
mcs/errors/cs0246-30.cs [new file with mode: 0644]
mcs/mcs/async.cs
mcs/mcs/class.cs
mcs/mcs/convert.cs
mcs/mcs/cs-parser.jay
mcs/mcs/eval.cs
mcs/mcs/expression.cs
mcs/mcs/generic.cs
mcs/tests/gtest-601.cs [new file with mode: 0644]
mcs/tests/test-async-22.cs
mcs/tests/test-async-56.cs [new file with mode: 0644]
mcs/tests/test-async-57.cs [new file with mode: 0644]
mcs/tests/ver-il-net_4_5.xml
mono-core.spec.in
mono/metadata/culture-info-tables.h
mono/metadata/domain.c
mono/metadata/icall.c
mono/metadata/object.c
mono/mini/aot-compiler.c
mono/mini/method-to-ir.c
mono/mini/mini-generic-sharing.c
mono/mini/mini-trampolines.c
mono/mini/mini.c
mono/mini/mini.h
tools/locale-builder/Patterns.cs

index 250fdb6ad7b943f9b2b5ad36db53aa020f3ea34b..cbb24e47a153c57f26198cab407bbffcec924891 100644 (file)
@@ -1,4 +1,4 @@
 Name: AspNetWebStack
 Description: References Microsoft ASP.NET Web Stack
 Version: @VERSION@
-Libs: -r:System.Web.Razor.dll -r:System.Web.Http.dll -r:System.Web.WebPages -r:System.Web.WebPages.Razor -r:System.Web.WebPages.Deployment
+Libs: -r:@prefix@/lib/mono/gac/System.Web.Razor/2.0.0.0__31bf3856ad364e35/System.Web.Razor.dll -r:@prefix@/lib/mono/gac/System.Web.Http/4.0.0.0__31bf3856ad364e35/System.Web.Http.dll -r:@prefix@/lib/mono/gac/System.Web.WebPages/2.0.0.0__31bf3856ad364e35/System.Web.WebPages.dll -r:@prefix@/lib/mono/gac/System.Web.WebPages.Razor/2.0.0.0__31bf3856ad364e35/System.Web.WebPages.Razor.dll -r:@prefix@/lib/mono/gac/System.Web.WebPages.Deployment/2.0.0.0__31bf3856ad364e35/System.Web.WebPages.Deployment.dll
index aa37aebd10e8a2a0a96a9fbaa5bbdb1aaca23d49..79f1f9d618cb5a86c15cfe9d0aede507e04316a3 100644 (file)
@@ -91,6 +91,7 @@ net_2_0_dirs := \
        Microsoft.Build.Framework       \
        Microsoft.Build.Utilities       \
        Microsoft.Build.Engine          \
+       Mono.XBuild.Tasks                       \
        Microsoft.Build.Tasks           \
        System.Xml.Linq                 \
        System.Runtime.Serialization    \
@@ -173,6 +174,7 @@ net_3_5_only_dirs := \
        Microsoft.Build.Framework       \
        Microsoft.Build.Utilities       \
        Microsoft.Build.Engine          \
+       Mono.XBuild.Tasks                       \
        Microsoft.Build.Tasks
 
 net_4_0_dirs := \
index 18288e01177436838159bc48827d8928cf7cdcf3..4161a45b51cb2134b7443ffd3ce69a194c7fdba3 100644 (file)
@@ -5,11 +5,13 @@ include ../../build/rules.make
 LIBRARY = Microsoft.Build.Tasks.dll
 BUILD_FRAMEWORK = Microsoft.Build.Framework.dll
 BUILD_ENGINE = Microsoft.Build.Engine.dll
+XBUILD_TASKS = Mono.XBuild.Tasks.dll
 
 ifeq (3.5, $(FRAMEWORK_VERSION))
 NAME_SUFFIX = .v3.5
 BUILD_FRAMEWORK := $(topdir)/class/lib/$(PROFILE)/$(BUILD_FRAMEWORK)
 BUILD_ENGINE := $(topdir)/class/lib/$(PROFILE)/$(BUILD_ENGINE)
+XBUILD_TASKS := $(topdir)/class/lib/$(PROFILE)/$(XBUILD_TASKS)
 else
 ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
 NAME_SUFFIX = .v4.0
@@ -29,11 +31,13 @@ LIB_MCS_FLAGS = \
        /r:System.Windows.Forms.dll             \
        /r:Microsoft.Build.Utilities$(NAME_SUFFIX).dll  \
        /r:$(BUILD_FRAMEWORK)   \
-       /r:$(BUILD_ENGINE)
+       /r:$(BUILD_ENGINE)              \
+       /r:$(XBUILD_TASKS)
 
 TEST_MCS_FLAGS = \
        /r:$(BUILD_ENGINE)      \
        /r:$(BUILD_FRAMEWORK)   \
+       /r:$(XBUILD_TASKS)              \
        /r:Microsoft.Build.Utilities$(NAME_SUFFIX).dll \
        /r:System.Core.dll
 
index 6d196e931da88ceb9913181ff9ed13321cf1cc4a..39fdfbca0de2c3e077779c04a8275230bb97b2e4 100644 (file)
     <Compile Include="Microsoft.Build.Tasks\GetFrameworkSdkPath.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\GetReferenceAssemblyPaths.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\LC.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\LibraryPcFileCache.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\MakeDir.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\ManagedCompiler.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\Message.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\MSBuild.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\PcFileCache.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\ReadLinesFromFile.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\RegisterAssembly.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\RemoveDir.cs" />\r
       <Project>{E8E948B8-6DCF-48F2-A6BC-04309AED8740}</Project>\r
       <Name>Microsoft.Build.Engine\Microsoft.Build.Engine-net_2_0</Name>\r
     </ProjectReference>\r
+    <ProjectReference Include="..\Mono.XBuild.Tasks\Mono.XBuild.Tasks-net_2_0.csproj">\r
+      <Project>{F5F84165-0541-4828-A81E-0AA1836E50C1}</Project>\r
+      <Name>Mono.XBuild.Tasks-net_2_0</Name>\r
+    </ProjectReference>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <Folder Include="Properties\" />\r
index 014cf446e0446a6135d1431d7e59eb07140f9ca2..7f9ae420975a0b661a21a94959f6a5fe0ab08d78 100644 (file)
     <Compile Include="Microsoft.Build.Tasks\GetFrameworkSdkPath.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\GetReferenceAssemblyPaths.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\LC.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\LibraryPcFileCache.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\MakeDir.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\ManagedCompiler.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\Message.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\MSBuild.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\PcFileCache.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\ReadLinesFromFile.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\RegisterAssembly.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\RemoveDir.cs" />\r
       <Project>{874516A3-F5F6-4EAB-B005-4D1A567C5E4D}</Project>\r
       <Name>Microsoft.Build.Engine\Microsoft.Build.Engine-net_3_5</Name>\r
     </ProjectReference>\r
+    <ProjectReference Include="..\Mono.XBuild.Tasks\Mono.XBuild.Tasks-net_3_5.csproj">\r
+      <Project>{7B888FCD-9064-4F4A-954E-795B43F98127}</Project>\r
+      <Name>Mono.XBuild.Tasks-net_3_5</Name>\r
+    </ProjectReference>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <Folder Include="Properties\" />\r
index b52f6278696e80854bf61bbe12ab5c503c973d1a..f883f4f7889cbf93f6531eecc2ac9cb16a5ff254 100644 (file)
     <Compile Include="Microsoft.Build.Tasks\GetFrameworkSdkPath.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\GetReferenceAssemblyPaths.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\LC.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\LibraryPcFileCache.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\MakeDir.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\ManagedCompiler.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\Message.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\MSBuild.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\PcFileCache.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\ReadLinesFromFile.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\RegisterAssembly.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\RemoveDir.cs" />\r
       <Project>{9B0AC297-CB85-43C1-8C18-12997CF1B78D}</Project>\r
       <Name>Microsoft.Build.Engine\Microsoft.Build.Engine-net_4_0</Name>\r
     </ProjectReference>\r
+    <ProjectReference Include="..\Mono.XBuild.Tasks\Mono.XBuild.Tasks-net_4_0.csproj">\r
+      <Project>{F7F03F9B-6E7A-43BD-993A-7F197A440150}</Project>\r
+      <Name>Mono.XBuild.Tasks-net_4_0</Name>\r
+    </ProjectReference>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <Folder Include="Properties\" />\r
index 657ee6fc25111e8556221d54f3fc488832749005..7af8b85741ec45b24968f14295eade24e958e192 100644 (file)
     <Compile Include="Microsoft.Build.Tasks\GetFrameworkSdkPath.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\GetReferenceAssemblyPaths.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\LC.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\LibraryPcFileCache.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\MakeDir.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\ManagedCompiler.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\Message.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\MSBuild.cs" />\r
-    <Compile Include="Microsoft.Build.Tasks\PcFileCache.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\ReadLinesFromFile.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\RegisterAssembly.cs" />\r
     <Compile Include="Microsoft.Build.Tasks\RemoveDir.cs" />\r
       <Project>{0DA63190-E6E1-41C5-B683-A54FADBE61CB}</Project>\r
       <Name>Microsoft.Build.Engine\Microsoft.Build.Engine-net_4_5</Name>\r
     </ProjectReference>\r
+    <ProjectReference Include="..\Mono.XBuild.Tasks\Mono.XBuild.Tasks-net_4_5.csproj">\r
+      <Project>{9AC58525-C730-4552-A8FA-332979FCD055}</Project>\r
+      <Name>Mono.XBuild.Tasks-net_4_5</Name>\r
+    </ProjectReference>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <Folder Include="Properties\" />\r
index fb30b46bc2a0166be16fc780c7c45a557fb45b0b..e61c90c6300a94d142169618f4124eb64eab0144 100644 (file)
@@ -87,8 +87,6 @@ Microsoft.Build.Tasks/MakeDir.cs
 Microsoft.Build.Tasks/ManagedCompiler.cs
 Microsoft.Build.Tasks/Message.cs
 Microsoft.Build.Tasks/MSBuild.cs
-Microsoft.Build.Tasks/PcFileCache.cs
-Microsoft.Build.Tasks/LibraryPcFileCache.cs
 Microsoft.Build.Tasks/ReadLinesFromFile.cs
 Microsoft.Build.Tasks/RegisterAssembly.cs
 Microsoft.Build.Tasks/RemoveDir.cs
diff --git a/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/LibraryPcFileCache.cs b/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/LibraryPcFileCache.cs
deleted file mode 100644 (file)
index f29a591..0000000
+++ /dev/null
@@ -1,321 +0,0 @@
-// 
-// PcFileCacheAssembly.cs
-//  
-// Author:
-//       Lluis Sanchez Gual <lluis@novell.com>
-// 
-// Copyright (c) 2009 Novell, Inc (http://www.novell.com)
-// 
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-// 
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-using System;
-using System.Text;
-using System.Xml;
-using System.IO;
-using System.Collections.Generic;
-
-// IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
-// This code is shared with xbuild, which has to build with .NET 2.0,
-// so no c# 3.0 syntax is allowed here.
-
-namespace Mono.PkgConfig
-{
-       internal class LibraryPcFileCache: PcFileCache<LibraryPackageInfo>
-       {
-               Dictionary<string, PackageAssemblyInfo> assemblyLocations;
-               
-               public LibraryPcFileCache (IPcFileCacheContext<LibraryPackageInfo> ctx): base (ctx)
-               {
-               }
-               
-               protected override string CacheDirectory {
-                       get {
-                               string path = Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData);
-                               path = Path.Combine (path, "xbuild");
-                               return path;
-                       }
-               }
-               
-               // Returns the location of an assembly, given the full name
-               public PackageAssemblyInfo GetAssemblyLocation (string fullName)
-               {
-                       return GetAssemblyLocation (fullName, null);
-               }
-               
-               public PackageAssemblyInfo GetAssemblyLocation (string fullName, IEnumerable<string> searchPaths)
-               {
-                       lock (SyncRoot) {
-                               if (assemblyLocations == null) {
-                                       // Populate on demand
-                                       assemblyLocations = new Dictionary<string, PackageAssemblyInfo> ();
-                                       foreach (LibraryPackageInfo info in GetPackages (searchPaths)) {
-                                               if (info.IsValidPackage) {
-                                                       foreach (PackageAssemblyInfo asm in info.Assemblies)
-                                                               assemblyLocations [NormalizeAsmName (asm.FullName)] = asm;
-                                               }
-                                       }
-                               }
-                       }
-                       // This collection is read-only once built, so there is no need for a lock
-                       PackageAssemblyInfo pasm;
-                       assemblyLocations.TryGetValue (NormalizeAsmName (fullName), out pasm);
-                       return pasm;
-               }
-               
-               public IEnumerable<PackageAssemblyInfo> ResolveAssemblyName (string name)
-               {
-                       return ResolveAssemblyName (name, null);
-               }
-               
-               public IEnumerable<PackageAssemblyInfo> ResolveAssemblyName (string name, IEnumerable<string> searchPaths)
-               {
-                       foreach (LibraryPackageInfo pinfo in GetPackages (searchPaths)) {
-                               if (pinfo.IsValidPackage) {
-                                       foreach (PackageAssemblyInfo asm in pinfo.Assemblies) {
-                                               if (asm.Name == name)
-                                                       yield return asm;
-                                       }
-                               }
-                       }
-               }
-               
-               protected override void WritePackageContent (XmlTextWriter tw, string file, LibraryPackageInfo pinfo)
-               {
-                       foreach (PackageAssemblyInfo asm in pinfo.Assemblies) {
-                               tw.WriteStartElement ("Assembly");
-                               tw.WriteAttributeString ("name", asm.Name);
-                               tw.WriteAttributeString ("version", asm.Version);
-                               tw.WriteAttributeString ("culture", asm.Culture);
-                               tw.WriteAttributeString ("publicKeyToken", asm.PublicKeyToken);
-                               tw.WriteAttributeString ("file", asm.File);
-                               tw.WriteEndElement (); // Assembly
-                       }
-               }
-               
-               protected override void ReadPackageContent (XmlReader tr, LibraryPackageInfo pinfo)
-               {
-                       while (tr.NodeType == XmlNodeType.Element) {
-                               PackageAssemblyInfo asm = new PackageAssemblyInfo ();
-                               asm.Name = tr.GetAttribute ("name");
-                               asm.Version = tr.GetAttribute ("version");
-                               asm.Culture = tr.GetAttribute ("culture");
-                               asm.PublicKeyToken = tr.GetAttribute ("publicKeyToken");
-                               asm.File = tr.GetAttribute ("file");
-                               if (pinfo.Assemblies == null)
-                                       pinfo.Assemblies = new List<PackageAssemblyInfo> ();
-                               asm.ParentPackage = pinfo;
-                               pinfo.Assemblies.Add (asm);
-                               tr.Read ();
-                               tr.MoveToContent ();
-                       }
-               }
-               
-               protected override void ParsePackageInfo (PcFile file, LibraryPackageInfo pinfo)
-               {
-                       List<string> fullassemblies = null;
-                       bool gacPackageSet = false;
-                       
-                       if (file.Libs != null && file.Libs.IndexOf (".dll") != -1) {
-                               if (file.Libs.IndexOf ("-lib:") != -1 || file.Libs.IndexOf ("/lib:") != -1) {
-                                       fullassemblies = GetAssembliesWithLibInfo (file.Libs);
-                               } else {
-                                       fullassemblies = GetAssembliesWithoutLibInfo (file.Libs);
-                               }
-                       }
-                       
-                       string value = file.GetVariable ("Libraries");
-                       if (!string.IsNullOrEmpty (value))
-                               fullassemblies = GetAssembliesFromLibrariesVar (value);
-                       
-                       value = file.GetVariable ("GacPackage");
-                       if (value != null) {
-                               pinfo.IsGacPackage = 
-                                       string.Equals (value, "yes", StringComparison.OrdinalIgnoreCase) ||
-                                       string.Equals (value, "true", StringComparison.OrdinalIgnoreCase);
-                               gacPackageSet = true;
-                       }
-       
-                       if (fullassemblies == null)
-                               return;
-                       
-                       string pcDir = Path.GetDirectoryName (file.FilePath);
-                       string monoPrefix = Path.GetDirectoryName (Path.GetDirectoryName (pcDir));
-                       monoPrefix = Path.GetFullPath (monoPrefix + Path.DirectorySeparatorChar + "lib" + Path.DirectorySeparatorChar + "mono" + Path.DirectorySeparatorChar);
-
-                       List<PackageAssemblyInfo> list = new List<PackageAssemblyInfo> ();
-                       foreach (string assembly in fullassemblies) {
-                               string asm;
-                               if (Path.IsPathRooted (assembly))
-                                       asm = Path.GetFullPath (assembly);
-                               else {
-                                       if (Path.GetDirectoryName (assembly).Length == 0) {
-                                               asm = assembly;
-                                       } else {
-                                               asm = Path.GetFullPath (Path.Combine (pcDir, assembly));
-                                       }
-                               }
-                               if (File.Exists (asm)) {
-                                       PackageAssemblyInfo pi = new PackageAssemblyInfo ();
-                                       pi.File = asm;
-                                       pi.ParentPackage = pinfo;
-                                       pi.UpdateFromFile (pi.File);
-                                       list.Add (pi);
-                                       if (!gacPackageSet && !asm.StartsWith (monoPrefix) && Path.IsPathRooted (asm)) {
-                                               // Assembly installed outside $(prefix)/lib/mono. It is most likely not a gac package.
-                                               gacPackageSet = true;
-                                               pinfo.IsGacPackage = false;
-                                       }
-                               }
-                       }
-                       pinfo.Assemblies = list;
-               }
-               
-               private List<string> GetAssembliesWithLibInfo (string line)
-               {
-                       List<string> references = new List<string> ();
-                       List<string> libdirs = new List<string> ();
-                       List<string> retval = new List<string> ();
-                       foreach (string piece in line.Split (' ')) {
-                               if (IsReferenceParameter (piece)) {
-                                       references.Add (piece.Substring (3).Trim ());
-                               } else if (piece.TrimStart ().StartsWith ("/lib:", StringComparison.OrdinalIgnoreCase) ||
-                                               piece.TrimStart ().StartsWith ("-lib:", StringComparison.OrdinalIgnoreCase)) {
-                                       libdirs.Add (piece.Substring (5).Trim ());
-                               }
-                       }
-       
-                       foreach (string refrnc in references) {
-                               foreach (string libdir in libdirs) {
-                                       if (File.Exists (libdir + Path.DirectorySeparatorChar + refrnc)) {
-                                               retval.Add (libdir + Path.DirectorySeparatorChar + refrnc);
-                                       }
-                               }
-                       }
-       
-                       return retval;
-               }
-
-               static bool IsReferenceParameter (string value)
-               {
-                       return value.TrimStart ().StartsWith ("/r:", StringComparison.OrdinalIgnoreCase) ||
-                               value.TrimStart ().StartsWith ("-r:", StringComparison.OrdinalIgnoreCase);
-               }
-               
-               List<string> GetAssembliesFromLibrariesVar (string line)
-               {
-                       List<string> references = new List<string> ();
-                       foreach (string reference in line.Split (' ')) {
-                               if (!string.IsNullOrEmpty (reference))
-                                       references.Add (reference);
-                       }
-                       return references;
-               }
-       
-               private List<string> GetAssembliesWithoutLibInfo (string line)
-               {
-                       List<string> references = new List<string> ();
-                       foreach (string reference in line.Split (' ')) {
-                               if (IsReferenceParameter (reference)) {
-                                       string final_ref = reference.Substring (3).Trim ();
-                                       references.Add (final_ref);
-                               }
-                       }
-                       return references;
-               }
-               
-               public static string NormalizeAsmName (string name)
-               {
-                       int i = name.IndexOf (", publickeytoken=null", StringComparison.OrdinalIgnoreCase);
-                       if (i != -1)
-                               name = name.Substring (0, i).Trim ();
-                       i = name.IndexOf (", processorarchitecture=", StringComparison.OrdinalIgnoreCase);
-                       if (i != -1)
-                               name = name.Substring (0, i).Trim ();
-                       return name;
-               }
-       }
-       
-       internal class LibraryPackageInfo: PackageInfo
-       {
-               public bool IsGacPackage {
-                       get { return GetData ("gacPackage") != "false"; }
-                       set {
-                               if (value)
-                                       RemoveData ("gacPackage");
-                               else
-                                       SetData ("gacPackage", "false");
-                       }
-               }
-               
-               internal List<PackageAssemblyInfo> Assemblies { get; set; }
-               
-               internal protected override bool IsValidPackage {
-                       get { return Assemblies != null && Assemblies.Count > 0; }
-               }
-       }
-       
-       internal class PackageAssemblyInfo
-       {
-               public string File { get; set; }
-               
-               public string Name;
-               
-               public string Version;
-               
-               public string Culture;
-               
-               public string PublicKeyToken;
-               
-               public string FullName {
-                       get {
-                               string fn = Name + ", Version=" + Version;
-                               if (!string.IsNullOrEmpty (Culture))
-                                       fn += ", Culture=" + Culture;
-                               if (!string.IsNullOrEmpty (PublicKeyToken))
-                                       fn += ", PublicKeyToken=" + PublicKeyToken;
-                               return fn;
-                       }
-               }
-               
-               public LibraryPackageInfo ParentPackage { get; set; }
-               
-               public void UpdateFromFile (string file)
-               {
-                       Update (System.Reflection.AssemblyName.GetAssemblyName (file));
-               }
-               
-               public void Update (System.Reflection.AssemblyName aname)
-               {
-                       Name = aname.Name;
-                       Version = aname.Version.ToString ();
-                       if (aname.CultureInfo != null) {
-                               if (aname.CultureInfo.LCID == System.Globalization.CultureInfo.InvariantCulture.LCID)
-                                       Culture = "neutral";
-                               else
-                                       Culture = aname.CultureInfo.Name;
-                       }
-                       string fn = aname.ToString ();
-                       string key = "publickeytoken=";
-                       int i = fn.IndexOf (key, StringComparison.OrdinalIgnoreCase) + key.Length;
-                       int j = fn.IndexOf (',', i);
-                       if (j == -1) j = fn.Length;
-                       PublicKeyToken = fn.Substring (i, j - i);
-               }
-       }
-}
diff --git a/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/PcFileCache.cs b/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/PcFileCache.cs
deleted file mode 100644 (file)
index aa96a31..0000000
+++ /dev/null
@@ -1,646 +0,0 @@
-// 
-// PcFileCache.cs
-//  
-// Author:
-//       Lluis Sanchez Gual <lluis@novell.com>
-// 
-// Copyright (c) 2009 Novell, Inc (http://www.novell.com)
-// 
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-// 
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-using System;
-using System.Text;
-using System.Xml;
-using System.IO;
-using System.Collections.Generic;
-
-// IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
-// This code is shared with xbuild, which has to build with .NET 2.0,
-// so no c# 3.0 syntax is allowed here.
-
-namespace Mono.PkgConfig
-{
-       internal interface IPcFileCacheContext<TP> where TP:PackageInfo, new()
-       {
-               // In the implementation of this method, the host application can extract
-               // information from the pc file and store it in the PackageInfo object
-               void StoreCustomData (PcFile pcfile, TP pkg);
-               
-               // Should return false if the provided package does not have required
-               // custom data
-               bool IsCustomDataComplete (string pcfile, TP pkg);
-               
-               // Called to report errors
-               void ReportError (string message, Exception ex);
-       }
-       
-       internal interface IPcFileCacheContext: IPcFileCacheContext<PackageInfo>
-       {
-       }
-       
-       internal abstract class PcFileCache: PcFileCache<PackageInfo>
-       {
-               public PcFileCache (IPcFileCacheContext ctx): base (ctx)
-               {
-               }
-       }
-       
-       internal abstract class PcFileCache<TP> where TP:PackageInfo, new()
-       {
-               const string CACHE_VERSION = "2";
-               const string MacOSXExternalPkgConfigDir = "/Library/Frameworks/Mono.framework/External/pkgconfig";
-               
-               Dictionary<string, TP> infos = new Dictionary<string, TP> ();
-               Dictionary<string, List<TP>> filesByFolder = new Dictionary<string, List<TP>> ();
-               
-               string cacheFile;
-               bool hasChanges;
-               IPcFileCacheContext<TP> ctx;
-               IEnumerable<string> defaultPaths;
-               
-               public PcFileCache (IPcFileCacheContext<TP> ctx)
-               {
-                       this.ctx = ctx;
-                       try {
-                               string path = CacheDirectory;
-                               if (!Directory.Exists (path))
-                                       Directory.CreateDirectory (path);
-                               cacheFile = Path.Combine (path, "pkgconfig-cache-" + CACHE_VERSION + ".xml");
-                               
-                               if (File.Exists (cacheFile))
-                                       Load ();
-                               
-                       } catch (Exception ex) {
-                               ctx.ReportError ("pc file cache could not be loaded.", ex);
-                       }
-               }
-               
-               protected abstract string CacheDirectory { get; }
-               
-               // Updates the pkg-config index, using the default search directories
-               public void Update ()
-               {
-                       Update (GetDefaultPaths ());
-               }
-
-               // Updates the pkg-config index, looking for .pc files in the provided directories
-               public void Update (IEnumerable<string> pkgConfigDirs)
-               {
-                       foreach (string pcdir in pkgConfigDirs) {
-                               foreach (string pcfile in Directory.GetFiles (pcdir, "*.pc"))
-                                       GetPackageInfo (pcfile);
-                       }
-                       Save ();
-               }
-               
-               public IEnumerable<TP> GetPackages ()
-               {
-                       return GetPackages (null);
-               }
-               
-               public IEnumerable<TP> GetPackages (IEnumerable<string> pkgConfigDirs)
-               {
-                       if (pkgConfigDirs == null)
-                               pkgConfigDirs = GetDefaultPaths ();
-
-                       foreach (string sp in pkgConfigDirs) {
-                               List<TP> list;
-                               if (filesByFolder.TryGetValue (Path.GetFullPath (sp), out list)) {
-                                       foreach (TP p in list)
-                                               yield return p;
-                               }
-                       }
-               }
-               
-               public TP GetPackageInfoByName (string name)
-               {
-                       return GetPackageInfoByName (name, null);
-               }
-               
-               public TP GetPackageInfoByName (string name, IEnumerable<string> pkgConfigDirs)
-               {
-                       foreach (TP p in GetPackages (pkgConfigDirs))
-                               if (p.Name == name)
-                                       return p;
-                       return null;
-               }
-               
-               // Returns information about a .pc file
-               public TP GetPackageInfo (string file)
-               {
-                       TP info, oldInfo = null;
-                       file = Path.GetFullPath (file);
-                       
-                       DateTime wtime = File.GetLastWriteTime (file);
-                       
-                       lock (infos) {
-                               if (infos.TryGetValue (file, out info)) {
-                                       if (info.LastWriteTime == wtime)
-                                               return info;
-                                       oldInfo = info;
-                               }
-                       }
-
-                       try {
-                               info = ParsePackageInfo (file);
-                       } catch (Exception ex) {
-                               ctx.ReportError ("Error while parsing .pc file: " + file, ex);
-                               info = new TP ();
-                       }
-                       
-                       lock (infos) {
-                               if (!info.IsValidPackage)
-                                       info = new TP (); // Create a default empty instance
-                               info.LastWriteTime = wtime;
-                               Add (file, info, oldInfo);
-                               hasChanges = true;
-                       }
-                       
-                       return info;
-               }
-               
-               void Add (string file, TP info, TP replacedInfo)
-               {
-                       infos [file] = info;
-                       string dir = Path.GetFullPath (Path.GetDirectoryName (file));
-                       List<TP> list;
-                       if (!filesByFolder.TryGetValue (dir, out list)) {
-                               list = new List<TP> ();
-                               filesByFolder [dir] = list;
-                       }
-                       if (replacedInfo != null) {
-                               int i = list.IndexOf (replacedInfo);
-                               if (i != -1) {
-                                       list [i] = info;
-                                       return;
-                               }
-                       }
-                       list.Add (info);
-               }
-               
-               FileStream OpenFile (FileAccess access)
-               {
-                       int retries = 6;
-                       FileMode mode = access == FileAccess.Read ? FileMode.Open : FileMode.Create;
-                       Exception lastException = null;
-                       
-                       while (retries > 0) {
-                               try {
-                                       return new FileStream (cacheFile, mode, access, FileShare.None);
-                               } catch (Exception ex) {
-                                       // the file may be locked by another app. Wait a bit and try again
-                                       lastException = ex;
-                                       System.Threading.Thread.Sleep (200);
-                                       retries--;
-                               }
-                       }
-                       ctx.ReportError ("File could not be opened: " + cacheFile, lastException);
-                       return null;
-               }
-               
-               void Load ()
-               {
-                       // The serializer can't be used because this file is reused in xbuild
-                       using (FileStream fs = OpenFile (FileAccess.Read)) {
-                               if (fs == null)
-                                       return;
-                               XmlTextReader xr = new XmlTextReader (fs);
-                               xr.MoveToContent ();
-                               xr.ReadStartElement ();
-                               xr.MoveToContent ();
-                               
-                               while (xr.NodeType == XmlNodeType.Element)
-                                       ReadPackage (xr);
-                       }
-               }
-               
-               public void Save ()
-               {
-                       // The serializer can't be used because this file is reused in xbuild
-                       lock (infos) {
-                               if (!hasChanges)
-                                       return;
-                               
-                               using (FileStream fs = OpenFile (FileAccess.Write)) {
-                                       if (fs == null)
-                                               return;
-                                       XmlTextWriter tw = new XmlTextWriter (new StreamWriter (fs));
-                                       tw.Formatting = Formatting.Indented;
-                                       
-                                       tw.WriteStartElement ("PcFileCache");
-                                       foreach (KeyValuePair<string,TP> file in infos) {
-                                               WritePackage (tw, file.Key, file.Value);
-                                       }
-                                       tw.WriteEndElement (); // PcFileCache
-                                       tw.Flush ();
-                                       
-                                       hasChanges = false;
-                               }
-                       }
-               }
-               
-               void WritePackage (XmlTextWriter tw, string file, TP pinfo)
-               {
-                       tw.WriteStartElement ("File");
-                       tw.WriteAttributeString ("path", file);
-                       tw.WriteAttributeString ("lastWriteTime", XmlConvert.ToString (pinfo.LastWriteTime, XmlDateTimeSerializationMode.Local));
-                       
-                       if (pinfo.IsValidPackage) {
-                               if (pinfo.Name != null)
-                                       tw.WriteAttributeString ("name", pinfo.Name);
-                               if (pinfo.Version != null)
-                                       tw.WriteAttributeString ("version", pinfo.Version);
-                               if (!string.IsNullOrEmpty (pinfo.Description))
-                                       tw.WriteAttributeString ("description", pinfo.Description);
-                               if (!string.IsNullOrEmpty (pinfo.Requires))
-                                       tw.WriteAttributeString ("requires", pinfo.Requires);
-                               if (pinfo.CustomData != null) {
-                                       foreach (KeyValuePair<string,string> cd in pinfo.CustomData)
-                                               tw.WriteAttributeString (cd.Key, cd.Value);
-                               }
-                               WritePackageContent (tw, file, pinfo);
-                       }
-                       tw.WriteEndElement (); // File
-               }
-               
-               protected virtual void WritePackageContent (XmlTextWriter tw, string file, TP pinfo)
-               {
-               }
-               
-               void ReadPackage (XmlReader tr)
-               {
-                       TP pinfo = new TP ();
-                       string file = null;
-                       
-                       tr.MoveToFirstAttribute ();
-                       do {
-                               switch (tr.LocalName) {
-                                       case "path": file = tr.Value; break;
-                                       case "lastWriteTime": pinfo.LastWriteTime = XmlConvert.ToDateTime (tr.Value, XmlDateTimeSerializationMode.Local); break;
-                                       case "name": pinfo.Name = tr.Value; break;
-                                       case "version": pinfo.Version = tr.Value; break;
-                                       case "description": pinfo.Description = tr.Value; break;
-                                       case "requires": pinfo.Requires = tr.Value; break;
-                                       default: pinfo.SetData (tr.LocalName, tr.Value); break;
-                               }
-                       } while (tr.MoveToNextAttribute ());
-                       
-                       tr.MoveToElement ();
-                       
-                       if (!tr.IsEmptyElement) {
-                               tr.ReadStartElement ();
-                               tr.MoveToContent ();
-                               ReadPackageContent (tr, pinfo);
-                               tr.MoveToContent ();
-                               tr.ReadEndElement ();
-                       } else
-                               tr.Read ();
-                       tr.MoveToContent ();
-                       
-                       if (!pinfo.IsValidPackage || ctx.IsCustomDataComplete (file, pinfo))
-                               Add (file, pinfo, null);
-               }
-               
-               protected virtual void ReadPackageContent (XmlReader tr, TP pinfo)
-               {
-               }
-               
-               public object SyncRoot {
-                       get { return infos; }
-               }
-               
-               
-               TP ParsePackageInfo (string pcfile)
-               {
-                       PcFile file = new PcFile ();
-                       file.Load (pcfile);
-                       
-                       TP pinfo = new TP ();
-                       pinfo.Name = Path.GetFileNameWithoutExtension (file.FilePath);
-                       
-                       if (!file.HasErrors) {
-                               pinfo.Version = file.Version;
-                               pinfo.Description = file.Description;
-                               pinfo.Requires = file.Requires;
-                               ParsePackageInfo (file, pinfo);
-                               if (pinfo.IsValidPackage)
-                                       ctx.StoreCustomData (file, pinfo);
-                       }
-                       return pinfo;
-               }
-               
-               protected virtual void ParsePackageInfo (PcFile file, TP pinfo)
-               {
-               }
-               
-               IEnumerable<string> GetDefaultPaths ()
-               {
-                       if (defaultPaths == null) {
-                               // For mac osx, look in the 'External' dir on macosx,
-                               // see bug #663180
-                               string pkgConfigPath = String.Format ("{0}:{1}",
-                                               Mono.XBuild.Utilities.MSBuildUtils.RunningOnMac ? MacOSXExternalPkgConfigDir : String.Empty,
-                                               Environment.GetEnvironmentVariable ("PKG_CONFIG_PATH") ?? String.Empty);
-
-                               string pkgConfigDir = Environment.GetEnvironmentVariable ("PKG_CONFIG_LIBDIR");
-                               defaultPaths = GetPkgconfigPaths (null, pkgConfigPath, pkgConfigDir);
-                       }
-                       return defaultPaths;
-               }
-               
-               public IEnumerable<string> GetPkgconfigPaths (string prefix, string pkgConfigPath, string pkgConfigLibdir)
-               {
-                       char[] sep = new char[] { Path.PathSeparator };
-                       
-                       string[] pkgConfigPaths = null;
-                       if (!String.IsNullOrEmpty (pkgConfigPath)) {
-                               pkgConfigPaths = pkgConfigPath.Split (sep, StringSplitOptions.RemoveEmptyEntries);
-                               if (pkgConfigPaths.Length == 0)
-                                       pkgConfigPaths = null;
-                       }
-                       
-                       string[] pkgConfigLibdirs = null;
-                       if (!String.IsNullOrEmpty (pkgConfigLibdir)) {
-                               pkgConfigLibdirs = pkgConfigLibdir.Split (sep, StringSplitOptions.RemoveEmptyEntries);
-                               if (pkgConfigLibdirs.Length == 0)
-                                       pkgConfigLibdirs = null;
-                       }
-                       
-                       if (prefix == null)
-                               prefix = PathUp (typeof (int).Assembly.Location, 4);
-                       
-                       IEnumerable<string> paths = GetUnfilteredPkgConfigDirs (pkgConfigPaths, pkgConfigLibdirs, new string [] { prefix });
-                       return NormaliseAndFilterPaths (paths, Environment.CurrentDirectory);
-               }
-               
-               IEnumerable<string> GetUnfilteredPkgConfigDirs (IEnumerable<string> pkgConfigPaths, IEnumerable<string> pkgConfigLibdirs, IEnumerable<string> systemPrefixes)
-               {
-                       if (pkgConfigPaths != null) {
-                               foreach (string dir in pkgConfigPaths)
-                                       yield return dir;
-                       }
-                       
-                       if (pkgConfigLibdirs != null) {
-                               foreach (string dir in pkgConfigLibdirs)
-                                       yield return dir;
-                       } else if (systemPrefixes != null) {
-                               string[] suffixes = new string [] {
-                                       //FIXME: is this the correct order? share should be before lib but not sure about others.
-                                       Path.Combine ("share", "pkgconfig"),
-                                       Path.Combine ("lib", "pkgconfig"),
-                                       Path.Combine ("lib64", "pkgconfig"),
-                                       Path.Combine ("libdata", "pkgconfig"),
-                               };
-                               foreach (string prefix in systemPrefixes)
-                                       foreach (string suffix in suffixes)
-                                               yield return Path.Combine (prefix, suffix);
-                       }
-               }
-               
-               IEnumerable<string> NormaliseAndFilterPaths (IEnumerable<string> paths, string workingDirectory)
-               {
-                       Dictionary<string,string> filtered = new Dictionary<string,string> ();
-                       foreach (string p in paths) {
-                               string path = p;
-                               if (!Path.IsPathRooted (path))
-                                       path = Path.Combine (workingDirectory, path);
-                               path = Path.GetFullPath (path);
-                               if (filtered.ContainsKey (path))
-                                       continue;
-                               filtered.Add (path,path);
-                               try {
-                                       if (!Directory.Exists (path))
-                                               continue;
-                               } catch (IOException ex) {
-                                       ctx.ReportError ("Error checking for directory '" + path + "'.", ex);
-                               }
-                               yield return path;
-                       }
-               }
-               
-               static string PathUp (string path, int up)
-               {
-                       if (up == 0)
-                               return path;
-                       for (int i = path.Length -1; i >= 0; i--) {
-                               if (path[i] == Path.DirectorySeparatorChar) {
-                                       up--;
-                                       if (up == 0)
-                                               return path.Substring (0, i);
-                               }
-                       }
-                       return null;
-               }
-       }
-
-       internal class PcFile
-       {
-               Dictionary<string,string> variables = new Dictionary<string, string> ();
-               
-               string description;
-               public string Description {
-                       get { return description; }
-                       set { description = value; }
-               }
-               
-               string filePath;
-               public string FilePath {
-                       get { return filePath; }
-                       set { filePath = value; }
-               }
-               
-               bool hasErrors;
-               public bool HasErrors {
-                       get { return hasErrors; }
-                       set { hasErrors = value; }
-               }
-               
-               string libs;
-               public string Libs {
-                       get { return libs; }
-                       set { libs = value; }
-               }
-               
-               string name;
-               public string Name {
-                       get { return name; }
-                       set { name = value; }
-               }
-               
-               string version;
-               public string Version {
-                       get { return version; }
-                       set { version = value; }
-               }
-               
-               string requires;
-               public string Requires {
-                       get { return requires; }
-                       set { requires = value; }
-               }
-               
-               public string GetVariable (string varName)
-               {
-                       string val;
-                       variables.TryGetValue (varName, out val);
-                       return val;
-               }
-               
-               public void Load (string pcfile)
-               {
-                       FilePath = pcfile;
-                       variables.Add ("pcfiledir", Path.GetDirectoryName (pcfile));
-                       using (StreamReader reader = new StreamReader (pcfile)) {
-                               string line;
-                               while ((line = reader.ReadLine ()) != null) {
-                                       int i = line.IndexOf (':');
-                                       int j = line.IndexOf ('=');
-                                       int k = System.Math.Min (i != -1 ? i : int.MaxValue, j != -1 ? j : int.MaxValue);
-                                       if (k == int.MaxValue)
-                                               continue;
-                                       string var = line.Substring (0, k).Trim ();
-                                       string value = line.Substring (k + 1).Trim ();
-                                       value = Evaluate (value);
-                                       
-                                       if (k == j) {
-                                               // Is variable
-                                               variables [var] = value;
-                                       }
-                                       else {
-                                               switch (var) {
-                                                       case "Name": Name = value; break;
-                                                       case "Description": Description = value; break;
-                                                       case "Version": Version = value; break;
-                                                       case "Libs": Libs = value; break;
-                                                       case "Requires": Requires = value; break;
-                                               }
-                                       }
-                               }
-                       }
-               }
-               
-               string Evaluate (string value)
-               {
-                       int i = value.IndexOf ("${");
-                       if (i == -1)
-                               return value;
-
-                       StringBuilder sb = new StringBuilder ();
-                       int last = 0;
-                       while (i != -1 && i < value.Length) {
-                               sb.Append (value.Substring (last, i - last));
-                               if (i == 0 || value [i - 1] != '$') {
-                                       // Evaluate if var is not escaped
-                                       i += 2;
-                                       int n = value.IndexOf ('}', i);
-                                       if (n == -1 || n == i) {
-                                               // Closing bracket not found or empty name
-                                               HasErrors = true;
-                                               return value;
-                                       }
-                                       string rname = value.Substring (i, n - i);
-                                       string rval;
-                                       if (variables.TryGetValue (rname, out rval))
-                                               sb.Append (rval);
-                                       else {
-                                               HasErrors = true;
-                                               return value;
-                                       }
-                                       i = n + 1;
-                                       last = i;
-                               } else
-                                       last = i++;
-                               
-                               if (i < value.Length)
-                                       i = value.IndexOf ("${", i);
-                       }
-                       sb.Append (value.Substring (last, value.Length - last));
-                       return sb.ToString ();
-               }
-       }
-       
-       internal class PackageInfo
-       {
-               Dictionary<string,string> customData;
-               DateTime lastWriteTime;
-               
-               string name;
-               public string Name {
-                       get { return name; }
-                       set { name = value; }
-               }
-               
-               string version;
-               public string Version {
-                       get { return version; }
-                       set { version = value; }
-               }
-               
-               string description;
-               public string Description {
-                       get { return description; }
-                       set { description = value; }
-               }
-               
-               string requires;
-               public string Requires {
-                       get { return requires; }
-                       set { requires = value; }
-               }
-               
-               public string GetData (string name)
-               {
-                       if (customData == null)
-                               return null;
-                       string res;
-                       customData.TryGetValue (name, out res);
-                       return res;
-               }
-               
-               public void SetData (string name, string value)
-               {
-                       if (customData == null)
-                               customData = new Dictionary<string, string> ();
-                       customData [name] = value;
-               }
-               
-               public void RemoveData (string name)
-               {
-                       if (customData != null)
-                               customData.Remove (name);
-               }
-               
-               internal Dictionary<string,string> CustomData {
-                       get { return customData; }
-               }
-               
-               internal DateTime LastWriteTime {
-                       get { return lastWriteTime; }
-                       set { lastWriteTime = value; }
-               }
-               
-               internal bool HasCustomData {
-                       get { return customData != null && customData.Count > 0; }
-               }
-               
-               internal protected virtual bool IsValidPackage {
-                       get { return HasCustomData; }
-               }
-       }
-}
index 18611ba32755226516b6fa48cf15385569bcb53a..8a060a2df938a5275576ec71d11e5aa56869cfa5 100644 (file)
@@ -2,6 +2,9 @@ using System;
 using System.Collections.Generic;
 using System.Runtime.Remoting.Messaging;
 using System.Threading;
+#if NET_4_5
+using System.Threading.Tasks;
+#endif
 
 namespace Mono.Debugger.Soft
 {
@@ -144,6 +147,23 @@ namespace Mono.Debugger.Soft
                        return EndInvokeMethodInternal (asyncResult);
                }
 
+#if NET_4_5
+               public Task<Value> InvokeMethodAsync (ThreadMirror thread, MethodMirror method, IList<Value> arguments, InvokeOptions options = InvokeOptions.None) {
+                       var tcs = new TaskCompletionSource<Value> ();
+                       BeginInvokeMethod (thread, method, arguments, options, iar =>
+                                       {
+                                               try {
+                                                       tcs.SetResult (EndInvokeMethod (iar));
+                                               } catch (OperationCanceledException) {
+                                                       tcs.TrySetCanceled ();
+                                               } catch (Exception ex) {
+                                                       tcs.TrySetException (ex);
+                                               }
+                                       }, null);
+                       return tcs.Task;
+               }
+#endif
+
                //
                // Invoke the members of METHODS one-by-one, calling CALLBACK after each invoke was finished. The IAsyncResult will be marked as completed after all invokes have
                // finished. The callback will be called with a different IAsyncResult that represents one method invocation.
index 125d780fd0e59a06240e7e45dc9ba7fa3bbd4bc9..e7baa44fae09943942b1353621458bebe76374b9 100644 (file)
@@ -3,6 +3,9 @@ using System.Collections.Generic;
 using System.Reflection;
 using C = Mono.Cecil;
 using Mono.Cecil.Metadata;
+#if NET_4_5
+using System.Threading.Tasks;
+#endif
 
 namespace Mono.Debugger.Soft
 {
@@ -795,6 +798,23 @@ namespace Mono.Debugger.Soft
                        return ObjectMirror.EndInvokeMethodInternal (asyncResult);
                }
 
+#if NET_4_5
+               public Task<Value> InvokeMethodAsync (ThreadMirror thread, MethodMirror method, IList<Value> arguments, InvokeOptions options = InvokeOptions.None) {
+                       var tcs = new TaskCompletionSource<Value> ();
+                       BeginInvokeMethod (thread, method, arguments, options, iar =>
+                                       {
+                                               try {
+                                                       tcs.SetResult (EndInvokeMethod (iar));
+                                               } catch (OperationCanceledException) {
+                                                       tcs.TrySetCanceled ();
+                                               } catch (Exception ex) {
+                                                       tcs.TrySetException (ex);
+                                               }
+                                       }, null);
+                       return tcs.Task;
+               }
+#endif
+
                public Value NewInstance (ThreadMirror thread, MethodMirror method, IList<Value> arguments) {
                        return ObjectMirror.InvokeMethod (vm, thread, method, null, arguments, InvokeOptions.None);
                }                       
index a5bdf4fc39c528128f44296bec426765c140cb44..211a0df302b8f18abb0a3d679d92bb789403ff55 100644 (file)
@@ -93,7 +93,8 @@ namespace Mono.Debugger.Soft
 
                        if (options != null && options.Valgrind)
                                info.FileName = "valgrind";
-                               
+                       info.UseShellExecute = false;
+
                        ITargetProcess p;
                        if (options != null && options.CustomProcessLauncher != null)
                                p = new ProcessWrapper (options.CustomProcessLauncher (info));
index 2b8982b2f1668241c26e27f59bf1a750b6eb726d..f66b1b13a5be0eaa9063b620f9a17775e507f1e4 100644 (file)
@@ -2085,6 +2085,18 @@ public class DebuggerTests
                v = this_obj.InvokeMethod (e.Thread, m, null);
                AssertValue (42, v);
 
+#if NET_4_5
+               // instance
+               m = t.GetMethod ("invoke_pass_ref");
+               var task = this_obj.InvokeMethodAsync (e.Thread, m, new Value [] { vm.RootDomain.CreateString ("ABC") });
+               AssertValue ("ABC", task.Result);
+
+               // static
+               m = t.GetMethod ("invoke_static_pass_ref");
+               task = t.InvokeMethodAsync (e.Thread, m, new Value [] { vm.RootDomain.CreateString ("ABC") });
+               AssertValue ("ABC", task.Result);
+#endif
+
                // Argument checking
                
                // null thread
diff --git a/mcs/class/Mono.XBuild.Tasks/Assembly/AssemblyInfo.cs b/mcs/class/Mono.XBuild.Tasks/Assembly/AssemblyInfo.cs
new file mode 100644 (file)
index 0000000..c5543a4
--- /dev/null
@@ -0,0 +1,53 @@
+//
+// AssemblyInfo.cs
+//
+// Author:
+//       Antonius Riha <antoniusriha@gmail.com>
+//
+// Copyright (c) 2013 Antonius Riha
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+//
+
+using System;
+using System.Reflection;
+using System.Resources;
+using System.Runtime.InteropServices;
+
+// General Information about the Mono.XBuild.Tasks assembly
+
+[assembly: AssemblyTitle ("Mono.XBuild.Tasks.dll")]
+[assembly: AssemblyDescription ("Mono.XBuild.Tasks.dll")]
+[assembly: AssemblyDefaultAlias ("Mono.XBuild.Tasks.dll")]
+
+[assembly: AssemblyCompany (Consts.MonoCompany)]
+[assembly: AssemblyProduct (Consts.MonoProduct)]
+[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyVersion (Consts.FxVersion)]
+[assembly: SatelliteContractVersion (Consts.FxVersion)]
+[assembly: AssemblyInformationalVersion (Consts.FxFileVersion)]
+
+[assembly: NeutralResourcesLanguage ("en-US")]
+
+[assembly: ComVisible (false)]
+[assembly: CLSCompliant (true)]
+[assembly: AssemblyDelaySign (true)]
+[assembly: AssemblyKeyFile("../mono.pub")]
+
+[assembly: AssemblyFileVersion (Consts.FxFileVersion)]
diff --git a/mcs/class/Mono.XBuild.Tasks/Makefile b/mcs/class/Mono.XBuild.Tasks/Makefile
new file mode 100644 (file)
index 0000000..824eaf7
--- /dev/null
@@ -0,0 +1,16 @@
+thisdir = class/Mono.XBuild.Tasks
+SUBDIRS = 
+include ../../build/rules.make
+
+LIBRARY = Mono.XBuild.Tasks.dll
+
+LIB_MCS_FLAGS = \
+       /r:$(corlib)                            \
+       /r:System.dll                           \
+       /r:System.Xml.dll
+
+export TESTING_MONO=a
+XBUILD_DIR=../../tools/xbuild
+include $(XBUILD_DIR)/xbuild_targets.make
+
+include ../../build/library.make
diff --git a/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-net_2_0.csproj b/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-net_2_0.csproj
new file mode 100644 (file)
index 0000000..a2ade4a
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{F5F84165-0541-4828-A81E-0AA1836E50C1}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>bin\Debug\Mono.XBuild.Tasks-net_2_0</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <AssemblyName>Mono.XBuild.Tasks</AssemblyName>\r
+    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_2_0</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <Optimize>true</Optimize>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+    <DefineConstants>NET_2_0</DefineConstants>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\Microsoft.Build.Utilities\Mono.XBuild.Utilities\MSBuildUtils.cs" />\r
+    <Compile Include="Mono.XBuild.Tasks\LibraryPcFileCache.cs" />\r
+    <Compile Include="Mono.XBuild.Tasks\PcFileCache.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent>\r
+    </PreBuildEvent>\r
+    <PostBuildEvent>\r
+      xcopy $(TargetName).* $(ProjectDir)..\lib\net_2_0\ /Y /R /D\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Assembly\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Reference Include="mscorlib">\r
+      <HintPath>..\lib\net_2_0\mscorlib.dll</HintPath>\r
+    </Reference>\r
+    <Reference Include="System">\r
+      <HintPath>..\lib\net_2_0\System.dll</HintPath>\r
+    </Reference>\r
+    <Reference Include="System.Xml">\r
+      <HintPath>..\lib\net_2_0\System.Xml.dll</HintPath>\r
+    </Reference>\r
+  </ItemGroup>\r
+</Project>\r
diff --git a/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-net_3_5.csproj b/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-net_3_5.csproj
new file mode 100644 (file)
index 0000000..f162637
--- /dev/null
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{7B888FCD-9064-4F4A-954E-795B43F98127}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>bin\Debug\Mono.XBuild.Tasks-net_3_5</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <AssemblyName>Mono.XBuild.Tasks.v3.5</AssemblyName>\r
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_2_0;NET_3_5</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_2_0;NET_3_5</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\Microsoft.Build.Utilities\Mono.XBuild.Utilities\MSBuildUtils.cs" />\r
+    <Compile Include="Mono.XBuild.Tasks\LibraryPcFileCache.cs" />\r
+    <Compile Include="Mono.XBuild.Tasks\PcFileCache.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent>\r
+    </PreBuildEvent>\r
+    <PostBuildEvent>\r
+      xcopy $(TargetName).* $(ProjectDir)..\lib\net_3_5\ /Y /R /D\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <Reference Include="mscorlib">\r
+      <HintPath>..\lib\net_3_5\mscorlib.dll</HintPath>\r
+    </Reference>\r
+    <Reference Include="System">\r
+      <HintPath>..\lib\net_3_5\System.dll</HintPath>\r
+    </Reference>\r
+    <Reference Include="System.Xml">\r
+      <HintPath>..\lib\net_3_5\System.Xml.dll</HintPath>\r
+    </Reference>\r
+  </ItemGroup>\r
+</Project>\r
diff --git a/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-net_4_0.csproj b/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-net_4_0.csproj
new file mode 100644 (file)
index 0000000..e556034
--- /dev/null
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{F7F03F9B-6E7A-43BD-993A-7F197A440150}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>bin\Debug\Mono.XBuild.Tasks-net_4_0</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <AssemblyName>Mono.XBuild.Tasks.v4.0</AssemblyName>\r
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_2_0;NET_3_0;NET_3_5;NET_4_0</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_2_0;NET_3_0;NET_3_5;NET_4_0</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\Microsoft.Build.Utilities\Mono.XBuild.Utilities\MSBuildUtils.cs" />\r
+    <Compile Include="Mono.XBuild.Tasks\LibraryPcFileCache.cs" />\r
+    <Compile Include="Mono.XBuild.Tasks\PcFileCache.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent>\r
+    </PreBuildEvent>\r
+    <PostBuildEvent>\r
+      xcopy $(TargetName).* $(ProjectDir)..\lib\net_4_0\ /Y /R /D\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <Reference Include="mscorlib">\r
+      <HintPath>..\lib\net_4_0\mscorlib.dll</HintPath>\r
+    </Reference>\r
+    <Reference Include="System">\r
+      <HintPath>..\lib\net_4_0\System.dll</HintPath>\r
+    </Reference>\r
+    <Reference Include="System.Xml">\r
+      <HintPath>..\lib\net_4_0\System.Xml.dll</HintPath>\r
+    </Reference>\r
+  </ItemGroup>\r
+</Project>\r
diff --git a/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-net_4_5.csproj b/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-net_4_5.csproj
new file mode 100644 (file)
index 0000000..9bf6342
--- /dev/null
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{9AC58525-C730-4552-A8FA-332979FCD055}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>bin\Debug\Mono.XBuild.Tasks-net_4_5</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <AssemblyName>Mono.XBuild.Tasks.v4.0</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_2_0;NET_3_0;NET_3_5;NET_4_0;NET_4_5</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_2_0;NET_3_0;NET_3_5;NET_4_0;NET_4_5</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\Microsoft.Build.Utilities\Mono.XBuild.Utilities\MSBuildUtils.cs" />\r
+    <Compile Include="Mono.XBuild.Tasks\LibraryPcFileCache.cs" />\r
+    <Compile Include="Mono.XBuild.Tasks\PcFileCache.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent>\r
+    </PreBuildEvent>\r
+    <PostBuildEvent>\r
+      xcopy $(TargetName).* $(ProjectDir)..\lib\net_4_5\ /Y /R /D\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <Reference Include="mscorlib">\r
+      <HintPath>..\lib\net_4_5\mscorlib.dll</HintPath>\r
+    </Reference>\r
+    <Reference Include="System">\r
+      <HintPath>..\lib\net_4_5\System.dll</HintPath>\r
+    </Reference>\r
+    <Reference Include="System.Xml">\r
+      <HintPath>..\lib\net_4_5\System.Xml.dll</HintPath>\r
+    </Reference>\r
+  </ItemGroup>\r
+</Project>\r
diff --git a/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-tests-net_2_0.csproj b/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-tests-net_2_0.csproj
new file mode 100644 (file)
index 0000000..0412ea8
--- /dev/null
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{0E03221E-BC2B-4C7C-AA7B-F26B8FFA3014}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>bin\Debug\Mono.XBuild.Tasks-tests-net_2_0</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>False</NoConfig>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <AssemblyName>Mono.XBuild.Tasks_test_net_2_0</AssemblyName>\r
+    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_2_0</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_2_0</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="Test\Mono.XBuild.Tasks\PcFileCacheTest.cs" />\r
+  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent>\r
+    </PreBuildEvent>\r
+    <PostBuildEvent>\r
+      xcopy $(TargetName).* $(ProjectDir)..\lib\net_2_0\ /Y /R /D\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <Reference Include="mscorlib">\r
+      <HintPath>..\lib\net_2_0\mscorlib.dll</HintPath>\r
+    </Reference>\r
+    <Reference Include="System.Core">\r
+      <HintPath>..\lib\net_2_0\System.Core.dll</HintPath>\r
+    </Reference>\r
+    <Reference Include="nunit.framework">\r
+      <HintPath>..\lib\net_2_0\nunit.framework.dll</HintPath>\r
+    </Reference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="Mono.XBuild.Tasks-net_2_0.csproj">\r
+      <Project>{F5F84165-0541-4828-A81E-0AA1836E50C1}</Project>\r
+      <Name>Mono.XBuild.Tasks-net_2_0</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+</Project>\r
diff --git a/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-tests-net_3_5.csproj b/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-tests-net_3_5.csproj
new file mode 100644 (file)
index 0000000..77ffd64
--- /dev/null
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{B1C8C446-5C28-4352-BA7A-A30171FEA614}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>bin\Debug\Mono.XBuild.Tasks-tests-net_3_5</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>False</NoConfig>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <AssemblyName>Mono.XBuild.Tasks_test_net_3_5</AssemblyName>\r
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_2_0;NET_3_5</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_2_0;NET_3_5</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="Test\Mono.XBuild.Tasks\PcFileCacheTest.cs" />\r
+  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent>\r
+    </PreBuildEvent>\r
+    <PostBuildEvent>\r
+      xcopy $(TargetName).* $(ProjectDir)..\lib\net_3_5\ /Y /R /D\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <Reference Include="mscorlib">\r
+      <HintPath>..\lib\net_3_5\mscorlib.dll</HintPath>\r
+    </Reference>\r
+    <Reference Include="System.Core">\r
+      <HintPath>..\lib\net_3_5\System.Core.dll</HintPath>\r
+    </Reference>\r
+    <Reference Include="nunit.framework">\r
+      <HintPath>..\lib\net_3_5\nunit.framework.dll</HintPath>\r
+    </Reference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="Mono.XBuild.Tasks-net_3_5.csproj">\r
+      <Project>{7B888FCD-9064-4F4A-954E-795B43F98127}</Project>\r
+      <Name>Mono.XBuild.Tasks-net_3_5</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+</Project>\r
diff --git a/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-tests-net_4_0.csproj b/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-tests-net_4_0.csproj
new file mode 100644 (file)
index 0000000..0e005df
--- /dev/null
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{0C851F1F-CF06-4440-8E69-F33FBF07D605}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>bin\Debug\Mono.XBuild.Tasks-tests-net_4_0</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>False</NoConfig>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <AssemblyName>Mono.XBuild.Tasks_test_net_4_0</AssemblyName>\r
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_2_0;NET_3_0;NET_3_5;NET_4_0</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_2_0;NET_3_0;NET_3_5;NET_4_0</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="Test\Mono.XBuild.Tasks\PcFileCacheTest.cs" />\r
+  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent>\r
+    </PreBuildEvent>\r
+    <PostBuildEvent>\r
+      xcopy $(TargetName).* $(ProjectDir)..\lib\net_4_0\ /Y /R /D\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <Reference Include="mscorlib">\r
+      <HintPath>..\lib\net_4_0\mscorlib.dll</HintPath>\r
+    </Reference>\r
+    <Reference Include="System.Core">\r
+      <HintPath>..\lib\net_4_0\System.Core.dll</HintPath>\r
+    </Reference>\r
+    <Reference Include="nunit.framework">\r
+      <HintPath>..\lib\net_4_0\nunit.framework.dll</HintPath>\r
+    </Reference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="Mono.XBuild.Tasks-net_4_0.csproj">\r
+      <Project>{F7F03F9B-6E7A-43BD-993A-7F197A440150}</Project>\r
+      <Name>Mono.XBuild.Tasks-net_4_0</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+</Project>\r
diff --git a/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-tests-net_4_5.csproj b/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-tests-net_4_5.csproj
new file mode 100644 (file)
index 0000000..e1c568b
--- /dev/null
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{74FC4C23-BF2E-4514-82D2-E99561BF352C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>bin\Debug\Mono.XBuild.Tasks-tests-net_4_5</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>False</NoConfig>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <AssemblyName>Mono.XBuild.Tasks_test_net_4_5</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_2_0;NET_3_0;NET_3_5;NET_4_0;NET_4_5</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_2_0;NET_3_0;NET_3_5;NET_4_0;NET_4_5</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="Test\Mono.XBuild.Tasks\PcFileCacheTest.cs" />\r
+  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent>\r
+    </PreBuildEvent>\r
+    <PostBuildEvent>\r
+      xcopy $(TargetName).* $(ProjectDir)..\lib\net_4_5\ /Y /R /D\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <Reference Include="mscorlib">\r
+      <HintPath>..\lib\net_4_5\mscorlib.dll</HintPath>\r
+    </Reference>\r
+    <Reference Include="System.Core">\r
+      <HintPath>..\lib\net_4_5\System.Core.dll</HintPath>\r
+    </Reference>\r
+    <Reference Include="nunit.framework">\r
+      <HintPath>..\lib\net_4_5\nunit.framework.dll</HintPath>\r
+    </Reference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="Mono.XBuild.Tasks-net_4_5.csproj">\r
+      <Project>{9AC58525-C730-4552-A8FA-332979FCD055}</Project>\r
+      <Name>Mono.XBuild.Tasks-net_4_5</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+</Project>\r
diff --git a/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks.dll.sources b/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks.dll.sources
new file mode 100644 (file)
index 0000000..60955c0
--- /dev/null
@@ -0,0 +1,6 @@
+Assembly/AssemblyInfo.cs
+../../build/common/Consts.cs
+../../build/common/MonoTODOAttribute.cs
+Mono.XBuild.Tasks/PcFileCache.cs
+Mono.XBuild.Tasks/LibraryPcFileCache.cs
+../Microsoft.Build.Utilities/Mono.XBuild.Utilities/MSBuildUtils.cs
diff --git a/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks/LibraryPcFileCache.cs b/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks/LibraryPcFileCache.cs
new file mode 100644 (file)
index 0000000..c89cba9
--- /dev/null
@@ -0,0 +1,321 @@
+// 
+// PcFileCacheAssembly.cs
+//  
+// Author:
+//       Lluis Sanchez Gual <lluis@novell.com>
+// 
+// Copyright (c) 2009 Novell, Inc (http://www.novell.com)
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+// 
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.Text;
+using System.Xml;
+using System.IO;
+using System.Collections.Generic;
+
+// IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
+// This code is shared with xbuild, which has to build with .NET 2.0,
+// so no c# 3.0 syntax is allowed here.
+
+namespace Mono.PkgConfig
+{
+       public class LibraryPcFileCache: PcFileCache<LibraryPackageInfo>
+       {
+               Dictionary<string, PackageAssemblyInfo> assemblyLocations;
+               
+               public LibraryPcFileCache (IPcFileCacheContext<LibraryPackageInfo> ctx): base (ctx)
+               {
+               }
+               
+               protected override string CacheDirectory {
+                       get {
+                               string path = Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData);
+                               path = Path.Combine (path, "xbuild");
+                               return path;
+                       }
+               }
+               
+               // Returns the location of an assembly, given the full name
+               public PackageAssemblyInfo GetAssemblyLocation (string fullName)
+               {
+                       return GetAssemblyLocation (fullName, null);
+               }
+               
+               public PackageAssemblyInfo GetAssemblyLocation (string fullName, IEnumerable<string> searchPaths)
+               {
+                       lock (SyncRoot) {
+                               if (assemblyLocations == null) {
+                                       // Populate on demand
+                                       assemblyLocations = new Dictionary<string, PackageAssemblyInfo> ();
+                                       foreach (LibraryPackageInfo info in GetPackages (searchPaths)) {
+                                               if (info.IsValidPackage) {
+                                                       foreach (PackageAssemblyInfo asm in info.Assemblies)
+                                                               assemblyLocations [NormalizeAsmName (asm.FullName)] = asm;
+                                               }
+                                       }
+                               }
+                       }
+                       // This collection is read-only once built, so there is no need for a lock
+                       PackageAssemblyInfo pasm;
+                       assemblyLocations.TryGetValue (NormalizeAsmName (fullName), out pasm);
+                       return pasm;
+               }
+               
+               public IEnumerable<PackageAssemblyInfo> ResolveAssemblyName (string name)
+               {
+                       return ResolveAssemblyName (name, null);
+               }
+               
+               public IEnumerable<PackageAssemblyInfo> ResolveAssemblyName (string name, IEnumerable<string> searchPaths)
+               {
+                       foreach (LibraryPackageInfo pinfo in GetPackages (searchPaths)) {
+                               if (pinfo.IsValidPackage) {
+                                       foreach (PackageAssemblyInfo asm in pinfo.Assemblies) {
+                                               if (asm.Name == name)
+                                                       yield return asm;
+                                       }
+                               }
+                       }
+               }
+               
+               protected override void WritePackageContent (XmlTextWriter tw, string file, LibraryPackageInfo pinfo)
+               {
+                       foreach (PackageAssemblyInfo asm in pinfo.Assemblies) {
+                               tw.WriteStartElement ("Assembly");
+                               tw.WriteAttributeString ("name", asm.Name);
+                               tw.WriteAttributeString ("version", asm.Version);
+                               tw.WriteAttributeString ("culture", asm.Culture);
+                               tw.WriteAttributeString ("publicKeyToken", asm.PublicKeyToken);
+                               tw.WriteAttributeString ("file", asm.File);
+                               tw.WriteEndElement (); // Assembly
+                       }
+               }
+               
+               protected override void ReadPackageContent (XmlReader tr, LibraryPackageInfo pinfo)
+               {
+                       while (tr.NodeType == XmlNodeType.Element) {
+                               PackageAssemblyInfo asm = new PackageAssemblyInfo ();
+                               asm.Name = tr.GetAttribute ("name");
+                               asm.Version = tr.GetAttribute ("version");
+                               asm.Culture = tr.GetAttribute ("culture");
+                               asm.PublicKeyToken = tr.GetAttribute ("publicKeyToken");
+                               asm.File = tr.GetAttribute ("file");
+                               if (pinfo.Assemblies == null)
+                                       pinfo.Assemblies = new List<PackageAssemblyInfo> ();
+                               asm.ParentPackage = pinfo;
+                               pinfo.Assemblies.Add (asm);
+                               tr.Read ();
+                               tr.MoveToContent ();
+                       }
+               }
+               
+               protected override void ParsePackageInfo (PcFile file, LibraryPackageInfo pinfo)
+               {
+                       List<string> fullassemblies = null;
+                       bool gacPackageSet = false;
+                       
+                       if (file.Libs != null && file.Libs.IndexOf (".dll") != -1) {
+                               if (file.Libs.IndexOf ("-lib:") != -1 || file.Libs.IndexOf ("/lib:") != -1) {
+                                       fullassemblies = GetAssembliesWithLibInfo (file.Libs);
+                               } else {
+                                       fullassemblies = GetAssembliesWithoutLibInfo (file.Libs);
+                               }
+                       }
+                       
+                       string value = file.GetVariable ("Libraries");
+                       if (!string.IsNullOrEmpty (value))
+                               fullassemblies = GetAssembliesFromLibrariesVar (value);
+                       
+                       value = file.GetVariable ("GacPackage");
+                       if (value != null) {
+                               pinfo.IsGacPackage = 
+                                       string.Equals (value, "yes", StringComparison.OrdinalIgnoreCase) ||
+                                       string.Equals (value, "true", StringComparison.OrdinalIgnoreCase);
+                               gacPackageSet = true;
+                       }
+       
+                       if (fullassemblies == null)
+                               return;
+                       
+                       string pcDir = Path.GetDirectoryName (file.FilePath);
+                       string monoPrefix = Path.GetDirectoryName (Path.GetDirectoryName (pcDir));
+                       monoPrefix = Path.GetFullPath (monoPrefix + Path.DirectorySeparatorChar + "lib" + Path.DirectorySeparatorChar + "mono" + Path.DirectorySeparatorChar);
+
+                       List<PackageAssemblyInfo> list = new List<PackageAssemblyInfo> ();
+                       foreach (string assembly in fullassemblies) {
+                               string asm;
+                               if (Path.IsPathRooted (assembly))
+                                       asm = Path.GetFullPath (assembly);
+                               else {
+                                       if (Path.GetDirectoryName (assembly).Length == 0) {
+                                               asm = assembly;
+                                       } else {
+                                               asm = Path.GetFullPath (Path.Combine (pcDir, assembly));
+                                       }
+                               }
+                               if (File.Exists (asm)) {
+                                       PackageAssemblyInfo pi = new PackageAssemblyInfo ();
+                                       pi.File = asm;
+                                       pi.ParentPackage = pinfo;
+                                       pi.UpdateFromFile (pi.File);
+                                       list.Add (pi);
+                                       if (!gacPackageSet && !asm.StartsWith (monoPrefix) && Path.IsPathRooted (asm)) {
+                                               // Assembly installed outside $(prefix)/lib/mono. It is most likely not a gac package.
+                                               gacPackageSet = true;
+                                               pinfo.IsGacPackage = false;
+                                       }
+                               }
+                       }
+                       pinfo.Assemblies = list;
+               }
+               
+               private List<string> GetAssembliesWithLibInfo (string line)
+               {
+                       List<string> references = new List<string> ();
+                       List<string> libdirs = new List<string> ();
+                       List<string> retval = new List<string> ();
+                       foreach (string piece in line.Split (' ')) {
+                               if (IsReferenceParameter (piece)) {
+                                       references.Add (piece.Substring (3).Trim ());
+                               } else if (piece.TrimStart ().StartsWith ("/lib:", StringComparison.OrdinalIgnoreCase) ||
+                                               piece.TrimStart ().StartsWith ("-lib:", StringComparison.OrdinalIgnoreCase)) {
+                                       libdirs.Add (piece.Substring (5).Trim ());
+                               }
+                       }
+       
+                       foreach (string refrnc in references) {
+                               foreach (string libdir in libdirs) {
+                                       if (File.Exists (libdir + Path.DirectorySeparatorChar + refrnc)) {
+                                               retval.Add (libdir + Path.DirectorySeparatorChar + refrnc);
+                                       }
+                               }
+                       }
+       
+                       return retval;
+               }
+
+               static bool IsReferenceParameter (string value)
+               {
+                       return value.TrimStart ().StartsWith ("/r:", StringComparison.OrdinalIgnoreCase) ||
+                               value.TrimStart ().StartsWith ("-r:", StringComparison.OrdinalIgnoreCase);
+               }
+               
+               List<string> GetAssembliesFromLibrariesVar (string line)
+               {
+                       List<string> references = new List<string> ();
+                       foreach (string reference in line.Split (' ')) {
+                               if (!string.IsNullOrEmpty (reference))
+                                       references.Add (reference);
+                       }
+                       return references;
+               }
+       
+               private List<string> GetAssembliesWithoutLibInfo (string line)
+               {
+                       List<string> references = new List<string> ();
+                       foreach (string reference in line.Split (' ')) {
+                               if (IsReferenceParameter (reference)) {
+                                       string final_ref = reference.Substring (3).Trim ();
+                                       references.Add (final_ref);
+                               }
+                       }
+                       return references;
+               }
+               
+               public static string NormalizeAsmName (string name)
+               {
+                       int i = name.IndexOf (", publickeytoken=null", StringComparison.OrdinalIgnoreCase);
+                       if (i != -1)
+                               name = name.Substring (0, i).Trim ();
+                       i = name.IndexOf (", processorarchitecture=", StringComparison.OrdinalIgnoreCase);
+                       if (i != -1)
+                               name = name.Substring (0, i).Trim ();
+                       return name;
+               }
+       }
+       
+       public class LibraryPackageInfo: PackageInfo
+       {
+               public bool IsGacPackage {
+                       get { return GetData ("gacPackage") != "false"; }
+                       set {
+                               if (value)
+                                       RemoveData ("gacPackage");
+                               else
+                                       SetData ("gacPackage", "false");
+                       }
+               }
+               
+               internal List<PackageAssemblyInfo> Assemblies { get; set; }
+               
+               internal protected override bool IsValidPackage {
+                       get { return Assemblies != null && Assemblies.Count > 0; }
+               }
+       }
+       
+       public class PackageAssemblyInfo
+       {
+               public string File { get; set; }
+               
+               public string Name;
+               
+               public string Version;
+               
+               public string Culture;
+               
+               public string PublicKeyToken;
+               
+               public string FullName {
+                       get {
+                               string fn = Name + ", Version=" + Version;
+                               if (!string.IsNullOrEmpty (Culture))
+                                       fn += ", Culture=" + Culture;
+                               if (!string.IsNullOrEmpty (PublicKeyToken))
+                                       fn += ", PublicKeyToken=" + PublicKeyToken;
+                               return fn;
+                       }
+               }
+               
+               public LibraryPackageInfo ParentPackage { get; set; }
+               
+               public void UpdateFromFile (string file)
+               {
+                       Update (System.Reflection.AssemblyName.GetAssemblyName (file));
+               }
+               
+               public void Update (System.Reflection.AssemblyName aname)
+               {
+                       Name = aname.Name;
+                       Version = aname.Version.ToString ();
+                       if (aname.CultureInfo != null) {
+                               if (aname.CultureInfo.LCID == System.Globalization.CultureInfo.InvariantCulture.LCID)
+                                       Culture = "neutral";
+                               else
+                                       Culture = aname.CultureInfo.Name;
+                       }
+                       string fn = aname.ToString ();
+                       string key = "publickeytoken=";
+                       int i = fn.IndexOf (key, StringComparison.OrdinalIgnoreCase) + key.Length;
+                       int j = fn.IndexOf (',', i);
+                       if (j == -1) j = fn.Length;
+                       PublicKeyToken = fn.Substring (i, j - i);
+               }
+       }
+}
diff --git a/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks/PcFileCache.cs b/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks/PcFileCache.cs
new file mode 100644 (file)
index 0000000..3404656
--- /dev/null
@@ -0,0 +1,651 @@
+// 
+// PcFileCache.cs
+//  
+// Author:
+//       Lluis Sanchez Gual <lluis@novell.com>
+// 
+// Copyright (c) 2009 Novell, Inc (http://www.novell.com)
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+// 
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.Text;
+using System.Xml;
+using System.IO;
+using System.Collections.Generic;
+
+// IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
+// This code is shared with xbuild, which has to build with .NET 2.0,
+// so no c# 3.0 syntax is allowed here.
+
+namespace Mono.PkgConfig
+{
+       public interface IPcFileCacheContext<TP> where TP:PackageInfo, new()
+       {
+               // In the implementation of this method, the host application can extract
+               // information from the pc file and store it in the PackageInfo object
+               void StoreCustomData (PcFile pcfile, TP pkg);
+               
+               // Should return false if the provided package does not have required
+               // custom data
+               bool IsCustomDataComplete (string pcfile, TP pkg);
+               
+               // Called to report errors
+               void ReportError (string message, Exception ex);
+       }
+       
+       public interface IPcFileCacheContext: IPcFileCacheContext<PackageInfo>
+       {
+       }
+       
+       public abstract class PcFileCache: PcFileCache<PackageInfo>
+       {
+               public PcFileCache (IPcFileCacheContext ctx): base (ctx)
+               {
+               }
+       }
+       
+       public abstract class PcFileCache<TP> where TP:PackageInfo, new()
+       {
+               const string CACHE_VERSION = "2";
+               const string MacOSXExternalPkgConfigDir = "/Library/Frameworks/Mono.framework/External/pkgconfig";
+               
+               Dictionary<string, TP> infos = new Dictionary<string, TP> ();
+               
+               string cacheFile;
+               bool hasChanges;
+               IPcFileCacheContext<TP> ctx;
+               IEnumerable<string> defaultPaths;
+               
+               public PcFileCache (IPcFileCacheContext<TP> ctx)
+               {
+                       this.ctx = ctx;
+                       try {
+                               string path = CacheDirectory;
+                               if (!Directory.Exists (path))
+                                       Directory.CreateDirectory (path);
+                               cacheFile = Path.Combine (path, "pkgconfig-cache-" + CACHE_VERSION + ".xml");
+                               
+                               if (File.Exists (cacheFile))
+                                       Load ();
+                               
+                       } catch (Exception ex) {
+                               ctx.ReportError ("pc file cache could not be loaded.", ex);
+                       }
+               }
+               
+               protected abstract string CacheDirectory { get; }
+               
+               // Updates the pkg-config index, using the default search directories
+               public void Update ()
+               {
+                       Update (GetDefaultPaths ());
+               }
+
+               // Updates the pkg-config index, looking for .pc files in the provided directories
+               // Deletes pkg info entries, of which .pc files don't exist, from cache
+               public void Update (IEnumerable<string> pkgConfigDirs)
+               {
+                       foreach (string pcdir in pkgConfigDirs) {
+                               foreach (string pcfile in Directory.GetFiles (pcdir, "*.pc"))
+                                       GetPackageInfo (pcfile);
+                       }
+
+                       lock (infos) {
+                               string[] keys = new string [infos.Count];
+                               infos.Keys.CopyTo (keys, 0);
+                               foreach (string key in keys) {
+                                       if (!File.Exists (key)) {
+                                               infos.Remove (key);
+                                               hasChanges = true;
+                                       }
+                               }
+                       }
+
+                       Save ();
+               }
+               
+               public IEnumerable<TP> GetPackages ()
+               {
+                       return GetPackages (null);
+               }
+               
+               public IEnumerable<TP> GetPackages (IEnumerable<string> pkgConfigDirs)
+               {
+                       if (pkgConfigDirs == null)
+                               pkgConfigDirs = GetDefaultPaths ();
+                       else
+                               pkgConfigDirs = NormaliseAndFilterPaths (pkgConfigDirs, Environment.CurrentDirectory);
+
+                       string[] keys = new string [infos.Count];
+                       TP[] vals = new TP [infos.Count];
+                       lock (infos) {
+                               infos.Keys.CopyTo (keys, 0);
+                               infos.Values.CopyTo (vals, 0);
+                       }
+
+                       foreach (string sp in pkgConfigDirs) {
+                               int i = 0;
+                               foreach (var file in keys) {
+                                       string dirOfFile = Path.GetFullPath (Path.GetDirectoryName (file));
+                                       if (dirOfFile == sp)
+                                               yield return vals [i];
+                                       i++;
+                               }
+                       }
+               }
+               
+               public TP GetPackageInfoByName (string name)
+               {
+                       return GetPackageInfoByName (name, null);
+               }
+               
+               public TP GetPackageInfoByName (string name, IEnumerable<string> pkgConfigDirs)
+               {
+                       foreach (TP p in GetPackages (pkgConfigDirs))
+                               if (p.Name == name)
+                                       return p;
+                       return null;
+               }
+               
+               // Returns information about a .pc file
+               public TP GetPackageInfo (string file)
+               {
+                       TP info;
+                       file = Path.GetFullPath (file);
+                       
+                       DateTime wtime = File.GetLastWriteTime (file);
+                       
+                       lock (infos) {
+                               if (infos.TryGetValue (file, out info)) {
+                                       if (info.LastWriteTime == wtime)
+                                               return info;
+                               }
+                       }
+
+                       try {
+                               info = ParsePackageInfo (file);
+                       } catch (Exception ex) {
+                               ctx.ReportError ("Error while parsing .pc file: " + file, ex);
+                               info = new TP ();
+                       }
+                       
+                       lock (infos) {
+                               if (!info.IsValidPackage)
+                                       info = new TP (); // Create a default empty instance
+                               info.LastWriteTime = wtime;
+                               infos [file] = info;
+                               hasChanges = true;
+                       }
+                       
+                       return info;
+               }
+               
+               FileStream OpenFile (FileAccess access)
+               {
+                       int retries = 6;
+                       FileMode mode = access == FileAccess.Read ? FileMode.Open : FileMode.Create;
+                       Exception lastException = null;
+                       
+                       while (retries > 0) {
+                               try {
+                                       return new FileStream (cacheFile, mode, access, FileShare.None);
+                               } catch (Exception ex) {
+                                       // the file may be locked by another app. Wait a bit and try again
+                                       lastException = ex;
+                                       System.Threading.Thread.Sleep (200);
+                                       retries--;
+                               }
+                       }
+                       ctx.ReportError ("File could not be opened: " + cacheFile, lastException);
+                       return null;
+               }
+               
+               void Load ()
+               {
+                       // The serializer can't be used because this file is reused in xbuild
+                       using (FileStream fs = OpenFile (FileAccess.Read)) {
+                               if (fs == null)
+                                       return;
+                               XmlTextReader xr = new XmlTextReader (fs);
+                               xr.MoveToContent ();
+                               xr.ReadStartElement ();
+                               xr.MoveToContent ();
+                               
+                               while (xr.NodeType == XmlNodeType.Element)
+                                       ReadPackage (xr);
+                       }
+               }
+               
+               public void Save ()
+               {
+                       // The serializer can't be used because this file is reused in xbuild
+                       lock (infos) {
+                               if (!hasChanges)
+                                       return;
+                               
+                               using (FileStream fs = OpenFile (FileAccess.Write)) {
+                                       if (fs == null)
+                                               return;
+                                       XmlTextWriter tw = new XmlTextWriter (new StreamWriter (fs));
+                                       tw.Formatting = Formatting.Indented;
+                                       
+                                       tw.WriteStartElement ("PcFileCache");
+                                       foreach (KeyValuePair<string,TP> file in infos) {
+                                               WritePackage (tw, file.Key, file.Value);
+                                       }
+                                       tw.WriteEndElement (); // PcFileCache
+                                       tw.Flush ();
+                                       
+                                       hasChanges = false;
+                               }
+                       }
+               }
+               
+               void WritePackage (XmlTextWriter tw, string file, TP pinfo)
+               {
+                       tw.WriteStartElement ("File");
+                       tw.WriteAttributeString ("path", file);
+                       tw.WriteAttributeString ("lastWriteTime", XmlConvert.ToString (pinfo.LastWriteTime, XmlDateTimeSerializationMode.Local));
+                       
+                       if (pinfo.IsValidPackage) {
+                               if (pinfo.Name != null)
+                                       tw.WriteAttributeString ("name", pinfo.Name);
+                               if (pinfo.Version != null)
+                                       tw.WriteAttributeString ("version", pinfo.Version);
+                               if (!string.IsNullOrEmpty (pinfo.Description))
+                                       tw.WriteAttributeString ("description", pinfo.Description);
+                               if (!string.IsNullOrEmpty (pinfo.Requires))
+                                       tw.WriteAttributeString ("requires", pinfo.Requires);
+                               if (pinfo.CustomData != null) {
+                                       foreach (KeyValuePair<string,string> cd in pinfo.CustomData)
+                                               tw.WriteAttributeString (cd.Key, cd.Value);
+                               }
+                               WritePackageContent (tw, file, pinfo);
+                       }
+                       tw.WriteEndElement (); // File
+               }
+               
+               protected virtual void WritePackageContent (XmlTextWriter tw, string file, TP pinfo)
+               {
+               }
+               
+               void ReadPackage (XmlReader tr)
+               {
+                       TP pinfo = new TP ();
+                       string file = null;
+                       
+                       tr.MoveToFirstAttribute ();
+                       do {
+                               switch (tr.LocalName) {
+                                       case "path": file = tr.Value; break;
+                                       case "lastWriteTime": pinfo.LastWriteTime = XmlConvert.ToDateTime (tr.Value, XmlDateTimeSerializationMode.Local); break;
+                                       case "name": pinfo.Name = tr.Value; break;
+                                       case "version": pinfo.Version = tr.Value; break;
+                                       case "description": pinfo.Description = tr.Value; break;
+                                       case "requires": pinfo.Requires = tr.Value; break;
+                                       default: pinfo.SetData (tr.LocalName, tr.Value); break;
+                               }
+                       } while (tr.MoveToNextAttribute ());
+                       
+                       tr.MoveToElement ();
+                       
+                       if (!tr.IsEmptyElement) {
+                               tr.ReadStartElement ();
+                               tr.MoveToContent ();
+                               ReadPackageContent (tr, pinfo);
+                               tr.MoveToContent ();
+                               tr.ReadEndElement ();
+                       } else
+                               tr.Read ();
+                       tr.MoveToContent ();
+                       
+                       if (!pinfo.IsValidPackage || ctx.IsCustomDataComplete (file, pinfo)) {
+                               lock (infos)
+                                       infos [file] = pinfo;
+                       }
+               }
+               
+               protected virtual void ReadPackageContent (XmlReader tr, TP pinfo)
+               {
+               }
+               
+               public object SyncRoot {
+                       get { return infos; }
+               }
+               
+               
+               TP ParsePackageInfo (string pcfile)
+               {
+                       PcFile file = new PcFile ();
+                       file.Load (pcfile);
+                       
+                       TP pinfo = new TP ();
+                       pinfo.Name = Path.GetFileNameWithoutExtension (file.FilePath);
+                       
+                       if (!file.HasErrors) {
+                               pinfo.Version = file.Version;
+                               pinfo.Description = file.Description;
+                               pinfo.Requires = file.Requires;
+                               ParsePackageInfo (file, pinfo);
+                               if (pinfo.IsValidPackage)
+                                       ctx.StoreCustomData (file, pinfo);
+                       }
+                       return pinfo;
+               }
+               
+               protected virtual void ParsePackageInfo (PcFile file, TP pinfo)
+               {
+               }
+               
+               IEnumerable<string> GetDefaultPaths ()
+               {
+                       if (defaultPaths == null) {
+                               // For mac osx, look in the 'External' dir on macosx,
+                               // see bug #663180
+                               string pkgConfigPath = String.Format ("{0}:{1}",
+                                               Mono.XBuild.Utilities.MSBuildUtils.RunningOnMac ? MacOSXExternalPkgConfigDir : String.Empty,
+                                               Environment.GetEnvironmentVariable ("PKG_CONFIG_PATH") ?? String.Empty);
+
+                               string pkgConfigDir = Environment.GetEnvironmentVariable ("PKG_CONFIG_LIBDIR");
+                               defaultPaths = GetPkgconfigPaths (null, pkgConfigPath, pkgConfigDir);
+                       }
+                       return defaultPaths;
+               }
+               
+               public IEnumerable<string> GetPkgconfigPaths (string prefix, string pkgConfigPath, string pkgConfigLibdir)
+               {
+                       char[] sep = new char[] { Path.PathSeparator };
+                       
+                       string[] pkgConfigPaths = null;
+                       if (!String.IsNullOrEmpty (pkgConfigPath)) {
+                               pkgConfigPaths = pkgConfigPath.Split (sep, StringSplitOptions.RemoveEmptyEntries);
+                               if (pkgConfigPaths.Length == 0)
+                                       pkgConfigPaths = null;
+                       }
+                       
+                       string[] pkgConfigLibdirs = null;
+                       if (!String.IsNullOrEmpty (pkgConfigLibdir)) {
+                               pkgConfigLibdirs = pkgConfigLibdir.Split (sep, StringSplitOptions.RemoveEmptyEntries);
+                               if (pkgConfigLibdirs.Length == 0)
+                                       pkgConfigLibdirs = null;
+                       }
+                       
+                       if (prefix == null)
+                               prefix = PathUp (typeof (int).Assembly.Location, 4);
+                       
+                       IEnumerable<string> paths = GetUnfilteredPkgConfigDirs (pkgConfigPaths, pkgConfigLibdirs, new string [] { prefix });
+                       return NormaliseAndFilterPaths (paths, Environment.CurrentDirectory);
+               }
+               
+               IEnumerable<string> GetUnfilteredPkgConfigDirs (IEnumerable<string> pkgConfigPaths, IEnumerable<string> pkgConfigLibdirs, IEnumerable<string> systemPrefixes)
+               {
+                       if (pkgConfigPaths != null) {
+                               foreach (string dir in pkgConfigPaths)
+                                       yield return dir;
+                       }
+                       
+                       if (pkgConfigLibdirs != null) {
+                               foreach (string dir in pkgConfigLibdirs)
+                                       yield return dir;
+                       } else if (systemPrefixes != null) {
+                               string[] suffixes = new string [] {
+                                       //FIXME: is this the correct order? share should be before lib but not sure about others.
+                                       Path.Combine ("share", "pkgconfig"),
+                                       Path.Combine ("lib", "pkgconfig"),
+                                       Path.Combine ("lib64", "pkgconfig"),
+                                       Path.Combine ("libdata", "pkgconfig"),
+                               };
+                               foreach (string prefix in systemPrefixes)
+                                       foreach (string suffix in suffixes)
+                                               yield return Path.Combine (prefix, suffix);
+                       }
+               }
+               
+               IEnumerable<string> NormaliseAndFilterPaths (IEnumerable<string> paths, string workingDirectory)
+               {
+                       Dictionary<string,string> filtered = new Dictionary<string,string> ();
+                       foreach (string p in paths) {
+                               string path = p;
+                               if (!Path.IsPathRooted (path))
+                                       path = Path.Combine (workingDirectory, path);
+                               path = Path.GetFullPath (path);
+                               if (filtered.ContainsKey (path))
+                                       continue;
+                               filtered.Add (path,path);
+                               try {
+                                       if (!Directory.Exists (path))
+                                               continue;
+                               } catch (IOException ex) {
+                                       ctx.ReportError ("Error checking for directory '" + path + "'.", ex);
+                               }
+                               yield return path;
+                       }
+               }
+               
+               static string PathUp (string path, int up)
+               {
+                       if (up == 0)
+                               return path;
+                       for (int i = path.Length -1; i >= 0; i--) {
+                               if (path[i] == Path.DirectorySeparatorChar) {
+                                       up--;
+                                       if (up == 0)
+                                               return path.Substring (0, i);
+                               }
+                       }
+                       return null;
+               }
+       }
+
+       public class PcFile
+       {
+               Dictionary<string,string> variables = new Dictionary<string, string> ();
+               
+               string description;
+               public string Description {
+                       get { return description; }
+                       set { description = value; }
+               }
+               
+               string filePath;
+               public string FilePath {
+                       get { return filePath; }
+                       set { filePath = value; }
+               }
+               
+               bool hasErrors;
+               public bool HasErrors {
+                       get { return hasErrors; }
+                       set { hasErrors = value; }
+               }
+               
+               string libs;
+               public string Libs {
+                       get { return libs; }
+                       set { libs = value; }
+               }
+               
+               string name;
+               public string Name {
+                       get { return name; }
+                       set { name = value; }
+               }
+               
+               string version;
+               public string Version {
+                       get { return version; }
+                       set { version = value; }
+               }
+               
+               string requires;
+               public string Requires {
+                       get { return requires; }
+                       set { requires = value; }
+               }
+               
+               public string GetVariable (string varName)
+               {
+                       string val;
+                       variables.TryGetValue (varName, out val);
+                       return val;
+               }
+               
+               public void Load (string pcfile)
+               {
+                       FilePath = pcfile;
+                       variables.Add ("pcfiledir", Path.GetDirectoryName (pcfile));
+                       using (StreamReader reader = new StreamReader (pcfile)) {
+                               string line;
+                               while ((line = reader.ReadLine ()) != null) {
+                                       int i = line.IndexOf (':');
+                                       int j = line.IndexOf ('=');
+                                       int k = System.Math.Min (i != -1 ? i : int.MaxValue, j != -1 ? j : int.MaxValue);
+                                       if (k == int.MaxValue)
+                                               continue;
+                                       string var = line.Substring (0, k).Trim ();
+                                       string value = line.Substring (k + 1).Trim ();
+                                       value = Evaluate (value);
+                                       
+                                       if (k == j) {
+                                               // Is variable
+                                               variables [var] = value;
+                                       }
+                                       else {
+                                               switch (var) {
+                                                       case "Name": Name = value; break;
+                                                       case "Description": Description = value; break;
+                                                       case "Version": Version = value; break;
+                                                       case "Libs": Libs = value; break;
+                                                       case "Requires": Requires = value; break;
+                                               }
+                                       }
+                               }
+                       }
+               }
+               
+               string Evaluate (string value)
+               {
+                       int i = value.IndexOf ("${");
+                       if (i == -1)
+                               return value;
+
+                       StringBuilder sb = new StringBuilder ();
+                       int last = 0;
+                       while (i != -1 && i < value.Length) {
+                               sb.Append (value.Substring (last, i - last));
+                               if (i == 0 || value [i - 1] != '$') {
+                                       // Evaluate if var is not escaped
+                                       i += 2;
+                                       int n = value.IndexOf ('}', i);
+                                       if (n == -1 || n == i) {
+                                               // Closing bracket not found or empty name
+                                               HasErrors = true;
+                                               return value;
+                                       }
+                                       string rname = value.Substring (i, n - i);
+                                       string rval;
+                                       if (variables.TryGetValue (rname, out rval))
+                                               sb.Append (rval);
+                                       else {
+                                               HasErrors = true;
+                                               return value;
+                                       }
+                                       i = n + 1;
+                                       last = i;
+                               } else
+                                       last = i++;
+                               
+                               if (i < value.Length)
+                                       i = value.IndexOf ("${", i);
+                       }
+                       sb.Append (value.Substring (last, value.Length - last));
+                       return sb.ToString ();
+               }
+       }
+       
+       public class PackageInfo
+       {
+               Dictionary<string,string> customData;
+               DateTime lastWriteTime;
+               
+               string name;
+               public string Name {
+                       get { return name; }
+                       set { name = value; }
+               }
+               
+               string version;
+               public string Version {
+                       get { return version; }
+                       set { version = value; }
+               }
+               
+               string description;
+               public string Description {
+                       get { return description; }
+                       set { description = value; }
+               }
+               
+               string requires;
+               public string Requires {
+                       get { return requires; }
+                       set { requires = value; }
+               }
+               
+               public string GetData (string name)
+               {
+                       if (customData == null)
+                               return null;
+                       string res;
+                       customData.TryGetValue (name, out res);
+                       return res;
+               }
+               
+               public void SetData (string name, string value)
+               {
+                       if (customData == null)
+                               customData = new Dictionary<string, string> ();
+                       customData [name] = value;
+               }
+               
+               public void RemoveData (string name)
+               {
+                       if (customData != null)
+                               customData.Remove (name);
+               }
+               
+               internal Dictionary<string,string> CustomData {
+                       get { return customData; }
+               }
+               
+               internal DateTime LastWriteTime {
+                       get { return lastWriteTime; }
+                       set { lastWriteTime = value; }
+               }
+               
+               internal bool HasCustomData {
+                       get { return customData != null && customData.Count > 0; }
+               }
+               
+               internal protected virtual bool IsValidPackage {
+                       get { return HasCustomData; }
+               }
+       }
+}
diff --git a/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks_test.dll.sources b/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks_test.dll.sources
new file mode 100644 (file)
index 0000000..0dbb126
--- /dev/null
@@ -0,0 +1 @@
+Mono.XBuild.Tasks/PcFileCacheTest.cs
diff --git a/mcs/class/Mono.XBuild.Tasks/Test/Mono.XBuild.Tasks/PcFileCacheTest.cs b/mcs/class/Mono.XBuild.Tasks/Test/Mono.XBuild.Tasks/PcFileCacheTest.cs
new file mode 100644 (file)
index 0000000..a35a082
--- /dev/null
@@ -0,0 +1,285 @@
+//
+// PcFileCacheTest.cs
+//
+// Author:
+//       Antonius Riha <antoniusriha@gmail.com>
+//
+// Copyright (c) 2013 Antonius Riha
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+using System.Collections.Generic;
+using System.IO;
+using Mono.PkgConfig;
+using NUnit.Framework;
+
+namespace MonoTests.Mono.PkgConfig
+{
+       [TestFixture]
+       public class PcFileCacheTest
+       {
+               static readonly string cacheDir = "testcache";
+               static readonly string pcCacheFileName = "pkgconfig-cache-2.xml";
+               static readonly string pcCacheFilePath = Path.Combine (cacheDir, pcCacheFileName);
+               static readonly string pkgConfigDir = "testpkgconfig";
+
+               [SetUp]
+               public void Setup ()
+               {
+                       Directory.CreateDirectory (cacheDir);
+                       Directory.CreateDirectory (pkgConfigDir);
+               }
+
+               [TearDown]
+               public void Teardown ()
+               {
+                       if (Directory.Exists (cacheDir))
+                               Directory.Delete (cacheDir, true);
+                       if (Directory.Exists (pkgConfigDir))
+                               Directory.Delete (pkgConfigDir, true);
+               }
+
+               [Test]
+               public void CreatePcFileCache ()
+               {
+                       PcFileCacheStub.Create (cacheDir);
+
+                       // cache dir should exist
+                       Assert.IsTrue (Directory.Exists (cacheDir), "A1");
+
+                       // cache file should not exist
+                       Assert.IsFalse (File.Exists (pcCacheFilePath), "A2");
+               }
+
+               [Test]
+               public void CreatePcFileCacheWithExistingEmptyCacheFile ()
+               {
+                       // Create pc cache file
+                       WritePcCacheFileContent ("");
+                       PcFileCache cache = PcFileCacheStub.Create (cacheDir);
+
+                       // cache should be empty
+                       string[] pkgConfigDirs = { pkgConfigDir };
+                       CollectionAssert.IsEmpty (cache.GetPackages (pkgConfigDirs), "A1");
+               }
+
+               [Test]
+               public void CreatePcFileCacheWithCacheFileContaining1EntryForAnExistingPcFile ()
+               {
+                       // Create pc cache file with an entry and corresponding pc file
+                       string pkgConfigFileName = "gtk-sharp-2.0.pc";
+                       string pkgConfigFullFilePath = Path.GetFullPath (Path.Combine (pkgConfigDir, pkgConfigFileName));
+                       string pcCacheFileContent = @"<PcFileCache>
+  <File path=""" + pkgConfigFullFilePath + @""" lastWriteTime=""2013-11-23T21:18:31+01:00"" />
+</PcFileCache>
+";
+
+                       string pkgConfigFileContent = @"prefix=${pcfiledir}/../..
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+gapidir=${prefix}/share/gapi-2.0
+
+
+Name: Gtk#
+Description: Gtk# - GNOME .NET Binding
+Version: 2.12.10
+Cflags: -I:${gapidir}/pango-api.xml -I:${gapidir}/atk-api.xml -I:${gapidir}/gdk-api.xml -I:${gapidir}/gtk-api.xml
+Libs: -r:${libdir}/cli/pango-sharp-2.0/pango-sharp.dll -r:${libdir}/cli/atk-sharp-2.0/atk-sharp.dll -r:${libdir}/cli/gdk-sharp-2.0/gdk-sharp.dll -r:${libdir}/cli/gtk-sharp-2.0/gtk-sharp.dll
+Requires: glib-sharp-2.0
+";
+
+                       AddPkgConfigFile (pkgConfigFileName, pkgConfigFileContent);
+                       WritePcCacheFileContent (pcCacheFileContent);
+
+                       PcFileCache cache = PcFileCacheStub.Create (cacheDir);
+
+                       // cache should contain entry of pc file
+                       Assert.IsNotNull (cache.GetPackageInfo (pkgConfigFullFilePath), "A1");
+               }
+
+               [Test]
+               public void CreatePcFileCacheWithCacheFileContainingOneOrphanedEntry ()
+               {
+                       string pkgConfigFileName = "gtk-sharp-2.0.pc";
+                       string pkgConfigFullFilePath = Path.GetFullPath (Path.Combine (pkgConfigDir, pkgConfigFileName));
+                       string pcCacheFileContent = @"<PcFileCache>
+  <File path=""" + pkgConfigFullFilePath + @""" lastWriteTime=""2013-11-23T21:18:31+01:00"" />
+</PcFileCache>
+";
+                       WritePcCacheFileContent (pcCacheFileContent);
+
+                       PcFileCache cache = PcFileCacheStub.Create (cacheDir);
+
+                       // cache should contain orphaned entry
+                       Assert.IsNotNull (cache.GetPackageInfo (pkgConfigFullFilePath), "A1");
+               }
+
+               [Test]
+               public void CreatePcFileCacheWithoutCacheFileButWithPcFile ()
+               {
+                       string pkgConfigFileName = "gtk-sharp-2.0.pc";
+                       string pkgConfigFileContent = @"prefix=${pcfiledir}/../..
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+gapidir=${prefix}/share/gapi-2.0
+
+
+Name: Gtk#
+Description: Gtk# - GNOME .NET Binding
+Version: 2.12.10
+Cflags: -I:${gapidir}/pango-api.xml -I:${gapidir}/atk-api.xml -I:${gapidir}/gdk-api.xml -I:${gapidir}/gtk-api.xml
+Libs: -r:${libdir}/cli/pango-sharp-2.0/pango-sharp.dll -r:${libdir}/cli/atk-sharp-2.0/atk-sharp.dll -r:${libdir}/cli/gdk-sharp-2.0/gdk-sharp.dll -r:${libdir}/cli/gtk-sharp-2.0/gtk-sharp.dll
+Requires: glib-sharp-2.0
+";
+                       AddPkgConfigFile (pkgConfigFileName, pkgConfigFileContent);
+
+                       PcFileCache cache = PcFileCacheStub.Create (cacheDir);
+
+                       // cache file should exist
+                       Assert.IsFalse (File.Exists (pcCacheFilePath), "A1");
+
+                       // cache should be empty
+                       string[] pkgConfigDirs = { pkgConfigDir };
+                       CollectionAssert.IsEmpty (cache.GetPackages (pkgConfigDirs), "A2");
+               }
+
+               [Test]
+               public void GetPackagesOrderedByFolder ()
+               {
+                       string pkgConfigDir1 = "testpkgconfigdir1";
+                       string pkgConfigDir2 = "testpkgconfigdir2";
+                       Directory.CreateDirectory (pkgConfigDir1);
+                       Directory.CreateDirectory (pkgConfigDir2);
+
+                       string pkgConfigFile11NameAttr = "gtk-sharp-2.0";
+                       string pkgConfigFile11FullPath = Path.GetFullPath (Path.Combine (pkgConfigDir1, "gtk-sharp-2.0.pc"));
+
+                       string pkgConfigFile21NameAttr = "art-sharp-2.0";
+                       string pkgConfigFile21FullPath = Path.GetFullPath (Path.Combine (pkgConfigDir2, "art-sharp-2.0.pc"));
+
+                       string pkgConfigFile12NameAttr = "cecil";
+                       string pkgConfigFile12FullPath = Path.GetFullPath (Path.Combine (pkgConfigDir1, "cecil.pc"));
+
+                       string pcCacheFileContent = @"<PcFileCache>
+  <File path=""" + pkgConfigFile11FullPath + @""" lastWriteTime=""2013-11-23T21:18:31+01:00"" name=""" + pkgConfigFile11NameAttr + @""" />
+  <File path=""" + pkgConfigFile21FullPath + @""" lastWriteTime=""2011-07-12T12:04:53+02:00"" name=""" + pkgConfigFile21NameAttr + @""" />
+  <File path=""" + pkgConfigFile12FullPath + @""" lastWriteTime=""2012-07-24T22:28:30+02:00"" name=""" + pkgConfigFile12NameAttr + @""" />
+</PcFileCache>
+";
+
+                       WritePcCacheFileContent (pcCacheFileContent);
+
+                       PcFileCache cache = PcFileCacheStub.Create (cacheDir);
+                       string[] pkgConfigDirs = { pkgConfigDir1, pkgConfigDir2 };
+                       IEnumerable<PackageInfo> packages = cache.GetPackages (pkgConfigDirs);
+
+                       PackageInfo[] packageArray = new PackageInfo [3];
+                       int i = 0;
+                       foreach (PackageInfo package in packages)
+                               packageArray [i++] = package;
+
+                       Assert.AreEqual (pkgConfigFile11NameAttr, packageArray [0].Name, "A1");
+                       Assert.AreEqual (pkgConfigFile12NameAttr, packageArray [1].Name, "A2");
+                       Assert.AreEqual (pkgConfigFile21NameAttr, packageArray [2].Name, "A3");
+
+                       Directory.Delete (pkgConfigDir1, true);
+                       Directory.Delete (pkgConfigDir2, true);
+               }
+
+               [Test]
+               public void UpdatePcFileCacheWithOrphanedEntry ()
+               {
+                       string pkgConfigFileNameAttr = "gtk-sharp-2.0";
+                       string pkgConfigFileName = "gtk-sharp-2.0.pc";
+                       string pkgConfigFullFilePath = Path.GetFullPath (Path.Combine (pkgConfigDir, pkgConfigFileName));
+                       string pcCacheFileContent = @"<PcFileCache>
+  <File path=""" + pkgConfigFullFilePath + @""" lastWriteTime=""2013-11-23T21:18:31+01:00"" name=""" + pkgConfigFileNameAttr + @""" />
+</PcFileCache>
+";
+
+                       WritePcCacheFileContent (pcCacheFileContent);
+
+                       PcFileCache cache = PcFileCacheStub.Create (cacheDir);
+
+                       // precondition
+                       string[] pkgConfigDirs = { pkgConfigDir };
+                       Assert.IsNotNull (cache.GetPackageInfoByName (pkgConfigFileNameAttr, pkgConfigDirs), "A1");
+
+                       cache.Update (pkgConfigDirs);
+                       Assert.IsNull (cache.GetPackageInfoByName (pkgConfigFileNameAttr, pkgConfigDirs), "A2");
+               }
+
+               static void WritePcCacheFileContent (string content)
+               {
+                       File.WriteAllText (pcCacheFilePath, content);
+               }
+
+               static void AddPkgConfigFile (string fileName, string content)
+               {
+                       AddPkgConfigFile (fileName, content, pkgConfigDir);
+               }
+
+               static void AddPkgConfigFile (string fileName, string content, string pkgConfigDir)
+               {
+                       string path = Path.Combine (pkgConfigDir, fileName);
+                       File.WriteAllText (path, content);
+               }
+
+               class PcFileCacheContextStub : IPcFileCacheContext
+               {
+                       public void StoreCustomData (PcFile pcfile, PackageInfo pkg)
+                       {
+                       }
+
+                       public bool IsCustomDataComplete (string pcfile, PackageInfo pkg)
+                       {
+                               return false;
+                       }
+
+                       public void ReportError (string message, Exception ex)
+                       {
+                       }
+               }
+
+               class PcFileCacheStub : PcFileCache
+               {
+                       static string initCacheDirectory;
+                       readonly string cacheDirectory;
+
+                       PcFileCacheStub (string cacheDirectory) : base (new PcFileCacheContextStub ())
+                       {
+                               if (cacheDirectory == null)
+                                       throw new ArgumentNullException ("cacheDirectory");
+                               this.cacheDirectory = cacheDirectory;
+                       }
+
+                       protected override string CacheDirectory {
+                               get { return initCacheDirectory == null ? cacheDirectory : initCacheDirectory; }
+                       }
+
+                       public static PcFileCache Create (string cacheDirectory)
+                       {
+                               initCacheDirectory = cacheDirectory;
+                               PcFileCache cache = new PcFileCacheStub (cacheDirectory);
+                               initCacheDirectory = null;
+                               return cache;
+                       }
+               }
+       }
+}
index 4df5319b935162321eed465fb3e0ec1d1acd2628..da73c9fd9c861fa9d44d1ae57a1330e346a6cb0c 100644 (file)
@@ -50,7 +50,7 @@ using System.Runtime.InteropServices;
 [assembly: NeutralResourcesLanguage ("en-US")]
 [assembly: CLSCompliant (true)]
 [assembly: AssemblyDelaySign (true)]
-[assembly: AssemblyKeyFile ("../ecma.pub")]
+[assembly: AssemblyKeyFile ("../winfx.pub")]
 
 [assembly: SecurityRules (SecurityRuleSet.Level1)]
 
index af2c3471f71f4329d52d0a8c90c64de2eb6637f2..95c8d6c28a248964fb016de06ab7d801574ea01e 100644 (file)
@@ -63,7 +63,7 @@ namespace System.Windows.Forms.DataVisualization.Charting
                public ChartAreaCollection ChartAreas { get; private set; }
                public DataManipulator DataManipulator { get; private set;}
                public Object DataSource { get; set; }
-               protected override Size DefaultSize { get { return DefaultSize; } }//FIXME
+               protected override Size DefaultSize { get { return base.DefaultSize; } }//FIXME
                public Font Font { get; set; }
                public override Color ForeColor { get; set; }
                public NamedImagesCollection Images { get; private set;}
index ed9d824c339d54b0b75b502eb2f7ff8b274dd824..edc1a624b2cad169f836cc1c2bf57727e5bfea8a 100644 (file)
@@ -31,12 +31,15 @@ namespace System.ComponentModel {
 
        public abstract class GroupDescription : INotifyPropertyChanged
        {
+               readonly ObservableCollection<object> groupNames;
+
                protected GroupDescription ()
                {
+                       groupNames = new ObservableCollection<object> ();
                }
 
                public ObservableCollection<object> GroupNames {
-                       get { throw new NotImplementedException (); }
+                       get { return groupNames; }
                }
 
                event PropertyChangedEventHandler INotifyPropertyChanged.PropertyChanged {
@@ -48,7 +51,7 @@ namespace System.ComponentModel {
 
                public virtual bool NamesMatch (object groupName, object itemName)
                {
-                       throw new NotImplementedException ();
+                       return Equals (groupName, itemName);
                }
 
                protected virtual void OnPropertyChanged (PropertyChangedEventArgs e)
@@ -60,7 +63,7 @@ namespace System.ComponentModel {
                [EditorBrowsable (EditorBrowsableState.Never)]
                public bool ShouldSerializeGroupNames ()
                {
-                       throw new NotImplementedException ();
+                       return GroupNames.Count != 0;
                }
 
                public abstract object GroupNameFromItem (object item, int level, CultureInfo culture);
index 2044bca07693e952cfc5973b61e19874e7c68a44..9174cfb44585a7b55e33fe75c4d6e68308981da9 100644 (file)
@@ -32,10 +32,17 @@ namespace System.ComponentModel {
 
        public class SortDescriptionCollection : Collection<SortDescription>, INotifyCollectionChanged
        {
-               public static readonly SortDescriptionCollection Empty = new SortDescriptionCollection ();
+               public static readonly SortDescriptionCollection Empty = new SortDescriptionCollection (true);
 
-               public SortDescriptionCollection ()
+               readonly bool isReadOnly;
+
+               public SortDescriptionCollection () : this (false)
+               {
+               }
+
+               SortDescriptionCollection (bool isReadOnly)
                {
+                       this.isReadOnly = isReadOnly;
                }
 
                event NotifyCollectionChangedEventHandler INotifyCollectionChanged.CollectionChanged {
@@ -47,12 +54,18 @@ namespace System.ComponentModel {
 
                protected override void ClearItems ()
                {
+                       if (isReadOnly)
+                               throw new NotSupportedException ();
+
                        base.ClearItems ();
                        OnCollectionChanged (NotifyCollectionChangedAction.Reset);
                }
 
                protected override void InsertItem (int index, SortDescription item)
                {
+                       if (isReadOnly)
+                               throw new NotSupportedException ();
+
                        item.Seal ();
                        base.InsertItem (index, item);
                        OnCollectionChanged (NotifyCollectionChangedAction.Add, item, index);
@@ -60,6 +73,9 @@ namespace System.ComponentModel {
 
                protected override void RemoveItem (int index)
                {
+                       if (isReadOnly)
+                               throw new NotSupportedException ();
+
                        SortDescription sd = base [index];
                        base.RemoveItem (index);
                        OnCollectionChanged (NotifyCollectionChangedAction.Remove, sd, index);
@@ -67,6 +83,9 @@ namespace System.ComponentModel {
 
                protected override void SetItem (int index, SortDescription item)
                {
+                       if (isReadOnly)
+                               throw new NotSupportedException ();
+
                        SortDescription old = base [index];
                        item.Seal ();
                        base.SetItem (index, item);
diff --git a/mcs/class/WindowsBase/Test/System.ComponentModel/GroupDescriptionTest.cs b/mcs/class/WindowsBase/Test/System.ComponentModel/GroupDescriptionTest.cs
new file mode 100644 (file)
index 0000000..037e039
--- /dev/null
@@ -0,0 +1,68 @@
+//
+// GroupDescriptionTest.cs
+//
+// Author:
+//       Antonius Riha <antoniusriha@gmail.com>
+//
+// Copyright (c) 2014 Antonius Riha
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+using System.ComponentModel;
+using System.Globalization;
+using NUnit.Framework;
+
+namespace MonoTests.System.ComponentModel
+{
+       [TestFixture]
+       public class GroupDescriptionTest
+       {
+               [Test]
+               public void NamesMatch ()
+               {
+                       var gd = new ConcreteGroupDescription ();
+                       var obj = new object ();
+                       Assert.IsTrue (gd.NamesMatch (obj, obj), "A1");
+                       Assert.IsFalse (gd.NamesMatch (new object (), new object ()), "A2");
+               }
+
+               [Test]
+               public void ShouldSerializeGroupNames ()
+               {
+                       var g = new ConcreteGroupDescription ();
+                       g.GroupNames.Add ("name");
+                       Assert.IsTrue (g.ShouldSerializeGroupNames (), "#A1");
+               }
+
+               [Test]
+               public void ShouldSerializeGroupNamesEmpty ()
+               {
+                       var g = new ConcreteGroupDescription ();
+                       Assert.IsFalse (g.ShouldSerializeGroupNames (), "#A1");
+               }
+
+               class ConcreteGroupDescription : GroupDescription
+               {
+                       public override object GroupNameFromItem (object item, int level, CultureInfo culture)
+                       {
+                               throw new NotSupportedException ();
+                       }
+               }
+       }
+}
index 9c1e3d5e6681e83862d4e397ca75f37a8a4c0bc1..cfde0f6813f518437c7a17783286a543bc6f3396 100644 (file)
@@ -152,5 +152,51 @@ namespace MonoTests.System.ComponentModel {
                        Assert.AreEqual (ListSortDirection.Descending, addedItem.Direction, "ADD_#2");
                        Assert.AreEqual (true, addedItem.IsSealed, "ADD_#3");
                }
+
+               [Test]
+               public void GetEmptyCollection ()
+               {
+                       var collection = SortDescriptionCollection.Empty;
+                       CollectionAssert.IsEmpty (collection, "A1");
+               }
+
+               [Test]
+               [ExpectedException (typeof(NotSupportedException))]
+               public void AddToEmptyCollection ()
+               {
+                       var collection = SortDescriptionCollection.Empty;
+                       collection.Add (new SortDescription ());
+               }
+
+               [Test]
+               public void RemoveFromEmptyCollection ()
+               {
+                       var collection = SortDescriptionCollection.Empty;
+                       Assert.IsFalse (collection.Remove (new SortDescription ()), "A1");
+               }
+
+               [Test]
+               [ExpectedException (typeof(NotSupportedException))]
+               public void RemoveAtIndexFromEmptyCollection ()
+               {
+                       var collection = SortDescriptionCollection.Empty;
+                       collection.RemoveAt (0);
+               }
+
+               [Test]
+               [ExpectedException (typeof(NotSupportedException))]
+               public void ClearEmptyCollection ()
+               {
+                       var collection = SortDescriptionCollection.Empty;
+                       collection.Clear ();
+               }
+
+               [Test]
+               [ExpectedException (typeof(NotSupportedException))]
+               public void InsertIntoEmptyCollection ()
+               {
+                       var collection = SortDescriptionCollection.Empty;
+                       collection.Insert (0, new SortDescription ());
+               }
        }
 }
index 0ed7508a9e7e82a7fbab7f7eac05d8ac08b68184..86ea26d3e9f0a952ca56713c849367664270b8f0 100644 (file)
@@ -49,6 +49,7 @@
     <Compile Include="Test\System.Collections.Specialized\CollectionChangedEventValidators.cs" />\r
     <Compile Include="Test\System.Collections.Specialized\NotifyCollectionChangedEventArgsTest.cs" />\r
     <Compile Include="Test\System.ComponentModel\CurrentChangingEventArgsTest.cs" />\r
+    <Compile Include="Test\System.ComponentModel\GroupDescriptionTest.cs" />\r
     <Compile Include="Test\System.ComponentModel\PropertyFilterAttributeTest.cs" />\r
     <Compile Include="Test\System.ComponentModel\SortDescriptionCollectionTest.cs" />\r
     <Compile Include="Test\System.ComponentModel\SortDescriptionTest.cs" />\r
index 1bc72234ac809c3fabb28de213f4c585f8881f14..8e125454ae84ffaea73b82d5aecaaeb833dd2f40 100644 (file)
@@ -49,6 +49,7 @@
     <Compile Include="Test\System.Collections.Specialized\CollectionChangedEventValidators.cs" />\r
     <Compile Include="Test\System.Collections.Specialized\NotifyCollectionChangedEventArgsTest.cs" />\r
     <Compile Include="Test\System.ComponentModel\CurrentChangingEventArgsTest.cs" />\r
+    <Compile Include="Test\System.ComponentModel\GroupDescriptionTest.cs" />\r
     <Compile Include="Test\System.ComponentModel\PropertyFilterAttributeTest.cs" />\r
     <Compile Include="Test\System.ComponentModel\SortDescriptionCollectionTest.cs" />\r
     <Compile Include="Test\System.ComponentModel\SortDescriptionTest.cs" />\r
index 589bc53ce45f26c006f6cfeffc57673d3c344ab6..f194fb2369ae1b5b6b47668a988bb28b3cd91613 100644 (file)
@@ -49,6 +49,7 @@
     <Compile Include="Test\System.Collections.Specialized\CollectionChangedEventValidators.cs" />\r
     <Compile Include="Test\System.Collections.Specialized\NotifyCollectionChangedEventArgsTest.cs" />\r
     <Compile Include="Test\System.ComponentModel\CurrentChangingEventArgsTest.cs" />\r
+    <Compile Include="Test\System.ComponentModel\GroupDescriptionTest.cs" />\r
     <Compile Include="Test\System.ComponentModel\PropertyFilterAttributeTest.cs" />\r
     <Compile Include="Test\System.ComponentModel\SortDescriptionCollectionTest.cs" />\r
     <Compile Include="Test\System.ComponentModel\SortDescriptionTest.cs" />\r
index 437fef32ef8023c4c6cd3bbb10ad9cb84f6595ff..23dde059fc782810f16af267960150c04d2f7f99 100644 (file)
@@ -3,6 +3,7 @@ System.Collections.ObjectModel/ReadOnlyObservableCollectionTest.cs
 System.Collections.Specialized/NotifyCollectionChangedEventArgsTest.cs
 System.Collections.Specialized/CollectionChangedEventValidators.cs
 System.ComponentModel/CurrentChangingEventArgsTest.cs
+System.ComponentModel/GroupDescriptionTest.cs
 System.ComponentModel/PropertyFilterAttributeTest.cs
 System.ComponentModel/SortDescriptionCollectionTest.cs
 System.ComponentModel/SortDescriptionTest.cs
index 327166e4488c3dd2bef30c5db266ece13db30b3b..ce4fdda324c6944a7fda60656fcdcfae736cef70 100644 (file)
@@ -236,5 +236,20 @@ namespace System.Reflection
                                return Type.EmptyTypes;
                        return types;
                }
+
+#if NET_4_5
+               public override bool HasDefaultValue {
+                       get { 
+                               object defaultValue = DefaultValue;
+                               if (defaultValue == null)
+                                       return true;
+
+                               if (defaultValue.GetType () == typeof(DBNull) || defaultValue.GetType () == typeof(Missing))
+                                       return false;
+
+                               return true;
+                       }
+               }
+#endif
        }
 }
index 890dffd3b2f95c63a9650990eb32f10977c87b41..1c00fb96c10c03d9dd71430504032ae5f5f9a075 100644 (file)
@@ -193,8 +193,7 @@ namespace System.Reflection
                public virtual IEnumerable<CustomAttributeData> CustomAttributes {
                        get { return GetCustomAttributesData (); }
                }
-
-               [MonoTODO]
+               
                public virtual bool HasDefaultValue {
                        get { throw new NotImplementedException (); }
                }
index 29578435b898fb13194a999b97c7292ed41b8453..13a7f218fee1619f18d755b09a5882b01e5e7d10 100644 (file)
@@ -69,7 +69,7 @@ namespace System.Runtime.CompilerServices
                
                public static AsyncTaskMethodBuilder Create ()
                {
-                       var task = new Task<object> (TaskActionInvoker.Empty, null, CancellationToken.None, TaskCreationOptions.None, null);
+                       var task = new Task<object> (TaskActionInvoker.Promise, null, CancellationToken.None, TaskCreationOptions.None, null);
                        task.SetupScheduler (TaskScheduler.Current);
                        return new AsyncTaskMethodBuilder (task);
                }
index 96f6dc68ab0fd9ef994ce80b91fe41a1ef40602e..71fd4b1b81fe57ee3ff498754c38899f2d0e1f72 100644 (file)
@@ -69,7 +69,7 @@ namespace System.Runtime.CompilerServices
                
                public static AsyncTaskMethodBuilder<TResult> Create ()
                {
-                       var task = new Task<TResult> (TaskActionInvoker.Empty, null, CancellationToken.None, TaskCreationOptions.None, null);
+                       var task = new Task<TResult> (TaskActionInvoker.Promise, null, CancellationToken.None, TaskCreationOptions.None, null);
                        task.SetupScheduler (TaskScheduler.Current);
                        return new AsyncTaskMethodBuilder<TResult> (task);
                }
index cf34f769c950e68be8eb749eeacf0ce90ef8c0ea..6f9cf654022b7700c35ad9a53908603606339a0f 100644 (file)
@@ -182,6 +182,9 @@ namespace System.Threading.Tasks
                        if (IsContinuation)
                                throw new InvalidOperationException ("Start may not be called on a continuation task");
 
+                       if (IsPromise)
+                               throw new InvalidOperationException ("Start may not be called on a promise-style task");
+
                        SetupScheduler (scheduler);
                        Schedule ();
                }
@@ -208,6 +211,9 @@ namespace System.Threading.Tasks
                        if (IsContinuation)
                                throw new InvalidOperationException ("RunSynchronously may not be called on a continuation task");
 
+                       if (IsPromise)
+                               throw new InvalidOperationException ("RunSynchronously may not be called on a promise-style task");
+
                        RunSynchronouslyCore (scheduler);
                }
 
@@ -1349,6 +1355,12 @@ namespace System.Threading.Tasks
                        }
                }
 
+               bool IsPromise {
+                       get {
+                               return invoker == TaskActionInvoker.Promise;
+                       }
+               }
+
                internal Task ContinuationAncestor {
                        get {
                                return contAncestor;
index 412bcf1cfaacf93e82b8884ecf2cdf87f56874ee..72a486f7a806e066243703865ad460e7b17d9404 100644 (file)
@@ -35,6 +35,7 @@ namespace System.Threading.Tasks
        abstract class TaskActionInvoker
        {
                public static readonly TaskActionInvoker Empty = new EmptyTaskActionInvoker ();
+               public static readonly TaskActionInvoker Promise = new EmptyTaskActionInvoker ();
                public static readonly TaskActionInvoker Delay = new DelayTaskInvoker ();
                
                sealed class EmptyTaskActionInvoker : TaskActionInvoker
index d3d388f6703af8d8e67d163e1b08b6f5de09c8e3..e0230b788a57cf76dc1e1c6a185eb4f3c29c9616 100644 (file)
@@ -94,11 +94,11 @@ namespace MonoTests.System.Globalization
                {
                        CultureInfo ci = new CultureInfo ("es-ES");
                        DateTimeFormatInfo di = ci.DateTimeFormat;
-                       Assert.AreEqual ("dddd, dd' de 'MMMM' de 'yyyy", di.LongDatePattern, "#1");
+                       Assert.AreEqual ("dddd, d' de 'MMMM' de 'yyyy", di.LongDatePattern, "#1");
                        Assert.AreEqual ("H:mm:ss", di.LongTimePattern, "#2");
-                       Assert.AreEqual ("dddd, dd' de 'MMMM' de 'yyyy H:mm:ss", di.FullDateTimePattern, "#3");
+                       Assert.AreEqual ("dddd, d' de 'MMMM' de 'yyyy H:mm:ss", di.FullDateTimePattern, "#3");
                        Assert.AreEqual ("MMMM' de 'yyyy", di.YearMonthPattern, "#4");
-                       Assert.AreEqual ("dMMMM", di.MonthDayPattern, "#5");
+                       Assert.AreEqual ("d' de 'MMMM", di.MonthDayPattern, "#5");
                }
 
                [Test]
index ff1d915632d1755ab027e9d4de6eeec46852eec0..b22f46f36507cf03144467ebacdb9adedc85f3be 100644 (file)
@@ -98,6 +98,15 @@ namespace MonoTests.System.Reflection
                        Assert.AreEqual (ParamEnum.Foo, info [5].DefaultValue, "#2");
                }
 
+#if NET_4_5
+               [Test]
+               public void HasDefaultValueEnum () {
+                       ParameterInfo[] info = typeof (ParameterInfoTest).GetMethod ("paramMethod").GetParameters ();
+
+                       Assert.IsTrue (info [5].HasDefaultValue);
+               }
+#endif
+
                public static void Sample2 ([DecimalConstantAttribute(2,2,2,2,2)] decimal a, [DateTimeConstantAttribute(123456)] DateTime b) {}
 
                [Test]
@@ -117,7 +126,19 @@ namespace MonoTests.System.Reflection
                        Assert.AreEqual (pi [1].DefaultValue.GetType (), typeof (Missing), "#2");
                }
 
-               public void Sample (int a, [Optional] int b)
+#if NET_4_5
+               [Test]
+               public void TestHasDefaultValues ()
+               {
+                       ParameterInfo [] pi = typeof (ParameterInfoTest).GetMethod ("Sample").GetParameters ();
+
+                       Assert.IsFalse (pi [0].HasDefaultValue, "#1");
+                       Assert.IsFalse (pi [1].HasDefaultValue, "#2");
+                       Assert.IsTrue (pi [2].HasDefaultValue, "#3");
+               }
+#endif
+
+               public void Sample (int a, [Optional] int b, object c = null)
                {
                }
 
@@ -235,6 +256,14 @@ namespace MonoTests.System.Reflection
                        Assert.AreEqual (decimal.MaxValue, info [0].DefaultValue);
                }
 
+#if NET_4_5
+               [Test]
+               public void HasDefaultValueDecimal () {
+                       var info = typeof (ParameterInfoTest).GetMethod ("TestC").GetParameters ();
+                       Assert.IsTrue (info [0].HasDefaultValue);
+               }
+#endif
+
                class MyParameterInfo2 : ParameterInfo
                {
                        public ParameterAttributes MyAttrsImpl;
index df685fc0ddfe4ccac2c36f85d09462b3b1b4fe93..3bc65a8204b3beb05743dd022ee26e45b11e4dc5 100644 (file)
@@ -163,7 +163,7 @@ namespace MonoTests.System {
                        Assert.AreEqual (dto.ToString ("r", new CultureInfo ("en-us")), dto.ToString ("R", new CultureInfo ("en-us")));
                        Assert.AreEqual ("2007-10-31T21:00:00", dto.ToString ("s", new CultureInfo ("en-us")));
                        Assert.AreEqual ("2007-11-01 05:00:00Z", dto.ToString ("u", new CultureInfo ("en-us")));
-                       Assert.AreEqual ("October, 2007", dto.ToString ("Y", new CultureInfo ("en-us")));
+                       Assert.AreEqual ("October 2007", dto.ToString ("Y", new CultureInfo ("en-us")));
                        Assert.AreEqual (dto.ToString ("y", new CultureInfo ("en-us")), dto.ToString ("Y", new CultureInfo ("en-us")));
                }
 
index 72da88876a39560a6346d53f6c8fbd9e59639fec..30de11b489568f43c628e1779c4596011f780b6d 100644 (file)
@@ -2476,11 +2476,11 @@ namespace MonoTests.System
                }
                
                [Test]
-               public void Foo ()
+               public void GenitiveMonth ()
                {
                        var ci = new CultureInfo ("ru-RU");
                        var dt = new DateTime (2012, 9, 15);
-                       Assert.AreEqual ("сентября 15", dt.ToString ("m", ci));
+                       Assert.AreEqual ("15 сентября", dt.ToString ("m", ci));
                }
        }
 }
diff --git a/mcs/errors/cs0246-30.cs b/mcs/errors/cs0246-30.cs
new file mode 100644 (file)
index 0000000..06b41b0
--- /dev/null
@@ -0,0 +1,22 @@
+// CS0246: The type or namespace name `T' could not be found. Are you missing an assembly reference?
+// Line: 13
+
+using System;
+using System.Collections.Generic;
+
+class X
+{
+       public static void Main ()
+       {
+               Foo (() => {
+                       IEnumerable<object> f = null;
+                       foreach (KeyValuePair<int, T> e in f) {
+                       }
+               });
+
+       }
+
+       static void Foo (Action a)
+       {
+       }
+}
\ No newline at end of file
index ca39017696d7a61b6d2b9dc650e7ffb903ff78c6..10cc8c30b789421ddd87893d0afaa84bda8f7a99 100644 (file)
@@ -67,7 +67,7 @@ namespace Mono.CSharp
 
                public override void FlowAnalysis (FlowAnalysisContext fc)
                {
-                       expr.FlowAnalysis (fc);
+                       stmt.Expr.FlowAnalysis (fc);
 
                        stmt.RegisterResumePoint ();
                }
index 0a46fd5b7ce8ae2ac0130b2a76e99c1ec00a5ccf..d450030d747ebc686eec4f757f2b8882983df7d1 100644 (file)
@@ -13,6 +13,7 @@
 //
 
 using System;
+using System.Linq;
 using System.Collections.Generic;
 using System.Runtime.InteropServices;
 using System.Security;
@@ -2751,6 +2752,17 @@ namespace Mono.CSharp
                        }
                }
 
+               public override void GetCompletionStartingWith (string prefix, List<string> results)
+               {
+                       base.GetCompletionStartingWith (prefix, results);
+
+                       var bt = base_type;
+                       while (bt != null) {
+                               results.AddRange (MemberCache.GetCompletitionMembers (this, bt, prefix).Where (l => l.IsStatic).Select (l => l.Name));
+                               bt = bt.BaseType;
+                       }
+               }
+
                protected override TypeSpec[] ResolveBaseTypes (out FullNamedExpression base_class)
                {
                        var ifaces = base.ResolveBaseTypes (out base_class);
index 63e87ebc32ca55bc6be69c82f0702eb73c25135e..e2e1268f35656e952f8299d8324dd67928b35faa 100644 (file)
@@ -2201,7 +2201,7 @@ namespace Mono.CSharp {
                                target = TypeManager.GetTypeArguments (target_type) [0];
                                e = ExplicitConversionCore (ec, expr, target, loc);
                                if (e != null)
-                                       return Nullable.Wrap.Create (e, target_type);
+                                       return TypeSpec.IsReferenceType (expr.Type) ? new UnboxCast (expr, target_type) : Nullable.Wrap.Create (e, target_type);
                        } else if (expr_type.IsNullableType) {
                                e = ImplicitBoxingConversion (expr, Nullable.NullableInfo.GetUnderlyingType (expr_type), target_type);
                                if (e != null)
index a64e4a86a8851e9e1a12ad6680f6c4d6c42c190e..901ce7d3f438db85375bd646dacd20a4612ed7b6 100644 (file)
@@ -2601,6 +2601,8 @@ enum_declaration
          }
          opt_enum_member_declarations
          {
+               lexer.parsing_modifiers = true;
+         
                // here will be evaluated after CLOSE_BLACE is consumed.
                if (doc_support)
                        Lexer.doc_state = XmlCommentState.Allowed;
index 26e4f5d8d90ca2e1d004e5b20c60b9259ccdd78d..3458f7499c937c8ecdf5a468035f02ec7ae1ced0 100644 (file)
@@ -370,8 +370,14 @@ namespace Mono.CSharp
                                if (parser == null){
                                        return null;
                                }
-                               
-                               Class parser_result = parser.InteractiveResult;
+
+                               Class host = parser.InteractiveResult;
+
+                               var base_class_imported = importer.ImportType (base_class);
+                               var baseclass_list = new List<FullNamedExpression> (1) {
+                                       new TypeExpression (base_class_imported, host.Location)
+                               };
+                               host.SetBaseTypes (baseclass_list);
 
 #if NET_4_0
                                var access = AssemblyBuilderAccess.RunAndCollect;
@@ -383,9 +389,11 @@ namespace Mono.CSharp
                                module.SetDeclaringAssembly (a);
 
                                // Need to setup MemberCache
-                               parser_result.CreateContainer ();
+                               host.CreateContainer ();
+                               // Need to setup base type
+                               host.DefineContainer ();
 
-                               var method = parser_result.Members[0] as Method;
+                               var method = host.Members[0] as Method;
                                BlockContext bc = new BlockContext (method, method.Block, ctx.BuiltinTypes.Void);
 
                                try {
index c8a7999f4dbe17bdb0f11a2412c5c35b8e013ffb..dfec547a0ba4d471a859ef34eff3a5f34639a355 100644 (file)
@@ -9935,8 +9935,8 @@ namespace Mono.CSharp
                {
                        base.Emit (ec);
 
-                       var context_type = ec.CurrentType;
-                       if (context_type.IsStruct) {
+                       if (type == ec.Module.Compiler.BuiltinTypes.ValueType) {
+                               var context_type = ec.CurrentType;
                                ec.Emit (OpCodes.Ldobj, context_type);
                                ec.Emit (OpCodes.Box, context_type);
                        }
index e14578dfe39ac23d37b4d32d38673c55ec9aaa5f..e3bb7b0502b3d55047a30dc25b5928acd8d6b9a0 100644 (file)
@@ -2146,7 +2146,7 @@ namespace Mono.CSharp {
                public virtual bool Resolve (IMemberContext ec)
                {
                        if (atypes != null)
-                           return atypes.Length != 0;
+                           return true;
 
                        int count = args.Count;
                        bool ok = true;
@@ -2177,7 +2177,7 @@ namespace Mono.CSharp {
                        }
 
                        if (!ok)
-                               atypes = TypeSpec.EmptyTypes;
+                               atypes = null;
 
                        return ok;
                }
diff --git a/mcs/tests/gtest-601.cs b/mcs/tests/gtest-601.cs
new file mode 100644 (file)
index 0000000..e15d908
--- /dev/null
@@ -0,0 +1,20 @@
+using System;
+
+public class TestProgram
+{
+       public static void Main ()
+       {
+               IMyStruct myStruct = null;
+               MyStruct? structValue;
+
+               structValue = (MyStruct?)myStruct;
+       }
+}
+
+public struct MyStruct : IMyStruct
+{
+}
+
+public interface IMyStruct
+{
+}
index 3e0350012b945ee2c7bd643e1288139012fe8b19..c9824a794e22d1c803eadb0028dd5c8a42017053 100644 (file)
@@ -60,6 +60,15 @@ class C
        }
 }
 
+class D
+{
+       enum E {}
+
+       async Task M ()
+       {
+       }
+}
+
 class async
 {
        async (async arg)
diff --git a/mcs/tests/test-async-56.cs b/mcs/tests/test-async-56.cs
new file mode 100644 (file)
index 0000000..88f547e
--- /dev/null
@@ -0,0 +1,32 @@
+using System;
+using System.Threading;
+using System.Threading.Tasks;
+
+class Test
+{
+       public static int Main ()
+       {
+               Task<int> t = TestMethod ();
+
+               try {
+                       t.Start ();
+                       return 1;
+               } catch (InvalidOperationException) {
+               }
+
+               try {
+                       t.RunSynchronously ();
+                       return 2;
+               } catch (InvalidOperationException) {
+               }
+
+               Console.WriteLine ("ok");
+               return 0;
+       }
+
+       async static Task<int> TestMethod ()
+       {
+               await Task.Delay (100000);
+               return 1;
+       }
+}
\ No newline at end of file
diff --git a/mcs/tests/test-async-57.cs b/mcs/tests/test-async-57.cs
new file mode 100644 (file)
index 0000000..aa7e59e
--- /dev/null
@@ -0,0 +1,16 @@
+using System.Threading.Tasks;
+using System;
+
+class X
+{
+       readonly Func<string, Task> action = null;
+
+       public static void Main ()
+       {
+       }
+
+       protected async Task TestAsync ()
+       {
+               await action ("");
+       }
+}
\ No newline at end of file
index 7e56e3a31a72dd5c6f340f3d6cd23ae6437e2238..3aa0535f8b709e8c00f896ef17685d3c59568aae 100644 (file)
       </method>\r
     </type>\r
   </test>\r
+  <test name="gtest-601.cs">\r
+    <type name="TestProgram">\r
+      <method name="Void Main()" attrs="150">\r
+        <size>11</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
   <test name="gtest-anontype-01.cs">\r
     <type name="Test">\r
       <method name="Int32 Main()" attrs="150">\r
         <size>13</size>\r
       </method>\r
     </type>\r
+    <type name="D">\r
+      <method name="System.Threading.Tasks.Task M()" attrs="129">\r
+        <size>33</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="D+&lt;M&gt;c__async0">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>31</size>\r
+      </method>\r
+      <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
+        <size>13</size>\r
+      </method>\r
+    </type>\r
   </test>\r
   <test name="test-async-23.cs">\r
     <type name="MyContext">\r
       </method>\r
     </type>\r
   </test>\r
+  <test name="test-async-56.cs">\r
+    <type name="Test">\r
+      <method name="Int32 Main()" attrs="150">\r
+        <size>70</size>\r
+      </method>\r
+      <method name="System.Threading.Tasks.Task`1[System.Int32] TestMethod()" attrs="145">\r
+        <size>33</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Test+&lt;TestMethod&gt;c__async0">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>169</size>\r
+      </method>\r
+      <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
+        <size>13</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
+  <test name="test-async-57.cs">\r
+    <type name="X">\r
+      <method name="Void Main()" attrs="150">\r
+        <size>2</size>\r
+      </method>\r
+      <method name="System.Threading.Tasks.Task TestAsync()" attrs="132">\r
+        <size>41</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>14</size>\r
+      </method>\r
+    </type>\r
+    <type name="X+&lt;TestAsync&gt;c__async0">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>172</size>\r
+      </method>\r
+      <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
+        <size>13</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
+  <test name="test-async-58.cs">\r
+    <type name="A">\r
+      <method name="Int32 Get()" attrs="134">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="B">\r
+      <method name="System.Threading.Tasks.Task`1[System.Int32] GetAsync()" attrs="134">\r
+        <size>41</size>\r
+      </method>\r
+      <method name="Void Main()" attrs="145">\r
+        <size>17</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="B+&lt;GetAsync&gt;c__async0">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>49</size>\r
+      </method>\r
+      <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
+        <size>13</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
   <test name="test-cls-00.cs">\r
     <type name="CLSCLass_6">\r
       <method name="Void add_Disposed(Delegate)" attrs="2182">\r
index 7c4b1c80f21936e7a5a5f63cca44839bfdee7368..3aa07b2b5156fc7df9dd66e08b7e1b04caca2342 100644 (file)
@@ -1122,7 +1122,7 @@ desktop-specific features.
 %_prefix/lib/mono/gac/System.Reactive.Experimental
 %_prefix/lib/mono/gac/System.Reactive.Interfaces
 %_prefix/lib/mono/gac/System.Reactive.Linq
-%_prefix/lib/mono/gac/System.Reactive.Observable.Aliases.dll
+%_prefix/lib/mono/gac/System.Reactive.Observable.Aliases
 %_prefix/lib/mono/gac/System.Reactive.PlatformServices
 %_prefix/lib/mono/gac/System.Reactive.Providers
 %_prefix/lib/mono/gac/System.Reactive.Runtime.Remoting
index 5205078c18e0961eb05052ec851cc04ce6184e7c..71570dad4844e857ba7fddb12cef10642d266205 100644 (file)
 
 static const DateTimeFormatEntry datetime_format_entries [] = {
        {1, 14, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {14,243,0,0,0,0,0,0,0,0,0,0,0,0},{1,254,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
-       {289, 308, 323, 338, 350, 55, 366, 378, {390, 403, 424, 439, 450, 469, 480}, {493, 498, 503, 508, 513, 518, 523}, {528, 531, 534, 537, 540, 531, 537}, {543, 556, 573, 582, 593, 600, 607, 614, 627, 646, 663, 678, 0}, {543, 556, 573, 582, 593, 600, 607, 614, 627, 646, 663, 678, 0}, {695, 701, 573, 711, 593, 600, 607, 719, 727, 737, 745, 755, 0}, {695, 701, 573, 711, 593, 600, 607, 719, 727, 737, 745, 755, 0}, 2, 1, 763, 241, {308,765,781,797,0,0,0,0,0,0,0,0,0,0},{289,814,832,857,0,0,0,0},{338,881,0,0,0,0,0,0,0,0,0,0},{323,892,0,0,0,0,0,0,0}},
-       {906, 243, 280, 274, 932, 55, 946, 951, {956, 965, 973, 981, 990, 997, 1007}, {1016, 1019, 1022, 1025, 1028, 1031, 1034}, {1037, 1039, 1041, 1043, 1045, 1047, 1049}, {1051, 1057, 1064, 1070, 1076, 1081, 1086, 1093, 1099, 1108, 1116, 1125, 0}, {1134, 1143, 1153, 1162, 1172, 1180, 1188, 1198, 1208, 1220, 1232, 1244, 0}, {1256, 1261, 1064, 1267, 1076, 1081, 1272, 1277, 1281, 1286, 1291, 1296, 0}, {1256, 1261, 1064, 1267, 1076, 1081, 1272, 1277, 1281, 1286, 1291, 1296, 0}, 2, 1, 239, 241, {243,14,1301,1312,1320,1327,1336,0,0,0,0,0,0,0},{906,1345,1361,0,0,0,0,0},{274,1377,1382,0,0,0,0,0,0,0,0,0},{280,1394,1402,0,0,0,0,0,0}},
-       {1422, 1444, 1394, 1377, 1453, 1469, 1482, 1489, {1496, 1506, 1516, 1526, 1536, 1546, 1556}, {1566, 1573, 1580, 1587, 1594, 1601, 1608}, {1615, 1619, 1623, 1627, 1631, 1635, 1639}, {1643, 1650, 1657, 1664, 1671, 1678, 1685, 1692, 1699, 1706, 1713, 1723, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {1643, 1650, 1657, 1664, 1671, 1678, 1685, 1692, 1699, 1706, 1713, 1723, 0}, {1643, 1650, 1657, 1664, 1671, 1678, 1685, 1692, 1699, 1706, 1713, 1723, 0}, 0, 0, 239, 241, {1444,1796,1805,1301,1814,1825,1836,1843,1850,1857,0,0,0,0},{1422,1866,1893,0,0,0,0,0},{1377,274,1920,1928,0,0,0,0,0,0,0,0},{1394,280,1937,1948,0,0,0,0,0}},
-       {1422, 1444, 1394, 1377, 1453, 1469, 1482, 1489, {1496, 1506, 1516, 1526, 1536, 1546, 1556}, {1566, 1573, 1580, 1587, 1594, 1601, 1608}, {1615, 1619, 1623, 1627, 1631, 1635, 1639}, {1643, 1650, 1657, 1664, 1671, 1678, 1685, 1692, 1699, 1706, 1713, 1723, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {1643, 1650, 1657, 1664, 1671, 1678, 1685, 1692, 1699, 1706, 1713, 1723, 0}, {1643, 1650, 1657, 1664, 1671, 1678, 1685, 1692, 1699, 1706, 1713, 1723, 0}, 0, 0, 239, 241, {1444,1796,1805,1301,1814,1825,1836,1843,1850,1857,0,0,0,0},{1422,1866,1893,0,0,0,0,0},{1377,274,1920,1928,0,0,0,0,0,0,0,0},{1394,280,1937,1948,0,0,0,0,0}},
-       {1960, 1973, 1394, 1377, 1982, 55, 1992, 1997, {2002, 2010, 2020, 2028, 2036, 2045, 2052}, {2059, 2062, 2065, 2069, 2072, 2076, 2080}, {2083, 2085, 2087, 2090, 2092, 2085, 2090}, {2095, 2101, 2107, 2115, 2121, 2129, 2137, 2147, 2153, 2161, 2169, 2178, 0}, {2187, 2193, 2200, 2208, 2214, 2222, 2230, 2240, 2153, 2246, 2254, 2264, 0}, {2273, 2276, 2279, 2282, 2285, 2288, 2291, 2294, 2297, 2300, 2304, 2308, 0}, {2273, 2276, 2279, 2282, 2285, 2288, 2291, 2294, 2297, 2300, 2304, 2308, 0}, 2, 1, 763, 241, {1973,2312,1301,1796,1836,0,0,0,0,0,0,0,0,0},{1960,0,0,0,0,0,0,0},{1377,274,2319,2327,0,0,0,0,0,0,0,0},{1394,280,2332,2343,0,0,0,0,0}},
-       {1960, 2351, 280, 274, 1982, 2362, 2370, 2375, {2380, 2388, 2395, 2403, 2410, 2418, 2425}, {2433, 2438, 2442, 2446, 2450, 2454, 2458}, {2090, 2463, 2465, 2467, 2465, 2469, 2471}, {2473, 2480, 2488, 2494, 2500, 2504, 2509, 2514, 2521, 2531, 2539, 2548, 0}, {2473, 2480, 2488, 2494, 2500, 2504, 2509, 2514, 2521, 2531, 2539, 2548, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 2581, 2585, 2589, 2593, 2597, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 2581, 2585, 2589, 2593, 2597, 0}, 2, 1, 2601, 241, {2351,1327,1301,2603,0,0,0,0,0,0,0,0,0,0},{1960,2614,0,0,0,0,0,0},{274,1377,0,0,0,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {2628, 2647, 280, 274, 1982, 55, 2658, 2664, {2671, 2679, 2686, 2695, 2704, 2715, 2723}, {2731, 2734, 2737, 2740, 2743, 2746, 2749}, {2090, 2463, 2752, 2463, 2752, 2469, 2090}, {2754, 2761, 2769, 2775, 2781, 2785, 2790, 2795, 2802, 2812, 2820, 2829, 0}, {2754, 2761, 2769, 2775, 2781, 2785, 2790, 2795, 2802, 2812, 2820, 2829, 0}, {2838, 2842, 2846, 2851, 2781, 2855, 2859, 2863, 2867, 2871, 2875, 2879, 0}, {2838, 2842, 2846, 2851, 2781, 2855, 2859, 2863, 2867, 2871, 2875, 2879, 0}, 2, 1, 763, 241, {2647,2883,1336,2895,2903,1973,1301,0,0,0,0,0,0,0},{2628,1960,2910,0,0,0,0,0},{274,1377,2327,2922,0,0,0,0,0,0,0,0},{280,2933,2947,2962,0,0,0,0,0}},
-       {2969, 2987, 2996, 3007, 1982, 55, 3015, 3022, {3029, 3044, 3059, 3070, 3085, 3098, 3117}, {3132, 3139, 3146, 3153, 3160, 3167, 3174}, {3181, 3184, 3187, 3187, 3190, 3190, 3193}, {3196, 3217, 3240, 3255, 3272, 3283, 3298, 3313, 3332, 3355, 3374, 3393, 0}, {3414, 3435, 3458, 3473, 3490, 3501, 3516, 3531, 3550, 3573, 3592, 3611, 0}, {3632, 3639, 3646, 3653, 3660, 3667, 3676, 3685, 3692, 3699, 3706, 3713, 0}, {3632, 3639, 3646, 3653, 3660, 3667, 3676, 3685, 3692, 3699, 3706, 3713, 0}, 2, 1, 239, 241, {2987,243,1320,14,3720,1301,0,0,0,0,0,0,0,0},{2969,3732,0,0,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {3744, 3764, 2996, 3007, 44, 3773, 3781, 3784, {3787, 3794, 3801, 3809, 3819, 3828, 3835}, {3844, 3848, 3852, 3856, 3860, 3864, 3868}, {2090, 2463, 2465, 3872, 2465, 2469, 2090}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, 0, 0, 239, 241, {3764,3940,3947,3956,1857,1301,3967,0,0,0,0,0,0,0},{3744,3977,254,3991,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {4005, 243, 1394, 1377, 4034, 55, 946, 951, {4049, 4057, 4063, 4070, 4081, 4088, 4096}, {4104, 4108, 2565, 4112, 4117, 4121, 4125}, {2752, 2471, 2463, 4130, 4132, 4134, 2090}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, 0, 1, 239, 241, {243,14,1312,1320,1327,1336,1301,2883,0,0,0,0,0,0},{4005,4231,4258,0,0,0,0,0},{1377,274,1382,0,0,0,0,0,0,0,0,0},{1394,280,1402,0,0,0,0,0,0}},
-       {4280, 1973, 1394, 1377, 1982, 4297, 4309, 4313, {4317, 4329, 4341, 4351, 4365, 4375, 4387}, {4398, 4401, 4404, 4407, 4410, 4413, 4416}, {2090, 2463, 2465, 4419, 2465, 2085, 2471}, {4421, 4430, 4439, 4449, 4458, 4467, 4476, 4486, 4493, 4501, 4509, 4519, 0}, {4528, 4539, 4550, 4562, 4573, 4584, 4595, 4607, 4616, 4626, 4636, 4648, 0}, {4659, 4665, 4671, 4678, 4684, 4690, 4696, 4703, 4707, 4712, 4717, 4724, 0}, {4659, 4665, 4671, 4678, 4684, 4690, 4696, 4703, 4707, 4712, 4717, 4724, 0}, 2, 1, 763, 241, {1973,2647,2903,1301,0,0,0,0,0,0,0,0,0,0},{4280,4730,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {4748, 243, 280, 274, 1982, 4765, 3781, 3784, {4772, 4781, 4787, 4793, 4802, 4808, 4817}, {4824, 4829, 4834, 4839, 4844, 4849, 4854}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4859, 4867, 4876, 4881, 4887, 4891, 4896, 4904, 4910, 4920, 1116, 4928, 0}, {4859, 4867, 4876, 4881, 4887, 4891, 4896, 4904, 4910, 4920, 1116, 4928, 0}, {4938, 4944, 4876, 4951, 4887, 4891, 4956, 4904, 4962, 1286, 1291, 4968, 0}, {4938, 4944, 4876, 4951, 4887, 4891, 4956, 4904, 4962, 1286, 1291, 4968, 0}, 0, 1, 239, 241, {243,14,1336,1327,1301,0,0,0,0,0,0,0,0,0},{4748,4974,3732,0,0,0,0,0},{274,1377,4983,4989,4999,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {5007, 243, 280, 274, 1982, 55, 5025, 5038, {5049, 5067, 5081, 5099, 5117, 5135, 5151}, {5165, 5177, 5189, 5201, 5213, 5225, 5237}, {5244, 5247, 5250, 5253, 5256, 5259, 5262}, {5265, 5276, 5289, 5296, 5307, 5314, 5323, 5332, 5345, 5358, 5373, 5386, 0}, {5265, 5276, 5289, 5296, 5307, 5314, 5323, 5332, 5345, 5358, 5373, 5386, 0}, {5397, 5406, 5289, 5415, 5307, 5424, 5433, 5442, 5451, 5460, 5469, 5478, 0}, {5397, 5406, 5289, 5415, 5307, 5424, 5433, 5442, 5451, 5460, 5469, 5478, 0}, 0, 0, 239, 241, {243,5487,14,1,1327,2351,5500,1301,5513,5530,0,0,0,0},{5007,5487,5540,5562,5513,0,0,0},{274,35,0,0,0,0,0,0,0,0,0,0},{280,23,0,0,0,0,0,0,0}},
-       {5583, 5597, 1394, 1377, 5609, 5620, 5628, 5632, {5636, 5646, 5654, 5659, 5666, 5679, 5687}, {4134, 5695, 4419, 5697, 5701, 2085, 5704}, {4134, 5695, 4419, 5708, 5701, 2085, 5708}, {5711, 5719, 5728, 5737, 5746, 5753, 5761, 5769, 5779, 5790, 2539, 2548, 0}, {5711, 5719, 5728, 5737, 5746, 5753, 5761, 5769, 5779, 5790, 2539, 2548, 0}, {5799, 1261, 5804, 5811, 5817, 5823, 5829, 5835, 5840, 5847, 1291, 5852, 0}, {5799, 1261, 5804, 5811, 5817, 5823, 5829, 5835, 5840, 5847, 1291, 5852, 0}, 0, 1, 763, 241, {5597,5857,1301,5871,0,0,0,0,0,0,0,0,0,0},{5583,0,0,0,0,0,0,0},{1377,274,3007,0,0,0,0,0,0,0,0,0},{1394,280,2996,0,0,0,0,0,0}},
-       {1960, 1973, 280, 274, 1982, 2362, 5880, 5885, {5890, 5901, 5912, 5926, 5940, 5952, 5964}, {5976, 5980, 5985, 5990, 5995, 5999, 6004}, {1049, 6008, 6010, 6008, 6013, 6013, 1039}, {6015, 6023, 4876, 6032, 6039, 6044, 6051, 6058, 2521, 5790, 6066, 6076, 0}, {6015, 6023, 4876, 6032, 6039, 6044, 6051, 6058, 2521, 5790, 6066, 6076, 0}, {2557, 2561, 2565, 2569, 6039, 6085, 6090, 6095, 2585, 2589, 6101, 6106, 0}, {2557, 2561, 2565, 2569, 6039, 6085, 6090, 6095, 2585, 2589, 6101, 6106, 0}, 2, 1, 763, 241, {1973,1336,6110,6122,1301,6136,0,0,0,0,0,0,0,0},{1960,2614,0,0,0,0,0,0},{274,1377,0,0,0,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {4748, 243, 280, 274, 1982, 55, 6145, 6148, {6151, 6160, 6168, 6177, 6188, 6197, 6206}, {4104, 4108, 2565, 6213, 6217, 6221, 6225}, {2752, 2471, 2463, 2463, 6229, 4134, 2090}, {6231, 6239, 6248, 6254, 6261, 6268, 6275, 6282, 6289, 6299, 6307, 6316, 0}, {6325, 6333, 4150, 6342, 6349, 6356, 6363, 4173, 6370, 6380, 1116, 6388, 0}, {6397, 2561, 2565, 2569, 6401, 6405, 6409, 4219, 6413, 6417, 2593, 4227, 0}, {6397, 2561, 2565, 2569, 6401, 6405, 6409, 4219, 6413, 6417, 2593, 4227, 0}, 2, 1, 239, 241, {243,3720,14,6421,1320,1301,0,0,0,0,0,0,0,0},{4748,6429,3732,0,0,0,0,0},{274,1377,2327,4983,0,0,0,0,0,0,0,0},{280,2343,6438,0,0,0,0,0,0}},
-       {1422, 1814, 1394, 1377, 1453, 1469, 6447, 6454, {6461, 6471, 6481, 6491, 6501, 6511, 6521}, {1615, 6531, 6535, 6539, 6543, 6547, 6551}, {1615, 6531, 6535, 6539, 6543, 6547, 6551}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 0, 239, 241, {1814,1857,1843,1444,6582,6601,6618,1301,0,0,0,0,0,0},{1422,6639,6663,6690,0,0,0,0},{1377,274,1920,1928,0,0,0,0,0,0,0,0},{1394,280,1937,1948,0,0,0,0,0}},
-       {6719, 1301, 1937, 1920, 6748, 6765, 6779, 6786, {6793, 6803, 6813, 6823, 6833, 6843, 6853}, {6863, 6867, 6871, 6875, 6879, 6883, 6887}, {6863, 6867, 6871, 6875, 6879, 6883, 6887}, {6891, 6896, 6901, 6906, 6911, 6916, 6921, 6926, 6931, 6936, 6942, 6948, 0}, {6891, 6896, 6901, 6906, 6911, 6916, 6921, 6926, 6931, 6936, 6942, 6948, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 0, 2601, 241, {1301,5871,1836,1796,0,0,0,0,0,0,0,0,0,0},{6719,6954,6978,7005,7027,7058,0,0},{1920,1928,1377,274,0,0,0,0,0,0,0,0},{1937,1948,1394,280,0,0,0,0,0}},
-       {4748, 7084, 1394, 1377, 1982, 55, 946, 951, {7093, 7100, 7108, 7116, 7125, 7135, 7143}, {7152, 4401, 7155, 7158, 7161, 7164, 7167}, {7170, 2463, 2752, 3872, 2752, 4134, 7170}, {7172, 7180, 7189, 2494, 7195, 2504, 2509, 7199, 2521, 2531, 2539, 2548, 0}, {7172, 7180, 7189, 2494, 7195, 2504, 2509, 7199, 2521, 2531, 2539, 2548, 0}, {2557, 2561, 7208, 2569, 7195, 2573, 2577, 2581, 2585, 2589, 2593, 2597, 0}, {2557, 2561, 7208, 2569, 7195, 2573, 2577, 2581, 2585, 2589, 2593, 2597, 0}, 2, 1, 2601, 241, {7084,2312,1327,14,1336,2883,1301,0,0,0,0,0,0,0},{4748,6429,3732,4974,0,0,0,0},{1377,274,2327,7212,7224,0,0,0,0,0,0,0},{1394,280,7236,7251,0,0,0,0,0}},
-       {1960, 2647, 280, 274, 1982, 2362, 946, 951, {2380, 2388, 2395, 2403, 2410, 2418, 2425}, {7266, 7271, 7275, 7279, 7283, 7287, 7291}, {2090, 2463, 2465, 2467, 2465, 2469, 2471}, {2473, 2480, 4876, 2494, 4887, 2504, 2509, 2514, 2521, 2531, 2539, 6076, 0}, {2473, 2480, 4876, 2494, 4887, 2504, 2509, 2514, 2521, 2531, 2539, 6076, 0}, {2557, 2561, 2565, 2569, 4887, 2573, 2577, 2581, 2585, 2589, 2593, 6106, 0}, {2557, 2561, 2565, 2569, 4887, 2573, 2577, 2581, 2585, 2589, 2593, 6106, 0}, 0, 0, 763, 241, {2647,1336,2903,1301,2883,0,0,0,0,0,0,0,0,0},{1960,2614,0,0,0,0,0,0},{274,1377,7296,4983,0,0,0,0,0,0,0,0},{280,1394,7307,6438,0,0,0,0,0}},
-       {3732, 1301, 280, 274, 1982, 4765, 3781, 3784, {7321, 7331, 7345, 7352, 7359, 7368, 2052}, {7376, 7383, 7388, 7392, 7397, 7402, 7406}, {2083, 2085, 3872, 7411, 7414, 2085, 2090}, {7416, 7425, 7430, 7437, 2500, 7447, 7456, 7463, 7473, 7483, 2169, 7496, 0}, {7506, 7515, 7522, 7528, 7537, 7542, 7550, 7556, 7565, 7575, 7589, 7599, 0}, {7607, 7611, 2565, 7615, 2500, 7619, 7623, 7627, 7631, 7635, 7640, 7644, 0}, {7607, 7611, 2565, 7615, 2500, 7619, 7623, 7627, 7631, 7635, 7640, 7644, 0}, 2, 1, 2601, 241, {1301,5871,0,0,0,0,0,0,0,0,0,0,0,0},{3732,5487,0,0,0,0,0,0},{274,1377,0,0,0,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {7648, 243, 280, 274, 4034, 7676, 3781, 3784, {4049, 7689, 7703, 7716, 7729, 7742, 4096}, {4104, 7754, 7758, 7762, 7766, 7770, 4125}, {2752, 2090, 2465, 7774, 7774, 2090, 2090}, {7776, 7784, 7794, 1070, 7801, 7806, 7812, 4173, 7818, 7827, 7835, 7844, 0}, {7776, 7784, 7794, 1070, 7801, 7806, 7812, 4173, 7818, 7827, 7835, 7844, 0}, {2557, 7853, 2565, 4215, 4887, 2573, 2577, 4219, 6413, 7857, 2593, 7861, 0}, {2557, 7853, 2565, 4215, 4887, 2573, 2577, 4219, 6413, 7857, 2593, 7861, 0}, 0, 0, 239, 241, {243,14,2987,1320,1327,2351,2312,7084,1336,2647,2883,2903,1973,1301},{7648,4258,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
-       {2969, 243, 280, 274, 1982, 55, 7865, 7868, {7871, 7880, 4787, 7890, 7898, 7906, 7915}, {7921, 7924, 4401, 7928, 7931, 7935, 2080}, {2752, 6229, 2463, 2463, 6229, 4134, 2090}, {7938, 7946, 4876, 7953, 7960, 7965, 7975, 7983, 7989, 7999, 2539, 2548, 0}, {7938, 7946, 4876, 7953, 7960, 7965, 7975, 7983, 7989, 7999, 2539, 2548, 0}, {8007, 8014, 4876, 4951, 7960, 8020, 8027, 7983, 8032, 1286, 1291, 5852, 0}, {8007, 8014, 4876, 4951, 7960, 8020, 8027, 7983, 8032, 1286, 1291, 5852, 0}, 2, 1, 239, 241, {243,14,1312,8038,1320,243,1301,0,0,0,0,0,0,0},{2969,3732,4974,0,0,0,0,0},{274,1377,8046,8058,8069,8077,8087,8096,2922,8102,8110,8115},{280,1394,8118,8133,2947,2933,8147,8160,2962}},
-       {3732, 2647, 280, 274, 1982, 4765, 3781, 3784, {8172, 8182, 8187, 8194, 8203, 8207, 8214}, {8225, 8228, 8231, 2740, 8234, 8237, 8240}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {8244, 8253, 8263, 8270, 4887, 8278, 8284, 2514, 8290, 8301, 8311, 8321, 0}, {8244, 8253, 8263, 8270, 4887, 8278, 8284, 2514, 8290, 8301, 8311, 8321, 0}, {8331, 8336, 4834, 8341, 4887, 8346, 8351, 5835, 4962, 1286, 1291, 5852, 0}, {8331, 8336, 4834, 8341, 4887, 8346, 8351, 5835, 4962, 1286, 1291, 5852, 0}, 0, 1, 763, 241, {2647,1973,1301,0,0,0,0,0,0,0,0,0,0,0},{3732,0,0,0,0,0,0,0},{274,1377,0,0,0,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {814, 2647, 1394, 1377, 1982, 3773, 8356, 8376, {8402, 8425, 424, 8448, 8459, 8474, 8489}, {8504, 8509, 8514, 8519, 8524, 8529, 8534}, {8539, 8542, 8539, 8545, 8548, 8542, 8545}, {8551, 8564, 8579, 8588, 8601, 8608, 8617, 8626, 8639, 8656, 8671, 8684, 0}, {8699, 8712, 8727, 8738, 8751, 8758, 8767, 8776, 8791, 8808, 8823, 8836, 0}, {8851, 8859, 8579, 8869, 8601, 8608, 8617, 8877, 8885, 8895, 8903, 8913, 0}, {8851, 8859, 8579, 8869, 8601, 8608, 8617, 8877, 8885, 8895, 8903, 8913, 0}, 0, 1, 763, 241, {2647,1336,2903,14,1301,0,0,0,0,0,0,0,0,0},{814,289,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {8921, 8935, 1394, 1377, 44, 2362, 3781, 3784, {8945, 8954, 8966, 8973, 8981, 8991, 8997}, {9004, 9008, 9012, 9016, 9020, 9025, 9029}, {9033, 9035, 9037, 1049, 9039, 9035, 1049}, {9042, 9052, 9061, 9069, 9077, 9085, 9092, 9099, 9107, 2169, 9113, 9121, 0}, {9130, 9140, 9149, 9157, 9165, 9173, 9180, 9187, 9196, 7589, 9202, 9212, 0}, {9221, 9225, 9230, 9235, 9239, 7623, 9243, 9247, 9251, 7640, 9255, 9259, 0}, {9221, 9225, 9230, 9235, 9239, 7623, 9243, 9247, 9251, 7640, 9255, 9259, 0}, 0, 1, 763, 241, {8935,9263,6110,9271,9283,9293,9303,1301,0,0,0,0,0,0},{8921,9315,9330,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {1960, 9350, 1394, 1377, 1982, 55, 9361, 9372, {9383, 9391, 9400, 9407, 9414, 9423, 2052}, {2059, 2062, 9430, 2069, 9433, 9437, 2080}, {2083, 2085, 9440, 2090, 9442, 2085, 2090}, {5711, 5719, 9445, 6032, 9451, 6085, 6090, 2514, 2521, 5790, 2539, 2548, 0}, {9456, 9465, 7522, 9475, 9483, 9489, 9495, 9501, 9509, 9519, 9528, 9537, 0}, {2557, 2561, 2565, 2569, 9451, 6085, 6090, 2581, 2585, 2589, 2593, 2597, 0}, {2557, 2561, 2565, 2569, 9451, 6085, 6090, 2581, 2585, 2589, 2593, 2597, 0}, 2, 1, 9546, 241, {9350,1973,9549,2903,2647,1336,1301,0,0,0,0,0,0,0},{1960,2614,0,0,0,0,0,0},{1377,274,2327,0,0,0,0,0,0,0,0,0},{1394,280,2343,0,0,0,0,0,0}},
-       {1301, 1301, 9558, 9569, 9577, 3773, 9585, 9588, {9591, 9598, 9607, 9616, 9628, 9636, 9645}, {9655, 9659, 3928, 9664, 9669, 9673, 9677}, {2752, 5695, 2463, 2463, 9681, 2085, 2090}, {9683, 9689, 4876, 9696, 2500, 9702, 9710, 9717, 9723, 9731, 9737, 9745, 0}, {9683, 9689, 4876, 9696, 2500, 9702, 9710, 9717, 9723, 9731, 9737, 9745, 0}, {2838, 9753, 3928, 9757, 9761, 9765, 9769, 9773, 9677, 9777, 9781, 9786, 0}, {2838, 9753, 3928, 9757, 9761, 9765, 9769, 9773, 9677, 9777, 9781, 9786, 0}, 0, 1, 2601, 241, {1301,5871,0,0,0,0,0,0,0,0,0,0,0,0},{1301,0,0,0,0,0,0,0},{9569,274,0,0,0,0,0,0,0,0,0,0},{9558,280,0,0,0,0,0,0,0}},
-       {9790, 1301, 280, 274, 1982, 9808, 9821, 9824, {9827, 9835, 9843, 2403, 2410, 2418, 9850}, {9858, 9863, 9868, 2446, 2450, 2454, 9872}, {2090, 2463, 2465, 2467, 2465, 2469, 2471}, {7172, 7180, 4876, 2494, 2500, 2504, 2509, 9877, 2521, 2531, 2539, 2548, 0}, {7172, 7180, 4876, 2494, 2500, 2504, 2509, 9877, 2521, 2531, 2539, 2548, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 2581, 2585, 2589, 2593, 2597, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 2581, 2585, 2589, 2593, 2597, 0}, 2, 1, 2601, 241, {1301,5871,0,0,0,0,0,0,0,0,0,0,0,0},{9790,9885,0,0,0,0,0,0},{274,1377,9908,0,0,0,0,0,0,0,0,0},{280,1394,9918,0,0,0,0,0,0}},
-       {3732, 2987, 1394, 1377, 1982, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 0, 239, 241, {2987,1320,14,243,9931,9942,1301,0,0,0,0,0,0,0},{3732,9954,9970,0,0,0,0,0},{1377,274,3007,35,0,0,0,0,0,0,0,0},{1394,280,2996,23,0,0,0,0,0}},
-       {10012, 2647, 280, 274, 1982, 55, 3781, 3784, {10030, 10036, 10046, 10052, 10063, 10073, 10078}, {10088, 10092, 10096, 10100, 10105, 10109, 10113}, {2085, 2085, 2090, 10117, 2085, 7414, 7414}, {10120, 10125, 10132, 10137, 10143, 10150, 10158, 10165, 10174, 10181, 10186, 10193, 0}, {10120, 10125, 10132, 10137, 10143, 10150, 10158, 10165, 10174, 10181, 10186, 10193, 0}, {10201, 10205, 3928, 10210, 3897, 10214, 10218, 10222, 10227, 10231, 10235, 10239, 0}, {10201, 10205, 3928, 10210, 3897, 10214, 10218, 10222, 10227, 10231, 10235, 10239, 0}, 0, 1, 763, 241, {2647,1336,1301,0,0,0,0,0,0,0,0,0,0,0},{10012,5487,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
-       {3991, 243, 2996, 3007, 44, 55, 10243, 10248, {10255, 10266, 10273, 10282, 10289, 10302, 10311}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {10320, 10331, 10342, 10351, 10362, 10367, 10374, 10385, 10394, 10405, 10418, 10429, 0}, {10320, 10331, 10342, 10351, 10362, 10367, 10374, 10385, 10394, 10405, 10418, 10429, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 0, 239, 241, {243,14,1301,0,0,0,0,0,0,0,0,0,0,0},{3991,254,0,0,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {5487, 243, 1394, 1377, 1982, 55, 3781, 3784, {10440, 10447, 10453, 10460, 10465, 10471, 10477}, {10483, 10487, 10491, 10495, 10499, 10503, 10507}, {2463, 2090, 2090, 10511, 4419, 4132, 2090}, {10513, 10521, 10530, 2775, 10536, 2785, 2790, 10540, 2802, 2812, 2820, 10548, 0}, {10513, 10521, 10530, 2775, 10536, 2785, 2790, 10540, 2802, 2812, 2820, 10548, 0}, {2838, 2842, 3928, 2851, 10536, 2855, 2859, 10557, 2867, 2871, 2875, 10561, 0}, {2838, 2842, 3928, 2851, 10536, 2855, 2859, 10557, 2867, 2871, 2875, 10561, 0}, 0, 0, 239, 241, {243,14,1301,0,0,0,0,0,0,0,0,0,0,0},{5487,0,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {10565, 2647, 1394, 1377, 10583, 4765, 10599, 10604, {10609, 10622, 10641, 10658, 10671, 10684, 10701}, {10714, 8509, 8514, 8519, 8524, 8529, 8534}, {10719, 8542, 8539, 8545, 8548, 8542, 8545}, {10722, 10735, 10746, 10763, 10778, 10793, 10808, 10821, 10836, 10853, 10868, 10885, 0}, {10900, 10911, 10924, 10939, 10952, 10965, 10978, 10989, 11002, 11017, 11030, 11049, 0}, {11062, 11069, 11076, 11083, 11090, 11097, 11104, 11111, 11118, 11125, 11132, 11139, 0}, {11062, 11069, 11076, 11083, 11090, 11097, 11104, 11111, 11118, 11125, 11132, 11139, 0}, 0, 1, 763, 241, {2647,1336,1301,0,0,0,0,0,0,0,0,0,0,0},{10565,0,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {3732, 2647, 1394, 1377, 1982, 4765, 11146, 11159, {11172, 11187, 11208, 11223, 11236, 11249, 11264}, {493, 498, 11277, 508, 11282, 518, 523}, {528, 531, 11287, 537, 540, 531, 537}, {11290, 11307, 11316, 11331, 11348, 11363, 11378, 11391, 11406, 11423, 11444, 11461, 0}, {11290, 11307, 11316, 11331, 593, 11363, 11378, 11391, 11406, 11423, 11444, 11461, 0}, {11476, 11483, 11490, 11497, 11504, 11511, 11518, 11525, 11532, 11539, 11546, 11553, 0}, {11476, 11483, 11490, 11497, 11504, 11511, 11518, 11525, 11532, 11539, 11546, 11553, 0}, 0, 0, 763, 241, {2647,1336,1301,0,0,0,0,0,0,0,0,0,0,0},{3732,0,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {1960, 1973, 1394, 1377, 1982, 2362, 1992, 11560, {11565, 11573, 11584, 11590, 11596, 11605, 2052}, {9004, 9008, 2450, 11611, 9020, 9025, 11615}, {9033, 9035, 1041, 1049, 9039, 9035, 1049}, {2473, 2480, 9445, 2494, 2500, 11619, 11625, 11631, 2521, 2531, 2539, 2548, 0}, {2473, 2480, 9445, 2494, 2500, 11619, 11625, 11631, 2521, 2531, 2539, 2548, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 11638, 2585, 2589, 2593, 2597, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 11638, 2585, 2589, 2593, 2597, 0}, 0, 1, 763, 241, {1973,2903,9350,2647,9549,1336,11642,1301,0,0,0,0,0,0},{1960,2614,2628,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {11653, 11672, 1394, 1377, 11682, 2362, 11698, 11703, {11708, 11719, 11730, 11741, 11752, 11763, 11769}, {2085, 9681, 2465, 4419, 2083, 10511, 2471}, {2085, 9681, 2465, 4419, 2083, 10511, 2471}, {11778, 11786, 11795, 11802, 4887, 11809, 11815, 2514, 2521, 11821, 2539, 11830, 0}, {11778, 11786, 11795, 11802, 4887, 11809, 11815, 2514, 2521, 11821, 2539, 11830, 0}, {11840, 11845, 11795, 2569, 4887, 11809, 11815, 2581, 11851, 2589, 2593, 11856, 0}, {11840, 11845, 11795, 2569, 4887, 11809, 11815, 2581, 11851, 2589, 2593, 11856, 0}, 2, 1, 763, 241, {11672,2647,1336,1301,0,0,0,0,0,0,0,0,0,0},{11653,11861,2628,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {11881, 5597, 1394, 1377, 5609, 2362, 11908, 11925, {11939, 11950, 11960, 11969, 11980, 11992, 12003}, {12013, 12016, 12019, 12022, 12025, 12028, 12031}, {2090, 2085, 2467, 2465, 7414, 2085, 2090}, {12034, 12044, 2488, 12055, 12064, 12070, 12078, 12086, 12094, 12105, 12114, 12124, 0}, {12034, 12044, 2488, 12055, 12064, 12070, 12078, 12086, 12094, 12105, 12114, 12124, 0}, {4938, 1261, 2488, 8341, 12064, 12134, 12140, 5835, 4962, 5847, 1291, 5852, 0}, {4938, 1261, 2488, 8341, 12064, 12134, 12140, 5835, 4962, 5847, 1291, 5852, 0}, 0, 1, 763, 241, {5597,12146,1301,0,0,0,0,0,0,0,0,0,0,0},{11881,0,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {12156, 1825, 280, 274, 12178, 12193, 12205, 11560, {12211, 12223, 12235, 12247, 12261, 12276, 12289}, {12303, 12016, 12306, 12022, 12309, 12312, 12315}, {2090, 2085, 12319, 2465, 4419, 2085, 9442}, {12321, 12328, 12336, 12342, 12351, 12360, 12370, 12376, 12387, 12397, 12404, 12414, 0}, {12422, 12429, 12437, 12443, 12452, 12461, 12471, 12477, 12488, 12498, 12505, 12515, 0}, {12523, 12529, 12534, 12539, 12544, 12549, 12554, 12560, 12566, 12572, 12578, 12585, 0}, {12523, 12529, 12534, 12539, 12544, 12549, 12554, 12560, 12566, 12572, 12578, 12585, 0}, 2, 1, 763, 241, {1825,1301,0,0,0,0,0,0,0,0,0,0,0,0},{12156,0,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
-       {3732, 1336, 1394, 1377, 1982, 3773, 12592, 12604, {12616, 12631, 12646, 12661, 12678, 12697, 12708}, {12719, 12726, 12733, 12740, 12747, 12754, 12761}, {0, 0, 0, 0, 0, 0, 0}, {12768, 12779, 8579, 12792, 8601, 12803, 12810, 8626, 12817, 12832, 12845, 12856, 0}, {12768, 12779, 8579, 12792, 8601, 12803, 12810, 8626, 12817, 12832, 12845, 12856, 0}, {12869, 12876, 12883, 12890, 8601, 12803, 12810, 12897, 12904, 12911, 12918, 12925, 0}, {12869, 12876, 12883, 12890, 8601, 12803, 12810, 12897, 12904, 12911, 12918, 12925, 0}, 0, 0, 763, 241, {1336,1301,0,0,0,0,0,0,0,0,0,0,0,0},{3732,0,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,0,0,0,0,0,0,0,0}},
-       {3744, 3956, 23, 35, 44, 3773, 12932, 12952, {12969, 12982, 12995, 13011, 13028, 13043, 13052}, {12969, 12982, 12995, 13011, 13028, 13043, 13052}, {13061, 13064, 13067, 13070, 13073, 13076, 13079}, {13082, 13095, 13106, 13115, 13126, 13131, 13140, 13151, 13158, 13173, 13184, 13197, 0}, {13210, 13225, 13106, 13115, 13238, 13131, 13245, 13151, 13158, 13173, 13184, 13197, 0}, {13082, 13095, 13106, 13115, 13126, 13131, 13140, 13151, 13158, 13173, 13184, 13197, 0}, {13082, 13095, 13106, 13115, 13126, 13131, 13140, 13151, 13158, 13173, 13184, 13197, 0}, 0, 6, 239, 241, {3956,3947,0,0,0,0,0,0,0,0,0,0,0,0},{3744,3977,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
-       {5487, 243, 2996, 3007, 1982, 55, 13258, 13261, {13264, 13277, 13287, 13296, 13306, 13317, 13328}, {13340, 13343, 13348, 13353, 13358, 13363, 13368}, {13340, 13373, 13376, 13379, 13382, 13385, 13388}, {13391, 13404, 13415, 13425, 13436, 13448, 13460, 13473, 13485, 13498, 13513, 13534, 0}, {13391, 13404, 13415, 13425, 13436, 13448, 13460, 13473, 13485, 13498, 13513, 13534, 0}, {13553, 13559, 13565, 13571, 13577, 13583, 13589, 13595, 13601, 13607, 13614, 13621, 0}, {13553, 13559, 13565, 13571, 13577, 13583, 13589, 13595, 13601, 13607, 13614, 13621, 0}, 0, 1, 239, 241, {243,14,1327,2351,1301,0,0,0,0,0,0,0,0,0},{5487,0,0,0,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {13628, 2647, 1394, 1377, 44, 4765, 13641, 13649, {13657, 13670, 13691, 13710, 13731, 13750, 13763}, {13774, 13781, 13788, 13795, 13802, 13809, 13816}, {0, 0, 0, 0, 0, 0, 0}, {13823, 13838, 13853, 13862, 13873, 13884, 13897, 13910, 13925, 13944, 13963, 13980, 0}, {13823, 13838, 13853, 13862, 13873, 13884, 13897, 13910, 13925, 13944, 13963, 13980, 0}, {13999, 14006, 14013, 14020, 14027, 14034, 14041, 14048, 14055, 14062, 14069, 14076, 0}, {13999, 14006, 14013, 14020, 14027, 14034, 14041, 14048, 14055, 14062, 14069, 14076, 0}, 0, 1, 763, 241, {2647,1336,14083,243,14093,3720,1301,0,0,0,0,0,0,0},{13628,2969,14104,5487,14123,14134,14146,14163},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {3732, 2647, 1394, 1377, 1982, 4765, 0, 0, {14181, 14187, 14201, 14224, 14238, 14254, 14261}, {14270, 14273, 14278, 14284, 14288, 7414, 14293}, {6567, 6555, 6557, 6559, 6561, 6563, 6565}, {14297, 14304, 10132, 14311, 3897, 14317, 14323, 14329, 14336, 14345, 14353, 14360, 0}, {14297, 14304, 10132, 14311, 3897, 14317, 14323, 14329, 14336, 14345, 14353, 14360, 0}, {14367, 7853, 2565, 2569, 14371, 14375, 14379, 14383, 14387, 2589, 14391, 14395, 0}, {14367, 7853, 2565, 2569, 14371, 14375, 14379, 14383, 14387, 2589, 14391, 14395, 0}, 0, 0, 763, 241, {2647,1336,2903,14,1301,0,0,0,0,0,0,0,0,0},{3732,5487,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {14399, 1814, 1394, 274, 14426, 3773, 3781, 3784, {14442, 14450, 14461, 14471, 14482, 14491, 14500}, {14510, 14513, 14516, 14519, 14522, 14525, 14528}, {14531, 2463, 12319, 2471, 12319, 2467, 14531}, {14533, 14543, 14551, 14559, 14567, 14575, 14582, 14590, 14598, 14605, 14611, 14618, 0}, {14533, 14543, 14551, 14559, 14567, 14575, 14582, 14590, 14598, 14605, 14611, 14618, 0}, {14626, 14630, 2565, 14634, 4887, 14638, 14642, 14646, 14650, 14654, 14658, 14662, 0}, {14626, 14630, 2565, 14634, 4887, 14638, 14642, 14646, 14650, 14654, 14658, 14662, 0}, 2, 1, 239, 241, {1814,1301,0,0,0,0,0,0,0,0,0,0,0,0},{14399,0,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{1394,280,1402,0,0,0,0,0,0}},
-       {14104, 2647, 280, 274, 1982, 55, 14666, 14687, {14704, 403, 424, 8448, 14717, 14734, 14745}, {14758, 14766, 14774, 14780, 14788, 14796, 14804}, {528, 531, 534, 537, 540, 531, 537}, {14812, 556, 573, 582, 14827, 14834, 14843, 614, 627, 646, 663, 678, 0}, {14812, 556, 573, 582, 14827, 14834, 14843, 614, 627, 646, 663, 678, 0}, {14852, 14860, 14868, 711, 14827, 14876, 14884, 719, 727, 737, 745, 14892, 0}, {14852, 14860, 14868, 711, 14827, 14876, 14884, 719, 727, 737, 745, 14892, 0}, 0, 1, 763, 241, {2647,1336,1301,0,0,0,0,0,0,0,0,0,0,0},{14104,0,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
-       {5487, 1814, 23, 35, 1982, 55, 0, 0, {14904, 14911, 14922, 14931, 14940, 14947, 14958}, {14968, 14972, 14976, 14980, 14984, 14987, 14991}, {0, 0, 0, 0, 0, 0, 0}, {14995, 15005, 15014, 15022, 15031, 15044, 15056, 15063, 15070, 15077, 15087, 15099, 0}, {14995, 15005, 15014, 15022, 15031, 15044, 15056, 15063, 15070, 15077, 15087, 15099, 0}, {15112, 15116, 15120, 15124, 15128, 15132, 15136, 15140, 15144, 15148, 15152, 15156, 0}, {15112, 15116, 15120, 15124, 15128, 15132, 15136, 15140, 15144, 15148, 15152, 15156, 0}, 0, 0, 239, 241, {1814,1857,1301,0,0,0,0,0,0,0,0,0,0,0},{5487,0,0,0,0,0,0,0},{35,3007,274,0,0,0,0,0,0,0,0,0},{23,2996,280,0,0,0,0,0,0}},
-       {5487, 1814, 23, 35, 1982, 55, 0, 0, {15160, 15165, 15171, 15181, 15193, 15201, 15212}, {15221, 15225, 15229, 15233, 15237, 15241, 15245}, {0, 0, 0, 0, 0, 0, 0}, {15249, 15259, 15269, 15276, 15283, 2785, 15288, 15295, 15302, 15311, 15319, 15327, 0}, {15249, 15259, 15269, 15276, 15283, 2785, 15288, 15295, 15302, 15311, 15319, 15327, 0}, {2838, 2842, 14991, 15335, 15339, 2855, 2859, 15343, 2867, 2871, 2875, 15347, 0}, {2838, 2842, 14991, 15335, 15339, 2855, 2859, 15343, 2867, 2871, 2875, 15347, 0}, 0, 0, 239, 241, {1814,1857,1301,0,0,0,0,0,0,0,0,0,0,0},{5487,0,0,0,0,0,0,0},{35,3007,274,0,0,0,0,0,0,0,0,0},{23,2996,280,0,0,0,0,0,0}},
-       {5487, 1814, 23, 35, 1982, 55, 3781, 3784, {15351, 15357, 15368, 15181, 15378, 15201, 15212}, {15387, 15391, 15395, 15233, 15237, 15241, 15245}, {2090, 2463, 15399, 2465, 2090, 5695, 2463}, {15401, 15411, 15422, 15429, 15438, 15444, 15450, 15458, 15466, 15477, 15487, 15496, 0}, {15505, 15259, 15514, 15520, 15283, 2785, 15288, 15295, 15527, 15311, 15319, 15327, 0}, {2838, 2842, 15537, 2851, 15339, 2855, 2859, 15343, 2867, 2871, 2875, 15347, 0}, {2838, 2842, 15537, 2851, 15339, 2855, 2859, 15343, 2867, 2871, 2875, 15347, 0}, 0, 0, 239, 241, {1814,1857,1301,0,0,0,0,0,0,0,0,0,0,0},{5487,0,0,0,0,0,0,0},{35,3007,274,0,0,0,0,0,0,0,0,0},{23,2996,280,0,0,0,0,0,0}},
-       {5487, 1814, 23, 35, 1982, 55, 15541, 15545, {15549, 15556, 15564, 15572, 15581, 15591, 15598}, {2731, 8231, 2737, 15607, 2743, 15610, 2749}, {2090, 2463, 2752, 3872, 2752, 4134, 2090}, {15613, 15622, 15632, 2775, 10536, 15638, 15644, 15650, 2802, 2812, 2820, 10548, 0}, {15613, 15622, 15632, 2775, 10536, 15638, 15644, 15650, 2802, 2812, 2820, 10548, 0}, {2838, 2842, 3928, 2851, 10536, 2855, 2859, 2863, 2867, 2871, 2875, 10561, 0}, {2838, 2842, 3928, 2851, 10536, 2855, 2859, 2863, 2867, 2871, 2875, 10561, 0}, 0, 0, 239, 241, {1814,1857,1301,15659,0,0,0,0,0,0,0,0,0,0},{5487,0,0,0,0,0,0,0},{35,3007,274,0,0,0,0,0,0,0,0,0},{23,2996,280,0,0,0,0,0,0}},
-       {15671, 2647, 1394, 1377, 1982, 15703, 15709, 15725, {15747, 15763, 15788, 15816, 15844, 15872, 15900}, {15919, 15929, 15939, 15949, 15959, 15969, 15979}, {15989, 15993, 15997, 15993, 16001, 16005, 16009}, {16013, 16035, 16063, 16079, 16098, 16114, 16133, 16149, 16171, 16202, 16230, 16255, 0}, {16013, 16035, 16063, 16079, 16098, 16114, 16133, 16149, 16171, 16202, 16230, 16255, 0}, {16283, 16293, 16303, 16313, 16323, 16333, 16343, 16353, 16363, 16373, 16383, 16393, 0}, {16283, 16293, 16303, 16313, 16323, 16333, 16343, 16353, 16363, 16373, 16383, 16393, 0}, 0, 1, 763, 241, {2647,1336,2903,14,1301,0,0,0,0,0,0,0,0,0},{15671,0,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {1960, 2351, 280, 274, 1982, 2362, 16403, 16408, {5890, 16413, 16424, 16434, 16444, 16454, 16468}, {5976, 5980, 16480, 16485, 16489, 16494, 16499}, {2090, 2463, 2465, 2463, 5695, 2469, 2471}, {2473, 2480, 4876, 6032, 4887, 2504, 2509, 2514, 2521, 2531, 2539, 6076, 0}, {2473, 2480, 4876, 6032, 4887, 2504, 2509, 2514, 2521, 2531, 2539, 6076, 0}, {2557, 2561, 2565, 2569, 4887, 2573, 2577, 2581, 2585, 2589, 2593, 6106, 0}, {2557, 2561, 2565, 2569, 4887, 2573, 2577, 2581, 2585, 2589, 2593, 6106, 0}, 2, 1, 2601, 241, {2351,1327,1301,0,0,0,0,0,0,0,0,0,0,0},{1960,0,0,0,0,0,0,0},{274,4983,0,0,0,0,0,0,0,0,0,0},{280,6438,0,0,0,0,0,0,0}},
-       {5487, 2351, 280, 274, 44, 55, 16503, 16531, {16553, 16572, 16591, 16613, 16632, 16666, 16691}, {16710, 16721, 16732, 16746, 16757, 16768, 16785}, {16796, 16800, 16807, 16814, 16821, 16828, 16835}, {16839, 16855, 16871, 16887, 16906, 16913, 16923, 16939, 16955, 16977, 16999, 17018, 0}, {16839, 16855, 16871, 16887, 16906, 16913, 16923, 16939, 16955, 16977, 16999, 17018, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 0, 2601, 241, {2351,1327,2312,2903,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,1928,1920,0,0,0,0,0,0,0,0},{280,1394,1948,1937,0,0,0,0,0}},
-       {17040, 243, 280, 274, 1982, 17065, 17079, 17082, {17085, 17094, 17103, 17113, 17123, 17133, 17145}, {17153, 17158, 17162, 17166, 17170, 17175, 17180}, {17184, 2465, 2465, 9681, 17184, 17187, 2090}, {17190, 17197, 17202, 2775, 17208, 17214, 17221, 17227, 17235, 17245, 17253, 17262, 0}, {17190, 17197, 17202, 2775, 17208, 17214, 17221, 17227, 17235, 17245, 17253, 17262, 0}, {2838, 17272, 3928, 2851, 17276, 17280, 17285, 17289, 17293, 17297, 2875, 17301, 0}, {2838, 17272, 3928, 2851, 17276, 17280, 17285, 17289, 17293, 17297, 2875, 17301, 0}, 0, 0, 239, 241, {243,1301,17306,7084,2987,0,0,0,0,0,0,0,0,0},{17040,17315,9942,0,0,0,0,0},{274,3007,1377,35,0,0,0,0,0,0,0,0},{280,2996,1394,23,0,0,0,0,0}},
-       {17334, 2647, 280, 274, 1982, 17352, 17366, 17371, {17376, 17388, 17399, 17413, 17425, 17435, 17445}, {17456, 17461, 17466, 17471, 17476, 17481, 17486}, {2090, 4134, 2463, 6229, 2752, 15399, 2471}, {17491, 17508, 17521, 17535, 17548, 17561, 17574, 17588, 17600, 17614, 17628, 17642, 0}, {17491, 17508, 17521, 17535, 17548, 17561, 17574, 17588, 17600, 17614, 17628, 17642, 0}, {17655, 17662, 17667, 17672, 17676, 17681, 17686, 17691, 17696, 17703, 17708, 17714, 0}, {17655, 17662, 17667, 17672, 17676, 17681, 17686, 17691, 17696, 17703, 17708, 17714, 0}, 2, 1, 763, 241, {2647,1336,2903,1301,0,0,0,0,0,0,0,0,0,0},{17334,0,0,0,0,0,0,0},{274,1377,4983,0,0,0,0,0,0,0,0,0},{280,1394,6438,0,0,0,0,0,0}},
-       {3732, 243, 280, 274, 1982, 55, 946, 951, {17719, 17733, 17743, 17754, 17768, 17779, 17790}, {17803, 17808, 17813, 17820, 17826, 17832, 17838}, {2752, 2471, 2463, 7414, 2752, 12319, 2090}, {17843, 17851, 17859, 17866, 17875, 17885, 17895, 17901, 17909, 17924, 17942, 17950, 0}, {17843, 17851, 17859, 17866, 17875, 17885, 17895, 17901, 17909, 17924, 17942, 17950, 0}, {17958, 17962, 17859, 17968, 17972, 17977, 17895, 17983, 17988, 17995, 18002, 18007, 0}, {17958, 17962, 17859, 17968, 17972, 17977, 17895, 17983, 17988, 17995, 18002, 18007, 0}, 2, 1, 239, 241, {243,14,1320,2903,1301,0,0,0,0,0,0,0,0,0},{3732,5487,9942,9931,0,0,0,0},{274,1377,0,0,0,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {5487, 243, 1394, 1377, 1982, 55, 18012, 18015, {18019, 18024, 10453, 10460, 18030, 18037, 10477}, {18044, 18048, 10491, 10495, 18052, 10503, 10507}, {12319, 14531, 2090, 10511, 4419, 4132, 2090}, {10513, 10521, 18056, 2775, 10536, 2855, 18060, 18066, 2802, 2812, 2820, 18071, 0}, {10513, 10521, 18056, 2775, 10536, 2855, 18060, 18066, 2802, 2812, 2820, 18071, 0}, {2838, 2842, 18056, 2851, 10536, 2855, 2859, 18066, 2867, 2871, 2875, 15347, 0}, {2838, 2842, 18056, 2851, 10536, 2855, 2859, 18066, 2867, 2871, 2875, 15347, 0}, 0, 1, 239, 241, {243,14,1301,0,0,0,0,0,0,0,0,0,0,0},{5487,0,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {18080, 2647, 1394, 1377, 1982, 4765, 0, 0, {18098, 18113, 18130, 18147, 18162, 18179, 18188}, {18199, 18205, 18211, 18217, 18223, 18229, 18235}, {6555, 0, 0, 6561, 6563, 6565, 6567}, {18241, 18254, 18265, 18278, 18289, 18300, 18313, 18324, 18335, 18352, 18363, 18376, 0}, {18241, 18395, 18265, 18278, 18289, 18300, 18313, 18324, 18335, 18352, 18363, 18376, 0}, {18406, 18414, 18422, 18430, 18438, 18446, 18454, 18462, 18470, 18478, 18486, 18494, 0}, {18406, 18414, 18422, 18430, 18438, 18446, 18454, 18462, 18470, 18478, 18486, 18494, 0}, 0, 0, 763, 241, {2647,1336,2903,14,1301,0,0,0,0,0,0,0,0,0},{18080,18504,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {18523, 1336, 1394, 1377, 18543, 4765, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 1, 763, 241, {1336,1301,0,0,0,0,0,0,0,0,0,0,0,0},{18523,0,0,0,0,0,0,0},{1377,0,0,0,0,0,0,0,0,0,0,0},{1394,0,0,0,0,0,0,0,0}},
-       {3744, 3764, 2996, 3007, 44, 3773, 18559, 18567, {18575, 18584, 18593, 18601, 18610, 18619, 18626}, {18635, 18638, 18641, 18644, 18647, 18651, 18654}, {6557, 6559, 6561, 6563, 12319, 14531, 6555}, {10513, 10521, 18657, 18663, 10536, 2785, 18060, 18670, 15302, 18677, 15319, 18684, 0}, {10513, 10521, 18657, 18663, 10536, 2785, 18060, 18670, 15302, 18677, 15319, 18684, 0}, {2838, 2842, 18056, 2851, 10536, 2855, 2859, 18692, 2867, 2871, 2875, 10561, 0}, {2838, 2842, 18056, 2851, 10536, 2855, 2859, 18692, 2867, 2871, 2875, 10561, 0}, 0, 0, 239, 241, {3764,3940,3947,3956,1857,1301,3967,0,0,0,0,0,0,0},{3744,3977,254,3991,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {18696, 18714, 280, 274, 1982, 18725, 0, 0, {18732, 18747, 18762, 18777, 18794, 18811, 18820}, {18831, 18838, 18845, 18852, 18859, 18866, 18873}, {18880, 18883, 8545, 8548, 8542, 18886, 18889}, {12768, 12779, 8579, 12792, 8601, 12803, 12810, 8626, 12817, 12832, 12845, 12856, 0}, {12768, 12779, 8579, 12792, 8601, 12803, 12810, 8626, 12817, 12832, 12845, 12856, 0}, {12869, 12876, 12883, 12890, 8601, 12803, 12810, 12897, 12904, 12911, 12918, 12925, 0}, {12869, 12876, 12883, 12890, 8601, 12803, 12810, 12897, 12904, 12911, 12918, 12925, 0}, 0, 0, 239, 241, {18714,1336,2903,14,1301,0,0,0,0,0,0,0,0,0},{18696,3732,5487,0,0,0,0,0},{274,1377,0,0,0,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {5487, 1327, 6438, 4983, 44, 55, 18892, 18920, {18942, 18961, 18980, 19005, 19024, 19058, 19083}, {19102, 19112, 19122, 19138, 19148, 19173, 19189}, {19199, 19203, 19210, 19214, 19221, 19228, 19235}, {19239, 19267, 19301, 19317, 19336, 19343, 19353, 19369, 19385, 19416, 19438, 19460, 0}, {19239, 19267, 19301, 19317, 19336, 19343, 19353, 19369, 19385, 19416, 19438, 19460, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 1, 2601, 241, {1327,2312,2903,2351,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{4983,2327,19485,19494,0,0,0,0,0,0,0,0},{6438,2343,19502,19514,0,0,0,0,0}},
-       {10012, 1327, 1948, 1928, 44, 55, 19525, 19557, {19589, 19605, 19624, 19646, 19665, 19684, 19712}, {19740, 19748, 19759, 19773, 19784, 19795, 19812}, {19826, 19830, 19837, 19844, 19854, 19861, 19874}, {19881, 19897, 19916, 19929, 19948, 19955, 19965, 19981, 19994, 20010, 20029, 20045, 0}, {19881, 19897, 19916, 19929, 19948, 19955, 19965, 19981, 19994, 20010, 20029, 20045, 0}, {6555, 6557, 6559, 6561, 19948, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 19948, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 0, 2601, 241, {1327,2312,2903,2351,1301,0,0,0,0,0,0,0,0,0},{10012,3732,0,0,0,0,0,0},{1928,1920,1377,274,0,0,0,0,0,0,0,0},{1948,1937,1394,280,0,0,0,0,0}},
-       {5487, 1327, 280, 274, 44, 55, 20061, 20102, {20143, 20162, 20181, 20203, 20222, 20244, 20269}, {20288, 20298, 20308, 20321, 20331, 20344, 20360}, {20370, 20374, 20381, 20388, 20395, 20402, 20409}, {20413, 20441, 20469, 20485, 20504, 20511, 20521, 20537, 20553, 20581, 20603, 20625, 0}, {20413, 20441, 20469, 20485, 20504, 20511, 20521, 20537, 20553, 20581, 20603, 20625, 0}, {20650, 20669, 20469, 20485, 20504, 20511, 20521, 20537, 20688, 20704, 20720, 20730, 0}, {20650, 20669, 20469, 20485, 20504, 20511, 20521, 20537, 20688, 20704, 20720, 20730, 0}, 0, 0, 2601, 241, {1327,2312,2903,2351,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,1928,1920,0,0,0,0,0,0,0,0},{280,1394,1948,1937,0,0,0,0,0}},
-       {5487, 1327, 280, 274, 44, 55, 7865, 20743, {20746, 20765, 20784, 20809, 20828, 20850, 20875}, {20894, 20904, 20914, 20930, 20940, 20953, 20969}, {20979, 20983, 20990, 20994, 21001, 21008, 21015}, {21019, 21041, 21072, 21094, 21113, 21120, 21130, 21146, 21162, 21193, 21215, 21237, 0}, {21019, 21041, 21072, 21094, 21113, 21120, 21130, 21146, 21162, 21193, 21215, 21237, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 0, 2601, 241, {1327,2312,2903,2351,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,1928,1920,0,0,0,0,0,0,0,0},{280,1394,1948,1937,0,0,0,0,0}},
-       {5487, 2351, 280, 274, 1982, 55, 21262, 21287, {21312, 21331, 21353, 21378, 21394, 21416, 21435}, {21445, 21452, 21459, 21466, 21473, 21480, 21487}, {21445, 21452, 21459, 21466, 21473, 21480, 21487}, {21491, 21507, 21532, 21551, 21570, 21577, 21590, 21603, 21622, 21653, 21678, 21700, 0}, {21491, 21507, 21532, 21551, 21570, 21577, 21590, 21725, 21622, 21653, 21678, 21700, 0}, {21744, 21752, 21766, 21780, 21570, 21577, 21590, 21791, 21799, 21813, 21824, 21832, 0}, {21744, 21752, 21766, 21780, 21570, 21577, 21590, 21791, 21799, 21813, 21824, 21832, 0}, 0, 0, 2601, 241, {2351,1327,2312,2903,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,1928,1920,0,0,0,0,0,0,0,0},{280,1394,1948,1937,0,0,0,0,0}},
-       {5487, 1327, 280, 274, 44, 55, 21843, 21874, {21899, 21921, 21943, 21968, 21990, 22015, 22043}, {22065, 22075, 22085, 22098, 22108, 22121, 22137}, {22147, 22151, 22158, 22162, 22169, 22176, 22183}, {22187, 22203, 22228, 22247, 22269, 22276, 22289, 22302, 22321, 22352, 22377, 22396, 0}, {22187, 22203, 22228, 22247, 22269, 22276, 22289, 22302, 22321, 22352, 22377, 22396, 0}, {22421, 22428, 6559, 22444, 22269, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {22421, 22428, 6559, 22444, 22269, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 0, 2601, 241, {1327,2312,2903,2351,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,1928,1920,0,0,0,0,0,0,0,0},{280,1394,1948,1937,0,0,0,0,0}},
-       {5487, 1327, 280, 274, 44, 55, 3781, 3784, {22460, 22479, 22498, 22520, 22539, 22561, 22586}, {22605, 22610, 22618, 22626, 22634, 22642, 22650}, {22661, 22665, 22672, 22679, 22686, 22693, 22700}, {22704, 22720, 22745, 22764, 22786, 22793, 22806, 22819, 22838, 22866, 22891, 22913, 0}, {22704, 22720, 22745, 22764, 22786, 22793, 22806, 22819, 22838, 22866, 22891, 22913, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 0, 2601, 241, {1327,2312,2903,2351,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,1928,1920,0,0,0,0,0,0,0,0},{280,1394,1948,1937,0,0,0,0,0}},
-       {5487, 1327, 6438, 4983, 44, 55, 22938, 22957, {22988, 23013, 23044, 23072, 23097, 23125, 23159}, {23184, 23203, 23228, 23244, 23263, 23282, 23301}, {23311, 23318, 23325, 23332, 23339, 23352, 23359}, {23363, 23382, 23410, 23438, 23463, 23476, 23492, 23505, 23530, 23567, 23595, 23617, 0}, {23363, 23382, 23410, 23438, 23463, 23476, 23492, 23505, 23530, 23567, 23595, 23617, 0}, {23642, 23652, 23671, 23687, 23463, 23476, 23492, 23703, 23710, 23735, 23751, 23761, 0}, {23642, 23652, 23671, 23687, 23463, 23476, 23492, 23703, 23710, 23735, 23751, 23761, 0}, 0, 0, 2601, 241, {1327,2312,2903,2351,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{4983,2327,19485,19494,0,0,0,0,0,0,0,0},{6438,2343,19502,19514,0,0,0,0,0}},
-       {23774, 2351, 1937, 1920, 23793, 55, 23801, 23829, {23851, 23870, 23889, 23914, 23933, 23967, 23992}, {24011, 19112, 19122, 19138, 24021, 24046, 19189}, {0, 0, 0, 0, 0, 0, 0}, {24062, 24087, 24118, 24134, 19336, 19343, 19353, 24153, 24169, 24200, 24222, 24244, 0}, {24062, 24087, 24118, 24134, 19336, 19343, 19353, 24153, 24169, 24200, 24222, 24244, 0}, {24269, 24282, 24118, 24134, 19336, 19343, 19353, 24301, 24308, 24324, 24340, 24350, 0}, {24269, 24282, 24118, 24134, 19336, 19343, 19353, 24301, 24308, 24324, 24340, 24350, 0}, 0, 0, 2601, 241, {2351,0,0,0,0,0,0,0,0,0,0,0,0,0},{23774,0,0,0,0,0,0,0},{1920,1928,0,0,0,0,0,0,0,0,0,0},{1937,1948,0,0,0,0,0,0,0}},
-       {5487, 2351, 280, 274, 44, 55, 3781, 3784, {16553, 16572, 24363, 16613, 24385, 16666, 16691}, {24407, 24417, 24427, 24440, 24450, 24463, 24479}, {16796, 16800, 16807, 16814, 16821, 16828, 16835}, {24489, 24514, 16871, 24545, 24564, 16913, 24571, 24584, 24600, 24625, 24647, 24675, 0}, {24489, 24514, 16871, 24545, 24564, 16913, 24571, 24584, 24600, 24625, 24647, 24675, 0}, {24697, 24710, 16871, 24729, 24564, 16913, 24571, 24745, 24752, 6573, 24774, 24796, 0}, {24697, 24710, 16871, 24729, 24564, 16913, 24571, 24745, 24752, 6573, 24774, 24796, 0}, 0, 0, 2601, 241, {2351,1327,2312,2903,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,1928,1920,0,0,0,0,0,0,0,0},{280,1394,1948,1937,0,0,0,0,0}},
-       {24812, 24833, 1394, 1377, 24842, 4765, 0, 0, {24859, 24866, 24877, 24890, 24903, 24914, 24927}, {24938, 24943, 24948, 24953, 24958, 24963, 24968}, {0, 0, 0, 0, 0, 0, 0}, {24973, 24988, 24997, 25004, 25017, 25024, 25035, 25044, 25053, 25060, 25071, 25082, 0}, {24973, 24988, 24997, 25004, 25017, 25024, 25035, 25044, 25053, 25060, 25071, 25082, 0}, {25093, 25100, 25107, 25114, 25121, 25128, 25135, 25142, 25149, 25156, 25163, 25170, 0}, {25093, 25100, 25107, 25114, 25121, 25128, 25135, 25142, 25149, 25156, 25163, 25170, 0}, 0, 0, 763, 241, {24833,1301,0,0,0,0,0,0,0,0,0,0,0,0},{24812,0,0,0,0,0,0,0},{1377,0,0,0,0,0,0,0,0,0,0,0},{1394,0,0,0,0,0,0,0,0}},
-       {25177, 1444, 280, 274, 25220, 25227, 25253, 25275, {25300, 25328, 25356, 25393, 25424, 25458, 25483}, {25517, 25533, 25549, 25574, 25593, 25615, 25634}, {25656, 25663, 25670, 25677, 25684, 25691, 25695}, {25705, 25739, 25776, 25810, 25844, 25875, 25912, 25949, 25989, 26023, 26057, 26106, 0}, {25705, 25739, 25776, 25810, 25844, 25875, 25912, 25949, 25989, 26023, 26057, 26106, 0}, {26155, 26168, 26181, 26194, 26207, 26220, 26233, 26246, 26259, 26272, 26288, 26304, 0}, {26155, 26168, 26181, 26194, 26207, 26220, 26233, 26246, 26259, 26272, 26288, 26304, 0}, 0, 0, 239, 241, {1444,1796,1805,1825,1301,1814,1836,1843,1850,0,0,0,0,0},{25177,26320,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
-       {5487, 243, 280, 274, 1982, 55, 0, 0, {26368, 26377, 26387, 26399, 26412, 26421, 26433}, {26445, 26449, 26454, 26458, 26462, 26466, 26470}, {2090, 2471, 2463, 2463, 14531, 6229, 2090}, {26474, 26481, 26490, 26497, 2781, 26504, 26512, 26523, 26528, 26533, 26540, 26549, 0}, {26474, 26481, 26490, 26497, 2781, 26504, 26557, 26523, 26528, 26533, 26540, 26549, 0}, {26567, 26571, 26454, 26576, 2781, 26580, 26584, 26523, 26528, 26588, 26592, 26597, 0}, {26567, 26571, 26454, 26576, 2781, 26580, 26584, 26523, 26528, 26588, 26592, 26597, 0}, 2, 0, 239, 241, {243,14,1320,2903,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,35,3007,0,0,0,0,0,0,0,0},{280,1394,23,2996,0,0,0,0,0}},
-       {3732, 1301, 280, 26602, 26610, 26645, 26681, 26697, {26713, 26747, 26778, 26809, 26831, 26874, 26902}, {26927, 26934, 26938, 26942, 26949, 26959, 26966}, {0, 0, 0, 0, 0, 0, 0}, {26970, 26983, 27002, 27015, 27028, 27041, 27060, 27079, 27092, 27108, 27121, 27146, 0}, {26970, 26983, 27002, 27015, 27028, 27041, 27060, 27079, 27092, 27108, 27121, 27146, 0}, {27159, 27163, 27167, 27171, 27175, 27179, 27183, 27187, 27191, 27195, 27202, 27209, 0}, {27159, 27163, 27167, 27171, 27175, 27179, 27183, 27187, 27191, 27195, 27202, 27209, 0}, 0, 0, 2601, 241, {1301,0,0,0,0,0,0,0,0,0,0,0,0,0},{3732,9954,0,0,0,0,0,0},{26602,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
-       {5487, 243, 280, 26602, 1982, 55, 27216, 27241, {27266, 27291, 27310, 27338, 27357, 27382, 27401}, {27423, 27431, 27436, 27441, 27446, 27454, 27462}, {0, 0, 0, 0, 0, 0, 0}, {27467, 27486, 27502, 27515, 27528, 27550, 27569, 27591, 27607, 27623, 27636, 27652, 0}, {27467, 27486, 27502, 27515, 27528, 27550, 27569, 27591, 27607, 27623, 27636, 27652, 0}, {27668, 27677, 27686, 27698, 27708, 27717, 27729, 27738, 27747, 27756, 27765, 27774, 0}, {27668, 27677, 27686, 27698, 27708, 27717, 27729, 27738, 27747, 27756, 27765, 27774, 0}, 0, 0, 239, 241, {243,1301,0,0,0,0,0,0,0,0,0,0,0,0},{5487,0,0,0,0,0,0,0},{26602,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
-       {4005, 243, 1394, 1377, 4034, 55, 946, 951, {27783, 27791, 27796, 27803, 27813, 27819, 27826}, {27834, 27838, 3928, 27842, 27847, 27851, 27855}, {2752, 2471, 2463, 2463, 4130, 4134, 2090}, {27860, 27868, 6248, 27877, 27883, 27888, 27894, 6282, 27900, 27909, 27917, 27926, 0}, {27860, 27868, 6248, 27877, 27883, 27888, 27894, 6282, 27900, 27909, 27917, 27926, 0}, {27935, 2842, 3928, 27939, 2781, 27943, 27948, 18692, 17293, 27952, 2875, 3936, 0}, {27935, 2842, 3928, 27939, 2781, 27943, 27948, 18692, 17293, 27952, 2875, 3936, 0}, 2, 1, 239, 241, {243,14,1312,1320,1327,1336,1301,0,0,0,0,0,0,0},{4005,4231,4258,0,0,0,0,0},{1377,274,35,1382,0,0,0,0,0,0,0,0},{1394,280,23,1402,0,0,0,0,0}},
-       {5487, 2351, 280, 274, 44, 55, 27956, 27968, {27980, 16572, 28008, 16613, 24385, 16666, 16691}, {24407, 24417, 24427, 24440, 24450, 24463, 24479}, {0, 0, 0, 0, 0, 0, 0}, {24489, 24514, 16871, 24545, 24564, 16913, 24571, 28027, 28043, 28071, 24647, 24675, 0}, {24489, 24514, 16871, 24545, 24564, 16913, 24571, 28027, 28043, 28071, 24647, 24675, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 0, 2601, 241, {2351,1327,2312,2903,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,1928,1920,0,0,0,0,0,0,0,0},{280,1394,1948,1937,0,0,0,0,0}},
-       {28093, 1301, 2996, 3007, 28141, 3773, 28151, 28163, {28172, 28188, 28204, 28232, 28248, 28291, 28316}, {28344, 28354, 28364, 28371, 28381, 28397, 28410}, {28420, 28424, 28428, 28432, 28436, 28449, 28456}, {28463, 28482, 28507, 28526, 28551, 28564, 28577, 28590, 28612, 28646, 28671, 28699, 0}, {28463, 28482, 28507, 28526, 28551, 28564, 28577, 28590, 28612, 28646, 28671, 28699, 0}, {28727, 28734, 28744, 28526, 28551, 28564, 28577, 28757, 28767, 28780, 28790, 28803, 0}, {28727, 28734, 28744, 28526, 28551, 28564, 28577, 28757, 28767, 28780, 28790, 28803, 0}, 0, 1, 2601, 241, {1301,1814,1857,243,14,0,0,0,0,0,0,0,0,0},{28093,0,0,0,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {28816, 2987, 2996, 3007, 1982, 28848, 28862, 28872, {28885, 28895, 28902, 28915, 28925, 28935, 28945}, {28885, 28895, 28955, 28915, 28925, 28935, 28945}, {28965, 28969, 28973, 28977, 28981, 28985, 28989}, {28993, 29009, 29025, 29035, 29048, 29055, 29062, 29072, 29085, 29104, 29123, 29139, 0}, {28993, 29009, 29025, 29035, 29048, 29055, 29062, 29072, 29085, 29104, 29123, 29139, 0}, {29155, 29165, 29025, 29175, 29048, 29055, 29062, 29185, 29195, 29205, 29215, 29225, 0}, {29155, 29165, 29025, 29175, 29048, 29055, 29062, 29185, 29195, 29205, 29215, 29225, 0}, 0, 0, 239, 241, {2987,1301,0,0,0,0,0,0,0,0,0,0,0,0},{28816,0,0,0,0,0,0,0},{3007,0,0,0,0,0,0,0,0,0,0,0},{2996,0,0,0,0,0,0,0,0}},
-       {3991, 2351, 1394, 1377, 44, 55, 29235, 29245, {29258, 29265, 29271, 29278, 29284, 29290, 29298}, {29308, 29312, 29316, 29320, 29324, 29328, 29332}, {12319, 12319, 12319, 12319, 12319, 12319, 12319}, {29338, 29347, 29356, 29361, 29367, 29373, 29379, 29386, 29392, 29401, 29410, 29418, 0}, {29338, 29347, 29356, 29361, 29367, 29373, 29379, 29386, 29392, 29401, 29410, 29418, 0}, {29427, 29431, 3928, 29435, 3897, 29439, 29443, 29447, 29452, 29456, 29462, 29466, 0}, {29427, 29431, 3928, 29435, 3897, 29439, 29443, 29447, 29452, 29456, 29462, 29466, 0}, 0, 0, 2601, 241, {2351,1327,1301,0,0,0,0,0,0,0,0,0,0,0},{3991,254,0,0,0,0,0,0},{1377,274,29470,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {3744, 3764, 2996, 3007, 29476, 3773, 29486, 29527, {29568, 29587, 29606, 29631, 29650, 29672, 29697}, {29716, 24417, 29726, 24440, 29742, 24463, 24479}, {29755, 29759, 29763, 29767, 29771, 29775, 29779}, {16839, 29783, 16871, 29811, 24564, 29830, 16923, 16939, 29840, 29871, 29893, 29918, 0}, {16839, 29783, 16871, 29811, 24564, 29830, 16923, 16939, 29840, 29871, 29893, 29918, 0}, {29943, 29950, 16871, 29960, 24564, 29830, 29976, 29989, 29996, 30012, 30028, 30041, 0}, {29943, 29950, 16871, 29960, 24564, 29830, 29976, 29989, 29996, 30012, 30028, 30041, 0}, 0, 0, 239, 241, {3764,3940,3947,3956,1857,1301,3967,0,0,0,0,0,0,0},{3744,3977,254,3991,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {243, 14, 2996, 3007, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {30054, 30061, 30070, 30085, 30096, 30105, 30112, 30119, 30126, 30137, 30150, 30163, 0}, {30054, 30061, 30070, 30085, 30096, 30105, 30112, 30119, 30126, 30137, 30150, 30163, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 6, 239, 241, {14,243,0,0,0,0,0,0,0,0,0,0,0,0},{243,1,254,30168,0,0,0,0},{3007,1377,0,0,0,0,0,0,0,0,0,0},{2996,1394,0,0,0,0,0,0,0}},
-       {3744, 3764, 2996, 3007, 44, 3773, 3781, 3784, {30186, 30193, 27796, 30199, 30210, 30218, 30227}, {30234, 27838, 3928, 30238, 30242, 30246, 10507}, {2471, 2471, 2463, 2463, 5695, 15399, 2090}, {30250, 30256, 30264, 27877, 30270, 30275, 30281, 6282, 30287, 30297, 30305, 30315, 0}, {30250, 30256, 30264, 27877, 30270, 30275, 30281, 6282, 30287, 30297, 30305, 30315, 0}, {30325, 30329, 3928, 27939, 3897, 30333, 30337, 18692, 17293, 2871, 30341, 15347, 0}, {30325, 30329, 3928, 27939, 3897, 30333, 30337, 18692, 17293, 2871, 30341, 15347, 0}, 0, 0, 239, 241, {3764,3940,3947,3956,1857,1301,3967,0,0,0,0,0,0,0},{3744,3977,254,3991,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {3744, 2987, 2996, 3007, 44, 3773, 0, 0, {30345, 30352, 30360, 30367, 30374, 30382, 30390}, {30397, 30400, 30403, 30406, 30409, 30412, 30415}, {2471, 2471, 2465, 2471, 12319, 4132, 12319}, {30418, 30426, 30436, 30442, 30450, 30455, 30460, 30465, 30472, 18677, 30480, 30488, 0}, {30418, 30426, 30436, 30442, 30450, 30455, 30460, 30465, 30472, 18677, 30480, 30488, 0}, {2838, 30496, 3928, 30500, 3897, 29439, 29443, 30504, 3868, 2871, 30508, 15347, 0}, {2838, 30496, 3928, 30500, 3897, 29439, 29443, 30504, 3868, 2871, 30508, 15347, 0}, 0, 0, 239, 241, {2987,1320,14,243,1857,1301,3967,0,0,0,0,0,0,0},{3744,3977,254,3991,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {3744, 2987, 2996, 3007, 44, 3773, 30512, 30523, {30533, 30551, 30566, 30588, 30601, 30615, 30632}, {30656, 30664, 30669, 30588, 30601, 30681, 30688}, {0, 0, 0, 0, 0, 0, 0}, {30702, 30724, 30740, 30760, 30774, 30791, 30806, 30823, 30837, 30850, 30869, 30883, 0}, {30702, 30724, 30740, 30760, 30774, 30791, 30806, 30823, 30837, 30850, 30869, 30883, 0}, {30902, 30917, 30926, 30939, 30946, 30956, 30964, 30974, 30981, 30987, 30999, 31006, 0}, {30902, 30917, 30926, 30939, 30946, 30956, 30964, 30974, 30981, 30987, 30999, 31006, 0}, 0, 0, 239, 241, {2987,1320,14,243,1857,1301,3967,0,0,0,0,0,0,0},{3744,3977,254,3991,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {5487, 1814, 23, 35, 1982, 55, 0, 0, {31018, 31026, 14922, 14931, 14940, 31037, 31047}, {15387, 14972, 14976, 14980, 14984, 15241, 31056}, {0, 0, 0, 0, 0, 0, 0}, {31060, 31069, 31079, 31087, 10536, 3901, 31095, 31101, 31110, 31119, 31128, 31137, 0}, {31060, 31069, 31079, 31087, 10536, 3901, 31095, 31101, 31110, 31119, 31128, 31137, 0}, {2838, 2842, 14991, 31146, 10536, 2855, 2859, 18692, 17293, 2871, 31150, 15347, 0}, {2838, 2842, 14991, 31146, 10536, 2855, 2859, 18692, 17293, 2871, 31150, 15347, 0}, 0, 0, 239, 241, {1814,1857,1301,0,0,0,0,0,0,0,0,0,0,0},{5487,0,0,0,0,0,0,0},{35,3007,274,0,0,0,0,0,0,0,0,0},{23,2996,280,0,0,0,0,0,0}},
-       {1960, 2351, 280, 274, 1982, 2362, 31154, 31159, {31164, 31171, 31186, 31200, 31216, 31231, 31247}, {6225, 31262, 2565, 31266, 31270, 31274, 31278}, {2090, 12319, 2463, 2085, 2090, 2465, 12319}, {7172, 7180, 31282, 31289, 31296, 2504, 2509, 31301, 31311, 31322, 31331, 31341, 0}, {7172, 7180, 31282, 31289, 31296, 2504, 2509, 31301, 31311, 31322, 31331, 31341, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 2581, 2585, 2589, 2593, 2597, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 2581, 2585, 2589, 2593, 2597, 0}, 0, 0, 2601, 241, {2351,1327,1301,2603,0,0,0,0,0,0,0,0,0,0},{1960,2614,0,0,0,0,0,0},{274,1377,0,0,0,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {3744, 2987, 2996, 3007, 44, 3773, 31351, 31356, {31361, 31377, 31385, 31393, 31402, 31414, 31424}, {31434, 31440, 31446, 31450, 31454, 31462, 3868}, {0, 0, 0, 0, 0, 0, 0}, {31469, 31482, 31496, 31505, 31511, 31515, 31520, 31528, 15302, 31541, 15319, 15327, 0}, {31469, 31482, 31496, 31505, 31511, 31515, 31520, 31528, 15302, 31541, 15319, 15327, 0}, {31550, 2842, 31554, 15335, 31511, 31558, 2859, 31562, 2867, 31570, 2875, 15347, 0}, {31550, 2842, 31554, 15335, 31511, 31558, 2859, 31562, 2867, 31570, 2875, 15347, 0}, 0, 0, 239, 241, {2987,1320,14,243,1857,1301,3967,0,0,0,0,0,0,0},{3744,3977,254,3991,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {31576, 1444, 1394, 1920, 31600, 31617, 31631, 31638, {31645, 31655, 31665, 31675, 31685, 31695, 31705}, {31715, 31722, 31729, 31736, 31743, 31750, 31757}, {31764, 31768, 31772, 31776, 31780, 31784, 31788}, {31792, 31799, 31806, 31813, 31820, 31827, 31834, 31841, 31848, 31855, 31862, 31872, 0}, {31792, 31799, 31806, 31813, 31820, 31827, 31834, 31841, 31848, 31855, 31862, 31872, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 0, 239, 241, {1444,1796,1805,1825,1301,1814,0,0,0,0,0,0,0,0},{31576,31882,31912,0,0,0,0,0},{1920,1377,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {4748, 243, 280, 274, 1982, 4765, 0, 0, {26445, 27838, 31942, 31949, 31959, 31964, 31971}, {31978, 4108, 31982, 4839, 31987, 31992, 31997}, {4398, 32002, 32005, 32008, 32011, 32014, 32017}, {32020, 32027, 31942, 32038, 32044, 32048, 32057, 32064, 32069, 32078, 8225, 32083, 0}, {32020, 32027, 31942, 32038, 32044, 32048, 32057, 32064, 32069, 32078, 8225, 32083, 0}, {32089, 32093, 32100, 26576, 32044, 32105, 32110, 32064, 32115, 32078, 8225, 32120, 0}, {32089, 32093, 32100, 26576, 32044, 32105, 32110, 32064, 32115, 32078, 8225, 32120, 0}, 2, 1, 239, 241, {243,14,1336,1327,1301,0,0,0,0,0,0,0,0,0},{4748,4974,3732,0,0,0,0,0},{274,1377,4983,4989,4999,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {32124, 243, 280, 274, 1982, 4765, 0, 0, {32152, 32160, 32167, 32175, 32185, 32193, 1007}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {32204, 32212, 1064, 1070, 4887, 32221, 32226, 1093, 1099, 32233, 1116, 32242, 0}, {32204, 32212, 1064, 1070, 4887, 32221, 32226, 1093, 1099, 32233, 1116, 32242, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 2, 1, 239, 241, {243,14,1336,1327,1301,0,0,0,0,0,0,0,0,0},{32124,0,0,0,0,0,0,0},{274,1377,4983,4989,4999,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {4748, 243, 280, 274, 1982, 4765, 32251, 32256, {32261, 32269, 32279, 32289, 32298, 32308, 32316}, {32326, 32330, 32335, 32339, 32343, 32347, 32351}, {2090, 2463, 2752, 2463, 2752, 2469, 2090}, {2754, 2761, 2769, 2775, 2781, 2785, 2790, 32355, 32364, 32375, 32384, 32394, 0}, {2754, 2761, 2769, 2775, 2781, 2785, 2790, 32355, 32364, 32375, 32384, 32394, 0}, {2838, 2842, 2846, 2851, 2781, 2855, 2859, 2863, 2867, 2871, 2875, 2879, 0}, {2838, 2842, 2846, 2851, 2781, 2855, 2859, 2863, 2867, 2871, 2875, 2879, 0}, 0, 0, 239, 241, {243,14,1336,1327,1301,0,0,0,0,0,0,0,0,0},{4748,4974,3732,0,0,0,0,0},{274,1377,4983,4989,4999,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {32404, 32422, 1394, 1377, 32433, 3773, 32449, 32454, {32459, 32484, 32513, 32538, 32551, 32566, 32583}, {32598, 32603, 32608, 32613, 32618, 32623, 8534}, {32628, 32628, 32631, 8545, 8548, 32628, 8545}, {32634, 32653, 32668, 32690, 32710, 32726, 32742, 32756, 32782, 32806, 32823, 32840, 0}, {32634, 32653, 32668, 32690, 32710, 32726, 32742, 32756, 32782, 32806, 32823, 32840, 0}, {32857, 32866, 32875, 32889, 32903, 32915, 32927, 32937, 32953, 32967, 32974, 32981, 0}, {32857, 32866, 32875, 32889, 32903, 32915, 32927, 32937, 32953, 32967, 32974, 32981, 0}, 0, 1, 763, 241, {32422,32988,2903,3947,32997,0,0,0,0,0,0,0,0,0},{32404,33008,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {3744, 3764, 2996, 3007, 44, 3773, 0, 0, {33027, 33039, 33050, 33062, 33074, 33084, 33096}, {33111, 33116, 33121, 33126, 33131, 33136, 33141}, {0, 0, 0, 0, 0, 0, 0}, {33146, 33155, 33167, 33175, 33180, 33190, 33197, 33206, 33213, 33219, 33228, 33239, 0}, {33146, 33155, 33167, 33175, 33180, 33190, 33197, 33206, 33213, 33219, 33228, 33239, 0}, {33247, 33252, 33257, 33262, 33267, 33272, 33277, 33131, 33282, 33287, 33292, 33297, 0}, {33247, 33252, 33257, 33262, 33267, 33272, 33277, 33131, 33282, 33287, 33292, 33297, 0}, 0, 0, 239, 241, {3764,3940,3947,3956,1857,1301,3967,0,0,0,0,0,0,0},{3744,3977,254,3991,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {5487, 243, 280, 274, 1982, 55, 6008, 6013, {33302, 33315, 33323, 33332, 33342, 33352, 33361}, {33373, 33377, 33381, 33385, 33389, 33393, 33397}, {2752, 2471, 2463, 7414, 12319, 5695, 2090}, {33401, 33415, 33426, 33435, 33446, 33458, 33472, 33484, 33497, 33510, 33522, 33535, 0}, {33401, 33415, 33426, 33435, 33446, 33458, 33472, 33484, 33497, 33510, 33522, 33535, 0}, {33549, 33554, 33560, 33566, 33571, 33577, 33583, 33588, 33594, 33599, 18002, 33605, 0}, {33549, 33554, 33560, 33566, 33571, 33577, 33583, 33588, 33594, 33599, 18002, 33605, 0}, 2, 0, 239, 241, {243,14,1320,2903,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,35,3007,0,0,0,0,0,0,0,0},{280,1394,23,2996,0,0,0,0,0}},
+       {289, 308, 323, 331, 336, 352, 359, 371, {383, 396, 417, 432, 443, 462, 473}, {486, 491, 496, 501, 506, 511, 516}, {521, 524, 527, 530, 533, 524, 530}, {536, 549, 566, 575, 586, 593, 600, 607, 620, 639, 656, 671, 0}, {536, 549, 566, 575, 586, 593, 600, 607, 620, 639, 656, 671, 0}, {688, 694, 566, 704, 586, 593, 600, 712, 720, 730, 738, 748, 0}, {688, 694, 566, 704, 586, 593, 600, 712, 720, 730, 738, 748, 0}, 2, 1, 756, 241, {308,758,774,790,0,0,0,0,0,0,0,0,0,0},{289,807,825,850,0,0,0,0},{874,886,0,0,0,0,0,0,0,0,0,0},{897,912,0,0,0,0,0,0,0}},
+       {926, 243, 323, 331, 949, 352, 964, 969, {974, 983, 991, 999, 1008, 1015, 1025}, {1034, 1037, 1040, 1043, 1046, 1049, 1052}, {1055, 1057, 1059, 1061, 1063, 1065, 1067}, {1069, 1075, 1082, 1088, 1094, 1099, 1104, 1111, 1117, 1126, 1134, 1143, 0}, {1152, 1161, 1171, 1180, 1190, 1198, 1206, 1216, 1226, 1238, 1250, 1262, 0}, {1274, 1279, 1082, 1285, 1094, 1099, 1290, 1295, 1299, 1304, 1309, 1314, 0}, {1274, 1279, 1082, 1285, 1094, 1099, 1290, 1295, 1299, 1304, 1309, 1314, 0}, 2, 1, 239, 241, {243,14,1319,1330,1338,1345,1354,0,0,0,0,0,0,0},{1363,1389,1405,0,0,0,0,0},{274,331,1421,0,0,0,0,0,0,0,0,0},{280,323,1433,0,0,0,0,0,0}},
+       {1453, 1475, 323, 331, 1484, 1500, 1513, 1520, {1527, 1537, 1547, 1557, 1567, 1577, 1587}, {1597, 1604, 1611, 1618, 1625, 1632, 1639}, {1646, 1650, 1654, 1658, 1662, 1666, 1670}, {1674, 1681, 1688, 1695, 1702, 1709, 1716, 1723, 1730, 1737, 1744, 1754, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {1674, 1681, 1688, 1695, 1702, 1709, 1716, 1723, 1730, 1737, 1744, 1754, 0}, {1674, 1681, 1688, 1695, 1702, 1709, 1716, 1723, 1730, 1737, 1744, 1754, 0}, 0, 0, 239, 241, {1475,1827,1836,1319,1845,1856,1867,1874,1881,1888,0,0,0,0},{1453,1897,1924,0,0,0,0,0},{331,274,1951,1959,0,0,0,0,0,0,0,0},{323,280,1968,1979,0,0,0,0,0}},
+       {1453, 1475, 323, 331, 1484, 1500, 1513, 1520, {1527, 1537, 1547, 1557, 1567, 1577, 1587}, {1597, 1604, 1611, 1618, 1625, 1632, 1639}, {1646, 1650, 1654, 1658, 1662, 1666, 1670}, {1674, 1681, 1688, 1695, 1702, 1709, 1716, 1723, 1730, 1737, 1744, 1754, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {1674, 1681, 1688, 1695, 1702, 1709, 1716, 1723, 1730, 1737, 1744, 1754, 0}, {1674, 1681, 1688, 1695, 1702, 1709, 1716, 1723, 1730, 1737, 1744, 1754, 0}, 0, 0, 239, 241, {1475,1827,1836,1319,1845,1856,1867,1874,1881,1888,0,0,0,0},{1453,1897,1924,0,0,0,0,0},{331,274,1951,1959,0,0,0,0,0,0,0,0},{323,280,1968,1979,0,0,0,0,0}},
+       {1991, 2004, 323, 331, 2015, 2025, 2033, 2038, {2043, 2051, 2061, 2069, 2077, 2086, 2093}, {2100, 2103, 2106, 2110, 2113, 2117, 2121}, {2124, 2126, 2128, 2131, 2133, 2126, 2131}, {2136, 2142, 2148, 2156, 2162, 2170, 2178, 2188, 2194, 2202, 2210, 2219, 0}, {2228, 2234, 2241, 2249, 2255, 2263, 2271, 2281, 2194, 2287, 2295, 2305, 0}, {2314, 2317, 2320, 2323, 2326, 2329, 2332, 2335, 2338, 2341, 2345, 2349, 0}, {2314, 2317, 2320, 2323, 2326, 2329, 2332, 2335, 2338, 2341, 2345, 2349, 0}, 2, 1, 2353, 241, {2356,2365,1319,1827,1867,0,0,0,0,0,0,0,0,0},{1991,0,0,0,0,0,0,0},{331,274,2372,2380,0,0,0,0,0,0,0,0},{323,280,2385,2396,0,0,0,0,0}},
+       {1991, 2404, 280, 274, 2015, 2025, 2415, 2420, {2425, 2433, 2440, 2448, 2455, 2463, 2470}, {2478, 2483, 2487, 2491, 2495, 2499, 2503}, {2131, 2508, 2510, 2512, 2510, 2514, 2516}, {2518, 2525, 2533, 2539, 2545, 2549, 2554, 2559, 2566, 2576, 2584, 2593, 0}, {2518, 2525, 2533, 2539, 2545, 2549, 2554, 2559, 2566, 2576, 2584, 2593, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 2626, 2630, 2634, 2638, 2642, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 2626, 2630, 2634, 2638, 2642, 0}, 2, 1, 2646, 241, {2404,1345,1319,2648,0,0,0,0,0,0,0,0,0,0},{1991,2659,0,0,0,0,0,0},{274,331,0,0,0,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {2673, 2692, 280, 274, 2015, 2025, 2703, 2709, {2716, 2724, 2731, 2740, 2749, 2760, 2768}, {2776, 2779, 2782, 2785, 2788, 2791, 2794}, {2131, 2508, 2797, 2508, 2797, 2514, 2131}, {2799, 2806, 2814, 2820, 2826, 2830, 2835, 2840, 2847, 2857, 2865, 2874, 0}, {2799, 2806, 2814, 2820, 2826, 2830, 2835, 2840, 2847, 2857, 2865, 2874, 0}, {2883, 2887, 2891, 2896, 2826, 2900, 2904, 2908, 2912, 2916, 2920, 2924, 0}, {2883, 2887, 2891, 2896, 2826, 2900, 2904, 2908, 2912, 2916, 2920, 2924, 0}, 2, 1, 756, 241, {2692,2928,1354,2940,2948,2356,1319,0,0,0,0,0,0,0},{2673,1991,2955,0,0,0,0,0},{274,331,2380,2967,0,0,0,0,0,0,0,0},{280,2978,2992,3007,0,0,0,0,0}},
+       {3014, 3032, 3041, 3052, 2015, 352, 3060, 3067, {3074, 3089, 3104, 3115, 3130, 3143, 3162}, {3177, 3184, 3191, 3198, 3205, 3212, 3219}, {3226, 3229, 3232, 3232, 3235, 3235, 3238}, {3241, 3262, 3285, 3300, 3317, 3328, 3343, 3358, 3377, 3400, 3419, 3438, 0}, {3459, 3480, 3503, 3518, 3535, 3546, 3561, 3576, 3595, 3618, 3637, 3656, 0}, {3677, 3684, 3691, 3698, 3705, 3712, 3721, 3730, 3737, 3744, 3751, 3758, 0}, {3677, 3684, 3691, 3698, 3705, 3712, 3721, 3730, 3737, 3744, 3751, 3758, 0}, 2, 1, 239, 241, {3032,243,1338,14,3765,1319,0,0,0,0,0,0,0,0},{3014,3777,0,0,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {3789, 3808, 3041, 3052, 2015, 3817, 3824, 3827, {3830, 3837, 3844, 3852, 3862, 3871, 3878}, {3887, 3891, 3895, 3899, 3903, 3907, 3911}, {2131, 2508, 2510, 3915, 2510, 2514, 2131}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, 0, 0, 239, 241, {3808,3983,3990,3999,1888,1319,4010,0,0,0,0,0,0,0},{4020,4040,254,4054,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {4068, 243, 323, 331, 949, 4096, 964, 969, {4108, 4116, 4122, 4129, 4140, 4147, 4155}, {4163, 4167, 2610, 4171, 4176, 4180, 4184}, {2797, 2516, 2508, 4189, 4191, 4193, 2131}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, 0, 1, 239, 241, {243,14,1330,1338,1345,1354,1319,2928,0,0,0,0,0,0},{4290,4319,4346,0,0,0,0,0},{331,274,1421,0,0,0,0,0,0,0,0,0},{323,280,1433,0,0,0,0,0,0}},
+       {1991, 2356, 323, 331, 2015, 4368, 4378, 4382, {4386, 4398, 4410, 4420, 4434, 4444, 4456}, {4467, 4470, 4473, 4476, 4479, 4482, 4485}, {2131, 2508, 2510, 4488, 2510, 2126, 2516}, {4490, 4499, 4508, 4518, 4527, 4536, 4545, 4555, 4562, 4570, 4578, 4588, 0}, {4597, 4608, 4619, 4631, 4642, 4653, 4664, 4676, 4685, 4695, 4705, 4717, 0}, {4728, 4734, 4740, 4747, 4753, 4759, 4765, 4772, 4776, 4781, 4786, 4793, 0}, {4728, 4734, 4740, 4747, 4753, 4759, 4765, 4772, 4776, 4781, 4786, 4793, 0}, 2, 1, 756, 241, {2356,2692,2948,1319,0,0,0,0,0,0,0,0,0,0},{4799,4816,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {4834, 243, 280, 274, 2015, 352, 3824, 3827, {4851, 4860, 4866, 4872, 4881, 4887, 4896}, {4903, 4908, 4913, 4918, 4923, 4928, 4933}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4938, 4946, 4955, 4960, 4966, 4970, 4975, 4983, 4989, 4999, 1134, 5007, 0}, {4938, 4946, 4955, 4960, 4966, 4970, 4975, 4983, 4989, 4999, 1134, 5007, 0}, {5017, 5023, 4955, 5030, 4966, 4970, 5035, 4983, 5041, 1304, 1309, 5047, 0}, {5017, 5023, 4955, 5030, 4966, 4970, 5035, 4983, 5041, 1304, 1309, 5047, 0}, 0, 1, 239, 241, {243,14,1354,1345,1319,0,0,0,0,0,0,0,0,0},{4834,5053,3777,0,0,0,0,0},{274,331,5062,5068,5078,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {5086, 243, 280, 274, 2015, 55, 5104, 5117, {5128, 5146, 5160, 5178, 5196, 5214, 5230}, {5244, 5256, 5268, 5280, 5292, 5304, 5316}, {5323, 5326, 5329, 5332, 5335, 5338, 5341}, {5344, 5355, 5368, 5375, 5386, 5393, 5402, 5411, 5424, 5437, 5452, 5465, 0}, {5344, 5355, 5368, 5375, 5386, 5393, 5402, 5411, 5424, 5437, 5452, 5465, 0}, {5476, 5485, 5368, 5494, 5386, 5503, 5512, 5521, 5530, 5539, 5548, 5557, 0}, {5476, 5485, 5368, 5494, 5386, 5503, 5512, 5521, 5530, 5539, 5548, 5557, 0}, 0, 0, 239, 241, {243,5566,14,1,1345,2404,5579,1319,5592,5609,0,0,0,0},{5086,5566,5619,5641,5592,0,0,0},{274,35,0,0,0,0,0,0,0,0,0,0},{280,23,0,0,0,0,0,0,0}},
+       {5662, 5676, 323, 331, 5688, 5699, 5707, 5711, {5715, 5725, 5733, 5738, 5745, 5758, 5766}, {4193, 5774, 4488, 5776, 5780, 2126, 5783}, {4193, 5774, 4488, 5787, 5780, 2126, 5787}, {5790, 5798, 5807, 5816, 5825, 5832, 5840, 5848, 5858, 5869, 2584, 2593, 0}, {5790, 5798, 5807, 5816, 5825, 5832, 5840, 5848, 5858, 5869, 2584, 2593, 0}, {5878, 1279, 5883, 5890, 5896, 5902, 5908, 5914, 5919, 5926, 1309, 5931, 0}, {5878, 1279, 5883, 5890, 5896, 5902, 5908, 5914, 5919, 5926, 1309, 5931, 0}, 0, 1, 756, 241, {5676,5936,1319,5950,0,0,0,0,0,0,0,0,0,0},{5662,0,0,0,0,0,0,0},{331,274,3052,0,0,0,0,0,0,0,0,0},{323,280,3041,0,0,0,0,0,0}},
+       {1991, 2356, 280, 274, 2015, 2025, 5959, 5964, {5969, 5980, 5991, 6005, 6019, 6031, 6043}, {6055, 6059, 6064, 6069, 6074, 6078, 6083}, {1067, 6087, 6089, 6087, 6092, 6092, 1057}, {6094, 6102, 4955, 6111, 6118, 6123, 6130, 6137, 2566, 5869, 6145, 6155, 0}, {6094, 6102, 4955, 6111, 6118, 6123, 6130, 6137, 2566, 5869, 6145, 6155, 0}, {2602, 2606, 2610, 2614, 6118, 6164, 6169, 6174, 2630, 2634, 6180, 6185, 0}, {2602, 2606, 2610, 2614, 6118, 6164, 6169, 6174, 2630, 2634, 6180, 6185, 0}, 2, 1, 756, 241, {2356,1354,6189,6201,1319,6215,0,0,0,0,0,0,0,0},{1991,2659,0,0,0,0,0,0},{274,331,0,0,0,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {4834, 243, 280, 274, 2015, 352, 6224, 6227, {6230, 6239, 6247, 6256, 6267, 6276, 6285}, {4163, 4167, 2610, 6292, 6296, 6300, 6304}, {2797, 2516, 2508, 2508, 6308, 4193, 2131}, {6310, 6318, 6327, 6333, 6340, 6347, 6354, 6361, 6368, 6378, 6386, 6395, 0}, {6404, 6412, 4209, 6421, 6428, 6435, 6442, 4232, 6449, 6459, 1134, 6467, 0}, {6476, 2606, 2610, 2614, 6480, 6484, 6488, 4278, 6492, 6496, 2638, 4286, 0}, {6476, 2606, 2610, 2614, 6480, 6484, 6488, 4278, 6492, 6496, 2638, 4286, 0}, 2, 1, 239, 241, {243,3765,14,6500,1338,1319,0,0,0,0,0,0,0,0},{4834,6508,3777,0,0,0,0,0},{274,331,2380,5062,0,0,0,0,0,0,0,0},{280,2396,6517,0,0,0,0,0,0}},
+       {1453, 1845, 323, 331, 1484, 1500, 6526, 6533, {6540, 6550, 6560, 6570, 6580, 6590, 6600}, {1646, 6610, 6614, 6618, 6622, 6626, 6630}, {1646, 6610, 6614, 6618, 6622, 6626, 6630}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 0, 239, 241, {1845,1888,1874,1475,6661,6680,6697,1319,0,0,0,0,0,0},{1453,6718,6742,6769,0,0,0,0},{331,274,1951,1959,0,0,0,0,0,0,0,0},{323,280,1968,1979,0,0,0,0,0}},
+       {6798, 1319, 1968, 1951, 6827, 6844, 6858, 6865, {6872, 6882, 6892, 6902, 6912, 6922, 6932}, {6942, 6946, 6950, 6954, 6958, 6962, 6966}, {6942, 6946, 6950, 6954, 6958, 6962, 6966}, {6970, 6975, 6980, 6985, 6990, 6995, 7000, 7005, 7010, 7015, 7021, 7027, 0}, {6970, 6975, 6980, 6985, 6990, 6995, 7000, 7005, 7010, 7015, 7021, 7027, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 0, 2646, 241, {1319,5950,1867,1827,0,0,0,0,0,0,0,0,0,0},{6798,7033,7057,7084,7106,7137,0,0},{1951,1959,331,274,0,0,0,0,0,0,0,0},{1968,1979,323,280,0,0,0,0,0}},
+       {4834, 7163, 280, 274, 2015, 352, 964, 969, {7172, 7179, 7187, 7195, 7204, 7214, 7222}, {7231, 4470, 7234, 7237, 7240, 7243, 7246}, {7249, 2508, 2797, 3915, 2797, 4193, 7249}, {7251, 7259, 7268, 2539, 7274, 2549, 2554, 7278, 2566, 2576, 2584, 2593, 0}, {7251, 7259, 7268, 2539, 7274, 2549, 2554, 7278, 2566, 2576, 2584, 2593, 0}, {2602, 2606, 7287, 2614, 7274, 2618, 2622, 2626, 2630, 2634, 2638, 2642, 0}, {2602, 2606, 7287, 2614, 7274, 2618, 2622, 2626, 2630, 2634, 2638, 2642, 0}, 2, 1, 2646, 241, {7163,2365,1345,14,1354,2928,1319,0,0,0,0,0,0,0},{4834,6508,3777,5053,0,0,0,0},{331,274,2380,7291,7303,0,0,0,0,0,0,0},{323,280,7315,7330,0,0,0,0,0}},
+       {1991, 2692, 280, 274, 2015, 2025, 964, 969, {2425, 2433, 2440, 2448, 2455, 2463, 2470}, {7345, 7350, 7354, 7358, 7362, 7366, 7370}, {2131, 2508, 2510, 2512, 2510, 2514, 2516}, {2518, 2525, 4955, 2539, 4966, 2549, 2554, 2559, 2566, 2576, 2584, 6155, 0}, {2518, 2525, 4955, 2539, 4966, 2549, 2554, 2559, 2566, 2576, 2584, 6155, 0}, {2602, 2606, 2610, 2614, 4966, 2618, 2622, 2626, 2630, 2634, 2638, 6185, 0}, {2602, 2606, 2610, 2614, 4966, 2618, 2622, 2626, 2630, 2634, 2638, 6185, 0}, 0, 0, 756, 241, {2692,1354,2948,1319,2928,0,0,0,0,0,0,0,0,0},{1991,2659,0,0,0,0,0,0},{274,331,7375,5062,0,0,0,0,0,0,0,0},{280,323,7386,6517,0,0,0,0,0}},
+       {3777, 1319, 280, 274, 2015, 352, 3824, 3827, {7400, 7410, 7424, 7431, 7438, 7447, 2093}, {7455, 7462, 7467, 7471, 7476, 7481, 7485}, {2124, 2126, 3915, 7490, 7493, 2126, 2131}, {7495, 7504, 7509, 7516, 2545, 7526, 7535, 7542, 7552, 7562, 2210, 7575, 0}, {7585, 7594, 7601, 7607, 7616, 7621, 7629, 7635, 7644, 7654, 7668, 7678, 0}, {7686, 7690, 2610, 7694, 2545, 7698, 7702, 7706, 7710, 7714, 7719, 7723, 0}, {7686, 7690, 2610, 7694, 2545, 7698, 7702, 7706, 7710, 7714, 7719, 7723, 0}, 2, 1, 2646, 241, {1319,5950,0,0,0,0,0,0,0,0,0,0,0,0},{3777,5566,0,0,0,0,0,0},{274,331,0,0,0,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {4068, 243, 280, 274, 949, 4096, 3824, 3827, {4108, 7727, 7741, 7754, 7767, 7780, 4155}, {4163, 7792, 7796, 7800, 7804, 7808, 4184}, {2797, 2131, 2510, 7812, 7812, 2131, 2131}, {7814, 7822, 7832, 1088, 7839, 7844, 7850, 4232, 7856, 7865, 7873, 7882, 0}, {7814, 7822, 7832, 1088, 7839, 7844, 7850, 4232, 7856, 7865, 7873, 7882, 0}, {2602, 7891, 2610, 4274, 4966, 2618, 2622, 4278, 6492, 7895, 2638, 7899, 0}, {2602, 7891, 2610, 4274, 4966, 2618, 2622, 4278, 6492, 7895, 2638, 7899, 0}, 0, 0, 239, 241, {243,14,3032,1338,1345,2404,2365,7163,1354,2692,2928,2948,2356,1319},{4068,4346,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
+       {7903, 2404, 280, 274, 2015, 352, 7932, 7935, {7938, 7947, 4866, 7957, 7965, 7973, 7982}, {7988, 7991, 4470, 7995, 7998, 8002, 2121}, {2797, 6308, 2508, 2508, 6308, 4193, 2131}, {8005, 8013, 4955, 8020, 8027, 8032, 8042, 8050, 8056, 8066, 2584, 2593, 0}, {8005, 8013, 4955, 8020, 8027, 8032, 8042, 8050, 8056, 8066, 2584, 2593, 0}, {8074, 8081, 4955, 5030, 8027, 8087, 8094, 8050, 8099, 1304, 1309, 5931, 0}, {8074, 8081, 4955, 5030, 8027, 8087, 8094, 8050, 8099, 1304, 1309, 5931, 0}, 2, 1, 2646, 241, {243,14,1330,8105,1338,243,1319,0,0,0,0,0,0,0},{3014,3777,5053,0,0,0,0,0},{274,331,8113,8125,8136,8144,8154,8163,2967,8169,8177,8182},{280,323,8185,8200,2992,2978,8214,8227,3007}},
+       {3777, 2692, 323, 331, 2015, 352, 3824, 3827, {8239, 8249, 8254, 8261, 8270, 8274, 8281}, {8292, 8295, 8298, 2785, 8301, 8304, 8307}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {8311, 8320, 8330, 8337, 4966, 8345, 8351, 2559, 8357, 8368, 8378, 8388, 0}, {8311, 8320, 8330, 8337, 4966, 8345, 8351, 2559, 8357, 8368, 8378, 8388, 0}, {8398, 8403, 4913, 8408, 4966, 8413, 8418, 5914, 5041, 1304, 1309, 5931, 0}, {8398, 8403, 4913, 8408, 4966, 8413, 8418, 5914, 5041, 1304, 1309, 5931, 0}, 0, 1, 756, 241, {2692,2356,1319,0,0,0,0,0,0,0,0,0,0,0},{3777,0,0,0,0,0,0,0},{274,331,0,0,0,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {807, 2692, 323, 331, 2015, 352, 8423, 8443, {8469, 8492, 417, 8515, 8526, 8541, 8556}, {8571, 8576, 8581, 8586, 8591, 8596, 8601}, {8606, 8609, 8606, 8612, 8615, 8609, 8612}, {8618, 8631, 8646, 8655, 8668, 8675, 8684, 8693, 8706, 8723, 8738, 8751, 0}, {8766, 8779, 8794, 8805, 8818, 8825, 8834, 8843, 8858, 8875, 8890, 8903, 0}, {8918, 8926, 8646, 8936, 8668, 8675, 8684, 8944, 8952, 8962, 8970, 8980, 0}, {8918, 8926, 8646, 8936, 8668, 8675, 8684, 8944, 8952, 8962, 8970, 8980, 0}, 0, 1, 756, 241, {2692,1354,2948,14,1319,0,0,0,0,0,0,0,0,0},{807,289,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {8988, 9002, 323, 331, 44, 2025, 3824, 3827, {9012, 9021, 9033, 9040, 9048, 9058, 9064}, {9071, 9075, 9079, 9083, 9087, 9092, 9096}, {9100, 9102, 9104, 1067, 9106, 9102, 1067}, {9109, 9119, 9128, 9136, 9144, 9152, 9159, 9166, 9174, 2210, 9180, 9188, 0}, {9197, 9207, 9216, 9224, 9232, 9240, 9247, 9254, 9263, 7668, 9269, 9279, 0}, {9288, 9292, 9297, 9302, 9306, 7702, 9310, 9314, 9318, 7719, 9322, 9326, 0}, {9288, 9292, 9297, 9302, 9306, 7702, 9310, 9314, 9318, 7719, 9322, 9326, 0}, 0, 1, 756, 241, {9002,9330,6189,9338,9350,9360,9370,1319,0,0,0,0,0,0},{8988,9382,9397,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {1991, 2356, 323, 331, 2015, 2025, 9417, 9428, {9439, 9447, 9456, 9463, 9470, 9479, 2093}, {2100, 2103, 9486, 2110, 9489, 9493, 2121}, {2124, 2126, 9496, 2131, 9498, 2126, 2131}, {5790, 5798, 9501, 6111, 9507, 6164, 6169, 2559, 2566, 5869, 2584, 2593, 0}, {9512, 9521, 7601, 9531, 9539, 9545, 9551, 9557, 9565, 9575, 9584, 9593, 0}, {2602, 2606, 2610, 2614, 9507, 6164, 6169, 2626, 2630, 2634, 2638, 2642, 0}, {2602, 2606, 2610, 2614, 9507, 6164, 6169, 2626, 2630, 2634, 2638, 2642, 0}, 2, 1, 756, 241, {2004,2356,9602,2948,2692,1354,1319,0,0,0,0,0,0,0},{1991,2659,0,0,0,0,0,0},{331,274,2380,0,0,0,0,0,0,0,0,0},{323,280,2396,0,0,0,0,0,0}},
+       {3014, 2356, 280, 274, 2015, 352, 9611, 9614, {9617, 9624, 9633, 9642, 9654, 9662, 9671}, {9681, 9685, 3971, 9690, 9695, 9699, 9703}, {2797, 5774, 2508, 2508, 9707, 2126, 2131}, {9709, 9715, 4955, 9722, 2545, 9728, 9736, 9743, 9749, 9757, 9763, 9771, 0}, {9709, 9715, 4955, 9722, 2545, 9728, 9736, 9743, 9749, 9757, 9763, 9771, 0}, {2883, 9779, 3971, 9783, 9787, 9791, 9795, 9799, 9703, 9803, 9807, 9812, 0}, {2883, 9779, 3971, 9783, 9787, 9791, 9795, 9799, 9703, 9803, 9807, 9812, 0}, 0, 1, 756, 241, {1319,5950,0,0,0,0,0,0,0,0,0,0,0,0},{1319,0,0,0,0,0,0,0},{9816,274,0,0,0,0,0,0,0,0,0,0},{9824,280,0,0,0,0,0,0,0}},
+       {9835, 1319, 280, 274, 2015, 9853, 9866, 9869, {9872, 9880, 9888, 2448, 2455, 2463, 9895}, {9903, 9908, 9913, 2491, 2495, 2499, 9917}, {2131, 2508, 2510, 2512, 2510, 2514, 2516}, {7251, 7259, 4955, 2539, 2545, 2549, 2554, 9922, 2566, 2576, 2584, 2593, 0}, {7251, 7259, 4955, 2539, 2545, 2549, 2554, 9922, 2566, 2576, 2584, 2593, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 2626, 2630, 2634, 2638, 2642, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 2626, 2630, 2634, 2638, 2642, 0}, 2, 1, 2646, 241, {1319,5950,0,0,0,0,0,0,0,0,0,0,0,0},{9835,9930,0,0,0,0,0,0},{274,331,9953,0,0,0,0,0,0,0,0,0},{280,323,9963,0,0,0,0,0,0}},
+       {3777, 3032, 323, 331, 2015, 352, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 0, 239, 241, {3032,1338,14,243,9976,9987,1319,0,0,0,0,0,0,0},{3777,9999,10015,0,0,0,0,0},{331,274,3052,35,0,0,0,0,0,0,0,0},{323,280,3041,23,0,0,0,0,0}},
+       {10057, 2356, 280, 274, 2015, 352, 3824, 3827, {10074, 10080, 10090, 10096, 10107, 10117, 10122}, {10132, 10136, 10140, 10144, 10149, 10153, 10157}, {2126, 2126, 2131, 10161, 2126, 7493, 7493}, {10164, 10169, 10176, 10181, 10187, 10194, 10202, 10209, 10218, 10225, 10230, 10237, 0}, {10164, 10169, 10176, 10181, 10187, 10194, 10202, 10209, 10218, 10225, 10230, 10237, 0}, {10245, 10249, 3971, 10254, 3940, 10258, 10262, 10266, 10271, 10275, 10279, 10283, 0}, {10245, 10249, 3971, 10254, 3940, 10258, 10262, 10266, 10271, 10275, 10279, 10283, 0}, 0, 1, 756, 241, {2692,1354,1319,0,0,0,0,0,0,0,0,0,0,0},{10287,5566,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
+       {4054, 243, 3041, 3052, 44, 55, 10305, 10310, {10317, 10328, 10335, 10344, 10351, 10364, 10373}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {10382, 10393, 10404, 10413, 10424, 10429, 10436, 10447, 10456, 10467, 10480, 10491, 0}, {10382, 10393, 10404, 10413, 10424, 10429, 10436, 10447, 10456, 10467, 10480, 10491, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 0, 239, 241, {243,14,1319,0,0,0,0,0,0,0,0,0,0,0},{4054,254,0,0,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {5566, 243, 323, 331, 2015, 55, 3824, 3827, {10502, 10509, 10515, 10522, 10527, 10533, 10539}, {10545, 10549, 10553, 10557, 10561, 10565, 10569}, {2508, 2131, 2131, 10573, 4488, 4191, 2131}, {10575, 10583, 10592, 2820, 10598, 2830, 2835, 10602, 2847, 2857, 2865, 10610, 0}, {10575, 10583, 10592, 2820, 10598, 2830, 2835, 10602, 2847, 2857, 2865, 10610, 0}, {2883, 2887, 3971, 2896, 10598, 2900, 2904, 10619, 2912, 2916, 2920, 10623, 0}, {2883, 2887, 3971, 2896, 10598, 2900, 2904, 10619, 2912, 2916, 2920, 10623, 0}, 0, 0, 239, 241, {243,14,1319,0,0,0,0,0,0,0,0,0,0,0},{5566,0,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {10627, 2692, 323, 331, 10645, 352, 10661, 10666, {10671, 10684, 10703, 10720, 10733, 10746, 10763}, {10776, 8576, 8581, 8586, 8591, 8596, 8601}, {10781, 8609, 8606, 8612, 8615, 8609, 8612}, {10784, 10797, 10808, 10825, 10840, 10855, 10870, 10883, 10898, 10915, 10930, 10947, 0}, {10962, 10973, 10986, 11001, 11014, 11027, 11040, 11051, 11064, 11079, 11092, 11111, 0}, {11124, 11131, 11138, 11145, 11152, 11159, 11166, 11173, 11180, 11187, 11194, 11201, 0}, {11124, 11131, 11138, 11145, 11152, 11159, 11166, 11173, 11180, 11187, 11194, 11201, 0}, 0, 1, 756, 241, {2692,1354,1319,0,0,0,0,0,0,0,0,0,0,0},{10627,0,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {3777, 1354, 280, 274, 2015, 352, 11208, 11221, {11234, 11249, 11270, 11285, 11298, 11311, 11326}, {486, 491, 11339, 501, 11344, 511, 516}, {521, 524, 11349, 530, 533, 524, 530}, {11352, 11369, 11378, 11393, 11410, 11425, 11440, 11453, 11468, 11485, 11506, 11523, 0}, {11352, 11369, 11378, 11393, 586, 11425, 11440, 11453, 11468, 11485, 11506, 11523, 0}, {11538, 11545, 11552, 11559, 11566, 11573, 11580, 11587, 11594, 11601, 11608, 11615, 0}, {11538, 11545, 11552, 11559, 11566, 11573, 11580, 11587, 11594, 11601, 11608, 11615, 0}, 0, 0, 756, 241, {2692,1354,1319,0,0,0,0,0,0,0,0,0,0,0},{3777,0,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {1991, 2356, 323, 331, 2015, 2025, 2033, 11622, {11627, 11635, 11646, 11652, 11658, 11667, 2093}, {9071, 9075, 2495, 11673, 9087, 9092, 11677}, {9100, 9102, 1059, 1067, 9106, 9102, 1067}, {2518, 2525, 9501, 2539, 2545, 11681, 11687, 11693, 2566, 2576, 2584, 2593, 0}, {2518, 2525, 9501, 2539, 2545, 11681, 11687, 11693, 2566, 2576, 2584, 2593, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 11700, 2630, 2634, 2638, 2642, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 11700, 2630, 2634, 2638, 2642, 0}, 0, 1, 756, 241, {2356,2948,2004,2692,9602,1354,11704,1319,0,0,0,0,0,0},{1991,2659,2673,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {1991, 11715, 323, 331, 2015, 11725, 11734, 11739, {11744, 11755, 11766, 11777, 11788, 11799, 11805}, {2126, 9707, 2510, 4488, 2124, 10573, 2516}, {2126, 9707, 2510, 4488, 2124, 10573, 2516}, {11814, 11822, 11831, 11838, 4966, 11845, 11851, 2559, 2566, 11857, 2584, 11866, 0}, {11814, 11822, 11831, 11838, 4966, 11845, 11851, 2559, 2566, 11857, 2584, 11866, 0}, {11876, 11881, 11831, 2614, 4966, 11845, 11851, 2626, 11887, 2634, 2638, 11892, 0}, {11876, 11881, 11831, 2614, 4966, 11845, 11851, 2626, 11887, 2634, 2638, 11892, 0}, 2, 1, 756, 241, {11715,2692,1354,1319,0,0,0,0,0,0,0,0,0,0},{11897,11916,2673,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {11936, 9338, 323, 331, 11963, 2025, 11981, 11998, {12012, 12023, 12033, 12042, 12053, 12065, 12076}, {12086, 12089, 12092, 12095, 12098, 12101, 12104}, {2131, 2126, 2512, 2510, 7493, 2126, 2131}, {12107, 12117, 2533, 12128, 12137, 12143, 12151, 12159, 12167, 12178, 12187, 12197, 0}, {12107, 12117, 2533, 12128, 12137, 12143, 12151, 12159, 12167, 12178, 12187, 12197, 0}, {5017, 1279, 2533, 8408, 12137, 12207, 12213, 5914, 5041, 5926, 1309, 5931, 0}, {5017, 1279, 2533, 8408, 12137, 12207, 12213, 5914, 5041, 5926, 1309, 5931, 0}, 0, 1, 756, 241, {5676,12219,1319,0,0,0,0,0,0,0,0,0,0,0},{11936,0,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {12229, 1319, 280, 274, 12251, 12266, 12278, 11622, {12284, 12296, 12308, 12320, 12334, 12349, 12362}, {12376, 12089, 12379, 12095, 12382, 12385, 12388}, {2131, 2126, 12392, 2510, 4488, 2126, 9498}, {12394, 12401, 12409, 12415, 12424, 12433, 12443, 12449, 12460, 12470, 12477, 12487, 0}, {12495, 12502, 12510, 12516, 12525, 12534, 12544, 12550, 12561, 12571, 12578, 12588, 0}, {12596, 12602, 12607, 12612, 12617, 12622, 12627, 12633, 12639, 12645, 12651, 12658, 0}, {12596, 12602, 12607, 12612, 12617, 12622, 12627, 12633, 12639, 12645, 12651, 12658, 0}, 2, 1, 2646, 241, {1856,1319,0,0,0,0,0,0,0,0,0,0,0,0},{12229,0,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
+       {12665, 2692, 280, 274, 2015, 55, 12683, 12695, {12707, 12722, 12737, 12752, 12769, 12788, 12799}, {12810, 12817, 12824, 12831, 12838, 12845, 12852}, {0, 0, 0, 0, 0, 0, 0}, {12859, 12870, 8646, 12883, 8668, 12894, 12901, 8693, 12908, 12923, 12936, 12947, 0}, {12859, 12870, 8646, 12883, 8668, 12894, 12901, 8693, 12908, 12923, 12936, 12947, 0}, {12960, 12967, 12974, 12981, 8668, 12894, 12901, 12988, 12995, 13002, 13009, 13016, 0}, {12960, 12967, 12974, 12981, 8668, 12894, 12901, 12988, 12995, 13002, 13009, 13016, 0}, 0, 0, 756, 241, {1354,1319,0,0,0,0,0,0,0,0,0,0,0,0},{3777,0,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,0,0,0,0,0,0,0,0}},
+       {13023, 243, 23, 35, 44, 352, 13042, 13062, {13079, 13092, 13105, 13121, 13138, 13153, 13162}, {13079, 13092, 13105, 13121, 13138, 13153, 13162}, {13171, 13174, 13177, 13180, 13183, 13186, 13189}, {13192, 13205, 13216, 13225, 13236, 13241, 13250, 13261, 13268, 13283, 13294, 13307, 0}, {13320, 13335, 13216, 13225, 13348, 13241, 13355, 13261, 13268, 13283, 13294, 13307, 0}, {13192, 13205, 13216, 13225, 13236, 13241, 13250, 13261, 13268, 13283, 13294, 13307, 0}, {13192, 13205, 13216, 13225, 13236, 13241, 13250, 13261, 13268, 13283, 13294, 13307, 0}, 0, 6, 239, 241, {3999,3990,0,0,0,0,0,0,0,0,0,0,0,0},{4020,4040,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
+       {5566, 243, 3041, 3052, 2015, 55, 13368, 13371, {13374, 13387, 13397, 13406, 13416, 13427, 13438}, {13450, 13453, 13458, 13463, 13468, 13473, 13478}, {13450, 13483, 13486, 13489, 13492, 13495, 13498}, {13501, 13514, 13525, 13535, 13546, 13558, 13570, 13583, 13595, 13608, 13623, 13644, 0}, {13501, 13514, 13525, 13535, 13546, 13558, 13570, 13583, 13595, 13608, 13623, 13644, 0}, {13663, 13669, 13675, 13681, 13687, 13693, 13699, 13705, 13711, 13717, 13724, 13731, 0}, {13663, 13669, 13675, 13681, 13687, 13693, 13699, 13705, 13711, 13717, 13724, 13731, 0}, 0, 1, 239, 241, {243,14,1345,2404,1319,0,0,0,0,0,0,0,0,0},{5566,0,0,0,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {13738, 2692, 280, 274, 44, 352, 13751, 13759, {13767, 13780, 13801, 13820, 13841, 13860, 13873}, {13884, 13891, 13898, 13905, 13912, 13919, 13926}, {0, 0, 0, 0, 0, 0, 0}, {13933, 13948, 13963, 13972, 13983, 13994, 14007, 14020, 14035, 14054, 14073, 14090, 0}, {13933, 13948, 13963, 13972, 13983, 13994, 14007, 14020, 14035, 14054, 14073, 14090, 0}, {14109, 14116, 14123, 14130, 14137, 14144, 14151, 14158, 14165, 14172, 14179, 14186, 0}, {14109, 14116, 14123, 14130, 14137, 14144, 14151, 14158, 14165, 14172, 14179, 14186, 0}, 0, 1, 756, 241, {2692,1354,14193,243,14203,3765,1319,0,0,0,0,0,0,0},{13738,3014,13023,5566,14214,14225,14237,14254},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {14272, 2692, 280, 274, 2015, 352, 0, 0, {14294, 14300, 14314, 14337, 14351, 14367, 14374}, {14383, 14386, 14391, 14397, 14401, 7493, 14406}, {6646, 6634, 6636, 6638, 6640, 6642, 6644}, {14410, 14417, 10176, 14424, 3940, 14430, 14436, 14442, 14449, 14458, 14466, 14473, 0}, {14410, 14417, 10176, 14424, 3940, 14430, 14436, 14442, 14449, 14458, 14466, 14473, 0}, {14480, 7891, 2610, 2614, 14484, 14488, 14492, 14496, 14500, 2634, 14504, 14508, 0}, {14480, 7891, 2610, 2614, 14484, 14488, 14492, 14496, 14500, 2634, 14504, 14508, 0}, 0, 0, 756, 241, {2692,1354,2948,14,1319,0,0,0,0,0,0,0,0,0},{3777,5566,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {14512, 1845, 323, 331, 14545, 14562, 3824, 3827, {14577, 14585, 14596, 14606, 14617, 14626, 14635}, {14645, 14648, 14651, 14654, 14657, 14660, 14663}, {14666, 2508, 12392, 2516, 12392, 2512, 14666}, {14668, 14678, 14686, 14694, 14702, 14710, 14717, 14725, 14733, 14740, 14746, 14753, 0}, {14668, 14678, 14686, 14694, 14702, 14710, 14717, 14725, 14733, 14740, 14746, 14753, 0}, {14761, 14765, 2610, 14769, 4966, 14773, 14777, 14781, 14785, 14789, 14793, 14797, 0}, {14761, 14765, 2610, 14769, 4966, 14773, 14777, 14781, 14785, 14789, 14793, 14797, 0}, 2, 1, 239, 241, {1845,1319,0,0,0,0,0,0,0,0,0,0,0,0},{14801,0,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{323,280,1433,0,0,0,0,0,0}},
+       {13023, 2692, 280, 274, 2015, 352, 14828, 14849, {14866, 396, 417, 8515, 14879, 14896, 14907}, {14920, 14928, 14936, 14942, 14950, 14958, 14966}, {521, 524, 527, 530, 533, 524, 530}, {14974, 549, 566, 575, 14989, 14996, 15005, 607, 620, 639, 656, 671, 0}, {14974, 549, 566, 575, 14989, 14996, 15005, 607, 620, 639, 656, 671, 0}, {15014, 15022, 15030, 704, 14989, 15038, 15046, 712, 720, 730, 738, 15054, 0}, {15014, 15022, 15030, 704, 14989, 15038, 15046, 712, 720, 730, 738, 15054, 0}, 0, 1, 756, 241, {2692,1354,1319,0,0,0,0,0,0,0,0,0,0,0},{13023,0,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
+       {5566, 14, 23, 35, 2015, 352, 0, 0, {15066, 15073, 15084, 15093, 15102, 15109, 15120}, {15130, 15134, 15138, 15142, 15146, 15149, 15153}, {0, 0, 0, 0, 0, 0, 0}, {15157, 15167, 15176, 15184, 15193, 15206, 15218, 15225, 15232, 15239, 15249, 15261, 0}, {15157, 15167, 15176, 15184, 15193, 15206, 15218, 15225, 15232, 15239, 15249, 15261, 0}, {15274, 15278, 15282, 15286, 15290, 15294, 15298, 15302, 15306, 15310, 15314, 15318, 0}, {15274, 15278, 15282, 15286, 15290, 15294, 15298, 15302, 15306, 15310, 15314, 15318, 0}, 0, 0, 239, 241, {1845,1888,1319,0,0,0,0,0,0,0,0,0,0,0},{5566,0,0,0,0,0,0,0},{35,3052,274,0,0,0,0,0,0,0,0,0},{23,3041,280,0,0,0,0,0,0}},
+       {5566, 1845, 23, 35, 2015, 352, 0, 0, {15322, 15327, 15333, 15343, 15355, 15363, 15374}, {15383, 15387, 15391, 15395, 15399, 15403, 15407}, {0, 0, 0, 0, 0, 0, 0}, {15411, 15421, 15431, 15438, 15445, 2830, 15450, 15457, 15464, 15473, 15481, 15489, 0}, {15411, 15421, 15431, 15438, 15445, 2830, 15450, 15457, 15464, 15473, 15481, 15489, 0}, {2883, 2887, 15153, 15497, 15501, 2900, 2904, 15505, 2912, 2916, 2920, 15509, 0}, {2883, 2887, 15153, 15497, 15501, 2900, 2904, 15505, 2912, 2916, 2920, 15509, 0}, 0, 0, 239, 241, {1845,1888,1319,0,0,0,0,0,0,0,0,0,0,0},{5566,0,0,0,0,0,0,0},{35,3052,274,0,0,0,0,0,0,0,0,0},{23,3041,280,0,0,0,0,0,0}},
+       {5566, 2404, 23, 35, 2015, 352, 3824, 3827, {15513, 15519, 15530, 15343, 15540, 15363, 15374}, {15549, 15553, 15557, 15395, 15399, 15403, 15407}, {2131, 2508, 15561, 2510, 2131, 5774, 2508}, {15563, 15573, 15584, 15591, 15600, 15606, 15612, 15620, 15628, 15639, 15649, 15658, 0}, {15667, 15421, 15676, 15682, 15445, 2830, 15450, 15457, 15689, 15473, 15481, 15489, 0}, {2883, 2887, 15699, 2896, 15501, 2900, 2904, 15505, 2912, 2916, 2920, 15509, 0}, {2883, 2887, 15699, 2896, 15501, 2900, 2904, 15505, 2912, 2916, 2920, 15509, 0}, 0, 0, 2646, 241, {1845,1888,1319,0,0,0,0,0,0,0,0,0,0,0},{5566,0,0,0,0,0,0,0},{35,3052,274,0,0,0,0,0,0,0,0,0},{23,3041,280,0,0,0,0,0,0}},
+       {5566, 1845, 23, 35, 2015, 352, 15703, 15707, {15711, 15718, 15726, 15734, 15743, 15753, 15760}, {2776, 8298, 2782, 15769, 2788, 15772, 2794}, {2131, 2508, 2797, 3915, 2797, 4193, 2131}, {15775, 15784, 15794, 2820, 10598, 15800, 15806, 15812, 2847, 2857, 2865, 10610, 0}, {15775, 15784, 15794, 2820, 10598, 15800, 15806, 15812, 2847, 2857, 2865, 10610, 0}, {2883, 2887, 3971, 2896, 10598, 2900, 2904, 2908, 2912, 2916, 2920, 10623, 0}, {2883, 2887, 3971, 2896, 10598, 2900, 2904, 2908, 2912, 2916, 2920, 10623, 0}, 0, 0, 239, 241, {1845,1888,1319,15821,0,0,0,0,0,0,0,0,0,0},{5566,0,0,0,0,0,0,0},{35,3052,274,0,0,0,0,0,0,0,0,0},{23,3041,280,0,0,0,0,0,0}},
+       {15833, 2692, 323, 331, 2015, 352, 15867, 15883, {15905, 15921, 15946, 15974, 16002, 16030, 16058}, {16077, 16087, 16097, 16107, 16117, 16127, 16137}, {16147, 16151, 16155, 16151, 16159, 16163, 16167}, {16171, 16193, 16221, 16237, 16256, 16272, 16291, 16307, 16329, 16360, 16388, 16413, 0}, {16171, 16193, 16221, 16237, 16256, 16272, 16291, 16307, 16329, 16360, 16388, 16413, 0}, {16441, 16451, 16461, 16471, 16481, 16491, 16501, 16511, 16521, 16531, 16541, 16551, 0}, {16441, 16451, 16461, 16471, 16481, 16491, 16501, 16511, 16521, 16531, 16541, 16551, 0}, 0, 1, 756, 241, {2692,1354,2948,14,1319,0,0,0,0,0,0,0,0,0},{16561,0,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {1991, 2404, 280, 274, 2015, 352, 16593, 16598, {5969, 16603, 16614, 16624, 16634, 16644, 16658}, {6055, 6059, 16670, 16675, 16679, 16684, 16689}, {2131, 2508, 2510, 2508, 5774, 2514, 2516}, {2518, 2525, 4955, 6111, 4966, 2549, 2554, 2559, 2566, 2576, 2584, 6155, 0}, {2518, 2525, 4955, 6111, 4966, 2549, 2554, 2559, 2566, 2576, 2584, 6155, 0}, {2602, 2606, 2610, 2614, 4966, 2618, 2622, 2626, 2630, 2634, 2638, 6185, 0}, {2602, 2606, 2610, 2614, 4966, 2618, 2622, 2626, 2630, 2634, 2638, 6185, 0}, 2, 1, 2646, 241, {2404,1345,1319,0,0,0,0,0,0,0,0,0,0,0},{1991,0,0,0,0,0,0,0},{274,5062,0,0,0,0,0,0,0,0,0,0},{280,6517,0,0,0,0,0,0,0}},
+       {5566, 2404, 280, 274, 44, 55, 16693, 16721, {16743, 16762, 16781, 16803, 16822, 16856, 16881}, {16900, 16911, 16922, 16936, 16947, 16958, 16975}, {16986, 16990, 16997, 17004, 17011, 17018, 17025}, {17029, 17045, 17061, 17077, 17096, 17103, 17113, 17129, 17145, 17167, 17189, 17208, 0}, {17029, 17045, 17061, 17077, 17096, 17103, 17113, 17129, 17145, 17167, 17189, 17208, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 0, 2646, 241, {2404,1345,2365,2948,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,1959,1951,0,0,0,0,0,0,0,0},{280,323,1979,1968,0,0,0,0,0}},
+       {17230, 243, 280, 274, 2015, 17255, 17269, 17272, {17275, 17284, 17293, 17303, 17313, 17323, 17335}, {17343, 17348, 17352, 17356, 17360, 17365, 17370}, {17374, 2510, 2510, 9707, 17374, 17377, 2131}, {17380, 17387, 17392, 2820, 17398, 17404, 17411, 17417, 17425, 17435, 17443, 17452, 0}, {17380, 17387, 17392, 2820, 17398, 17404, 17411, 17417, 17425, 17435, 17443, 17452, 0}, {2883, 17462, 3971, 2896, 17466, 17470, 17475, 17479, 17483, 17487, 2920, 17491, 0}, {2883, 17462, 3971, 2896, 17466, 17470, 17475, 17479, 17483, 17487, 2920, 17491, 0}, 0, 0, 239, 241, {243,1319,17496,7163,3032,0,0,0,0,0,0,0,0,0},{17230,17505,9987,0,0,0,0,0},{274,3052,331,35,0,0,0,0,0,0,0,0},{280,3041,323,23,0,0,0,0,0}},
+       {17524, 2692, 280, 274, 2015, 17548, 17561, 17566, {17571, 17583, 17594, 17608, 17620, 17630, 17640}, {17651, 17656, 17661, 17666, 17671, 17676, 17681}, {2131, 4193, 2508, 6308, 2797, 15561, 2516}, {17686, 17703, 17716, 17730, 17743, 17756, 17769, 17783, 17795, 17809, 17823, 17837, 0}, {17686, 17703, 17716, 17730, 17743, 17756, 17769, 17783, 17795, 17809, 17823, 17837, 0}, {17850, 17857, 17862, 17867, 17871, 17876, 17881, 17886, 17891, 17898, 17903, 17909, 0}, {17850, 17857, 17862, 17867, 17871, 17876, 17881, 17886, 17891, 17898, 17903, 17909, 0}, 2, 1, 756, 241, {2692,1354,2948,1319,0,0,0,0,0,0,0,0,0,0},{17914,0,0,0,0,0,0,0},{274,331,5062,0,0,0,0,0,0,0,0,0},{280,323,6517,0,0,0,0,0,0}},
+       {3777, 243, 280, 274, 2015, 352, 964, 969, {17932, 17946, 17956, 17967, 17981, 17992, 18003}, {18016, 18021, 18026, 18033, 18039, 18045, 18051}, {2797, 2516, 2508, 7493, 2797, 12392, 2131}, {18056, 18064, 18072, 18079, 18088, 18098, 18108, 18114, 18122, 18137, 18155, 18163, 0}, {18056, 18064, 18072, 18079, 18088, 18098, 18108, 18114, 18122, 18137, 18155, 18163, 0}, {18171, 18175, 18072, 18181, 18185, 18190, 18108, 18196, 18201, 18208, 18215, 18220, 0}, {18171, 18175, 18072, 18181, 18185, 18190, 18108, 18196, 18201, 18208, 18215, 18220, 0}, 2, 1, 239, 241, {243,14,1338,2948,1319,0,0,0,0,0,0,0,0,0},{3777,5566,9987,9976,0,0,0,0},{274,331,0,0,0,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {5566, 243, 323, 331, 2015, 55, 18225, 18228, {18232, 18237, 10515, 10522, 18243, 18250, 10539}, {18257, 18261, 10553, 10557, 18265, 10565, 10569}, {12392, 14666, 2131, 10573, 4488, 4191, 2131}, {10575, 10583, 18269, 2820, 10598, 2900, 18273, 18279, 2847, 2857, 2865, 18284, 0}, {10575, 10583, 18269, 2820, 10598, 2900, 18273, 18279, 2847, 2857, 2865, 18284, 0}, {2883, 2887, 18269, 2896, 10598, 2900, 2904, 18279, 2912, 2916, 2920, 15509, 0}, {2883, 2887, 18269, 2896, 10598, 2900, 2904, 18279, 2912, 2916, 2920, 15509, 0}, 0, 1, 239, 241, {243,14,1319,0,0,0,0,0,0,0,0,0,0,0},{5566,0,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {18293, 6508, 280, 274, 2015, 352, 0, 0, {18311, 18326, 18343, 18360, 18375, 18392, 18401}, {18412, 18418, 18424, 18430, 18436, 18442, 18448}, {6634, 0, 0, 6640, 6642, 6644, 6646}, {18454, 18467, 18478, 18491, 18502, 18513, 18526, 18537, 18548, 18565, 18576, 18589, 0}, {18454, 18608, 18478, 18491, 18502, 18513, 18526, 18537, 18548, 18565, 18576, 18589, 0}, {18619, 18627, 18635, 18643, 18651, 18659, 18667, 18675, 18683, 18691, 18699, 18707, 0}, {18619, 18627, 18635, 18643, 18651, 18659, 18667, 18675, 18683, 18691, 18699, 18707, 0}, 0, 0, 2646, 241, {2692,1354,2948,14,1319,0,0,0,0,0,0,0,0,0},{18293,18717,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {18736, 18757, 280, 274, 18766, 18782, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 1, 2646, 241, {1354,1319,0,0,0,0,0,0,0,0,0,0,0,0},{18791,0,0,0,0,0,0,0},{331,0,0,0,0,0,0,0,0,0,0,0},{323,0,0,0,0,0,0,0,0}},
+       {4020, 3808, 3041, 3052, 44, 18811, 18819, 18827, {18835, 18844, 18853, 18861, 18870, 18879, 18886}, {18895, 18898, 18901, 18904, 18907, 18911, 18914}, {6636, 6638, 6640, 6642, 12392, 14666, 6634}, {10575, 10583, 18917, 18923, 10598, 2830, 18273, 18930, 15464, 18937, 15481, 18944, 0}, {10575, 10583, 18917, 18923, 10598, 2830, 18273, 18930, 15464, 18937, 15481, 18944, 0}, {2883, 2887, 18269, 2896, 10598, 2900, 2904, 18952, 2912, 2916, 2920, 10623, 0}, {2883, 2887, 18269, 2896, 10598, 2900, 2904, 18952, 2912, 2916, 2920, 10623, 0}, 0, 0, 239, 241, {3808,3983,3990,3999,1888,1319,4010,0,0,0,0,0,0,0},{4020,4040,254,4054,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {18956, 2692, 280, 274, 2015, 18974, 0, 0, {18981, 18996, 19011, 19026, 19043, 19060, 19069}, {19080, 19087, 19094, 19101, 19108, 19115, 19122}, {19129, 19132, 8612, 8615, 8609, 19135, 19138}, {12859, 12870, 8646, 12883, 8668, 12894, 12901, 8693, 12908, 12923, 12936, 12947, 0}, {12859, 12870, 8646, 12883, 8668, 12894, 12901, 8693, 12908, 12923, 12936, 12947, 0}, {12960, 12967, 12974, 12981, 8668, 12894, 12901, 12988, 12995, 13002, 13009, 13016, 0}, {12960, 12967, 12974, 12981, 8668, 12894, 12901, 12988, 12995, 13002, 13009, 13016, 0}, 0, 0, 756, 241, {19141,1354,2948,14,1319,0,0,0,0,0,0,0,0,0},{18956,3777,5566,0,0,0,0,0},{274,331,0,0,0,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {5566, 1345, 6517, 5062, 44, 352, 19152, 19180, {19202, 19221, 19240, 19265, 19284, 19318, 19343}, {19362, 19372, 19382, 19398, 19408, 19433, 19449}, {19459, 19463, 19470, 19474, 19481, 19488, 19495}, {19499, 19527, 19561, 19577, 19596, 19603, 19613, 19629, 19645, 19676, 19698, 19720, 0}, {19499, 19527, 19561, 19577, 19596, 19603, 19613, 19629, 19645, 19676, 19698, 19720, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 1, 2646, 241, {1345,2365,2948,2404,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{5062,2380,19745,19754,0,0,0,0,0,0,0,0},{6517,2396,19762,19774,0,0,0,0,0}},
+       {10287, 1345, 1979, 1959, 44, 55, 19785, 19817, {19849, 19865, 19884, 19906, 19925, 19944, 19972}, {20000, 20008, 20019, 20033, 20044, 20055, 20072}, {20086, 20090, 20097, 20104, 20114, 20121, 20134}, {20141, 20157, 20176, 20189, 20208, 20215, 20225, 20241, 20254, 20270, 20289, 20305, 0}, {20141, 20157, 20176, 20189, 20208, 20215, 20225, 20241, 20254, 20270, 20289, 20305, 0}, {6634, 6636, 6638, 6640, 20208, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 20208, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 0, 2646, 241, {1345,2365,2948,2404,1319,0,0,0,0,0,0,0,0,0},{10287,3777,0,0,0,0,0,0},{1959,1951,331,274,0,0,0,0,0,0,0,0},{1979,1968,323,280,0,0,0,0,0}},
+       {5566, 1345, 280, 274, 44, 55, 20321, 20362, {20403, 20422, 20441, 20463, 20482, 20504, 20529}, {20548, 20558, 20568, 20581, 20591, 20604, 20620}, {20630, 20634, 20641, 20648, 20655, 20662, 20669}, {20673, 20701, 20729, 20745, 20764, 20771, 20781, 20797, 20813, 20841, 20863, 20885, 0}, {20673, 20701, 20729, 20745, 20764, 20771, 20781, 20797, 20813, 20841, 20863, 20885, 0}, {20910, 20929, 20729, 20745, 20764, 20771, 20781, 20797, 20948, 20964, 20980, 20990, 0}, {20910, 20929, 20729, 20745, 20764, 20771, 20781, 20797, 20948, 20964, 20980, 20990, 0}, 0, 0, 2646, 241, {1345,2365,2948,2404,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,1959,1951,0,0,0,0,0,0,0,0},{280,323,1979,1968,0,0,0,0,0}},
+       {5566, 1345, 280, 274, 44, 55, 7932, 21003, {21006, 21025, 21044, 21069, 21088, 21110, 21135}, {21154, 21164, 21174, 21190, 21200, 21213, 21229}, {21239, 21243, 21250, 21254, 21261, 21268, 21275}, {21279, 21301, 21332, 21354, 21373, 21380, 21390, 21406, 21422, 21453, 21475, 21497, 0}, {21279, 21301, 21332, 21354, 21373, 21380, 21390, 21406, 21422, 21453, 21475, 21497, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 0, 2646, 241, {1345,2365,2948,2404,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,1959,1951,0,0,0,0,0,0,0,0},{280,323,1979,1968,0,0,0,0,0}},
+       {5566, 2404, 280, 274, 2015, 352, 21522, 21547, {21572, 21591, 21613, 21638, 21654, 21676, 21695}, {21705, 21712, 21719, 21726, 21733, 21740, 21747}, {21705, 21712, 21719, 21726, 21733, 21740, 21747}, {21751, 21767, 21792, 21811, 21830, 21837, 21850, 21863, 21882, 21913, 21938, 21960, 0}, {21751, 21767, 21792, 21811, 21830, 21837, 21850, 21985, 21882, 21913, 21938, 21960, 0}, {22004, 22012, 22026, 22040, 21830, 21837, 21850, 22051, 22059, 22073, 22084, 22092, 0}, {22004, 22012, 22026, 22040, 21830, 21837, 21850, 22051, 22059, 22073, 22084, 22092, 0}, 0, 0, 2646, 241, {2404,1345,2365,2948,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,1959,1951,0,0,0,0,0,0,0,0},{280,323,1979,1968,0,0,0,0,0}},
+       {5566, 1345, 280, 274, 44, 3817, 22103, 22134, {22159, 22181, 22203, 22228, 22250, 22275, 22303}, {22325, 22335, 22345, 22358, 22368, 22381, 22397}, {22407, 22411, 22418, 22422, 22429, 22436, 22443}, {22447, 22463, 22488, 22507, 22529, 22536, 22549, 22562, 22581, 22612, 22637, 22656, 0}, {22447, 22463, 22488, 22507, 22529, 22536, 22549, 22562, 22581, 22612, 22637, 22656, 0}, {22681, 22688, 6638, 22704, 22529, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {22681, 22688, 6638, 22704, 22529, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 0, 2646, 241, {1345,2365,2948,2404,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,1959,1951,0,0,0,0,0,0,0,0},{280,323,1979,1968,0,0,0,0,0}},
+       {5566, 1345, 280, 274, 44, 3817, 3824, 3827, {22720, 22739, 22758, 22780, 22799, 22821, 22846}, {22865, 22870, 22878, 22886, 22894, 22902, 22910}, {22921, 22925, 22932, 22939, 22946, 22953, 22960}, {22964, 22980, 23005, 23024, 23046, 23053, 23066, 23079, 23098, 23126, 23151, 23173, 0}, {22964, 22980, 23005, 23024, 23046, 23053, 23066, 23079, 23098, 23126, 23151, 23173, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 0, 2646, 241, {1345,2365,2948,2404,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,1959,1951,0,0,0,0,0,0,0,0},{280,323,1979,1968,0,0,0,0,0}},
+       {5566, 1345, 6517, 5062, 44, 18811, 23198, 23217, {23248, 23273, 23304, 23332, 23357, 23385, 23419}, {23444, 23463, 23488, 23504, 23523, 23542, 23561}, {23571, 23578, 23585, 23592, 23599, 23612, 23619}, {23623, 23642, 23670, 23698, 23723, 23736, 23752, 23765, 23790, 23827, 23855, 23877, 0}, {23623, 23642, 23670, 23698, 23723, 23736, 23752, 23765, 23790, 23827, 23855, 23877, 0}, {23902, 23912, 23931, 23947, 23723, 23736, 23752, 23963, 23970, 23995, 24011, 24021, 0}, {23902, 23912, 23931, 23947, 23723, 23736, 23752, 23963, 23970, 23995, 24011, 24021, 0}, 0, 0, 2646, 241, {1345,2365,2948,2404,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{5062,2380,19745,19754,0,0,0,0,0,0,0,0},{6517,2396,19762,19774,0,0,0,0,0}},
+       {24034, 2404, 1968, 1951, 24053, 352, 24061, 24089, {24111, 24130, 24149, 24174, 24193, 24227, 24252}, {24271, 19372, 19382, 19398, 24281, 24306, 19449}, {0, 0, 0, 0, 0, 0, 0}, {24322, 24347, 24378, 24394, 19596, 19603, 19613, 24413, 24429, 24460, 24482, 24504, 0}, {24322, 24347, 24378, 24394, 19596, 19603, 19613, 24413, 24429, 24460, 24482, 24504, 0}, {24529, 24542, 24378, 24394, 19596, 19603, 19613, 24561, 24568, 24584, 24600, 24610, 0}, {24529, 24542, 24378, 24394, 19596, 19603, 19613, 24561, 24568, 24584, 24600, 24610, 0}, 0, 0, 2646, 241, {2404,0,0,0,0,0,0,0,0,0,0,0,0,0},{24034,0,0,0,0,0,0,0},{1951,1959,0,0,0,0,0,0,0,0,0,0},{1968,1979,0,0,0,0,0,0,0}},
+       {5566, 2404, 280, 274, 44, 55, 3824, 3827, {16743, 16762, 24623, 16803, 24645, 16856, 16881}, {24667, 24677, 24687, 24700, 24710, 24723, 24739}, {16986, 16990, 16997, 17004, 17011, 17018, 17025}, {24749, 24774, 17061, 24805, 24824, 17103, 24831, 24844, 24860, 24885, 24907, 24935, 0}, {24749, 24774, 17061, 24805, 24824, 17103, 24831, 24844, 24860, 24885, 24907, 24935, 0}, {24957, 24970, 17061, 24989, 24824, 17103, 24831, 25005, 25012, 6652, 25034, 25056, 0}, {24957, 24970, 17061, 24989, 24824, 17103, 24831, 25005, 25012, 6652, 25034, 25056, 0}, 0, 0, 2646, 241, {2404,1345,2365,2948,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,1959,1951,0,0,0,0,0,0,0,0},{280,323,1979,1968,0,0,0,0,0}},
+       {25072, 1319, 280, 274, 25126, 5699, 0, 0, {25145, 25152, 25163, 25176, 25189, 25200, 25213}, {25224, 25229, 25234, 25239, 25244, 25249, 25254}, {0, 0, 0, 0, 0, 0, 0}, {25259, 25274, 25283, 25290, 25303, 25310, 25321, 25330, 25339, 25346, 25357, 25368, 0}, {25259, 25274, 25283, 25290, 25303, 25310, 25321, 25330, 25339, 25346, 25357, 25368, 0}, {25379, 25386, 25393, 25400, 25407, 25414, 25421, 25428, 25435, 25442, 25449, 25456, 0}, {25379, 25386, 25393, 25400, 25407, 25414, 25421, 25428, 25435, 25442, 25449, 25456, 0}, 0, 0, 2646, 241, {25463,1319,0,0,0,0,0,0,0,0,0,0,0,0},{25472,0,0,0,0,0,0,0},{331,0,0,0,0,0,0,0,0,0,0,0},{323,0,0,0,0,0,0,0,0}},
+       {25493, 1475, 280, 274, 25536, 25569, 25593, 25615, {25640, 25668, 25696, 25733, 25764, 25798, 25823}, {25857, 25873, 25889, 25914, 25933, 25955, 25974}, {25996, 26003, 26010, 26017, 26024, 26031, 26035}, {26045, 26079, 26116, 26150, 26184, 26215, 26252, 26289, 26329, 26363, 26397, 26446, 0}, {26045, 26079, 26116, 26150, 26184, 26215, 26252, 26289, 26329, 26363, 26397, 26446, 0}, {26495, 26508, 26521, 26534, 26547, 26560, 26573, 26586, 26599, 26612, 26628, 26644, 0}, {26495, 26508, 26521, 26534, 26547, 26560, 26573, 26586, 26599, 26612, 26628, 26644, 0}, 0, 0, 239, 241, {1475,1827,1836,1856,1319,1845,1867,1874,1881,0,0,0,0,0},{25493,26660,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
+       {3777, 14, 280, 274, 2015, 352, 0, 0, {26708, 26717, 26727, 26739, 26752, 26761, 26773}, {26785, 26789, 26794, 26798, 26802, 26806, 26810}, {2131, 2516, 2508, 2508, 14666, 6308, 2131}, {26814, 26821, 26830, 26837, 2826, 26844, 26852, 26863, 26868, 26873, 26880, 26889, 0}, {26814, 26821, 26830, 26837, 2826, 26844, 26897, 26863, 26868, 26873, 26880, 26889, 0}, {26907, 26911, 26794, 26916, 2826, 26920, 26924, 26863, 26868, 26928, 26932, 26937, 0}, {26907, 26911, 26794, 26916, 2826, 26920, 26924, 26863, 26868, 26928, 26932, 26937, 0}, 2, 0, 239, 241, {243,14,1338,2948,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,35,3052,0,0,0,0,0,0,0,0},{280,323,23,3041,0,0,0,0,0}},
+       {3777, 14, 280, 331, 26942, 352, 26977, 26993, {27009, 27043, 27074, 27105, 27127, 27170, 27198}, {27223, 27230, 27234, 27238, 27245, 27255, 27262}, {0, 0, 0, 0, 0, 0, 0}, {27266, 27279, 27298, 27311, 27324, 27337, 27356, 27375, 27388, 27404, 27417, 27442, 0}, {27266, 27279, 27298, 27311, 27324, 27337, 27356, 27375, 27388, 27404, 27417, 27442, 0}, {27455, 27459, 27463, 27467, 27471, 27475, 27479, 27483, 27487, 27491, 27498, 27505, 0}, {27455, 27459, 27463, 27467, 27471, 27475, 27479, 27483, 27487, 27491, 27498, 27505, 0}, 0, 0, 239, 241, {1319,0,0,0,0,0,0,0,0,0,0,0,0,0},{3777,9999,0,0,0,0,0,0},{27512,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
+       {5566, 243, 280, 274, 2015, 352, 27520, 27545, {27570, 27595, 27614, 27642, 27661, 27686, 27705}, {27727, 27735, 27740, 27745, 27750, 27758, 27766}, {0, 0, 0, 0, 0, 0, 0}, {27771, 27790, 27806, 27819, 27832, 27854, 27873, 27895, 27911, 27927, 27940, 27956, 0}, {27771, 27790, 27806, 27819, 27832, 27854, 27873, 27895, 27911, 27927, 27940, 27956, 0}, {27972, 27981, 27990, 28002, 28012, 28021, 28033, 28042, 28051, 28060, 28069, 28078, 0}, {27972, 27981, 27990, 28002, 28012, 28021, 28033, 28042, 28051, 28060, 28069, 28078, 0}, 0, 0, 239, 241, {243,1319,0,0,0,0,0,0,0,0,0,0,0,0},{5566,0,0,0,0,0,0,0},{27512,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
+       {4290, 243, 323, 331, 949, 4096, 964, 969, {28087, 28095, 28100, 28107, 28117, 28123, 28130}, {28138, 28142, 3971, 28146, 28151, 28155, 28159}, {2797, 2516, 2508, 2508, 4189, 4193, 2131}, {28164, 28172, 6327, 28181, 28187, 28192, 28198, 6361, 28204, 28213, 28221, 28230, 0}, {28164, 28172, 6327, 28181, 28187, 28192, 28198, 6361, 28204, 28213, 28221, 28230, 0}, {28239, 2887, 3971, 28243, 2826, 28247, 28252, 18952, 17483, 28256, 2920, 3979, 0}, {28239, 2887, 3971, 28243, 2826, 28247, 28252, 18952, 17483, 28256, 2920, 3979, 0}, 2, 1, 239, 241, {243,14,1330,1338,1345,1354,1319,0,0,0,0,0,0,0},{4290,4319,4346,0,0,0,0,0},{331,274,35,1421,0,0,0,0,0,0,0,0},{323,280,23,1433,0,0,0,0,0}},
+       {5566, 2404, 280, 274, 44, 55, 28260, 28272, {28284, 16762, 28312, 16803, 24645, 16856, 16881}, {24667, 24677, 24687, 24700, 24710, 24723, 24739}, {0, 0, 0, 0, 0, 0, 0}, {24749, 24774, 17061, 24805, 24824, 17103, 24831, 28331, 28347, 28375, 24907, 24935, 0}, {24749, 24774, 17061, 24805, 24824, 17103, 24831, 28331, 28347, 28375, 24907, 24935, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 0, 2646, 241, {2404,1345,2365,2948,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,1959,1951,0,0,0,0,0,0,0,0},{280,323,1979,1968,0,0,0,0,0}},
+       {28397, 1319, 1968, 1951, 28445, 18811, 28455, 28467, {28476, 28492, 28508, 28536, 28552, 28595, 28620}, {28648, 28658, 28668, 28675, 28685, 28701, 28714}, {28724, 28728, 28732, 28736, 28740, 28753, 28760}, {28767, 28786, 28811, 28830, 28855, 28868, 28881, 28894, 28916, 28950, 28975, 29003, 0}, {28767, 28786, 28811, 28830, 28855, 28868, 28881, 28894, 28916, 28950, 28975, 29003, 0}, {29031, 29038, 29048, 28830, 28855, 28868, 28881, 29061, 29071, 29084, 29094, 29107, 0}, {29031, 29038, 29048, 28830, 28855, 28868, 28881, 29061, 29071, 29084, 29094, 29107, 0}, 0, 1, 2646, 241, {1319,1845,1888,243,14,0,0,0,0,0,0,0,0,0},{28397,0,0,0,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {29120, 3032, 3041, 3052, 2015, 29152, 29168, 29178, {29191, 29201, 29208, 29221, 29231, 29241, 29251}, {29191, 29201, 29261, 29221, 29231, 29241, 29251}, {29271, 29275, 29279, 29283, 29287, 29291, 29295}, {29299, 29315, 29331, 29341, 29354, 29361, 29368, 29378, 29391, 29410, 29429, 29445, 0}, {29299, 29315, 29331, 29341, 29354, 29361, 29368, 29378, 29391, 29410, 29429, 29445, 0}, {29461, 29471, 29331, 29481, 29354, 29361, 29368, 29491, 29501, 29511, 29521, 29531, 0}, {29461, 29471, 29331, 29481, 29354, 29361, 29368, 29491, 29501, 29511, 29521, 29531, 0}, 0, 0, 239, 241, {3032,1319,0,0,0,0,0,0,0,0,0,0,0,0},{29120,0,0,0,0,0,0,0},{3052,0,0,0,0,0,0,0,0,0,0,0},{3041,0,0,0,0,0,0,0,0}},
+       {4054, 2404, 323, 331, 44, 352, 29541, 29551, {29564, 29571, 29577, 29584, 29590, 29596, 29604}, {29614, 29618, 29622, 29626, 29630, 29634, 29638}, {12392, 12392, 12392, 12392, 12392, 12392, 12392}, {29644, 29653, 29662, 29667, 29673, 29679, 29685, 29692, 29698, 29707, 29716, 29724, 0}, {29644, 29653, 29662, 29667, 29673, 29679, 29685, 29692, 29698, 29707, 29716, 29724, 0}, {29733, 29737, 3971, 29741, 3940, 29745, 29749, 29753, 29758, 29762, 29768, 29772, 0}, {29733, 29737, 3971, 29741, 3940, 29745, 29749, 29753, 29758, 29762, 29768, 29772, 0}, 0, 0, 2646, 241, {2404,1345,1319,0,0,0,0,0,0,0,0,0,0,0},{4054,254,0,0,0,0,0,0},{331,274,29776,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {4020, 3808, 3041, 3052, 29782, 55, 29792, 29833, {29874, 29893, 29912, 29937, 29956, 29978, 30003}, {30022, 24677, 30032, 24700, 30048, 24723, 24739}, {30061, 30065, 30069, 30073, 30077, 30081, 30085}, {17029, 30089, 17061, 30117, 24824, 30136, 17113, 17129, 30146, 30177, 30199, 30224, 0}, {17029, 30089, 17061, 30117, 24824, 30136, 17113, 17129, 30146, 30177, 30199, 30224, 0}, {30249, 30256, 17061, 30266, 24824, 30136, 30282, 30295, 30302, 30318, 30334, 30347, 0}, {30249, 30256, 17061, 30266, 24824, 30136, 30282, 30295, 30302, 30318, 30334, 30347, 0}, 0, 0, 239, 241, {3808,3983,3990,3999,1888,1319,4010,0,0,0,0,0,0,0},{4020,4040,254,4054,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {30360, 1475, 3041, 3052, 2015, 352, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {30381, 30388, 30397, 30412, 30423, 30432, 30439, 30446, 30453, 30464, 30477, 30490, 0}, {30381, 30388, 30397, 30412, 30423, 30432, 30439, 30446, 30453, 30464, 30477, 30490, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 6, 239, 241, {14,243,0,0,0,0,0,0,0,0,0,0,0,0},{243,1,254,30495,0,0,0,0},{3052,331,0,0,0,0,0,0,0,0,0,0},{3041,323,0,0,0,0,0,0,0}},
+       {4020, 3808, 3041, 3052, 44, 30513, 3824, 3827, {30519, 30526, 28100, 30532, 30543, 30551, 30560}, {30567, 28142, 3971, 30571, 30575, 30579, 10569}, {2516, 2516, 2508, 2508, 5774, 15561, 2131}, {30583, 30589, 30597, 28181, 30603, 30608, 30614, 6361, 30620, 30630, 30638, 30648, 0}, {30583, 30589, 30597, 28181, 30603, 30608, 30614, 6361, 30620, 30630, 30638, 30648, 0}, {30658, 30662, 3971, 28243, 3940, 30666, 30670, 18952, 17483, 2916, 30674, 15509, 0}, {30658, 30662, 3971, 28243, 3940, 30666, 30670, 18952, 17483, 2916, 30674, 15509, 0}, 0, 0, 239, 241, {3808,3983,3990,3999,1888,1319,4010,0,0,0,0,0,0,0},{4020,4040,254,4054,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {4020, 3032, 3041, 3052, 44, 352, 0, 0, {30678, 30685, 30693, 30700, 30707, 30715, 30723}, {30730, 30733, 30736, 30739, 30742, 30745, 30748}, {2516, 2516, 2510, 2516, 12392, 4191, 12392}, {30751, 30759, 30769, 30775, 30783, 30788, 30793, 30798, 30805, 18937, 30813, 30821, 0}, {30751, 30759, 30769, 30775, 30783, 30788, 30793, 30798, 30805, 18937, 30813, 30821, 0}, {2883, 30829, 3971, 30833, 3940, 29745, 29749, 30837, 3911, 2916, 30841, 15509, 0}, {2883, 30829, 3971, 30833, 3940, 29745, 29749, 30837, 3911, 2916, 30841, 15509, 0}, 0, 0, 239, 241, {3032,1338,14,243,1888,1319,4010,0,0,0,0,0,0,0},{4020,4040,254,4054,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {254, 3032, 3041, 3052, 29782, 55, 30845, 30856, {30866, 30884, 30899, 30921, 30934, 30948, 30965}, {30989, 30997, 31002, 30921, 30934, 31014, 31021}, {0, 0, 0, 0, 0, 0, 0}, {31035, 31057, 31073, 31093, 31107, 31124, 31139, 31156, 31170, 31183, 31202, 31216, 0}, {31035, 31057, 31073, 31093, 31107, 31124, 31139, 31156, 31170, 31183, 31202, 31216, 0}, {31235, 31250, 31259, 31272, 31279, 31289, 31297, 31307, 31314, 31320, 31332, 31339, 0}, {31235, 31250, 31259, 31272, 31279, 31289, 31297, 31307, 31314, 31320, 31332, 31339, 0}, 0, 0, 239, 241, {3032,1338,14,243,1888,1319,4010,0,0,0,0,0,0,0},{4020,4040,254,4054,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {5566, 14, 23, 35, 2015, 3817, 0, 0, {31351, 31359, 15084, 15093, 15102, 31370, 31380}, {15549, 15134, 15138, 15142, 15146, 15403, 31389}, {0, 0, 0, 0, 0, 0, 0}, {31393, 31402, 31412, 31420, 10598, 3944, 31428, 31434, 31443, 31452, 31461, 31470, 0}, {31393, 31402, 31412, 31420, 10598, 3944, 31428, 31434, 31443, 31452, 31461, 31470, 0}, {2883, 2887, 15153, 31479, 10598, 2900, 2904, 18952, 17483, 2916, 31483, 15509, 0}, {2883, 2887, 15153, 31479, 10598, 2900, 2904, 18952, 17483, 2916, 31483, 15509, 0}, 0, 0, 239, 241, {1845,1888,1319,0,0,0,0,0,0,0,0,0,0,0},{5566,0,0,0,0,0,0,0},{35,3052,274,0,0,0,0,0,0,0,0,0},{23,3041,280,0,0,0,0,0,0}},
+       {31487, 2404, 280, 274, 2015, 31506, 31519, 31524, {31529, 31536, 31551, 31565, 31581, 31596, 31612}, {6304, 31627, 2610, 31631, 31635, 31639, 31643}, {2131, 12392, 2508, 2126, 2131, 2510, 12392}, {7251, 7259, 31647, 31654, 31661, 2549, 2554, 31666, 31676, 31687, 31696, 31706, 0}, {7251, 7259, 31647, 31654, 31661, 2549, 2554, 31666, 31676, 31687, 31696, 31706, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 2626, 2630, 2634, 2638, 2642, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 2626, 2630, 2634, 2638, 2642, 0}, 0, 0, 2646, 241, {2404,1345,1319,2648,0,0,0,0,0,0,0,0,0,0},{1991,2659,0,0,0,0,0,0},{274,331,0,0,0,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {4020, 3032, 2385, 2372, 44, 352, 31716, 31721, {31726, 31742, 31750, 31758, 31767, 31779, 31789}, {31799, 31805, 31811, 31815, 31819, 31827, 3911}, {0, 0, 0, 0, 0, 0, 0}, {31834, 31847, 31861, 31870, 31876, 31880, 31885, 31893, 15464, 31906, 15481, 15489, 0}, {31834, 31847, 31861, 31870, 31876, 31880, 31885, 31893, 15464, 31906, 15481, 15489, 0}, {31915, 2887, 31919, 15497, 31876, 31923, 2904, 31927, 2912, 31935, 2920, 15509, 0}, {31915, 2887, 31919, 15497, 31876, 31923, 2904, 31927, 2912, 31935, 2920, 15509, 0}, 0, 0, 239, 241, {3032,1338,14,243,1888,1319,4010,0,0,0,0,0,0,0},{4020,4040,254,4054,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {31941, 1475, 1968, 1951, 31965, 31982, 32009, 32016, {32023, 32033, 32043, 32053, 32063, 32073, 32083}, {32093, 32100, 32107, 32114, 32121, 32128, 32135}, {32142, 32146, 32150, 32154, 32158, 32162, 32166}, {32170, 32177, 32184, 32191, 32198, 32205, 32212, 32219, 32226, 32233, 32240, 32250, 0}, {32170, 32177, 32184, 32191, 32198, 32205, 32212, 32219, 32226, 32233, 32240, 32250, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 0, 239, 241, {1475,1827,1836,1856,1319,1845,0,0,0,0,0,0,0,0},{31941,32260,32290,0,0,0,0,0},{1951,331,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {4834, 243, 280, 274, 2015, 352, 0, 0, {26785, 28142, 32320, 32327, 32337, 32342, 32349}, {32356, 4167, 32360, 4918, 32365, 32370, 32375}, {4467, 32380, 32383, 32386, 32389, 32392, 32395}, {32398, 32405, 32320, 32416, 32422, 32426, 32435, 32442, 32447, 32456, 8292, 32461, 0}, {32398, 32405, 32320, 32416, 32422, 32426, 32435, 32442, 32447, 32456, 8292, 32461, 0}, {32467, 32471, 32478, 26916, 32422, 32483, 32488, 32442, 32493, 32456, 8292, 32498, 0}, {32467, 32471, 32478, 26916, 32422, 32483, 32488, 32442, 32493, 32456, 8292, 32498, 0}, 2, 1, 239, 241, {243,14,1354,1345,1319,0,0,0,0,0,0,0,0,0},{4834,5053,3777,0,0,0,0,0},{274,331,5062,5068,5078,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {32502, 243, 6517, 5068, 949, 352, 0, 0, {32524, 32532, 32539, 32547, 32557, 32565, 1025}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {32576, 32584, 1082, 1088, 4966, 32593, 32598, 1111, 1117, 32605, 1134, 32614, 0}, {32576, 32584, 1082, 1088, 4966, 32593, 32598, 1111, 1117, 32605, 1134, 32614, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 2, 1, 239, 241, {243,14,1354,1345,1319,0,0,0,0,0,0,0,0,0},{32623,0,0,0,0,0,0,0},{274,331,5062,5068,5078,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {4834, 243, 280, 274, 2015, 2025, 32651, 32656, {32661, 32669, 32679, 32689, 32698, 32708, 32716}, {32726, 32730, 32735, 32739, 32743, 32747, 32751}, {2131, 2508, 2797, 2508, 2797, 2514, 2131}, {2799, 2806, 2814, 2820, 2826, 2830, 2835, 32755, 32764, 32775, 32784, 32794, 0}, {2799, 2806, 2814, 2820, 2826, 2830, 2835, 32755, 32764, 32775, 32784, 32794, 0}, {2883, 2887, 2891, 2896, 2826, 2900, 2904, 2908, 2912, 2916, 2920, 2924, 0}, {2883, 2887, 2891, 2896, 2826, 2900, 2904, 2908, 2912, 2916, 2920, 2924, 0}, 0, 0, 239, 241, {243,14,1354,1345,1319,0,0,0,0,0,0,0,0,0},{4834,5053,3777,0,0,0,0,0},{274,331,5062,5068,5078,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {32804, 2692, 323, 331, 32839, 32855, 32873, 32878, {32883, 32908, 32937, 32962, 32975, 32990, 33007}, {33022, 33027, 33032, 33037, 33042, 33047, 8601}, {33052, 33052, 33055, 8612, 8615, 33052, 8612}, {33058, 33077, 33092, 33114, 33134, 33150, 33166, 33180, 33206, 33230, 33247, 33264, 0}, {33058, 33077, 33092, 33114, 33134, 33150, 33166, 33180, 33206, 33230, 33247, 33264, 0}, {33281, 33290, 33299, 33313, 33327, 33339, 33351, 33361, 33377, 33391, 33398, 33405, 0}, {33281, 33290, 33299, 33313, 33327, 33339, 33351, 33361, 33377, 33391, 33398, 33405, 0}, 0, 1, 756, 241, {33412,33423,2948,3990,33432,0,0,0,0,0,0,0,0,0},{33443,33461,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {33480, 14193, 323, 331, 2015, 18811, 0, 0, {33500, 33512, 33523, 33535, 33547, 33557, 33569}, {33584, 33589, 33594, 33599, 33604, 33609, 33614}, {0, 0, 0, 0, 0, 0, 0}, {33619, 33628, 33640, 33648, 33653, 33663, 33670, 33679, 33686, 33692, 33701, 33712, 0}, {33619, 33628, 33640, 33648, 33653, 33663, 33670, 33679, 33686, 33692, 33701, 33712, 0}, {33720, 33725, 33730, 33735, 33740, 33745, 33750, 33604, 33755, 33760, 33765, 33770, 0}, {33720, 33725, 33730, 33735, 33740, 33745, 33750, 33604, 33755, 33760, 33765, 33770, 0}, 0, 0, 239, 241, {3808,3983,3990,3999,1888,1319,4010,0,0,0,0,0,0,0},{4020,4040,254,4054,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {5566, 243, 280, 274, 2015, 352, 6087, 6092, {33775, 33788, 33796, 33805, 33815, 33825, 33834}, {33846, 33850, 33854, 33858, 33862, 33866, 33870}, {2797, 2516, 2508, 7493, 12392, 5774, 2131}, {33874, 33888, 33899, 33908, 33919, 33931, 33945, 33957, 33970, 33983, 33995, 34008, 0}, {33874, 33888, 33899, 33908, 33919, 33931, 33945, 33957, 33970, 33983, 33995, 34008, 0}, {34022, 34027, 34033, 34039, 34044, 34050, 34056, 34061, 34067, 34072, 18215, 34078, 0}, {34022, 34027, 34033, 34039, 34044, 34050, 34056, 34061, 34067, 34072, 18215, 34078, 0}, 2, 0, 239, 241, {243,14,1338,2948,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,35,3052,0,0,0,0,0,0,0,0},{280,323,23,3041,0,0,0,0,0}},
        {1, 14, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {14,243,0,0,0,0,0,0,0,0,0,0,0,0},{1,254,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
-       {289, 308, 323, 338, 350, 55, 366, 378, {390, 403, 424, 439, 450, 469, 480}, {493, 498, 503, 508, 513, 518, 523}, {528, 531, 534, 537, 540, 531, 537}, {543, 556, 573, 582, 593, 600, 607, 614, 627, 646, 663, 678, 0}, {543, 556, 573, 582, 593, 600, 607, 614, 627, 646, 663, 678, 0}, {695, 701, 573, 711, 593, 600, 607, 719, 727, 737, 745, 755, 0}, {695, 701, 573, 711, 593, 600, 607, 719, 727, 737, 745, 755, 0}, 2, 1, 763, 241, {308,765,781,797,0,0,0,0,0,0,0,0,0,0},{289,814,832,857,0,0,0,0},{338,881,0,0,0,0,0,0,0,0,0,0},{323,892,0,0,0,0,0,0,0}},
-       {906, 243, 280, 274, 932, 55, 946, 951, {956, 965, 973, 981, 990, 997, 1007}, {1016, 1019, 1022, 1025, 1028, 1031, 1034}, {1037, 1039, 1041, 1043, 1045, 1047, 1049}, {1051, 1057, 1064, 1070, 1076, 1081, 1086, 1093, 1099, 1108, 1116, 1125, 0}, {1134, 1143, 1153, 1162, 1172, 1180, 1188, 1198, 1208, 1220, 1232, 1244, 0}, {1256, 1261, 1064, 1267, 1076, 1081, 1272, 1277, 1281, 1286, 1291, 1296, 0}, {1256, 1261, 1064, 1267, 1076, 1081, 1272, 1277, 1281, 1286, 1291, 1296, 0}, 2, 1, 239, 241, {243,14,1301,1312,1320,1327,1336,0,0,0,0,0,0,0},{906,1345,1361,0,0,0,0,0},{274,1377,1382,0,0,0,0,0,0,0,0,0},{280,1394,1402,0,0,0,0,0,0}},
-       {1422, 1444, 1948, 1928, 1453, 1469, 1482, 1489, {1496, 1506, 1516, 1526, 1536, 1546, 1556}, {33611, 33618, 33625, 33632, 33639, 33646, 33653}, {1615, 1619, 1623, 1627, 1631, 1635, 1639}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, 0, 0, 239, 241, {1444,1814,1301,0,0,0,0,0,0,0,0,0,0,0},{1422,6639,0,0,0,0,0,0},{1928,1920,274,1377,0,0,0,0,0,0,0,0},{1948,1937,280,1394,0,0,0,0,0}},
-       {1960, 1973, 1394, 1377, 1982, 55, 1992, 1997, {2002, 2010, 2020, 2028, 2036, 2045, 2052}, {2059, 2062, 2065, 2069, 2072, 2076, 2080}, {2083, 2085, 2087, 2090, 2092, 2085, 2090}, {2095, 2101, 2107, 2115, 2121, 2129, 2137, 2147, 2153, 2161, 2169, 2178, 0}, {2187, 2193, 2200, 2208, 2214, 2222, 2230, 2240, 2153, 2246, 2254, 2264, 0}, {2273, 2276, 2279, 2282, 2285, 2288, 2291, 2294, 2297, 2300, 2304, 2308, 0}, {2273, 2276, 2279, 2282, 2285, 2288, 2291, 2294, 2297, 2300, 2304, 2308, 0}, 2, 1, 763, 241, {1973,2312,1301,1796,1836,0,0,0,0,0,0,0,0,0},{1960,0,0,0,0,0,0,0},{1377,274,2319,2327,0,0,0,0,0,0,0,0},{1394,280,2332,2343,0,0,0,0,0}},
-       {1960, 2351, 280, 274, 1982, 2362, 2370, 2375, {2380, 2388, 2395, 2403, 2410, 2418, 2425}, {2433, 2438, 2442, 2446, 2450, 2454, 2458}, {2090, 2463, 2465, 2467, 2465, 2469, 2471}, {2473, 2480, 2488, 2494, 2500, 2504, 2509, 2514, 2521, 2531, 2539, 2548, 0}, {2473, 2480, 2488, 2494, 2500, 2504, 2509, 2514, 2521, 2531, 2539, 2548, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 2581, 2585, 2589, 2593, 2597, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 2581, 2585, 2589, 2593, 2597, 0}, 2, 1, 2601, 241, {2351,1327,1301,2603,0,0,0,0,0,0,0,0,0,0},{1960,2614,0,0,0,0,0,0},{274,1377,0,0,0,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {2628, 2647, 280, 274, 1982, 55, 2658, 2664, {2671, 2679, 2686, 2695, 2704, 2715, 2723}, {2731, 2734, 2737, 2740, 2743, 2746, 2749}, {2090, 2463, 2752, 2463, 2752, 2469, 2090}, {2754, 2761, 2769, 2775, 2781, 2785, 2790, 2795, 2802, 2812, 2820, 2829, 0}, {2754, 2761, 2769, 2775, 2781, 2785, 2790, 2795, 2802, 2812, 2820, 2829, 0}, {2838, 2842, 2846, 2851, 2781, 2855, 2859, 2863, 2867, 2871, 2875, 2879, 0}, {2838, 2842, 2846, 2851, 2781, 2855, 2859, 2863, 2867, 2871, 2875, 2879, 0}, 2, 1, 763, 241, {2647,2883,1336,2895,2903,1973,1301,0,0,0,0,0,0,0},{2628,1960,2910,0,0,0,0,0},{274,1377,2327,2922,0,0,0,0,0,0,0,0},{280,2933,2947,2962,0,0,0,0,0}},
-       {2969, 2987, 2996, 3007, 1982, 55, 3015, 3022, {3029, 3044, 3059, 3070, 3085, 3098, 3117}, {3132, 3139, 3146, 3153, 3160, 3167, 3174}, {3181, 3184, 3187, 3187, 3190, 3190, 3193}, {3196, 3217, 3240, 3255, 3272, 3283, 3298, 3313, 3332, 3355, 3374, 3393, 0}, {3414, 3435, 3458, 3473, 3490, 3501, 3516, 3531, 3550, 3573, 3592, 3611, 0}, {3632, 3639, 3646, 3653, 3660, 3667, 3676, 3685, 3692, 3699, 3706, 3713, 0}, {3632, 3639, 3646, 3653, 3660, 3667, 3676, 3685, 3692, 3699, 3706, 3713, 0}, 2, 1, 239, 241, {2987,243,1320,14,3720,1301,0,0,0,0,0,0,0,0},{2969,3732,0,0,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {3744, 3764, 2996, 3007, 44, 3773, 3781, 3784, {3787, 3794, 3801, 3809, 3819, 3828, 3835}, {3844, 3848, 3852, 3856, 3860, 3864, 3868}, {2090, 2463, 2465, 3872, 2465, 2469, 2090}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, 0, 0, 239, 241, {3764,3940,3947,3956,1857,1301,3967,0,0,0,0,0,0,0},{3744,3977,254,3991,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {4280, 1973, 1394, 1377, 1982, 4297, 4309, 4313, {4317, 4329, 4341, 4351, 4365, 4375, 4387}, {4398, 4401, 4404, 4407, 4410, 4413, 4416}, {2090, 2463, 2465, 4419, 2465, 2085, 2471}, {4421, 4430, 4439, 4449, 4458, 4467, 4476, 4486, 4493, 4501, 4509, 4519, 0}, {4528, 4539, 4550, 4562, 4573, 4584, 4595, 4607, 4616, 4626, 4636, 4648, 0}, {4659, 4665, 4671, 4678, 4684, 4690, 4696, 4703, 4707, 4712, 4717, 4724, 0}, {4659, 4665, 4671, 4678, 4684, 4690, 4696, 4703, 4707, 4712, 4717, 4724, 0}, 2, 1, 763, 241, {1973,2647,2903,1301,0,0,0,0,0,0,0,0,0,0},{4280,4730,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {4748, 243, 280, 274, 1982, 4765, 3781, 3784, {4772, 4781, 4787, 4793, 4802, 4808, 4817}, {4824, 4829, 4834, 4839, 4844, 4849, 4854}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4859, 4867, 4876, 4881, 4887, 4891, 4896, 4904, 4910, 4920, 1116, 4928, 0}, {4859, 4867, 4876, 4881, 4887, 4891, 4896, 4904, 4910, 4920, 1116, 4928, 0}, {4938, 4944, 4876, 4951, 4887, 4891, 4956, 4904, 4962, 1286, 1291, 4968, 0}, {4938, 4944, 4876, 4951, 4887, 4891, 4956, 4904, 4962, 1286, 1291, 4968, 0}, 2, 1, 239, 241, {243,14,1336,1327,1301,0,0,0,0,0,0,0,0,0},{4748,4974,3732,0,0,0,0,0},{274,1377,4983,4989,4999,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {5007, 243, 280, 274, 1982, 55, 5025, 5038, {5049, 5067, 5081, 5099, 5117, 5135, 5151}, {5165, 5177, 5189, 5201, 5213, 5225, 5237}, {5244, 5247, 5250, 5253, 5256, 5259, 5262}, {5265, 5276, 5289, 5296, 5307, 5314, 5323, 5332, 5345, 5358, 5373, 5386, 0}, {5265, 5276, 5289, 5296, 5307, 5314, 5323, 5332, 5345, 5358, 5373, 5386, 0}, {5397, 5406, 5289, 5415, 5307, 5424, 5433, 5442, 5451, 5460, 5469, 5478, 0}, {5397, 5406, 5289, 5415, 5307, 5424, 5433, 5442, 5451, 5460, 5469, 5478, 0}, 0, 0, 239, 241, {243,5487,14,1,1327,2351,5500,1301,5513,5530,0,0,0,0},{5007,5487,5540,5562,5513,0,0,0},{274,35,0,0,0,0,0,0,0,0,0,0},{280,23,0,0,0,0,0,0,0}},
-       {5583, 5597, 1394, 1377, 5609, 5620, 5628, 5632, {5636, 5646, 5654, 5659, 5666, 5679, 5687}, {4134, 5695, 4419, 5697, 5701, 2085, 5704}, {4134, 5695, 4419, 5708, 5701, 2085, 5708}, {5711, 5719, 5728, 5737, 5746, 5753, 5761, 5769, 5779, 5790, 2539, 2548, 0}, {5711, 5719, 5728, 5737, 5746, 5753, 5761, 5769, 5779, 5790, 2539, 2548, 0}, {5799, 1261, 5804, 5811, 5817, 5823, 5829, 5835, 5840, 5847, 1291, 5852, 0}, {5799, 1261, 5804, 5811, 5817, 5823, 5829, 5835, 5840, 5847, 1291, 5852, 0}, 0, 1, 763, 241, {5597,5857,1301,5871,0,0,0,0,0,0,0,0,0,0},{5583,0,0,0,0,0,0,0},{1377,274,3007,0,0,0,0,0,0,0,0,0},{1394,280,2996,0,0,0,0,0,0}},
-       {1960, 1973, 280, 274, 1982, 2362, 5880, 5885, {5890, 5901, 5912, 5926, 5940, 5952, 5964}, {5976, 5980, 5985, 5990, 5995, 5999, 6004}, {1049, 6008, 6010, 6008, 6013, 6013, 1039}, {6015, 6023, 4876, 6032, 6039, 6044, 6051, 6058, 2521, 5790, 6066, 6076, 0}, {6015, 6023, 4876, 6032, 6039, 6044, 6051, 6058, 2521, 5790, 6066, 6076, 0}, {2557, 2561, 2565, 2569, 6039, 6085, 6090, 6095, 2585, 2589, 6101, 6106, 0}, {2557, 2561, 2565, 2569, 6039, 6085, 6090, 6095, 2585, 2589, 6101, 6106, 0}, 2, 1, 763, 241, {1973,1336,6110,6122,1301,6136,0,0,0,0,0,0,0,0},{1960,2614,0,0,0,0,0,0},{274,1377,0,0,0,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {4748, 243, 280, 274, 1982, 55, 6145, 6148, {6151, 6160, 6168, 6177, 6188, 6197, 6206}, {4104, 4108, 2565, 6213, 6217, 6221, 6225}, {2752, 2471, 2463, 2463, 6229, 4134, 2090}, {6231, 6239, 6248, 6254, 6261, 6268, 6275, 6282, 6289, 6299, 6307, 6316, 0}, {6325, 6333, 4150, 6342, 6349, 6356, 6363, 4173, 6370, 6380, 1116, 6388, 0}, {6397, 2561, 2565, 2569, 6401, 6405, 6409, 4219, 6413, 6417, 2593, 4227, 0}, {6397, 2561, 2565, 2569, 6401, 6405, 6409, 4219, 6413, 6417, 2593, 4227, 0}, 2, 1, 239, 241, {243,3720,14,6421,1320,1301,0,0,0,0,0,0,0,0},{4748,6429,3732,0,0,0,0,0},{274,1377,2327,4983,0,0,0,0,0,0,0,0},{280,2343,6438,0,0,0,0,0,0}},
-       {1422, 1814, 1394, 1377, 1453, 1469, 6447, 6454, {6461, 6471, 6481, 6491, 6501, 6511, 6521}, {1615, 6531, 6535, 6539, 6543, 6547, 6551}, {1615, 6531, 6535, 6539, 6543, 6547, 6551}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 0, 239, 241, {1814,1857,1843,1444,6582,6601,6618,1301,0,0,0,0,0,0},{1422,6639,6663,6690,0,0,0,0},{1377,274,1920,1928,0,0,0,0,0,0,0,0},{1394,280,1937,1948,0,0,0,0,0}},
-       {6719, 1301, 1937, 1920, 6748, 6765, 6779, 6786, {6793, 6803, 6813, 6823, 6833, 6843, 6853}, {6863, 6867, 6871, 6875, 6879, 6883, 6887}, {6863, 6867, 6871, 6875, 6879, 6883, 6887}, {6891, 6896, 6901, 6906, 6911, 6916, 6921, 6926, 6931, 6936, 6942, 6948, 0}, {6891, 6896, 6901, 6906, 6911, 6916, 6921, 6926, 6931, 6936, 6942, 6948, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 0, 2601, 241, {1301,5871,1836,1796,0,0,0,0,0,0,0,0,0,0},{6719,6954,6978,7005,7027,7058,0,0},{1920,1928,1377,274,0,0,0,0,0,0,0,0},{1937,1948,1394,280,0,0,0,0,0}},
-       {4748, 7084, 1394, 1377, 1982, 55, 946, 951, {7093, 7100, 7108, 7116, 7125, 7135, 7143}, {7152, 4401, 7155, 7158, 7161, 7164, 7167}, {7170, 2463, 2752, 3872, 2752, 4134, 7170}, {7172, 7180, 7189, 2494, 7195, 2504, 2509, 7199, 2521, 2531, 2539, 2548, 0}, {7172, 7180, 7189, 2494, 7195, 2504, 2509, 7199, 2521, 2531, 2539, 2548, 0}, {2557, 2561, 7208, 2569, 7195, 2573, 2577, 2581, 2585, 2589, 2593, 2597, 0}, {2557, 2561, 7208, 2569, 7195, 2573, 2577, 2581, 2585, 2589, 2593, 2597, 0}, 2, 1, 2601, 241, {7084,2312,1327,14,1336,2883,1301,0,0,0,0,0,0,0},{4748,6429,3732,4974,0,0,0,0},{1377,274,2327,7212,7224,0,0,0,0,0,0,0},{1394,280,7236,7251,0,0,0,0,0}},
-       {1960, 2647, 280, 274, 1982, 2362, 946, 951, {2380, 2388, 2395, 2403, 2410, 2418, 2425}, {7266, 7271, 7275, 7279, 7283, 7287, 7291}, {2090, 2463, 2465, 2467, 2465, 2469, 2471}, {2473, 2480, 4876, 2494, 4887, 2504, 2509, 2514, 2521, 2531, 2539, 6076, 0}, {2473, 2480, 4876, 2494, 4887, 2504, 2509, 2514, 2521, 2531, 2539, 6076, 0}, {2557, 2561, 2565, 2569, 4887, 2573, 2577, 2581, 2585, 2589, 2593, 6106, 0}, {2557, 2561, 2565, 2569, 4887, 2573, 2577, 2581, 2585, 2589, 2593, 6106, 0}, 2, 1, 763, 241, {2647,1336,2903,1301,2883,0,0,0,0,0,0,0,0,0},{1960,2614,0,0,0,0,0,0},{274,1377,7296,4983,0,0,0,0,0,0,0,0},{280,1394,7307,6438,0,0,0,0,0}},
-       {3732, 1301, 280, 274, 1982, 4765, 3781, 3784, {7321, 7331, 7345, 7352, 7359, 7368, 2052}, {7376, 7383, 7388, 7392, 7397, 7402, 7406}, {2083, 2085, 3872, 7411, 7414, 2085, 2090}, {7416, 7425, 7430, 7437, 2500, 7447, 7456, 7463, 7473, 7483, 2169, 7496, 0}, {7506, 7515, 7522, 7528, 7537, 7542, 7550, 7556, 7565, 7575, 7589, 7599, 0}, {7607, 7611, 2565, 7615, 2500, 7619, 7623, 7627, 7631, 7635, 7640, 7644, 0}, {7607, 7611, 2565, 7615, 2500, 7619, 7623, 7627, 7631, 7635, 7640, 7644, 0}, 2, 1, 2601, 241, {1301,5871,0,0,0,0,0,0,0,0,0,0,0,0},{3732,5487,0,0,0,0,0,0},{274,1377,0,0,0,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {7648, 243, 280, 274, 4034, 7676, 3781, 3784, {4049, 7689, 7703, 7716, 7729, 7742, 4096}, {4104, 7754, 7758, 7762, 7766, 7770, 4125}, {2752, 2090, 2465, 7774, 7774, 2090, 2090}, {7776, 7784, 7794, 1070, 7801, 7806, 7812, 4173, 7818, 7827, 7835, 7844, 0}, {7776, 7784, 7794, 1070, 7801, 7806, 7812, 4173, 7818, 7827, 7835, 7844, 0}, {2557, 7853, 2565, 4215, 4887, 2573, 2577, 4219, 6413, 7857, 2593, 7861, 0}, {2557, 7853, 2565, 4215, 4887, 2573, 2577, 4219, 6413, 7857, 2593, 7861, 0}, 0, 0, 239, 241, {243,14,2987,1320,1327,2351,2312,7084,1336,2647,2883,2903,1973,1301},{7648,4258,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
-       {2969, 243, 280, 274, 1982, 55, 7865, 7868, {7871, 7880, 4787, 7890, 7898, 7906, 7915}, {7921, 7924, 4401, 7928, 7931, 7935, 2080}, {2752, 6229, 2463, 2463, 6229, 4134, 2090}, {7938, 7946, 4876, 7953, 7960, 7965, 7975, 7983, 7989, 7999, 2539, 2548, 0}, {7938, 7946, 4876, 7953, 7960, 7965, 7975, 7983, 7989, 7999, 2539, 2548, 0}, {8007, 8014, 4876, 4951, 7960, 8020, 8027, 7983, 8032, 1286, 1291, 5852, 0}, {8007, 8014, 4876, 4951, 7960, 8020, 8027, 7983, 8032, 1286, 1291, 5852, 0}, 2, 1, 239, 241, {243,14,1312,8038,1320,243,1301,0,0,0,0,0,0,0},{2969,3732,4974,0,0,0,0,0},{274,1377,8046,8058,8069,8077,8087,8096,2922,8102,8110,8115},{280,1394,8118,8133,2947,2933,8147,8160,2962}},
-       {3732, 2647, 280, 274, 1982, 4765, 3781, 3784, {8172, 8182, 8187, 8194, 8203, 8207, 8214}, {8225, 8228, 8231, 2740, 8234, 8237, 8240}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {8244, 8253, 8263, 8270, 4887, 8278, 8284, 2514, 8290, 8301, 8311, 8321, 0}, {8244, 8253, 8263, 8270, 4887, 8278, 8284, 2514, 8290, 8301, 8311, 8321, 0}, {8331, 8336, 4834, 8341, 4887, 8346, 8351, 5835, 4962, 1286, 1291, 5852, 0}, {8331, 8336, 4834, 8341, 4887, 8346, 8351, 5835, 4962, 1286, 1291, 5852, 0}, 0, 1, 763, 241, {2647,1973,1301,0,0,0,0,0,0,0,0,0,0,0},{3732,0,0,0,0,0,0,0},{274,1377,0,0,0,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {814, 2647, 1394, 1377, 1982, 3773, 8356, 8376, {8402, 8425, 424, 8448, 8459, 8474, 8489}, {8504, 8509, 8514, 8519, 8524, 8529, 8534}, {8539, 8542, 8539, 8545, 8548, 8542, 8545}, {8551, 8564, 8579, 8588, 8601, 8608, 8617, 8626, 8639, 8656, 8671, 8684, 0}, {8699, 8712, 8727, 8738, 8751, 8758, 8767, 8776, 8791, 8808, 8823, 8836, 0}, {8851, 8859, 8579, 8869, 8601, 8608, 8617, 8877, 8885, 8895, 8903, 8913, 0}, {8851, 8859, 8579, 8869, 8601, 8608, 8617, 8877, 8885, 8895, 8903, 8913, 0}, 0, 1, 763, 241, {2647,1336,2903,14,1301,0,0,0,0,0,0,0,0,0},{814,289,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {8921, 8935, 1394, 1377, 44, 2362, 3781, 3784, {8945, 8954, 8966, 8973, 8981, 8991, 8997}, {9004, 9008, 9012, 9016, 9020, 9025, 9029}, {9033, 9035, 9037, 1049, 9039, 9035, 1049}, {9042, 9052, 9061, 9069, 9077, 9085, 9092, 9099, 9107, 2169, 9113, 9121, 0}, {9130, 9140, 9149, 9157, 9165, 9173, 9180, 9187, 9196, 7589, 9202, 9212, 0}, {9221, 9225, 9230, 9235, 9239, 7623, 9243, 9247, 9251, 7640, 9255, 9259, 0}, {9221, 9225, 9230, 9235, 9239, 7623, 9243, 9247, 9251, 7640, 9255, 9259, 0}, 0, 1, 763, 241, {8935,9263,6110,9271,9283,9293,9303,1301,0,0,0,0,0,0},{8921,9315,9330,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {1960, 9350, 1394, 1377, 1982, 55, 9361, 9372, {9383, 9391, 9400, 9407, 9414, 9423, 2052}, {2059, 2062, 9430, 2069, 9433, 9437, 2080}, {2083, 2085, 9440, 2090, 9442, 2085, 2090}, {5711, 5719, 9445, 6032, 9451, 6085, 6090, 2514, 2521, 5790, 2539, 2548, 0}, {9456, 9465, 7522, 9475, 9483, 9489, 9495, 9501, 9509, 9519, 9528, 9537, 0}, {2557, 2561, 2565, 2569, 9451, 6085, 6090, 2581, 2585, 2589, 2593, 2597, 0}, {2557, 2561, 2565, 2569, 9451, 6085, 6090, 2581, 2585, 2589, 2593, 2597, 0}, 2, 1, 9546, 241, {9350,1973,9549,2903,2647,1336,1301,0,0,0,0,0,0,0},{1960,2614,0,0,0,0,0,0},{1377,274,2327,0,0,0,0,0,0,0,0,0},{1394,280,2343,0,0,0,0,0,0}},
-       {1301, 1301, 9558, 9569, 9577, 3773, 9585, 9588, {9591, 9598, 9607, 9616, 9628, 9636, 9645}, {9655, 9659, 3928, 9664, 9669, 9673, 9677}, {2752, 5695, 2463, 2463, 9681, 2085, 2090}, {9683, 9689, 4876, 9696, 2500, 9702, 9710, 9717, 9723, 9731, 9737, 9745, 0}, {9683, 9689, 4876, 9696, 2500, 9702, 9710, 9717, 9723, 9731, 9737, 9745, 0}, {2838, 9753, 3928, 9757, 9761, 9765, 9769, 9773, 9677, 9777, 9781, 9786, 0}, {2838, 9753, 3928, 9757, 9761, 9765, 9769, 9773, 9677, 9777, 9781, 9786, 0}, 0, 1, 2601, 241, {1301,5871,0,0,0,0,0,0,0,0,0,0,0,0},{1301,0,0,0,0,0,0,0},{9569,274,0,0,0,0,0,0,0,0,0,0},{9558,280,0,0,0,0,0,0,0}},
-       {9790, 1301, 280, 274, 1982, 9808, 9821, 9824, {9827, 9835, 9843, 2403, 2410, 2418, 9850}, {9858, 9863, 9868, 2446, 2450, 2454, 9872}, {2090, 2463, 2465, 2467, 2465, 2469, 2471}, {7172, 7180, 4876, 2494, 2500, 2504, 2509, 9877, 2521, 2531, 2539, 2548, 0}, {7172, 7180, 4876, 2494, 2500, 2504, 2509, 9877, 2521, 2531, 2539, 2548, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 2581, 2585, 2589, 2593, 2597, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 2581, 2585, 2589, 2593, 2597, 0}, 2, 1, 2601, 241, {1301,5871,0,0,0,0,0,0,0,0,0,0,0,0},{9790,9885,0,0,0,0,0,0},{274,1377,9908,0,0,0,0,0,0,0,0,0},{280,1394,9918,0,0,0,0,0,0}},
-       {3732, 2987, 1394, 1377, 1982, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 0, 239, 241, {2987,1320,14,243,9931,9942,1301,0,0,0,0,0,0,0},{3732,9954,9970,0,0,0,0,0},{1377,274,3007,35,0,0,0,0,0,0,0,0},{1394,280,2996,23,0,0,0,0,0}},
-       {10012, 2647, 280, 274, 1982, 55, 3781, 3784, {10030, 10036, 10046, 10052, 10063, 10073, 10078}, {10088, 10092, 10096, 10100, 10105, 10109, 10113}, {2085, 2085, 2090, 10117, 2085, 7414, 7414}, {10120, 10125, 10132, 10137, 10143, 10150, 10158, 10165, 10174, 10181, 10186, 10193, 0}, {10120, 10125, 10132, 10137, 10143, 10150, 10158, 10165, 10174, 10181, 10186, 10193, 0}, {10201, 10205, 3928, 10210, 3897, 10214, 10218, 10222, 10227, 10231, 10235, 10239, 0}, {10201, 10205, 3928, 10210, 3897, 10214, 10218, 10222, 10227, 10231, 10235, 10239, 0}, 0, 1, 763, 241, {2647,1336,1301,0,0,0,0,0,0,0,0,0,0,0},{10012,5487,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
-       {3991, 243, 2996, 3007, 44, 55, 10243, 10248, {10255, 10266, 10273, 10282, 10289, 10302, 10311}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {10320, 10331, 10342, 10351, 10362, 10367, 10374, 10385, 10394, 10405, 10418, 10429, 0}, {10320, 10331, 10342, 10351, 10362, 10367, 10374, 10385, 10394, 10405, 10418, 10429, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 0, 239, 241, {243,14,1301,0,0,0,0,0,0,0,0,0,0,0},{3991,254,0,0,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {5487, 243, 1394, 1377, 1982, 55, 3781, 3784, {10440, 10447, 10453, 10460, 10465, 10471, 10477}, {10483, 10487, 10491, 10495, 10499, 10503, 10507}, {2463, 2090, 2090, 10511, 4419, 4132, 2090}, {10513, 10521, 10530, 2775, 10536, 2785, 2790, 10540, 2802, 2812, 2820, 10548, 0}, {10513, 10521, 10530, 2775, 10536, 2785, 2790, 10540, 2802, 2812, 2820, 10548, 0}, {2838, 2842, 3928, 2851, 10536, 2855, 2859, 10557, 2867, 2871, 2875, 10561, 0}, {2838, 2842, 3928, 2851, 10536, 2855, 2859, 10557, 2867, 2871, 2875, 10561, 0}, 0, 0, 239, 241, {243,14,1301,0,0,0,0,0,0,0,0,0,0,0},{5487,0,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {10565, 2647, 1394, 1377, 10583, 4765, 10599, 10604, {10609, 10622, 10641, 10658, 10671, 10684, 10701}, {10714, 8509, 8514, 8519, 8524, 8529, 8534}, {10719, 8542, 8539, 8545, 8548, 8542, 8545}, {10722, 10735, 10746, 10763, 10778, 10793, 10808, 10821, 10836, 10853, 10868, 10885, 0}, {10900, 10911, 10924, 10939, 10952, 10965, 10978, 10989, 11002, 11017, 11030, 11049, 0}, {11062, 11069, 11076, 11083, 11090, 11097, 11104, 11111, 11118, 11125, 11132, 11139, 0}, {11062, 11069, 11076, 11083, 11090, 11097, 11104, 11111, 11118, 11125, 11132, 11139, 0}, 0, 1, 763, 241, {2647,1336,1301,0,0,0,0,0,0,0,0,0,0,0},{10565,0,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {3732, 2647, 1394, 1377, 1982, 4765, 11146, 11159, {11172, 11187, 11208, 11223, 11236, 11249, 11264}, {493, 498, 11277, 508, 11282, 518, 523}, {528, 531, 11287, 537, 540, 531, 537}, {11290, 11307, 11316, 11331, 11348, 11363, 11378, 11391, 11406, 11423, 11444, 11461, 0}, {11290, 11307, 11316, 11331, 593, 11363, 11378, 11391, 11406, 11423, 11444, 11461, 0}, {11476, 11483, 11490, 11497, 11504, 11511, 11518, 11525, 11532, 11539, 11546, 11553, 0}, {11476, 11483, 11490, 11497, 11504, 11511, 11518, 11525, 11532, 11539, 11546, 11553, 0}, 0, 0, 763, 241, {2647,1336,1301,0,0,0,0,0,0,0,0,0,0,0},{3732,0,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {1960, 1973, 1394, 1377, 1982, 2362, 1992, 11560, {11565, 11573, 11584, 11590, 11596, 11605, 2052}, {9004, 9008, 2450, 11611, 9020, 9025, 11615}, {9033, 9035, 1041, 1049, 9039, 9035, 1049}, {2473, 2480, 9445, 2494, 2500, 11619, 11625, 11631, 2521, 2531, 2539, 2548, 0}, {2473, 2480, 9445, 2494, 2500, 11619, 11625, 11631, 2521, 2531, 2539, 2548, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 11638, 2585, 2589, 2593, 2597, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 11638, 2585, 2589, 2593, 2597, 0}, 0, 1, 763, 241, {1973,2903,9350,2647,9549,1336,11642,1301,0,0,0,0,0,0},{1960,2614,2628,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {11653, 11672, 1394, 1377, 11682, 2362, 11698, 11703, {11708, 11719, 11730, 11741, 11752, 11763, 11769}, {2085, 9681, 2465, 4419, 2083, 10511, 2471}, {2085, 9681, 2465, 4419, 2083, 10511, 2471}, {11778, 11786, 11795, 11802, 4887, 11809, 11815, 2514, 2521, 11821, 2539, 11830, 0}, {11778, 11786, 11795, 11802, 4887, 11809, 11815, 2514, 2521, 11821, 2539, 11830, 0}, {11840, 11845, 11795, 2569, 4887, 11809, 11815, 2581, 11851, 2589, 2593, 11856, 0}, {11840, 11845, 11795, 2569, 4887, 11809, 11815, 2581, 11851, 2589, 2593, 11856, 0}, 2, 1, 763, 241, {11672,2647,1336,1301,0,0,0,0,0,0,0,0,0,0},{11653,11861,2628,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {11881, 5597, 1394, 1377, 5609, 2362, 11908, 11925, {11939, 11950, 11960, 11969, 11980, 11992, 12003}, {12013, 12016, 12019, 12022, 12025, 12028, 12031}, {2090, 2085, 2467, 2465, 7414, 2085, 2090}, {12034, 12044, 2488, 12055, 12064, 12070, 12078, 12086, 12094, 12105, 12114, 12124, 0}, {12034, 12044, 2488, 12055, 12064, 12070, 12078, 12086, 12094, 12105, 12114, 12124, 0}, {4938, 1261, 2488, 8341, 12064, 12134, 12140, 5835, 4962, 5847, 1291, 5852, 0}, {4938, 1261, 2488, 8341, 12064, 12134, 12140, 5835, 4962, 5847, 1291, 5852, 0}, 0, 1, 763, 241, {5597,12146,1301,0,0,0,0,0,0,0,0,0,0,0},{11881,0,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {12156, 1825, 280, 274, 12178, 12193, 12205, 11560, {12211, 12223, 12235, 12247, 12261, 12276, 12289}, {12303, 12016, 12306, 12022, 12309, 12312, 12315}, {2090, 2085, 12319, 2465, 4419, 2085, 9442}, {12321, 12328, 12336, 12342, 12351, 12360, 12370, 12376, 12387, 12397, 12404, 12414, 0}, {12422, 12429, 12437, 12443, 12452, 12461, 12471, 12477, 12488, 12498, 12505, 12515, 0}, {12523, 12529, 12534, 12539, 12544, 12549, 12554, 12560, 12566, 12572, 12578, 12585, 0}, {12523, 12529, 12534, 12539, 12544, 12549, 12554, 12560, 12566, 12572, 12578, 12585, 0}, 2, 1, 763, 241, {1825,1301,0,0,0,0,0,0,0,0,0,0,0,0},{12156,0,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
-       {3732, 1336, 1394, 1377, 1982, 3773, 12592, 12604, {12616, 12631, 12646, 12661, 12678, 12697, 12708}, {12719, 12726, 12733, 12740, 12747, 12754, 12761}, {0, 0, 0, 0, 0, 0, 0}, {12768, 12779, 8579, 12792, 8601, 12803, 12810, 8626, 12817, 12832, 12845, 12856, 0}, {12768, 12779, 8579, 12792, 8601, 12803, 12810, 8626, 12817, 12832, 12845, 12856, 0}, {12869, 12876, 12883, 12890, 8601, 12803, 12810, 12897, 12904, 12911, 12918, 12925, 0}, {12869, 12876, 12883, 12890, 8601, 12803, 12810, 12897, 12904, 12911, 12918, 12925, 0}, 0, 1, 763, 241, {1336,1301,0,0,0,0,0,0,0,0,0,0,0,0},{3732,0,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,0,0,0,0,0,0,0,0}},
-       {3744, 3956, 23, 35, 44, 3773, 12932, 12952, {12969, 12982, 12995, 13011, 13028, 13043, 13052}, {12969, 12982, 12995, 13011, 13028, 13043, 13052}, {13061, 13064, 13067, 13070, 13073, 13076, 13079}, {13082, 13095, 13106, 13115, 13126, 13131, 13140, 13151, 13158, 13173, 13184, 13197, 0}, {13210, 13225, 13106, 13115, 13238, 13131, 13245, 13151, 13158, 13173, 13184, 13197, 0}, {13082, 13095, 13106, 13115, 13126, 13131, 13140, 13151, 13158, 13173, 13184, 13197, 0}, {13082, 13095, 13106, 13115, 13126, 13131, 13140, 13151, 13158, 13173, 13184, 13197, 0}, 0, 6, 239, 241, {3956,3947,0,0,0,0,0,0,0,0,0,0,0,0},{3744,3977,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
-       {5487, 243, 2996, 3007, 1982, 55, 13258, 13261, {13264, 13277, 13287, 13296, 13306, 13317, 13328}, {13340, 13343, 13348, 13353, 13358, 13363, 13368}, {13340, 13373, 13376, 13379, 13382, 13385, 13388}, {13391, 13404, 13415, 13425, 13436, 13448, 13460, 13473, 13485, 13498, 13513, 13534, 0}, {13391, 13404, 13415, 13425, 13436, 13448, 13460, 13473, 13485, 13498, 13513, 13534, 0}, {13553, 13559, 13565, 13571, 13577, 13583, 13589, 13595, 13601, 13607, 13614, 13621, 0}, {13553, 13559, 13565, 13571, 13577, 13583, 13589, 13595, 13601, 13607, 13614, 13621, 0}, 0, 1, 239, 241, {243,14,1327,2351,1301,0,0,0,0,0,0,0,0,0},{5487,0,0,0,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {13628, 2647, 1394, 1377, 44, 4765, 13641, 13649, {13657, 13670, 13691, 13710, 13731, 13750, 13763}, {13774, 13781, 13788, 13795, 13802, 13809, 13816}, {0, 0, 0, 0, 0, 0, 0}, {13823, 13838, 13853, 13862, 13873, 13884, 13897, 13910, 13925, 13944, 13963, 13980, 0}, {13823, 13838, 13853, 13862, 13873, 13884, 13897, 13910, 13925, 13944, 13963, 13980, 0}, {13999, 14006, 14013, 14020, 14027, 14034, 14041, 14048, 14055, 14062, 14069, 14076, 0}, {13999, 14006, 14013, 14020, 14027, 14034, 14041, 14048, 14055, 14062, 14069, 14076, 0}, 0, 1, 763, 241, {2647,1336,14083,243,14093,3720,1301,0,0,0,0,0,0,0},{13628,2969,14104,5487,14123,14134,14146,14163},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {3732, 2647, 1394, 1377, 1982, 4765, 0, 0, {14181, 14187, 14201, 14224, 14238, 14254, 14261}, {14270, 14273, 14278, 14284, 14288, 7414, 14293}, {6567, 6555, 6557, 6559, 6561, 6563, 6565}, {14297, 14304, 10132, 14311, 3897, 14317, 14323, 14329, 14336, 14345, 14353, 14360, 0}, {14297, 14304, 10132, 14311, 3897, 14317, 14323, 14329, 14336, 14345, 14353, 14360, 0}, {14367, 7853, 2565, 2569, 14371, 14375, 14379, 14383, 14387, 2589, 14391, 14395, 0}, {14367, 7853, 2565, 2569, 14371, 14375, 14379, 14383, 14387, 2589, 14391, 14395, 0}, 0, 1, 763, 241, {2647,1336,2903,14,1301,0,0,0,0,0,0,0,0,0},{3732,5487,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {14399, 1814, 1394, 274, 14426, 3773, 3781, 3784, {14442, 14450, 14461, 14471, 14482, 14491, 14500}, {14510, 14513, 14516, 14519, 14522, 14525, 14528}, {14531, 2463, 12319, 2471, 12319, 2467, 14531}, {14533, 14543, 14551, 14559, 14567, 14575, 14582, 14590, 14598, 14605, 14611, 14618, 0}, {14533, 14543, 14551, 14559, 14567, 14575, 14582, 14590, 14598, 14605, 14611, 14618, 0}, {14626, 14630, 2565, 14634, 4887, 14638, 14642, 14646, 14650, 14654, 14658, 14662, 0}, {14626, 14630, 2565, 14634, 4887, 14638, 14642, 14646, 14650, 14654, 14658, 14662, 0}, 2, 1, 239, 241, {1814,1301,0,0,0,0,0,0,0,0,0,0,0,0},{14399,0,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{1394,280,1402,0,0,0,0,0,0}},
-       {14104, 2647, 280, 274, 1982, 55, 14666, 14687, {14704, 403, 424, 8448, 14717, 14734, 14745}, {14758, 14766, 14774, 14780, 14788, 14796, 14804}, {528, 531, 534, 537, 540, 531, 537}, {14812, 556, 573, 582, 14827, 14834, 14843, 614, 627, 646, 663, 678, 0}, {14812, 556, 573, 582, 14827, 14834, 14843, 614, 627, 646, 663, 678, 0}, {14852, 14860, 14868, 711, 14827, 14876, 14884, 719, 727, 737, 745, 14892, 0}, {14852, 14860, 14868, 711, 14827, 14876, 14884, 719, 727, 737, 745, 14892, 0}, 0, 1, 763, 241, {2647,1336,1301,0,0,0,0,0,0,0,0,0,0,0},{14104,0,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
-       {5487, 1814, 23, 35, 1982, 55, 0, 0, {14904, 14911, 14922, 14931, 14940, 14947, 14958}, {14968, 14972, 14976, 14980, 14984, 14987, 14991}, {0, 0, 0, 0, 0, 0, 0}, {14995, 15005, 15014, 15022, 15031, 15044, 15056, 15063, 15070, 15077, 15087, 15099, 0}, {14995, 15005, 15014, 15022, 15031, 15044, 15056, 15063, 15070, 15077, 15087, 15099, 0}, {15112, 15116, 15120, 15124, 15128, 15132, 15136, 15140, 15144, 15148, 15152, 15156, 0}, {15112, 15116, 15120, 15124, 15128, 15132, 15136, 15140, 15144, 15148, 15152, 15156, 0}, 0, 0, 239, 241, {1814,1857,1301,0,0,0,0,0,0,0,0,0,0,0},{5487,0,0,0,0,0,0,0},{35,3007,274,0,0,0,0,0,0,0,0,0},{23,2996,280,0,0,0,0,0,0}},
-       {5487, 1814, 23, 35, 1982, 55, 0, 0, {15160, 15165, 15171, 15181, 15193, 15201, 15212}, {15221, 15225, 15229, 15233, 15237, 15241, 15245}, {0, 0, 0, 0, 0, 0, 0}, {15249, 15259, 15269, 15276, 15283, 2785, 15288, 15295, 15302, 15311, 15319, 15327, 0}, {15249, 15259, 15269, 15276, 15283, 2785, 15288, 15295, 15302, 15311, 15319, 15327, 0}, {2838, 2842, 14991, 15335, 15339, 2855, 2859, 15343, 2867, 2871, 2875, 15347, 0}, {2838, 2842, 14991, 15335, 15339, 2855, 2859, 15343, 2867, 2871, 2875, 15347, 0}, 0, 0, 239, 241, {1814,1857,1301,0,0,0,0,0,0,0,0,0,0,0},{5487,0,0,0,0,0,0,0},{35,3007,274,0,0,0,0,0,0,0,0,0},{23,2996,280,0,0,0,0,0,0}},
-       {5487, 1814, 23, 35, 1982, 55, 3781, 3784, {15351, 15357, 15368, 15181, 15378, 15201, 15212}, {15387, 15391, 15395, 15233, 15237, 15241, 15245}, {2090, 2463, 15399, 2465, 2090, 5695, 2463}, {15401, 15411, 15422, 15429, 15438, 15444, 15450, 15458, 15466, 15477, 15487, 15496, 0}, {15505, 15259, 15514, 15520, 15283, 2785, 15288, 15295, 15527, 15311, 15319, 15327, 0}, {2838, 2842, 15537, 2851, 15339, 2855, 2859, 15343, 2867, 2871, 2875, 15347, 0}, {2838, 2842, 15537, 2851, 15339, 2855, 2859, 15343, 2867, 2871, 2875, 15347, 0}, 0, 0, 239, 241, {1814,1857,1301,0,0,0,0,0,0,0,0,0,0,0},{5487,0,0,0,0,0,0,0},{35,3007,274,0,0,0,0,0,0,0,0,0},{23,2996,280,0,0,0,0,0,0}},
-       {5487, 1814, 23, 35, 1982, 55, 15541, 15545, {15549, 15556, 15564, 15572, 15581, 15591, 15598}, {2731, 8231, 2737, 15607, 2743, 15610, 2749}, {2090, 2463, 2752, 3872, 2752, 4134, 2090}, {15613, 15622, 15632, 2775, 10536, 15638, 15644, 15650, 2802, 2812, 2820, 10548, 0}, {15613, 15622, 15632, 2775, 10536, 15638, 15644, 15650, 2802, 2812, 2820, 10548, 0}, {2838, 2842, 3928, 2851, 10536, 2855, 2859, 2863, 2867, 2871, 2875, 10561, 0}, {2838, 2842, 3928, 2851, 10536, 2855, 2859, 2863, 2867, 2871, 2875, 10561, 0}, 0, 0, 239, 241, {1814,1857,1301,15659,0,0,0,0,0,0,0,0,0,0},{5487,0,0,0,0,0,0,0},{35,3007,274,0,0,0,0,0,0,0,0,0},{23,2996,280,0,0,0,0,0,0}},
-       {15671, 2647, 1394, 1377, 1982, 15703, 15709, 15725, {15747, 15763, 15788, 15816, 15844, 15872, 15900}, {15919, 15929, 15939, 15949, 15959, 15969, 15979}, {15989, 15993, 15997, 15993, 16001, 16005, 16009}, {16013, 16035, 16063, 16079, 16098, 16114, 16133, 16149, 16171, 16202, 16230, 16255, 0}, {16013, 16035, 16063, 16079, 16098, 16114, 16133, 16149, 16171, 16202, 16230, 16255, 0}, {16283, 16293, 16303, 16313, 16323, 16333, 16343, 16353, 16363, 16373, 16383, 16393, 0}, {16283, 16293, 16303, 16313, 16323, 16333, 16343, 16353, 16363, 16373, 16383, 16393, 0}, 0, 1, 763, 241, {2647,1336,2903,14,1301,0,0,0,0,0,0,0,0,0},{15671,0,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {1960, 2351, 280, 274, 1982, 2362, 16403, 16408, {5890, 16413, 16424, 16434, 16444, 16454, 16468}, {5976, 5980, 16480, 16485, 16489, 16494, 16499}, {2090, 2463, 2465, 2463, 5695, 2469, 2471}, {2473, 2480, 4876, 6032, 4887, 2504, 2509, 2514, 2521, 2531, 2539, 6076, 0}, {2473, 2480, 4876, 6032, 4887, 2504, 2509, 2514, 2521, 2531, 2539, 6076, 0}, {2557, 2561, 2565, 2569, 4887, 2573, 2577, 2581, 2585, 2589, 2593, 6106, 0}, {2557, 2561, 2565, 2569, 4887, 2573, 2577, 2581, 2585, 2589, 2593, 6106, 0}, 2, 1, 2601, 241, {2351,1327,1301,0,0,0,0,0,0,0,0,0,0,0},{1960,0,0,0,0,0,0,0},{274,4983,0,0,0,0,0,0,0,0,0,0},{280,6438,0,0,0,0,0,0,0}},
-       {5487, 2351, 280, 274, 44, 55, 16503, 16531, {16553, 16572, 16591, 16613, 16632, 16666, 16691}, {16710, 16721, 16732, 16746, 16757, 16768, 16785}, {16796, 16800, 16807, 16814, 16821, 16828, 16835}, {16839, 16855, 16871, 16887, 16906, 16913, 16923, 16939, 16955, 16977, 16999, 17018, 0}, {16839, 16855, 16871, 16887, 16906, 16913, 16923, 16939, 16955, 16977, 16999, 17018, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 0, 2601, 241, {2351,1327,2312,2903,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,1928,1920,0,0,0,0,0,0,0,0},{280,1394,1948,1937,0,0,0,0,0}},
-       {17040, 243, 280, 274, 1982, 17065, 17079, 17082, {17085, 17094, 17103, 17113, 17123, 17133, 17145}, {17153, 17158, 17162, 17166, 17170, 17175, 17180}, {17184, 2465, 2465, 9681, 17184, 17187, 2090}, {17190, 17197, 17202, 2775, 17208, 17214, 17221, 17227, 17235, 17245, 17253, 17262, 0}, {17190, 17197, 17202, 2775, 17208, 17214, 17221, 17227, 17235, 17245, 17253, 17262, 0}, {2838, 17272, 3928, 2851, 17276, 17280, 17285, 17289, 17293, 17297, 2875, 17301, 0}, {2838, 17272, 3928, 2851, 17276, 17280, 17285, 17289, 17293, 17297, 2875, 17301, 0}, 0, 0, 239, 241, {243,1301,17306,7084,2987,0,0,0,0,0,0,0,0,0},{17040,17315,9942,0,0,0,0,0},{274,3007,1377,35,0,0,0,0,0,0,0,0},{280,2996,1394,23,0,0,0,0,0}},
-       {17334, 2647, 280, 274, 1982, 17352, 17366, 17371, {17376, 17388, 17399, 17413, 17425, 17435, 17445}, {17456, 17461, 17466, 17471, 17476, 17481, 17486}, {2090, 4134, 2463, 6229, 2752, 15399, 2471}, {17491, 17508, 17521, 17535, 17548, 17561, 17574, 17588, 17600, 17614, 17628, 17642, 0}, {17491, 17508, 17521, 17535, 17548, 17561, 17574, 17588, 17600, 17614, 17628, 17642, 0}, {17655, 17662, 17667, 17672, 17676, 17681, 17686, 17691, 17696, 17703, 17708, 17714, 0}, {17655, 17662, 17667, 17672, 17676, 17681, 17686, 17691, 17696, 17703, 17708, 17714, 0}, 2, 1, 763, 241, {2647,1336,2903,1301,0,0,0,0,0,0,0,0,0,0},{17334,0,0,0,0,0,0,0},{274,1377,4983,0,0,0,0,0,0,0,0,0},{280,1394,6438,0,0,0,0,0,0}},
-       {5487, 243, 1394, 1377, 1982, 55, 18012, 18015, {18019, 18024, 10453, 10460, 18030, 18037, 10477}, {18044, 18048, 10491, 10495, 18052, 10503, 10507}, {12319, 14531, 2090, 10511, 4419, 4132, 2090}, {10513, 10521, 18056, 2775, 10536, 2855, 18060, 18066, 2802, 2812, 2820, 18071, 0}, {10513, 10521, 18056, 2775, 10536, 2855, 18060, 18066, 2802, 2812, 2820, 18071, 0}, {2838, 2842, 18056, 2851, 10536, 2855, 2859, 18066, 2867, 2871, 2875, 15347, 0}, {2838, 2842, 18056, 2851, 10536, 2855, 2859, 18066, 2867, 2871, 2875, 15347, 0}, 0, 1, 239, 241, {243,14,1301,0,0,0,0,0,0,0,0,0,0,0},{5487,0,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {18523, 1336, 1394, 1377, 18543, 4765, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 1, 763, 241, {1336,1301,0,0,0,0,0,0,0,0,0,0,0,0},{18523,0,0,0,0,0,0,0},{1377,0,0,0,0,0,0,0,0,0,0,0},{1394,0,0,0,0,0,0,0,0}},
-       {3744, 3764, 2996, 3007, 44, 3773, 18559, 18567, {18575, 18584, 18593, 18601, 18610, 18619, 18626}, {18635, 18638, 18641, 18644, 18647, 18651, 18654}, {6557, 6559, 6561, 6563, 12319, 14531, 6555}, {10513, 10521, 18657, 18663, 10536, 2785, 18060, 18670, 15302, 18677, 15319, 18684, 0}, {10513, 10521, 18657, 18663, 10536, 2785, 18060, 18670, 15302, 18677, 15319, 18684, 0}, {2838, 2842, 18056, 2851, 10536, 2855, 2859, 18692, 2867, 2871, 2875, 10561, 0}, {2838, 2842, 18056, 2851, 10536, 2855, 2859, 18692, 2867, 2871, 2875, 10561, 0}, 0, 0, 239, 241, {3764,3940,3947,3956,1857,1301,3967,0,0,0,0,0,0,0},{3744,3977,254,3991,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {18696, 18714, 280, 274, 1982, 18725, 0, 0, {33660, 33670, 33679, 33688, 33699, 33709, 33714}, {33721, 33727, 33732, 33737, 33742, 10109, 33746}, {33751, 2752, 2090, 7414, 2085, 7414, 2090}, {14297, 14304, 10132, 14311, 3897, 33753, 33758, 33763, 14336, 14345, 14353, 14360, 0}, {14297, 14304, 10132, 14311, 3897, 33753, 33758, 33763, 14336, 14345, 14353, 14360, 0}, {33770, 33775, 3928, 2851, 3897, 33753, 33758, 33779, 10487, 2871, 33783, 33788, 0}, {33770, 33775, 3928, 2851, 3897, 33753, 33758, 33779, 10487, 2871, 33783, 33788, 0}, 0, 1, 239, 241, {18714,1336,2903,14,1301,0,0,0,0,0,0,0,0,0},{18696,3732,5487,0,0,0,0,0},{274,1377,0,0,0,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {5487, 1327, 6438, 4983, 44, 55, 18892, 18920, {18942, 18961, 18980, 19005, 19024, 19058, 19083}, {19102, 19112, 19122, 19138, 19148, 19173, 19189}, {19199, 19203, 19210, 19214, 19221, 19228, 19235}, {19239, 19267, 19301, 19317, 19336, 19343, 19353, 19369, 19385, 19416, 19438, 19460, 0}, {19239, 19267, 19301, 19317, 19336, 19343, 19353, 19369, 19385, 19416, 19438, 19460, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 0, 2601, 241, {1327,2312,2903,2351,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{4983,2327,19485,19494,0,0,0,0,0,0,0,0},{6438,2343,19502,19514,0,0,0,0,0}},
-       {5487, 1327, 280, 274, 44, 55, 20061, 20102, {20143, 20162, 20181, 20203, 20222, 20244, 20269}, {20288, 20298, 20308, 20321, 20331, 20344, 20360}, {20370, 20374, 20381, 20388, 20395, 20402, 20409}, {20413, 20441, 20469, 20485, 20504, 20511, 20521, 20537, 20553, 20581, 20603, 20625, 0}, {20413, 20441, 20469, 20485, 20504, 20511, 20521, 20537, 20553, 20581, 20603, 20625, 0}, {20650, 20669, 20469, 20485, 20504, 20511, 20521, 20537, 20688, 20704, 20720, 20730, 0}, {20650, 20669, 20469, 20485, 20504, 20511, 20521, 20537, 20688, 20704, 20720, 20730, 0}, 0, 0, 2601, 241, {1327,2312,2903,2351,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,1928,1920,0,0,0,0,0,0,0,0},{280,1394,1948,1937,0,0,0,0,0}},
-       {5487, 1327, 280, 274, 44, 55, 7865, 20743, {20746, 20765, 20784, 20809, 20828, 20850, 20875}, {20894, 20904, 20914, 20930, 20940, 20953, 20969}, {20979, 20983, 20990, 20994, 21001, 21008, 21015}, {21019, 21041, 21072, 21094, 21113, 21120, 21130, 21146, 21162, 21193, 21215, 21237, 0}, {21019, 21041, 21072, 21094, 21113, 21120, 21130, 21146, 21162, 21193, 21215, 21237, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 0, 2601, 241, {1327,2312,2903,2351,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,1928,1920,0,0,0,0,0,0,0,0},{280,1394,1948,1937,0,0,0,0,0}},
-       {5487, 2351, 280, 274, 1982, 55, 21262, 21287, {21312, 21331, 21353, 21378, 21394, 21416, 21435}, {21445, 21452, 21459, 21466, 21473, 21480, 21487}, {21445, 21452, 21459, 21466, 21473, 21480, 21487}, {21491, 21507, 21532, 21551, 21570, 21577, 21590, 21603, 21622, 21653, 21678, 21700, 0}, {21491, 21507, 21532, 21551, 21570, 21577, 21590, 21725, 21622, 21653, 21678, 21700, 0}, {21744, 21752, 21766, 21780, 21570, 21577, 21590, 21791, 21799, 21813, 21824, 21832, 0}, {21744, 21752, 21766, 21780, 21570, 21577, 21590, 21791, 21799, 21813, 21824, 21832, 0}, 0, 0, 2601, 241, {2351,1327,2312,2903,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,1928,1920,0,0,0,0,0,0,0,0},{280,1394,1948,1937,0,0,0,0,0}},
-       {5487, 1327, 280, 274, 44, 55, 21843, 21874, {21899, 21921, 21943, 21968, 21990, 22015, 22043}, {22065, 22075, 22085, 22098, 22108, 22121, 22137}, {22147, 22151, 22158, 22162, 22169, 22176, 22183}, {22187, 22203, 22228, 22247, 22269, 22276, 22289, 22302, 22321, 22352, 22377, 22396, 0}, {22187, 22203, 22228, 22247, 22269, 22276, 22289, 22302, 22321, 22352, 22377, 22396, 0}, {22421, 22428, 6559, 22444, 22269, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {22421, 22428, 6559, 22444, 22269, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 0, 2601, 241, {1327,2312,2903,2351,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,1928,1920,0,0,0,0,0,0,0,0},{280,1394,1948,1937,0,0,0,0,0}},
-       {5487, 1327, 280, 274, 44, 55, 3781, 3784, {22460, 22479, 22498, 22520, 22539, 22561, 22586}, {22605, 22610, 22618, 22626, 22634, 22642, 22650}, {22661, 22665, 22672, 22679, 22686, 22693, 22700}, {22704, 22720, 22745, 22764, 22786, 22793, 22806, 22819, 22838, 22866, 22891, 22913, 0}, {22704, 22720, 22745, 22764, 22786, 22793, 22806, 22819, 22838, 22866, 22891, 22913, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 0, 2601, 241, {1327,2312,2903,2351,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,1928,1920,0,0,0,0,0,0,0,0},{280,1394,1948,1937,0,0,0,0,0}},
-       {5487, 1327, 6438, 4983, 44, 55, 22938, 22957, {22988, 23013, 23044, 23072, 23097, 23125, 23159}, {23184, 23203, 23228, 23244, 23263, 23282, 23301}, {23311, 23318, 23325, 23332, 23339, 23352, 23359}, {23363, 23382, 23410, 23438, 23463, 23476, 23492, 23505, 23530, 23567, 23595, 23617, 0}, {23363, 23382, 23410, 23438, 23463, 23476, 23492, 23505, 23530, 23567, 23595, 23617, 0}, {23642, 23652, 23671, 23687, 23463, 23476, 23492, 23703, 23710, 23735, 23751, 23761, 0}, {23642, 23652, 23671, 23687, 23463, 23476, 23492, 23703, 23710, 23735, 23751, 23761, 0}, 0, 0, 2601, 241, {1327,2312,2903,2351,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{4983,2327,19485,19494,0,0,0,0,0,0,0,0},{6438,2343,19502,19514,0,0,0,0,0}},
-       {23774, 2351, 1937, 1920, 23793, 55, 23801, 23829, {23851, 23870, 23889, 23914, 23933, 23967, 23992}, {24011, 19112, 19122, 19138, 24021, 24046, 19189}, {0, 0, 0, 0, 0, 0, 0}, {24062, 24087, 24118, 24134, 19336, 19343, 19353, 24153, 24169, 24200, 24222, 24244, 0}, {24062, 24087, 24118, 24134, 19336, 19343, 19353, 24153, 24169, 24200, 24222, 24244, 0}, {24269, 24282, 24118, 24134, 19336, 19343, 19353, 24301, 24308, 24324, 24340, 24350, 0}, {24269, 24282, 24118, 24134, 19336, 19343, 19353, 24301, 24308, 24324, 24340, 24350, 0}, 0, 0, 2601, 241, {2351,0,0,0,0,0,0,0,0,0,0,0,0,0},{23774,0,0,0,0,0,0,0},{1920,1928,0,0,0,0,0,0,0,0,0,0},{1937,1948,0,0,0,0,0,0,0}},
-       {5487, 2351, 280, 274, 44, 55, 3781, 3784, {16553, 16572, 24363, 16613, 24385, 16666, 16691}, {24407, 24417, 24427, 24440, 24450, 24463, 24479}, {16796, 16800, 16807, 16814, 16821, 16828, 16835}, {24489, 24514, 16871, 24545, 24564, 16913, 24571, 24584, 24600, 24625, 24647, 24675, 0}, {24489, 24514, 16871, 24545, 24564, 16913, 24571, 24584, 24600, 24625, 24647, 24675, 0}, {24697, 24710, 16871, 24729, 24564, 16913, 24571, 24745, 24752, 6573, 24774, 24796, 0}, {24697, 24710, 16871, 24729, 24564, 16913, 24571, 24745, 24752, 6573, 24774, 24796, 0}, 0, 0, 2601, 241, {2351,1327,2312,2903,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,1928,1920,0,0,0,0,0,0,0,0},{280,1394,1948,1937,0,0,0,0,0}},
-       {25177, 1444, 280, 274, 25220, 25227, 25253, 25275, {25300, 25328, 25356, 25393, 25424, 25458, 25483}, {25517, 25533, 25549, 25574, 25593, 25615, 25634}, {25656, 25663, 25670, 25677, 25684, 25691, 25695}, {25705, 25739, 25776, 25810, 25844, 25875, 25912, 25949, 25989, 26023, 26057, 26106, 0}, {25705, 25739, 25776, 25810, 25844, 25875, 25912, 25949, 25989, 26023, 26057, 26106, 0}, {26155, 26168, 26181, 26194, 26207, 26220, 26233, 26246, 26259, 26272, 26288, 26304, 0}, {26155, 26168, 26181, 26194, 26207, 26220, 26233, 26246, 26259, 26272, 26288, 26304, 0}, 0, 0, 239, 241, {1444,1796,1805,1825,1301,1814,1836,1843,1850,0,0,0,0,0},{25177,26320,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
-       {5487, 243, 280, 274, 1982, 55, 0, 0, {26368, 26377, 26387, 26399, 26412, 26421, 26433}, {26445, 26449, 26454, 26458, 26462, 26466, 26470}, {2090, 2471, 2463, 2463, 14531, 6229, 2090}, {26474, 26481, 26490, 26497, 2781, 26504, 26512, 26523, 26528, 26533, 26540, 26549, 0}, {26474, 26481, 26490, 26497, 2781, 26504, 26557, 26523, 26528, 26533, 26540, 26549, 0}, {26567, 26571, 26454, 26576, 2781, 26580, 26584, 26523, 26528, 26588, 26592, 26597, 0}, {26567, 26571, 26454, 26576, 2781, 26580, 26584, 26523, 26528, 26588, 26592, 26597, 0}, 2, 0, 239, 241, {243,14,1320,2903,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,35,3007,0,0,0,0,0,0,0,0},{280,1394,23,2996,0,0,0,0,0}},
-       {3732, 1301, 280, 26602, 26610, 26645, 26681, 26697, {26713, 26747, 26778, 26809, 26831, 26874, 26902}, {26927, 26934, 26938, 26942, 26949, 26959, 26966}, {0, 0, 0, 0, 0, 0, 0}, {26970, 26983, 27002, 27015, 27028, 27041, 27060, 27079, 27092, 27108, 27121, 27146, 0}, {26970, 26983, 27002, 27015, 27028, 27041, 27060, 27079, 27092, 27108, 27121, 27146, 0}, {27159, 27163, 27167, 27171, 27175, 27179, 27183, 27187, 27191, 27195, 27202, 27209, 0}, {27159, 27163, 27167, 27171, 27175, 27179, 27183, 27187, 27191, 27195, 27202, 27209, 0}, 0, 0, 2601, 241, {1301,0,0,0,0,0,0,0,0,0,0,0,0,0},{3732,9954,0,0,0,0,0,0},{26602,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
-       {5487, 243, 280, 26602, 1982, 55, 27216, 27241, {27266, 27291, 27310, 27338, 27357, 27382, 27401}, {27423, 27431, 27436, 27441, 27446, 27454, 27462}, {0, 0, 0, 0, 0, 0, 0}, {27467, 27486, 27502, 27515, 27528, 27550, 27569, 27591, 27607, 27623, 27636, 27652, 0}, {27467, 27486, 27502, 27515, 27528, 27550, 27569, 27591, 27607, 27623, 27636, 27652, 0}, {27668, 27677, 27686, 27698, 27708, 27717, 27729, 27738, 27747, 27756, 27765, 27774, 0}, {27668, 27677, 27686, 27698, 27708, 27717, 27729, 27738, 27747, 27756, 27765, 27774, 0}, 0, 0, 239, 241, {243,1301,0,0,0,0,0,0,0,0,0,0,0,0},{5487,0,0,0,0,0,0,0},{26602,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
-       {4005, 243, 1394, 1377, 4034, 55, 946, 951, {27783, 27791, 27796, 27803, 27813, 27819, 27826}, {27834, 27838, 3928, 27842, 27847, 27851, 27855}, {2752, 2471, 2463, 2463, 4130, 4134, 2090}, {27860, 27868, 6248, 27877, 27883, 27888, 27894, 6282, 27900, 27909, 27917, 27926, 0}, {27860, 27868, 6248, 27877, 27883, 27888, 27894, 6282, 27900, 27909, 27917, 27926, 0}, {27935, 2842, 3928, 27939, 2781, 27943, 27948, 18692, 17293, 27952, 2875, 3936, 0}, {27935, 2842, 3928, 27939, 2781, 27943, 27948, 18692, 17293, 27952, 2875, 3936, 0}, 2, 1, 239, 241, {243,14,1312,1320,1327,1336,1301,0,0,0,0,0,0,0},{4005,4231,4258,0,0,0,0,0},{1377,274,35,1382,0,0,0,0,0,0,0,0},{1394,280,23,1402,0,0,0,0,0}},
-       {5487, 2351, 280, 274, 44, 55, 27956, 27968, {27980, 16572, 28008, 16613, 24385, 16666, 16691}, {24407, 24417, 24427, 24440, 24450, 24463, 24479}, {0, 0, 0, 0, 0, 0, 0}, {24489, 24514, 16871, 24545, 24564, 16913, 24571, 28027, 28043, 28071, 24647, 24675, 0}, {24489, 24514, 16871, 24545, 24564, 16913, 24571, 28027, 28043, 28071, 24647, 24675, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 0, 2601, 241, {2351,1327,2312,2903,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,1928,1920,0,0,0,0,0,0,0,0},{280,1394,1948,1937,0,0,0,0,0}},
-       {28093, 1301, 2996, 3007, 28141, 3773, 28151, 28163, {28172, 28188, 28204, 28232, 28248, 28291, 28316}, {28344, 28354, 28364, 28371, 28381, 28397, 28410}, {28420, 28424, 28428, 28432, 28436, 28449, 28456}, {28463, 28482, 28507, 28526, 28551, 28564, 28577, 28590, 28612, 28646, 28671, 28699, 0}, {28463, 28482, 28507, 28526, 28551, 28564, 28577, 28590, 28612, 28646, 28671, 28699, 0}, {28727, 28734, 28744, 28526, 28551, 28564, 28577, 28757, 28767, 28780, 28790, 28803, 0}, {28727, 28734, 28744, 28526, 28551, 28564, 28577, 28757, 28767, 28780, 28790, 28803, 0}, 0, 1, 2601, 241, {1301,1814,1857,243,14,0,0,0,0,0,0,0,0,0},{28093,0,0,0,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {28816, 2987, 2996, 3007, 1982, 28848, 28862, 28872, {28885, 28895, 28902, 28915, 28925, 28935, 28945}, {28885, 28895, 28955, 28915, 28925, 28935, 28945}, {28965, 28969, 28973, 28977, 28981, 28985, 28989}, {28993, 29009, 29025, 29035, 29048, 29055, 29062, 29072, 29085, 29104, 29123, 29139, 0}, {28993, 29009, 29025, 29035, 29048, 29055, 29062, 29072, 29085, 29104, 29123, 29139, 0}, {29155, 29165, 29025, 29175, 29048, 29055, 29062, 29185, 29195, 29205, 29215, 29225, 0}, {29155, 29165, 29025, 29175, 29048, 29055, 29062, 29185, 29195, 29205, 29215, 29225, 0}, 0, 0, 239, 241, {2987,1301,0,0,0,0,0,0,0,0,0,0,0,0},{28816,0,0,0,0,0,0,0},{3007,0,0,0,0,0,0,0,0,0,0,0},{2996,0,0,0,0,0,0,0,0}},
-       {3744, 3764, 2996, 3007, 29476, 3773, 29486, 29527, {29568, 29587, 29606, 29631, 29650, 29672, 29697}, {29716, 24417, 29726, 24440, 29742, 24463, 24479}, {29755, 29759, 29763, 29767, 29771, 29775, 29779}, {16839, 29783, 16871, 29811, 24564, 29830, 16923, 16939, 29840, 29871, 29893, 29918, 0}, {16839, 29783, 16871, 29811, 24564, 29830, 16923, 16939, 29840, 29871, 29893, 29918, 0}, {29943, 29950, 16871, 29960, 24564, 29830, 29976, 29989, 29996, 30012, 30028, 30041, 0}, {29943, 29950, 16871, 29960, 24564, 29830, 29976, 29989, 29996, 30012, 30028, 30041, 0}, 0, 0, 239, 241, {3764,3940,3947,3956,1857,1301,3967,0,0,0,0,0,0,0},{3744,3977,254,3991,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {243, 14, 2996, 3007, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {30054, 30061, 30070, 30085, 30096, 30105, 30112, 30119, 30126, 30137, 30150, 30163, 0}, {30054, 30061, 30070, 30085, 30096, 30105, 30112, 30119, 30126, 30137, 30150, 30163, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 6, 239, 241, {14,243,0,0,0,0,0,0,0,0,0,0,0,0},{243,1,254,30168,0,0,0,0},{3007,1377,0,0,0,0,0,0,0,0,0,0},{2996,1394,0,0,0,0,0,0,0}},
-       {3744, 3764, 2996, 3007, 44, 3773, 3781, 3784, {30186, 30193, 27796, 30199, 30210, 30218, 30227}, {30234, 27838, 3928, 30238, 30242, 30246, 10507}, {2471, 2471, 2463, 2463, 5695, 15399, 2090}, {30250, 30256, 30264, 27877, 30270, 30275, 30281, 6282, 30287, 30297, 30305, 30315, 0}, {30250, 30256, 30264, 27877, 30270, 30275, 30281, 6282, 30287, 30297, 30305, 30315, 0}, {30325, 30329, 3928, 27939, 3897, 30333, 30337, 18692, 17293, 2871, 30341, 15347, 0}, {30325, 30329, 3928, 27939, 3897, 30333, 30337, 18692, 17293, 2871, 30341, 15347, 0}, 0, 0, 239, 241, {3764,3940,3947,3956,1857,1301,3967,0,0,0,0,0,0,0},{3744,3977,254,3991,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {3744, 2987, 2996, 3007, 44, 3773, 0, 0, {30345, 30352, 30360, 30367, 30374, 30382, 30390}, {30397, 30400, 30403, 30406, 30409, 30412, 30415}, {2471, 2471, 2465, 2471, 12319, 4132, 12319}, {30418, 30426, 30436, 30442, 30450, 30455, 30460, 30465, 30472, 18677, 30480, 30488, 0}, {30418, 30426, 30436, 30442, 30450, 30455, 30460, 30465, 30472, 18677, 30480, 30488, 0}, {2838, 30496, 3928, 30500, 3897, 29439, 29443, 30504, 3868, 2871, 30508, 15347, 0}, {2838, 30496, 3928, 30500, 3897, 29439, 29443, 30504, 3868, 2871, 30508, 15347, 0}, 0, 0, 239, 241, {2987,1320,14,243,1857,1301,3967,0,0,0,0,0,0,0},{3744,3977,254,3991,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {3744, 2987, 2996, 3007, 44, 3773, 30512, 30523, {30533, 30551, 30566, 30588, 30601, 30615, 30632}, {30656, 30664, 30669, 30588, 30601, 30681, 30688}, {0, 0, 0, 0, 0, 0, 0}, {30702, 30724, 30740, 30760, 30774, 30791, 30806, 30823, 30837, 30850, 30869, 30883, 0}, {30702, 30724, 30740, 30760, 30774, 30791, 30806, 30823, 30837, 30850, 30869, 30883, 0}, {30902, 30917, 30926, 30939, 30946, 30956, 30964, 30974, 30981, 30987, 30999, 31006, 0}, {30902, 30917, 30926, 30939, 30946, 30956, 30964, 30974, 30981, 30987, 30999, 31006, 0}, 0, 0, 239, 241, {2987,1320,14,243,1857,1301,3967,0,0,0,0,0,0,0},{3744,3977,254,3991,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {5487, 1814, 23, 35, 1982, 55, 0, 0, {31018, 31026, 14922, 14931, 14940, 31037, 31047}, {15387, 14972, 14976, 14980, 14984, 15241, 31056}, {0, 0, 0, 0, 0, 0, 0}, {31060, 31069, 31079, 31087, 10536, 3901, 31095, 31101, 31110, 31119, 31128, 31137, 0}, {31060, 31069, 31079, 31087, 10536, 3901, 31095, 31101, 31110, 31119, 31128, 31137, 0}, {2838, 2842, 14991, 31146, 10536, 2855, 2859, 18692, 17293, 2871, 31150, 15347, 0}, {2838, 2842, 14991, 31146, 10536, 2855, 2859, 18692, 17293, 2871, 31150, 15347, 0}, 0, 0, 239, 241, {1814,1857,1301,0,0,0,0,0,0,0,0,0,0,0},{5487,0,0,0,0,0,0,0},{35,3007,274,0,0,0,0,0,0,0,0,0},{23,2996,280,0,0,0,0,0,0}},
-       {1960, 2351, 280, 274, 1982, 2362, 31154, 31159, {31164, 31171, 31186, 31200, 31216, 31231, 31247}, {6225, 31262, 2565, 31266, 31270, 31274, 31278}, {2090, 12319, 2463, 2085, 2090, 2465, 12319}, {7172, 7180, 31282, 31289, 31296, 2504, 2509, 31301, 31311, 31322, 31331, 31341, 0}, {7172, 7180, 31282, 31289, 31296, 2504, 2509, 31301, 31311, 31322, 31331, 31341, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 2581, 2585, 2589, 2593, 2597, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 2581, 2585, 2589, 2593, 2597, 0}, 0, 0, 2601, 241, {2351,1327,1301,2603,0,0,0,0,0,0,0,0,0,0},{1960,2614,0,0,0,0,0,0},{274,1377,0,0,0,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {3744, 2987, 2996, 3007, 44, 3773, 31351, 31356, {31361, 31377, 31385, 31393, 31402, 31414, 31424}, {31434, 31440, 31446, 31450, 31454, 31462, 3868}, {0, 0, 0, 0, 0, 0, 0}, {31469, 31482, 31496, 31505, 31511, 31515, 31520, 31528, 15302, 31541, 15319, 15327, 0}, {31469, 31482, 31496, 31505, 31511, 31515, 31520, 31528, 15302, 31541, 15319, 15327, 0}, {31550, 2842, 31554, 15335, 31511, 31558, 2859, 31562, 2867, 31570, 2875, 15347, 0}, {31550, 2842, 31554, 15335, 31511, 31558, 2859, 31562, 2867, 31570, 2875, 15347, 0}, 0, 0, 239, 241, {2987,1320,14,243,1857,1301,3967,0,0,0,0,0,0,0},{3744,3977,254,3991,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {31576, 1444, 1394, 1920, 31600, 31617, 31631, 31638, {31645, 31655, 31665, 31675, 31685, 31695, 31705}, {31715, 31722, 31729, 31736, 31743, 31750, 31757}, {31764, 31768, 31772, 31776, 31780, 31784, 31788}, {31792, 31799, 31806, 31813, 31820, 31827, 31834, 31841, 31848, 31855, 31862, 31872, 0}, {31792, 31799, 31806, 31813, 31820, 31827, 31834, 31841, 31848, 31855, 31862, 31872, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 0, 239, 241, {1444,1796,1805,1825,1301,1814,0,0,0,0,0,0,0,0},{31576,31882,31912,0,0,0,0,0},{1920,1377,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {4748, 243, 280, 274, 1982, 4765, 0, 0, {26445, 27838, 31942, 31949, 31959, 31964, 31971}, {31978, 4108, 31982, 4839, 31987, 31992, 31997}, {4398, 32002, 32005, 32008, 32011, 32014, 32017}, {32020, 32027, 31942, 32038, 32044, 32048, 32057, 32064, 32069, 32078, 8225, 32083, 0}, {32020, 32027, 31942, 32038, 32044, 32048, 32057, 32064, 32069, 32078, 8225, 32083, 0}, {32089, 32093, 32100, 26576, 32044, 32105, 32110, 32064, 32115, 32078, 8225, 32120, 0}, {32089, 32093, 32100, 26576, 32044, 32105, 32110, 32064, 32115, 32078, 8225, 32120, 0}, 2, 1, 239, 241, {243,14,1336,1327,1301,0,0,0,0,0,0,0,0,0},{4748,4974,3732,0,0,0,0,0},{274,1377,4983,4989,4999,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {32124, 243, 280, 274, 1982, 4765, 0, 0, {32152, 32160, 32167, 32175, 32185, 32193, 1007}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {32204, 32212, 1064, 1070, 4887, 32221, 32226, 1093, 1099, 32233, 1116, 32242, 0}, {32204, 32212, 1064, 1070, 4887, 32221, 32226, 1093, 1099, 32233, 1116, 32242, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 2, 1, 239, 241, {243,14,1336,1327,1301,0,0,0,0,0,0,0,0,0},{32124,0,0,0,0,0,0,0},{274,1377,4983,4989,4999,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {32404, 32422, 1394, 1377, 32433, 3773, 32449, 32454, {32459, 32484, 32513, 32538, 32551, 32566, 32583}, {32598, 32603, 32608, 32613, 32618, 32623, 8534}, {32628, 32628, 32631, 8545, 8548, 32628, 8545}, {32634, 32653, 32668, 32690, 32710, 32726, 32742, 32756, 32782, 32806, 32823, 32840, 0}, {32634, 32653, 32668, 32690, 32710, 32726, 32742, 32756, 32782, 32806, 32823, 32840, 0}, {32857, 32866, 32875, 32889, 32903, 32915, 32927, 32937, 32953, 32967, 32974, 32981, 0}, {32857, 32866, 32875, 32889, 32903, 32915, 32927, 32937, 32953, 32967, 32974, 32981, 0}, 0, 1, 763, 241, {32422,32988,2903,3947,32997,0,0,0,0,0,0,0,0,0},{32404,33008,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {3744, 3764, 2996, 3007, 44, 3773, 0, 0, {33027, 33039, 33050, 33062, 33074, 33084, 33096}, {33111, 33116, 33121, 33126, 33131, 33136, 33141}, {0, 0, 0, 0, 0, 0, 0}, {33146, 33155, 33167, 33175, 33180, 33190, 33197, 33206, 33213, 33219, 33228, 33239, 0}, {33146, 33155, 33167, 33175, 33180, 33190, 33197, 33206, 33213, 33219, 33228, 33239, 0}, {33247, 33252, 33257, 33262, 33267, 33272, 33277, 33131, 33282, 33287, 33292, 33297, 0}, {33247, 33252, 33257, 33262, 33267, 33272, 33277, 33131, 33282, 33287, 33292, 33297, 0}, 0, 0, 239, 241, {3764,3940,3947,3956,1857,1301,3967,0,0,0,0,0,0,0},{3744,3977,254,3991,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {5487, 243, 280, 274, 1982, 55, 6008, 6013, {33302, 33315, 33323, 33332, 33342, 33352, 33361}, {33373, 33377, 33381, 33385, 33389, 33393, 33397}, {2752, 2471, 2463, 7414, 12319, 5695, 2090}, {33401, 33415, 33426, 33435, 33446, 33458, 33472, 33484, 33497, 33510, 33522, 33535, 0}, {33401, 33415, 33426, 33435, 33446, 33458, 33472, 33484, 33497, 33510, 33522, 33535, 0}, {33549, 33554, 33560, 33566, 33571, 33577, 33583, 33588, 33594, 33599, 18002, 33605, 0}, {33549, 33554, 33560, 33566, 33571, 33577, 33583, 33588, 33594, 33599, 18002, 33605, 0}, 2, 0, 239, 241, {243,14,1320,2903,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,35,3007,0,0,0,0,0,0,0,0},{280,1394,23,2996,0,0,0,0,0}},
-       {3991, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {243,14,1301,0,0,0,0,0,0,0,0,0,0,0},{3991,254,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
-       {1422, 1444, 1394, 1377, 1453, 1469, 1482, 1489, {1496, 1506, 1516, 1526, 1536, 1546, 1556}, {1566, 1573, 1580, 1587, 1594, 1601, 1608}, {1615, 1619, 1623, 1627, 1631, 1635, 1639}, {1643, 1650, 1657, 1664, 1671, 1678, 1685, 1692, 1699, 1706, 1713, 1723, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {1643, 1650, 1657, 1664, 1671, 1678, 1685, 1692, 1699, 1706, 1713, 1723, 0}, {1643, 1650, 1657, 1664, 1671, 1678, 1685, 1692, 1699, 1706, 1713, 1723, 0}, 0, 0, 239, 241, {1444,1796,1805,1301,1814,1825,1836,1843,1850,1857,0,0,0,0},{1422,1866,1893,0,0,0,0,0},{1377,274,1920,1928,0,0,0,0,0,0,0,0},{1394,280,1937,1948,0,0,0,0,0}},
-       {2628, 2647, 280, 274, 1982, 55, 2658, 2664, {2671, 2679, 2686, 2695, 2704, 2715, 2723}, {2731, 2734, 2737, 2740, 2743, 2746, 2749}, {2090, 2463, 2752, 2463, 2752, 2469, 2090}, {2754, 2761, 2769, 2775, 2781, 2785, 2790, 2795, 2802, 2812, 2820, 2829, 0}, {2754, 2761, 2769, 2775, 2781, 2785, 2790, 2795, 2802, 2812, 2820, 2829, 0}, {2838, 2842, 2846, 2851, 2781, 2855, 2859, 2863, 2867, 2871, 2875, 2879, 0}, {2838, 2842, 2846, 2851, 2781, 2855, 2859, 2863, 2867, 2871, 2875, 2879, 0}, 2, 1, 763, 241, {2647,1336,2895,33792,2903,1301,0,0,0,0,0,0,0,0},{2628,1960,33802,0,0,0,0,0},{274,1377,8087,8077,2922,8110,8115,8096,8102,0,0,0},{280,1394,8147,8160,2947,2933,2962,0,0}},
-       {5487, 243, 280, 274, 1982, 55, 3781, 3784, {3787, 3794, 3801, 3809, 3819, 3828, 3835}, {3844, 3848, 3852, 3856, 3860, 3864, 3868}, {2090, 2463, 2465, 3872, 2465, 2469, 2090}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, 2, 0, 239, 241, {243,14,1320,2903,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,35,3007,0,0,0,0,0,0,0,0},{280,1394,23,2996,0,0,0,0,0}},
-       {4005, 243, 23, 35, 4034, 55, 946, 951, {4049, 4057, 4063, 4070, 4081, 4088, 4096}, {4104, 4108, 2565, 4112, 4117, 4121, 4125}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, 0, 0, 239, 241, {243,3720,14,1312,1320,1327,1301,0,0,0,0,0,0,0},{4005,4231,4258,0,0,0,0,0},{35,3007,1377,274,0,0,0,0,0,0,0,0},{23,2996,1394,280,0,0,0,0,0}},
-       {4748, 14083, 280, 274, 1982, 4765, 3781, 3784, {4772, 4781, 4787, 4793, 4802, 4808, 4817}, {4824, 4829, 4834, 4839, 4844, 4849, 4854}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4859, 4867, 4876, 4881, 4887, 4891, 4896, 4904, 4910, 4920, 1116, 4928, 0}, {4859, 4867, 4876, 4881, 4887, 4891, 4896, 4904, 4910, 4920, 1116, 4928, 0}, {4938, 4944, 4876, 4951, 4887, 4891, 4956, 4904, 4962, 1286, 1291, 4968, 0}, {4938, 4944, 4876, 4951, 4887, 4891, 4956, 4904, 4962, 1286, 1291, 4968, 0}, 2, 1, 239, 241, {14083,1312,1336,1857,1327,243,1301,0,0,0,0,0,0,0},{4748,3732,3967,0,0,0,0,0},{274,1377,4983,4989,4999,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {2628, 2647, 280, 274, 1982, 2362, 6145, 6148, {6151, 6160, 6168, 6177, 6188, 6197, 6206}, {4104, 4108, 2565, 6213, 6217, 6221, 6225}, {2752, 2471, 2463, 2463, 6229, 4134, 2090}, {6231, 6239, 6248, 6254, 6261, 6268, 6275, 6282, 6289, 6299, 6307, 6316, 0}, {6325, 6333, 4150, 6342, 6349, 6356, 6363, 4173, 6370, 6380, 1116, 6388, 0}, {6397, 2561, 2565, 2569, 6401, 6405, 6409, 4219, 6413, 6417, 2593, 4227, 0}, {6397, 2561, 2565, 2569, 6401, 6405, 6409, 4219, 6413, 6417, 2593, 4227, 0}, 2, 1, 763, 241, {2647,1336,11642,1320,6421,1301,0,0,0,0,0,0,0,0},{2628,6429,3732,0,0,0,0,0},{274,1377,8087,0,0,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {4748, 14083, 1394, 1377, 1982, 55, 946, 951, {7093, 7100, 7108, 7116, 7125, 7135, 7143}, {7152, 4401, 7155, 7158, 7161, 7164, 7167}, {7170, 2463, 2752, 3872, 2752, 4134, 7170}, {7172, 7180, 7189, 2494, 7195, 2504, 2509, 7199, 2521, 2531, 2539, 2548, 0}, {7172, 7180, 7189, 2494, 7195, 2504, 2509, 7199, 2521, 2531, 2539, 2548, 0}, {2557, 2561, 7208, 2569, 7195, 2573, 2577, 2581, 2585, 2589, 2593, 2597, 0}, {2557, 2561, 7208, 2569, 7195, 2573, 2577, 2581, 2585, 2589, 2593, 2597, 0}, 2, 1, 239, 241, {14083,1312,1327,1336,2883,1301,0,0,0,0,0,0,0,0},{4748,3967,3732,5530,0,0,0,0},{1377,274,33812,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {1960, 2647, 280, 274, 1982, 2362, 2370, 2375, {2380, 9835, 33822, 2403, 2410, 2418, 33829}, {2433, 9863, 33837, 2446, 2450, 2454, 6004}, {2090, 2463, 2465, 2467, 2465, 2469, 2471}, {2473, 2480, 4876, 2494, 4887, 2504, 2509, 2514, 2521, 2531, 2539, 6076, 0}, {2473, 2480, 4876, 2494, 4887, 2504, 2509, 2514, 2521, 2531, 2539, 6076, 0}, {2557, 2561, 2565, 2569, 4887, 2573, 2577, 2581, 2585, 2589, 2593, 6106, 0}, {2557, 2561, 2565, 2569, 4887, 2573, 2577, 2581, 2585, 2589, 2593, 6106, 0}, 2, 1, 763, 241, {2647,1336,2903,1301,2883,0,0,0,0,0,0,0,0,0},{1960,2614,0,0,0,0,0,0},{274,1377,7296,4983,0,0,0,0,0,0,0,0},{280,1394,7307,6438,0,0,0,0,0}},
-       {7648, 2351, 280, 274, 4034, 33841, 946, 951, {27783, 33845, 33859, 33872, 33885, 33898, 27826}, {4104, 7754, 7758, 7762, 7766, 7770, 4125}, {2752, 2090, 2465, 7774, 7774, 2090, 2090}, {33910, 33918, 33928, 27877, 27883, 33935, 33941, 6282, 27900, 27909, 27917, 33947, 0}, {33910, 33918, 33928, 27877, 27883, 33935, 33941, 6282, 27900, 27909, 27917, 33947, 0}, {2838, 33775, 3928, 27939, 2781, 2855, 2859, 18692, 17293, 27952, 2875, 2879, 0}, {2838, 33775, 3928, 27939, 2781, 2855, 2859, 18692, 17293, 27952, 2875, 2879, 0}, 2, 1, 2601, 241, {2351,14134,24833,2903,14,1301,0,0,0,0,0,0,0,0},{7648,4258,33956,33965,0,0,0,0},{274,33974,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
-       {9790, 1973, 280, 274, 1982, 9808, 9821, 9824, {9827, 9835, 9843, 2403, 2410, 2418, 9850}, {9858, 9863, 9868, 2446, 2450, 2454, 9872}, {2090, 2463, 2465, 2467, 2465, 2469, 2471}, {7172, 7180, 4876, 2494, 2500, 2504, 2509, 9877, 2521, 2531, 2539, 2548, 0}, {7172, 7180, 4876, 2494, 2500, 2504, 2509, 9877, 2521, 2531, 2539, 2548, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 2581, 2585, 2589, 2593, 2597, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 2581, 2585, 2589, 2593, 2597, 0}, 2, 1, 763, 241, {1973,2647,2903,1301,0,0,0,0,0,0,0,0,0,0},{9790,9885,0,0,0,0,0,0},{274,1377,9908,0,0,0,0,0,0,0,0,0},{280,1394,9918,0,0,0,0,0,0}},
-       {3732, 2647, 1394, 1377, 1982, 4765, 0, 0, {33985, 33996, 34020, 34050, 34067, 34089, 34098}, {14270, 14273, 14278, 14284, 14288, 7414, 14293}, {6567, 6555, 6557, 6559, 6561, 6563, 6565}, {34109, 34122, 573, 34135, 593, 34146, 34155, 614, 34164, 34181, 34196, 34209, 0}, {34109, 34122, 573, 34135, 593, 34146, 34155, 614, 34164, 34181, 34196, 34209, 0}, {14367, 7853, 2565, 2569, 14371, 14375, 14379, 14383, 14387, 2589, 14391, 14395, 0}, {14367, 7853, 2565, 2569, 14371, 14375, 14379, 14383, 14387, 2589, 14391, 14395, 0}, 0, 1, 763, 241, {2647,1336,2903,14,1301,0,0,0,0,0,0,0,0,0},{3732,5487,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {3732, 243, 280, 274, 1982, 55, 946, 951, {17719, 17733, 17743, 17754, 17768, 17779, 17790}, {17803, 17808, 17813, 17820, 17826, 17832, 17838}, {2752, 2471, 2463, 7414, 2752, 12319, 2090}, {17843, 17851, 17859, 17866, 17875, 17885, 17895, 17901, 17909, 17924, 17942, 17950, 0}, {17843, 17851, 17859, 17866, 17875, 17885, 17895, 17901, 17909, 17924, 17942, 17950, 0}, {17958, 17962, 17859, 17968, 17972, 17977, 17895, 17983, 17988, 17995, 18002, 18007, 0}, {17958, 17962, 17859, 17968, 17972, 17977, 17895, 17983, 17988, 17995, 18002, 18007, 0}, 2, 1, 239, 241, {243,14,1320,2903,1301,0,0,0,0,0,0,0,0,0},{3732,5487,9942,9931,0,0,0,0},{274,1377,0,0,0,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {5487, 243, 1394, 1377, 1982, 55, 18012, 18015, {18019, 18024, 10453, 10460, 18030, 18037, 10477}, {18044, 18048, 10491, 10495, 18052, 10503, 10507}, {12319, 14531, 2090, 10511, 4419, 4132, 2090}, {10513, 10521, 18056, 2775, 10536, 2855, 18060, 18066, 2802, 2812, 2820, 18071, 0}, {10513, 10521, 18056, 2775, 10536, 2855, 18060, 18066, 2802, 2812, 2820, 18071, 0}, {2838, 2842, 18056, 2851, 10536, 2855, 2859, 18066, 2867, 2871, 2875, 15347, 0}, {2838, 2842, 18056, 2851, 10536, 2855, 2859, 18066, 2867, 2871, 2875, 15347, 0}, 0, 1, 239, 241, {243,14,1301,0,0,0,0,0,0,0,0,0,0,0},{5487,0,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {34222, 2647, 280, 274, 1982, 18725, 0, 0, {18732, 18747, 18762, 18777, 18794, 18811, 18820}, {18831, 18838, 18845, 18852, 18859, 18866, 18873}, {18880, 18883, 8545, 8548, 8542, 18886, 18889}, {12768, 12779, 8579, 12792, 8601, 12803, 12810, 8626, 12817, 12832, 12845, 12856, 0}, {12768, 12779, 8579, 12792, 8601, 12803, 12810, 8626, 12817, 12832, 12845, 12856, 0}, {12869, 12876, 12883, 12890, 8601, 12803, 12810, 12897, 12904, 12911, 12918, 12925, 0}, {12869, 12876, 12883, 12890, 8601, 12803, 12810, 12897, 12904, 12911, 12918, 12925, 0}, 0, 1, 763, 241, {2647,1336,18714,2903,14,1301,0,0,0,0,0,0,0,0},{34222,3732,5487,0,0,0,0,0},{274,1377,0,0,0,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {5487, 1327, 6438, 4983, 44, 55, 18892, 18920, {18942, 18961, 18980, 19005, 19024, 19058, 19083}, {19102, 19112, 19122, 19138, 19148, 19173, 19189}, {19199, 19203, 19210, 19214, 19221, 19228, 19235}, {19239, 19267, 19301, 19317, 19336, 19343, 19353, 19369, 19385, 19416, 19438, 19460, 0}, {19239, 19267, 19301, 19317, 19336, 19343, 19353, 19369, 19385, 19416, 19438, 19460, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, {6555, 6557, 6559, 6561, 6563, 6565, 6567, 6569, 6571, 6573, 6576, 6579, 0}, 0, 5, 2601, 241, {1327,2312,2903,2351,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{4983,2327,19485,19494,0,0,0,0,0,0,0,0},{6438,2343,19502,19514,0,0,0,0,0}},
-       {34243, 1444, 1394, 1377, 34319, 34351, 0, 0, {24859, 24866, 24877, 24890, 24903, 24914, 24927}, {24938, 24943, 24948, 24953, 24958, 24963, 24968}, {0, 0, 0, 0, 0, 0, 0}, {24973, 24988, 24997, 25004, 25017, 25024, 25035, 25044, 25053, 25060, 25071, 25082, 0}, {24973, 24988, 24997, 25004, 25017, 25024, 25035, 25044, 25053, 25060, 25071, 25082, 0}, {25093, 25100, 25107, 25114, 25121, 25128, 25135, 25142, 25149, 25156, 25163, 25170, 0}, {25093, 25100, 25107, 25114, 25121, 25128, 25135, 25142, 25149, 25156, 25163, 25170, 0}, 0, 0, 239, 241, {1444,1796,1805,1825,1301,1814,1836,1843,1850,1857,0,0,0,0},{34243,34386,0,0,0,0,0,0},{1377,0,0,0,0,0,0,0,0,0,0,0},{1394,0,0,0,0,0,0,0,0}},
-       {3991, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {243,14,1301,0,0,0,0,0,0,0,0,0,0,0},{3991,254,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
-       {1422, 2987, 1394, 1377, 1453, 1469, 1482, 1489, {1496, 1506, 1516, 1526, 1536, 1546, 1556}, {33611, 33618, 33625, 33632, 33639, 33646, 33653}, {1615, 1619, 1623, 1627, 1631, 1635, 1639}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, 0, 0, 239, 241, {2987,1320,14,1843,1857,1444,1814,1301,0,0,0,0,0,0},{1422,6639,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {34470, 2647, 280, 274, 1982, 55, 2658, 2664, {2671, 2679, 2686, 2695, 2704, 2715, 2723}, {2731, 2734, 2737, 2740, 2743, 2746, 2749}, {2090, 2463, 2752, 2463, 2752, 2469, 2090}, {34490, 2761, 2769, 2775, 2781, 2785, 2790, 2795, 2802, 2812, 2820, 2829, 0}, {34490, 2761, 2769, 2775, 2781, 2785, 2790, 2795, 2802, 2812, 2820, 2829, 0}, {34498, 2842, 2846, 2851, 2781, 2855, 2859, 2863, 2867, 2871, 2875, 2879, 0}, {34498, 2842, 2846, 2851, 2781, 2855, 2859, 2863, 2867, 2871, 2875, 2879, 0}, 2, 1, 763, 241, {2647,1336,34503,1301,0,0,0,0,0,0,0,0,0,0},{34470,34513,34525,9931,0,0,0,0},{274,1377,34535,34547,8110,8115,8102,0,0,0,0,0},{280,1394,2947,2933,2962,0,0,0,0}},
-       {2969, 14083, 2996, 3007, 1982, 55, 3781, 3784, {3787, 3794, 3801, 3809, 3819, 3828, 3835}, {3844, 3848, 3852, 3856, 3860, 3864, 3868}, {2090, 2463, 2465, 3872, 2465, 2469, 2090}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, 0, 0, 239, 241, {14083,1312,1320,2987,14,243,3967,5500,1301,1857,1814,0,0,0},{2969,3732,0,0,0,0,0,0},{3007,1377,274,0,0,0,0,0,0,0,0,0},{2996,1394,280,0,0,0,0,0,0}},
-       {4005, 243, 1394, 1377, 4034, 55, 946, 951, {4049, 4057, 4063, 4070, 4081, 4088, 4096}, {4104, 4108, 2565, 4112, 4117, 4121, 4125}, {2752, 2471, 2463, 4130, 4132, 4134, 2090}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, 2, 1, 239, 241, {243,14,1312,1320,1327,1336,1301,2883,0,0,0,0,0,0},{4005,4231,4258,0,0,0,0,0},{1377,274,1382,0,0,0,0,0,0,0,0,0},{1394,280,1402,0,0,0,0,0,0}},
-       {3732, 1301, 280, 274, 44, 4765, 3781, 3784, {4772, 4781, 4787, 4793, 4802, 4808, 4817}, {4824, 4829, 4834, 4839, 4844, 4849, 4854}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4859, 4867, 4876, 4881, 4887, 4891, 4896, 4904, 4910, 4920, 1116, 4928, 0}, {4859, 4867, 4876, 4881, 4887, 4891, 4896, 4904, 4910, 4920, 1116, 4928, 0}, {4938, 4944, 4876, 4951, 4887, 4891, 4956, 4904, 4962, 1286, 1291, 4968, 0}, {4938, 4944, 4876, 4951, 4887, 4891, 4956, 4904, 4962, 1286, 1291, 4968, 0}, 0, 0, 2601, 241, {1301,5871,1327,6136,14,3720,0,0,0,0,0,0,0,0},{3732,9931,0,0,0,0,0,0},{274,1377,4983,4989,4999,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {17334, 1973, 1394, 1377, 1982, 17352, 17366, 17371, {34558, 34566, 34574, 34582, 34594, 34603, 34615}, {17456, 17461, 17466, 17471, 17476, 17481, 17486}, {2090, 2463, 2752, 6229, 2752, 15399, 2471}, {17491, 17508, 17521, 17535, 17548, 17561, 17574, 17588, 17600, 17614, 17628, 17642, 0}, {17491, 17508, 17521, 17535, 17548, 17561, 17574, 17588, 17600, 17614, 17628, 17642, 0}, {34626, 34637, 34644, 34652, 34659, 34666, 34673, 34681, 34687, 34695, 34703, 34711, 0}, {34626, 34637, 34644, 34652, 34659, 34666, 34673, 34681, 34687, 34695, 34703, 34711, 0}, 2, 1, 763, 241, {1973,2647,2903,1301,0,0,0,0,0,0,0,0,0,0},{17334,0,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {3991, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {243,14,1301,0,0,0,0,0,0,0,0,0,0,0},{3991,254,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
-       {1422, 2987, 1937, 1920, 1453, 1469, 1482, 1489, {1496, 1506, 1516, 1526, 1536, 1546, 1556}, {1566, 1573, 1580, 1587, 1594, 1601, 1608}, {1615, 1619, 1623, 1627, 1631, 1635, 1639}, {1643, 1650, 1657, 1664, 1671, 1678, 1685, 1692, 1699, 1706, 1713, 1723, 0}, {1643, 1650, 1657, 1664, 1671, 1678, 1685, 1692, 1699, 1706, 1713, 1723, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, 0, 0, 239, 241, {2987,1320,14,1843,1857,1444,1814,1301,0,0,0,0,0,0},{1422,6639,0,0,0,0,0,0},{1920,1928,1377,274,0,0,0,0,0,0,0,0},{1937,1948,1394,280,0,0,0,0,0}},
-       {2628, 2647, 280, 274, 1982, 55, 2658, 2664, {2671, 2679, 2686, 2695, 2704, 2715, 2723}, {2731, 2734, 2737, 2740, 2743, 2746, 2749}, {2090, 2463, 2752, 2463, 2752, 2469, 2090}, {2754, 2761, 2769, 2775, 2781, 2785, 2790, 2795, 2802, 2812, 2820, 2829, 0}, {2754, 2761, 2769, 2775, 2781, 2785, 2790, 2795, 2802, 2812, 2820, 2829, 0}, {2838, 2842, 2846, 2851, 2781, 2855, 2859, 2863, 2867, 2871, 2875, 2879, 0}, {2838, 2842, 2846, 2851, 2781, 2855, 2859, 2863, 2867, 2871, 2875, 2879, 0}, 2, 1, 763, 241, {2647,1336,2895,2903,1973,1301,0,0,0,0,0,0,0,0},{2628,1960,2910,0,0,0,0,0},{274,1377,2327,2922,0,0,0,0,0,0,0,0},{280,2933,2947,2962,0,0,0,0,0}},
-       {34718, 243, 2996, 3007, 44, 3773, 3781, 3784, {3787, 3794, 3801, 3809, 3819, 3828, 3835}, {3844, 3848, 3852, 3856, 3860, 3864, 3868}, {2090, 2463, 2465, 3872, 2465, 2469, 2090}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, 0, 0, 239, 241, {243,14,1320,1301,5871,34729,3967,14134,0,0,0,0,0,0},{34718,34737,6429,3744,0,0,0,0},{3007,35,274,1377,0,0,0,0,0,0,0,0},{2996,23,280,1394,0,0,0,0,0}},
-       {4005, 243, 23, 35, 4034, 55, 946, 951, {4049, 4057, 4063, 4070, 4081, 4088, 4096}, {4104, 4108, 2565, 4112, 4117, 4121, 4125}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, 0, 0, 239, 241, {243,14,14083,1320,1327,1301,0,0,0,0,0,0,0,0},{4005,4231,4258,0,0,0,0,0},{35,3007,1377,274,0,0,0,0,0,0,0,0},{23,2996,1394,280,0,0,0,0,0}},
-       {4748, 2647, 280, 274, 1982, 4765, 3781, 3784, {4772, 4781, 4787, 4793, 4802, 4808, 4817}, {4824, 4829, 4834, 4839, 4844, 4849, 4854}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4859, 4867, 4876, 4881, 4887, 4891, 4896, 4904, 4910, 4920, 1116, 4928, 0}, {4859, 4867, 4876, 4881, 4887, 4891, 4896, 4904, 4910, 4920, 1116, 4928, 0}, {4938, 4944, 4876, 4951, 4887, 4891, 4956, 4904, 4962, 1286, 1291, 4968, 0}, {4938, 4944, 4876, 4951, 4887, 4891, 4956, 4904, 4962, 1286, 1291, 4968, 0}, 2, 1, 763, 241, {2647,1336,33792,2903,1301,0,0,0,0,0,0,0,0,0},{4748,3732,4974,0,0,0,0,0},{274,1377,4983,4989,4999,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {3991, 2351, 1394, 1377, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 2601, 241, {2351,1327,1301,0,0,0,0,0,0,0,0,0,0,0},{3991,254,0,0,0,0,0,0},{1377,274,35,0,0,0,0,0,0,0,0,0},{1394,280,23,0,0,0,0,0,0}},
-       {1422, 2987, 1394, 1377, 1453, 1469, 1482, 1489, {1496, 1506, 1516, 1526, 1536, 1546, 1556}, {33611, 33618, 33625, 33632, 33639, 33646, 33653}, {1615, 1619, 1623, 1627, 1631, 1635, 1639}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, 0, 0, 239, 241, {2987,1320,14,1843,1857,1444,1814,1301,0,0,0,0,0,0},{1422,34750,34777,2603,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {2628, 2647, 280, 274, 1982, 55, 2658, 2664, {2671, 2679, 2686, 2695, 2704, 2715, 2723}, {2731, 2734, 2737, 2740, 2743, 2746, 2749}, {2090, 2463, 2752, 2463, 2752, 2469, 2090}, {2754, 2761, 2769, 2775, 2781, 2785, 2790, 2795, 2802, 2812, 2820, 2829, 0}, {2754, 2761, 2769, 2775, 2781, 2785, 2790, 2795, 2802, 2812, 2820, 2829, 0}, {2838, 2842, 2846, 2851, 2781, 2855, 2859, 2863, 2867, 2871, 2875, 2879, 0}, {2838, 2842, 2846, 2851, 2781, 2855, 2859, 2863, 2867, 2871, 2875, 2879, 0}, 2, 1, 763, 241, {2647,1336,2895,33792,2903,1301,0,0,0,0,0,0,0,0},{2628,1960,33802,0,0,0,0,0},{274,1377,8087,8077,2922,8110,8115,8096,8102,0,0,0},{280,1394,8147,8160,2947,2933,2962,0,0}},
-       {2969, 14083, 2996, 3007, 1982, 55, 3781, 3784, {3787, 3794, 3801, 3809, 3819, 3828, 3835}, {3844, 3848, 3852, 3856, 3860, 3864, 3868}, {2090, 2463, 2465, 3872, 2465, 2469, 2090}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, 0, 0, 239, 241, {14083,1312,14,2895,1301,0,0,0,0,0,0,0,0,0},{2969,3732,0,0,0,0,0,0},{3007,35,274,1377,0,0,0,0,0,0,0,0},{2996,23,280,1394,0,0,0,0,0}},
-       {4005, 243, 23, 35, 4034, 55, 946, 951, {4049, 4057, 4063, 4070, 4081, 4088, 4096}, {4104, 4108, 2565, 4112, 4117, 4121, 4125}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, 0, 1, 239, 241, {243,14,1320,1327,1301,0,0,0,0,0,0,0,0,0},{4005,4231,4258,0,0,0,0,0},{35,3007,1377,274,0,0,0,0,0,0,0,0},{23,2996,1394,280,0,0,0,0,0}},
-       {4748, 243, 280, 274, 1982, 4765, 3781, 3784, {4772, 4781, 4787, 4793, 4802, 4808, 4817}, {4824, 4829, 4834, 4839, 4844, 4849, 4854}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4859, 4867, 4876, 4881, 4887, 4891, 4896, 4904, 4910, 4920, 1116, 4928, 0}, {4859, 4867, 4876, 4881, 4887, 4891, 4896, 4904, 4910, 4920, 1116, 4928, 0}, {4938, 4944, 4876, 4951, 4887, 4891, 4956, 4904, 4962, 1286, 1291, 4968, 0}, {4938, 4944, 4876, 4951, 4887, 4891, 4956, 4904, 4962, 1286, 1291, 4968, 0}, 2, 1, 239, 241, {243,14,1336,1327,1301,0,0,0,0,0,0,0,0,0},{4748,4974,3732,0,0,0,0,0},{274,1377,4983,4989,4999,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {3991, 2351, 1394, 1377, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 2601, 241, {2351,1327,1301,0,0,0,0,0,0,0,0,0,0,0},{3991,254,0,0,0,0,0,0},{1377,274,35,0,0,0,0,0,0,0,0,0},{1394,280,23,0,0,0,0,0,0}},
-       {5487, 243, 280, 274, 1982, 55, 946, 951, {3787, 3794, 3801, 3809, 3819, 3828, 3835}, {3844, 3848, 3852, 3856, 3860, 3864, 3868}, {2090, 2463, 2465, 3872, 2465, 2469, 2090}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, 2, 1, 239, 241, {243,14,1320,2903,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,0,0,0,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {4005, 3956, 23, 35, 4034, 55, 946, 951, {4049, 4057, 4063, 4070, 4081, 4088, 4096}, {4104, 4108, 2565, 4112, 4117, 4121, 4125}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, 0, 0, 239, 241, {3956,3947,1320,14,1327,1301,0,0,0,0,0,0,0,0},{4005,4231,4258,0,0,0,0,0},{35,3007,1377,274,0,0,0,0,0,0,0,0},{23,2996,1394,280,0,0,0,0,0}},
-       {4748, 243, 280, 274, 1982, 4765, 3781, 3784, {4772, 4781, 4787, 4793, 4802, 4808, 4817}, {4824, 4829, 4834, 4839, 4844, 4849, 4854}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4859, 4867, 4876, 4881, 4887, 4891, 4896, 4904, 4910, 4920, 1116, 4928, 0}, {4859, 4867, 4876, 4881, 4887, 4891, 4896, 4904, 4910, 4920, 1116, 4928, 0}, {4938, 4944, 4876, 4951, 4887, 4891, 4956, 4904, 4962, 1286, 1291, 4968, 0}, {4938, 4944, 4876, 4951, 4887, 4891, 4956, 4904, 4962, 1286, 1291, 4968, 0}, 2, 1, 239, 241, {243,14,1336,1327,1301,0,0,0,0,0,0,0,0,0},{4748,4974,3732,0,0,0,0,0},{274,1377,4983,4989,4999,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {1960, 1973, 1394, 1377, 1982, 2362, 34793, 34803, {11565, 34811, 8966, 11590, 8981, 8991, 8997}, {9004, 9008, 9012, 11611, 9020, 9025, 9029}, {9033, 9035, 9037, 1049, 9039, 9035, 1049}, {2473, 2480, 34822, 2494, 2500, 2573, 2577, 11631, 34827, 34837, 34845, 34854, 0}, {2473, 2480, 34822, 2494, 2500, 2573, 2577, 11631, 34827, 34837, 34845, 34854, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 11638, 2585, 2589, 2593, 2597, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 11638, 2585, 2589, 2593, 2597, 0}, 0, 1, 763, 241, {1973,2903,9350,2647,9549,1336,11642,1301,0,0,0,0,0,0},{1960,2614,2628,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {3991, 2351, 1394, 1377, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 0, 2601, 241, {2351,1327,1301,0,0,0,0,0,0,0,0,0,0,0},{3991,254,0,0,0,0,0,0},{1377,274,35,0,0,0,0,0,0,0,0,0},{1394,280,23,0,0,0,0,0,0}},
-       {5487, 1814, 23, 35, 1982, 55, 3781, 3784, {3787, 3794, 3801, 3809, 3819, 3828, 3835}, {3844, 3848, 3852, 3856, 3860, 3864, 3868}, {2090, 2463, 2465, 3872, 2465, 2469, 2090}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, 0, 0, 239, 241, {1814,1857,1301,0,0,0,0,0,0,0,0,0,0,0},{5487,0,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
-       {4005, 243, 23, 35, 4034, 55, 946, 951, {4049, 4057, 4063, 4070, 4081, 4088, 4096}, {4104, 4108, 2565, 4112, 4117, 4121, 4125}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, 0, 0, 239, 241, {243,14,3956,1320,1327,1301,0,0,0,0,0,0,0,0},{4005,4231,4258,0,0,0,0,0},{35,3007,1377,274,0,0,0,0,0,0,0,0},{23,2996,1394,280,0,0,0,0,0}},
-       {1960, 1973, 1394, 1377, 44, 2362, 34863, 34881, {34896, 34909, 34928, 34941, 34956, 34973, 11264}, {34984, 34991, 34998, 35005, 35012, 35019, 35026}, {528, 531, 35033, 537, 540, 531, 537}, {35036, 35049, 573, 582, 14827, 14834, 14843, 614, 35064, 35083, 35098, 35115, 0}, {35036, 35049, 573, 582, 14827, 14834, 14843, 614, 35064, 35083, 35098, 35115, 0}, {35132, 35139, 35146, 35153, 14827, 35160, 35167, 35174, 35181, 35188, 35195, 35202, 0}, {35132, 35139, 35146, 35153, 14827, 35160, 35167, 35174, 35181, 35188, 35195, 35202, 0}, 0, 1, 763, 241, {1973,2903,9350,2647,9549,1336,11642,1301,0,0,0,0,0,0},{1960,2614,2628,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {3991, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {243,14,1301,0,0,0,0,0,0,0,0,0,0,0},{3991,254,0,0,0,0,0,0},{35,274,1377,0,0,0,0,0,0,0,0,0},{23,280,1394,0,0,0,0,0,0}},
-       {3744, 243, 23, 35, 44, 3773, 3781, 3784, {3787, 3794, 3801, 3809, 3819, 3828, 3835}, {3844, 3848, 3852, 3856, 3860, 3864, 3868}, {2090, 2463, 2465, 3872, 2465, 2469, 2090}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, 0, 0, 239, 241, {243,1301,0,0,0,0,0,0,0,0,0,0,0,0},{3744,3977,254,3991,0,0,0,0},{35,3007,1377,274,0,0,0,0,0,0,0,0},{23,2996,1394,280,0,0,0,0,0}},
-       {4005, 243, 23, 35, 4034, 55, 946, 951, {4049, 4057, 4063, 4070, 4081, 4088, 4096}, {4104, 4108, 2565, 4112, 4117, 4121, 4125}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, 0, 0, 239, 241, {243,14,1320,1327,1301,0,0,0,0,0,0,0,0,0},{4005,4231,4258,0,0,0,0,0},{35,3007,1377,274,0,0,0,0,0,0,0,0},{23,2996,1394,280,0,0,0,0,0}},
-       {3991, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {243,14,1301,0,0,0,0,0,0,0,0,0,0,0},{3991,254,0,0,0,0,0,0},{35,274,1377,0,0,0,0,0,0,0,0,0},{23,280,1394,0,0,0,0,0,0}},
-       {4005, 243, 23, 35, 4034, 55, 946, 951, {4049, 4057, 4063, 4070, 4081, 4088, 4096}, {4104, 4108, 2565, 4112, 4117, 4121, 4125}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, 0, 0, 239, 241, {243,14,14083,1320,1327,1301,0,0,0,0,0,0,0,0},{4005,4231,4258,0,0,0,0,0},{35,3007,1377,274,0,0,0,0,0,0,0,0},{23,2996,1394,280,0,0,0,0,0}},
-       {1960, 1973, 1394, 1377, 1982, 2362, 34793, 34803, {11565, 34811, 8966, 11590, 8981, 8991, 8997}, {9004, 9008, 9012, 11611, 9020, 9025, 9029}, {9033, 9035, 9037, 1049, 9039, 9035, 1049}, {2473, 2480, 34822, 2494, 2500, 2573, 2577, 11631, 34827, 34837, 34845, 34854, 0}, {2473, 2480, 34822, 2494, 2500, 2573, 2577, 11631, 34827, 34837, 34845, 34854, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 11638, 2585, 2589, 2593, 2597, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 11638, 2585, 2589, 2593, 2597, 0}, 0, 1, 763, 241, {1973,2903,9350,2647,9549,1336,11642,1301,0,0,0,0,0,0},{1960,2614,2628,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {3991, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {35209, 35233, 35242, 35251, 35262, 35271, 35284, 35293, 35298, 35309, 35331, 35355, 0}, {35209, 35233, 35242, 35251, 35262, 35271, 35284, 35293, 35298, 35309, 35331, 35355, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {243,14,1301,0,0,0,0,0,0,0,0,0,0,0},{3991,254,0,0,0,0,0,0},{35,274,1377,0,0,0,0,0,0,0,0,0},{23,280,1394,0,0,0,0,0,0}},
-       {14104, 243, 23, 35, 1982, 55, 3781, 3784, {3787, 3794, 3801, 3809, 3819, 3828, 3835}, {3844, 3848, 3852, 3856, 3860, 3864, 3868}, {2090, 2463, 2465, 3872, 2465, 2469, 2090}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, 0, 0, 239, 241, {243,1301,0,0,0,0,0,0,0,0,0,0,0,0},{14104,0,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
-       {4005, 243, 23, 35, 4034, 55, 946, 951, {4049, 4057, 4063, 4070, 4081, 4088, 4096}, {4104, 4108, 2565, 4112, 4117, 4121, 4125}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, 0, 0, 239, 241, {243,14,1320,1327,1301,0,0,0,0,0,0,0,0,0},{4005,4231,4258,0,0,0,0,0},{35,3007,1377,274,0,0,0,0,0,0,0,0},{23,2996,1394,280,0,0,0,0,0}},
-       {1960, 1973, 1394, 1377, 1982, 2362, 34863, 34881, {34896, 34909, 34928, 8448, 34956, 34973, 11264}, {34984, 34991, 34998, 35377, 35012, 35019, 35026}, {528, 531, 35033, 537, 540, 531, 537}, {35036, 35049, 573, 582, 14827, 35160, 35167, 614, 35064, 35083, 35098, 35115, 0}, {35036, 35049, 573, 582, 14827, 35160, 35167, 614, 35064, 35083, 35098, 35115, 0}, {35132, 35139, 35146, 35153, 14827, 35160, 35167, 35174, 35181, 35188, 35195, 35202, 0}, {35132, 35139, 35146, 35153, 14827, 35160, 35167, 35174, 35181, 35188, 35195, 35202, 0}, 0, 1, 763, 241, {1973,2903,9350,2647,9549,1336,11642,1301,0,0,0,0,0,0},{1960,2614,2628,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {3991, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {35209, 35233, 35242, 35251, 35262, 35271, 35284, 35293, 35298, 35309, 35331, 35355, 0}, {35209, 35233, 35242, 35251, 35262, 35271, 35284, 35293, 35298, 35309, 35331, 35355, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {243,14,1301,0,0,0,0,0,0,0,0,0,0,0},{3991,254,0,0,0,0,0,0},{35,274,1377,0,0,0,0,0,0,0,0,0},{23,280,1394,0,0,0,0,0,0}},
-       {14104, 243, 23, 35, 1982, 55, 3781, 3784, {3787, 3794, 3801, 3809, 3819, 3828, 3835}, {3844, 3848, 3852, 3856, 3860, 3864, 3868}, {2090, 2463, 2465, 3872, 2465, 2469, 2090}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, 0, 0, 239, 241, {243,1301,0,0,0,0,0,0,0,0,0,0,0,0},{14104,0,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
-       {4005, 243, 23, 35, 4034, 55, 946, 951, {4049, 4057, 4063, 4070, 4081, 4088, 4096}, {4104, 4108, 2565, 4112, 4117, 4121, 4125}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, 0, 0, 239, 241, {243,14,1320,1327,1301,0,0,0,0,0,0,0,0,0},{4005,4231,4258,0,0,0,0,0},{35,3007,274,1377,0,0,0,0,0,0,0,0},{23,2996,280,1394,0,0,0,0,0}},
-       {1960, 1973, 1394, 1377, 1982, 2362, 34793, 34803, {11565, 34811, 8966, 11590, 8981, 8991, 8997}, {9004, 9008, 9012, 11611, 9020, 9025, 9029}, {9033, 9035, 9037, 1049, 9039, 9035, 1049}, {2473, 2480, 34822, 2494, 2500, 2573, 2577, 11631, 34827, 34837, 34845, 34854, 0}, {2473, 2480, 34822, 2494, 2500, 2573, 2577, 11631, 34827, 34837, 34845, 34854, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 11638, 2585, 2589, 2593, 2597, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 11638, 2585, 2589, 2593, 2597, 0}, 0, 1, 763, 241, {1973,2903,9350,2647,9549,1336,11642,1301,0,0,0,0,0,0},{1960,2614,2628,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {3991, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {35209, 35233, 35242, 35251, 35262, 35271, 35284, 35293, 35298, 35309, 35331, 35355, 0}, {35209, 35233, 35242, 35251, 35262, 35271, 35284, 35293, 35298, 35309, 35331, 35355, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 1, 239, 241, {243,14,1301,0,0,0,0,0,0,0,0,0,0,0},{3991,254,0,0,0,0,0,0},{35,274,1377,0,0,0,0,0,0,0,0,0},{23,280,1394,0,0,0,0,0,0}},
-       {3744, 3764, 2996, 3007, 44, 3773, 3781, 3784, {3787, 3794, 3801, 3809, 3819, 3828, 3835}, {3844, 3848, 3852, 3856, 3860, 3864, 3868}, {2090, 2463, 2465, 3872, 2465, 2469, 2090}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, 0, 0, 239, 241, {3764,3940,3947,3956,1301,1857,3967,0,0,0,0,0,0,0},{3744,3977,254,3991,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {4005, 243, 1394, 1377, 4034, 55, 946, 951, {4049, 4057, 4063, 4070, 4081, 4088, 4096}, {4104, 4108, 2565, 4112, 4117, 4121, 4125}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, 0, 1, 239, 241, {243,14,1320,1327,1301,0,0,0,0,0,0,0,0,0},{4005,4231,4258,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {1960, 1973, 1394, 1377, 1982, 2362, 34863, 34881, {34896, 34909, 34928, 8448, 34956, 34973, 11264}, {34984, 34991, 34998, 35377, 35012, 35019, 35026}, {528, 531, 35033, 537, 540, 531, 537}, {35036, 35049, 573, 582, 14827, 35160, 35167, 614, 35064, 35083, 35098, 35115, 0}, {35036, 35049, 573, 582, 14827, 35160, 35167, 614, 35064, 35083, 35098, 35115, 0}, {35132, 35139, 35146, 35153, 14827, 35160, 35167, 35174, 35181, 35188, 35195, 35202, 0}, {35132, 35139, 35146, 35153, 14827, 35160, 35167, 35174, 35181, 35188, 35195, 35202, 0}, 0, 1, 763, 241, {1973,2903,9350,2647,9549,1336,11642,1301,0,0,0,0,0,0},{1960,2614,2628,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {3991, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {243,14,1301,0,0,0,0,0,0,0,0,0,0,0},{3991,254,0,0,0,0,0,0},{35,274,1377,0,0,0,0,0,0,0,0,0},{23,280,1394,0,0,0,0,0,0}},
-       {3744, 3764, 2996, 3007, 44, 3773, 3781, 3784, {3787, 3794, 3801, 3809, 3819, 3828, 3835}, {3844, 3848, 3852, 3856, 3860, 3864, 3868}, {2090, 2463, 2465, 3872, 2465, 2469, 2090}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, 0, 0, 239, 241, {3764,3940,3947,3956,1301,1857,3967,0,0,0,0,0,0,0},{3744,3977,254,3991,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {4005, 2351, 1394, 1377, 4034, 55, 946, 951, {4049, 4057, 4063, 4070, 4081, 4088, 4096}, {4104, 4108, 2565, 4112, 4117, 4121, 4125}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, 0, 1, 2601, 241, {2351,1327,14,1320,1301,0,0,0,0,0,0,0,0,0},{4005,4231,4258,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {3991, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {243,14,1301,0,0,0,0,0,0,0,0,0,0,0},{3991,254,0,0,0,0,0,0},{35,274,1377,0,0,0,0,0,0,0,0,0},{23,280,1394,0,0,0,0,0,0}},
-       {4005, 243, 23, 35, 4034, 55, 946, 951, {4049, 4057, 4063, 4070, 4081, 4088, 4096}, {4104, 4108, 2565, 4112, 4117, 4121, 4125}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, 0, 1, 239, 241, {243,14,1320,1327,1301,0,0,0,0,0,0,0,0,0},{4005,4231,4258,0,0,0,0,0},{35,3007,1377,274,0,0,0,0,0,0,0,0},{23,2996,1394,280,0,0,0,0,0}},
-       {3991, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {243,14,1301,0,0,0,0,0,0,0,0,0,0,0},{3991,254,0,0,0,0,0,0},{35,274,1377,0,0,0,0,0,0,0,0,0},{23,280,1394,0,0,0,0,0,0}},
-       {4005, 243, 23, 35, 4034, 55, 946, 951, {4049, 4057, 4063, 4070, 4081, 4088, 4096}, {4104, 4108, 2565, 4112, 4117, 4121, 4125}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, 0, 0, 239, 241, {243,14,1320,1327,1301,0,0,0,0,0,0,0,0,0},{4005,4231,4258,0,0,0,0,0},{35,3007,1377,274,0,0,0,0,0,0,0,0},{23,2996,1394,280,0,0,0,0,0}},
-       {3991, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {243,14,1301,0,0,0,0,0,0,0,0,0,0,0},{3991,254,0,0,0,0,0,0},{35,274,1377,0,0,0,0,0,0,0,0,0},{23,280,1394,0,0,0,0,0,0}},
-       {5487, 2351, 280, 274, 44, 55, 3781, 3784, {3787, 3794, 3801, 3809, 3819, 3828, 3835}, {3844, 3848, 3852, 3856, 3860, 3864, 3868}, {2090, 2463, 2465, 3872, 2465, 2469, 2090}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, 0, 0, 2601, 241, {2351,1327,2312,2903,1301,0,0,0,0,0,0,0,0,0},{5487,3732,0,0,0,0,0,0},{274,1377,1928,0,0,0,0,0,0,0,0,0},{280,1394,1948,1937,0,0,0,0,0}},
-       {4005, 243, 23, 35, 4034, 55, 946, 951, {4049, 4057, 4063, 4070, 4081, 4088, 4096}, {4104, 4108, 2565, 4112, 4117, 4121, 4125}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, 0, 0, 239, 241, {243,14,1320,1327,1301,0,0,0,0,0,0,0,0,0},{4005,4231,4258,0,0,0,0,0},{35,3007,1377,274,0,0,0,0,0,0,0,0},{23,2996,1394,280,0,0,0,0,0}},
-       {4005, 243, 23, 35, 4034, 55, 946, 951, {4049, 4057, 4063, 4070, 4081, 4088, 4096}, {4104, 4108, 2565, 4112, 4117, 4121, 4125}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, 0, 0, 239, 241, {243,14,32997,1301,0,0,0,0,0,0,0,0,0,0},{4005,0,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
-       {35384, 2987, 2996, 3007, 44, 4765, 3781, 3784, {3787, 3794, 3801, 3809, 3819, 3828, 3835}, {3844, 3848, 3852, 3856, 3860, 3864, 3868}, {2090, 2463, 2465, 3872, 2465, 2469, 2090}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {3874, 3882, 3891, 2775, 3897, 3901, 3906, 2795, 2802, 3911, 2820, 3919, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, {2838, 2842, 3928, 2851, 3897, 2855, 2859, 2863, 2867, 3932, 2875, 3936, 0}, 0, 0, 239, 241, {2987,1320,243,14,1301,0,0,0,0,0,0,0,0,0},{35384,13628,0,0,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {4005, 243, 23, 35, 4034, 55, 946, 951, {4049, 4057, 4063, 4070, 4081, 4088, 4096}, {4104, 4108, 2565, 4112, 4117, 4121, 4125}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, 0, 0, 239, 241, {243,14,32997,1301,0,0,0,0,0,0,0,0,0,0},{4005,0,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
-       {4005, 243, 23, 35, 4034, 55, 946, 951, {4049, 4057, 4063, 4070, 4081, 4088, 4096}, {4104, 4108, 2565, 4112, 4117, 4121, 4125}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, 0, 0, 239, 241, {243,14,32997,1301,0,0,0,0,0,0,0,0,0,0},{4005,0,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
-       {4005, 243, 23, 35, 4034, 55, 946, 951, {4049, 4057, 4063, 4070, 4081, 4088, 4096}, {4104, 4108, 2565, 4112, 4117, 4121, 4125}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, 0, 0, 239, 241, {243,14,32997,1301,0,0,0,0,0,0,0,0,0,0},{4005,0,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
-       {3744, 3764, 2996, 3007, 4034, 7676, 946, 951, {4049, 4057, 4063, 4070, 4081, 4088, 4096}, {4104, 4108, 2565, 4112, 4117, 4121, 4125}, {2752, 2471, 2463, 2463, 4132, 4134, 2090}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4136, 4142, 4150, 1070, 4156, 4161, 4167, 4173, 4180, 1108, 4191, 4201, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, {4211, 2561, 2565, 4215, 4156, 2573, 2577, 4219, 2585, 4223, 2593, 4227, 0}, 0, 0, 239, 241, {3764,3940,3947,3956,1857,1301,3967,0,0,0,0,0,0,0},{3744,3977,254,3991,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}},
-       {1960, 1973, 1394, 1377, 1982, 2362, 34863, 34881, {34896, 34909, 34928, 8448, 34956, 34973, 11264}, {34984, 34991, 34998, 35377, 35012, 35019, 35026}, {528, 531, 35033, 537, 540, 531, 537}, {35036, 35049, 573, 582, 14827, 35160, 35167, 614, 35064, 35083, 35098, 35115, 0}, {35036, 35049, 573, 582, 14827, 35160, 35167, 614, 35064, 35083, 35098, 35115, 0}, {35132, 35139, 35146, 35153, 14827, 35160, 35167, 35174, 35181, 35188, 35195, 35202, 0}, {35132, 35139, 35146, 35153, 14827, 35160, 35167, 35174, 35181, 35188, 35195, 35202, 0}, 0, 1, 763, 241, {1973,2903,9350,2647,9549,1336,11642,1301,0,0,0,0,0,0},{1960,2614,2628,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {1960, 1973, 1394, 1377, 1982, 2362, 34793, 34803, {11565, 34811, 8966, 11590, 8981, 8991, 8997}, {9004, 9008, 9012, 11611, 9020, 9025, 9029}, {9033, 9035, 9037, 1049, 9039, 9035, 1049}, {2473, 2480, 34822, 2494, 2500, 2573, 2577, 11631, 34827, 34837, 34845, 34854, 0}, {2473, 2480, 34822, 2494, 2500, 2573, 2577, 11631, 34827, 34837, 34845, 34854, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 11638, 2585, 2589, 2593, 2597, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 11638, 2585, 2589, 2593, 2597, 0}, 0, 1, 763, 241, {1973,2903,9350,2647,9549,1336,11642,1301,0,0,0,0,0,0},{1960,2614,2628,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {3732, 2647, 1394, 1377, 1982, 4765, 0, 0, {33985, 33996, 34020, 34050, 34067, 34089, 34098}, {14270, 14273, 14278, 14284, 14288, 7414, 14293}, {6567, 6555, 6557, 6559, 6561, 6563, 6565}, {34109, 34122, 573, 34135, 593, 34146, 34155, 614, 34164, 34181, 34196, 34209, 0}, {34109, 34122, 573, 34135, 593, 34146, 34155, 614, 34164, 34181, 34196, 34209, 0}, {14367, 7853, 2565, 2569, 14371, 14375, 14379, 14383, 14387, 2589, 14391, 14395, 0}, {14367, 7853, 2565, 2569, 14371, 14375, 14379, 14383, 14387, 2589, 14391, 14395, 0}, 0, 1, 763, 241, {2647,1336,2903,14,1301,0,0,0,0,0,0,0,0,0},{3732,5487,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {1422, 1444, 1394, 1377, 1453, 1469, 1482, 1489, {1496, 1506, 1516, 1526, 1536, 1546, 1556}, {1566, 1573, 1580, 1587, 1594, 1601, 1608}, {1615, 1619, 1623, 1627, 1631, 1635, 1639}, {1643, 1650, 1657, 1664, 1671, 1678, 1685, 1692, 1699, 1706, 1713, 1723, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {1643, 1650, 1657, 1664, 1671, 1678, 1685, 1692, 1699, 1706, 1713, 1723, 0}, {1643, 1650, 1657, 1664, 1671, 1678, 1685, 1692, 1699, 1706, 1713, 1723, 0}, 0, 0, 239, 241, {1444,1796,1805,1301,1814,1825,1836,1843,1850,1857,0,0,0,0},{1422,1866,1893,0,0,0,0,0},{1377,274,1920,1928,0,0,0,0,0,0,0,0},{1394,280,1937,1948,0,0,0,0,0}},
-       {1960, 2647, 280, 274, 1982, 2362, 2370, 2375, {2380, 9835, 33822, 2403, 2410, 2418, 33829}, {2433, 9863, 33837, 2446, 2450, 2454, 6004}, {2090, 2463, 2465, 2467, 2465, 2469, 2471}, {2473, 2480, 4876, 2494, 4887, 2504, 2509, 2514, 2521, 2531, 2539, 6076, 0}, {2473, 2480, 4876, 2494, 4887, 2504, 2509, 2514, 2521, 2531, 2539, 6076, 0}, {2557, 2561, 2565, 2569, 4887, 2573, 2577, 2581, 2585, 2589, 2593, 6106, 0}, {2557, 2561, 2565, 2569, 4887, 2573, 2577, 2581, 2585, 2589, 2593, 6106, 0}, 2, 1, 763, 241, {2647,1336,2903,1301,2883,0,0,0,0,0,0,0,0,0},{1960,2614,0,0,0,0,0,0},{274,1377,7296,4983,0,0,0,0,0,0,0,0},{280,1394,7307,6438,0,0,0,0,0}},
-       {1960, 1973, 1394, 1377, 1982, 2362, 34793, 34803, {8945, 8954, 8966, 8973, 8981, 8991, 8997}, {9004, 9008, 9012, 9016, 9020, 9025, 9029}, {0, 0, 0, 0, 0, 0, 0}, {2473, 2480, 34822, 2494, 2500, 2504, 2509, 11631, 34827, 34837, 34845, 34854, 0}, {2473, 2480, 34822, 2494, 2500, 2504, 2509, 11631, 34827, 34837, 34845, 34854, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 11638, 2585, 2589, 2593, 2597, 0}, {2557, 2561, 2565, 2569, 2500, 2573, 2577, 11638, 2585, 2589, 2593, 2597, 0}, 0, 0, 763, 241, {1973,2903,9350,2647,9549,1336,11642,1301,0,0,0,0,0,0},{1960,2614,2628,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {3732, 2647, 1394, 1377, 1982, 4765, 0, 0, {14181, 14187, 14201, 14224, 14238, 14254, 14261}, {14270, 14273, 14278, 14284, 14288, 7414, 14293}, {6567, 6555, 6557, 6559, 6561, 6563, 6565}, {14297, 14304, 10132, 14311, 3897, 14317, 14323, 14329, 14336, 14345, 14353, 14360, 0}, {14297, 14304, 10132, 14311, 3897, 14317, 14323, 14329, 14336, 14345, 14353, 14360, 0}, {14367, 7853, 2565, 2569, 14371, 14375, 14379, 14383, 14387, 2589, 14391, 14395, 0}, {14367, 7853, 2565, 2569, 14371, 14375, 14379, 14383, 14387, 2589, 14391, 14395, 0}, 0, 1, 763, 241, {2647,1336,2903,14,1301,0,0,0,0,0,0,0,0,0},{3732,5487,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {34222, 2647, 280, 274, 1982, 18725, 0, 0, {18732, 18747, 18762, 18777, 18794, 18811, 18820}, {18831, 18838, 18845, 18852, 18859, 18866, 18873}, {18880, 18883, 8545, 8548, 8542, 18886, 18889}, {12768, 12779, 8579, 12792, 8601, 12803, 12810, 8626, 12817, 12832, 12845, 12856, 0}, {12768, 12779, 8579, 12792, 8601, 12803, 12810, 8626, 12817, 12832, 12845, 12856, 0}, {12869, 12876, 12883, 12890, 8601, 12803, 12810, 12897, 12904, 12911, 12918, 12925, 0}, {12869, 12876, 12883, 12890, 8601, 12803, 12810, 12897, 12904, 12911, 12918, 12925, 0}, 0, 1, 763, 241, {2647,1336,18714,2903,14,1301,0,0,0,0,0,0,0,0},{34222,3732,5487,0,0,0,0,0},{274,1377,0,0,0,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {24812, 24833, 1394, 1377, 24842, 4765, 0, 0, {24859, 24866, 24877, 24890, 24903, 24914, 24927}, {24938, 24943, 24948, 24953, 24958, 24963, 24968}, {0, 0, 0, 0, 0, 0, 0}, {24973, 24988, 24997, 25004, 25017, 25024, 25035, 25044, 25053, 25060, 25071, 25082, 0}, {24973, 24988, 24997, 25004, 25017, 25024, 25035, 25044, 25053, 25060, 25071, 25082, 0}, {25093, 25100, 25107, 25114, 25121, 25128, 25135, 25142, 25149, 25156, 25163, 25170, 0}, {25093, 25100, 25107, 25114, 25121, 25128, 25135, 25142, 25149, 25156, 25163, 25170, 0}, 0, 0, 763, 241, {24833,1301,0,0,0,0,0,0,0,0,0,0,0,0},{24812,0,0,0,0,0,0,0},{1377,0,0,0,0,0,0,0,0,0,0,0},{1394,0,0,0,0,0,0,0,0}},
-       {1422, 2987, 1394, 1377, 1453, 1469, 1482, 1489, {1496, 1506, 1516, 1526, 1536, 1546, 1556}, {33611, 33618, 33625, 33632, 33639, 33646, 33653}, {1615, 1619, 1623, 1627, 1631, 1635, 1639}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, 0, 0, 239, 241, {2987,1320,14,1843,1857,1444,1814,1301,0,0,0,0,0,0},{1422,6639,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {1422, 2987, 1394, 1377, 1453, 1469, 1482, 1489, {1496, 1506, 1516, 1526, 1536, 1546, 1556}, {33611, 33618, 33625, 33632, 33639, 33646, 33653}, {1615, 1619, 1623, 1627, 1631, 1635, 1639}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, {1733, 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 0}, 0, 0, 239, 241, {2987,1320,14,1843,1857,1444,1814,1301,0,0,0,0,0,0},{1422,6639,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {1960, 2647, 280, 274, 1982, 2362, 946, 951, {2380, 2388, 2395, 2403, 2410, 2418, 2425}, {7266, 7271, 7275, 7279, 7283, 7287, 7291}, {2090, 2463, 2465, 2467, 2465, 2469, 2471}, {2473, 2480, 4876, 2494, 4887, 2504, 2509, 2514, 2521, 2531, 2539, 6076, 0}, {2473, 2480, 4876, 2494, 4887, 2504, 2509, 2514, 2521, 2531, 2539, 6076, 0}, {2557, 2561, 2565, 2569, 4887, 2573, 2577, 2581, 2585, 2589, 2593, 6106, 0}, {2557, 2561, 2565, 2569, 4887, 2573, 2577, 2581, 2585, 2589, 2593, 6106, 0}, 2, 1, 763, 241, {2647,1336,2903,1301,2883,0,0,0,0,0,0,0,0,0},{1960,2614,0,0,0,0,0,0},{274,1377,7296,4983,0,0,0,0,0,0,0,0},{280,1394,7307,6438,0,0,0,0,0}},
-       {1960, 1973, 1394, 1377, 1982, 2362, 34863, 34881, {34896, 34909, 34928, 8448, 34956, 34973, 11264}, {34984, 34991, 34998, 35377, 35012, 35019, 35026}, {528, 531, 35033, 537, 540, 531, 537}, {35036, 35049, 573, 582, 14827, 35160, 35167, 614, 35064, 35083, 35098, 35115, 0}, {35036, 35049, 573, 582, 14827, 35160, 35167, 614, 35064, 35083, 35098, 35115, 0}, {35132, 35139, 35146, 35153, 14827, 35160, 35167, 35174, 35181, 35188, 35195, 35202, 0}, {35132, 35139, 35146, 35153, 14827, 35160, 35167, 35174, 35181, 35188, 35195, 35202, 0}, 0, 1, 763, 241, {1973,2903,9350,2647,9549,1336,11642,1301,0,0,0,0,0,0},{1960,2614,2628,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {3732, 1336, 1394, 1377, 1982, 3773, 12592, 12604, {12616, 12631, 12646, 12661, 12678, 12697, 12708}, {12719, 12726, 12733, 12740, 12747, 12754, 12761}, {0, 0, 0, 0, 0, 0, 0}, {12768, 12779, 8579, 12792, 8601, 12803, 12810, 8626, 12817, 12832, 12845, 12856, 0}, {12768, 12779, 8579, 12792, 8601, 12803, 12810, 8626, 12817, 12832, 12845, 12856, 0}, {12869, 12876, 12883, 12890, 8601, 12803, 12810, 12897, 12904, 12911, 12918, 12925, 0}, {12869, 12876, 12883, 12890, 8601, 12803, 12810, 12897, 12904, 12911, 12918, 12925, 0}, 0, 1, 763, 241, {1336,1301,0,0,0,0,0,0,0,0,0,0,0,0},{3732,0,0,0,0,0,0,0},{1377,274,0,0,0,0,0,0,0,0,0,0},{1394,0,0,0,0,0,0,0,0}},
-       {18696, 18714, 280, 274, 1982, 18725, 0, 0, {33660, 33670, 33679, 33688, 33699, 33709, 33714}, {33721, 33727, 33732, 33737, 33742, 10109, 33746}, {33751, 2752, 2090, 7414, 2085, 7414, 2090}, {14297, 14304, 10132, 14311, 3897, 33753, 33758, 33763, 14336, 14345, 14353, 14360, 0}, {14297, 14304, 10132, 14311, 3897, 33753, 33758, 33763, 14336, 14345, 14353, 14360, 0}, {33770, 33775, 3928, 2851, 3897, 33753, 33758, 33779, 10487, 2871, 33783, 33788, 0}, {33770, 33775, 3928, 2851, 3897, 33753, 33758, 33779, 10487, 2871, 33783, 33788, 0}, 0, 1, 239, 241, {18714,1336,2903,14,1301,0,0,0,0,0,0,0,0,0},{18696,3732,5487,0,0,0,0,0},{274,1377,0,0,0,0,0,0,0,0,0,0},{280,1394,0,0,0,0,0,0,0}},
-       {34243, 1444, 1394, 1377, 34319, 34351, 0, 0, {24859, 24866, 24877, 24890, 24903, 24914, 24927}, {24938, 24943, 24948, 24953, 24958, 24963, 24968}, {0, 0, 0, 0, 0, 0, 0}, {24973, 24988, 24997, 25004, 25017, 25024, 25035, 25044, 25053, 25060, 25071, 25082, 0}, {24973, 24988, 24997, 25004, 25017, 25024, 25035, 25044, 25053, 25060, 25071, 25082, 0}, {25093, 25100, 25107, 25114, 25121, 25128, 25135, 25142, 25149, 25156, 25163, 25170, 0}, {25093, 25100, 25107, 25114, 25121, 25128, 25135, 25142, 25149, 25156, 25163, 25170, 0}, 0, 0, 239, 241, {1444,1796,1805,1825,1301,1814,1836,1843,1850,1857,0,0,0,0},{34243,34386,0,0,0,0,0,0},{1377,0,0,0,0,0,0,0,0,0,0,0},{1394,0,0,0,0,0,0,0,0}},
-       {3991, 2351, 1394, 1377, 44, 55, 29235, 29245, {29258, 29265, 29271, 29278, 29284, 29290, 29298}, {29308, 29312, 29316, 29320, 29324, 29328, 29332}, {12319, 12319, 12319, 12319, 12319, 12319, 12319}, {29338, 29347, 29356, 29361, 29367, 29373, 29379, 29386, 29392, 29401, 29410, 29418, 0}, {29338, 29347, 29356, 29361, 29367, 29373, 29379, 29386, 29392, 29401, 29410, 29418, 0}, {29427, 29431, 3928, 29435, 3897, 29439, 29443, 29447, 29452, 29456, 29462, 29466, 0}, {29427, 29431, 3928, 29435, 3897, 29439, 29443, 29447, 29452, 29456, 29462, 29466, 0}, 0, 0, 2601, 241, {2351,1327,1301,0,0,0,0,0,0,0,0,0,0,0},{3991,254,0,0,0,0,0,0},{1377,274,29470,0,0,0,0,0,0,0,0,0},{1394,280,0,0,0,0,0,0,0}},
-       {3744, 2987, 2996, 3007, 44, 3773, 0, 0, {30345, 30352, 30360, 30367, 30374, 30382, 30390}, {30397, 30400, 30403, 30406, 30409, 30412, 30415}, {2471, 2471, 2465, 2471, 12319, 4132, 12319}, {30418, 30426, 30436, 30442, 30450, 30455, 30460, 30465, 30472, 18677, 30480, 30488, 0}, {30418, 30426, 30436, 30442, 30450, 30455, 30460, 30465, 30472, 18677, 30480, 30488, 0}, {2838, 30496, 3928, 30500, 3897, 29439, 29443, 30504, 3868, 2871, 30508, 15347, 0}, {2838, 30496, 3928, 30500, 3897, 29439, 29443, 30504, 3868, 2871, 30508, 15347, 0}, 0, 0, 239, 241, {2987,1320,14,243,1857,1301,3967,0,0,0,0,0,0,0},{3744,3977,254,3991,0,0,0,0},{3007,35,1377,274,0,0,0,0,0,0,0,0},{2996,23,1394,280,0,0,0,0,0}}
+       {289, 308, 323, 331, 336, 352, 359, 371, {383, 396, 417, 432, 443, 462, 473}, {486, 491, 496, 501, 506, 511, 516}, {521, 524, 527, 530, 533, 524, 530}, {536, 549, 566, 575, 586, 593, 600, 607, 620, 639, 656, 671, 0}, {536, 549, 566, 575, 586, 593, 600, 607, 620, 639, 656, 671, 0}, {688, 694, 566, 704, 586, 593, 600, 712, 720, 730, 738, 748, 0}, {688, 694, 566, 704, 586, 593, 600, 712, 720, 730, 738, 748, 0}, 2, 1, 756, 241, {308,758,774,790,0,0,0,0,0,0,0,0,0,0},{289,807,825,850,0,0,0,0},{874,886,0,0,0,0,0,0,0,0,0,0},{897,912,0,0,0,0,0,0,0}},
+       {926, 243, 323, 331, 949, 352, 964, 969, {974, 983, 991, 999, 1008, 1015, 1025}, {1034, 1037, 1040, 1043, 1046, 1049, 1052}, {1055, 1057, 1059, 1061, 1063, 1065, 1067}, {1069, 1075, 1082, 1088, 1094, 1099, 1104, 1111, 1117, 1126, 1134, 1143, 0}, {1152, 1161, 1171, 1180, 1190, 1198, 1206, 1216, 1226, 1238, 1250, 1262, 0}, {1274, 1279, 1082, 1285, 1094, 1099, 1290, 1295, 1299, 1304, 1309, 1314, 0}, {1274, 1279, 1082, 1285, 1094, 1099, 1290, 1295, 1299, 1304, 1309, 1314, 0}, 2, 1, 239, 241, {243,14,1319,1330,1338,1345,1354,0,0,0,0,0,0,0},{1363,1389,1405,0,0,0,0,0},{274,331,1421,0,0,0,0,0,0,0,0,0},{280,323,1433,0,0,0,0,0,0}},
+       {1453, 1475, 1979, 1959, 1484, 1500, 1513, 1520, {1527, 1537, 1547, 1557, 1567, 1577, 1587}, {34084, 34091, 34098, 34105, 34112, 34119, 34126}, {1646, 1650, 1654, 1658, 1662, 1666, 1670}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, 0, 0, 239, 241, {1475,1845,1319,0,0,0,0,0,0,0,0,0,0,0},{1453,6718,0,0,0,0,0,0},{1959,1951,274,331,0,0,0,0,0,0,0,0},{1979,1968,280,323,0,0,0,0,0}},
+       {1991, 2004, 323, 331, 2015, 2025, 2033, 2038, {2043, 2051, 2061, 2069, 2077, 2086, 2093}, {2100, 2103, 2106, 2110, 2113, 2117, 2121}, {2124, 2126, 2128, 2131, 2133, 2126, 2131}, {2136, 2142, 2148, 2156, 2162, 2170, 2178, 2188, 2194, 2202, 2210, 2219, 0}, {2228, 2234, 2241, 2249, 2255, 2263, 2271, 2281, 2194, 2287, 2295, 2305, 0}, {2314, 2317, 2320, 2323, 2326, 2329, 2332, 2335, 2338, 2341, 2345, 2349, 0}, {2314, 2317, 2320, 2323, 2326, 2329, 2332, 2335, 2338, 2341, 2345, 2349, 0}, 2, 1, 2353, 241, {2356,2365,1319,1827,1867,0,0,0,0,0,0,0,0,0},{1991,0,0,0,0,0,0,0},{331,274,2372,2380,0,0,0,0,0,0,0,0},{323,280,2385,2396,0,0,0,0,0}},
+       {1991, 2404, 280, 274, 2015, 2025, 2415, 2420, {2425, 2433, 2440, 2448, 2455, 2463, 2470}, {2478, 2483, 2487, 2491, 2495, 2499, 2503}, {2131, 2508, 2510, 2512, 2510, 2514, 2516}, {2518, 2525, 2533, 2539, 2545, 2549, 2554, 2559, 2566, 2576, 2584, 2593, 0}, {2518, 2525, 2533, 2539, 2545, 2549, 2554, 2559, 2566, 2576, 2584, 2593, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 2626, 2630, 2634, 2638, 2642, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 2626, 2630, 2634, 2638, 2642, 0}, 2, 1, 2646, 241, {2404,1345,1319,2648,0,0,0,0,0,0,0,0,0,0},{1991,2659,0,0,0,0,0,0},{274,331,0,0,0,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {2673, 2692, 280, 274, 2015, 2025, 2703, 2709, {2716, 2724, 2731, 2740, 2749, 2760, 2768}, {2776, 2779, 2782, 2785, 2788, 2791, 2794}, {2131, 2508, 2797, 2508, 2797, 2514, 2131}, {2799, 2806, 2814, 2820, 2826, 2830, 2835, 2840, 2847, 2857, 2865, 2874, 0}, {2799, 2806, 2814, 2820, 2826, 2830, 2835, 2840, 2847, 2857, 2865, 2874, 0}, {2883, 2887, 2891, 2896, 2826, 2900, 2904, 2908, 2912, 2916, 2920, 2924, 0}, {2883, 2887, 2891, 2896, 2826, 2900, 2904, 2908, 2912, 2916, 2920, 2924, 0}, 2, 1, 756, 241, {2692,2928,1354,2940,2948,2356,1319,0,0,0,0,0,0,0},{2673,1991,2955,0,0,0,0,0},{274,331,2380,2967,0,0,0,0,0,0,0,0},{280,2978,2992,3007,0,0,0,0,0}},
+       {3014, 3032, 3041, 3052, 2015, 352, 3060, 3067, {3074, 3089, 3104, 3115, 3130, 3143, 3162}, {3177, 3184, 3191, 3198, 3205, 3212, 3219}, {3226, 3229, 3232, 3232, 3235, 3235, 3238}, {3241, 3262, 3285, 3300, 3317, 3328, 3343, 3358, 3377, 3400, 3419, 3438, 0}, {3459, 3480, 3503, 3518, 3535, 3546, 3561, 3576, 3595, 3618, 3637, 3656, 0}, {3677, 3684, 3691, 3698, 3705, 3712, 3721, 3730, 3737, 3744, 3751, 3758, 0}, {3677, 3684, 3691, 3698, 3705, 3712, 3721, 3730, 3737, 3744, 3751, 3758, 0}, 2, 1, 239, 241, {3032,243,1338,14,3765,1319,0,0,0,0,0,0,0,0},{3014,3777,0,0,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {3789, 3808, 3041, 3052, 2015, 3817, 3824, 3827, {3830, 3837, 3844, 3852, 3862, 3871, 3878}, {3887, 3891, 3895, 3899, 3903, 3907, 3911}, {2131, 2508, 2510, 3915, 2510, 2514, 2131}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, 0, 0, 239, 241, {3808,3983,3990,3999,1888,1319,4010,0,0,0,0,0,0,0},{4020,4040,254,4054,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {1991, 2356, 323, 331, 2015, 4368, 4378, 4382, {4386, 4398, 4410, 4420, 4434, 4444, 4456}, {4467, 4470, 4473, 4476, 4479, 4482, 4485}, {2131, 2508, 2510, 4488, 2510, 2126, 2516}, {4490, 4499, 4508, 4518, 4527, 4536, 4545, 4555, 4562, 4570, 4578, 4588, 0}, {4597, 4608, 4619, 4631, 4642, 4653, 4664, 4676, 4685, 4695, 4705, 4717, 0}, {4728, 4734, 4740, 4747, 4753, 4759, 4765, 4772, 4776, 4781, 4786, 4793, 0}, {4728, 4734, 4740, 4747, 4753, 4759, 4765, 4772, 4776, 4781, 4786, 4793, 0}, 2, 1, 756, 241, {2356,2692,2948,1319,0,0,0,0,0,0,0,0,0,0},{4799,4816,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {4834, 243, 280, 274, 2015, 352, 3824, 3827, {4851, 4860, 4866, 4872, 4881, 4887, 4896}, {4903, 4908, 4913, 4918, 4923, 4928, 4933}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4938, 4946, 4955, 4960, 4966, 4970, 4975, 4983, 4989, 4999, 1134, 5007, 0}, {4938, 4946, 4955, 4960, 4966, 4970, 4975, 4983, 4989, 4999, 1134, 5007, 0}, {5017, 5023, 4955, 5030, 4966, 4970, 5035, 4983, 5041, 1304, 1309, 5047, 0}, {5017, 5023, 4955, 5030, 4966, 4970, 5035, 4983, 5041, 1304, 1309, 5047, 0}, 2, 1, 239, 241, {243,14,1354,1345,1319,0,0,0,0,0,0,0,0,0},{4834,5053,3777,0,0,0,0,0},{274,331,5062,5068,5078,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {5086, 243, 280, 274, 2015, 55, 5104, 5117, {5128, 5146, 5160, 5178, 5196, 5214, 5230}, {5244, 5256, 5268, 5280, 5292, 5304, 5316}, {5323, 5326, 5329, 5332, 5335, 5338, 5341}, {5344, 5355, 5368, 5375, 5386, 5393, 5402, 5411, 5424, 5437, 5452, 5465, 0}, {5344, 5355, 5368, 5375, 5386, 5393, 5402, 5411, 5424, 5437, 5452, 5465, 0}, {5476, 5485, 5368, 5494, 5386, 5503, 5512, 5521, 5530, 5539, 5548, 5557, 0}, {5476, 5485, 5368, 5494, 5386, 5503, 5512, 5521, 5530, 5539, 5548, 5557, 0}, 0, 0, 239, 241, {243,5566,14,1,1345,2404,5579,1319,5592,5609,0,0,0,0},{5086,5566,5619,5641,5592,0,0,0},{274,35,0,0,0,0,0,0,0,0,0,0},{280,23,0,0,0,0,0,0,0}},
+       {5662, 5676, 323, 331, 5688, 5699, 5707, 5711, {5715, 5725, 5733, 5738, 5745, 5758, 5766}, {4193, 5774, 4488, 5776, 5780, 2126, 5783}, {4193, 5774, 4488, 5787, 5780, 2126, 5787}, {5790, 5798, 5807, 5816, 5825, 5832, 5840, 5848, 5858, 5869, 2584, 2593, 0}, {5790, 5798, 5807, 5816, 5825, 5832, 5840, 5848, 5858, 5869, 2584, 2593, 0}, {5878, 1279, 5883, 5890, 5896, 5902, 5908, 5914, 5919, 5926, 1309, 5931, 0}, {5878, 1279, 5883, 5890, 5896, 5902, 5908, 5914, 5919, 5926, 1309, 5931, 0}, 0, 1, 756, 241, {5676,5936,1319,5950,0,0,0,0,0,0,0,0,0,0},{5662,0,0,0,0,0,0,0},{331,274,3052,0,0,0,0,0,0,0,0,0},{323,280,3041,0,0,0,0,0,0}},
+       {1991, 2356, 280, 274, 2015, 2025, 5959, 5964, {5969, 5980, 5991, 6005, 6019, 6031, 6043}, {6055, 6059, 6064, 6069, 6074, 6078, 6083}, {1067, 6087, 6089, 6087, 6092, 6092, 1057}, {6094, 6102, 4955, 6111, 6118, 6123, 6130, 6137, 2566, 5869, 6145, 6155, 0}, {6094, 6102, 4955, 6111, 6118, 6123, 6130, 6137, 2566, 5869, 6145, 6155, 0}, {2602, 2606, 2610, 2614, 6118, 6164, 6169, 6174, 2630, 2634, 6180, 6185, 0}, {2602, 2606, 2610, 2614, 6118, 6164, 6169, 6174, 2630, 2634, 6180, 6185, 0}, 2, 1, 756, 241, {2356,1354,6189,6201,1319,6215,0,0,0,0,0,0,0,0},{1991,2659,0,0,0,0,0,0},{274,331,0,0,0,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {4834, 243, 280, 274, 2015, 352, 6224, 6227, {6230, 6239, 6247, 6256, 6267, 6276, 6285}, {4163, 4167, 2610, 6292, 6296, 6300, 6304}, {2797, 2516, 2508, 2508, 6308, 4193, 2131}, {6310, 6318, 6327, 6333, 6340, 6347, 6354, 6361, 6368, 6378, 6386, 6395, 0}, {6404, 6412, 4209, 6421, 6428, 6435, 6442, 4232, 6449, 6459, 1134, 6467, 0}, {6476, 2606, 2610, 2614, 6480, 6484, 6488, 4278, 6492, 6496, 2638, 4286, 0}, {6476, 2606, 2610, 2614, 6480, 6484, 6488, 4278, 6492, 6496, 2638, 4286, 0}, 2, 1, 239, 241, {243,3765,14,6500,1338,1319,0,0,0,0,0,0,0,0},{4834,6508,3777,0,0,0,0,0},{274,331,2380,5062,0,0,0,0,0,0,0,0},{280,2396,6517,0,0,0,0,0,0}},
+       {1453, 1845, 323, 331, 1484, 1500, 6526, 6533, {6540, 6550, 6560, 6570, 6580, 6590, 6600}, {1646, 6610, 6614, 6618, 6622, 6626, 6630}, {1646, 6610, 6614, 6618, 6622, 6626, 6630}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 0, 239, 241, {1845,1888,1874,1475,6661,6680,6697,1319,0,0,0,0,0,0},{1453,6718,6742,6769,0,0,0,0},{331,274,1951,1959,0,0,0,0,0,0,0,0},{323,280,1968,1979,0,0,0,0,0}},
+       {6798, 1319, 1968, 1951, 6827, 6844, 6858, 6865, {6872, 6882, 6892, 6902, 6912, 6922, 6932}, {6942, 6946, 6950, 6954, 6958, 6962, 6966}, {6942, 6946, 6950, 6954, 6958, 6962, 6966}, {6970, 6975, 6980, 6985, 6990, 6995, 7000, 7005, 7010, 7015, 7021, 7027, 0}, {6970, 6975, 6980, 6985, 6990, 6995, 7000, 7005, 7010, 7015, 7021, 7027, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 0, 2646, 241, {1319,5950,1867,1827,0,0,0,0,0,0,0,0,0,0},{6798,7033,7057,7084,7106,7137,0,0},{1951,1959,331,274,0,0,0,0,0,0,0,0},{1968,1979,323,280,0,0,0,0,0}},
+       {4834, 7163, 280, 274, 2015, 352, 964, 969, {7172, 7179, 7187, 7195, 7204, 7214, 7222}, {7231, 4470, 7234, 7237, 7240, 7243, 7246}, {7249, 2508, 2797, 3915, 2797, 4193, 7249}, {7251, 7259, 7268, 2539, 7274, 2549, 2554, 7278, 2566, 2576, 2584, 2593, 0}, {7251, 7259, 7268, 2539, 7274, 2549, 2554, 7278, 2566, 2576, 2584, 2593, 0}, {2602, 2606, 7287, 2614, 7274, 2618, 2622, 2626, 2630, 2634, 2638, 2642, 0}, {2602, 2606, 7287, 2614, 7274, 2618, 2622, 2626, 2630, 2634, 2638, 2642, 0}, 2, 1, 2646, 241, {7163,2365,1345,14,1354,2928,1319,0,0,0,0,0,0,0},{4834,6508,3777,5053,0,0,0,0},{331,274,2380,7291,7303,0,0,0,0,0,0,0},{323,280,7315,7330,0,0,0,0,0}},
+       {1991, 2692, 280, 274, 2015, 2025, 964, 969, {2425, 2433, 2440, 2448, 2455, 2463, 2470}, {7345, 7350, 7354, 7358, 7362, 7366, 7370}, {2131, 2508, 2510, 2512, 2510, 2514, 2516}, {2518, 2525, 4955, 2539, 4966, 2549, 2554, 2559, 2566, 2576, 2584, 6155, 0}, {2518, 2525, 4955, 2539, 4966, 2549, 2554, 2559, 2566, 2576, 2584, 6155, 0}, {2602, 2606, 2610, 2614, 4966, 2618, 2622, 2626, 2630, 2634, 2638, 6185, 0}, {2602, 2606, 2610, 2614, 4966, 2618, 2622, 2626, 2630, 2634, 2638, 6185, 0}, 2, 1, 756, 241, {2692,1354,2948,1319,2928,0,0,0,0,0,0,0,0,0},{1991,2659,0,0,0,0,0,0},{274,331,7375,5062,0,0,0,0,0,0,0,0},{280,323,7386,6517,0,0,0,0,0}},
+       {3777, 1319, 280, 274, 2015, 352, 3824, 3827, {7400, 7410, 7424, 7431, 7438, 7447, 2093}, {7455, 7462, 7467, 7471, 7476, 7481, 7485}, {2124, 2126, 3915, 7490, 7493, 2126, 2131}, {7495, 7504, 7509, 7516, 2545, 7526, 7535, 7542, 7552, 7562, 2210, 7575, 0}, {7585, 7594, 7601, 7607, 7616, 7621, 7629, 7635, 7644, 7654, 7668, 7678, 0}, {7686, 7690, 2610, 7694, 2545, 7698, 7702, 7706, 7710, 7714, 7719, 7723, 0}, {7686, 7690, 2610, 7694, 2545, 7698, 7702, 7706, 7710, 7714, 7719, 7723, 0}, 2, 1, 2646, 241, {1319,5950,0,0,0,0,0,0,0,0,0,0,0,0},{3777,5566,0,0,0,0,0,0},{274,331,0,0,0,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {4068, 243, 280, 274, 949, 4096, 3824, 3827, {4108, 7727, 7741, 7754, 7767, 7780, 4155}, {4163, 7792, 7796, 7800, 7804, 7808, 4184}, {2797, 2131, 2510, 7812, 7812, 2131, 2131}, {7814, 7822, 7832, 1088, 7839, 7844, 7850, 4232, 7856, 7865, 7873, 7882, 0}, {7814, 7822, 7832, 1088, 7839, 7844, 7850, 4232, 7856, 7865, 7873, 7882, 0}, {2602, 7891, 2610, 4274, 4966, 2618, 2622, 4278, 6492, 7895, 2638, 7899, 0}, {2602, 7891, 2610, 4274, 4966, 2618, 2622, 4278, 6492, 7895, 2638, 7899, 0}, 0, 0, 239, 241, {243,14,3032,1338,1345,2404,2365,7163,1354,2692,2928,2948,2356,1319},{4068,4346,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
+       {7903, 2404, 280, 274, 2015, 352, 7932, 7935, {7938, 7947, 4866, 7957, 7965, 7973, 7982}, {7988, 7991, 4470, 7995, 7998, 8002, 2121}, {2797, 6308, 2508, 2508, 6308, 4193, 2131}, {8005, 8013, 4955, 8020, 8027, 8032, 8042, 8050, 8056, 8066, 2584, 2593, 0}, {8005, 8013, 4955, 8020, 8027, 8032, 8042, 8050, 8056, 8066, 2584, 2593, 0}, {8074, 8081, 4955, 5030, 8027, 8087, 8094, 8050, 8099, 1304, 1309, 5931, 0}, {8074, 8081, 4955, 5030, 8027, 8087, 8094, 8050, 8099, 1304, 1309, 5931, 0}, 2, 1, 2646, 241, {243,14,1330,8105,1338,243,1319,0,0,0,0,0,0,0},{3014,3777,5053,0,0,0,0,0},{274,331,8113,8125,8136,8144,8154,8163,2967,8169,8177,8182},{280,323,8185,8200,2992,2978,8214,8227,3007}},
+       {3777, 2692, 323, 331, 2015, 352, 3824, 3827, {8239, 8249, 8254, 8261, 8270, 8274, 8281}, {8292, 8295, 8298, 2785, 8301, 8304, 8307}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {8311, 8320, 8330, 8337, 4966, 8345, 8351, 2559, 8357, 8368, 8378, 8388, 0}, {8311, 8320, 8330, 8337, 4966, 8345, 8351, 2559, 8357, 8368, 8378, 8388, 0}, {8398, 8403, 4913, 8408, 4966, 8413, 8418, 5914, 5041, 1304, 1309, 5931, 0}, {8398, 8403, 4913, 8408, 4966, 8413, 8418, 5914, 5041, 1304, 1309, 5931, 0}, 0, 1, 756, 241, {2692,2356,1319,0,0,0,0,0,0,0,0,0,0,0},{3777,0,0,0,0,0,0,0},{274,331,0,0,0,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {807, 2692, 323, 331, 2015, 352, 8423, 8443, {8469, 8492, 417, 8515, 8526, 8541, 8556}, {8571, 8576, 8581, 8586, 8591, 8596, 8601}, {8606, 8609, 8606, 8612, 8615, 8609, 8612}, {8618, 8631, 8646, 8655, 8668, 8675, 8684, 8693, 8706, 8723, 8738, 8751, 0}, {8766, 8779, 8794, 8805, 8818, 8825, 8834, 8843, 8858, 8875, 8890, 8903, 0}, {8918, 8926, 8646, 8936, 8668, 8675, 8684, 8944, 8952, 8962, 8970, 8980, 0}, {8918, 8926, 8646, 8936, 8668, 8675, 8684, 8944, 8952, 8962, 8970, 8980, 0}, 0, 1, 756, 241, {2692,1354,2948,14,1319,0,0,0,0,0,0,0,0,0},{807,289,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {8988, 9002, 323, 331, 44, 2025, 3824, 3827, {9012, 9021, 9033, 9040, 9048, 9058, 9064}, {9071, 9075, 9079, 9083, 9087, 9092, 9096}, {9100, 9102, 9104, 1067, 9106, 9102, 1067}, {9109, 9119, 9128, 9136, 9144, 9152, 9159, 9166, 9174, 2210, 9180, 9188, 0}, {9197, 9207, 9216, 9224, 9232, 9240, 9247, 9254, 9263, 7668, 9269, 9279, 0}, {9288, 9292, 9297, 9302, 9306, 7702, 9310, 9314, 9318, 7719, 9322, 9326, 0}, {9288, 9292, 9297, 9302, 9306, 7702, 9310, 9314, 9318, 7719, 9322, 9326, 0}, 0, 1, 756, 241, {9002,9330,6189,9338,9350,9360,9370,1319,0,0,0,0,0,0},{8988,9382,9397,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {1991, 2356, 323, 331, 2015, 2025, 9417, 9428, {9439, 9447, 9456, 9463, 9470, 9479, 2093}, {2100, 2103, 9486, 2110, 9489, 9493, 2121}, {2124, 2126, 9496, 2131, 9498, 2126, 2131}, {5790, 5798, 9501, 6111, 9507, 6164, 6169, 2559, 2566, 5869, 2584, 2593, 0}, {9512, 9521, 7601, 9531, 9539, 9545, 9551, 9557, 9565, 9575, 9584, 9593, 0}, {2602, 2606, 2610, 2614, 9507, 6164, 6169, 2626, 2630, 2634, 2638, 2642, 0}, {2602, 2606, 2610, 2614, 9507, 6164, 6169, 2626, 2630, 2634, 2638, 2642, 0}, 2, 1, 756, 241, {2004,2356,9602,2948,2692,1354,1319,0,0,0,0,0,0,0},{1991,2659,0,0,0,0,0,0},{331,274,2380,0,0,0,0,0,0,0,0,0},{323,280,2396,0,0,0,0,0,0}},
+       {3014, 2356, 280, 274, 2015, 352, 9611, 9614, {9617, 9624, 9633, 9642, 9654, 9662, 9671}, {9681, 9685, 3971, 9690, 9695, 9699, 9703}, {2797, 5774, 2508, 2508, 9707, 2126, 2131}, {9709, 9715, 4955, 9722, 2545, 9728, 9736, 9743, 9749, 9757, 9763, 9771, 0}, {9709, 9715, 4955, 9722, 2545, 9728, 9736, 9743, 9749, 9757, 9763, 9771, 0}, {2883, 9779, 3971, 9783, 9787, 9791, 9795, 9799, 9703, 9803, 9807, 9812, 0}, {2883, 9779, 3971, 9783, 9787, 9791, 9795, 9799, 9703, 9803, 9807, 9812, 0}, 0, 1, 756, 241, {1319,5950,0,0,0,0,0,0,0,0,0,0,0,0},{1319,0,0,0,0,0,0,0},{9816,274,0,0,0,0,0,0,0,0,0,0},{9824,280,0,0,0,0,0,0,0}},
+       {9835, 1319, 280, 274, 2015, 9853, 9866, 9869, {9872, 9880, 9888, 2448, 2455, 2463, 9895}, {9903, 9908, 9913, 2491, 2495, 2499, 9917}, {2131, 2508, 2510, 2512, 2510, 2514, 2516}, {7251, 7259, 4955, 2539, 2545, 2549, 2554, 9922, 2566, 2576, 2584, 2593, 0}, {7251, 7259, 4955, 2539, 2545, 2549, 2554, 9922, 2566, 2576, 2584, 2593, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 2626, 2630, 2634, 2638, 2642, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 2626, 2630, 2634, 2638, 2642, 0}, 2, 1, 2646, 241, {1319,5950,0,0,0,0,0,0,0,0,0,0,0,0},{9835,9930,0,0,0,0,0,0},{274,331,9953,0,0,0,0,0,0,0,0,0},{280,323,9963,0,0,0,0,0,0}},
+       {3777, 3032, 323, 331, 2015, 352, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 0, 239, 241, {3032,1338,14,243,9976,9987,1319,0,0,0,0,0,0,0},{3777,9999,10015,0,0,0,0,0},{331,274,3052,35,0,0,0,0,0,0,0,0},{323,280,3041,23,0,0,0,0,0}},
+       {10057, 2356, 280, 274, 2015, 352, 3824, 3827, {10074, 10080, 10090, 10096, 10107, 10117, 10122}, {10132, 10136, 10140, 10144, 10149, 10153, 10157}, {2126, 2126, 2131, 10161, 2126, 7493, 7493}, {10164, 10169, 10176, 10181, 10187, 10194, 10202, 10209, 10218, 10225, 10230, 10237, 0}, {10164, 10169, 10176, 10181, 10187, 10194, 10202, 10209, 10218, 10225, 10230, 10237, 0}, {10245, 10249, 3971, 10254, 3940, 10258, 10262, 10266, 10271, 10275, 10279, 10283, 0}, {10245, 10249, 3971, 10254, 3940, 10258, 10262, 10266, 10271, 10275, 10279, 10283, 0}, 0, 1, 756, 241, {2692,1354,1319,0,0,0,0,0,0,0,0,0,0,0},{10287,5566,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
+       {4054, 243, 3041, 3052, 44, 55, 10305, 10310, {10317, 10328, 10335, 10344, 10351, 10364, 10373}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {10382, 10393, 10404, 10413, 10424, 10429, 10436, 10447, 10456, 10467, 10480, 10491, 0}, {10382, 10393, 10404, 10413, 10424, 10429, 10436, 10447, 10456, 10467, 10480, 10491, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 0, 239, 241, {243,14,1319,0,0,0,0,0,0,0,0,0,0,0},{4054,254,0,0,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {5566, 243, 323, 331, 2015, 55, 3824, 3827, {10502, 10509, 10515, 10522, 10527, 10533, 10539}, {10545, 10549, 10553, 10557, 10561, 10565, 10569}, {2508, 2131, 2131, 10573, 4488, 4191, 2131}, {10575, 10583, 10592, 2820, 10598, 2830, 2835, 10602, 2847, 2857, 2865, 10610, 0}, {10575, 10583, 10592, 2820, 10598, 2830, 2835, 10602, 2847, 2857, 2865, 10610, 0}, {2883, 2887, 3971, 2896, 10598, 2900, 2904, 10619, 2912, 2916, 2920, 10623, 0}, {2883, 2887, 3971, 2896, 10598, 2900, 2904, 10619, 2912, 2916, 2920, 10623, 0}, 0, 0, 239, 241, {243,14,1319,0,0,0,0,0,0,0,0,0,0,0},{5566,0,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {10627, 2692, 323, 331, 10645, 352, 10661, 10666, {10671, 10684, 10703, 10720, 10733, 10746, 10763}, {10776, 8576, 8581, 8586, 8591, 8596, 8601}, {10781, 8609, 8606, 8612, 8615, 8609, 8612}, {10784, 10797, 10808, 10825, 10840, 10855, 10870, 10883, 10898, 10915, 10930, 10947, 0}, {10962, 10973, 10986, 11001, 11014, 11027, 11040, 11051, 11064, 11079, 11092, 11111, 0}, {11124, 11131, 11138, 11145, 11152, 11159, 11166, 11173, 11180, 11187, 11194, 11201, 0}, {11124, 11131, 11138, 11145, 11152, 11159, 11166, 11173, 11180, 11187, 11194, 11201, 0}, 0, 1, 756, 241, {2692,1354,1319,0,0,0,0,0,0,0,0,0,0,0},{10627,0,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {3777, 1354, 280, 274, 2015, 352, 11208, 11221, {11234, 11249, 11270, 11285, 11298, 11311, 11326}, {486, 491, 11339, 501, 11344, 511, 516}, {521, 524, 11349, 530, 533, 524, 530}, {11352, 11369, 11378, 11393, 11410, 11425, 11440, 11453, 11468, 11485, 11506, 11523, 0}, {11352, 11369, 11378, 11393, 586, 11425, 11440, 11453, 11468, 11485, 11506, 11523, 0}, {11538, 11545, 11552, 11559, 11566, 11573, 11580, 11587, 11594, 11601, 11608, 11615, 0}, {11538, 11545, 11552, 11559, 11566, 11573, 11580, 11587, 11594, 11601, 11608, 11615, 0}, 0, 0, 756, 241, {2692,1354,1319,0,0,0,0,0,0,0,0,0,0,0},{3777,0,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {1991, 2356, 323, 331, 2015, 2025, 2033, 11622, {11627, 11635, 11646, 11652, 11658, 11667, 2093}, {9071, 9075, 2495, 11673, 9087, 9092, 11677}, {9100, 9102, 1059, 1067, 9106, 9102, 1067}, {2518, 2525, 9501, 2539, 2545, 11681, 11687, 11693, 2566, 2576, 2584, 2593, 0}, {2518, 2525, 9501, 2539, 2545, 11681, 11687, 11693, 2566, 2576, 2584, 2593, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 11700, 2630, 2634, 2638, 2642, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 11700, 2630, 2634, 2638, 2642, 0}, 0, 1, 756, 241, {2356,2948,2004,2692,9602,1354,11704,1319,0,0,0,0,0,0},{1991,2659,2673,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {1991, 11715, 323, 331, 2015, 11725, 11734, 11739, {11744, 11755, 11766, 11777, 11788, 11799, 11805}, {2126, 9707, 2510, 4488, 2124, 10573, 2516}, {2126, 9707, 2510, 4488, 2124, 10573, 2516}, {11814, 11822, 11831, 11838, 4966, 11845, 11851, 2559, 2566, 11857, 2584, 11866, 0}, {11814, 11822, 11831, 11838, 4966, 11845, 11851, 2559, 2566, 11857, 2584, 11866, 0}, {11876, 11881, 11831, 2614, 4966, 11845, 11851, 2626, 11887, 2634, 2638, 11892, 0}, {11876, 11881, 11831, 2614, 4966, 11845, 11851, 2626, 11887, 2634, 2638, 11892, 0}, 2, 1, 756, 241, {11715,2692,1354,1319,0,0,0,0,0,0,0,0,0,0},{11897,11916,2673,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {11936, 9338, 323, 331, 11963, 2025, 11981, 11998, {12012, 12023, 12033, 12042, 12053, 12065, 12076}, {12086, 12089, 12092, 12095, 12098, 12101, 12104}, {2131, 2126, 2512, 2510, 7493, 2126, 2131}, {12107, 12117, 2533, 12128, 12137, 12143, 12151, 12159, 12167, 12178, 12187, 12197, 0}, {12107, 12117, 2533, 12128, 12137, 12143, 12151, 12159, 12167, 12178, 12187, 12197, 0}, {5017, 1279, 2533, 8408, 12137, 12207, 12213, 5914, 5041, 5926, 1309, 5931, 0}, {5017, 1279, 2533, 8408, 12137, 12207, 12213, 5914, 5041, 5926, 1309, 5931, 0}, 0, 1, 756, 241, {5676,12219,1319,0,0,0,0,0,0,0,0,0,0,0},{11936,0,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {12229, 1319, 280, 274, 12251, 12266, 12278, 11622, {12284, 12296, 12308, 12320, 12334, 12349, 12362}, {12376, 12089, 12379, 12095, 12382, 12385, 12388}, {2131, 2126, 12392, 2510, 4488, 2126, 9498}, {12394, 12401, 12409, 12415, 12424, 12433, 12443, 12449, 12460, 12470, 12477, 12487, 0}, {12495, 12502, 12510, 12516, 12525, 12534, 12544, 12550, 12561, 12571, 12578, 12588, 0}, {12596, 12602, 12607, 12612, 12617, 12622, 12627, 12633, 12639, 12645, 12651, 12658, 0}, {12596, 12602, 12607, 12612, 12617, 12622, 12627, 12633, 12639, 12645, 12651, 12658, 0}, 2, 1, 2646, 241, {1856,1319,0,0,0,0,0,0,0,0,0,0,0,0},{12229,0,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
+       {12665, 2692, 280, 274, 2015, 55, 12683, 12695, {12707, 12722, 12737, 12752, 12769, 12788, 12799}, {12810, 12817, 12824, 12831, 12838, 12845, 12852}, {0, 0, 0, 0, 0, 0, 0}, {12859, 12870, 8646, 12883, 8668, 12894, 12901, 8693, 12908, 12923, 12936, 12947, 0}, {12859, 12870, 8646, 12883, 8668, 12894, 12901, 8693, 12908, 12923, 12936, 12947, 0}, {12960, 12967, 12974, 12981, 8668, 12894, 12901, 12988, 12995, 13002, 13009, 13016, 0}, {12960, 12967, 12974, 12981, 8668, 12894, 12901, 12988, 12995, 13002, 13009, 13016, 0}, 0, 1, 756, 241, {1354,1319,0,0,0,0,0,0,0,0,0,0,0,0},{3777,0,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,0,0,0,0,0,0,0,0}},
+       {13023, 243, 23, 35, 44, 352, 13042, 13062, {13079, 13092, 13105, 13121, 13138, 13153, 13162}, {13079, 13092, 13105, 13121, 13138, 13153, 13162}, {13171, 13174, 13177, 13180, 13183, 13186, 13189}, {13192, 13205, 13216, 13225, 13236, 13241, 13250, 13261, 13268, 13283, 13294, 13307, 0}, {13320, 13335, 13216, 13225, 13348, 13241, 13355, 13261, 13268, 13283, 13294, 13307, 0}, {13192, 13205, 13216, 13225, 13236, 13241, 13250, 13261, 13268, 13283, 13294, 13307, 0}, {13192, 13205, 13216, 13225, 13236, 13241, 13250, 13261, 13268, 13283, 13294, 13307, 0}, 0, 6, 239, 241, {3999,3990,0,0,0,0,0,0,0,0,0,0,0,0},{4020,4040,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
+       {5566, 243, 3041, 3052, 2015, 55, 13368, 13371, {13374, 13387, 13397, 13406, 13416, 13427, 13438}, {13450, 13453, 13458, 13463, 13468, 13473, 13478}, {13450, 13483, 13486, 13489, 13492, 13495, 13498}, {13501, 13514, 13525, 13535, 13546, 13558, 13570, 13583, 13595, 13608, 13623, 13644, 0}, {13501, 13514, 13525, 13535, 13546, 13558, 13570, 13583, 13595, 13608, 13623, 13644, 0}, {13663, 13669, 13675, 13681, 13687, 13693, 13699, 13705, 13711, 13717, 13724, 13731, 0}, {13663, 13669, 13675, 13681, 13687, 13693, 13699, 13705, 13711, 13717, 13724, 13731, 0}, 0, 1, 239, 241, {243,14,1345,2404,1319,0,0,0,0,0,0,0,0,0},{5566,0,0,0,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {13738, 2692, 280, 274, 44, 352, 13751, 13759, {13767, 13780, 13801, 13820, 13841, 13860, 13873}, {13884, 13891, 13898, 13905, 13912, 13919, 13926}, {0, 0, 0, 0, 0, 0, 0}, {13933, 13948, 13963, 13972, 13983, 13994, 14007, 14020, 14035, 14054, 14073, 14090, 0}, {13933, 13948, 13963, 13972, 13983, 13994, 14007, 14020, 14035, 14054, 14073, 14090, 0}, {14109, 14116, 14123, 14130, 14137, 14144, 14151, 14158, 14165, 14172, 14179, 14186, 0}, {14109, 14116, 14123, 14130, 14137, 14144, 14151, 14158, 14165, 14172, 14179, 14186, 0}, 0, 1, 756, 241, {2692,1354,14193,243,14203,3765,1319,0,0,0,0,0,0,0},{13738,3014,13023,5566,14214,14225,14237,14254},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {14272, 2692, 280, 274, 2015, 352, 0, 0, {14294, 14300, 14314, 14337, 14351, 14367, 14374}, {14383, 14386, 14391, 14397, 14401, 7493, 14406}, {6646, 6634, 6636, 6638, 6640, 6642, 6644}, {14410, 14417, 10176, 14424, 3940, 14430, 14436, 14442, 14449, 14458, 14466, 14473, 0}, {14410, 14417, 10176, 14424, 3940, 14430, 14436, 14442, 14449, 14458, 14466, 14473, 0}, {14480, 7891, 2610, 2614, 14484, 14488, 14492, 14496, 14500, 2634, 14504, 14508, 0}, {14480, 7891, 2610, 2614, 14484, 14488, 14492, 14496, 14500, 2634, 14504, 14508, 0}, 0, 1, 756, 241, {2692,1354,2948,14,1319,0,0,0,0,0,0,0,0,0},{3777,5566,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {14512, 1845, 323, 331, 14545, 14562, 3824, 3827, {14577, 14585, 14596, 14606, 14617, 14626, 14635}, {14645, 14648, 14651, 14654, 14657, 14660, 14663}, {14666, 2508, 12392, 2516, 12392, 2512, 14666}, {14668, 14678, 14686, 14694, 14702, 14710, 14717, 14725, 14733, 14740, 14746, 14753, 0}, {14668, 14678, 14686, 14694, 14702, 14710, 14717, 14725, 14733, 14740, 14746, 14753, 0}, {14761, 14765, 2610, 14769, 4966, 14773, 14777, 14781, 14785, 14789, 14793, 14797, 0}, {14761, 14765, 2610, 14769, 4966, 14773, 14777, 14781, 14785, 14789, 14793, 14797, 0}, 2, 1, 239, 241, {1845,1319,0,0,0,0,0,0,0,0,0,0,0,0},{14801,0,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{323,280,1433,0,0,0,0,0,0}},
+       {13023, 2692, 280, 274, 2015, 352, 14828, 14849, {14866, 396, 417, 8515, 14879, 14896, 14907}, {14920, 14928, 14936, 14942, 14950, 14958, 14966}, {521, 524, 527, 530, 533, 524, 530}, {14974, 549, 566, 575, 14989, 14996, 15005, 607, 620, 639, 656, 671, 0}, {14974, 549, 566, 575, 14989, 14996, 15005, 607, 620, 639, 656, 671, 0}, {15014, 15022, 15030, 704, 14989, 15038, 15046, 712, 720, 730, 738, 15054, 0}, {15014, 15022, 15030, 704, 14989, 15038, 15046, 712, 720, 730, 738, 15054, 0}, 0, 1, 756, 241, {2692,1354,1319,0,0,0,0,0,0,0,0,0,0,0},{13023,0,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
+       {5566, 14, 23, 35, 2015, 352, 0, 0, {15066, 15073, 15084, 15093, 15102, 15109, 15120}, {15130, 15134, 15138, 15142, 15146, 15149, 15153}, {0, 0, 0, 0, 0, 0, 0}, {15157, 15167, 15176, 15184, 15193, 15206, 15218, 15225, 15232, 15239, 15249, 15261, 0}, {15157, 15167, 15176, 15184, 15193, 15206, 15218, 15225, 15232, 15239, 15249, 15261, 0}, {15274, 15278, 15282, 15286, 15290, 15294, 15298, 15302, 15306, 15310, 15314, 15318, 0}, {15274, 15278, 15282, 15286, 15290, 15294, 15298, 15302, 15306, 15310, 15314, 15318, 0}, 0, 0, 239, 241, {1845,1888,1319,0,0,0,0,0,0,0,0,0,0,0},{5566,0,0,0,0,0,0,0},{35,3052,274,0,0,0,0,0,0,0,0,0},{23,3041,280,0,0,0,0,0,0}},
+       {5566, 1845, 23, 35, 2015, 352, 0, 0, {15322, 15327, 15333, 15343, 15355, 15363, 15374}, {15383, 15387, 15391, 15395, 15399, 15403, 15407}, {0, 0, 0, 0, 0, 0, 0}, {15411, 15421, 15431, 15438, 15445, 2830, 15450, 15457, 15464, 15473, 15481, 15489, 0}, {15411, 15421, 15431, 15438, 15445, 2830, 15450, 15457, 15464, 15473, 15481, 15489, 0}, {2883, 2887, 15153, 15497, 15501, 2900, 2904, 15505, 2912, 2916, 2920, 15509, 0}, {2883, 2887, 15153, 15497, 15501, 2900, 2904, 15505, 2912, 2916, 2920, 15509, 0}, 0, 0, 239, 241, {1845,1888,1319,0,0,0,0,0,0,0,0,0,0,0},{5566,0,0,0,0,0,0,0},{35,3052,274,0,0,0,0,0,0,0,0,0},{23,3041,280,0,0,0,0,0,0}},
+       {5566, 2404, 23, 35, 2015, 352, 3824, 3827, {15513, 15519, 15530, 15343, 15540, 15363, 15374}, {15549, 15553, 15557, 15395, 15399, 15403, 15407}, {2131, 2508, 15561, 2510, 2131, 5774, 2508}, {15563, 15573, 15584, 15591, 15600, 15606, 15612, 15620, 15628, 15639, 15649, 15658, 0}, {15667, 15421, 15676, 15682, 15445, 2830, 15450, 15457, 15689, 15473, 15481, 15489, 0}, {2883, 2887, 15699, 2896, 15501, 2900, 2904, 15505, 2912, 2916, 2920, 15509, 0}, {2883, 2887, 15699, 2896, 15501, 2900, 2904, 15505, 2912, 2916, 2920, 15509, 0}, 0, 0, 2646, 241, {1845,1888,1319,0,0,0,0,0,0,0,0,0,0,0},{5566,0,0,0,0,0,0,0},{35,3052,274,0,0,0,0,0,0,0,0,0},{23,3041,280,0,0,0,0,0,0}},
+       {5566, 1845, 23, 35, 2015, 352, 15703, 15707, {15711, 15718, 15726, 15734, 15743, 15753, 15760}, {2776, 8298, 2782, 15769, 2788, 15772, 2794}, {2131, 2508, 2797, 3915, 2797, 4193, 2131}, {15775, 15784, 15794, 2820, 10598, 15800, 15806, 15812, 2847, 2857, 2865, 10610, 0}, {15775, 15784, 15794, 2820, 10598, 15800, 15806, 15812, 2847, 2857, 2865, 10610, 0}, {2883, 2887, 3971, 2896, 10598, 2900, 2904, 2908, 2912, 2916, 2920, 10623, 0}, {2883, 2887, 3971, 2896, 10598, 2900, 2904, 2908, 2912, 2916, 2920, 10623, 0}, 0, 0, 239, 241, {1845,1888,1319,15821,0,0,0,0,0,0,0,0,0,0},{5566,0,0,0,0,0,0,0},{35,3052,274,0,0,0,0,0,0,0,0,0},{23,3041,280,0,0,0,0,0,0}},
+       {15833, 2692, 323, 331, 2015, 352, 15867, 15883, {15905, 15921, 15946, 15974, 16002, 16030, 16058}, {16077, 16087, 16097, 16107, 16117, 16127, 16137}, {16147, 16151, 16155, 16151, 16159, 16163, 16167}, {16171, 16193, 16221, 16237, 16256, 16272, 16291, 16307, 16329, 16360, 16388, 16413, 0}, {16171, 16193, 16221, 16237, 16256, 16272, 16291, 16307, 16329, 16360, 16388, 16413, 0}, {16441, 16451, 16461, 16471, 16481, 16491, 16501, 16511, 16521, 16531, 16541, 16551, 0}, {16441, 16451, 16461, 16471, 16481, 16491, 16501, 16511, 16521, 16531, 16541, 16551, 0}, 0, 1, 756, 241, {2692,1354,2948,14,1319,0,0,0,0,0,0,0,0,0},{16561,0,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {1991, 2404, 280, 274, 2015, 352, 16593, 16598, {5969, 16603, 16614, 16624, 16634, 16644, 16658}, {6055, 6059, 16670, 16675, 16679, 16684, 16689}, {2131, 2508, 2510, 2508, 5774, 2514, 2516}, {2518, 2525, 4955, 6111, 4966, 2549, 2554, 2559, 2566, 2576, 2584, 6155, 0}, {2518, 2525, 4955, 6111, 4966, 2549, 2554, 2559, 2566, 2576, 2584, 6155, 0}, {2602, 2606, 2610, 2614, 4966, 2618, 2622, 2626, 2630, 2634, 2638, 6185, 0}, {2602, 2606, 2610, 2614, 4966, 2618, 2622, 2626, 2630, 2634, 2638, 6185, 0}, 2, 1, 2646, 241, {2404,1345,1319,0,0,0,0,0,0,0,0,0,0,0},{1991,0,0,0,0,0,0,0},{274,5062,0,0,0,0,0,0,0,0,0,0},{280,6517,0,0,0,0,0,0,0}},
+       {5566, 2404, 280, 274, 44, 55, 16693, 16721, {16743, 16762, 16781, 16803, 16822, 16856, 16881}, {16900, 16911, 16922, 16936, 16947, 16958, 16975}, {16986, 16990, 16997, 17004, 17011, 17018, 17025}, {17029, 17045, 17061, 17077, 17096, 17103, 17113, 17129, 17145, 17167, 17189, 17208, 0}, {17029, 17045, 17061, 17077, 17096, 17103, 17113, 17129, 17145, 17167, 17189, 17208, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 0, 2646, 241, {2404,1345,2365,2948,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,1959,1951,0,0,0,0,0,0,0,0},{280,323,1979,1968,0,0,0,0,0}},
+       {17230, 243, 280, 274, 2015, 17255, 17269, 17272, {17275, 17284, 17293, 17303, 17313, 17323, 17335}, {17343, 17348, 17352, 17356, 17360, 17365, 17370}, {17374, 2510, 2510, 9707, 17374, 17377, 2131}, {17380, 17387, 17392, 2820, 17398, 17404, 17411, 17417, 17425, 17435, 17443, 17452, 0}, {17380, 17387, 17392, 2820, 17398, 17404, 17411, 17417, 17425, 17435, 17443, 17452, 0}, {2883, 17462, 3971, 2896, 17466, 17470, 17475, 17479, 17483, 17487, 2920, 17491, 0}, {2883, 17462, 3971, 2896, 17466, 17470, 17475, 17479, 17483, 17487, 2920, 17491, 0}, 0, 0, 239, 241, {243,1319,17496,7163,3032,0,0,0,0,0,0,0,0,0},{17230,17505,9987,0,0,0,0,0},{274,3052,331,35,0,0,0,0,0,0,0,0},{280,3041,323,23,0,0,0,0,0}},
+       {17524, 2692, 280, 274, 2015, 17548, 17561, 17566, {17571, 17583, 17594, 17608, 17620, 17630, 17640}, {17651, 17656, 17661, 17666, 17671, 17676, 17681}, {2131, 4193, 2508, 6308, 2797, 15561, 2516}, {17686, 17703, 17716, 17730, 17743, 17756, 17769, 17783, 17795, 17809, 17823, 17837, 0}, {17686, 17703, 17716, 17730, 17743, 17756, 17769, 17783, 17795, 17809, 17823, 17837, 0}, {17850, 17857, 17862, 17867, 17871, 17876, 17881, 17886, 17891, 17898, 17903, 17909, 0}, {17850, 17857, 17862, 17867, 17871, 17876, 17881, 17886, 17891, 17898, 17903, 17909, 0}, 2, 1, 756, 241, {2692,1354,2948,1319,0,0,0,0,0,0,0,0,0,0},{17914,0,0,0,0,0,0,0},{274,331,5062,0,0,0,0,0,0,0,0,0},{280,323,6517,0,0,0,0,0,0}},
+       {5566, 243, 323, 331, 2015, 55, 18225, 18228, {18232, 18237, 10515, 10522, 18243, 18250, 10539}, {18257, 18261, 10553, 10557, 18265, 10565, 10569}, {12392, 14666, 2131, 10573, 4488, 4191, 2131}, {10575, 10583, 18269, 2820, 10598, 2900, 18273, 18279, 2847, 2857, 2865, 18284, 0}, {10575, 10583, 18269, 2820, 10598, 2900, 18273, 18279, 2847, 2857, 2865, 18284, 0}, {2883, 2887, 18269, 2896, 10598, 2900, 2904, 18279, 2912, 2916, 2920, 15509, 0}, {2883, 2887, 18269, 2896, 10598, 2900, 2904, 18279, 2912, 2916, 2920, 15509, 0}, 0, 1, 239, 241, {243,14,1319,0,0,0,0,0,0,0,0,0,0,0},{5566,0,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {18736, 18757, 280, 274, 18766, 18782, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 1, 2646, 241, {1354,1319,0,0,0,0,0,0,0,0,0,0,0,0},{18791,0,0,0,0,0,0,0},{331,0,0,0,0,0,0,0,0,0,0,0},{323,0,0,0,0,0,0,0,0}},
+       {4020, 3808, 3041, 3052, 44, 18811, 18819, 18827, {18835, 18844, 18853, 18861, 18870, 18879, 18886}, {18895, 18898, 18901, 18904, 18907, 18911, 18914}, {6636, 6638, 6640, 6642, 12392, 14666, 6634}, {10575, 10583, 18917, 18923, 10598, 2830, 18273, 18930, 15464, 18937, 15481, 18944, 0}, {10575, 10583, 18917, 18923, 10598, 2830, 18273, 18930, 15464, 18937, 15481, 18944, 0}, {2883, 2887, 18269, 2896, 10598, 2900, 2904, 18952, 2912, 2916, 2920, 10623, 0}, {2883, 2887, 18269, 2896, 10598, 2900, 2904, 18952, 2912, 2916, 2920, 10623, 0}, 0, 0, 239, 241, {3808,3983,3990,3999,1888,1319,4010,0,0,0,0,0,0,0},{4020,4040,254,4054,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {18956, 2692, 280, 274, 2015, 18974, 0, 0, {34133, 34143, 34152, 34161, 34172, 34182, 34187}, {34194, 34200, 34205, 34210, 34215, 10153, 34219}, {34224, 2797, 2131, 7493, 2126, 7493, 2131}, {14410, 14417, 10176, 14424, 3940, 34226, 34231, 34236, 14449, 14458, 14466, 14473, 0}, {14410, 14417, 10176, 14424, 3940, 34226, 34231, 34236, 14449, 14458, 14466, 14473, 0}, {34243, 34248, 3971, 2896, 3940, 34226, 34231, 34252, 10549, 2916, 34256, 34261, 0}, {34243, 34248, 3971, 2896, 3940, 34226, 34231, 34252, 10549, 2916, 34256, 34261, 0}, 0, 1, 756, 241, {19141,1354,2948,14,1319,0,0,0,0,0,0,0,0,0},{18956,3777,5566,0,0,0,0,0},{274,331,0,0,0,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {5566, 1345, 6517, 5062, 44, 352, 19152, 19180, {19202, 19221, 19240, 19265, 19284, 19318, 19343}, {19362, 19372, 19382, 19398, 19408, 19433, 19449}, {19459, 19463, 19470, 19474, 19481, 19488, 19495}, {19499, 19527, 19561, 19577, 19596, 19603, 19613, 19629, 19645, 19676, 19698, 19720, 0}, {19499, 19527, 19561, 19577, 19596, 19603, 19613, 19629, 19645, 19676, 19698, 19720, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 0, 2646, 241, {1345,2365,2948,2404,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{5062,2380,19745,19754,0,0,0,0,0,0,0,0},{6517,2396,19762,19774,0,0,0,0,0}},
+       {5566, 1345, 280, 274, 44, 55, 20321, 20362, {20403, 20422, 20441, 20463, 20482, 20504, 20529}, {20548, 20558, 20568, 20581, 20591, 20604, 20620}, {20630, 20634, 20641, 20648, 20655, 20662, 20669}, {20673, 20701, 20729, 20745, 20764, 20771, 20781, 20797, 20813, 20841, 20863, 20885, 0}, {20673, 20701, 20729, 20745, 20764, 20771, 20781, 20797, 20813, 20841, 20863, 20885, 0}, {20910, 20929, 20729, 20745, 20764, 20771, 20781, 20797, 20948, 20964, 20980, 20990, 0}, {20910, 20929, 20729, 20745, 20764, 20771, 20781, 20797, 20948, 20964, 20980, 20990, 0}, 0, 0, 2646, 241, {1345,2365,2948,2404,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,1959,1951,0,0,0,0,0,0,0,0},{280,323,1979,1968,0,0,0,0,0}},
+       {5566, 1345, 280, 274, 44, 55, 7932, 21003, {21006, 21025, 21044, 21069, 21088, 21110, 21135}, {21154, 21164, 21174, 21190, 21200, 21213, 21229}, {21239, 21243, 21250, 21254, 21261, 21268, 21275}, {21279, 21301, 21332, 21354, 21373, 21380, 21390, 21406, 21422, 21453, 21475, 21497, 0}, {21279, 21301, 21332, 21354, 21373, 21380, 21390, 21406, 21422, 21453, 21475, 21497, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 0, 2646, 241, {1345,2365,2948,2404,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,1959,1951,0,0,0,0,0,0,0,0},{280,323,1979,1968,0,0,0,0,0}},
+       {5566, 2404, 280, 274, 2015, 352, 21522, 21547, {21572, 21591, 21613, 21638, 21654, 21676, 21695}, {21705, 21712, 21719, 21726, 21733, 21740, 21747}, {21705, 21712, 21719, 21726, 21733, 21740, 21747}, {21751, 21767, 21792, 21811, 21830, 21837, 21850, 21863, 21882, 21913, 21938, 21960, 0}, {21751, 21767, 21792, 21811, 21830, 21837, 21850, 21985, 21882, 21913, 21938, 21960, 0}, {22004, 22012, 22026, 22040, 21830, 21837, 21850, 22051, 22059, 22073, 22084, 22092, 0}, {22004, 22012, 22026, 22040, 21830, 21837, 21850, 22051, 22059, 22073, 22084, 22092, 0}, 0, 0, 2646, 241, {2404,1345,2365,2948,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,1959,1951,0,0,0,0,0,0,0,0},{280,323,1979,1968,0,0,0,0,0}},
+       {5566, 1345, 280, 274, 44, 3817, 22103, 22134, {22159, 22181, 22203, 22228, 22250, 22275, 22303}, {22325, 22335, 22345, 22358, 22368, 22381, 22397}, {22407, 22411, 22418, 22422, 22429, 22436, 22443}, {22447, 22463, 22488, 22507, 22529, 22536, 22549, 22562, 22581, 22612, 22637, 22656, 0}, {22447, 22463, 22488, 22507, 22529, 22536, 22549, 22562, 22581, 22612, 22637, 22656, 0}, {22681, 22688, 6638, 22704, 22529, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {22681, 22688, 6638, 22704, 22529, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 0, 2646, 241, {1345,2365,2948,2404,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,1959,1951,0,0,0,0,0,0,0,0},{280,323,1979,1968,0,0,0,0,0}},
+       {5566, 1345, 280, 274, 44, 3817, 3824, 3827, {22720, 22739, 22758, 22780, 22799, 22821, 22846}, {22865, 22870, 22878, 22886, 22894, 22902, 22910}, {22921, 22925, 22932, 22939, 22946, 22953, 22960}, {22964, 22980, 23005, 23024, 23046, 23053, 23066, 23079, 23098, 23126, 23151, 23173, 0}, {22964, 22980, 23005, 23024, 23046, 23053, 23066, 23079, 23098, 23126, 23151, 23173, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 0, 2646, 241, {1345,2365,2948,2404,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,1959,1951,0,0,0,0,0,0,0,0},{280,323,1979,1968,0,0,0,0,0}},
+       {5566, 1345, 6517, 5062, 44, 18811, 23198, 23217, {23248, 23273, 23304, 23332, 23357, 23385, 23419}, {23444, 23463, 23488, 23504, 23523, 23542, 23561}, {23571, 23578, 23585, 23592, 23599, 23612, 23619}, {23623, 23642, 23670, 23698, 23723, 23736, 23752, 23765, 23790, 23827, 23855, 23877, 0}, {23623, 23642, 23670, 23698, 23723, 23736, 23752, 23765, 23790, 23827, 23855, 23877, 0}, {23902, 23912, 23931, 23947, 23723, 23736, 23752, 23963, 23970, 23995, 24011, 24021, 0}, {23902, 23912, 23931, 23947, 23723, 23736, 23752, 23963, 23970, 23995, 24011, 24021, 0}, 0, 0, 2646, 241, {1345,2365,2948,2404,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{5062,2380,19745,19754,0,0,0,0,0,0,0,0},{6517,2396,19762,19774,0,0,0,0,0}},
+       {24034, 2404, 1968, 1951, 24053, 352, 24061, 24089, {24111, 24130, 24149, 24174, 24193, 24227, 24252}, {24271, 19372, 19382, 19398, 24281, 24306, 19449}, {0, 0, 0, 0, 0, 0, 0}, {24322, 24347, 24378, 24394, 19596, 19603, 19613, 24413, 24429, 24460, 24482, 24504, 0}, {24322, 24347, 24378, 24394, 19596, 19603, 19613, 24413, 24429, 24460, 24482, 24504, 0}, {24529, 24542, 24378, 24394, 19596, 19603, 19613, 24561, 24568, 24584, 24600, 24610, 0}, {24529, 24542, 24378, 24394, 19596, 19603, 19613, 24561, 24568, 24584, 24600, 24610, 0}, 0, 0, 2646, 241, {2404,0,0,0,0,0,0,0,0,0,0,0,0,0},{24034,0,0,0,0,0,0,0},{1951,1959,0,0,0,0,0,0,0,0,0,0},{1968,1979,0,0,0,0,0,0,0}},
+       {5566, 2404, 280, 274, 44, 55, 3824, 3827, {16743, 16762, 24623, 16803, 24645, 16856, 16881}, {24667, 24677, 24687, 24700, 24710, 24723, 24739}, {16986, 16990, 16997, 17004, 17011, 17018, 17025}, {24749, 24774, 17061, 24805, 24824, 17103, 24831, 24844, 24860, 24885, 24907, 24935, 0}, {24749, 24774, 17061, 24805, 24824, 17103, 24831, 24844, 24860, 24885, 24907, 24935, 0}, {24957, 24970, 17061, 24989, 24824, 17103, 24831, 25005, 25012, 6652, 25034, 25056, 0}, {24957, 24970, 17061, 24989, 24824, 17103, 24831, 25005, 25012, 6652, 25034, 25056, 0}, 0, 0, 2646, 241, {2404,1345,2365,2948,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,1959,1951,0,0,0,0,0,0,0,0},{280,323,1979,1968,0,0,0,0,0}},
+       {25493, 1475, 280, 274, 25536, 25569, 25593, 25615, {25640, 25668, 25696, 25733, 25764, 25798, 25823}, {25857, 25873, 25889, 25914, 25933, 25955, 25974}, {25996, 26003, 26010, 26017, 26024, 26031, 26035}, {26045, 26079, 26116, 26150, 26184, 26215, 26252, 26289, 26329, 26363, 26397, 26446, 0}, {26045, 26079, 26116, 26150, 26184, 26215, 26252, 26289, 26329, 26363, 26397, 26446, 0}, {26495, 26508, 26521, 26534, 26547, 26560, 26573, 26586, 26599, 26612, 26628, 26644, 0}, {26495, 26508, 26521, 26534, 26547, 26560, 26573, 26586, 26599, 26612, 26628, 26644, 0}, 0, 0, 239, 241, {1475,1827,1836,1856,1319,1845,1867,1874,1881,0,0,0,0,0},{25493,26660,0,0,0,0,0,0},{274,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
+       {3777, 14, 280, 274, 2015, 352, 0, 0, {26708, 26717, 26727, 26739, 26752, 26761, 26773}, {26785, 26789, 26794, 26798, 26802, 26806, 26810}, {2131, 2516, 2508, 2508, 14666, 6308, 2131}, {26814, 26821, 26830, 26837, 2826, 26844, 26852, 26863, 26868, 26873, 26880, 26889, 0}, {26814, 26821, 26830, 26837, 2826, 26844, 26897, 26863, 26868, 26873, 26880, 26889, 0}, {26907, 26911, 26794, 26916, 2826, 26920, 26924, 26863, 26868, 26928, 26932, 26937, 0}, {26907, 26911, 26794, 26916, 2826, 26920, 26924, 26863, 26868, 26928, 26932, 26937, 0}, 2, 0, 239, 241, {243,14,1338,2948,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,35,3052,0,0,0,0,0,0,0,0},{280,323,23,3041,0,0,0,0,0}},
+       {3777, 14, 280, 331, 26942, 352, 26977, 26993, {27009, 27043, 27074, 27105, 27127, 27170, 27198}, {27223, 27230, 27234, 27238, 27245, 27255, 27262}, {0, 0, 0, 0, 0, 0, 0}, {27266, 27279, 27298, 27311, 27324, 27337, 27356, 27375, 27388, 27404, 27417, 27442, 0}, {27266, 27279, 27298, 27311, 27324, 27337, 27356, 27375, 27388, 27404, 27417, 27442, 0}, {27455, 27459, 27463, 27467, 27471, 27475, 27479, 27483, 27487, 27491, 27498, 27505, 0}, {27455, 27459, 27463, 27467, 27471, 27475, 27479, 27483, 27487, 27491, 27498, 27505, 0}, 0, 0, 239, 241, {1319,0,0,0,0,0,0,0,0,0,0,0,0,0},{3777,9999,0,0,0,0,0,0},{27512,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
+       {5566, 243, 280, 274, 2015, 352, 27520, 27545, {27570, 27595, 27614, 27642, 27661, 27686, 27705}, {27727, 27735, 27740, 27745, 27750, 27758, 27766}, {0, 0, 0, 0, 0, 0, 0}, {27771, 27790, 27806, 27819, 27832, 27854, 27873, 27895, 27911, 27927, 27940, 27956, 0}, {27771, 27790, 27806, 27819, 27832, 27854, 27873, 27895, 27911, 27927, 27940, 27956, 0}, {27972, 27981, 27990, 28002, 28012, 28021, 28033, 28042, 28051, 28060, 28069, 28078, 0}, {27972, 27981, 27990, 28002, 28012, 28021, 28033, 28042, 28051, 28060, 28069, 28078, 0}, 0, 0, 239, 241, {243,1319,0,0,0,0,0,0,0,0,0,0,0,0},{5566,0,0,0,0,0,0,0},{27512,0,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
+       {4290, 243, 323, 331, 949, 4096, 964, 969, {28087, 28095, 28100, 28107, 28117, 28123, 28130}, {28138, 28142, 3971, 28146, 28151, 28155, 28159}, {2797, 2516, 2508, 2508, 4189, 4193, 2131}, {28164, 28172, 6327, 28181, 28187, 28192, 28198, 6361, 28204, 28213, 28221, 28230, 0}, {28164, 28172, 6327, 28181, 28187, 28192, 28198, 6361, 28204, 28213, 28221, 28230, 0}, {28239, 2887, 3971, 28243, 2826, 28247, 28252, 18952, 17483, 28256, 2920, 3979, 0}, {28239, 2887, 3971, 28243, 2826, 28247, 28252, 18952, 17483, 28256, 2920, 3979, 0}, 2, 1, 239, 241, {243,14,1330,1338,1345,1354,1319,0,0,0,0,0,0,0},{4290,4319,4346,0,0,0,0,0},{331,274,35,1421,0,0,0,0,0,0,0,0},{323,280,23,1433,0,0,0,0,0}},
+       {5566, 2404, 280, 274, 44, 55, 28260, 28272, {28284, 16762, 28312, 16803, 24645, 16856, 16881}, {24667, 24677, 24687, 24700, 24710, 24723, 24739}, {0, 0, 0, 0, 0, 0, 0}, {24749, 24774, 17061, 24805, 24824, 17103, 24831, 28331, 28347, 28375, 24907, 24935, 0}, {24749, 24774, 17061, 24805, 24824, 17103, 24831, 28331, 28347, 28375, 24907, 24935, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 0, 2646, 241, {2404,1345,2365,2948,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,1959,1951,0,0,0,0,0,0,0,0},{280,323,1979,1968,0,0,0,0,0}},
+       {28397, 1319, 1968, 1951, 28445, 18811, 28455, 28467, {28476, 28492, 28508, 28536, 28552, 28595, 28620}, {28648, 28658, 28668, 28675, 28685, 28701, 28714}, {28724, 28728, 28732, 28736, 28740, 28753, 28760}, {28767, 28786, 28811, 28830, 28855, 28868, 28881, 28894, 28916, 28950, 28975, 29003, 0}, {28767, 28786, 28811, 28830, 28855, 28868, 28881, 28894, 28916, 28950, 28975, 29003, 0}, {29031, 29038, 29048, 28830, 28855, 28868, 28881, 29061, 29071, 29084, 29094, 29107, 0}, {29031, 29038, 29048, 28830, 28855, 28868, 28881, 29061, 29071, 29084, 29094, 29107, 0}, 0, 1, 2646, 241, {1319,1845,1888,243,14,0,0,0,0,0,0,0,0,0},{28397,0,0,0,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {29120, 3032, 3041, 3052, 2015, 29152, 29168, 29178, {29191, 29201, 29208, 29221, 29231, 29241, 29251}, {29191, 29201, 29261, 29221, 29231, 29241, 29251}, {29271, 29275, 29279, 29283, 29287, 29291, 29295}, {29299, 29315, 29331, 29341, 29354, 29361, 29368, 29378, 29391, 29410, 29429, 29445, 0}, {29299, 29315, 29331, 29341, 29354, 29361, 29368, 29378, 29391, 29410, 29429, 29445, 0}, {29461, 29471, 29331, 29481, 29354, 29361, 29368, 29491, 29501, 29511, 29521, 29531, 0}, {29461, 29471, 29331, 29481, 29354, 29361, 29368, 29491, 29501, 29511, 29521, 29531, 0}, 0, 0, 239, 241, {3032,1319,0,0,0,0,0,0,0,0,0,0,0,0},{29120,0,0,0,0,0,0,0},{3052,0,0,0,0,0,0,0,0,0,0,0},{3041,0,0,0,0,0,0,0,0}},
+       {4020, 3808, 3041, 3052, 29782, 55, 29792, 29833, {29874, 29893, 29912, 29937, 29956, 29978, 30003}, {30022, 24677, 30032, 24700, 30048, 24723, 24739}, {30061, 30065, 30069, 30073, 30077, 30081, 30085}, {17029, 30089, 17061, 30117, 24824, 30136, 17113, 17129, 30146, 30177, 30199, 30224, 0}, {17029, 30089, 17061, 30117, 24824, 30136, 17113, 17129, 30146, 30177, 30199, 30224, 0}, {30249, 30256, 17061, 30266, 24824, 30136, 30282, 30295, 30302, 30318, 30334, 30347, 0}, {30249, 30256, 17061, 30266, 24824, 30136, 30282, 30295, 30302, 30318, 30334, 30347, 0}, 0, 0, 239, 241, {3808,3983,3990,3999,1888,1319,4010,0,0,0,0,0,0,0},{4020,4040,254,4054,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {30360, 1475, 3041, 3052, 2015, 352, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {30381, 30388, 30397, 30412, 30423, 30432, 30439, 30446, 30453, 30464, 30477, 30490, 0}, {30381, 30388, 30397, 30412, 30423, 30432, 30439, 30446, 30453, 30464, 30477, 30490, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 6, 239, 241, {14,243,0,0,0,0,0,0,0,0,0,0,0,0},{243,1,254,30495,0,0,0,0},{3052,331,0,0,0,0,0,0,0,0,0,0},{3041,323,0,0,0,0,0,0,0}},
+       {4020, 3808, 3041, 3052, 44, 30513, 3824, 3827, {30519, 30526, 28100, 30532, 30543, 30551, 30560}, {30567, 28142, 3971, 30571, 30575, 30579, 10569}, {2516, 2516, 2508, 2508, 5774, 15561, 2131}, {30583, 30589, 30597, 28181, 30603, 30608, 30614, 6361, 30620, 30630, 30638, 30648, 0}, {30583, 30589, 30597, 28181, 30603, 30608, 30614, 6361, 30620, 30630, 30638, 30648, 0}, {30658, 30662, 3971, 28243, 3940, 30666, 30670, 18952, 17483, 2916, 30674, 15509, 0}, {30658, 30662, 3971, 28243, 3940, 30666, 30670, 18952, 17483, 2916, 30674, 15509, 0}, 0, 0, 239, 241, {3808,3983,3990,3999,1888,1319,4010,0,0,0,0,0,0,0},{4020,4040,254,4054,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {4020, 3032, 3041, 3052, 44, 352, 0, 0, {30678, 30685, 30693, 30700, 30707, 30715, 30723}, {30730, 30733, 30736, 30739, 30742, 30745, 30748}, {2516, 2516, 2510, 2516, 12392, 4191, 12392}, {30751, 30759, 30769, 30775, 30783, 30788, 30793, 30798, 30805, 18937, 30813, 30821, 0}, {30751, 30759, 30769, 30775, 30783, 30788, 30793, 30798, 30805, 18937, 30813, 30821, 0}, {2883, 30829, 3971, 30833, 3940, 29745, 29749, 30837, 3911, 2916, 30841, 15509, 0}, {2883, 30829, 3971, 30833, 3940, 29745, 29749, 30837, 3911, 2916, 30841, 15509, 0}, 0, 0, 239, 241, {3032,1338,14,243,1888,1319,4010,0,0,0,0,0,0,0},{4020,4040,254,4054,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {254, 3032, 3041, 3052, 29782, 55, 30845, 30856, {30866, 30884, 30899, 30921, 30934, 30948, 30965}, {30989, 30997, 31002, 30921, 30934, 31014, 31021}, {0, 0, 0, 0, 0, 0, 0}, {31035, 31057, 31073, 31093, 31107, 31124, 31139, 31156, 31170, 31183, 31202, 31216, 0}, {31035, 31057, 31073, 31093, 31107, 31124, 31139, 31156, 31170, 31183, 31202, 31216, 0}, {31235, 31250, 31259, 31272, 31279, 31289, 31297, 31307, 31314, 31320, 31332, 31339, 0}, {31235, 31250, 31259, 31272, 31279, 31289, 31297, 31307, 31314, 31320, 31332, 31339, 0}, 0, 0, 239, 241, {3032,1338,14,243,1888,1319,4010,0,0,0,0,0,0,0},{4020,4040,254,4054,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {5566, 14, 23, 35, 2015, 3817, 0, 0, {31351, 31359, 15084, 15093, 15102, 31370, 31380}, {15549, 15134, 15138, 15142, 15146, 15403, 31389}, {0, 0, 0, 0, 0, 0, 0}, {31393, 31402, 31412, 31420, 10598, 3944, 31428, 31434, 31443, 31452, 31461, 31470, 0}, {31393, 31402, 31412, 31420, 10598, 3944, 31428, 31434, 31443, 31452, 31461, 31470, 0}, {2883, 2887, 15153, 31479, 10598, 2900, 2904, 18952, 17483, 2916, 31483, 15509, 0}, {2883, 2887, 15153, 31479, 10598, 2900, 2904, 18952, 17483, 2916, 31483, 15509, 0}, 0, 0, 239, 241, {1845,1888,1319,0,0,0,0,0,0,0,0,0,0,0},{5566,0,0,0,0,0,0,0},{35,3052,274,0,0,0,0,0,0,0,0,0},{23,3041,280,0,0,0,0,0,0}},
+       {31487, 2404, 280, 274, 2015, 31506, 31519, 31524, {31529, 31536, 31551, 31565, 31581, 31596, 31612}, {6304, 31627, 2610, 31631, 31635, 31639, 31643}, {2131, 12392, 2508, 2126, 2131, 2510, 12392}, {7251, 7259, 31647, 31654, 31661, 2549, 2554, 31666, 31676, 31687, 31696, 31706, 0}, {7251, 7259, 31647, 31654, 31661, 2549, 2554, 31666, 31676, 31687, 31696, 31706, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 2626, 2630, 2634, 2638, 2642, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 2626, 2630, 2634, 2638, 2642, 0}, 0, 0, 2646, 241, {2404,1345,1319,2648,0,0,0,0,0,0,0,0,0,0},{1991,2659,0,0,0,0,0,0},{274,331,0,0,0,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {4020, 3032, 2385, 2372, 44, 352, 31716, 31721, {31726, 31742, 31750, 31758, 31767, 31779, 31789}, {31799, 31805, 31811, 31815, 31819, 31827, 3911}, {0, 0, 0, 0, 0, 0, 0}, {31834, 31847, 31861, 31870, 31876, 31880, 31885, 31893, 15464, 31906, 15481, 15489, 0}, {31834, 31847, 31861, 31870, 31876, 31880, 31885, 31893, 15464, 31906, 15481, 15489, 0}, {31915, 2887, 31919, 15497, 31876, 31923, 2904, 31927, 2912, 31935, 2920, 15509, 0}, {31915, 2887, 31919, 15497, 31876, 31923, 2904, 31927, 2912, 31935, 2920, 15509, 0}, 0, 0, 239, 241, {3032,1338,14,243,1888,1319,4010,0,0,0,0,0,0,0},{4020,4040,254,4054,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {31941, 1475, 1968, 1951, 31965, 31982, 32009, 32016, {32023, 32033, 32043, 32053, 32063, 32073, 32083}, {32093, 32100, 32107, 32114, 32121, 32128, 32135}, {32142, 32146, 32150, 32154, 32158, 32162, 32166}, {32170, 32177, 32184, 32191, 32198, 32205, 32212, 32219, 32226, 32233, 32240, 32250, 0}, {32170, 32177, 32184, 32191, 32198, 32205, 32212, 32219, 32226, 32233, 32240, 32250, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 0, 239, 241, {1475,1827,1836,1856,1319,1845,0,0,0,0,0,0,0,0},{31941,32260,32290,0,0,0,0,0},{1951,331,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {4834, 243, 280, 274, 2015, 352, 0, 0, {26785, 28142, 32320, 32327, 32337, 32342, 32349}, {32356, 4167, 32360, 4918, 32365, 32370, 32375}, {4467, 32380, 32383, 32386, 32389, 32392, 32395}, {32398, 32405, 32320, 32416, 32422, 32426, 32435, 32442, 32447, 32456, 8292, 32461, 0}, {32398, 32405, 32320, 32416, 32422, 32426, 32435, 32442, 32447, 32456, 8292, 32461, 0}, {32467, 32471, 32478, 26916, 32422, 32483, 32488, 32442, 32493, 32456, 8292, 32498, 0}, {32467, 32471, 32478, 26916, 32422, 32483, 32488, 32442, 32493, 32456, 8292, 32498, 0}, 2, 1, 239, 241, {243,14,1354,1345,1319,0,0,0,0,0,0,0,0,0},{4834,5053,3777,0,0,0,0,0},{274,331,5062,5068,5078,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {32502, 243, 6517, 5068, 949, 352, 0, 0, {32524, 32532, 32539, 32547, 32557, 32565, 1025}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {32576, 32584, 1082, 1088, 4966, 32593, 32598, 1111, 1117, 32605, 1134, 32614, 0}, {32576, 32584, 1082, 1088, 4966, 32593, 32598, 1111, 1117, 32605, 1134, 32614, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 2, 1, 239, 241, {243,14,1354,1345,1319,0,0,0,0,0,0,0,0,0},{32623,0,0,0,0,0,0,0},{274,331,5062,5068,5078,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {32804, 2692, 323, 331, 32839, 32855, 32873, 32878, {32883, 32908, 32937, 32962, 32975, 32990, 33007}, {33022, 33027, 33032, 33037, 33042, 33047, 8601}, {33052, 33052, 33055, 8612, 8615, 33052, 8612}, {33058, 33077, 33092, 33114, 33134, 33150, 33166, 33180, 33206, 33230, 33247, 33264, 0}, {33058, 33077, 33092, 33114, 33134, 33150, 33166, 33180, 33206, 33230, 33247, 33264, 0}, {33281, 33290, 33299, 33313, 33327, 33339, 33351, 33361, 33377, 33391, 33398, 33405, 0}, {33281, 33290, 33299, 33313, 33327, 33339, 33351, 33361, 33377, 33391, 33398, 33405, 0}, 0, 1, 756, 241, {33412,33423,2948,3990,33432,0,0,0,0,0,0,0,0,0},{33443,33461,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {33480, 14193, 323, 331, 2015, 18811, 0, 0, {33500, 33512, 33523, 33535, 33547, 33557, 33569}, {33584, 33589, 33594, 33599, 33604, 33609, 33614}, {0, 0, 0, 0, 0, 0, 0}, {33619, 33628, 33640, 33648, 33653, 33663, 33670, 33679, 33686, 33692, 33701, 33712, 0}, {33619, 33628, 33640, 33648, 33653, 33663, 33670, 33679, 33686, 33692, 33701, 33712, 0}, {33720, 33725, 33730, 33735, 33740, 33745, 33750, 33604, 33755, 33760, 33765, 33770, 0}, {33720, 33725, 33730, 33735, 33740, 33745, 33750, 33604, 33755, 33760, 33765, 33770, 0}, 0, 0, 239, 241, {3808,3983,3990,3999,1888,1319,4010,0,0,0,0,0,0,0},{4020,4040,254,4054,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {5566, 243, 280, 274, 2015, 352, 6087, 6092, {33775, 33788, 33796, 33805, 33815, 33825, 33834}, {33846, 33850, 33854, 33858, 33862, 33866, 33870}, {2797, 2516, 2508, 7493, 12392, 5774, 2131}, {33874, 33888, 33899, 33908, 33919, 33931, 33945, 33957, 33970, 33983, 33995, 34008, 0}, {33874, 33888, 33899, 33908, 33919, 33931, 33945, 33957, 33970, 33983, 33995, 34008, 0}, {34022, 34027, 34033, 34039, 34044, 34050, 34056, 34061, 34067, 34072, 18215, 34078, 0}, {34022, 34027, 34033, 34039, 34044, 34050, 34056, 34061, 34067, 34072, 18215, 34078, 0}, 2, 0, 239, 241, {243,14,1338,2948,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,35,3052,0,0,0,0,0,0,0,0},{280,323,23,3041,0,0,0,0,0}},
+       {4054, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {243,14,1319,0,0,0,0,0,0,0,0,0,0,0},{4054,254,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
+       {1453, 1475, 323, 331, 1484, 1500, 1513, 1520, {1527, 1537, 1547, 1557, 1567, 1577, 1587}, {1597, 1604, 1611, 1618, 1625, 1632, 1639}, {1646, 1650, 1654, 1658, 1662, 1666, 1670}, {1674, 1681, 1688, 1695, 1702, 1709, 1716, 1723, 1730, 1737, 1744, 1754, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {1674, 1681, 1688, 1695, 1702, 1709, 1716, 1723, 1730, 1737, 1744, 1754, 0}, {1674, 1681, 1688, 1695, 1702, 1709, 1716, 1723, 1730, 1737, 1744, 1754, 0}, 0, 0, 239, 241, {1475,1827,1836,1319,1845,1856,1867,1874,1881,1888,0,0,0,0},{1453,1897,1924,0,0,0,0,0},{331,274,1951,1959,0,0,0,0,0,0,0,0},{323,280,1968,1979,0,0,0,0,0}},
+       {2673, 2692, 280, 274, 2015, 2025, 2703, 2709, {2716, 2724, 2731, 2740, 2749, 2760, 2768}, {2776, 2779, 2782, 2785, 2788, 2791, 2794}, {2131, 2508, 2797, 2508, 2797, 2514, 2131}, {2799, 2806, 2814, 2820, 2826, 2830, 2835, 2840, 2847, 2857, 2865, 2874, 0}, {2799, 2806, 2814, 2820, 2826, 2830, 2835, 2840, 2847, 2857, 2865, 2874, 0}, {2883, 2887, 2891, 2896, 2826, 2900, 2904, 2908, 2912, 2916, 2920, 2924, 0}, {2883, 2887, 2891, 2896, 2826, 2900, 2904, 2908, 2912, 2916, 2920, 2924, 0}, 2, 1, 756, 241, {2692,1354,2940,34265,2948,1319,0,0,0,0,0,0,0,0},{2673,1991,34275,0,0,0,0,0},{274,331,8154,8144,2967,8177,8182,8163,8169,0,0,0},{280,323,8214,8227,2992,2978,3007,0,0}},
+       {5566, 243, 280, 274, 2015, 352, 3824, 3827, {3830, 3837, 3844, 3852, 3862, 3871, 3878}, {3887, 3891, 3895, 3899, 3903, 3907, 3911}, {2131, 2508, 2510, 3915, 2510, 2514, 2131}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, 2, 0, 239, 241, {243,14,1338,2948,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,35,3052,0,0,0,0,0,0,0,0},{280,323,23,3041,0,0,0,0,0}},
+       {4068, 243, 23, 35, 949, 4096, 964, 969, {4108, 4116, 4122, 4129, 4140, 4147, 4155}, {4163, 4167, 2610, 4171, 4176, 4180, 4184}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, 0, 0, 239, 241, {243,3765,14,1330,1338,1345,1319,0,0,0,0,0,0,0},{4290,4319,4346,0,0,0,0,0},{35,3052,331,274,0,0,0,0,0,0,0,0},{23,3041,323,280,0,0,0,0,0}},
+       {4834, 1345, 280, 274, 2015, 352, 3824, 3827, {4851, 4860, 4866, 4872, 4881, 4887, 4896}, {4903, 4908, 4913, 4918, 4923, 4928, 4933}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4938, 4946, 4955, 4960, 4966, 4970, 4975, 4983, 4989, 4999, 1134, 5007, 0}, {4938, 4946, 4955, 4960, 4966, 4970, 4975, 4983, 4989, 4999, 1134, 5007, 0}, {5017, 5023, 4955, 5030, 4966, 4970, 5035, 4983, 5041, 1304, 1309, 5047, 0}, {5017, 5023, 4955, 5030, 4966, 4970, 5035, 4983, 5041, 1304, 1309, 5047, 0}, 2, 1, 2646, 241, {14193,1330,1354,1888,1345,243,1319,0,0,0,0,0,0,0},{4834,3777,4010,0,0,0,0,0},{274,331,5062,5068,5078,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {2673, 2692, 280, 274, 2015, 352, 6224, 6227, {6230, 6239, 6247, 6256, 6267, 6276, 6285}, {4163, 4167, 2610, 6292, 6296, 6300, 6304}, {2797, 2516, 2508, 2508, 6308, 4193, 2131}, {6310, 6318, 6327, 6333, 6340, 6347, 6354, 6361, 6368, 6378, 6386, 6395, 0}, {6404, 6412, 4209, 6421, 6428, 6435, 6442, 4232, 6449, 6459, 1134, 6467, 0}, {6476, 2606, 2610, 2614, 6480, 6484, 6488, 4278, 6492, 6496, 2638, 4286, 0}, {6476, 2606, 2610, 2614, 6480, 6484, 6488, 4278, 6492, 6496, 2638, 4286, 0}, 2, 1, 756, 241, {2692,1354,11704,1338,6500,1319,0,0,0,0,0,0,0,0},{2673,6508,3777,0,0,0,0,0},{274,331,8154,0,0,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {4834, 14193, 323, 331, 2015, 352, 964, 969, {7172, 7179, 7187, 7195, 7204, 7214, 7222}, {7231, 4470, 7234, 7237, 7240, 7243, 7246}, {7249, 2508, 2797, 3915, 2797, 4193, 7249}, {7251, 7259, 7268, 2539, 7274, 2549, 2554, 7278, 2566, 2576, 2584, 2593, 0}, {7251, 7259, 7268, 2539, 7274, 2549, 2554, 7278, 2566, 2576, 2584, 2593, 0}, {2602, 2606, 7287, 2614, 7274, 2618, 2622, 2626, 2630, 2634, 2638, 2642, 0}, {2602, 2606, 7287, 2614, 7274, 2618, 2622, 2626, 2630, 2634, 2638, 2642, 0}, 2, 1, 239, 241, {14193,1330,1345,1354,2928,1319,0,0,0,0,0,0,0,0},{4834,4010,3777,5609,0,0,0,0},{331,274,34285,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {1991, 2692, 280, 274, 2015, 2025, 2415, 2420, {2425, 9880, 34295, 2448, 2455, 2463, 34302}, {2478, 9908, 34310, 2491, 2495, 2499, 6083}, {2131, 2508, 2510, 2512, 2510, 2514, 2516}, {2518, 2525, 4955, 2539, 4966, 2549, 2554, 2559, 2566, 2576, 2584, 6155, 0}, {2518, 2525, 4955, 2539, 4966, 2549, 2554, 2559, 2566, 2576, 2584, 6155, 0}, {2602, 2606, 2610, 2614, 4966, 2618, 2622, 2626, 2630, 2634, 2638, 6185, 0}, {2602, 2606, 2610, 2614, 4966, 2618, 2622, 2626, 2630, 2634, 2638, 6185, 0}, 2, 1, 756, 241, {2692,1354,2948,1319,2928,0,0,0,0,0,0,0,0,0},{1991,2659,0,0,0,0,0,0},{274,331,7375,5062,0,0,0,0,0,0,0,0},{280,323,7386,6517,0,0,0,0,0}},
+       {4346, 243, 280, 274, 949, 4096, 964, 969, {28087, 34314, 34328, 34341, 34354, 34367, 28130}, {4163, 7792, 7796, 7800, 7804, 7808, 4184}, {2797, 2131, 2510, 7812, 7812, 2131, 2131}, {34379, 34387, 34397, 28181, 28187, 34404, 34410, 6361, 28204, 28213, 28221, 34416, 0}, {34379, 34387, 34397, 28181, 28187, 34404, 34410, 6361, 28204, 28213, 28221, 34416, 0}, {2883, 34248, 3971, 28243, 2826, 2900, 2904, 18952, 17483, 28256, 2920, 2924, 0}, {2883, 34248, 3971, 28243, 2826, 2900, 2904, 18952, 17483, 28256, 2920, 2924, 0}, 2, 1, 239, 241, {2404,14225,25463,2948,14,1319,0,0,0,0,0,0,0,0},{4068,4346,34425,34434,0,0,0,0},{274,34443,0,0,0,0,0,0,0,0,0,0},{280,0,0,0,0,0,0,0,0}},
+       {9835, 2356, 280, 274, 2015, 9853, 9866, 9869, {9872, 9880, 9888, 2448, 2455, 2463, 9895}, {9903, 9908, 9913, 2491, 2495, 2499, 9917}, {2131, 2508, 2510, 2512, 2510, 2514, 2516}, {7251, 7259, 4955, 2539, 2545, 2549, 2554, 9922, 2566, 2576, 2584, 2593, 0}, {7251, 7259, 4955, 2539, 2545, 2549, 2554, 9922, 2566, 2576, 2584, 2593, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 2626, 2630, 2634, 2638, 2642, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 2626, 2630, 2634, 2638, 2642, 0}, 2, 1, 756, 241, {2356,2692,2948,1319,0,0,0,0,0,0,0,0,0,0},{9835,9930,0,0,0,0,0,0},{274,331,9953,0,0,0,0,0,0,0,0,0},{280,323,9963,0,0,0,0,0,0}},
+       {3777, 2692, 280, 331, 2015, 352, 0, 0, {34454, 34465, 34489, 34519, 34536, 34558, 34567}, {14383, 14386, 14391, 14397, 14401, 7493, 14406}, {6646, 6634, 6636, 6638, 6640, 6642, 6644}, {34578, 34591, 566, 34604, 586, 34615, 34624, 607, 34633, 34650, 34665, 34678, 0}, {34578, 34591, 566, 34604, 586, 34615, 34624, 607, 34633, 34650, 34665, 34678, 0}, {14480, 7891, 2610, 2614, 14484, 14488, 14492, 14496, 14500, 2634, 14504, 14508, 0}, {14480, 7891, 2610, 2614, 14484, 14488, 14492, 14496, 14500, 2634, 14504, 14508, 0}, 0, 1, 756, 241, {2692,1354,2948,14,1319,0,0,0,0,0,0,0,0,0},{3777,5566,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {3777, 243, 280, 274, 2015, 352, 964, 969, {17932, 17946, 17956, 17967, 17981, 17992, 18003}, {18016, 18021, 18026, 18033, 18039, 18045, 18051}, {2797, 2516, 2508, 7493, 2797, 12392, 2131}, {18056, 18064, 18072, 18079, 18088, 18098, 18108, 18114, 18122, 18137, 18155, 18163, 0}, {18056, 18064, 18072, 18079, 18088, 18098, 18108, 18114, 18122, 18137, 18155, 18163, 0}, {18171, 18175, 18072, 18181, 18185, 18190, 18108, 18196, 18201, 18208, 18215, 18220, 0}, {18171, 18175, 18072, 18181, 18185, 18190, 18108, 18196, 18201, 18208, 18215, 18220, 0}, 2, 1, 239, 241, {243,14,1338,2948,1319,0,0,0,0,0,0,0,0,0},{3777,5566,9987,9976,0,0,0,0},{274,331,0,0,0,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {5566, 243, 323, 331, 2015, 55, 18225, 18228, {18232, 18237, 10515, 10522, 18243, 18250, 10539}, {18257, 18261, 10553, 10557, 18265, 10565, 10569}, {12392, 14666, 2131, 10573, 4488, 4191, 2131}, {10575, 10583, 18269, 2820, 10598, 2900, 18273, 18279, 2847, 2857, 2865, 18284, 0}, {10575, 10583, 18269, 2820, 10598, 2900, 18273, 18279, 2847, 2857, 2865, 18284, 0}, {2883, 2887, 18269, 2896, 10598, 2900, 2904, 18279, 2912, 2916, 2920, 15509, 0}, {2883, 2887, 18269, 2896, 10598, 2900, 2904, 18279, 2912, 2916, 2920, 15509, 0}, 0, 1, 239, 241, {243,14,1319,0,0,0,0,0,0,0,0,0,0,0},{5566,0,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {34691, 2692, 280, 274, 2015, 352, 0, 0, {18981, 18996, 19011, 19026, 19043, 19060, 19069}, {19080, 19087, 19094, 19101, 19108, 19115, 19122}, {19129, 19132, 8612, 8615, 8609, 19135, 19138}, {12859, 12870, 8646, 12883, 8668, 12894, 12901, 8693, 12908, 12923, 12936, 12947, 0}, {12859, 12870, 8646, 12883, 8668, 12894, 12901, 8693, 12908, 12923, 12936, 12947, 0}, {12960, 12967, 12974, 12981, 8668, 12894, 12901, 12988, 12995, 13002, 13009, 13016, 0}, {12960, 12967, 12974, 12981, 8668, 12894, 12901, 12988, 12995, 13002, 13009, 13016, 0}, 0, 1, 756, 241, {2692,1354,19141,2948,14,1319,0,0,0,0,0,0,0,0},{34691,3777,5566,0,0,0,0,0},{274,331,0,0,0,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {5566, 1345, 6517, 5062, 44, 55, 19152, 19180, {19202, 19221, 19240, 19265, 19284, 19318, 19343}, {19362, 19372, 19382, 19398, 19408, 19433, 19449}, {19459, 19463, 19470, 19474, 19481, 19488, 19495}, {19499, 19527, 19561, 19577, 19596, 19603, 19613, 19629, 19645, 19676, 19698, 19720, 0}, {19499, 19527, 19561, 19577, 19596, 19603, 19613, 19629, 19645, 19676, 19698, 19720, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, {6634, 6636, 6638, 6640, 6642, 6644, 6646, 6648, 6650, 6652, 6655, 6658, 0}, 0, 5, 2646, 241, {1345,2365,2948,2404,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{5062,2380,19745,19754,0,0,0,0,0,0,0,0},{6517,2396,19762,19774,0,0,0,0,0}},
+       {34712, 1475, 323, 331, 34750, 34766, 0, 0, {25145, 25152, 25163, 25176, 25189, 25200, 25213}, {25224, 25229, 25234, 25239, 25244, 25249, 25254}, {0, 0, 0, 0, 0, 0, 0}, {25259, 25274, 25283, 25290, 25303, 25310, 25321, 25330, 25339, 25346, 25357, 25368, 0}, {25259, 25274, 25283, 25290, 25303, 25310, 25321, 25330, 25339, 25346, 25357, 25368, 0}, {25379, 25386, 25393, 25400, 25407, 25414, 25421, 25428, 25435, 25442, 25449, 25456, 0}, {25379, 25386, 25393, 25400, 25407, 25414, 25421, 25428, 25435, 25442, 25449, 25456, 0}, 0, 0, 239, 241, {1475,1827,1836,1856,1319,1845,1867,1874,1881,1888,0,0,0,0},{34785,34861,0,0,0,0,0,0},{331,0,0,0,0,0,0,0,0,0,0,0},{323,0,0,0,0,0,0,0,0}},
+       {4054, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {243,14,1319,0,0,0,0,0,0,0,0,0,0,0},{4054,254,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
+       {1453, 3032, 323, 331, 1484, 1500, 1513, 1520, {1527, 1537, 1547, 1557, 1567, 1577, 1587}, {34084, 34091, 34098, 34105, 34112, 34119, 34126}, {1646, 1650, 1654, 1658, 1662, 1666, 1670}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, 0, 0, 239, 241, {3032,1338,14,1874,1888,1475,1845,1319,0,0,0,0,0,0},{1453,6718,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {34945, 2692, 280, 274, 2015, 2025, 2703, 2709, {2716, 2724, 2731, 2740, 2749, 2760, 2768}, {2776, 2779, 2782, 2785, 2788, 2791, 2794}, {2131, 2508, 2797, 2508, 2797, 2514, 2131}, {34965, 2806, 2814, 2820, 2826, 2830, 2835, 2840, 2847, 2857, 2865, 2874, 0}, {34965, 2806, 2814, 2820, 2826, 2830, 2835, 2840, 2847, 2857, 2865, 2874, 0}, {34973, 2887, 2891, 2896, 2826, 2900, 2904, 2908, 2912, 2916, 2920, 2924, 0}, {34973, 2887, 2891, 2896, 2826, 2900, 2904, 2908, 2912, 2916, 2920, 2924, 0}, 2, 1, 756, 241, {2692,1354,34978,1319,0,0,0,0,0,0,0,0,0,0},{34945,34988,35000,9976,0,0,0,0},{274,331,35010,35022,8177,8182,8169,0,0,0,0,0},{280,323,2992,2978,3007,0,0,0,0}},
+       {3014, 14193, 3041, 3052, 2015, 3817, 3824, 3827, {3830, 3837, 3844, 3852, 3862, 3871, 3878}, {3887, 3891, 3895, 3899, 3903, 3907, 3911}, {2131, 2508, 2510, 3915, 2510, 2514, 2131}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, 0, 0, 239, 241, {14193,1330,1338,3032,14,243,4010,5579,1319,1888,1845,0,0,0},{3014,3777,0,0,0,0,0,0},{3052,331,274,0,0,0,0,0,0,0,0,0},{3041,323,280,0,0,0,0,0,0}},
+       {4068, 243, 323, 331, 949, 4096, 964, 969, {4108, 4116, 4122, 4129, 4140, 4147, 4155}, {4163, 4167, 2610, 4171, 4176, 4180, 4184}, {2797, 2516, 2508, 4189, 4191, 4193, 2131}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, 2, 1, 239, 241, {243,14,1330,1338,1345,1354,1319,2928,0,0,0,0,0,0},{4290,4319,4346,0,0,0,0,0},{331,274,1421,0,0,0,0,0,0,0,0,0},{323,280,1433,0,0,0,0,0,0}},
+       {3777, 1319, 280, 274, 44, 352, 3824, 3827, {4851, 4860, 4866, 4872, 4881, 4887, 4896}, {4903, 4908, 4913, 4918, 4923, 4928, 4933}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4938, 4946, 4955, 4960, 4966, 4970, 4975, 4983, 4989, 4999, 1134, 5007, 0}, {4938, 4946, 4955, 4960, 4966, 4970, 4975, 4983, 4989, 4999, 1134, 5007, 0}, {5017, 5023, 4955, 5030, 4966, 4970, 5035, 4983, 5041, 1304, 1309, 5047, 0}, {5017, 5023, 4955, 5030, 4966, 4970, 5035, 4983, 5041, 1304, 1309, 5047, 0}, 0, 0, 2646, 241, {1319,5950,1345,6215,14,3765,0,0,0,0,0,0,0,0},{3777,9976,0,0,0,0,0,0},{274,331,5062,5068,5078,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {35033, 2356, 323, 331, 2015, 17548, 17561, 17566, {35059, 35067, 35075, 35083, 35095, 35104, 35116}, {17651, 17656, 17661, 17666, 17671, 17676, 17681}, {2131, 2508, 2797, 6308, 2797, 15561, 2516}, {17686, 17703, 17716, 17730, 17743, 17756, 17769, 17783, 17795, 17809, 17823, 17837, 0}, {17686, 17703, 17716, 17730, 17743, 17756, 17769, 17783, 17795, 17809, 17823, 17837, 0}, {35127, 35138, 35145, 35153, 35160, 35167, 35174, 35182, 35188, 35196, 35204, 35212, 0}, {35127, 35138, 35145, 35153, 35160, 35167, 35174, 35182, 35188, 35196, 35204, 35212, 0}, 2, 1, 756, 241, {2356,2692,2948,1319,0,0,0,0,0,0,0,0,0,0},{17914,0,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {4054, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {243,14,1319,0,0,0,0,0,0,0,0,0,0,0},{4054,254,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
+       {1453, 3032, 1968, 1951, 1484, 1500, 1513, 1520, {1527, 1537, 1547, 1557, 1567, 1577, 1587}, {1597, 1604, 1611, 1618, 1625, 1632, 1639}, {1646, 1650, 1654, 1658, 1662, 1666, 1670}, {1674, 1681, 1688, 1695, 1702, 1709, 1716, 1723, 1730, 1737, 1744, 1754, 0}, {1674, 1681, 1688, 1695, 1702, 1709, 1716, 1723, 1730, 1737, 1744, 1754, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, 0, 0, 239, 241, {3032,1338,14,1874,1888,1475,1845,1319,0,0,0,0,0,0},{1453,6718,0,0,0,0,0,0},{1951,1959,331,274,0,0,0,0,0,0,0,0},{1968,1979,323,280,0,0,0,0,0}},
+       {35219, 2692, 280, 274, 2015, 2025, 2703, 2709, {2716, 2724, 2731, 2740, 2749, 2760, 2768}, {2776, 2779, 2782, 2785, 2788, 2791, 2794}, {2131, 2508, 2797, 2508, 2797, 2514, 2131}, {2799, 2806, 2814, 2820, 2826, 2830, 2835, 2840, 2847, 2857, 2865, 2874, 0}, {2799, 2806, 2814, 2820, 2826, 2830, 2835, 2840, 2847, 2857, 2865, 2874, 0}, {2883, 2887, 2891, 2896, 2826, 2900, 2904, 2908, 2912, 2916, 2920, 2924, 0}, {2883, 2887, 2891, 2896, 2826, 2900, 2904, 2908, 2912, 2916, 2920, 2924, 0}, 2, 1, 756, 241, {2692,1354,2940,2948,2356,1319,0,0,0,0,0,0,0,0},{2673,1991,2955,0,0,0,0,0},{274,331,2380,2967,0,0,0,0,0,0,0,0},{280,2978,2992,3007,0,0,0,0,0}},
+       {35245, 1319, 3041, 3052, 44, 352, 3824, 3827, {3830, 3837, 3844, 3852, 3862, 3871, 3878}, {3887, 3891, 3895, 3899, 3903, 3907, 3911}, {2131, 2508, 2510, 3915, 2510, 2514, 2131}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, 0, 0, 2646, 241, {243,14,1338,1319,5950,35258,4010,14225,0,0,0,0,0,0},{35266,35245,6508,4020,0,0,0,0},{3052,35,274,331,0,0,0,0,0,0,0,0},{3041,23,280,323,0,0,0,0,0}},
+       {4290, 243, 3041, 3052, 949, 4096, 964, 969, {4108, 4116, 4122, 4129, 4140, 4147, 4155}, {4163, 4167, 2610, 4171, 4176, 4180, 4184}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, 0, 0, 239, 241, {243,14,14193,1338,1345,1319,0,0,0,0,0,0,0,0},{4290,4319,4346,0,0,0,0,0},{35,3052,331,274,0,0,0,0,0,0,0,0},{23,3041,323,280,0,0,0,0,0}},
+       {4834, 2692, 280, 274, 2015, 352, 3824, 3827, {4851, 4860, 4866, 4872, 4881, 4887, 4896}, {4903, 4908, 4913, 4918, 4923, 4928, 4933}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4938, 4946, 4955, 4960, 4966, 4970, 4975, 4983, 4989, 4999, 1134, 5007, 0}, {4938, 4946, 4955, 4960, 4966, 4970, 4975, 4983, 4989, 4999, 1134, 5007, 0}, {5017, 5023, 4955, 5030, 4966, 4970, 5035, 4983, 5041, 1304, 1309, 5047, 0}, {5017, 5023, 4955, 5030, 4966, 4970, 5035, 4983, 5041, 1304, 1309, 5047, 0}, 2, 1, 756, 241, {2692,1354,34265,2948,1319,0,0,0,0,0,0,0,0,0},{4834,3777,5053,0,0,0,0,0},{274,331,5062,5068,5078,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {4054, 2404, 323, 331, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 2646, 241, {2404,1345,1319,0,0,0,0,0,0,0,0,0,0,0},{4054,254,0,0,0,0,0,0},{331,274,35,0,0,0,0,0,0,0,0,0},{323,280,23,0,0,0,0,0,0}},
+       {1453, 3032, 323, 331, 1484, 1500, 1513, 1520, {1527, 1537, 1547, 1557, 1567, 1577, 1587}, {34084, 34091, 34098, 34105, 34112, 34119, 34126}, {1646, 1650, 1654, 1658, 1662, 1666, 1670}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, 0, 0, 239, 241, {3032,1338,14,1874,1888,1475,1845,1319,0,0,0,0,0,0},{1453,35277,35304,2648,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {2673, 2692, 280, 274, 2015, 2025, 2703, 2709, {2716, 2724, 2731, 2740, 2749, 2760, 2768}, {2776, 2779, 2782, 2785, 2788, 2791, 2794}, {2131, 2508, 2797, 2508, 2797, 2514, 2131}, {2799, 2806, 2814, 2820, 2826, 2830, 2835, 2840, 2847, 2857, 2865, 2874, 0}, {2799, 2806, 2814, 2820, 2826, 2830, 2835, 2840, 2847, 2857, 2865, 2874, 0}, {2883, 2887, 2891, 2896, 2826, 2900, 2904, 2908, 2912, 2916, 2920, 2924, 0}, {2883, 2887, 2891, 2896, 2826, 2900, 2904, 2908, 2912, 2916, 2920, 2924, 0}, 2, 1, 756, 241, {2692,1354,2940,34265,2948,1319,0,0,0,0,0,0,0,0},{2673,1991,34275,0,0,0,0,0},{274,331,8154,8144,2967,8177,8182,8163,8169,0,0,0},{280,323,8214,8227,2992,2978,3007,0,0}},
+       {3014, 14193, 3041, 3052, 2015, 352, 3824, 3827, {3830, 3837, 3844, 3852, 3862, 3871, 3878}, {3887, 3891, 3895, 3899, 3903, 3907, 3911}, {2131, 2508, 2510, 3915, 2510, 2514, 2131}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, 0, 0, 239, 241, {14193,1330,14,2940,1319,0,0,0,0,0,0,0,0,0},{3014,3777,0,0,0,0,0,0},{3052,35,274,331,0,0,0,0,0,0,0,0},{3041,23,280,323,0,0,0,0,0}},
+       {4319, 243, 23, 35, 949, 4096, 964, 969, {4108, 4116, 4122, 4129, 4140, 4147, 4155}, {4163, 4167, 2610, 4171, 4176, 4180, 4184}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, 0, 1, 239, 241, {243,14,1338,1345,1319,0,0,0,0,0,0,0,0,0},{4290,4319,4346,0,0,0,0,0},{35,3052,331,274,0,0,0,0,0,0,0,0},{23,3041,323,280,0,0,0,0,0}},
+       {35320, 243, 280, 274, 2015, 352, 3824, 3827, {4851, 4860, 4866, 4872, 4881, 4887, 4896}, {4903, 4908, 4913, 4918, 4923, 4928, 4933}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4938, 4946, 4955, 4960, 4966, 4970, 4975, 4983, 4989, 4999, 1134, 5007, 0}, {4938, 4946, 4955, 4960, 4966, 4970, 4975, 4983, 4989, 4999, 1134, 5007, 0}, {5017, 5023, 4955, 5030, 4966, 4970, 5035, 4983, 5041, 1304, 1309, 5047, 0}, {5017, 5023, 4955, 5030, 4966, 4970, 5035, 4983, 5041, 1304, 1309, 5047, 0}, 2, 1, 239, 241, {243,14,1354,1345,1319,0,0,0,0,0,0,0,0,0},{4834,5053,3777,0,0,0,0,0},{274,331,5062,5068,5078,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {4054, 2404, 323, 331, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 2646, 241, {2404,1345,1319,0,0,0,0,0,0,0,0,0,0,0},{4054,254,0,0,0,0,0,0},{331,274,35,0,0,0,0,0,0,0,0,0},{323,280,23,0,0,0,0,0,0}},
+       {5566, 243, 280, 274, 2015, 352, 964, 969, {3830, 3837, 3844, 3852, 3862, 3871, 3878}, {3887, 3891, 3895, 3899, 3903, 3907, 3911}, {2131, 2508, 2510, 3915, 2510, 2514, 2131}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, 2, 1, 239, 241, {243,14,1338,2948,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,0,0,0,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {4290, 1338, 3041, 3052, 949, 4096, 964, 969, {4108, 4116, 4122, 4129, 4140, 4147, 4155}, {4163, 4167, 2610, 4171, 4176, 4180, 4184}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, 0, 0, 239, 241, {3999,3990,1338,14,1345,1319,0,0,0,0,0,0,0,0},{4290,4319,4346,0,0,0,0,0},{35,3052,331,274,0,0,0,0,0,0,0,0},{23,3041,323,280,0,0,0,0,0}},
+       {4834, 243, 280, 274, 2015, 352, 3824, 3827, {4851, 4860, 4866, 4872, 4881, 4887, 4896}, {4903, 4908, 4913, 4918, 4923, 4928, 4933}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4938, 4946, 4955, 4960, 4966, 4970, 4975, 4983, 4989, 4999, 1134, 5007, 0}, {4938, 4946, 4955, 4960, 4966, 4970, 4975, 4983, 4989, 4999, 1134, 5007, 0}, {5017, 5023, 4955, 5030, 4966, 4970, 5035, 4983, 5041, 1304, 1309, 5047, 0}, {5017, 5023, 4955, 5030, 4966, 4970, 5035, 4983, 5041, 1304, 1309, 5047, 0}, 2, 1, 239, 241, {243,14,1354,1345,1319,0,0,0,0,0,0,0,0,0},{4834,5053,3777,0,0,0,0,0},{274,331,5062,5068,5078,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {8988, 9002, 323, 331, 35343, 2025, 35354, 35364, {11627, 35372, 9033, 11652, 9048, 9058, 9064}, {9071, 9075, 9079, 11673, 9087, 9092, 9096}, {9100, 9102, 9104, 1067, 9106, 9102, 1067}, {2518, 2525, 35383, 2539, 2545, 2618, 2622, 11693, 35388, 35398, 35406, 35415, 0}, {2518, 2525, 35383, 2539, 2545, 2618, 2622, 11693, 35388, 35398, 35406, 35415, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 11700, 2630, 2634, 2638, 2642, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 11700, 2630, 2634, 2638, 2642, 0}, 0, 1, 756, 241, {2356,2948,2004,2692,9602,1354,11704,1319,0,0,0,0,0,0},{1991,2659,2673,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {4054, 2404, 323, 331, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 0, 2646, 241, {2404,1345,1319,0,0,0,0,0,0,0,0,0,0,0},{4054,254,0,0,0,0,0,0},{331,274,35,0,0,0,0,0,0,0,0,0},{323,280,23,0,0,0,0,0,0}},
+       {5566, 1319, 23, 35, 2015, 3817, 3824, 3827, {3830, 3837, 3844, 3852, 3862, 3871, 3878}, {3887, 3891, 3895, 3899, 3903, 3907, 3911}, {2131, 2508, 2510, 3915, 2510, 2514, 2131}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, 0, 0, 2646, 241, {1845,1888,1319,0,0,0,0,0,0,0,0,0,0,0},{5566,0,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
+       {4290, 1338, 3041, 3052, 949, 4096, 964, 969, {4108, 4116, 4122, 4129, 4140, 4147, 4155}, {4163, 4167, 2610, 4171, 4176, 4180, 4184}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, 0, 0, 239, 241, {243,14,3999,1338,1345,1319,0,0,0,0,0,0,0,0},{4290,4319,4346,0,0,0,0,0},{35,3052,331,274,0,0,0,0,0,0,0,0},{23,3041,323,280,0,0,0,0,0}},
+       {1991, 9002, 323, 331, 44, 2025, 35424, 35442, {35457, 35470, 35489, 35502, 35517, 35534, 11326}, {35545, 35552, 35559, 35566, 35573, 35580, 35587}, {521, 524, 35594, 530, 533, 524, 530}, {35597, 35610, 566, 575, 14989, 14996, 15005, 607, 35625, 35644, 35659, 35676, 0}, {35597, 35610, 566, 575, 14989, 14996, 15005, 607, 35625, 35644, 35659, 35676, 0}, {35693, 35700, 35707, 35714, 14989, 35721, 35728, 35735, 35742, 35749, 35756, 35763, 0}, {35693, 35700, 35707, 35714, 14989, 35721, 35728, 35735, 35742, 35749, 35756, 35763, 0}, 0, 1, 756, 241, {2356,2948,2004,2692,9602,1354,11704,1319,0,0,0,0,0,0},{1991,2659,2673,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {4054, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {243,14,1319,0,0,0,0,0,0,0,0,0,0,0},{4054,254,0,0,0,0,0,0},{35,274,331,0,0,0,0,0,0,0,0,0},{23,280,323,0,0,0,0,0,0}},
+       {4054, 243, 280, 274, 44, 352, 3824, 3827, {3830, 3837, 3844, 3852, 3862, 3871, 3878}, {3887, 3891, 3895, 3899, 3903, 3907, 3911}, {2131, 2508, 2510, 3915, 2510, 2514, 2131}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, 0, 0, 239, 241, {243,1319,0,0,0,0,0,0,0,0,0,0,0,0},{4020,4040,254,4054,0,0,0,0},{35,3052,331,274,0,0,0,0,0,0,0,0},{23,3041,323,280,0,0,0,0,0}},
+       {4290, 2404, 23, 35, 949, 4096, 964, 969, {4108, 4116, 4122, 4129, 4140, 4147, 4155}, {4163, 4167, 2610, 4171, 4176, 4180, 4184}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, 0, 0, 2646, 241, {243,14,1338,1345,1319,0,0,0,0,0,0,0,0,0},{4290,4319,4346,0,0,0,0,0},{35,3052,331,274,0,0,0,0,0,0,0,0},{23,3041,323,280,0,0,0,0,0}},
+       {4054, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {243,14,1319,0,0,0,0,0,0,0,0,0,0,0},{4054,254,0,0,0,0,0,0},{35,274,331,0,0,0,0,0,0,0,0,0},{23,280,323,0,0,0,0,0,0}},
+       {4290, 243, 3041, 3052, 949, 4096, 964, 969, {4108, 4116, 4122, 4129, 4140, 4147, 4155}, {4163, 4167, 2610, 4171, 4176, 4180, 4184}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, 0, 0, 239, 241, {243,14,14193,1338,1345,1319,0,0,0,0,0,0,0,0},{4290,4319,4346,0,0,0,0,0},{35,3052,331,274,0,0,0,0,0,0,0,0},{23,3041,323,280,0,0,0,0,0}},
+       {8988, 9002, 323, 331, 35343, 2025, 35354, 35364, {11627, 35372, 9033, 11652, 9048, 9058, 9064}, {9071, 9075, 9079, 11673, 9087, 9092, 9096}, {9100, 9102, 9104, 1067, 9106, 9102, 1067}, {2518, 2525, 35383, 2539, 2545, 2618, 2622, 11693, 35388, 35398, 35406, 35415, 0}, {2518, 2525, 35383, 2539, 2545, 2618, 2622, 11693, 35388, 35398, 35406, 35415, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 11700, 2630, 2634, 2638, 2642, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 11700, 2630, 2634, 2638, 2642, 0}, 0, 1, 756, 241, {2356,2948,2004,2692,9602,1354,11704,1319,0,0,0,0,0,0},{1991,2659,2673,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {4054, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {35770, 35794, 35803, 35812, 35823, 35832, 35845, 35854, 35859, 35870, 35892, 35916, 0}, {35770, 35794, 35803, 35812, 35823, 35832, 35845, 35854, 35859, 35870, 35892, 35916, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {243,14,1319,0,0,0,0,0,0,0,0,0,0,0},{4054,254,0,0,0,0,0,0},{35,274,331,0,0,0,0,0,0,0,0,0},{23,280,323,0,0,0,0,0,0}},
+       {13023, 243, 23, 35, 2015, 352, 3824, 3827, {3830, 3837, 3844, 3852, 3862, 3871, 3878}, {3887, 3891, 3895, 3899, 3903, 3907, 3911}, {2131, 2508, 2510, 3915, 2510, 2514, 2131}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, 0, 0, 239, 241, {243,1319,0,0,0,0,0,0,0,0,0,0,0,0},{13023,0,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
+       {4290, 243, 23, 35, 949, 4096, 964, 969, {4108, 4116, 4122, 4129, 4140, 4147, 4155}, {4163, 4167, 2610, 4171, 4176, 4180, 4184}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, 0, 0, 239, 241, {243,14,1338,1345,1319,0,0,0,0,0,0,0,0,0},{4290,4319,4346,0,0,0,0,0},{35,3052,331,274,0,0,0,0,0,0,0,0},{23,3041,323,280,0,0,0,0,0}},
+       {8988, 9002, 323, 331, 35343, 2025, 35424, 35442, {35457, 35470, 35489, 8515, 35517, 35534, 11326}, {35545, 35552, 35559, 35938, 35573, 35580, 35587}, {521, 524, 35594, 530, 533, 524, 530}, {35597, 35610, 566, 575, 14989, 35721, 35728, 607, 35625, 35644, 35659, 35676, 0}, {35597, 35610, 566, 575, 14989, 35721, 35728, 607, 35625, 35644, 35659, 35676, 0}, {35693, 35700, 35707, 35714, 14989, 35721, 35728, 35735, 35742, 35749, 35756, 35763, 0}, {35693, 35700, 35707, 35714, 14989, 35721, 35728, 35735, 35742, 35749, 35756, 35763, 0}, 0, 1, 756, 241, {2356,2948,2004,2692,9602,1354,11704,1319,0,0,0,0,0,0},{1991,2659,2673,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {4054, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {35770, 35794, 35803, 35812, 35823, 35832, 35845, 35854, 35859, 35870, 35892, 35916, 0}, {35770, 35794, 35803, 35812, 35823, 35832, 35845, 35854, 35859, 35870, 35892, 35916, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {243,14,1319,0,0,0,0,0,0,0,0,0,0,0},{4054,254,0,0,0,0,0,0},{35,274,331,0,0,0,0,0,0,0,0,0},{23,280,323,0,0,0,0,0,0}},
+       {13023, 243, 23, 35, 2015, 352, 3824, 3827, {3830, 3837, 3844, 3852, 3862, 3871, 3878}, {3887, 3891, 3895, 3899, 3903, 3907, 3911}, {2131, 2508, 2510, 3915, 2510, 2514, 2131}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, 0, 0, 239, 241, {243,1319,0,0,0,0,0,0,0,0,0,0,0,0},{13023,0,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
+       {4290, 243, 23, 35, 949, 35945, 964, 969, {4108, 4116, 4122, 4129, 4140, 4147, 4155}, {4163, 4167, 2610, 4171, 4176, 4180, 4184}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, 0, 0, 239, 241, {243,14,1338,1345,1319,0,0,0,0,0,0,0,0,0},{4290,4319,4346,0,0,0,0,0},{35,3052,274,331,0,0,0,0,0,0,0,0},{23,3041,280,323,0,0,0,0,0}},
+       {8988, 9002, 323, 331, 35343, 2025, 35354, 35364, {11627, 35372, 9033, 11652, 9048, 9058, 9064}, {9071, 9075, 9079, 11673, 9087, 9092, 9096}, {9100, 9102, 9104, 1067, 9106, 9102, 1067}, {2518, 2525, 35383, 2539, 2545, 2618, 2622, 11693, 35388, 35398, 35406, 35415, 0}, {2518, 2525, 35383, 2539, 2545, 2618, 2622, 11693, 35388, 35398, 35406, 35415, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 11700, 2630, 2634, 2638, 2642, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 11700, 2630, 2634, 2638, 2642, 0}, 0, 1, 756, 241, {2356,2948,2004,2692,9602,1354,11704,1319,0,0,0,0,0,0},{1991,2659,2673,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {4054, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {35770, 35794, 35803, 35812, 35823, 35832, 35845, 35854, 35859, 35870, 35892, 35916, 0}, {35770, 35794, 35803, 35812, 35823, 35832, 35845, 35854, 35859, 35870, 35892, 35916, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 1, 239, 241, {243,14,1319,0,0,0,0,0,0,0,0,0,0,0},{4054,254,0,0,0,0,0,0},{35,274,331,0,0,0,0,0,0,0,0,0},{23,280,323,0,0,0,0,0,0}},
+       {3014, 243, 3041, 3052, 35958, 352, 3824, 3827, {3830, 3837, 3844, 3852, 3862, 3871, 3878}, {3887, 3891, 3895, 3899, 3903, 3907, 3911}, {2131, 2508, 2510, 3915, 2510, 2514, 2131}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, 0, 0, 239, 241, {3808,3983,3990,3999,1319,1888,4010,0,0,0,0,0,0,0},{4020,4040,254,4054,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {4290, 243, 323, 331, 949, 4096, 964, 969, {4108, 4116, 4122, 4129, 4140, 4147, 4155}, {4163, 4167, 2610, 4171, 4176, 4180, 4184}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, 0, 1, 239, 241, {243,14,1338,1345,1319,0,0,0,0,0,0,0,0,0},{4290,4319,4346,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {8988, 9002, 323, 331, 35343, 2025, 35424, 35442, {35457, 35470, 35489, 8515, 35517, 35534, 11326}, {35545, 35552, 35559, 35938, 35573, 35580, 35587}, {521, 524, 35594, 530, 533, 524, 530}, {35597, 35610, 566, 575, 14989, 35721, 35728, 607, 35625, 35644, 35659, 35676, 0}, {35597, 35610, 566, 575, 14989, 35721, 35728, 607, 35625, 35644, 35659, 35676, 0}, {35693, 35700, 35707, 35714, 14989, 35721, 35728, 35735, 35742, 35749, 35756, 35763, 0}, {35693, 35700, 35707, 35714, 14989, 35721, 35728, 35735, 35742, 35749, 35756, 35763, 0}, 0, 1, 756, 241, {2356,2948,2004,2692,9602,1354,11704,1319,0,0,0,0,0,0},{1991,2659,2673,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {4054, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {243,14,1319,0,0,0,0,0,0,0,0,0,0,0},{4054,254,0,0,0,0,0,0},{35,274,331,0,0,0,0,0,0,0,0,0},{23,280,323,0,0,0,0,0,0}},
+       {4020, 3808, 3041, 3052, 44, 3817, 3824, 3827, {3830, 3837, 3844, 3852, 3862, 3871, 3878}, {3887, 3891, 3895, 3899, 3903, 3907, 3911}, {2131, 2508, 2510, 3915, 2510, 2514, 2131}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, 0, 0, 239, 241, {3808,3983,3990,3999,1319,1888,4010,0,0,0,0,0,0,0},{4020,4040,254,4054,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {4290, 2404, 323, 331, 949, 35968, 964, 969, {4108, 4116, 4122, 4129, 4140, 4147, 4155}, {4163, 4167, 2610, 4171, 4176, 4180, 4184}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, 0, 1, 2646, 241, {2404,1345,14,1338,1319,0,0,0,0,0,0,0,0,0},{4290,4319,4346,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {4054, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {243,14,1319,0,0,0,0,0,0,0,0,0,0,0},{4054,254,0,0,0,0,0,0},{35,274,331,0,0,0,0,0,0,0,0,0},{23,280,323,0,0,0,0,0,0}},
+       {4290, 243, 323, 331, 949, 4096, 964, 969, {4108, 4116, 4122, 4129, 4140, 4147, 4155}, {4163, 4167, 2610, 4171, 4176, 4180, 4184}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, 0, 1, 239, 241, {243,14,1338,1345,1319,0,0,0,0,0,0,0,0,0},{4290,4319,4346,0,0,0,0,0},{35,3052,331,274,0,0,0,0,0,0,0,0},{23,3041,323,280,0,0,0,0,0}},
+       {4054, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {243,14,1319,0,0,0,0,0,0,0,0,0,0,0},{4054,254,0,0,0,0,0,0},{35,274,331,0,0,0,0,0,0,0,0,0},{23,280,323,0,0,0,0,0,0}},
+       {4290, 243, 23, 35, 949, 4096, 964, 969, {4108, 4116, 4122, 4129, 4140, 4147, 4155}, {4163, 4167, 2610, 4171, 4176, 4180, 4184}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, 0, 0, 239, 241, {243,14,1338,1345,1319,0,0,0,0,0,0,0,0,0},{4290,4319,4346,0,0,0,0,0},{35,3052,331,274,0,0,0,0,0,0,0,0},{23,3041,323,280,0,0,0,0,0}},
+       {4054, 243, 23, 35, 44, 55, 0, 0, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, {63, 72, 79, 99, 119, 143, 167, 174, 185, 196, 205, 223, 0}, 0, 6, 239, 241, {243,14,1319,0,0,0,0,0,0,0,0,0,0,0},{4054,254,0,0,0,0,0,0},{35,274,331,0,0,0,0,0,0,0,0,0},{23,280,323,0,0,0,0,0,0}},
+       {5566, 2404, 280, 274, 44, 352, 3824, 3827, {3830, 3837, 3844, 3852, 3862, 3871, 3878}, {3887, 3891, 3895, 3899, 3903, 3907, 3911}, {2131, 2508, 2510, 3915, 2510, 2514, 2131}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, 0, 0, 2646, 241, {2404,1345,2365,2948,1319,0,0,0,0,0,0,0,0,0},{5566,3777,0,0,0,0,0,0},{274,331,1959,0,0,0,0,0,0,0,0,0},{280,323,1979,1968,0,0,0,0,0}},
+       {4290, 243, 23, 35, 949, 35968, 964, 969, {4108, 4116, 4122, 4129, 4140, 4147, 4155}, {4163, 4167, 2610, 4171, 4176, 4180, 4184}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, 0, 0, 239, 241, {243,14,1338,1345,1319,0,0,0,0,0,0,0,0,0},{4290,4319,4346,0,0,0,0,0},{35,3052,331,274,0,0,0,0,0,0,0,0},{23,3041,323,280,0,0,0,0,0}},
+       {4290, 243, 23, 35, 949, 4096, 964, 969, {4108, 4116, 4122, 4129, 4140, 4147, 4155}, {4163, 4167, 2610, 4171, 4176, 4180, 4184}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, 0, 0, 239, 241, {243,14,33432,1319,0,0,0,0,0,0,0,0,0,0},{4290,0,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
+       {3014, 3032, 3041, 3052, 2015, 352, 3824, 3827, {3830, 3837, 3844, 3852, 3862, 3871, 3878}, {3887, 3891, 3895, 3899, 3903, 3907, 3911}, {2131, 2508, 2510, 3915, 2510, 2514, 2131}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {3917, 3925, 3934, 2820, 3940, 3944, 3949, 2840, 2847, 3954, 2865, 3962, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, {2883, 2887, 3971, 2896, 3940, 2900, 2904, 2908, 2912, 3975, 2920, 3979, 0}, 0, 0, 239, 241, {3032,1338,243,14,1319,0,0,0,0,0,0,0,0,0},{35979,13738,0,0,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {4068, 243, 23, 35, 949, 4096, 964, 969, {4108, 4116, 4122, 4129, 4140, 4147, 4155}, {4163, 4167, 2610, 4171, 4176, 4180, 4184}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, 0, 0, 239, 241, {243,14,33432,1319,0,0,0,0,0,0,0,0,0,0},{4290,0,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
+       {4068, 243, 23, 35, 35998, 4096, 964, 969, {4108, 4116, 4122, 4129, 4140, 4147, 4155}, {4163, 4167, 2610, 4171, 4176, 4180, 4184}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, 0, 0, 239, 241, {243,14,33432,1319,0,0,0,0,0,0,0,0,0,0},{4290,0,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
+       {4290, 243, 23, 35, 949, 4096, 964, 969, {4108, 4116, 4122, 4129, 4140, 4147, 4155}, {4163, 4167, 2610, 4171, 4176, 4180, 4184}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, 0, 0, 239, 241, {243,14,33432,1319,0,0,0,0,0,0,0,0,0,0},{4290,0,0,0,0,0,0,0},{35,274,0,0,0,0,0,0,0,0,0,0},{23,280,0,0,0,0,0,0,0}},
+       {4020, 3808, 3041, 3052, 949, 3817, 964, 969, {4108, 4116, 4122, 4129, 4140, 4147, 4155}, {4163, 4167, 2610, 4171, 4176, 4180, 4184}, {2797, 2516, 2508, 2508, 4191, 4193, 2131}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4195, 4201, 4209, 1088, 4215, 4220, 4226, 4232, 4239, 1126, 4250, 4260, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, {4270, 2606, 2610, 4274, 4215, 2618, 2622, 4278, 2630, 4282, 2638, 4286, 0}, 0, 0, 239, 241, {3808,3983,3990,3999,1888,1319,4010,0,0,0,0,0,0,0},{4020,4040,254,4054,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}},
+       {8988, 9002, 323, 331, 35343, 2025, 35424, 35442, {35457, 35470, 35489, 8515, 35517, 35534, 11326}, {35545, 35552, 35559, 35938, 35573, 35580, 35587}, {521, 524, 35594, 530, 533, 524, 530}, {35597, 35610, 566, 575, 14989, 35721, 35728, 607, 35625, 35644, 35659, 35676, 0}, {35597, 35610, 566, 575, 14989, 35721, 35728, 607, 35625, 35644, 35659, 35676, 0}, {35693, 35700, 35707, 35714, 14989, 35721, 35728, 35735, 35742, 35749, 35756, 35763, 0}, {35693, 35700, 35707, 35714, 14989, 35721, 35728, 35735, 35742, 35749, 35756, 35763, 0}, 0, 1, 756, 241, {2356,2948,2004,2692,9602,1354,11704,1319,0,0,0,0,0,0},{1991,2659,2673,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {8988, 9002, 323, 331, 35343, 2025, 35354, 35364, {11627, 35372, 9033, 11652, 9048, 9058, 9064}, {9071, 9075, 9079, 11673, 9087, 9092, 9096}, {9100, 9102, 9104, 1067, 9106, 9102, 1067}, {2518, 2525, 35383, 2539, 2545, 2618, 2622, 11693, 35388, 35398, 35406, 35415, 0}, {2518, 2525, 35383, 2539, 2545, 2618, 2622, 11693, 35388, 35398, 35406, 35415, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 11700, 2630, 2634, 2638, 2642, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 11700, 2630, 2634, 2638, 2642, 0}, 0, 1, 756, 241, {2356,2948,2004,2692,9602,1354,11704,1319,0,0,0,0,0,0},{1991,2659,2673,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {3777, 2692, 280, 331, 2015, 352, 0, 0, {34454, 34465, 34489, 34519, 34536, 34558, 34567}, {14383, 14386, 14391, 14397, 14401, 7493, 14406}, {6646, 6634, 6636, 6638, 6640, 6642, 6644}, {34578, 34591, 566, 34604, 586, 34615, 34624, 607, 34633, 34650, 34665, 34678, 0}, {34578, 34591, 566, 34604, 586, 34615, 34624, 607, 34633, 34650, 34665, 34678, 0}, {14480, 7891, 2610, 2614, 14484, 14488, 14492, 14496, 14500, 2634, 14504, 14508, 0}, {14480, 7891, 2610, 2614, 14484, 14488, 14492, 14496, 14500, 2634, 14504, 14508, 0}, 0, 1, 756, 241, {2692,1354,2948,14,1319,0,0,0,0,0,0,0,0,0},{3777,5566,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {1453, 1475, 323, 331, 1484, 1500, 1513, 1520, {1527, 1537, 1547, 1557, 1567, 1577, 1587}, {1597, 1604, 1611, 1618, 1625, 1632, 1639}, {1646, 1650, 1654, 1658, 1662, 1666, 1670}, {1674, 1681, 1688, 1695, 1702, 1709, 1716, 1723, 1730, 1737, 1744, 1754, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {1674, 1681, 1688, 1695, 1702, 1709, 1716, 1723, 1730, 1737, 1744, 1754, 0}, {1674, 1681, 1688, 1695, 1702, 1709, 1716, 1723, 1730, 1737, 1744, 1754, 0}, 0, 0, 239, 241, {1475,1827,1836,1319,1845,1856,1867,1874,1881,1888,0,0,0,0},{1453,1897,1924,0,0,0,0,0},{331,274,1951,1959,0,0,0,0,0,0,0,0},{323,280,1968,1979,0,0,0,0,0}},
+       {1991, 2692, 280, 274, 2015, 2025, 2415, 2420, {2425, 9880, 34295, 2448, 2455, 2463, 34302}, {2478, 9908, 34310, 2491, 2495, 2499, 6083}, {2131, 2508, 2510, 2512, 2510, 2514, 2516}, {2518, 2525, 4955, 2539, 4966, 2549, 2554, 2559, 2566, 2576, 2584, 6155, 0}, {2518, 2525, 4955, 2539, 4966, 2549, 2554, 2559, 2566, 2576, 2584, 6155, 0}, {2602, 2606, 2610, 2614, 4966, 2618, 2622, 2626, 2630, 2634, 2638, 6185, 0}, {2602, 2606, 2610, 2614, 4966, 2618, 2622, 2626, 2630, 2634, 2638, 6185, 0}, 2, 1, 756, 241, {2692,1354,2948,1319,2928,0,0,0,0,0,0,0,0,0},{1991,2659,0,0,0,0,0,0},{274,331,7375,5062,0,0,0,0,0,0,0,0},{280,323,7386,6517,0,0,0,0,0}},
+       {1991, 2356, 323, 331, 2015, 11725, 35354, 35364, {9012, 9021, 9033, 9040, 9048, 9058, 9064}, {9071, 9075, 9079, 9083, 9087, 9092, 9096}, {0, 0, 0, 0, 0, 0, 0}, {2518, 2525, 35383, 2539, 2545, 2549, 2554, 11693, 35388, 35398, 35406, 35415, 0}, {2518, 2525, 35383, 2539, 2545, 2549, 2554, 11693, 35388, 35398, 35406, 35415, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 11700, 2630, 2634, 2638, 2642, 0}, {2602, 2606, 2610, 2614, 2545, 2618, 2622, 11700, 2630, 2634, 2638, 2642, 0}, 0, 0, 756, 241, {2356,2948,2004,2692,9602,1354,11704,1319,0,0,0,0,0,0},{1991,2659,2673,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {14272, 2692, 280, 274, 2015, 352, 0, 0, {14294, 14300, 14314, 14337, 14351, 14367, 14374}, {14383, 14386, 14391, 14397, 14401, 7493, 14406}, {6646, 6634, 6636, 6638, 6640, 6642, 6644}, {14410, 14417, 10176, 14424, 3940, 14430, 14436, 14442, 14449, 14458, 14466, 14473, 0}, {14410, 14417, 10176, 14424, 3940, 14430, 14436, 14442, 14449, 14458, 14466, 14473, 0}, {14480, 7891, 2610, 2614, 14484, 14488, 14492, 14496, 14500, 2634, 14504, 14508, 0}, {14480, 7891, 2610, 2614, 14484, 14488, 14492, 14496, 14500, 2634, 14504, 14508, 0}, 0, 1, 756, 241, {2692,1354,2948,14,1319,0,0,0,0,0,0,0,0,0},{3777,5566,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {34691, 2692, 280, 274, 2015, 352, 0, 0, {18981, 18996, 19011, 19026, 19043, 19060, 19069}, {19080, 19087, 19094, 19101, 19108, 19115, 19122}, {19129, 19132, 8612, 8615, 8609, 19135, 19138}, {12859, 12870, 8646, 12883, 8668, 12894, 12901, 8693, 12908, 12923, 12936, 12947, 0}, {12859, 12870, 8646, 12883, 8668, 12894, 12901, 8693, 12908, 12923, 12936, 12947, 0}, {12960, 12967, 12974, 12981, 8668, 12894, 12901, 12988, 12995, 13002, 13009, 13016, 0}, {12960, 12967, 12974, 12981, 8668, 12894, 12901, 12988, 12995, 13002, 13009, 13016, 0}, 0, 1, 756, 241, {2692,1354,19141,2948,14,1319,0,0,0,0,0,0,0,0},{34691,3777,5566,0,0,0,0,0},{274,331,0,0,0,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {25072, 1319, 280, 274, 25126, 5699, 0, 0, {25145, 25152, 25163, 25176, 25189, 25200, 25213}, {25224, 25229, 25234, 25239, 25244, 25249, 25254}, {0, 0, 0, 0, 0, 0, 0}, {25259, 25274, 25283, 25290, 25303, 25310, 25321, 25330, 25339, 25346, 25357, 25368, 0}, {25259, 25274, 25283, 25290, 25303, 25310, 25321, 25330, 25339, 25346, 25357, 25368, 0}, {25379, 25386, 25393, 25400, 25407, 25414, 25421, 25428, 25435, 25442, 25449, 25456, 0}, {25379, 25386, 25393, 25400, 25407, 25414, 25421, 25428, 25435, 25442, 25449, 25456, 0}, 0, 0, 2646, 241, {25463,1319,0,0,0,0,0,0,0,0,0,0,0,0},{25472,0,0,0,0,0,0,0},{331,0,0,0,0,0,0,0,0,0,0,0},{323,0,0,0,0,0,0,0,0}},
+       {1453, 3032, 323, 331, 1484, 1500, 1513, 1520, {1527, 1537, 1547, 1557, 1567, 1577, 1587}, {34084, 34091, 34098, 34105, 34112, 34119, 34126}, {1646, 1650, 1654, 1658, 1662, 1666, 1670}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, 0, 0, 239, 241, {3032,1338,14,1874,1888,1475,1845,1319,0,0,0,0,0,0},{1453,6718,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {1453, 3032, 323, 331, 1484, 1500, 1513, 1520, {1527, 1537, 1547, 1557, 1567, 1577, 1587}, {34084, 34091, 34098, 34105, 34112, 34119, 34126}, {1646, 1650, 1654, 1658, 1662, 1666, 1670}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, {1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1804, 1809, 1815, 1821, 0}, 0, 0, 239, 241, {3032,1338,14,1874,1888,1475,1845,1319,0,0,0,0,0,0},{1453,6718,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {1991, 2692, 280, 274, 2015, 2025, 964, 969, {2425, 2433, 2440, 2448, 2455, 2463, 2470}, {7345, 7350, 7354, 7358, 7362, 7366, 7370}, {2131, 2508, 2510, 2512, 2510, 2514, 2516}, {2518, 2525, 4955, 2539, 4966, 2549, 2554, 2559, 2566, 2576, 2584, 6155, 0}, {2518, 2525, 4955, 2539, 4966, 2549, 2554, 2559, 2566, 2576, 2584, 6155, 0}, {2602, 2606, 2610, 2614, 4966, 2618, 2622, 2626, 2630, 2634, 2638, 6185, 0}, {2602, 2606, 2610, 2614, 4966, 2618, 2622, 2626, 2630, 2634, 2638, 6185, 0}, 2, 1, 756, 241, {2692,1354,2948,1319,2928,0,0,0,0,0,0,0,0,0},{1991,2659,0,0,0,0,0,0},{274,331,7375,5062,0,0,0,0,0,0,0,0},{280,323,7386,6517,0,0,0,0,0}},
+       {8988, 9002, 323, 331, 35343, 2025, 35424, 35442, {35457, 35470, 35489, 8515, 35517, 35534, 11326}, {35545, 35552, 35559, 35938, 35573, 35580, 35587}, {521, 524, 35594, 530, 533, 524, 530}, {35597, 35610, 566, 575, 14989, 35721, 35728, 607, 35625, 35644, 35659, 35676, 0}, {35597, 35610, 566, 575, 14989, 35721, 35728, 607, 35625, 35644, 35659, 35676, 0}, {35693, 35700, 35707, 35714, 14989, 35721, 35728, 35735, 35742, 35749, 35756, 35763, 0}, {35693, 35700, 35707, 35714, 14989, 35721, 35728, 35735, 35742, 35749, 35756, 35763, 0}, 0, 1, 756, 241, {2356,2948,2004,2692,9602,1354,11704,1319,0,0,0,0,0,0},{1991,2659,2673,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {12665, 2692, 280, 274, 2015, 55, 12683, 12695, {12707, 12722, 12737, 12752, 12769, 12788, 12799}, {12810, 12817, 12824, 12831, 12838, 12845, 12852}, {0, 0, 0, 0, 0, 0, 0}, {12859, 12870, 8646, 12883, 8668, 12894, 12901, 8693, 12908, 12923, 12936, 12947, 0}, {12859, 12870, 8646, 12883, 8668, 12894, 12901, 8693, 12908, 12923, 12936, 12947, 0}, {12960, 12967, 12974, 12981, 8668, 12894, 12901, 12988, 12995, 13002, 13009, 13016, 0}, {12960, 12967, 12974, 12981, 8668, 12894, 12901, 12988, 12995, 13002, 13009, 13016, 0}, 0, 1, 756, 241, {1354,1319,0,0,0,0,0,0,0,0,0,0,0,0},{3777,0,0,0,0,0,0,0},{331,274,0,0,0,0,0,0,0,0,0,0},{323,0,0,0,0,0,0,0,0}},
+       {18956, 2692, 280, 274, 2015, 18974, 0, 0, {34133, 34143, 34152, 34161, 34172, 34182, 34187}, {34194, 34200, 34205, 34210, 34215, 10153, 34219}, {34224, 2797, 2131, 7493, 2126, 7493, 2131}, {14410, 14417, 10176, 14424, 3940, 34226, 34231, 34236, 14449, 14458, 14466, 14473, 0}, {14410, 14417, 10176, 14424, 3940, 34226, 34231, 34236, 14449, 14458, 14466, 14473, 0}, {34243, 34248, 3971, 2896, 3940, 34226, 34231, 34252, 10549, 2916, 34256, 34261, 0}, {34243, 34248, 3971, 2896, 3940, 34226, 34231, 34252, 10549, 2916, 34256, 34261, 0}, 0, 1, 756, 241, {19141,1354,2948,14,1319,0,0,0,0,0,0,0,0,0},{18956,3777,5566,0,0,0,0,0},{274,331,0,0,0,0,0,0,0,0,0,0},{280,323,0,0,0,0,0,0,0}},
+       {34712, 1475, 323, 331, 34750, 34766, 0, 0, {25145, 25152, 25163, 25176, 25189, 25200, 25213}, {25224, 25229, 25234, 25239, 25244, 25249, 25254}, {0, 0, 0, 0, 0, 0, 0}, {25259, 25274, 25283, 25290, 25303, 25310, 25321, 25330, 25339, 25346, 25357, 25368, 0}, {25259, 25274, 25283, 25290, 25303, 25310, 25321, 25330, 25339, 25346, 25357, 25368, 0}, {25379, 25386, 25393, 25400, 25407, 25414, 25421, 25428, 25435, 25442, 25449, 25456, 0}, {25379, 25386, 25393, 25400, 25407, 25414, 25421, 25428, 25435, 25442, 25449, 25456, 0}, 0, 0, 239, 241, {1475,1827,1836,1856,1319,1845,1867,1874,1881,1888,0,0,0,0},{34785,34861,0,0,0,0,0,0},{331,0,0,0,0,0,0,0,0,0,0,0},{323,0,0,0,0,0,0,0,0}},
+       {4054, 2404, 323, 331, 44, 352, 29541, 29551, {29564, 29571, 29577, 29584, 29590, 29596, 29604}, {29614, 29618, 29622, 29626, 29630, 29634, 29638}, {12392, 12392, 12392, 12392, 12392, 12392, 12392}, {29644, 29653, 29662, 29667, 29673, 29679, 29685, 29692, 29698, 29707, 29716, 29724, 0}, {29644, 29653, 29662, 29667, 29673, 29679, 29685, 29692, 29698, 29707, 29716, 29724, 0}, {29733, 29737, 3971, 29741, 3940, 29745, 29749, 29753, 29758, 29762, 29768, 29772, 0}, {29733, 29737, 3971, 29741, 3940, 29745, 29749, 29753, 29758, 29762, 29768, 29772, 0}, 0, 0, 2646, 241, {2404,1345,1319,0,0,0,0,0,0,0,0,0,0,0},{4054,254,0,0,0,0,0,0},{331,274,29776,0,0,0,0,0,0,0,0,0},{323,280,0,0,0,0,0,0,0}},
+       {4020, 3032, 3041, 3052, 44, 352, 0, 0, {30678, 30685, 30693, 30700, 30707, 30715, 30723}, {30730, 30733, 30736, 30739, 30742, 30745, 30748}, {2516, 2516, 2510, 2516, 12392, 4191, 12392}, {30751, 30759, 30769, 30775, 30783, 30788, 30793, 30798, 30805, 18937, 30813, 30821, 0}, {30751, 30759, 30769, 30775, 30783, 30788, 30793, 30798, 30805, 18937, 30813, 30821, 0}, {2883, 30829, 3971, 30833, 3940, 29745, 29749, 30837, 3911, 2916, 30841, 15509, 0}, {2883, 30829, 3971, 30833, 3940, 29745, 29749, 30837, 3911, 2916, 30841, 15509, 0}, 0, 0, 239, 241, {3032,1338,14,243,1888,1319,4010,0,0,0,0,0,0,0},{4020,4040,254,4054,0,0,0,0},{3052,35,331,274,0,0,0,0,0,0,0,0},{3041,23,323,280,0,0,0,0,0}}
 };
 
 
 static const NumberFormatEntry number_format_entries [] = {
-       {763, 35403, 35405, 35408, 35405, 35408, 35411, 35421, 35424, 35438, 35441, 35451, 2601, 35460, 3, 2, 0, 0, 3, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35465, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35485, 35494, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35502, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35502, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35506, 35471, 35473, 35477, 35510, 35522, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35534, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35537, 35548, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35559, 35573, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35586, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 8, 3, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35481, 35471, 35607, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35481, 35471, 35473, 35477, 35616, 35624, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35632, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 2, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35636, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35534, 35471, 35639, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 0, 35477, 35588, 35644, 2601, 35460, 9, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35502, 35471, 35654, 35477, 35441, 35451, 2601, 35460, 1, 0, 1, 1, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35670, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 1, 0, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35674, 35684, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 0, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35693, 35471, 35473, 35477, 35697, 35716, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35735, 35471, 35473, 35477, 35588, 35644, 2601, 35460, 9, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35738, 763, 35740, 763, 35740, 0, 35471, 35473, 35477, 35744, 35753, 2601, 35460, 2, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 0, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35762, 35471, 35770, 35477, 35786, 35814, 2601, 35460, 5, 1, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35841, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 2, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35481, 35471, 0, 35477, 35510, 35522, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35844, 35471, 0, 35477, 35441, 35451, 2601, 35460, 5, 1, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 35462, 35403, 35462, 35534, 35471, 35848, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35855, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35859, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35862, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 3, 0, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35867, 35471, 0, 35477, 35441, 35451, 2601, 35460, 0, 0, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35870, 35471, 35874, 35477, 35441, 35451, 2601, 35460, 5, 1, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 0, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35890, 35904, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35462, 35403, 35462, 35403, 35462, 35481, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35917, 35471, 35920, 35477, 35934, 35946, 2601, 35460, 9, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 763, 35403, 763, 35403, 35957, 35471, 35848, 35477, 35960, 35971, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35981, 35462, 35403, 35403, 35403, 35403, 0, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, 0}, {3, 0}, {3, 0}},
-       {239, 35403, 35405, 35408, 35405, 35408, 35983, 35421, 0, 35438, 35441, 35451, 2601, 35460, 3, 2, 0, 0, 3, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35987, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 763, 35403, 763, 35991, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 763, 35403, 763, 0, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35997, 36007, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 0, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 35462, 35403, 35462, 10511, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 2, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 35462, 35403, 35462, 10511, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 2, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 35462, 35403, 35462, 10511, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 2, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 35462, 35403, 35462, 10511, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 2, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 763, 35403, 763, 0, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35534, 35471, 35848, 35477, 35441, 35451, 2601, 35460, 12, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36016, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 763, 35403, 763, 35403, 35481, 35471, 0, 35477, 35441, 35451, 2601, 35460, 1, 0, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35481, 35471, 35848, 35477, 35441, 35451, 2601, 35460, 12, 2, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35481, 35471, 0, 35477, 35441, 35451, 2601, 35460, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36020, 35471, 0, 35477, 35441, 35451, 2601, 35460, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {2601, 35462, 35403, 35462, 35403, 35462, 0, 35471, 0, 35477, 35441, 35451, 2601, 35460, 1, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {2601, 35462, 35403, 35462, 35403, 35462, 36023, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36030, 35471, 0, 35477, 35441, 35451, 2601, 35460, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 0, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36034, 35471, 36041, 35477, 35441, 35451, 2601, 35460, 12, 2, 2, 2, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 35403, 35403, 35403, 35403, 0, 35471, 0, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36016, 35471, 36067, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 763, 35403, 763, 35403, 36016, 35471, 0, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 763, 35403, 763, 35403, 36016, 35471, 36099, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36016, 35471, 0, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36016, 35471, 36125, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 763, 35403, 763, 35403, 36016, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 12, 2, 2, 2, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36016, 35471, 0, 35477, 35441, 35451, 2601, 35460, 12, 1, 1, 1, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36016, 35471, 36156, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 0, 35471, 0, 35477, 35441, 35451, 2601, 35460, 5, 1, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36166, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 2, 0, 1, 1, 1, 2, 2, 2, {3, 0}, {3, 0}, {3, 0}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36171, 35471, 0, 35477, 35441, 35451, 2601, 35460, 1, 0, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 763, 35403, 763, 36174, 35471, 0, 35477, 35441, 35451, 2601, 35460, 5, 1, 1, 1, 2, 2, 2, 2, {3, -1}, {3, 0}, {3, 0}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36178, 35471, 0, 35477, 35441, 35451, 2601, 35460, 4, 1, 0, 0, 0, 0, 2, 2, {3, 0}, {3, 0}, {3, 0}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36016, 35471, 0, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36182, 35471, 0, 35477, 35441, 35451, 2601, 35460, 14, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, 2}, {3, 2}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36190, 35471, 0, 35477, 35441, 35451, 2601, 35460, 1, 0, 1, 1, 1, 2, 1, 1, {3, 0}, {3, 0}, {3, 0}},
-       {763, 35403, 35403, 35462, 35403, 35462, 0, 35471, 0, 35477, 35616, 35624, 2601, 35460, 8, 3, 0, 0, 3, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36197, 35471, 0, 35477, 35441, 35451, 2601, 35460, 1, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, 2}, {3, 2}},
-       {35405, 35408, 35405, 35408, 35405, 35408, 36210, 35421, 0, 35477, 35441, 35451, 2601, 35460, 3, 0, 4, 2, 3, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36213, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 0, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36217, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 35462, 35403, 35462, 10511, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 2, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35534, 35471, 35848, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, 0}, {3, 0}, {3, 0}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36217, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36166, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, 0}, {3, 0}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35481, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35403, 35403, 35403, 35481, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 763, 35740, 763, 35740, 0, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35403, 35403, 35403, 0, 35471, 0, 35477, 35441, 35451, 2601, 35460, 5, 1, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 763, 35403, 763, 36221, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 2, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36171, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35405, 35408, 35405, 35408, 35411, 35421, 35424, 35438, 35441, 35451, 2601, 35460, 3, 2, 0, 0, 3, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35465, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35485, 35494, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36224, 35471, 36228, 35477, 35441, 35451, 2601, 35460, 1, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35506, 35471, 35473, 35477, 35510, 35522, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35534, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35537, 35548, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35559, 35573, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35586, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35481, 35471, 35607, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35481, 35471, 35473, 35477, 35616, 35624, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35632, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 2, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35636, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35534, 35471, 35639, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 0, 35477, 35588, 35644, 2601, 35460, 9, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35502, 35471, 35654, 35477, 35441, 35451, 2601, 35460, 1, 0, 1, 1, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35670, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 1, 0, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35674, 35684, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35534, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35693, 35471, 35473, 35477, 35697, 35716, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35735, 35471, 35473, 35477, 35588, 35644, 2601, 35460, 9, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35738, 763, 35740, 763, 35740, 0, 35471, 35473, 35477, 35744, 35753, 2601, 35460, 2, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 0, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35762, 35471, 35770, 35477, 35786, 35814, 2601, 35460, 5, 1, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35841, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 2, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35481, 35471, 0, 35477, 35510, 35522, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35844, 35471, 0, 35477, 35441, 35451, 2601, 35460, 5, 1, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 35462, 35403, 35462, 35534, 35471, 35848, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35855, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35859, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35862, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 3, 0, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35867, 35471, 0, 35477, 35441, 35451, 2601, 35460, 0, 0, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35870, 35471, 35874, 35477, 35441, 35451, 2601, 35460, 5, 1, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 0, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35890, 35904, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35462, 35403, 35462, 35403, 35462, 35481, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35917, 35471, 35920, 35477, 35934, 35946, 2601, 35460, 9, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 763, 35403, 763, 35403, 35957, 35471, 35848, 35477, 35960, 35971, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35981, 35462, 35403, 35403, 35403, 35403, 36023, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, 0}, {3, 0}, {3, 0}},
-       {239, 35403, 35405, 35408, 35405, 35408, 35983, 35421, 0, 35438, 35441, 35451, 2601, 35460, 3, 2, 0, 0, 3, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35987, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 763, 35403, 763, 35991, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 763, 35403, 763, 36238, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35997, 36007, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 0, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 35462, 35403, 35462, 10511, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 2, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 35462, 35403, 35462, 10511, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 2, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 35462, 35403, 35462, 10511, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 2, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 35462, 35403, 35462, 10511, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 2, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 763, 35403, 763, 0, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35534, 35471, 35848, 35477, 35441, 35451, 2601, 35460, 12, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36016, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 763, 35403, 763, 35403, 35481, 35471, 0, 35477, 35441, 35451, 2601, 35460, 1, 0, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 0, 35471, 35848, 35477, 35441, 35451, 2601, 35460, 12, 2, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36020, 35471, 0, 35477, 35441, 35451, 2601, 35460, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {2601, 35462, 35403, 35462, 35403, 35462, 36023, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36030, 35471, 0, 35477, 35441, 35451, 2601, 35460, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 36243, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36016, 35471, 36041, 35477, 35441, 35451, 2601, 35460, 12, 2, 2, 2, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36016, 35471, 36067, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 763, 35403, 763, 35403, 36016, 35471, 0, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 763, 35403, 763, 35403, 36016, 35471, 36099, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36016, 35471, 0, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36016, 35471, 36125, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 763, 35403, 763, 35403, 36016, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 12, 2, 2, 2, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36016, 35471, 0, 35477, 35441, 35451, 2601, 35460, 12, 1, 1, 1, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36016, 35471, 36156, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 763, 35403, 763, 35403, 36166, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 2, 0, 1, 1, 1, 2, 2, 2, {3, 0}, {3, 0}, {3, 0}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36171, 35471, 0, 35477, 35441, 35451, 2601, 35460, 1, 0, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 763, 35403, 763, 36174, 35471, 0, 35477, 35441, 35451, 2601, 35460, 5, 1, 1, 1, 2, 2, 2, 2, {3, -1}, {3, 0}, {3, 0}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36178, 35471, 0, 35477, 35441, 35451, 2601, 35460, 4, 1, 0, 0, 0, 0, 2, 2, {3, 0}, {3, 0}, {3, 0}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36016, 35471, 0, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36182, 35471, 0, 35477, 35441, 35451, 2601, 35460, 14, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, 2}, {3, 2}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36190, 35471, 0, 35477, 35441, 35451, 2601, 35460, 1, 0, 1, 1, 1, 2, 1, 1, {3, 0}, {3, 0}, {3, 0}},
-       {763, 35403, 763, 35403, 763, 35403, 36197, 35471, 0, 35477, 35441, 35451, 2601, 35460, 1, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, 2}, {3, 2}},
-       {35405, 35408, 35405, 35408, 35405, 35408, 36210, 35421, 0, 35477, 35441, 35451, 2601, 35460, 3, 0, 4, 2, 3, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36213, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36217, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36217, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 35462, 35403, 35462, 10511, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 2, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35534, 35471, 35848, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, 0}, {3, 0}, {3, 0}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36217, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36166, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, 0}, {3, 0}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35481, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35403, 35403, 35403, 35481, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35403, 35403, 35403, 0, 35471, 0, 35477, 35441, 35451, 2601, 35460, 5, 1, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 763, 35403, 763, 36221, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 2, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36171, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35405, 35408, 35405, 35408, 36249, 35421, 35424, 35438, 35441, 35451, 2601, 35460, 3, 2, 0, 0, 3, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35502, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35738, 763, 35738, 763, 35738, 0, 35471, 35473, 35477, 35537, 35548, 2601, 35460, 2, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36171, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35586, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35616, 35624, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35738, 763, 35738, 763, 35738, 0, 35471, 0, 35477, 35588, 35644, 2601, 35460, 2, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35674, 35684, 2601, 35460, 12, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35534, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 35462, 35403, 35462, 35481, 35471, 35473, 35477, 35588, 35644, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35481, 35471, 35848, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 763, 35403, 763, 36259, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35481, 35471, 0, 35477, 35441, 35451, 2601, 35460, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35586, 35471, 0, 35477, 35441, 35451, 2601, 35460, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 36267, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 35403, 35403, 35403, 36274, 35471, 36041, 35477, 35441, 35451, 2601, 35460, 12, 2, 2, 2, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {763, 35403, 35403, 35462, 35403, 35462, 36166, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 0, 1, 1, 1, 2, 2, 2, {3, 0}, {3, 0}, {3, 0}},
-       {763, 35403, 35405, 35408, 35405, 35408, 36278, 35421, 35424, 35438, 35441, 35451, 2601, 35460, 3, 2, 0, 0, 3, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35586, 35471, 36228, 35477, 35441, 35451, 2601, 35460, 0, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35537, 35548, 2601, 35460, 9, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35586, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35586, 35471, 35473, 35477, 35616, 35624, 2601, 35460, 15, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35481, 35471, 35848, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35405, 35408, 35405, 35408, 36288, 35421, 35424, 35438, 35441, 35451, 2601, 35460, 3, 0, 0, 0, 3, 3, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 0, 35471, 0, 35477, 35441, 35451, 2601, 35460, 0, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35537, 35548, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35586, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 7774, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35738, 763, 35738, 763, 35738, 0, 35471, 35473, 35477, 35616, 35624, 2601, 35460, 2, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35405, 35408, 35405, 35408, 36298, 35421, 35424, 35438, 35441, 35451, 2601, 35460, 3, 2, 0, 0, 3, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 0, 35471, 36228, 35477, 35441, 35451, 2601, 35460, 0, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35738, 763, 35738, 763, 35738, 0, 35471, 35473, 35477, 35537, 35548, 2601, 35460, 2, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35586, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 36308, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 0, 0, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35616, 35624, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35405, 35408, 35405, 35408, 36312, 35421, 35424, 35438, 35441, 35451, 2601, 35460, 3, 2, 0, 0, 3, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35481, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36322, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 14, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35481, 35471, 35473, 35477, 35616, 35624, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 36326, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35405, 35408, 35405, 35408, 36329, 35421, 35424, 35438, 35441, 35451, 2601, 35460, 3, 2, 0, 0, 3, 3, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 10511, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 2, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35586, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 36339, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35405, 35408, 35405, 35408, 36345, 35421, 35424, 35438, 35441, 35451, 2601, 35460, 3, 2, 0, 0, 3, 3, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35586, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 36355, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35405, 35408, 35405, 35408, 36361, 35421, 35424, 35438, 35441, 35451, 2601, 35460, 3, 2, 0, 0, 3, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35586, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 14, 2, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 36371, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35405, 35408, 35405, 35408, 36376, 35421, 35424, 35438, 35441, 35451, 2601, 35460, 3, 2, 0, 0, 3, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35586, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36386, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 36390, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35405, 35408, 35405, 35408, 36398, 35421, 35424, 35438, 35441, 35451, 2601, 35460, 3, 2, 0, 0, 3, 3, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35586, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35586, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 2, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35405, 35408, 35405, 35408, 36408, 35421, 35424, 35438, 35441, 35451, 2601, 35460, 3, 2, 0, 0, 3, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35586, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35586, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 14, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35481, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35405, 35408, 35405, 35408, 36418, 35421, 35424, 35438, 35441, 35451, 2601, 35460, 3, 2, 0, 0, 3, 3, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36213, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35586, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 9, 2, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35405, 35408, 35405, 35408, 36428, 35421, 35424, 35438, 35441, 35451, 2601, 35460, 3, 2, 0, 0, 3, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 35586, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 14, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35405, 35408, 35405, 35408, 36438, 35421, 35424, 35438, 35441, 35451, 2601, 35460, 3, 2, 0, 0, 3, 3, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 36448, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 14, 2, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35405, 35408, 35405, 35408, 36452, 35421, 35424, 35438, 35441, 35451, 2601, 35460, 3, 2, 0, 0, 3, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36016, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
-       {35403, 763, 35403, 763, 35403, 763, 36462, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 14, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36465, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35586, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 0, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 2471, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36469, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 14, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35586, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 14, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 35586, 35471, 35473, 35477, 35588, 35598, 2601, 35460, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, 0}, {3, 0}},
-       {35403, 763, 35403, 763, 35403, 763, 36472, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 36480, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 763, 35403, 763, 36259, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36485, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35534, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 0, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 763, 35403, 763, 36238, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 36267, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 0, 35471, 0, 35477, 35441, 35451, 2601, 35460, 5, 1, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36488, 35471, 36228, 35477, 35441, 35451, 2601, 35460, 0, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36488, 35471, 36228, 35477, 35441, 35451, 2601, 35460, 0, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 35534, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35403, 763, 35403, 763, 35403, 763, 36480, 35471, 35473, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {35981, 35462, 35403, 35403, 35403, 35403, 36023, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 2, 2, 2, {3, 0}, {3, 0}, {3, 0}},
-       {35403, 35462, 35403, 35462, 35403, 35462, 36243, 35471, 0, 35477, 35441, 35451, 2601, 35460, 8, 3, 1, 1, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 35403, 35462, 35403, 35462, 36166, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 0, 1, 1, 1, 2, 2, 2, {3, 0}, {3, 0}, {3, 0}},
-       {763, 35403, 35403, 35462, 35403, 35462, 0, 35471, 0, 35477, 35616, 35624, 2601, 35460, 8, 3, 0, 0, 3, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
-       {763, 35403, 763, 35403, 763, 35403, 36217, 35471, 0, 35477, 35441, 35451, 2601, 35460, 2, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}}
+       {756, 36014, 36016, 36019, 36016, 36019, 36022, 36032, 36035, 36049, 36052, 36062, 2646, 36071, 3, 2, 0, 0, 3, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36076, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36096, 36105, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36113, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36113, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36117, 36082, 36084, 36088, 36121, 36133, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36145, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36148, 36159, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36170, 36184, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36197, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 8, 3, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36092, 36082, 36218, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36092, 36082, 36084, 36088, 36227, 36235, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36243, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 2, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36247, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36145, 36082, 36250, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 0, 36088, 36199, 36255, 2646, 36071, 9, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36113, 36082, 36265, 36088, 36052, 36062, 2646, 36071, 1, 0, 1, 1, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36281, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 1, 0, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36285, 36295, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 0, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36304, 36082, 36084, 36088, 36308, 36327, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36346, 36082, 36084, 36088, 36199, 36255, 2646, 36071, 9, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36349, 756, 36351, 756, 36351, 0, 36082, 36084, 36088, 36355, 36364, 2646, 36071, 2, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 0, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36373, 36082, 36381, 36088, 36397, 36425, 2646, 36071, 5, 1, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36452, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 2, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36092, 36082, 0, 36088, 36121, 36133, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36455, 36082, 0, 36088, 36052, 36062, 2646, 36071, 5, 1, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 36073, 36014, 36073, 36145, 36082, 36459, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36466, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36470, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36473, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 3, 0, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36478, 36082, 0, 36088, 36052, 36062, 2646, 36071, 0, 0, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36481, 36082, 36485, 36088, 36052, 36062, 2646, 36071, 5, 1, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 0, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36501, 36515, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36073, 36014, 36073, 36014, 36073, 36092, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36528, 36082, 36531, 36088, 36545, 36557, 2646, 36071, 9, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 756, 36014, 756, 36014, 36568, 36082, 36459, 36088, 36571, 36582, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36592, 36073, 36014, 36014, 36014, 36014, 0, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, 0}, {3, 0}, {3, 0}},
+       {239, 36014, 36016, 36019, 36016, 36019, 36594, 36032, 0, 36049, 36052, 36062, 2646, 36071, 3, 2, 0, 0, 3, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36598, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 756, 36014, 756, 36602, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 756, 36014, 756, 0, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36608, 36618, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 0, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 36073, 36014, 36073, 10573, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 2, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 36073, 36014, 36073, 10573, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 2, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 36073, 36014, 36073, 10573, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 2, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 36073, 36014, 36073, 10573, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 2, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 756, 36014, 756, 0, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36145, 36082, 36459, 36088, 36052, 36062, 2646, 36071, 12, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36627, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 756, 36014, 756, 36014, 36092, 36082, 0, 36088, 36052, 36062, 2646, 36071, 1, 0, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36092, 36082, 36459, 36088, 36052, 36062, 2646, 36071, 12, 2, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36092, 36082, 0, 36088, 36052, 36062, 2646, 36071, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36631, 36082, 0, 36088, 36052, 36062, 2646, 36071, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {2646, 36073, 36014, 36073, 36014, 36073, 0, 36082, 0, 36088, 36052, 36062, 2646, 36071, 1, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {2646, 36073, 36014, 36073, 36014, 36073, 36634, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36641, 36082, 0, 36088, 36052, 36062, 2646, 36071, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 0, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36645, 36082, 36652, 36088, 36052, 36062, 2646, 36071, 12, 2, 2, 2, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 36014, 36014, 36014, 36014, 0, 36082, 0, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36627, 36082, 36678, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 756, 36014, 756, 36014, 36627, 36082, 0, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 756, 36014, 756, 36014, 36627, 36082, 36710, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36627, 36082, 0, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36627, 36082, 36736, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 756, 36014, 756, 36014, 36627, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 12, 2, 2, 2, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36627, 36082, 0, 36088, 36052, 36062, 2646, 36071, 12, 1, 1, 1, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36627, 36082, 36767, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 0, 36082, 0, 36088, 36052, 36062, 2646, 36071, 5, 1, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36777, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 2, 0, 1, 1, 1, 2, 2, 2, {3, 0}, {3, 0}, {3, 0}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36782, 36082, 0, 36088, 36052, 36062, 2646, 36071, 1, 0, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 756, 36014, 756, 36785, 36082, 0, 36088, 36052, 36062, 2646, 36071, 5, 1, 1, 1, 2, 2, 2, 2, {3, -1}, {3, 0}, {3, 0}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36789, 36082, 0, 36088, 36052, 36062, 2646, 36071, 4, 1, 0, 0, 0, 0, 2, 2, {3, 0}, {3, 0}, {3, 0}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36627, 36082, 0, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36793, 36082, 0, 36088, 36052, 36062, 2646, 36071, 14, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, 2}, {3, 2}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36801, 36082, 0, 36088, 36052, 36062, 2646, 36071, 1, 0, 1, 1, 1, 2, 1, 1, {3, 0}, {3, 0}, {3, 0}},
+       {756, 36014, 36014, 36073, 36014, 36073, 0, 36082, 0, 36088, 36227, 36235, 2646, 36071, 8, 3, 0, 0, 3, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36808, 36082, 0, 36088, 36052, 36062, 2646, 36071, 1, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, 2}, {3, 2}},
+       {36016, 36019, 36016, 36019, 36016, 36019, 36821, 36032, 0, 36088, 36052, 36062, 2646, 36071, 3, 0, 4, 2, 3, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36824, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 0, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36828, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 36073, 36014, 36073, 10573, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 2, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36145, 36082, 36459, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, 0}, {3, 0}, {3, 0}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36828, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36777, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, 0}, {3, 0}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36092, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36014, 36014, 36014, 36092, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 756, 36351, 756, 36351, 0, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36014, 36014, 36014, 0, 36082, 0, 36088, 36052, 36062, 2646, 36071, 5, 1, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 756, 36014, 756, 36832, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 2, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36782, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36016, 36019, 36016, 36019, 36022, 36032, 36035, 36049, 36052, 36062, 2646, 36071, 3, 2, 0, 0, 3, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36076, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36096, 36105, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36835, 36082, 36839, 36088, 36052, 36062, 2646, 36071, 1, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36117, 36082, 36084, 36088, 36121, 36133, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36145, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36148, 36159, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36170, 36184, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36197, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36092, 36082, 36218, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36092, 36082, 36084, 36088, 36227, 36235, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36243, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 2, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36247, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36145, 36082, 36250, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 0, 36088, 36199, 36255, 2646, 36071, 9, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36113, 36082, 36265, 36088, 36052, 36062, 2646, 36071, 1, 0, 1, 1, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36281, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 1, 0, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36285, 36295, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36145, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36304, 36082, 36084, 36088, 36308, 36327, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36346, 36082, 36084, 36088, 36199, 36255, 2646, 36071, 9, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36349, 756, 36351, 756, 36351, 0, 36082, 36084, 36088, 36355, 36364, 2646, 36071, 2, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 0, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36373, 36082, 36381, 36088, 36397, 36425, 2646, 36071, 5, 1, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36452, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 2, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36092, 36082, 0, 36088, 36121, 36133, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36455, 36082, 0, 36088, 36052, 36062, 2646, 36071, 5, 1, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 36073, 36014, 36073, 36145, 36082, 36459, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36466, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36470, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36473, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 3, 0, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36478, 36082, 0, 36088, 36052, 36062, 2646, 36071, 0, 0, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36481, 36082, 36485, 36088, 36052, 36062, 2646, 36071, 5, 1, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 0, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36501, 36515, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36073, 36014, 36073, 36014, 36073, 36092, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36528, 36082, 36531, 36088, 36545, 36557, 2646, 36071, 9, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 756, 36014, 756, 36014, 36568, 36082, 36459, 36088, 36571, 36582, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36592, 36073, 36014, 36014, 36014, 36014, 36634, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, 0}, {3, 0}, {3, 0}},
+       {239, 36014, 36016, 36019, 36016, 36019, 36594, 36032, 0, 36049, 36052, 36062, 2646, 36071, 3, 2, 0, 0, 3, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36598, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 756, 36014, 756, 36602, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 756, 36014, 756, 36849, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36608, 36618, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 0, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 36073, 36014, 36073, 10573, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 2, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 36073, 36014, 36073, 10573, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 2, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 36073, 36014, 36073, 10573, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 2, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 36073, 36014, 36073, 10573, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 2, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 756, 36014, 756, 0, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36145, 36082, 36459, 36088, 36052, 36062, 2646, 36071, 12, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36627, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 756, 36014, 756, 36014, 36092, 36082, 0, 36088, 36052, 36062, 2646, 36071, 1, 0, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 0, 36082, 36459, 36088, 36052, 36062, 2646, 36071, 12, 2, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36631, 36082, 0, 36088, 36052, 36062, 2646, 36071, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {2646, 36073, 36014, 36073, 36014, 36073, 36634, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36641, 36082, 0, 36088, 36052, 36062, 2646, 36071, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36854, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36627, 36082, 36652, 36088, 36052, 36062, 2646, 36071, 12, 2, 2, 2, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36627, 36082, 36678, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 756, 36014, 756, 36014, 36627, 36082, 0, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 756, 36014, 756, 36014, 36627, 36082, 36710, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36627, 36082, 0, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36627, 36082, 36736, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 756, 36014, 756, 36014, 36627, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 12, 2, 2, 2, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36627, 36082, 0, 36088, 36052, 36062, 2646, 36071, 12, 1, 1, 1, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36627, 36082, 36767, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 756, 36014, 756, 36014, 36777, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 2, 0, 1, 1, 1, 2, 2, 2, {3, 0}, {3, 0}, {3, 0}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36782, 36082, 0, 36088, 36052, 36062, 2646, 36071, 1, 0, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 756, 36014, 756, 36785, 36082, 0, 36088, 36052, 36062, 2646, 36071, 5, 1, 1, 1, 2, 2, 2, 2, {3, -1}, {3, 0}, {3, 0}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36789, 36082, 0, 36088, 36052, 36062, 2646, 36071, 4, 1, 0, 0, 0, 0, 2, 2, {3, 0}, {3, 0}, {3, 0}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36627, 36082, 0, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36793, 36082, 0, 36088, 36052, 36062, 2646, 36071, 14, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, 2}, {3, 2}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36801, 36082, 0, 36088, 36052, 36062, 2646, 36071, 1, 0, 1, 1, 1, 2, 1, 1, {3, 0}, {3, 0}, {3, 0}},
+       {756, 36014, 756, 36014, 756, 36014, 36808, 36082, 0, 36088, 36052, 36062, 2646, 36071, 1, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, 2}, {3, 2}},
+       {36016, 36019, 36016, 36019, 36016, 36019, 36821, 36032, 0, 36088, 36052, 36062, 2646, 36071, 3, 0, 4, 2, 3, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36824, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36828, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36828, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 36073, 36014, 36073, 10573, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 2, 2, 2, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36145, 36082, 36459, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, 0}, {3, 0}, {3, 0}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36828, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36777, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, 0}, {3, 0}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36092, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36014, 36014, 36014, 36092, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36014, 36014, 36014, 0, 36082, 0, 36088, 36052, 36062, 2646, 36071, 5, 1, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 756, 36014, 756, 36832, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 2, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36782, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36016, 36019, 36016, 36019, 36860, 36032, 36035, 36049, 36052, 36062, 2646, 36071, 3, 2, 0, 0, 3, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36113, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36349, 756, 36349, 756, 36349, 0, 36082, 36084, 36088, 36148, 36159, 2646, 36071, 2, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36782, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36197, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36227, 36235, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36349, 756, 36349, 756, 36349, 0, 36082, 0, 36088, 36199, 36255, 2646, 36071, 2, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36285, 36295, 2646, 36071, 12, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36145, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 36073, 36014, 36073, 36092, 36082, 36084, 36088, 36199, 36255, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36092, 36082, 36459, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 756, 36014, 756, 36870, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36092, 36082, 0, 36088, 36052, 36062, 2646, 36071, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36197, 36082, 0, 36088, 36052, 36062, 2646, 36071, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36878, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 36014, 36014, 36014, 36885, 36082, 36652, 36088, 36052, 36062, 2646, 36071, 12, 2, 2, 2, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {756, 36014, 36014, 36073, 36014, 36073, 36777, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 0, 1, 1, 1, 2, 2, 2, {3, 0}, {3, 0}, {3, 0}},
+       {756, 36014, 36016, 36019, 36016, 36019, 36889, 36032, 36035, 36049, 36052, 36062, 2646, 36071, 3, 2, 0, 0, 3, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36197, 36082, 36839, 36088, 36052, 36062, 2646, 36071, 0, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36148, 36159, 2646, 36071, 9, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36197, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36197, 36082, 36084, 36088, 36227, 36235, 2646, 36071, 15, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36092, 36082, 36459, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36016, 36019, 36016, 36019, 36899, 36032, 36035, 36049, 36052, 36062, 2646, 36071, 3, 0, 0, 0, 3, 3, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 0, 36082, 0, 36088, 36052, 36062, 2646, 36071, 0, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36148, 36159, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36197, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 7812, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36349, 756, 36349, 756, 36349, 0, 36082, 36084, 36088, 36227, 36235, 2646, 36071, 2, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36016, 36019, 36016, 36019, 36909, 36032, 36035, 36049, 36052, 36062, 2646, 36071, 3, 2, 0, 0, 3, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 0, 36082, 36839, 36088, 36052, 36062, 2646, 36071, 0, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36349, 756, 36349, 756, 36349, 0, 36082, 36084, 36088, 36148, 36159, 2646, 36071, 2, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36197, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36919, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 0, 0, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36227, 36235, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36016, 36019, 36016, 36019, 36923, 36032, 36035, 36049, 36052, 36062, 2646, 36071, 3, 2, 0, 0, 3, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36092, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36933, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 14, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36092, 36082, 36084, 36088, 36227, 36235, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36937, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36016, 36019, 36016, 36019, 36940, 36032, 36035, 36049, 36052, 36062, 2646, 36071, 3, 2, 0, 0, 3, 3, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 10573, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 2, 2, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36197, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36950, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36016, 36019, 36016, 36019, 36956, 36032, 36035, 36049, 36052, 36062, 2646, 36071, 3, 2, 0, 0, 3, 3, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36197, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 1, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36966, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36016, 36019, 36016, 36019, 36972, 36032, 36035, 36049, 36052, 36062, 2646, 36071, 3, 2, 0, 0, 3, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36197, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 14, 2, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36982, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36016, 36019, 36016, 36019, 36987, 36032, 36035, 36049, 36052, 36062, 2646, 36071, 3, 2, 0, 0, 3, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36197, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36997, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 37001, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36016, 36019, 36016, 36019, 37009, 36032, 36035, 36049, 36052, 36062, 2646, 36071, 3, 2, 0, 0, 3, 3, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36197, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36197, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 2, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36016, 36019, 36016, 36019, 37019, 36032, 36035, 36049, 36052, 36062, 2646, 36071, 3, 2, 0, 0, 3, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36197, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36197, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 14, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36092, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36016, 36019, 36016, 36019, 37029, 36032, 36035, 36049, 36052, 36062, 2646, 36071, 3, 2, 0, 0, 3, 3, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36824, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36197, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 9, 2, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36016, 36019, 36016, 36019, 37039, 36032, 36035, 36049, 36052, 36062, 2646, 36071, 3, 2, 0, 0, 3, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 36197, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 14, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36016, 36019, 36016, 36019, 37049, 36032, 36035, 36049, 36052, 36062, 2646, 36071, 3, 2, 0, 0, 3, 3, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 37059, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 14, 2, 0, 0, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36016, 36019, 36016, 36019, 37063, 36032, 36035, 36049, 36052, 36062, 2646, 36071, 3, 2, 0, 0, 3, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36627, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, 2}, {3, 2}, {3, 2}},
+       {36014, 756, 36014, 756, 36014, 756, 37073, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 14, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 37076, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36197, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 0, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 2516, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 37080, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 14, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36197, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 14, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36197, 36082, 36084, 36088, 36199, 36209, 2646, 36071, 0, 0, 0, 0, 1, 2, 2, 2, {3, -1}, {3, 0}, {3, 0}},
+       {36014, 756, 36014, 756, 36014, 756, 37083, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 37091, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 756, 36014, 756, 36870, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 37096, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36145, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 0, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 756, 36014, 756, 36849, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36878, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 0, 36082, 0, 36088, 36052, 36062, 2646, 36071, 5, 1, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 37099, 36082, 36839, 36088, 36052, 36062, 2646, 36071, 0, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 37099, 36082, 36839, 36088, 36052, 36062, 2646, 36071, 0, 0, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36145, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 12, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36014, 756, 36014, 756, 36014, 756, 37091, 36082, 36084, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {36592, 36073, 36014, 36014, 36014, 36014, 36634, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 2, 2, 2, {3, 0}, {3, 0}, {3, 0}},
+       {36014, 36073, 36014, 36073, 36014, 36073, 36854, 36082, 0, 36088, 36052, 36062, 2646, 36071, 8, 3, 1, 1, 1, 0, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 36014, 36073, 36014, 36073, 36777, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 0, 1, 1, 1, 2, 2, 2, {3, 0}, {3, 0}, {3, 0}},
+       {756, 36014, 36014, 36073, 36014, 36073, 0, 36082, 0, 36088, 36227, 36235, 2646, 36071, 8, 3, 0, 0, 3, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}},
+       {756, 36014, 756, 36014, 756, 36014, 36828, 36082, 0, 36088, 36052, 36062, 2646, 36071, 2, 2, 0, 0, 1, 2, 2, 2, {3, -1}, {3, -1}, {3, -1}}
 };
 
 
 static const CultureInfoEntry culture_entries [] = {
-       {0x0001, 0x007F, 768, -1, 36492, 36495, 36502, 36517, 36521, 36492, 0, {0, 0, 36525, 0}, 0, 0, { 1256, 20420, 10004, 720, 1, ';' }},
-       {0x0002, 0x007F, 257, -1, 36553, 36556, 36566, 36585, 36589, 36553, 0, {36593, 0, 0, 0}, 1, 1, { 1251, 21025, 10007, 866, 0, ';' }},
-       {0x0003, 0x007F, 257, -1, 36635, 36638, 36646, 36654, 36658, 36635, 0, {36662, 0, 0, 0}, 2, 2, { 1252, 500, 10000, 850, 0, ';' }},
-       {0x0004, 0x0004, 257, -1, 36682, 36689, 36717, 36724, 36728, 36732, 0, {36735, 0, 0, 0}, 3, 3, { 936, 500, 10008, 936, 0, ',' }},
-       {0x0004, 0x7804, 257, -1, 36742, 36750, 36717, 36724, 36728, 36732, 0, {36735, 0, 0, 0}, 4, 4, { 936, 500, 10008, 936, 0, ',' }},
-       {0x0005, 0x007F, 257, -1, 36771, 36774, 36780, 36790, 36794, 36771, 0, {36798, 0, 0, 0}, 5, 5, { 1250, 500, 10029, 852, 0, ';' }},
-       {0x0006, 0x007F, 257, -1, 36824, 36827, 36834, 36840, 36844, 36824, 0, {36848, 0, 0, 0}, 6, 6, { 1252, 20277, 10000, 850, 0, ';' }},
-       {0x0007, 0x007F, 257, -1, 36869, 36872, 36879, 36887, 36891, 36869, 0, {36895, 0, 0, 0}, 7, 7, { 1252, 20273, 10000, 850, 0, ';' }},
-       {0x0008, 0x007F, 257, -1, 36920, 36923, 36929, 36946, 36950, 36920, 0, {36954, 0, 0, 0}, 8, 8, { 1253, 20273, 10006, 737, 0, ';' }},
-       {0x0009, 0x007F, 257, -1, 36996, 36999, 36999, 37007, 37011, 36996, 0, {37015, 0, 0, 0}, 9, 9, { 1252, 37, 10000, 437, 0, ',' }},
-       {0x000A, 0x007F, 257, -1, 37034, 37037, 37045, 37054, 37058, 37034, 0, {37062, 0, 0, 0}, 10, 10, { 1252, 20284, 10000, 850, 0, ';' }},
-       {0x000B, 0x007F, 257, -1, 37084, 37087, 37095, 37101, 37105, 37084, 0, {37109, 0, 0, 0}, 11, 11, { 1252, 20278, 10000, 850, 0, ';' }},
-       {0x000C, 0x007F, 257, -1, 37134, 37137, 37144, 37154, 37158, 37134, 0, {37162, 0, 0, 0}, 12, 12, { 1252, 20297, 10000, 850, 0, ';' }},
-       {0x000D, 0x007F, 257, -1, 37184, 37187, 37194, 37205, 37209, 37184, 0, {37213, 0, 0, 0}, 13, 13, { 1255, 500, 10005, 862, 1, ',' }},
-       {0x000E, 0x007F, 257, -1, 37246, 37249, 37259, 37266, 37270, 37246, 0, {37274, 0, 0, 0}, 14, 14, { 1250, 500, 10029, 852, 0, ';' }},
-       {0x000F, 0x007F, 257, -1, 37290, 37293, 37303, 37313, 37317, 37290, 0, {37321, 0, 0, 0}, 15, 15, { 1252, 20871, 10079, 850, 0, ';' }},
-       {0x0010, 0x007F, 257, -1, 37341, 37344, 37352, 37361, 37365, 37341, 0, {37062, 0, 0, 0}, 16, 16, { 1252, 20280, 10000, 850, 0, ';' }},
-       {0x0011, 0x007F, 257, -1, 37369, 37372, 37381, 37391, 37395, 37369, 0, {37399, 0, 0, 0}, 17, 17, { 932, 20290, 10001, 932, 0, ',' }},
-       {0x0012, 0x007F, 257, -1, 37426, 37429, 37436, 37446, 37450, 37426, 0, {37454, 0, 0, 0}, 18, 18, { 949, 20833, 10003, 949, 0, ',' }},
-       {0x0013, 0x007F, 257, -1, 37464, 37467, 37473, 37484, 37488, 37464, 0, {37492, 0, 0, 0}, 19, 19, { 1252, 500, 10000, 850, 0, ';' }},
-       {0x0014, 0x007F, 257, -1, 37514, 37517, 37527, 37533, 37537, 37541, 0, {36848, 0, 0, 0}, 20, 20, { 1252, 20277, 10000, 850, 0, ';' }},
-       {0x0015, 0x007F, 257, -1, 37544, 37547, 37554, 37561, 37565, 37544, 0, {37569, 0, 0, 0}, 21, 21, { 1250, 20880, 10029, 852, 0, ';' }},
-       {0x0016, 0x007F, 257, -1, 37593, 37596, 37607, 37618, 37622, 37593, 0, {37626, 0, 0, 0}, 22, 22, { 1252, 500, 10000, 850, 0, ';' }},
-       {0x0017, 0x007F, 257, -1, 37649, 37652, 37660, 37670, 37674, 37649, 0, {37678, 0, 0, 0}, 23, 23, { 1252, 20273, 10000, 850, 0, ';' }},
-       {0x0018, 0x007F, 257, -1, 37698, 37701, 37710, 37719, 37723, 37698, 0, {37727, 0, 0, 0}, 24, 24, { 1250, 20880, 10029, 852, 0, ';' }},
-       {0x0019, 0x007F, 257, -1, 37746, 37749, 37757, 37772, 37776, 37746, 0, {37780, 0, 0, 0}, 25, 25, { 1251, 20880, 10007, 866, 0, ';' }},
-       {0x001A, 0x007F, 257, -1, 37826, 37829, 37838, 37847, 37851, 37826, 0, {37855, 0, 0, 0}, 26, 26, { 1250, 500, 10082, 852, 0, ';' }},
-       {0x001B, 0x007F, 257, -1, 37878, 37881, 37888, 37900, 37904, 37878, 0, {37908, 0, 0, 0}, 27, 27, { 1250, 20880, 10029, 852, 0, ';' }},
-       {0x001C, 0x007F, 257, -1, 37932, 37935, 37944, 37950, 37954, 37932, 0, {0, 0, 0, 0}, 28, 28, { 1250, 20880, 10029, 852, 0, ';' }},
-       {0x001D, 0x007F, 257, -1, 37958, 37961, 37969, 37977, 37981, 37958, 0, {36848, 0, 0, 0}, 29, 29, { 1252, 20278, 10000, 850, 0, ';' }},
-       {0x001E, 0x007F, 512, -1, 37985, 37988, 37993, 38003, 38007, 37985, 0, {0, 38011, 0, 0}, 30, 30, { 874, 20838, 10021, 874, 0, ',' }},
-       {0x001F, 0x007F, 257, -1, 38042, 38045, 38053, 38062, 38066, 38042, 0, {38070, 0, 0, 0}, 31, 31, { 1254, 20905, 10081, 857, 0, ';' }},
-       {0x0020, 0x007F, 257, -1, 38084, 38087, 38092, 38101, 38105, 38084, 0, {38109, 0, 0, 0}, 32, 32, { 1256, 20420, 10004, 720, 1, ';' }},
-       {0x0021, 0x007F, 257, -1, 38139, 38142, 38153, 38170, 38174, 38139, 0, {38178, 0, 0, 0}, 33, 33, { 1252, 500, 10000, 850, 0, ';' }},
-       {0x0022, 0x007F, 257, -1, 38197, 38200, 38210, 38231, 38235, 38197, 0, {38239, 0, 0, 0}, 34, 34, { 1251, 500, 10017, 866, 0, ';' }},
-       {0x0023, 0x007F, 257, -1, 38285, 38288, 38299, 38320, 38324, 38285, 0, {38328, 0, 0, 0}, 35, 35, { 1251, 500, 10007, 866, 0, ';' }},
-       {0x0024, 0x007F, 257, -1, 38370, 38373, 38383, 38397, 38401, 38370, 0, {38405, 0, 0, 0}, 36, 36, { 1250, 20880, 10029, 852, 0, ';' }},
-       {0x0025, 0x007F, 257, -1, 38427, 38430, 38439, 38445, 38449, 38427, 0, {38453, 0, 0, 0}, 37, 37, { 1257, 500, 10029, 775, 0, ';' }},
-       {0x0026, 0x007F, 257, -1, 38473, 38476, 38484, 38494, 38498, 38473, 0, {38502, 0, 0, 0}, 38, 38, { 1257, 500, 10029, 775, 0, ';' }},
-       {0x0027, 0x007F, 257, -1, 38521, 38524, 38535, 38545, 38549, 38521, 0, {38553, 0, 0, 0}, 39, 39, { 1257, 500, 10029, 775, 0, ';' }},
-       {0x0028, 0x007F, 257, -1, 38576, 38579, 0, 38585, 38589, 38576, 0, {0, 0, 0, 0}, 40, 40, { 1251, 20880, 10007, 866, 0, ';' }},
-       {0x0029, 0x007F, 257, -1, 38593, 38596, 38604, 38615, 38619, 38593, 0, {38623, 0, 0, 0}, 41, 41, { 1256, 20420, 10004, 720, 1, ';' }},
-       {0x002A, 0x007F, 257, -1, 38647, 38650, 38661, 38676, 4121, 38647, 0, {38680, 0, 0, 0}, 42, 42, { 1258, 500, 10000, 1258, 0, ',' }},
-       {0x002B, 0x007F, 257, -1, 38695, 38698, 38707, 38722, 38726, 38695, 0, {0, 0, 0, 0}, 43, 43, { 0, 500, 2, 1, 0, ',' }},
-       {0x002C, 0x007F, 257, -1, 14519, 38730, 38742, 38756, 38760, 14519, 0, {38764, 0, 0, 0}, 44, 44, { 1254, 20905, 10081, 857, 0, ';' }},
-       {0x002D, 0x007F, 257, -1, 38782, 38785, 38792, 38800, 38804, 38782, 0, {38808, 0, 0, 0}, 45, 45, { 1252, 500, 10000, 850, 0, ';' }},
-       {0x002F, 0x007F, 257, -1, 38828, 38831, 38842, 38863, 38867, 38828, 0, {38871, 0, 0, 0}, 46, 46, { 1251, 500, 10007, 866, 0, ';' }},
-       {0x0032, 0x007F, 257, -1, 38915, 38918, 38925, 38934, 38938, 38915, 0, {0, 0, 0, 0}, 47, 47, { 1252, 500, 10000, 850, 0, ',' }},
-       {0x0034, 0x007F, 257, -1, 38942, 38945, 38951, 38960, 38964, 38942, 0, {0, 0, 0, 0}, 48, 48, { 1252, 500, 10000, 850, 0, ',' }},
-       {0x0035, 0x007F, 257, -1, 38968, 38971, 38976, 38984, 38988, 38968, 0, {38992, 0, 0, 0}, 49, 49, { 1252, 500, 10000, 850, 0, ',' }},
-       {0x0036, 0x007F, 257, -1, 39013, 39016, 39016, 39026, 39030, 39013, 0, {39034, 0, 0, 0}, 50, 50, { 1252, 500, 10000, 850, 0, ',' }},
-       {0x0037, 0x007F, 257, -1, 39054, 39057, 39066, 39088, 39092, 39054, 0, {39096, 0, 0, 0}, 51, 51, { 0, 500, 2, 1, 0, ';' }},
-       {0x0038, 0x007F, 257, -1, 39161, 39164, 39172, 39182, 39186, 39161, 0, {0, 0, 0, 0}, 52, 52, { 1252, 20277, 10079, 850, 0, ';' }},
-       {0x0039, 0x007F, 257, -1, 39190, 39193, 39199, 39218, 39222, 39190, 0, {39226, 0, 0, 0}, 53, 53, { 0, 500, 2, 1, 0, ',' }},
-       {0x003A, 0x007F, 257, -1, 39267, 39270, 39278, 39284, 39288, 39267, 0, {39292, 0, 0, 0}, 54, 54, { 0, 500, 2, 1, 0, ',' }},
-       {0x003B, 0x007F, 257, -1, 39313, 39316, 39330, 39347, 39351, 39313, 0, {0, 0, 0, 0}, 55, 55, { 1252, 20277, 10000, 850, 0, ';' }},
-       {0x003C, 0x007F, 257, -1, 39355, 39358, 39364, 39372, 39376, 39355, 0, {39380, 0, 0, 0}, 56, 56, { 1252, 500, 10000, 850, 0, ',' }},
-       {0x003E, 0x007F, 257, -1, 39401, 39404, 39410, 39424, 39428, 39401, 0, {39432, 0, 0, 0}, 57, 57, { 1252, 500, 10000, 850, 0, ';' }},
-       {0x003F, 0x007F, 257, -1, 39449, 39452, 39459, 39479, 39483, 39449, 0, {39487, 0, 0, 0}, 58, 58, { 0, 500, 2, 1, 0, ';' }},
-       {0x0040, 0x007F, 257, -1, 39529, 39532, 39540, 39553, 39557, 39529, 0, {0, 0, 0, 0}, 59, 59, { 1251, 20880, 10007, 866, 0, ';' }},
-       {0x0041, 0x007F, 257, -1, 39561, 39564, 39572, 39582, 39586, 39561, 0, {39590, 0, 0, 0}, 60, 60, { 1252, 500, 10000, 437, 0, ',' }},
-       {0x0043, 0x007F, 257, -1, 39611, 39614, 39620, 39631, 39635, 39611, 0, {0, 0, 0, 0}, 61, 61, { 1254, 500, 10029, 857, 0, ';' }},
-       {0x0045, 0x007F, 257, -1, 39639, 39642, 39650, 39666, 39670, 39639, 0, {39674, 0, 0, 0}, 62, 62, { 0, 500, 2, 1, 0, ',' }},
-       {0x0046, 0x007F, 257, -1, 39739, 39742, 39750, 39769, 39773, 39739, 0, {0, 0, 0, 0}, 63, 63, { 0, 500, 2, 1, 0, ',' }},
-       {0x0047, 0x007F, 257, -1, 39777, 39780, 39789, 39811, 39815, 39777, 0, {39819, 0, 0, 0}, 64, 64, { 0, 500, 2, 1, 0, ',' }},
-       {0x0048, 0x007F, 257, -1, 14525, 39875, 39881, 39897, 39901, 14525, 0, {0, 0, 0, 0}, 65, 65, { 0, 500, 2, 1, 0, ',' }},
-       {0x0049, 0x007F, 257, -1, 39905, 39908, 39914, 39930, 39934, 39905, 0, {39938, 0, 0, 0}, 66, 66, { 0, 500, 2, 1, 0, ',' }},
-       {0x004A, 0x007F, 257, -1, 40003, 40006, 40013, 40032, 40036, 40003, 0, {40040, 0, 0, 0}, 67, 67, { 0, 500, 2, 1, 0, ',' }},
-       {0x004B, 0x007F, 257, -1, 35841, 40105, 40113, 40129, 40133, 35841, 0, {40137, 0, 0, 0}, 68, 68, { 0, 500, 2, 1, 0, ',' }},
-       {0x004C, 0x007F, 257, -1, 40208, 40211, 40221, 40240, 40244, 40208, 0, {40248, 0, 0, 0}, 69, 69, { 0, 500, 2, 1, 0, ',' }},
-       {0x004D, 0x007F, 257, -1, 14516, 40298, 40307, 40329, 40333, 14516, 0, {40337, 0, 0, 0}, 70, 70, { 0, 500, 2, 1, 0, ',' }},
-       {0x004E, 0x007F, 257, -1, 40390, 40393, 40401, 40417, 2565, 40390, 0, {40421, 0, 0, 0}, 71, 71, { 0, 500, 2, 1, 0, ',' }},
-       {0x0050, 0x007F, 257, -1, 40483, 40486, 40496, 40509, 40513, 40483, 0, {0, 0, 0, 0}, 72, 72, { 1251, 20880, 10007, 866, 0, ';' }},
-       {0x0051, 0x007F, 257, -1, 40517, 40520, 40528, 40553, 40557, 40517, 0, {0, 0, 0, 0}, 73, 73, { 0, 500, 2, 1, 0, ',' }},
-       {0x0052, 0x007F, 257, -1, 40561, 40564, 40570, 40578, 40582, 40561, 0, {0, 0, 0, 0}, 74, 74, { 1252, 20285, 10000, 850, 0, ',' }},
-       {0x0053, 0x007F, 257, -1, 40586, 40589, 40595, 40623, 40627, 40586, 0, {0, 0, 0, 0}, 75, 75, { 0, 500, 2, 1, 0, ',' }},
-       {0x0054, 0x007F, 257, -1, 40631, 40634, 40638, 40648, 40652, 40631, 0, {0, 0, 0, 0}, 76, 76, { 0, 500, 2, 1, 0, ',' }},
-       {0x0056, 0x007F, 257, -1, 40656, 40659, 40668, 40675, 40679, 40656, 0, {37062, 0, 0, 0}, 77, 77, { 1252, 500, 10000, 850, 0, ';' }},
-       {0x0057, 0x007F, 257, -1, 40683, 40687, 40695, 40714, 40683, 40683, 0, {0, 0, 0, 0}, 78, 78, { 0, 500, 2, 1, 0, ',' }},
-       {0x005B, 0x007F, 257, -1, 40718, 40721, 40729, 40745, 40749, 40718, 0, {40753, 0, 0, 0}, 79, 79, { 0, 500, 2, 1, 0, ',' }},
-       {0x005E, 0x007F, 257, -1, 7865, 40775, 40783, 40796, 40800, 7865, 0, {40804, 0, 0, 0}, 80, 80, { 0, 500, 2, 1, 0, ';' }},
-       {0x005F, 0x007F, 257, -1, 40849, 40853, 40879, 40889, 40849, 40849, 0, {0, 0, 0, 0}, 81, 81, { 1252, 20297, 10000, 850, 0, ';' }},
-       {0x0061, 0x007F, 257, -1, 2059, 40893, 40900, 40919, 40923, 2059, 0, {40927, 0, 0, 0}, 82, 82, { 0, 500, 2, 1, 0, ',' }},
-       {0x0063, 0x007F, 1024, -1, 40977, 40980, 40987, 40996, 41000, 40977, 0, {0, 0, 0, 0}, 83, 83, { 0, 500, 2, 1, 1, ';' }},
-       {0x0064, 0x007F, 257, -1, 41004, 41008, 41008, 41017, 41004, 41004, 0, {41021, 0, 0, 0}, 84, 84, { 1252, 500, 10000, 437, 0, ',' }},
-       {0x0068, 0x007F, 257, -1, 41044, 41047, 41047, 41053, 41057, 41044, 0, {0, 0, 0, 0}, 85, 85, { 1252, 37, 10000, 437, 0, ',' }},
-       {0x006A, 0x007F, 257, -1, 41061, 41064, 41071, 41086, 41090, 41061, 0, {0, 0, 0, 0}, 86, 86, { 1252, 37, 10000, 437, 0, ',' }},
-       {0x006C, 0x007F, 257, -1, 41094, 41098, 41113, 41130, 41094, 41094, 0, {0, 0, 0, 0}, 87, 87, { 1252, 500, 10000, 850, 0, ',' }},
-       {0x006F, 0x007F, 257, -1, 41134, 41137, 41149, 41161, 41165, 41134, 0, {0, 0, 0, 0}, 88, 88, { 1252, 20277, 10000, 850, 0, ';' }},
-       {0x0070, 0x007F, 257, -1, 14510, 41169, 41169, 41174, 41178, 14510, 0, {0, 0, 0, 0}, 89, 89, { 1252, 37, 10000, 437, 0, ',' }},
-       {0x0078, 0x007F, 257, -1, 41182, 41185, 41196, 41206, 41210, 41182, 0, {41214, 0, 0, 0}, 90, 90, { 0, 500, 2, 1, 0, ',' }},
-       {0x007E, 0x007F, 257, -1, 41227, 41230, 41237, 41247, 41251, 41227, 0, {41255, 0, 0, 0}, 91, 91, { 1252, 20297, 10000, 850, 0, ';' }},
-       {0x0082, 0x007F, 257, -1, 41275, 41278, 41286, 41294, 41298, 41275, 0, {0, 0, 0, 0}, 92, 92, { 1252, 20297, 10000, 850, 0, ';' }},
-       {0x0084, 0x007F, 257, -1, 41302, 41306, 41319, 41338, 41302, 41302, 0, {41342, 0, 0, 0}, 93, 93, { 1252, 20297, 10000, 850, 0, ';' }},
-       {0x0085, 0x007F, 257, -1, 41367, 41371, 41377, 41395, 41367, 41367, 0, {0, 0, 0, 0}, 94, 94, { 1251, 20880, 10007, 866, 0, ';' }},
-       {0x0087, 0x007F, 257, -1, 41399, 41402, 41402, 41414, 41418, 41399, 0, {0, 0, 0, 0}, 95, 95, { 1252, 37, 10000, 437, 0, ';' }},
-       {0x0091, 0x007F, 257, -1, 41422, 41425, 41441, 41451, 41455, 41422, 0, {41459, 0, 0, 0}, 96, 96, { 1252, 20285, 10000, 850, 0, ',' }},
-       {0x0401, 0x0001, 768, 98, 41484, 41490, 41512, 36517, 36521, 36492, 13258, {0, 0, 36525, 0}, 97, 97, { 1256, 20420, 10004, 720, 1, ';' }},
-       {0x0402, 0x0002, 257, 11, 41576, 41582, 41603, 36585, 36589, 36553, 41641, {36593, 0, 0, 0}, 98, 98, { 1251, 21025, 10007, 866, 0, ';' }},
-       {0x0403, 0x0003, 257, 32, 41644, 41650, 41666, 36654, 36658, 36635, 41684, {36662, 0, 0, 0}, 99, 99, { 1252, 500, 10000, 850, 0, ';' }},
-       {0x0404, 0x7C04, 257, 110, 41687, 41693, 41715, 41731, 36728, 36732, 41735, {41738, 0, 0, 0}, 100, 100, { 950, 500, 10002, 950, 0, ',' }},
-       {0x0405, 0x0005, 257, 24, 41745, 41751, 41774, 36790, 36794, 36771, 41804, {36798, 0, 0, 0}, 101, 101, { 1250, 500, 10029, 852, 0, ';' }},
-       {0x0406, 0x0006, 257, 26, 41807, 41813, 41830, 36840, 36844, 36824, 41846, {36848, 0, 0, 0}, 102, 102, { 1252, 20277, 10000, 850, 0, ';' }},
-       {0x0407, 0x0007, 257, 25, 41849, 41855, 41872, 36887, 36891, 36869, 41894, {36895, 0, 0, 0}, 103, 103, { 1252, 20273, 10000, 850, 0, ';' }},
-       {0x0408, 0x0008, 257, 40, 41897, 41903, 41918, 36946, 36950, 36920, 41950, {36954, 0, 0, 0}, 104, 104, { 1253, 20273, 10006, 737, 0, ';' }},
-       {0x0409, 0x0009, 257, 112, 41953, 41959, 41959, 37007, 37011, 36996, 41983, {37015, 0, 0, 0}, 105, 105, { 1252, 37, 10000, 437, 0, ',' }},
-       {0x040B, 0x000B, 257, 34, 41986, 41992, 42010, 37101, 37105, 37084, 42024, {37109, 0, 0, 0}, 106, 106, { 1252, 20278, 10000, 850, 0, ';' }},
-       {0x040C, 0x000C, 257, 36, 42027, 42033, 42049, 37154, 37158, 37134, 42068, {37162, 0, 0, 0}, 107, 107, { 1252, 20297, 10000, 850, 0, ';' }},
-       {0x040D, 0x000D, 257, 48, 42071, 42077, 42093, 37205, 37209, 37184, 42117, {37213, 0, 0, 0}, 108, 108, { 1255, 500, 10005, 862, 1, ',' }},
-       {0x040E, 0x000E, 257, 45, 42120, 42126, 42146, 37266, 37270, 37246, 42169, {37274, 0, 0, 0}, 109, 109, { 1250, 500, 10029, 852, 0, ';' }},
-       {0x040F, 0x000F, 257, 52, 42172, 42178, 42198, 37313, 37317, 37290, 42218, {37321, 0, 0, 0}, 110, 110, { 1252, 20871, 10079, 850, 0, ';' }},
-       {0x0410, 0x0010, 257, 53, 42221, 42227, 42243, 37361, 37365, 37341, 42261, {37062, 0, 0, 0}, 111, 111, { 1252, 20280, 10000, 850, 0, ';' }},
-       {0x0411, 0x0011, 257, 56, 42264, 42270, 42287, 37391, 37395, 37369, 42306, {37399, 0, 0, 0}, 112, 112, { 932, 20290, 10001, 932, 0, ',' }},
-       {0x0412, 0x0012, 257, 60, 42309, 42315, 42336, 37446, 37450, 37426, 42361, {37454, 0, 0, 0}, 113, 113, { 949, 20833, 10003, 949, 0, ',' }},
-       {0x0413, 0x0013, 257, 80, 42364, 42370, 42390, 37484, 37488, 37464, 42413, {37492, 0, 0, 0}, 114, 114, { 1252, 500, 10000, 850, 0, ';' }},
-       {0x0414, 0x7C14, 257, 81, 42416, 42422, 42449, 37533, 37537, 37541, 42471, {36848, 0, 0, 0}, 115, 115, { 1252, 20277, 10000, 850, 0, ';' }},
-       {0x0415, 0x0015, 257, 89, 42474, 42480, 42496, 37561, 37565, 37544, 42512, {37569, 0, 0, 0}, 116, 116, { 1250, 20880, 10029, 852, 0, ';' }},
-       {0x0416, 0x0016, 257, 15, 42515, 42521, 42541, 37618, 37622, 37593, 42561, {37626, 0, 0, 0}, 117, 117, { 1252, 500, 10000, 850, 0, ';' }},
-       {0x0417, 0x0017, 257, 19, 42564, 42570, 42592, 37670, 37674, 37649, 13261, {37678, 0, 0, 0}, 118, 118, { 1252, 20273, 10000, 850, 0, ';' }},
-       {0x0418, 0x0018, 257, 94, 42611, 42617, 42636, 37719, 37723, 37698, 42656, {37727, 0, 0, 0}, 119, 119, { 1250, 20880, 10029, 852, 0, ';' }},
-       {0x0419, 0x0019, 257, 96, 42659, 42665, 42682, 37772, 37776, 37746, 42712, {37780, 0, 0, 0}, 120, 120, { 1251, 20880, 10007, 866, 0, ';' }},
-       {0x041A, 0x001A, 257, 44, 42715, 42721, 42740, 37847, 37851, 37826, 42760, {37855, 0, 0, 0}, 121, 121, { 1250, 500, 10082, 852, 0, ';' }},
-       {0x041B, 0x001B, 257, 102, 42763, 42769, 42787, 37900, 37904, 37878, 42822, {37908, 0, 0, 0}, 122, 122, { 1250, 20880, 10029, 852, 0, ';' }},
-       {0x041C, 0x001C, 257, 2, 42825, 42831, 42850, 37950, 37954, 37932, 42869, {0, 0, 0, 0}, 123, 123, { 1250, 20880, 10029, 852, 0, ';' }},
-       {0x041D, 0x001D, 257, 99, 42872, 42878, 42895, 37977, 37981, 37958, 42913, {36848, 0, 0, 0}, 124, 124, { 1252, 20278, 10000, 850, 0, ';' }},
-       {0x041E, 0x001E, 512, 105, 42916, 42922, 42938, 38003, 38007, 37985, 42960, {0, 38011, 0, 0}, 125, 125, { 874, 20838, 10021, 874, 0, ',' }},
-       {0x041F, 0x001F, 257, 108, 42963, 42969, 42986, 38062, 38066, 38042, 43006, {38070, 0, 0, 0}, 126, 126, { 1254, 20905, 10081, 857, 0, ';' }},
-       {0x0420, 0x0020, 257, 88, 43009, 43015, 43031, 38101, 38105, 38084, 43057, {38109, 0, 0, 0}, 127, 127, { 1256, 20420, 10004, 720, 1, ';' }},
-       {0x0421, 0x0021, 257, 46, 43060, 43066, 43089, 38170, 38174, 38139, 43118, {38178, 0, 0, 0}, 128, 128, { 1252, 500, 10000, 850, 0, ';' }},
-       {0x0422, 0x0022, 257, 111, 43121, 43127, 43147, 38231, 38235, 38197, 43185, {38239, 0, 0, 0}, 129, 129, { 1251, 500, 10017, 866, 0, ';' }},
-       {0x0423, 0x0023, 257, 16, 43188, 43194, 43215, 38320, 38324, 38285, 43255, {38328, 0, 0, 0}, 130, 130, { 1251, 500, 10007, 866, 0, ';' }},
-       {0x0424, 0x0024, 257, 101, 43258, 43264, 43285, 38397, 38401, 38370, 43311, {38405, 0, 0, 0}, 131, 131, { 1250, 20880, 10029, 852, 0, ';' }},
-       {0x0425, 0x0025, 257, 30, 43314, 43320, 43339, 38445, 38449, 38427, 43353, {38453, 0, 0, 0}, 132, 132, { 1257, 500, 10029, 775, 0, ';' }},
-       {0x0426, 0x0026, 257, 68, 43356, 43362, 43379, 38494, 38498, 38473, 43399, {38502, 0, 0, 0}, 133, 133, { 1257, 500, 10029, 775, 0, ';' }},
-       {0x0427, 0x0027, 257, 66, 43402, 43408, 43431, 38545, 38549, 38521, 43451, {38553, 0, 0, 0}, 134, 134, { 1257, 500, 10029, 775, 0, ';' }},
-       {0x0428, 0x7C28, 257, 106, 43454, 43465, 0, 38585, 38589, 38576, 43494, {0, 0, 0, 0}, 135, 135, { 1251, 20880, 10007, 866, 0, ';' }},
-       {0x0429, 0x0029, 257, 51, 43497, 43503, 43518, 38615, 38619, 38593, 43542, {38623, 0, 0, 0}, 136, 136, { 1256, 20420, 10004, 720, 1, ';' }},
-       {0x042A, 0x002A, 257, 116, 43545, 43551, 43572, 38676, 4121, 38647, 43600, {38680, 0, 0, 0}, 137, 137, { 1258, 500, 10000, 1258, 0, ',' }},
-       {0x042B, 0x002B, 257, 3, 43603, 43609, 43628, 38722, 38726, 38695, 3781, {0, 0, 0, 0}, 138, 138, { 0, 500, 2, 1, 0, ',' }},
-       {0x042C, 0x782C, 257, 7, 43693, 43704, 43736, 38756, 38760, 14519, 43764, {38764, 0, 0, 0}, 139, 139, { 1254, 20905, 10081, 857, 0, ';' }},
-       {0x042D, 0x002D, 257, 32, 43767, 43773, 43788, 38800, 38804, 38782, 41684, {38808, 0, 0, 0}, 140, 140, { 1252, 500, 10000, 850, 0, ';' }},
-       {0x042F, 0x002F, 257, 73, 43807, 43813, 43836, 38863, 38867, 38828, 43880, {38871, 0, 0, 0}, 141, 141, { 1251, 500, 10007, 866, 0, ';' }},
-       {0x0432, 0x0032, 257, 118, 43883, 43889, 38925, 38934, 38938, 38915, 43911, {0, 0, 0, 0}, 142, 142, { 1252, 500, 10000, 850, 0, ',' }},
-       {0x0434, 0x0034, 257, 118, 43914, 43920, 38951, 38960, 38964, 38942, 43911, {0, 0, 0, 0}, 143, 143, { 1252, 500, 10000, 850, 0, ',' }},
-       {0x0435, 0x0035, 257, 118, 43941, 43947, 43967, 38984, 38988, 38968, 43911, {38992, 0, 0, 0}, 144, 144, { 1252, 500, 10000, 850, 0, ',' }},
-       {0x0436, 0x0036, 257, 118, 43995, 44001, 44026, 39026, 39030, 39013, 43911, {39034, 0, 0, 0}, 145, 145, { 1252, 500, 10000, 850, 0, ',' }},
-       {0x0437, 0x0037, 257, 38, 44050, 44056, 44075, 39088, 39092, 39054, 44130, {39096, 0, 0, 0}, 146, 146, { 0, 500, 2, 1, 0, ';' }},
-       {0x0438, 0x0038, 257, 35, 44133, 44139, 44163, 39182, 39186, 39161, 44184, {0, 0, 0, 0}, 147, 147, { 1252, 20277, 10079, 850, 0, ';' }},
-       {0x0439, 0x0039, 257, 49, 44187, 44193, 44207, 39218, 39222, 39190, 44241, {39226, 0, 0, 0}, 148, 148, { 0, 500, 2, 1, 0, ',' }},
-       {0x043A, 0x003A, 257, 75, 44244, 44250, 44266, 39284, 39288, 39267, 44280, {39292, 0, 0, 0}, 149, 149, { 0, 500, 2, 1, 0, ',' }},
-       {0x043B, 0x003B, 257, 81, 44283, 44289, 44312, 39347, 39351, 39313, 42471, {0, 0, 0, 0}, 150, 150, { 1252, 20277, 10000, 850, 0, ';' }},
-       {0x043E, 0x003E, 257, 77, 44337, 44343, 44360, 39424, 39428, 39401, 44385, {39432, 0, 0, 0}, 151, 151, { 1252, 500, 10000, 850, 0, ';' }},
-       {0x0440, 0x0040, 257, 58, 44388, 44394, 44415, 39553, 39557, 39529, 44451, {0, 0, 0, 0}, 152, 152, { 1251, 20880, 10007, 866, 0, ';' }},
-       {0x0441, 0x0041, 257, 57, 44454, 44460, 44476, 39582, 39586, 39561, 44494, {39590, 0, 0, 0}, 153, 153, { 1252, 500, 10000, 437, 0, ',' }},
-       {0x0443, 0x7C43, 257, 114, 44497, 44508, 44534, 39631, 39635, 39611, 44568, {0, 0, 0, 0}, 154, 154, { 1254, 500, 10029, 857, 0, ';' }},
-       {0x0445, 0x0045, 257, 49, 44571, 44577, 44593, 39666, 39670, 39639, 44241, {39674, 0, 0, 0}, 155, 155, { 0, 500, 2, 1, 0, ',' }},
-       {0x0447, 0x0047, 257, 49, 44624, 44630, 44647, 39811, 39815, 39777, 44241, {39819, 0, 0, 0}, 156, 156, { 0, 500, 2, 1, 0, ',' }},
-       {0x0448, 0x0048, 257, 49, 44684, 44690, 44704, 39897, 39901, 14525, 44241, {0, 0, 0, 0}, 157, 157, { 0, 500, 2, 1, 0, ',' }},
-       {0x0449, 0x0049, 257, 49, 44735, 44741, 44755, 39930, 39934, 39905, 44241, {39938, 0, 0, 0}, 158, 158, { 0, 500, 2, 1, 0, ',' }},
-       {0x044A, 0x004A, 257, 49, 44795, 44801, 44816, 40032, 40036, 40003, 44241, {40040, 0, 0, 0}, 159, 159, { 0, 500, 2, 1, 0, ',' }},
-       {0x044B, 0x004B, 257, 49, 44863, 44869, 44885, 40129, 40133, 35841, 44241, {40137, 0, 0, 0}, 160, 160, { 0, 500, 2, 1, 0, ',' }},
-       {0x044C, 0x004C, 257, 49, 44916, 44922, 44940, 40240, 40244, 40208, 44241, {40248, 0, 0, 0}, 161, 161, { 0, 500, 2, 1, 0, ',' }},
-       {0x044D, 0x004D, 257, 49, 44980, 44986, 45003, 40329, 40333, 14516, 44241, {40337, 0, 0, 0}, 162, 162, { 0, 500, 2, 1, 0, ',' }},
-       {0x044E, 0x004E, 257, 49, 45040, 45046, 45062, 40417, 2565, 40390, 44241, {40421, 0, 0, 0}, 163, 163, { 0, 500, 2, 1, 0, ',' }},
-       {0x0451, 0x0051, 257, 21, 45093, 45099, 45115, 40553, 40557, 40517, 13340, {0, 0, 0, 0}, 164, 164, { 0, 500, 2, 1, 0, ',' }},
-       {0x0452, 0x0052, 257, 37, 45161, 45167, 45190, 40578, 40582, 40561, 45213, {0, 0, 0, 0}, 165, 165, { 1252, 20285, 10000, 850, 0, ',' }},
-       {0x0453, 0x0053, 257, 59, 45216, 45222, 45239, 40623, 40627, 40586, 45291, {0, 0, 0, 0}, 166, 166, { 0, 500, 2, 1, 0, ',' }},
-       {0x0454, 0x0054, 257, 62, 45294, 45300, 45311, 40648, 40652, 40631, 45333, {0, 0, 0, 0}, 167, 167, { 0, 500, 2, 1, 0, ',' }},
-       {0x0456, 0x0056, 257, 32, 45336, 45342, 45359, 40675, 40679, 40656, 41684, {37062, 0, 0, 0}, 168, 168, { 1252, 500, 10000, 850, 0, ';' }},
-       {0x0457, 0x0057, 257, 49, 45376, 45383, 45399, 40714, 40683, 40683, 44241, {0, 0, 0, 0}, 169, 169, { 0, 500, 2, 1, 0, ',' }},
-       {0x045B, 0x005B, 257, 65, 45433, 45439, 45459, 40745, 40749, 40718, 45509, {40753, 0, 0, 0}, 170, 170, { 0, 500, 2, 1, 0, ',' }},
-       {0x045E, 0x005E, 257, 33, 45512, 45518, 45537, 40796, 40800, 7865, 45568, {40804, 0, 0, 0}, 171, 171, { 0, 500, 2, 1, 0, ';' }},
-       {0x0461, 0x0061, 257, 82, 45571, 45577, 45592, 40919, 40923, 2059, 45629, {40927, 0, 0, 0}, 172, 172, { 0, 500, 2, 1, 0, ',' }},
-       {0x0463, 0x0063, 1024, 1, 45632, 45638, 45659, 40996, 41000, 40977, 45689, {0, 0, 0, 0}, 173, 173, { 0, 500, 2, 1, 1, ';' }},
-       {0x0464, 0x0064, 257, 87, 45692, 45699, 45722, 41017, 41004, 41004, 45743, {41021, 0, 0, 0}, 174, 174, { 1252, 500, 10000, 437, 0, ',' }},
-       {0x0468, 0x7C68, 257, 78, 45746, 45757, 45780, 41053, 41057, 41044, 45797, {0, 0, 0, 0}, 175, 175, { 1252, 37, 10000, 437, 0, ',' }},
-       {0x046A, 0x006A, 257, 78, 45800, 45806, 45823, 41086, 41090, 41061, 45797, {0, 0, 0, 0}, 176, 176, { 1252, 37, 10000, 437, 0, ',' }},
-       {0x046C, 0x006C, 257, 118, 45869, 45876, 41113, 41130, 41094, 41094, 43911, {0, 0, 0, 0}, 177, 177, { 1252, 500, 10000, 850, 0, ',' }},
-       {0x046F, 0x006F, 257, 39, 45906, 45912, 45936, 41161, 41165, 41134, 45967, {0, 0, 0, 0}, 178, 178, { 1252, 20277, 10000, 850, 0, ';' }},
-       {0x0470, 0x0070, 257, 78, 45970, 45976, 45976, 41174, 41178, 14510, 45797, {0, 0, 0, 0}, 179, 179, { 1252, 37, 10000, 437, 0, ',' }},
-       {0x0478, 0x0078, 257, 21, 45991, 45997, 46016, 41206, 41210, 41182, 13340, {41214, 0, 0, 0}, 180, 180, { 0, 500, 2, 1, 0, ',' }},
-       {0x047E, 0x007E, 257, 36, 46035, 46041, 46057, 41247, 41251, 41227, 42068, {41255, 0, 0, 0}, 181, 181, { 1252, 20297, 10000, 850, 0, ';' }},
-       {0x0482, 0x0082, 257, 36, 46076, 46082, 46099, 41294, 41298, 41275, 42068, {0, 0, 0, 0}, 182, 182, { 1252, 20297, 10000, 850, 0, ';' }},
-       {0x0485, 0x0085, 257, 96, 46117, 46124, 41377, 41395, 41367, 41367, 42712, {0, 0, 0, 0}, 183, 183, { 1251, 20880, 10007, 866, 0, ';' }},
-       {0x0487, 0x0087, 257, 97, 46139, 46145, 46145, 41414, 41418, 41399, 46166, {0, 0, 0, 0}, 184, 184, { 1252, 37, 10000, 437, 0, ';' }},
-       {0x0491, 0x0091, 257, 37, 46169, 46175, 46208, 41451, 41455, 41422, 45213, {41459, 0, 0, 0}, 185, 185, { 1252, 20285, 10000, 850, 0, ',' }},
-       {0x0801, 0x0001, 257, 50, 46244, 46250, 46264, 46294, 36521, 36492, 46298, {36525, 0, 0, 0}, 186, 186, { 1256, 20420, 10004, 720, 1, ';' }},
-       {0x0804, 0x0004, 257, 21, 46301, 36750, 46307, 36724, 36728, 36732, 13340, {36735, 0, 0, 0}, 187, 187, { 936, 500, 10008, 936, 0, ',' }},
-       {0x0807, 0x0007, 257, 19, 46323, 46329, 46350, 46368, 36891, 36869, 13261, {36895, 0, 0, 0}, 188, 188, { 1252, 20273, 10000, 850, 0, ';' }},
-       {0x0809, 0x0009, 257, 37, 46372, 46378, 46378, 46403, 37011, 36996, 45213, {37015, 0, 0, 0}, 189, 189, { 1252, 20285, 10000, 850, 0, ',' }},
-       {0x080A, 0x000A, 257, 76, 46407, 46413, 46430, 46449, 37058, 37034, 46453, {37062, 0, 0, 0}, 190, 190, { 1252, 20284, 10000, 850, 0, ',' }},
-       {0x080C, 0x000C, 257, 10, 46456, 46462, 46479, 46500, 37158, 37134, 46504, {37162, 0, 0, 0}, 191, 191, { 1252, 20297, 10000, 850, 0, ';' }},
-       {0x0810, 0x0010, 257, 19, 46507, 46513, 46535, 46555, 37365, 37341, 13261, {37062, 0, 0, 0}, 192, 192, { 1252, 500, 10000, 850, 0, ';' }},
-       {0x0813, 0x0013, 257, 10, 46559, 46565, 46581, 46602, 37488, 37464, 46504, {37492, 0, 0, 0}, 193, 193, { 1252, 500, 10000, 850, 0, ';' }},
-       {0x0814, 0x7814, 257, 81, 46606, 46612, 46639, 46655, 46659, 46663, 42471, {36848, 0, 0, 0}, 194, 194, { 1252, 20277, 10000, 850, 0, ';' }},
-       {0x0816, 0x0016, 257, 91, 46666, 46672, 46694, 46716, 37622, 37593, 46720, {37626, 0, 0, 0}, 195, 195, { 1252, 500, 10000, 850, 0, ';' }},
-       {0x081D, 0x001D, 257, 34, 46723, 46729, 46747, 46765, 37981, 37958, 42024, {36848, 0, 0, 0}, 196, 196, { 1252, 20278, 10000, 850, 0, ';' }},
-       {0x082C, 0x742C, 257, 7, 46769, 46780, 43736, 46815, 38760, 14519, 43764, {38764, 0, 0, 0}, 197, 197, { 1251, 20880, 10007, 866, 0, ';' }},
-       {0x083C, 0x003C, 257, 47, 46819, 46825, 46841, 39372, 39376, 39355, 46857, {39380, 0, 0, 0}, 198, 198, { 1252, 500, 10000, 850, 0, ',' }},
-       {0x083E, 0x003E, 257, 13, 46860, 46866, 46881, 46904, 39428, 39401, 46908, {39432, 0, 0, 0}, 199, 199, { 1252, 500, 10000, 850, 0, ';' }},
-       {0x0843, 0x7843, 257, 114, 46911, 46922, 44534, 39631, 39635, 39611, 44568, {0, 0, 0, 0}, 200, 200, { 1251, 20880, 10007, 866, 0, ';' }},
-       {0x0845, 0x0045, 257, 9, 46951, 46957, 46978, 47021, 39670, 39639, 47025, {39674, 0, 0, 0}, 201, 201, { 0, 500, 2, 1, 0, ',' }},
-       {0x0850, 0x7C50, 257, 21, 47028, 47039, 40496, 47068, 40513, 40483, 13340, {0, 0, 0, 0}, 202, 202, { 0, 500, 2, 1, 0, ',' }},
-       {0x0C01, 0x0001, 257, 31, 47072, 47078, 47093, 47117, 36521, 36492, 47121, {36525, 0, 0, 0}, 203, 203, { 1256, 20420, 10004, 720, 1, ';' }},
-       {0x0C04, 0x7C04, 257, 42, 47124, 47130, 47173, 47210, 36728, 36732, 47214, {41738, 0, 0, 0}, 204, 204, { 950, 500, 10002, 950, 0, ',' }},
-       {0x0C07, 0x0007, 257, 5, 47217, 47223, 47240, 47262, 36891, 36869, 47266, {36895, 0, 0, 0}, 205, 205, { 1252, 20273, 10000, 850, 0, ';' }},
-       {0x0C09, 0x0009, 257, 6, 47269, 47275, 47275, 47295, 37011, 36996, 47299, {37015, 0, 0, 0}, 206, 206, { 1252, 500, 10000, 850, 0, ',' }},
-       {0x0C0A, 0x000A, 257, 32, 47302, 47308, 47324, 47343, 37058, 37034, 41684, {37062, 0, 0, 0}, 207, 207, { 1252, 20284, 10000, 850, 0, ';' }},
-       {0x0C0C, 0x000C, 257, 18, 47347, 47353, 47369, 47388, 37158, 37134, 47392, {37162, 0, 0, 0}, 208, 208, { 1252, 20297, 10000, 850, 0, ';' }},
-       {0x0C3B, 0x003B, 257, 34, 47395, 47401, 47425, 47451, 47455, 39313, 42024, {0, 0, 0, 0}, 209, 209, { 1252, 20278, 10000, 850, 0, ';' }},
-       {0x1001, 0x0001, 257, 69, 47459, 47465, 47480, 47508, 36521, 36492, 47512, {36525, 0, 0, 0}, 210, 210, { 1256, 20420, 10004, 720, 1, ';' }},
-       {0x1004, 0x0004, 257, 100, 47515, 47521, 47553, 47572, 36728, 36732, 47576, {36735, 0, 0, 0}, 211, 211, { 936, 500, 10008, 936, 0, ',' }},
-       {0x1007, 0x0007, 257, 67, 47579, 47585, 47605, 47625, 36891, 36869, 47629, {36895, 0, 0, 0}, 212, 212, { 1252, 20273, 10000, 850, 0, ';' }},
-       {0x1009, 0x0009, 257, 18, 47632, 47638, 47638, 47655, 37011, 36996, 47392, {37015, 0, 0, 0}, 213, 213, { 1252, 37, 10000, 850, 0, ',' }},
-       {0x100A, 0x000A, 257, 41, 47659, 47665, 47685, 47706, 37058, 37034, 47710, {37062, 0, 0, 0}, 214, 214, { 1252, 20284, 10000, 850, 0, ',' }},
-       {0x100C, 0x000C, 257, 19, 47713, 47719, 47740, 47759, 37158, 37134, 13261, {37162, 0, 0, 0}, 215, 215, { 1252, 20297, 10000, 850, 0, ';' }},
-       {0x1401, 0x0001, 257, 28, 47763, 47769, 47786, 47818, 36521, 36492, 47822, {36525, 0, 0, 0}, 216, 216, { 1256, 20420, 10004, 720, 1, ';' }},
-       {0x1404, 0x7C04, 257, 74, 47825, 47831, 47870, 47907, 36728, 36732, 47911, {41738, 0, 0, 0}, 217, 217, { 950, 500, 10002, 950, 0, ',' }},
-       {0x1407, 0x0007, 257, 64, 47914, 47920, 47943, 47967, 36891, 36869, 47971, {36895, 0, 0, 0}, 218, 218, { 1252, 20273, 10000, 850, 0, ';' }},
-       {0x1409, 0x0009, 257, 83, 47974, 47980, 47980, 48002, 37011, 36996, 48006, {37015, 0, 0, 0}, 219, 219, { 1252, 500, 10000, 850, 0, ',' }},
-       {0x140A, 0x000A, 257, 23, 48009, 48015, 48036, 48058, 37058, 37034, 48062, {37062, 0, 0, 0}, 220, 220, { 1252, 20284, 10000, 850, 0, ',' }},
-       {0x140C, 0x000C, 257, 67, 48065, 48071, 48091, 48114, 37158, 37134, 47629, {37162, 0, 0, 0}, 221, 221, { 1252, 20297, 10000, 850, 0, ';' }},
-       {0x1801, 0x0001, 257, 70, 48118, 48124, 48141, 48171, 36521, 36492, 48175, {36525, 0, 0, 0}, 222, 222, { 1256, 20420, 10004, 720, 1, ';' }},
-       {0x1809, 0x0009, 257, 47, 48178, 48184, 48184, 48202, 37011, 36996, 46857, {37015, 0, 0, 0}, 223, 223, { 1252, 500, 10000, 850, 0, ',' }},
-       {0x180A, 0x000A, 257, 85, 48206, 48212, 48229, 48248, 37058, 37034, 48252, {37062, 0, 0, 0}, 224, 224, { 1252, 20284, 10000, 850, 0, ',' }},
-       {0x180C, 0x000C, 257, 71, 48255, 48261, 48277, 48296, 37158, 37134, 48300, {37162, 0, 0, 0}, 225, 225, { 1252, 20297, 10000, 850, 0, ';' }},
-       {0x181A, 0x701A, 257, 8, 48303, 48314, 48354, 48406, 48410, 48414, 48417, {48420, 0, 0, 0}, 226, 226, { 1250, 870, 10082, 852, 0, ';' }},
-       {0x1C01, 0x0001, 257, 107, 48443, 48449, 48466, 48492, 36521, 36492, 48496, {36525, 0, 0, 0}, 227, 227, { 1256, 20420, 10004, 720, 1, ';' }},
-       {0x1C09, 0x0009, 257, 118, 48499, 48505, 48505, 48528, 37011, 36996, 43911, {37015, 0, 0, 0}, 228, 228, { 1252, 500, 10000, 437, 0, ',' }},
-       {0x1C0A, 0x000A, 257, 27, 48532, 48538, 48567, 48600, 37058, 37034, 48604, {37062, 0, 0, 0}, 229, 229, { 1252, 20284, 10000, 850, 0, ',' }},
-       {0x1C1A, 0x6C1A, 257, 8, 48607, 48618, 48354, 48661, 48665, 48414, 48417, {38871, 0, 0, 0}, 230, 230, { 1251, 21025, 10007, 855, 0, ';' }},
-       {0x2001, 0x0001, 257, 84, 48669, 48675, 48689, 48717, 36521, 36492, 48721, {36525, 0, 0, 0}, 231, 231, { 1256, 20420, 10004, 720, 1, ';' }},
-       {0x2009, 0x0009, 257, 54, 48724, 48730, 48730, 48748, 37011, 36996, 48752, {37015, 0, 0, 0}, 232, 232, { 1252, 500, 10000, 850, 0, ',' }},
-       {0x200A, 0x000A, 257, 115, 48755, 48761, 48781, 48802, 37058, 37034, 48806, {37062, 0, 0, 0}, 233, 233, { 1252, 20284, 10000, 850, 0, ',' }},
-       {0x2401, 0x0001, 257, 117, 48809, 48815, 48830, 48858, 36521, 36492, 48862, {36525, 0, 0, 0}, 234, 234, { 1256, 20420, 10004, 720, 1, ';' }},
-       {0x240A, 0x000A, 257, 22, 48865, 48871, 48890, 48910, 37058, 37034, 48914, {37062, 0, 0, 0}, 235, 235, { 1252, 20284, 10000, 850, 0, ',' }},
-       {0x241A, 0x701A, 257, 95, 48917, 48928, 48952, 48980, 9243, 48414, 48984, {48420, 0, 0, 0}, 236, 236, { 1250, 500, 10029, 852, 0, ';' }},
-       {0x2801, 0x0001, 257, 104, 48987, 48993, 49008, 49036, 36521, 36492, 49040, {36525, 0, 0, 0}, 237, 237, { 1256, 20420, 10004, 720, 1, ';' }},
-       {0x2809, 0x0009, 257, 17, 49043, 49049, 49049, 49066, 37011, 36996, 49070, {37015, 0, 0, 0}, 238, 238, { 1252, 500, 10000, 850, 0, ';' }},
-       {0x280A, 0x000A, 257, 86, 49073, 49079, 49094, 49111, 37058, 37034, 49115, {37062, 0, 0, 0}, 239, 239, { 1252, 20284, 10000, 850, 0, ',' }},
-       {0x281A, 0x6C1A, 257, 95, 49118, 49129, 48952, 49156, 9243, 48414, 48984, {38871, 0, 0, 0}, 240, 240, { 1251, 21025, 10007, 855, 0, ';' }},
-       {0x2C01, 0x0001, 257, 55, 49160, 49166, 49182, 49212, 36521, 36492, 49216, {36525, 0, 0, 0}, 241, 241, { 1256, 20420, 10004, 720, 1, ';' }},
-       {0x2C09, 0x0009, 257, 109, 49219, 49225, 49225, 49255, 37011, 36996, 49259, {37015, 0, 0, 0}, 242, 242, { 1252, 500, 10000, 850, 0, ';' }},
-       {0x2C0A, 0x000A, 257, 4, 49262, 49268, 49288, 49309, 37058, 37034, 49313, {37062, 0, 0, 0}, 243, 243, { 1252, 20284, 10000, 850, 0, ',' }},
-       {0x2C1A, 0x701A, 257, 72, 49316, 49327, 49355, 49388, 9243, 48414, 49392, {48420, 0, 0, 0}, 244, 244, { 1250, 500, 10029, 852, 0, ';' }},
-       {0x3001, 0x0001, 257, 63, 49395, 49401, 49418, 49446, 36521, 36492, 49450, {36525, 0, 0, 0}, 245, 245, { 1256, 20420, 10004, 720, 1, ';' }},
-       {0x3009, 0x0009, 257, 119, 49453, 49459, 49459, 49478, 37011, 36996, 49482, {37015, 0, 0, 0}, 246, 246, { 1252, 500, 10000, 437, 0, ',' }},
-       {0x300A, 0x000A, 257, 29, 49485, 49491, 49509, 49528, 37058, 37034, 49532, {37062, 0, 0, 0}, 247, 247, { 1252, 20284, 10000, 850, 0, ',' }},
-       {0x301A, 0x6C1A, 257, 72, 49535, 49546, 49355, 49577, 9243, 48414, 49392, {38871, 0, 0, 0}, 248, 248, { 1251, 21025, 10007, 855, 0, ';' }},
-       {0x3401, 0x0001, 257, 61, 49581, 49587, 49603, 49633, 36521, 36492, 49637, {36525, 0, 0, 0}, 249, 249, { 1256, 20420, 10004, 720, 1, ';' }},
-       {0x3409, 0x0009, 257, 87, 49640, 49646, 49646, 49668, 37011, 36996, 45743, {37015, 0, 0, 0}, 250, 250, { 1252, 500, 10000, 437, 0, ',' }},
-       {0x340A, 0x000A, 257, 20, 49672, 49678, 49694, 49711, 37058, 37034, 49715, {37062, 0, 0, 0}, 251, 251, { 1252, 20284, 10000, 850, 0, ',' }},
-       {0x3801, 0x0001, 257, 0, 49718, 49724, 49754, 49818, 36521, 36492, 49822, {36525, 0, 0, 0}, 252, 252, { 1256, 20420, 10004, 720, 1, ';' }},
-       {0x380A, 0x000A, 257, 113, 49825, 49831, 49849, 49868, 37058, 37034, 49872, {37062, 0, 0, 0}, 253, 253, { 1252, 20284, 10000, 850, 0, ',' }},
-       {0x3C01, 0x0001, 257, 12, 49875, 49881, 49898, 49930, 36521, 36492, 49934, {36525, 0, 0, 0}, 254, 254, { 1256, 20420, 10004, 720, 1, ';' }},
-       {0x3C0A, 0x000A, 257, 92, 49937, 49943, 49962, 49982, 37058, 37034, 49986, {37062, 0, 0, 0}, 255, 255, { 1252, 20284, 10000, 850, 0, ',' }},
-       {0x4001, 0x0001, 257, 93, 49989, 49995, 50010, 50034, 36521, 36492, 50038, {36525, 0, 0, 0}, 256, 256, { 1256, 20420, 10004, 720, 1, ';' }},
-       {0x4009, 0x0009, 257, 49, 50041, 50047, 50047, 50063, 37011, 36996, 44241, {37015, 0, 0, 0}, 257, 257, { 1252, 37, 10000, 437, 0, ',' }},
-       {0x400A, 0x000A, 257, 14, 50067, 50073, 50091, 50110, 37058, 37034, 50114, {37062, 0, 0, 0}, 258, 258, { 1252, 20284, 10000, 850, 0, ',' }},
-       {0x440A, 0x000A, 257, 103, 50117, 50123, 50145, 50168, 37058, 37034, 50172, {37062, 0, 0, 0}, 259, 259, { 1252, 20284, 10000, 850, 0, ',' }},
-       {0x4809, 0x0009, 257, 100, 50175, 50181, 50181, 50201, 37011, 36996, 47576, {37015, 0, 0, 0}, 260, 260, { 1252, 37, 10000, 437, 0, ',' }},
-       {0x480A, 0x000A, 257, 43, 50205, 50211, 50230, 50250, 37058, 37034, 50254, {37062, 0, 0, 0}, 261, 261, { 1252, 20284, 10000, 850, 0, ',' }},
-       {0x4C0A, 0x000A, 257, 79, 50257, 50263, 50283, 50304, 37058, 37034, 50308, {37062, 0, 0, 0}, 262, 262, { 1252, 20284, 10000, 850, 0, ',' }},
-       {0x500A, 0x000A, 257, 90, 50311, 50317, 50339, 50362, 37058, 37034, 50366, {37062, 0, 0, 0}, 263, 263, { 1252, 20284, 10000, 850, 0, ',' }},
-       {0x540A, 0x000A, 257, 112, 50369, 50375, 50399, 50425, 37058, 37034, 41983, {37062, 0, 0, 0}, 264, 264, { 1252, 20284, 10000, 850, 0, ',' }},
-       {0x6C1A, 0x7C1A, 257, -1, 50429, 50437, 50456, 49156, 9243, 48414, 0, {38871, 0, 0, 0}, 265, 265, { 1251, 21025, 10007, 855, 0, ';' }},
-       {0x701A, 0x7C1A, 257, -1, 50469, 50477, 50456, 48980, 9243, 48414, 0, {48420, 0, 0, 0}, 266, 266, { 1250, 500, 10029, 852, 0, ';' }},
-       {0x742C, 0x002C, 257, -1, 50493, 50501, 38742, 46815, 38760, 14519, 0, {38764, 0, 0, 0}, 267, 267, { 1251, 20880, 10007, 866, 0, ';' }},
-       {0x7804, 0x007F, 257, -1, 36732, 36750, 36717, 36724, 36728, 36732, 0, {36735, 0, 0, 0}, 268, 268, { 936, 500, 10008, 936, 0, ',' }},
-       {0x7814, 0x0014, 257, -1, 46663, 50524, 50542, 46655, 46659, 46663, 0, {36848, 0, 0, 0}, 269, 269, { 1252, 20277, 10000, 850, 0, ';' }},
-       {0x781A, 0x007F, 257, -1, 50550, 50553, 50561, 50570, 50574, 50550, 0, {48420, 0, 0, 0}, 270, 270, { 1250, 870, 10082, 852, 0, ';' }},
-       {0x782C, 0x002C, 257, -1, 50578, 50586, 38742, 38756, 38760, 14519, 0, {38764, 0, 0, 0}, 271, 271, { 1254, 20905, 10081, 857, 0, ';' }},
-       {0x7843, 0x0043, 257, -1, 50606, 50614, 39620, 39631, 39635, 39611, 0, {0, 0, 0, 0}, 272, 272, { 1251, 20880, 10007, 866, 0, ';' }},
-       {0x7850, 0x0050, 257, -1, 50631, 50639, 40496, 50660, 40513, 40483, 0, {0, 0, 0, 0}, 273, 273, { 1251, 20880, 10007, 866, 0, ';' }},
-       {0x7C04, 0x7804, 257, -1, 50664, 41693, 36717, 41731, 36728, 36732, 0, {41738, 0, 0, 0}, 274, 274, { 950, 500, 10002, 950, 0, ',' }},
-       {0x7C04, 0x7C04, 257, -1, 50672, 50679, 36717, 41731, 36728, 36732, 0, {41738, 0, 0, 0}, 275, 275, { 950, 500, 10002, 950, 0, ',' }},
-       {0x7C14, 0x0014, 257, -1, 37541, 50708, 50726, 37533, 37537, 37541, 0, {36848, 0, 0, 0}, 276, 276, { 1252, 20277, 10000, 850, 0, ';' }},
-       {0x7C1A, 0x007F, 257, -1, 48414, 50740, 50456, 50748, 9243, 48414, 0, {38871, 0, 0, 0}, 277, 277, { 1250, 500, 10029, 852, 0, ';' }},
-       {0x7C28, 0x0028, 257, -1, 50752, 50760, 0, 38585, 38589, 38576, 0, {0, 0, 0, 0}, 278, 278, { 1251, 20880, 10007, 866, 0, ';' }},
-       {0x7C43, 0x0043, 257, -1, 50777, 50785, 39620, 39631, 39635, 39611, 0, {0, 0, 0, 0}, 279, 279, { 1254, 500, 10029, 857, 0, ';' }},
-       {0x7C50, 0x0050, 257, -1, 50799, 50807, 40496, 47068, 40513, 40483, 0, {0, 0, 0, 0}, 280, 280, { 0, 500, 2, 1, 0, ',' }},
-       {0x7C5F, 0x005F, 257, -1, 50829, 50838, 40879, 40889, 40849, 40849, 0, {0, 0, 0, 0}, 281, 281, { 1252, 20297, 10000, 850, 0, ';' }},
-       {0x7C68, 0x0068, 257, -1, 50872, 50880, 41047, 41053, 41057, 41044, 0, {0, 0, 0, 0}, 282, 282, { 1252, 37, 10000, 437, 0, ',' }}
+       {0x0001, 0x007F, 768, -1, 37103, 37106, 37113, 37128, 37132, 37103, 0, {0, 0, 37136, 0}, 0, 0, { 1256, 20420, 10004, 720, 1, ';' }},
+       {0x0002, 0x007F, 257, -1, 37164, 37167, 37177, 37196, 37200, 37164, 0, {37204, 0, 0, 0}, 1, 1, { 1251, 21025, 10007, 866, 0, ';' }},
+       {0x0003, 0x007F, 257, -1, 37246, 37249, 37257, 37265, 37269, 37246, 0, {37273, 0, 0, 0}, 2, 2, { 1252, 500, 10000, 850, 0, ';' }},
+       {0x0004, 0x0004, 257, -1, 37293, 37300, 37328, 37335, 37339, 37343, 0, {37346, 0, 0, 0}, 3, 3, { 936, 500, 10008, 936, 0, ',' }},
+       {0x0004, 0x7804, 257, -1, 37353, 37361, 37328, 37335, 37339, 37343, 0, {37346, 0, 0, 0}, 4, 4, { 936, 500, 10008, 936, 0, ',' }},
+       {0x0005, 0x007F, 257, -1, 37382, 37385, 37391, 37401, 37405, 37382, 0, {37409, 0, 0, 0}, 5, 5, { 1250, 500, 10029, 852, 0, ';' }},
+       {0x0006, 0x007F, 257, -1, 37435, 37438, 37445, 37451, 37455, 37435, 0, {37459, 0, 0, 0}, 6, 6, { 1252, 20277, 10000, 850, 0, ';' }},
+       {0x0007, 0x007F, 257, -1, 37480, 37483, 37490, 37498, 37502, 37480, 0, {37506, 0, 0, 0}, 7, 7, { 1252, 20273, 10000, 850, 0, ';' }},
+       {0x0008, 0x007F, 257, -1, 37531, 37534, 37540, 37557, 37561, 37531, 0, {37565, 0, 0, 0}, 8, 8, { 1253, 20273, 10006, 737, 0, ';' }},
+       {0x0009, 0x007F, 257, -1, 37607, 37610, 37610, 37618, 37622, 37607, 0, {37626, 0, 0, 0}, 9, 9, { 1252, 37, 10000, 437, 0, ',' }},
+       {0x000A, 0x007F, 257, -1, 37645, 37648, 37656, 37665, 37669, 37645, 0, {37673, 0, 0, 0}, 10, 10, { 1252, 20284, 10000, 850, 0, ';' }},
+       {0x000B, 0x007F, 257, -1, 37695, 37698, 37706, 37712, 37716, 37695, 0, {37720, 0, 0, 0}, 11, 11, { 1252, 20278, 10000, 850, 0, ';' }},
+       {0x000C, 0x007F, 257, -1, 37745, 37748, 37755, 37765, 37769, 37745, 0, {37773, 0, 0, 0}, 12, 12, { 1252, 20297, 10000, 850, 0, ';' }},
+       {0x000D, 0x007F, 257, -1, 37795, 37798, 37805, 37816, 37820, 37795, 0, {37824, 0, 0, 0}, 13, 13, { 1255, 500, 10005, 862, 1, ',' }},
+       {0x000E, 0x007F, 257, -1, 37857, 37860, 37870, 37877, 37881, 37857, 0, {37885, 0, 0, 0}, 14, 14, { 1250, 500, 10029, 852, 0, ';' }},
+       {0x000F, 0x007F, 257, -1, 37901, 37904, 37914, 37924, 37928, 37901, 0, {37932, 0, 0, 0}, 15, 15, { 1252, 20871, 10079, 850, 0, ';' }},
+       {0x0010, 0x007F, 257, -1, 37952, 37955, 37963, 37972, 37976, 37952, 0, {37673, 0, 0, 0}, 16, 16, { 1252, 20280, 10000, 850, 0, ';' }},
+       {0x0011, 0x007F, 257, -1, 37980, 37983, 37992, 38002, 38006, 37980, 0, {38010, 0, 0, 0}, 17, 17, { 932, 20290, 10001, 932, 0, ',' }},
+       {0x0012, 0x007F, 257, -1, 38037, 38040, 38047, 38057, 38061, 38037, 0, {38065, 0, 0, 0}, 18, 18, { 949, 20833, 10003, 949, 0, ',' }},
+       {0x0013, 0x007F, 257, -1, 38075, 38078, 38084, 38095, 38099, 38075, 0, {38103, 0, 0, 0}, 19, 19, { 1252, 500, 10000, 850, 0, ';' }},
+       {0x0014, 0x007F, 257, -1, 38125, 38128, 38138, 38144, 38148, 38152, 0, {37459, 0, 0, 0}, 20, 20, { 1252, 20277, 10000, 850, 0, ';' }},
+       {0x0015, 0x007F, 257, -1, 38155, 38158, 38165, 38172, 38176, 38155, 0, {38180, 0, 0, 0}, 21, 21, { 1250, 20880, 10029, 852, 0, ';' }},
+       {0x0016, 0x007F, 257, -1, 38204, 38207, 38218, 38229, 38233, 38204, 0, {38237, 0, 0, 0}, 22, 22, { 1252, 500, 10000, 850, 0, ';' }},
+       {0x0017, 0x007F, 257, -1, 38260, 38263, 38271, 38281, 38285, 38260, 0, {38289, 0, 0, 0}, 23, 23, { 1252, 20273, 10000, 850, 0, ';' }},
+       {0x0018, 0x007F, 257, -1, 38309, 38312, 38321, 38330, 38334, 38309, 0, {38338, 0, 0, 0}, 24, 24, { 1250, 20880, 10029, 852, 0, ';' }},
+       {0x0019, 0x007F, 257, -1, 38357, 38360, 38368, 38383, 38387, 38357, 0, {38391, 0, 0, 0}, 25, 25, { 1251, 20880, 10007, 866, 0, ';' }},
+       {0x001A, 0x007F, 257, -1, 38437, 38440, 38449, 38458, 38462, 38437, 0, {38466, 0, 0, 0}, 26, 26, { 1250, 500, 10082, 852, 0, ';' }},
+       {0x001B, 0x007F, 257, -1, 38489, 38492, 38499, 38511, 38515, 38489, 0, {38519, 0, 0, 0}, 27, 27, { 1250, 20880, 10029, 852, 0, ';' }},
+       {0x001C, 0x007F, 257, -1, 38543, 38546, 38555, 38561, 38565, 38543, 0, {0, 0, 0, 0}, 28, 28, { 1250, 20880, 10029, 852, 0, ';' }},
+       {0x001D, 0x007F, 257, -1, 38569, 38572, 38580, 38588, 38592, 38569, 0, {37459, 0, 0, 0}, 29, 29, { 1252, 20278, 10000, 850, 0, ';' }},
+       {0x001E, 0x007F, 512, -1, 38596, 38599, 38604, 38614, 38618, 38596, 0, {0, 38622, 0, 0}, 30, 30, { 874, 20838, 10021, 874, 0, ',' }},
+       {0x001F, 0x007F, 257, -1, 38653, 38656, 38664, 38673, 38677, 38653, 0, {38681, 0, 0, 0}, 31, 31, { 1254, 20905, 10081, 857, 0, ';' }},
+       {0x0020, 0x007F, 257, -1, 38695, 38698, 38703, 38712, 38716, 38695, 0, {38720, 0, 0, 0}, 32, 32, { 1256, 20420, 10004, 720, 1, ';' }},
+       {0x0021, 0x007F, 257, -1, 38750, 38753, 38764, 38781, 38785, 38750, 0, {38789, 0, 0, 0}, 33, 33, { 1252, 500, 10000, 850, 0, ';' }},
+       {0x0022, 0x007F, 257, -1, 38808, 38811, 38821, 38842, 38846, 38808, 0, {38850, 0, 0, 0}, 34, 34, { 1251, 500, 10017, 866, 0, ';' }},
+       {0x0023, 0x007F, 257, -1, 38896, 38899, 38910, 38931, 38935, 38896, 0, {38939, 0, 0, 0}, 35, 35, { 1251, 500, 10007, 866, 0, ';' }},
+       {0x0024, 0x007F, 257, -1, 38981, 38984, 38994, 39008, 39012, 38981, 0, {39016, 0, 0, 0}, 36, 36, { 1250, 20880, 10029, 852, 0, ';' }},
+       {0x0025, 0x007F, 257, -1, 39038, 39041, 39050, 39056, 39060, 39038, 0, {39064, 0, 0, 0}, 37, 37, { 1257, 500, 10029, 775, 0, ';' }},
+       {0x0026, 0x007F, 257, -1, 39084, 39087, 39095, 39105, 39109, 39084, 0, {39113, 0, 0, 0}, 38, 38, { 1257, 500, 10029, 775, 0, ';' }},
+       {0x0027, 0x007F, 257, -1, 39132, 39135, 39146, 39156, 39160, 39132, 0, {39164, 0, 0, 0}, 39, 39, { 1257, 500, 10029, 775, 0, ';' }},
+       {0x0028, 0x007F, 257, -1, 39187, 39190, 0, 39196, 39200, 39187, 0, {0, 0, 0, 0}, 40, 40, { 1251, 20880, 10007, 866, 0, ';' }},
+       {0x0029, 0x007F, 257, -1, 39204, 39207, 39215, 39226, 39230, 39204, 0, {39234, 0, 0, 0}, 41, 41, { 1256, 20420, 10004, 720, 1, ';' }},
+       {0x002A, 0x007F, 257, -1, 39258, 39261, 39272, 39287, 4180, 39258, 0, {39291, 0, 0, 0}, 42, 42, { 1258, 500, 10000, 1258, 0, ',' }},
+       {0x002B, 0x007F, 257, -1, 39306, 39309, 39318, 39333, 39337, 39306, 0, {0, 0, 0, 0}, 43, 43, { 0, 500, 2, 1, 0, ',' }},
+       {0x002C, 0x007F, 257, -1, 14654, 39341, 39353, 39367, 39371, 14654, 0, {39375, 0, 0, 0}, 44, 44, { 1254, 20905, 10081, 857, 0, ';' }},
+       {0x002D, 0x007F, 257, -1, 39393, 39396, 39403, 39411, 39415, 39393, 0, {39419, 0, 0, 0}, 45, 45, { 1252, 500, 10000, 850, 0, ';' }},
+       {0x002F, 0x007F, 257, -1, 39439, 39442, 39453, 39474, 39478, 39439, 0, {39482, 0, 0, 0}, 46, 46, { 1251, 500, 10007, 866, 0, ';' }},
+       {0x0032, 0x007F, 257, -1, 39526, 39529, 39536, 39545, 39549, 39526, 0, {0, 0, 0, 0}, 47, 47, { 1252, 500, 10000, 850, 0, ',' }},
+       {0x0034, 0x007F, 257, -1, 39553, 39556, 39562, 39571, 39575, 39553, 0, {0, 0, 0, 0}, 48, 48, { 1252, 500, 10000, 850, 0, ',' }},
+       {0x0035, 0x007F, 257, -1, 39579, 39582, 39587, 39595, 39599, 39579, 0, {39603, 0, 0, 0}, 49, 49, { 1252, 500, 10000, 850, 0, ',' }},
+       {0x0036, 0x007F, 257, -1, 39624, 39627, 39627, 39637, 39641, 39624, 0, {39645, 0, 0, 0}, 50, 50, { 1252, 500, 10000, 850, 0, ',' }},
+       {0x0037, 0x007F, 257, -1, 39665, 39668, 39677, 39699, 39703, 39665, 0, {39707, 0, 0, 0}, 51, 51, { 0, 500, 2, 1, 0, ';' }},
+       {0x0038, 0x007F, 257, -1, 39772, 39775, 39783, 39793, 39797, 39772, 0, {0, 0, 0, 0}, 52, 52, { 1252, 20277, 10079, 850, 0, ';' }},
+       {0x0039, 0x007F, 257, -1, 39801, 39804, 39810, 39829, 39833, 39801, 0, {39837, 0, 0, 0}, 53, 53, { 0, 500, 2, 1, 0, ',' }},
+       {0x003A, 0x007F, 257, -1, 39878, 39881, 39889, 39895, 39899, 39878, 0, {39903, 0, 0, 0}, 54, 54, { 0, 500, 2, 1, 0, ',' }},
+       {0x003B, 0x007F, 257, -1, 39924, 39927, 39941, 39958, 39962, 39924, 0, {0, 0, 0, 0}, 55, 55, { 1252, 20277, 10000, 850, 0, ';' }},
+       {0x003C, 0x007F, 257, -1, 39966, 39969, 39975, 39983, 39987, 39966, 0, {39991, 0, 0, 0}, 56, 56, { 1252, 500, 10000, 850, 0, ',' }},
+       {0x003E, 0x007F, 257, -1, 40012, 40015, 40021, 40035, 40039, 40012, 0, {40043, 0, 0, 0}, 57, 57, { 1252, 500, 10000, 850, 0, ';' }},
+       {0x003F, 0x007F, 257, -1, 40060, 40063, 40070, 40090, 40094, 40060, 0, {40098, 0, 0, 0}, 58, 58, { 0, 500, 2, 1, 0, ';' }},
+       {0x0040, 0x007F, 257, -1, 40140, 40143, 40151, 40164, 40168, 40140, 0, {0, 0, 0, 0}, 59, 59, { 1251, 20880, 10007, 866, 0, ';' }},
+       {0x0041, 0x007F, 257, -1, 40172, 40175, 40183, 40193, 40197, 40172, 0, {40201, 0, 0, 0}, 60, 60, { 1252, 500, 10000, 437, 0, ',' }},
+       {0x0043, 0x007F, 257, -1, 40222, 40225, 40231, 40242, 40246, 40222, 0, {0, 0, 0, 0}, 61, 61, { 1254, 500, 10029, 857, 0, ';' }},
+       {0x0045, 0x007F, 257, -1, 40250, 40253, 40261, 40277, 40281, 40250, 0, {40285, 0, 0, 0}, 62, 62, { 0, 500, 2, 1, 0, ',' }},
+       {0x0046, 0x007F, 257, -1, 40350, 40353, 40361, 40380, 40384, 40350, 0, {0, 0, 0, 0}, 63, 63, { 0, 500, 2, 1, 0, ',' }},
+       {0x0047, 0x007F, 257, -1, 40388, 40391, 40400, 40422, 40426, 40388, 0, {40430, 0, 0, 0}, 64, 64, { 0, 500, 2, 1, 0, ',' }},
+       {0x0048, 0x007F, 257, -1, 14660, 40486, 40492, 40508, 40512, 14660, 0, {0, 0, 0, 0}, 65, 65, { 0, 500, 2, 1, 0, ',' }},
+       {0x0049, 0x007F, 257, -1, 40516, 40519, 40525, 40541, 40545, 40516, 0, {40549, 0, 0, 0}, 66, 66, { 0, 500, 2, 1, 0, ',' }},
+       {0x004A, 0x007F, 257, -1, 40614, 40617, 40624, 40643, 40647, 40614, 0, {40651, 0, 0, 0}, 67, 67, { 0, 500, 2, 1, 0, ',' }},
+       {0x004B, 0x007F, 257, -1, 36452, 40716, 40724, 40740, 40744, 36452, 0, {40748, 0, 0, 0}, 68, 68, { 0, 500, 2, 1, 0, ',' }},
+       {0x004C, 0x007F, 257, -1, 40819, 40822, 40832, 40851, 40855, 40819, 0, {40859, 0, 0, 0}, 69, 69, { 0, 500, 2, 1, 0, ',' }},
+       {0x004D, 0x007F, 257, -1, 14651, 40909, 40918, 40940, 40944, 14651, 0, {40948, 0, 0, 0}, 70, 70, { 0, 500, 2, 1, 0, ',' }},
+       {0x004E, 0x007F, 257, -1, 41001, 41004, 41012, 41028, 2610, 41001, 0, {41032, 0, 0, 0}, 71, 71, { 0, 500, 2, 1, 0, ',' }},
+       {0x0050, 0x007F, 257, -1, 41094, 41097, 41107, 41120, 41124, 41094, 0, {0, 0, 0, 0}, 72, 72, { 1251, 20880, 10007, 866, 0, ';' }},
+       {0x0051, 0x007F, 257, -1, 41128, 41131, 41139, 41164, 41168, 41128, 0, {0, 0, 0, 0}, 73, 73, { 0, 500, 2, 1, 0, ',' }},
+       {0x0052, 0x007F, 257, -1, 41172, 41175, 41181, 41189, 41193, 41172, 0, {0, 0, 0, 0}, 74, 74, { 1252, 20285, 10000, 850, 0, ',' }},
+       {0x0053, 0x007F, 257, -1, 41197, 41200, 41206, 41234, 41238, 41197, 0, {0, 0, 0, 0}, 75, 75, { 0, 500, 2, 1, 0, ',' }},
+       {0x0054, 0x007F, 257, -1, 41242, 41245, 41249, 41259, 41263, 41242, 0, {0, 0, 0, 0}, 76, 76, { 0, 500, 2, 1, 0, ',' }},
+       {0x0056, 0x007F, 257, -1, 41267, 41270, 41279, 41286, 41290, 41267, 0, {37673, 0, 0, 0}, 77, 77, { 1252, 500, 10000, 850, 0, ';' }},
+       {0x0057, 0x007F, 257, -1, 41294, 41298, 41306, 41325, 41294, 41294, 0, {0, 0, 0, 0}, 78, 78, { 0, 500, 2, 1, 0, ',' }},
+       {0x005B, 0x007F, 257, -1, 41329, 41332, 41340, 41356, 41360, 41329, 0, {41364, 0, 0, 0}, 79, 79, { 0, 500, 2, 1, 0, ',' }},
+       {0x005E, 0x007F, 257, -1, 7932, 41386, 41394, 41407, 41411, 7932, 0, {41415, 0, 0, 0}, 80, 80, { 0, 500, 2, 1, 0, ';' }},
+       {0x005F, 0x007F, 257, -1, 41460, 41464, 41490, 41500, 41460, 41460, 0, {0, 0, 0, 0}, 81, 81, { 1252, 20297, 10000, 850, 0, ';' }},
+       {0x0061, 0x007F, 257, -1, 2100, 41504, 41511, 41530, 41534, 2100, 0, {41538, 0, 0, 0}, 82, 82, { 0, 500, 2, 1, 0, ',' }},
+       {0x0063, 0x007F, 1024, -1, 41588, 41591, 41598, 41607, 41611, 41588, 0, {0, 0, 0, 0}, 83, 83, { 0, 500, 2, 1, 1, ';' }},
+       {0x0064, 0x007F, 257, -1, 41615, 41619, 41619, 41628, 41615, 41615, 0, {41632, 0, 0, 0}, 84, 84, { 1252, 500, 10000, 437, 0, ',' }},
+       {0x0068, 0x007F, 257, -1, 41655, 41658, 41658, 41664, 41668, 41655, 0, {0, 0, 0, 0}, 85, 85, { 1252, 37, 10000, 437, 0, ',' }},
+       {0x006A, 0x007F, 257, -1, 41672, 41675, 41682, 41697, 41701, 41672, 0, {0, 0, 0, 0}, 86, 86, { 1252, 37, 10000, 437, 0, ',' }},
+       {0x006C, 0x007F, 257, -1, 41705, 41709, 41724, 41741, 41705, 41705, 0, {0, 0, 0, 0}, 87, 87, { 1252, 500, 10000, 850, 0, ',' }},
+       {0x006F, 0x007F, 257, -1, 41745, 41748, 41760, 41772, 41776, 41745, 0, {0, 0, 0, 0}, 88, 88, { 1252, 20277, 10000, 850, 0, ';' }},
+       {0x0070, 0x007F, 257, -1, 14645, 41780, 41780, 41785, 41789, 14645, 0, {0, 0, 0, 0}, 89, 89, { 1252, 37, 10000, 437, 0, ',' }},
+       {0x0078, 0x007F, 257, -1, 41793, 41796, 41807, 41817, 41821, 41793, 0, {41825, 0, 0, 0}, 90, 90, { 0, 500, 2, 1, 0, ',' }},
+       {0x007E, 0x007F, 257, -1, 41838, 41841, 41848, 41858, 41862, 41838, 0, {41866, 0, 0, 0}, 91, 91, { 1252, 20297, 10000, 850, 0, ';' }},
+       {0x0082, 0x007F, 257, -1, 41886, 41889, 41897, 41905, 41909, 41886, 0, {0, 0, 0, 0}, 92, 92, { 1252, 20297, 10000, 850, 0, ';' }},
+       {0x0084, 0x007F, 257, -1, 41913, 41917, 41930, 41949, 41913, 41913, 0, {41953, 0, 0, 0}, 93, 93, { 1252, 20297, 10000, 850, 0, ';' }},
+       {0x0085, 0x007F, 257, -1, 41978, 41982, 41988, 42006, 41978, 41978, 0, {0, 0, 0, 0}, 94, 94, { 1251, 20880, 10007, 866, 0, ';' }},
+       {0x0087, 0x007F, 257, -1, 42010, 42013, 42013, 42025, 42029, 42010, 0, {0, 0, 0, 0}, 95, 95, { 1252, 37, 10000, 437, 0, ';' }},
+       {0x0091, 0x007F, 257, -1, 42033, 42036, 42052, 42062, 42066, 42033, 0, {42070, 0, 0, 0}, 96, 96, { 1252, 20285, 10000, 850, 0, ',' }},
+       {0x0401, 0x0001, 768, 98, 42095, 42101, 42123, 37128, 37132, 37103, 13368, {0, 0, 37136, 0}, 97, 97, { 1256, 20420, 10004, 720, 1, ';' }},
+       {0x0402, 0x0002, 257, 11, 42187, 42193, 42214, 37196, 37200, 37164, 42252, {37204, 0, 0, 0}, 98, 98, { 1251, 21025, 10007, 866, 0, ';' }},
+       {0x0403, 0x0003, 257, 32, 42255, 42261, 42277, 37265, 37269, 37246, 42295, {37273, 0, 0, 0}, 99, 99, { 1252, 500, 10000, 850, 0, ';' }},
+       {0x0404, 0x7C04, 257, 110, 42298, 42304, 42326, 42342, 37339, 37343, 42346, {42349, 0, 0, 0}, 100, 100, { 950, 500, 10002, 950, 0, ',' }},
+       {0x0405, 0x0005, 257, 24, 42356, 42362, 42385, 37401, 37405, 37382, 42415, {37409, 0, 0, 0}, 101, 101, { 1250, 500, 10029, 852, 0, ';' }},
+       {0x0406, 0x0006, 257, 26, 42418, 42424, 42441, 37451, 37455, 37435, 42457, {37459, 0, 0, 0}, 102, 102, { 1252, 20277, 10000, 850, 0, ';' }},
+       {0x0407, 0x0007, 257, 25, 42460, 42466, 42483, 37498, 37502, 37480, 42505, {37506, 0, 0, 0}, 103, 103, { 1252, 20273, 10000, 850, 0, ';' }},
+       {0x0408, 0x0008, 257, 40, 42508, 42514, 42529, 37557, 37561, 37531, 42561, {37565, 0, 0, 0}, 104, 104, { 1253, 20273, 10006, 737, 0, ';' }},
+       {0x0409, 0x0009, 257, 112, 42564, 42570, 42570, 37618, 37622, 37607, 42594, {37626, 0, 0, 0}, 105, 105, { 1252, 37, 10000, 437, 0, ',' }},
+       {0x040B, 0x000B, 257, 34, 42597, 42603, 42621, 37712, 37716, 37695, 42635, {37720, 0, 0, 0}, 106, 106, { 1252, 20278, 10000, 850, 0, ';' }},
+       {0x040C, 0x000C, 257, 36, 42638, 42644, 42660, 37765, 37769, 37745, 42679, {37773, 0, 0, 0}, 107, 107, { 1252, 20297, 10000, 850, 0, ';' }},
+       {0x040D, 0x000D, 257, 48, 42682, 42688, 42704, 37816, 37820, 37795, 42728, {37824, 0, 0, 0}, 108, 108, { 1255, 500, 10005, 862, 1, ',' }},
+       {0x040E, 0x000E, 257, 45, 42731, 42737, 42757, 37877, 37881, 37857, 42780, {37885, 0, 0, 0}, 109, 109, { 1250, 500, 10029, 852, 0, ';' }},
+       {0x040F, 0x000F, 257, 52, 42783, 42789, 42809, 37924, 37928, 37901, 42829, {37932, 0, 0, 0}, 110, 110, { 1252, 20871, 10079, 850, 0, ';' }},
+       {0x0410, 0x0010, 257, 53, 42832, 42838, 42854, 37972, 37976, 37952, 42872, {37673, 0, 0, 0}, 111, 111, { 1252, 20280, 10000, 850, 0, ';' }},
+       {0x0411, 0x0011, 257, 56, 42875, 42881, 42898, 38002, 38006, 37980, 42917, {38010, 0, 0, 0}, 112, 112, { 932, 20290, 10001, 932, 0, ',' }},
+       {0x0412, 0x0012, 257, 60, 42920, 42926, 42947, 38057, 38061, 38037, 42972, {38065, 0, 0, 0}, 113, 113, { 949, 20833, 10003, 949, 0, ',' }},
+       {0x0413, 0x0013, 257, 80, 42975, 42981, 43001, 38095, 38099, 38075, 43024, {38103, 0, 0, 0}, 114, 114, { 1252, 500, 10000, 850, 0, ';' }},
+       {0x0414, 0x7C14, 257, 81, 43027, 43033, 43060, 38144, 38148, 38152, 43082, {37459, 0, 0, 0}, 115, 115, { 1252, 20277, 10000, 850, 0, ';' }},
+       {0x0415, 0x0015, 257, 89, 43085, 43091, 43107, 38172, 38176, 38155, 43123, {38180, 0, 0, 0}, 116, 116, { 1250, 20880, 10029, 852, 0, ';' }},
+       {0x0416, 0x0016, 257, 15, 43126, 43132, 43152, 38229, 38233, 38204, 43172, {38237, 0, 0, 0}, 117, 117, { 1252, 500, 10000, 850, 0, ';' }},
+       {0x0417, 0x0017, 257, 19, 43175, 43181, 43203, 38281, 38285, 38260, 13371, {38289, 0, 0, 0}, 118, 118, { 1252, 20273, 10000, 850, 0, ';' }},
+       {0x0418, 0x0018, 257, 94, 43222, 43228, 43247, 38330, 38334, 38309, 43267, {38338, 0, 0, 0}, 119, 119, { 1250, 20880, 10029, 852, 0, ';' }},
+       {0x0419, 0x0019, 257, 96, 43270, 43276, 43293, 38383, 38387, 38357, 43323, {38391, 0, 0, 0}, 120, 120, { 1251, 20880, 10007, 866, 0, ';' }},
+       {0x041A, 0x001A, 257, 44, 43326, 43332, 43351, 38458, 38462, 38437, 43371, {38466, 0, 0, 0}, 121, 121, { 1250, 500, 10082, 852, 0, ';' }},
+       {0x041B, 0x001B, 257, 102, 43374, 43380, 43398, 38511, 38515, 38489, 43433, {38519, 0, 0, 0}, 122, 122, { 1250, 20880, 10029, 852, 0, ';' }},
+       {0x041C, 0x001C, 257, 2, 43436, 43442, 43461, 38561, 38565, 38543, 43480, {0, 0, 0, 0}, 123, 123, { 1250, 20880, 10029, 852, 0, ';' }},
+       {0x041D, 0x001D, 257, 99, 43483, 43489, 43506, 38588, 38592, 38569, 43524, {37459, 0, 0, 0}, 124, 124, { 1252, 20278, 10000, 850, 0, ';' }},
+       {0x041E, 0x001E, 512, 105, 43527, 43533, 43549, 38614, 38618, 38596, 43571, {0, 38622, 0, 0}, 125, 125, { 874, 20838, 10021, 874, 0, ',' }},
+       {0x041F, 0x001F, 257, 108, 43574, 43580, 43597, 38673, 38677, 38653, 43617, {38681, 0, 0, 0}, 126, 126, { 1254, 20905, 10081, 857, 0, ';' }},
+       {0x0420, 0x0020, 257, 88, 43620, 43626, 43642, 38712, 38716, 38695, 43668, {38720, 0, 0, 0}, 127, 127, { 1256, 20420, 10004, 720, 1, ';' }},
+       {0x0421, 0x0021, 257, 46, 43671, 43677, 43700, 38781, 38785, 38750, 43729, {38789, 0, 0, 0}, 128, 128, { 1252, 500, 10000, 850, 0, ';' }},
+       {0x0422, 0x0022, 257, 111, 43732, 43738, 43758, 38842, 38846, 38808, 43796, {38850, 0, 0, 0}, 129, 129, { 1251, 500, 10017, 866, 0, ';' }},
+       {0x0423, 0x0023, 257, 16, 43799, 43805, 43826, 38931, 38935, 38896, 43866, {38939, 0, 0, 0}, 130, 130, { 1251, 500, 10007, 866, 0, ';' }},
+       {0x0424, 0x0024, 257, 101, 43869, 43875, 43896, 39008, 39012, 38981, 43922, {39016, 0, 0, 0}, 131, 131, { 1250, 20880, 10029, 852, 0, ';' }},
+       {0x0425, 0x0025, 257, 30, 43925, 43931, 43950, 39056, 39060, 39038, 43964, {39064, 0, 0, 0}, 132, 132, { 1257, 500, 10029, 775, 0, ';' }},
+       {0x0426, 0x0026, 257, 68, 43967, 43973, 43990, 39105, 39109, 39084, 44010, {39113, 0, 0, 0}, 133, 133, { 1257, 500, 10029, 775, 0, ';' }},
+       {0x0427, 0x0027, 257, 66, 44013, 44019, 44042, 39156, 39160, 39132, 44062, {39164, 0, 0, 0}, 134, 134, { 1257, 500, 10029, 775, 0, ';' }},
+       {0x0428, 0x7C28, 257, 106, 44065, 44076, 0, 39196, 39200, 39187, 44105, {0, 0, 0, 0}, 135, 135, { 1251, 20880, 10007, 866, 0, ';' }},
+       {0x0429, 0x0029, 257, 51, 44108, 44114, 44129, 39226, 39230, 39204, 44153, {39234, 0, 0, 0}, 136, 136, { 1256, 20420, 10004, 720, 1, ';' }},
+       {0x042A, 0x002A, 257, 116, 44156, 44162, 44183, 39287, 4180, 39258, 44211, {39291, 0, 0, 0}, 137, 137, { 1258, 500, 10000, 1258, 0, ',' }},
+       {0x042B, 0x002B, 257, 3, 44214, 44220, 44239, 39333, 39337, 39306, 3824, {0, 0, 0, 0}, 138, 138, { 0, 500, 2, 1, 0, ',' }},
+       {0x042C, 0x782C, 257, 7, 44304, 44315, 44347, 39367, 39371, 14654, 44375, {39375, 0, 0, 0}, 139, 139, { 1254, 20905, 10081, 857, 0, ';' }},
+       {0x042D, 0x002D, 257, 32, 44378, 44384, 44399, 39411, 39415, 39393, 42295, {39419, 0, 0, 0}, 140, 140, { 1252, 500, 10000, 850, 0, ';' }},
+       {0x042F, 0x002F, 257, 73, 44418, 44424, 44447, 39474, 39478, 39439, 44491, {39482, 0, 0, 0}, 141, 141, { 1251, 500, 10007, 866, 0, ';' }},
+       {0x0432, 0x0032, 257, 118, 44494, 44500, 39536, 39545, 39549, 39526, 44522, {0, 0, 0, 0}, 142, 142, { 1252, 500, 10000, 850, 0, ',' }},
+       {0x0434, 0x0034, 257, 118, 44525, 44531, 39562, 39571, 39575, 39553, 44522, {0, 0, 0, 0}, 143, 143, { 1252, 500, 10000, 850, 0, ',' }},
+       {0x0435, 0x0035, 257, 118, 44552, 44558, 44578, 39595, 39599, 39579, 44522, {39603, 0, 0, 0}, 144, 144, { 1252, 500, 10000, 850, 0, ',' }},
+       {0x0436, 0x0036, 257, 118, 44606, 44612, 44637, 39637, 39641, 39624, 44522, {39645, 0, 0, 0}, 145, 145, { 1252, 500, 10000, 850, 0, ',' }},
+       {0x0437, 0x0037, 257, 38, 44661, 44667, 44686, 39699, 39703, 39665, 44741, {39707, 0, 0, 0}, 146, 146, { 0, 500, 2, 1, 0, ';' }},
+       {0x0438, 0x0038, 257, 35, 44744, 44750, 44774, 39793, 39797, 39772, 44795, {0, 0, 0, 0}, 147, 147, { 1252, 20277, 10079, 850, 0, ';' }},
+       {0x0439, 0x0039, 257, 49, 44798, 44804, 44818, 39829, 39833, 39801, 44852, {39837, 0, 0, 0}, 148, 148, { 0, 500, 2, 1, 0, ',' }},
+       {0x043A, 0x003A, 257, 75, 44855, 44861, 44877, 39895, 39899, 39878, 44891, {39903, 0, 0, 0}, 149, 149, { 0, 500, 2, 1, 0, ',' }},
+       {0x043B, 0x003B, 257, 81, 44894, 44900, 44923, 39958, 39962, 39924, 43082, {0, 0, 0, 0}, 150, 150, { 1252, 20277, 10000, 850, 0, ';' }},
+       {0x043E, 0x003E, 257, 77, 44948, 44954, 44971, 40035, 40039, 40012, 44996, {40043, 0, 0, 0}, 151, 151, { 1252, 500, 10000, 850, 0, ';' }},
+       {0x0440, 0x0040, 257, 58, 44999, 45005, 45026, 40164, 40168, 40140, 45062, {0, 0, 0, 0}, 152, 152, { 1251, 20880, 10007, 866, 0, ';' }},
+       {0x0441, 0x0041, 257, 57, 45065, 45071, 45087, 40193, 40197, 40172, 45105, {40201, 0, 0, 0}, 153, 153, { 1252, 500, 10000, 437, 0, ',' }},
+       {0x0443, 0x7C43, 257, 114, 45108, 45119, 45145, 40242, 40246, 40222, 45179, {0, 0, 0, 0}, 154, 154, { 1254, 500, 10029, 857, 0, ';' }},
+       {0x0445, 0x0045, 257, 49, 45182, 45188, 45204, 40277, 40281, 40250, 44852, {40285, 0, 0, 0}, 155, 155, { 0, 500, 2, 1, 0, ',' }},
+       {0x0447, 0x0047, 257, 49, 45235, 45241, 45258, 40422, 40426, 40388, 44852, {40430, 0, 0, 0}, 156, 156, { 0, 500, 2, 1, 0, ',' }},
+       {0x0448, 0x0048, 257, 49, 45295, 45301, 45315, 40508, 40512, 14660, 44852, {0, 0, 0, 0}, 157, 157, { 0, 500, 2, 1, 0, ',' }},
+       {0x0449, 0x0049, 257, 49, 45346, 45352, 45366, 40541, 40545, 40516, 44852, {40549, 0, 0, 0}, 158, 158, { 0, 500, 2, 1, 0, ',' }},
+       {0x044A, 0x004A, 257, 49, 45406, 45412, 45427, 40643, 40647, 40614, 44852, {40651, 0, 0, 0}, 159, 159, { 0, 500, 2, 1, 0, ',' }},
+       {0x044B, 0x004B, 257, 49, 45474, 45480, 45496, 40740, 40744, 36452, 44852, {40748, 0, 0, 0}, 160, 160, { 0, 500, 2, 1, 0, ',' }},
+       {0x044C, 0x004C, 257, 49, 45527, 45533, 45551, 40851, 40855, 40819, 44852, {40859, 0, 0, 0}, 161, 161, { 0, 500, 2, 1, 0, ',' }},
+       {0x044D, 0x004D, 257, 49, 45591, 45597, 45614, 40940, 40944, 14651, 44852, {40948, 0, 0, 0}, 162, 162, { 0, 500, 2, 1, 0, ',' }},
+       {0x044E, 0x004E, 257, 49, 45651, 45657, 45673, 41028, 2610, 41001, 44852, {41032, 0, 0, 0}, 163, 163, { 0, 500, 2, 1, 0, ',' }},
+       {0x0451, 0x0051, 257, 21, 45704, 45710, 45726, 41164, 41168, 41128, 13450, {0, 0, 0, 0}, 164, 164, { 0, 500, 2, 1, 0, ',' }},
+       {0x0452, 0x0052, 257, 37, 45772, 45778, 45801, 41189, 41193, 41172, 45824, {0, 0, 0, 0}, 165, 165, { 1252, 20285, 10000, 850, 0, ',' }},
+       {0x0453, 0x0053, 257, 59, 45827, 45833, 45850, 41234, 41238, 41197, 45902, {0, 0, 0, 0}, 166, 166, { 0, 500, 2, 1, 0, ',' }},
+       {0x0454, 0x0054, 257, 62, 45905, 45911, 45922, 41259, 41263, 41242, 45944, {0, 0, 0, 0}, 167, 167, { 0, 500, 2, 1, 0, ',' }},
+       {0x0456, 0x0056, 257, 32, 45947, 45953, 45970, 41286, 41290, 41267, 42295, {37673, 0, 0, 0}, 168, 168, { 1252, 500, 10000, 850, 0, ';' }},
+       {0x0457, 0x0057, 257, 49, 45987, 45994, 46010, 41325, 41294, 41294, 44852, {0, 0, 0, 0}, 169, 169, { 0, 500, 2, 1, 0, ',' }},
+       {0x045B, 0x005B, 257, 65, 46044, 46050, 46070, 41356, 41360, 41329, 46120, {41364, 0, 0, 0}, 170, 170, { 0, 500, 2, 1, 0, ',' }},
+       {0x045E, 0x005E, 257, 33, 46123, 46129, 46148, 41407, 41411, 7932, 46179, {41415, 0, 0, 0}, 171, 171, { 0, 500, 2, 1, 0, ';' }},
+       {0x0461, 0x0061, 257, 82, 46182, 46188, 46203, 41530, 41534, 2100, 46240, {41538, 0, 0, 0}, 172, 172, { 0, 500, 2, 1, 0, ',' }},
+       {0x0463, 0x0063, 1024, 1, 46243, 46249, 46270, 41607, 41611, 41588, 46300, {0, 0, 0, 0}, 173, 173, { 0, 500, 2, 1, 1, ';' }},
+       {0x0464, 0x0064, 257, 87, 46303, 46310, 46333, 41628, 41615, 41615, 46354, {41632, 0, 0, 0}, 174, 174, { 1252, 500, 10000, 437, 0, ',' }},
+       {0x0468, 0x7C68, 257, 78, 46357, 46368, 46391, 41664, 41668, 41655, 46408, {0, 0, 0, 0}, 175, 175, { 1252, 37, 10000, 437, 0, ',' }},
+       {0x046A, 0x006A, 257, 78, 46411, 46417, 46434, 41697, 41701, 41672, 46408, {0, 0, 0, 0}, 176, 176, { 1252, 37, 10000, 437, 0, ',' }},
+       {0x046C, 0x006C, 257, 118, 46480, 46487, 41724, 41741, 41705, 41705, 44522, {0, 0, 0, 0}, 177, 177, { 1252, 500, 10000, 850, 0, ',' }},
+       {0x046F, 0x006F, 257, 39, 46517, 46523, 46547, 41772, 41776, 41745, 46578, {0, 0, 0, 0}, 178, 178, { 1252, 20277, 10000, 850, 0, ';' }},
+       {0x0470, 0x0070, 257, 78, 46581, 46587, 46587, 41785, 41789, 14645, 46408, {0, 0, 0, 0}, 179, 179, { 1252, 37, 10000, 437, 0, ',' }},
+       {0x0478, 0x0078, 257, 21, 46602, 46608, 46627, 41817, 41821, 41793, 13450, {41825, 0, 0, 0}, 180, 180, { 0, 500, 2, 1, 0, ',' }},
+       {0x047E, 0x007E, 257, 36, 46646, 46652, 46668, 41858, 41862, 41838, 42679, {41866, 0, 0, 0}, 181, 181, { 1252, 20297, 10000, 850, 0, ';' }},
+       {0x0482, 0x0082, 257, 36, 46687, 46693, 46710, 41905, 41909, 41886, 42679, {0, 0, 0, 0}, 182, 182, { 1252, 20297, 10000, 850, 0, ';' }},
+       {0x0485, 0x0085, 257, 96, 46728, 46735, 41988, 42006, 41978, 41978, 43323, {0, 0, 0, 0}, 183, 183, { 1251, 20880, 10007, 866, 0, ';' }},
+       {0x0487, 0x0087, 257, 97, 46750, 46756, 46756, 42025, 42029, 42010, 46777, {0, 0, 0, 0}, 184, 184, { 1252, 37, 10000, 437, 0, ';' }},
+       {0x0491, 0x0091, 257, 37, 46780, 46786, 46819, 42062, 42066, 42033, 45824, {42070, 0, 0, 0}, 185, 185, { 1252, 20285, 10000, 850, 0, ',' }},
+       {0x0801, 0x0001, 257, 50, 46855, 46861, 46875, 46905, 37132, 37103, 46909, {37136, 0, 0, 0}, 186, 186, { 1256, 20420, 10004, 720, 1, ';' }},
+       {0x0804, 0x0004, 257, 21, 46912, 37361, 46918, 37335, 37339, 37343, 13450, {37346, 0, 0, 0}, 187, 187, { 936, 500, 10008, 936, 0, ',' }},
+       {0x0807, 0x0007, 257, 19, 46934, 46940, 46961, 46979, 37502, 37480, 13371, {37506, 0, 0, 0}, 188, 188, { 1252, 20273, 10000, 850, 0, ';' }},
+       {0x0809, 0x0009, 257, 37, 46983, 46989, 46989, 47014, 37622, 37607, 45824, {37626, 0, 0, 0}, 189, 189, { 1252, 20285, 10000, 850, 0, ',' }},
+       {0x080A, 0x000A, 257, 76, 47018, 47024, 47041, 47060, 37669, 37645, 47064, {37673, 0, 0, 0}, 190, 190, { 1252, 20284, 10000, 850, 0, ',' }},
+       {0x080C, 0x000C, 257, 10, 47067, 47073, 47090, 47111, 37769, 37745, 47115, {37773, 0, 0, 0}, 191, 191, { 1252, 20297, 10000, 850, 0, ';' }},
+       {0x0810, 0x0010, 257, 19, 47118, 47124, 47146, 47166, 37976, 37952, 13371, {37673, 0, 0, 0}, 192, 192, { 1252, 500, 10000, 850, 0, ';' }},
+       {0x0813, 0x0013, 257, 10, 47170, 47176, 47192, 47213, 38099, 38075, 47115, {38103, 0, 0, 0}, 193, 193, { 1252, 500, 10000, 850, 0, ';' }},
+       {0x0814, 0x7814, 257, 81, 47217, 47223, 47250, 47266, 47270, 47274, 43082, {37459, 0, 0, 0}, 194, 194, { 1252, 20277, 10000, 850, 0, ';' }},
+       {0x0816, 0x0016, 257, 91, 47277, 47283, 47305, 47327, 38233, 38204, 47331, {38237, 0, 0, 0}, 195, 195, { 1252, 500, 10000, 850, 0, ';' }},
+       {0x081D, 0x001D, 257, 34, 47334, 47340, 47358, 47376, 38592, 38569, 42635, {37459, 0, 0, 0}, 196, 196, { 1252, 20278, 10000, 850, 0, ';' }},
+       {0x082C, 0x742C, 257, 7, 47380, 47391, 44347, 47426, 39371, 14654, 44375, {39375, 0, 0, 0}, 197, 197, { 1251, 20880, 10007, 866, 0, ';' }},
+       {0x083C, 0x003C, 257, 47, 47430, 47436, 47452, 39983, 39987, 39966, 47468, {39991, 0, 0, 0}, 198, 198, { 1252, 500, 10000, 850, 0, ',' }},
+       {0x083E, 0x003E, 257, 13, 47471, 47477, 47492, 47515, 40039, 40012, 47519, {40043, 0, 0, 0}, 199, 199, { 1252, 500, 10000, 850, 0, ';' }},
+       {0x0843, 0x7843, 257, 114, 47522, 47533, 45145, 40242, 40246, 40222, 45179, {0, 0, 0, 0}, 200, 200, { 1251, 20880, 10007, 866, 0, ';' }},
+       {0x0845, 0x0045, 257, 9, 47562, 47568, 47589, 47632, 40281, 40250, 47636, {40285, 0, 0, 0}, 201, 201, { 0, 500, 2, 1, 0, ',' }},
+       {0x0850, 0x7C50, 257, 21, 47639, 47650, 41107, 47679, 41124, 41094, 13450, {0, 0, 0, 0}, 202, 202, { 0, 500, 2, 1, 0, ',' }},
+       {0x0C01, 0x0001, 257, 31, 47683, 47689, 47704, 47728, 37132, 37103, 47732, {37136, 0, 0, 0}, 203, 203, { 1256, 20420, 10004, 720, 1, ';' }},
+       {0x0C04, 0x7C04, 257, 42, 47735, 47741, 47784, 47821, 37339, 37343, 47825, {42349, 0, 0, 0}, 204, 204, { 950, 500, 10002, 950, 0, ',' }},
+       {0x0C07, 0x0007, 257, 5, 47828, 47834, 47851, 47873, 37502, 37480, 47877, {37506, 0, 0, 0}, 205, 205, { 1252, 20273, 10000, 850, 0, ';' }},
+       {0x0C09, 0x0009, 257, 6, 47880, 47886, 47886, 47906, 37622, 37607, 47910, {37626, 0, 0, 0}, 206, 206, { 1252, 500, 10000, 850, 0, ',' }},
+       {0x0C0A, 0x000A, 257, 32, 47913, 47919, 47935, 47954, 37669, 37645, 42295, {37673, 0, 0, 0}, 207, 207, { 1252, 20284, 10000, 850, 0, ';' }},
+       {0x0C0C, 0x000C, 257, 18, 47958, 47964, 47980, 47999, 37769, 37745, 48003, {37773, 0, 0, 0}, 208, 208, { 1252, 20297, 10000, 850, 0, ';' }},
+       {0x0C3B, 0x003B, 257, 34, 48006, 48012, 48036, 48062, 48066, 39924, 42635, {0, 0, 0, 0}, 209, 209, { 1252, 20278, 10000, 850, 0, ';' }},
+       {0x1001, 0x0001, 257, 69, 48070, 48076, 48091, 48119, 37132, 37103, 48123, {37136, 0, 0, 0}, 210, 210, { 1256, 20420, 10004, 720, 1, ';' }},
+       {0x1004, 0x0004, 257, 100, 48126, 48132, 48164, 48183, 37339, 37343, 48187, {37346, 0, 0, 0}, 211, 211, { 936, 500, 10008, 936, 0, ',' }},
+       {0x1007, 0x0007, 257, 67, 48190, 48196, 48216, 48236, 37502, 37480, 48240, {37506, 0, 0, 0}, 212, 212, { 1252, 20273, 10000, 850, 0, ';' }},
+       {0x1009, 0x0009, 257, 18, 48243, 48249, 48249, 48266, 37622, 37607, 48003, {37626, 0, 0, 0}, 213, 213, { 1252, 37, 10000, 850, 0, ',' }},
+       {0x100A, 0x000A, 257, 41, 48270, 48276, 48296, 48317, 37669, 37645, 48321, {37673, 0, 0, 0}, 214, 214, { 1252, 20284, 10000, 850, 0, ',' }},
+       {0x100C, 0x000C, 257, 19, 48324, 48330, 48351, 48370, 37769, 37745, 13371, {37773, 0, 0, 0}, 215, 215, { 1252, 20297, 10000, 850, 0, ';' }},
+       {0x1401, 0x0001, 257, 28, 48374, 48380, 48397, 48429, 37132, 37103, 48433, {37136, 0, 0, 0}, 216, 216, { 1256, 20420, 10004, 720, 1, ';' }},
+       {0x1404, 0x7C04, 257, 74, 48436, 48442, 48481, 48518, 37339, 37343, 48522, {42349, 0, 0, 0}, 217, 217, { 950, 500, 10002, 950, 0, ',' }},
+       {0x1407, 0x0007, 257, 64, 48525, 48531, 48554, 48578, 37502, 37480, 48582, {37506, 0, 0, 0}, 218, 218, { 1252, 20273, 10000, 850, 0, ';' }},
+       {0x1409, 0x0009, 257, 83, 48585, 48591, 48591, 48613, 37622, 37607, 48617, {37626, 0, 0, 0}, 219, 219, { 1252, 500, 10000, 850, 0, ',' }},
+       {0x140A, 0x000A, 257, 23, 48620, 48626, 48647, 48669, 37669, 37645, 48673, {37673, 0, 0, 0}, 220, 220, { 1252, 20284, 10000, 850, 0, ',' }},
+       {0x140C, 0x000C, 257, 67, 48676, 48682, 48702, 48725, 37769, 37745, 48240, {37773, 0, 0, 0}, 221, 221, { 1252, 20297, 10000, 850, 0, ';' }},
+       {0x1801, 0x0001, 257, 70, 48729, 48735, 48752, 48782, 37132, 37103, 48786, {37136, 0, 0, 0}, 222, 222, { 1256, 20420, 10004, 720, 1, ';' }},
+       {0x1809, 0x0009, 257, 47, 48789, 48795, 48795, 48813, 37622, 37607, 47468, {37626, 0, 0, 0}, 223, 223, { 1252, 500, 10000, 850, 0, ',' }},
+       {0x180A, 0x000A, 257, 85, 48817, 48823, 48840, 48859, 37669, 37645, 48863, {37673, 0, 0, 0}, 224, 224, { 1252, 20284, 10000, 850, 0, ',' }},
+       {0x180C, 0x000C, 257, 71, 48866, 48872, 48888, 48907, 37769, 37745, 48911, {37773, 0, 0, 0}, 225, 225, { 1252, 20297, 10000, 850, 0, ';' }},
+       {0x181A, 0x701A, 257, 8, 48914, 48925, 48965, 49017, 49021, 49025, 49028, {49031, 0, 0, 0}, 226, 226, { 1250, 870, 10082, 852, 0, ';' }},
+       {0x1C01, 0x0001, 257, 107, 49054, 49060, 49077, 49103, 37132, 37103, 49107, {37136, 0, 0, 0}, 227, 227, { 1256, 20420, 10004, 720, 1, ';' }},
+       {0x1C09, 0x0009, 257, 118, 49110, 49116, 49116, 49139, 37622, 37607, 44522, {37626, 0, 0, 0}, 228, 228, { 1252, 500, 10000, 437, 0, ',' }},
+       {0x1C0A, 0x000A, 257, 27, 49143, 49149, 49178, 49211, 37669, 37645, 49215, {37673, 0, 0, 0}, 229, 229, { 1252, 20284, 10000, 850, 0, ',' }},
+       {0x1C1A, 0x6C1A, 257, 8, 49218, 49229, 48965, 49272, 49276, 49025, 49028, {39482, 0, 0, 0}, 230, 230, { 1251, 21025, 10007, 855, 0, ';' }},
+       {0x2001, 0x0001, 257, 84, 49280, 49286, 49300, 49328, 37132, 37103, 49332, {37136, 0, 0, 0}, 231, 231, { 1256, 20420, 10004, 720, 1, ';' }},
+       {0x2009, 0x0009, 257, 54, 49335, 49341, 49341, 49359, 37622, 37607, 49363, {37626, 0, 0, 0}, 232, 232, { 1252, 500, 10000, 850, 0, ',' }},
+       {0x200A, 0x000A, 257, 115, 49366, 49372, 49392, 49413, 37669, 37645, 49417, {37673, 0, 0, 0}, 233, 233, { 1252, 20284, 10000, 850, 0, ',' }},
+       {0x2401, 0x0001, 257, 117, 49420, 49426, 49441, 49469, 37132, 37103, 49473, {37136, 0, 0, 0}, 234, 234, { 1256, 20420, 10004, 720, 1, ';' }},
+       {0x240A, 0x000A, 257, 22, 49476, 49482, 49501, 49521, 37669, 37645, 49525, {37673, 0, 0, 0}, 235, 235, { 1252, 20284, 10000, 850, 0, ',' }},
+       {0x241A, 0x701A, 257, 95, 49528, 49539, 49563, 49591, 9310, 49025, 49595, {49031, 0, 0, 0}, 236, 236, { 1250, 500, 10029, 852, 0, ';' }},
+       {0x2801, 0x0001, 257, 104, 49598, 49604, 49619, 49647, 37132, 37103, 49651, {37136, 0, 0, 0}, 237, 237, { 1256, 20420, 10004, 720, 1, ';' }},
+       {0x2809, 0x0009, 257, 17, 49654, 49660, 49660, 49677, 37622, 37607, 49681, {37626, 0, 0, 0}, 238, 238, { 1252, 500, 10000, 850, 0, ';' }},
+       {0x280A, 0x000A, 257, 86, 49684, 49690, 49705, 49722, 37669, 37645, 49726, {37673, 0, 0, 0}, 239, 239, { 1252, 20284, 10000, 850, 0, ',' }},
+       {0x281A, 0x6C1A, 257, 95, 49729, 49740, 49563, 49767, 9310, 49025, 49595, {39482, 0, 0, 0}, 240, 240, { 1251, 21025, 10007, 855, 0, ';' }},
+       {0x2C01, 0x0001, 257, 55, 49771, 49777, 49793, 49823, 37132, 37103, 49827, {37136, 0, 0, 0}, 241, 241, { 1256, 20420, 10004, 720, 1, ';' }},
+       {0x2C09, 0x0009, 257, 109, 49830, 49836, 49836, 49866, 37622, 37607, 49870, {37626, 0, 0, 0}, 242, 242, { 1252, 500, 10000, 850, 0, ';' }},
+       {0x2C0A, 0x000A, 257, 4, 49873, 49879, 49899, 49920, 37669, 37645, 49924, {37673, 0, 0, 0}, 243, 243, { 1252, 20284, 10000, 850, 0, ',' }},
+       {0x2C1A, 0x701A, 257, 72, 49927, 49938, 49966, 49999, 9310, 49025, 50003, {49031, 0, 0, 0}, 244, 244, { 1250, 500, 10029, 852, 0, ';' }},
+       {0x3001, 0x0001, 257, 63, 50006, 50012, 50029, 50057, 37132, 37103, 50061, {37136, 0, 0, 0}, 245, 245, { 1256, 20420, 10004, 720, 1, ';' }},
+       {0x3009, 0x0009, 257, 119, 50064, 50070, 50070, 50089, 37622, 37607, 50093, {37626, 0, 0, 0}, 246, 246, { 1252, 500, 10000, 437, 0, ',' }},
+       {0x300A, 0x000A, 257, 29, 50096, 50102, 50120, 50139, 37669, 37645, 50143, {37673, 0, 0, 0}, 247, 247, { 1252, 20284, 10000, 850, 0, ',' }},
+       {0x301A, 0x6C1A, 257, 72, 50146, 50157, 49966, 50188, 9310, 49025, 50003, {39482, 0, 0, 0}, 248, 248, { 1251, 21025, 10007, 855, 0, ';' }},
+       {0x3401, 0x0001, 257, 61, 50192, 50198, 50214, 50244, 37132, 37103, 50248, {37136, 0, 0, 0}, 249, 249, { 1256, 20420, 10004, 720, 1, ';' }},
+       {0x3409, 0x0009, 257, 87, 50251, 50257, 50257, 50279, 37622, 37607, 46354, {37626, 0, 0, 0}, 250, 250, { 1252, 500, 10000, 437, 0, ',' }},
+       {0x340A, 0x000A, 257, 20, 50283, 50289, 50305, 50322, 37669, 37645, 50326, {37673, 0, 0, 0}, 251, 251, { 1252, 20284, 10000, 850, 0, ',' }},
+       {0x3801, 0x0001, 257, 0, 50329, 50335, 50365, 50429, 37132, 37103, 50433, {37136, 0, 0, 0}, 252, 252, { 1256, 20420, 10004, 720, 1, ';' }},
+       {0x380A, 0x000A, 257, 113, 50436, 50442, 50460, 50479, 37669, 37645, 50483, {37673, 0, 0, 0}, 253, 253, { 1252, 20284, 10000, 850, 0, ',' }},
+       {0x3C01, 0x0001, 257, 12, 50486, 50492, 50509, 50541, 37132, 37103, 50545, {37136, 0, 0, 0}, 254, 254, { 1256, 20420, 10004, 720, 1, ';' }},
+       {0x3C0A, 0x000A, 257, 92, 50548, 50554, 50573, 50593, 37669, 37645, 50597, {37673, 0, 0, 0}, 255, 255, { 1252, 20284, 10000, 850, 0, ',' }},
+       {0x4001, 0x0001, 257, 93, 50600, 50606, 50621, 50645, 37132, 37103, 50649, {37136, 0, 0, 0}, 256, 256, { 1256, 20420, 10004, 720, 1, ';' }},
+       {0x4009, 0x0009, 257, 49, 50652, 50658, 50658, 50674, 37622, 37607, 44852, {37626, 0, 0, 0}, 257, 257, { 1252, 37, 10000, 437, 0, ',' }},
+       {0x400A, 0x000A, 257, 14, 50678, 50684, 50702, 50721, 37669, 37645, 50725, {37673, 0, 0, 0}, 258, 258, { 1252, 20284, 10000, 850, 0, ',' }},
+       {0x440A, 0x000A, 257, 103, 50728, 50734, 50756, 50779, 37669, 37645, 50783, {37673, 0, 0, 0}, 259, 259, { 1252, 20284, 10000, 850, 0, ',' }},
+       {0x4809, 0x0009, 257, 100, 50786, 50792, 50792, 50812, 37622, 37607, 48187, {37626, 0, 0, 0}, 260, 260, { 1252, 37, 10000, 437, 0, ',' }},
+       {0x480A, 0x000A, 257, 43, 50816, 50822, 50841, 50861, 37669, 37645, 50865, {37673, 0, 0, 0}, 261, 261, { 1252, 20284, 10000, 850, 0, ',' }},
+       {0x4C0A, 0x000A, 257, 79, 50868, 50874, 50894, 50915, 37669, 37645, 50919, {37673, 0, 0, 0}, 262, 262, { 1252, 20284, 10000, 850, 0, ',' }},
+       {0x500A, 0x000A, 257, 90, 50922, 50928, 50950, 50973, 37669, 37645, 50977, {37673, 0, 0, 0}, 263, 263, { 1252, 20284, 10000, 850, 0, ',' }},
+       {0x540A, 0x000A, 257, 112, 50980, 50986, 51010, 51036, 37669, 37645, 42594, {37673, 0, 0, 0}, 264, 264, { 1252, 20284, 10000, 850, 0, ',' }},
+       {0x6C1A, 0x7C1A, 257, -1, 51040, 51048, 51067, 49767, 9310, 49025, 0, {39482, 0, 0, 0}, 265, 265, { 1251, 21025, 10007, 855, 0, ';' }},
+       {0x701A, 0x7C1A, 257, -1, 51080, 51088, 51067, 49591, 9310, 49025, 0, {49031, 0, 0, 0}, 266, 266, { 1250, 500, 10029, 852, 0, ';' }},
+       {0x742C, 0x002C, 257, -1, 51104, 51112, 39353, 47426, 39371, 14654, 0, {39375, 0, 0, 0}, 267, 267, { 1251, 20880, 10007, 866, 0, ';' }},
+       {0x7804, 0x007F, 257, -1, 37343, 37361, 37328, 37335, 37339, 37343, 0, {37346, 0, 0, 0}, 268, 268, { 936, 500, 10008, 936, 0, ',' }},
+       {0x7814, 0x0014, 257, -1, 47274, 51135, 51153, 47266, 47270, 47274, 0, {37459, 0, 0, 0}, 269, 269, { 1252, 20277, 10000, 850, 0, ';' }},
+       {0x781A, 0x007F, 257, -1, 51161, 51164, 51172, 51181, 51185, 51161, 0, {49031, 0, 0, 0}, 270, 270, { 1250, 870, 10082, 852, 0, ';' }},
+       {0x782C, 0x002C, 257, -1, 51189, 51197, 39353, 39367, 39371, 14654, 0, {39375, 0, 0, 0}, 271, 271, { 1254, 20905, 10081, 857, 0, ';' }},
+       {0x7843, 0x0043, 257, -1, 51217, 51225, 40231, 40242, 40246, 40222, 0, {0, 0, 0, 0}, 272, 272, { 1251, 20880, 10007, 866, 0, ';' }},
+       {0x7850, 0x0050, 257, -1, 51242, 51250, 41107, 51271, 41124, 41094, 0, {0, 0, 0, 0}, 273, 273, { 1251, 20880, 10007, 866, 0, ';' }},
+       {0x7C04, 0x7804, 257, -1, 51275, 42304, 37328, 42342, 37339, 37343, 0, {42349, 0, 0, 0}, 274, 274, { 950, 500, 10002, 950, 0, ',' }},
+       {0x7C04, 0x7C04, 257, -1, 51283, 51290, 37328, 42342, 37339, 37343, 0, {42349, 0, 0, 0}, 275, 275, { 950, 500, 10002, 950, 0, ',' }},
+       {0x7C14, 0x0014, 257, -1, 38152, 51319, 51337, 38144, 38148, 38152, 0, {37459, 0, 0, 0}, 276, 276, { 1252, 20277, 10000, 850, 0, ';' }},
+       {0x7C1A, 0x007F, 257, -1, 49025, 51351, 51067, 51359, 9310, 49025, 0, {39482, 0, 0, 0}, 277, 277, { 1250, 500, 10029, 852, 0, ';' }},
+       {0x7C28, 0x0028, 257, -1, 51363, 51371, 0, 39196, 39200, 39187, 0, {0, 0, 0, 0}, 278, 278, { 1251, 20880, 10007, 866, 0, ';' }},
+       {0x7C43, 0x0043, 257, -1, 51388, 51396, 40231, 40242, 40246, 40222, 0, {0, 0, 0, 0}, 279, 279, { 1254, 500, 10029, 857, 0, ';' }},
+       {0x7C50, 0x0050, 257, -1, 51410, 51418, 41107, 47679, 41124, 41094, 0, {0, 0, 0, 0}, 280, 280, { 0, 500, 2, 1, 0, ',' }},
+       {0x7C5F, 0x005F, 257, -1, 51440, 51449, 41490, 41500, 41460, 41460, 0, {0, 0, 0, 0}, 281, 281, { 1252, 20297, 10000, 850, 0, ';' }},
+       {0x7C68, 0x0068, 257, -1, 51483, 51491, 41658, 41664, 41668, 41655, 0, {0, 0, 0, 0}, 282, 282, { 1252, 37, 10000, 437, 0, ',' }}
 };
 
 
 static const CultureInfoNameEntry culture_name_entries [] = {
-       {39013, 50},     /* af */
-       {50894, 145},    /* af-za */
-       {7865, 80},      /* am */
-       {50900, 171},    /* am-et */
-       {36492, 0},      /* ar */
-       {50906, 252},    /* ar-ae */
-       {50912, 254},    /* ar-bh */
-       {50918, 216},    /* ar-dz */
-       {50924, 203},    /* ar-eg */
-       {50930, 186},    /* ar-iq */
-       {50936, 241},    /* ar-jo */
-       {50942, 249},    /* ar-kw */
-       {50948, 245},    /* ar-lb */
-       {50954, 210},    /* ar-ly */
-       {50960, 222},    /* ar-ma */
-       {50966, 231},    /* ar-om */
-       {50972, 256},    /* ar-qa */
-       {50978, 97},     /* ar-sa */
-       {50984, 237},    /* ar-sy */
-       {50990, 227},    /* ar-tn */
-       {50996, 234},    /* ar-ye */
-       {14516, 70},     /* as */
-       {51002, 162},    /* as-in */
-       {14519, 44},     /* az */
-       {51008, 267},    /* az-cyrl */
-       {51016, 197},    /* az-cyrl-az */
-       {51027, 271},    /* az-latn */
-       {51035, 139},    /* az-latn-az */
-       {38285, 35},     /* be */
-       {51046, 130},    /* be-by */
-       {36553, 1},      /* bg */
-       {51052, 98},     /* bg-bg */
-       {39639, 62},     /* bn */
-       {51058, 201},    /* bn-bd */
-       {51064, 155},    /* bn-in */
-       {40517, 73},     /* bo */
-       {51070, 164},    /* bo-cn */
-       {41227, 91},     /* br */
-       {51076, 181},    /* br-fr */
-       {50550, 270},    /* bs */
-       {36635, 2},      /* ca */
-       {51082, 99},     /* ca-es */
-       {36771, 5},      /* cs */
-       {51088, 101},    /* cs-cz */
-       {40561, 74},     /* cy */
-       {51094, 165},    /* cy-gb */
-       {36824, 6},      /* da */
-       {51100, 102},    /* da-dk */
-       {36869, 7},      /* de */
-       {51106, 205},    /* de-at */
-       {51112, 188},    /* de-ch */
-       {51118, 103},    /* de-de */
-       {51124, 218},    /* de-li */
-       {51130, 212},    /* de-lu */
-       {36920, 8},      /* el */
-       {51136, 104},    /* el-gr */
-       {36996, 9},      /* en */
-       {51142, 206},    /* en-au */
-       {51148, 238},    /* en-bz */
-       {51154, 213},    /* en-ca */
-       {51160, 189},    /* en-gb */
-       {51166, 223},    /* en-ie */
-       {51172, 257},    /* en-in */
-       {51178, 232},    /* en-jm */
-       {51184, 219},    /* en-nz */
-       {51190, 250},    /* en-ph */
-       {51196, 260},    /* en-sg */
-       {51202, 242},    /* en-tt */
-       {51208, 105},    /* en-us */
-       {51214, 228},    /* en-za */
-       {51220, 246},    /* en-zw */
-       {37034, 10},     /* es */
-       {51226, 243},    /* es-ar */
-       {51232, 258},    /* es-bo */
-       {51238, 251},    /* es-cl */
-       {51244, 235},    /* es-co */
-       {51250, 220},    /* es-cr */
-       {51256, 229},    /* es-do */
-       {51262, 247},    /* es-ec */
-       {51268, 207},    /* es-es */
-       {51274, 214},    /* es-gt */
-       {51280, 261},    /* es-hn */
-       {51286, 190},    /* es-mx */
-       {51292, 262},    /* es-ni */
-       {51298, 224},    /* es-pa */
-       {51304, 239},    /* es-pe */
-       {51310, 263},    /* es-pr */
-       {51316, 255},    /* es-py */
-       {51322, 259},    /* es-sv */
-       {51328, 264},    /* es-us */
-       {51334, 253},    /* es-uy */
-       {51340, 233},    /* es-ve */
-       {38427, 37},     /* et */
-       {51346, 132},    /* et-ee */
-       {38782, 45},     /* eu */
-       {51352, 140},    /* eu-es */
-       {38593, 41},     /* fa */
-       {51358, 136},    /* fa-ir */
-       {37084, 11},     /* fi */
-       {51364, 106},    /* fi-fi */
-       {41004, 84},     /* fil */
-       {51370, 174},    /* fil-ph */
-       {39161, 52},     /* fo */
-       {51377, 147},    /* fo-fo */
-       {37134, 12},     /* fr */
-       {51383, 191},    /* fr-be */
-       {51389, 208},    /* fr-ca */
-       {51395, 215},    /* fr-ch */
-       {51401, 107},    /* fr-fr */
-       {51407, 221},    /* fr-lu */
-       {51413, 225},    /* fr-mc */
-       {39355, 56},     /* ga */
-       {51419, 198},    /* ga-ie */
-       {41422, 96},     /* gd */
-       {51425, 185},    /* gd-gb */
-       {40656, 77},     /* gl */
-       {51431, 168},    /* gl-es */
-       {41302, 93},     /* gsw */
-       {39777, 64},     /* gu */
-       {51437, 156},    /* gu-in */
-       {41044, 85},     /* ha */
-       {51443, 282},    /* ha-latn */
-       {51451, 175},    /* ha-latn-ng */
-       {37184, 13},     /* he */
-       {51462, 108},    /* he-il */
-       {39190, 53},     /* hi */
-       {51468, 148},    /* hi-in */
-       {37826, 26},     /* hr */
-       {51474, 121},    /* hr-hr */
-       {37246, 14},     /* hu */
-       {51480, 109},    /* hu-hu */
-       {38695, 43},     /* hy */
-       {51486, 138},    /* hy-am */
-       {38139, 33},     /* id */
-       {51492, 128},    /* id-id */
-       {14510, 89},     /* ig */
-       {51498, 179},    /* ig-ng */
-       {41182, 90},     /* ii */
-       {51504, 180},    /* ii-cn */
-       {37290, 15},     /* is */
-       {51510, 110},    /* is-is */
-       {37341, 16},     /* it */
-       {51516, 192},    /* it-ch */
-       {51522, 111},    /* it-it */
-       {37369, 17},     /* ja */
-       {51528, 112},    /* ja-jp */
-       {39054, 51},     /* ka */
-       {51534, 146},    /* ka-ge */
-       {39449, 58},     /* kk */
-       {41134, 88},     /* kl */
-       {51540, 178},    /* kl-gl */
-       {40586, 75},     /* km */
-       {51546, 166},    /* km-kh */
-       {35841, 68},     /* kn */
-       {51552, 160},    /* kn-in */
-       {37426, 18},     /* ko */
-       {51558, 113},    /* ko-kr */
-       {40683, 78},     /* kok */
-       {51564, 169},    /* kok-in */
-       {39529, 59},     /* ky */
-       {51571, 152},    /* ky-kg */
-       {40631, 76},     /* lo */
-       {51577, 167},    /* lo-la */
-       {38521, 39},     /* lt */
-       {51583, 134},    /* lt-lt */
-       {38473, 38},     /* lv */
-       {51589, 133},    /* lv-lv */
-       {38828, 46},     /* mk */
-       {51595, 141},    /* mk-mk */
-       {40208, 69},     /* ml */
-       {51601, 161},    /* ml-in */
-       {40483, 72},     /* mn */
-       {51607, 273},    /* mn-cyrl */
-       {51615, 280},    /* mn-mong */
-       {51623, 202},    /* mn-mong-cn */
-       {40390, 71},     /* mr */
-       {51634, 163},    /* mr-in */
-       {39401, 57},     /* ms */
-       {51640, 199},    /* ms-bn */
-       {51646, 151},    /* ms-my */
-       {39267, 54},     /* mt */
-       {51652, 149},    /* mt-mt */
-       {37541, 276},    /* nb */
-       {51658, 115},    /* nb-no */
-       {2059, 82},      /* ne */
-       {51664, 172},    /* ne-np */
-       {37464, 19},     /* nl */
-       {51670, 193},    /* nl-be */
-       {51676, 114},    /* nl-nl */
-       {46663, 269},    /* nn */
-       {51682, 194},    /* nn-no */
-       {37514, 20},     /* no */
-       {41094, 87},     /* nso */
-       {51688, 177},    /* nso-za */
-       {41275, 92},     /* oc */
-       {51695, 182},    /* oc-fr */
-       {14525, 65},     /* or */
-       {51701, 157},    /* or-in */
-       {39739, 63},     /* pa */
-       {37544, 21},     /* pl */
-       {51707, 116},    /* pl-pl */
-       {40977, 83},     /* ps */
-       {51713, 173},    /* ps-af */
-       {37593, 22},     /* pt */
-       {51719, 117},    /* pt-br */
-       {51725, 195},    /* pt-pt */
-       {37649, 23},     /* rm */
-       {51731, 118},    /* rm-ch */
-       {37698, 24},     /* ro */
-       {51737, 119},    /* ro-ro */
-       {37746, 25},     /* ru */
-       {51743, 120},    /* ru-ru */
-       {41399, 95},     /* rw */
-       {51749, 184},    /* rw-rw */
-       {41367, 94},     /* sah */
-       {51755, 183},    /* sah-ru */
-       {39313, 55},     /* se */
-       {51762, 209},    /* se-fi */
-       {51768, 150},    /* se-no */
-       {40718, 79},     /* si */
-       {51774, 170},    /* si-lk */
-       {37878, 27},     /* sk */
-       {51780, 122},    /* sk-sk */
-       {38370, 36},     /* sl */
-       {51786, 131},    /* sl-si */
-       {37932, 28},     /* sq */
-       {51792, 123},    /* sq-al */
-       {48414, 277},    /* sr */
-       {51798, 265},    /* sr-cyrl */
-       {51806, 230},    /* sr-cyrl-ba */
-       {51817, 248},    /* sr-cyrl-me */
-       {51828, 240},    /* sr-cyrl-rs */
-       {51839, 266},    /* sr-latn */
-       {51847, 226},    /* sr-latn-ba */
-       {51858, 244},    /* sr-latn-me */
-       {51869, 236},    /* sr-latn-rs */
-       {37958, 29},     /* sv */
-       {51880, 196},    /* sv-fi */
-       {51886, 124},    /* sv-se */
-       {39561, 60},     /* sw */
-       {51892, 153},    /* sw-ke */
-       {39905, 66},     /* ta */
-       {51898, 158},    /* ta-in */
-       {40003, 67},     /* te */
-       {51904, 159},    /* te-in */
-       {38576, 40},     /* tg */
-       {51910, 278},    /* tg-cyrl */
-       {51918, 135},    /* tg-cyrl-tj */
-       {37985, 30},     /* th */
-       {51929, 125},    /* th-th */
-       {38915, 47},     /* tn */
-       {51935, 142},    /* tn-za */
-       {38042, 31},     /* tr */
-       {51941, 126},    /* tr-tr */
-       {40849, 81},     /* tzm */
-       {51947, 281},    /* tzm-latn */
-       {38197, 34},     /* uk */
-       {51956, 129},    /* uk-ua */
-       {38084, 32},     /* ur */
-       {51962, 127},    /* ur-pk */
-       {39611, 61},     /* uz */
-       {51968, 272},    /* uz-cyrl */
-       {51976, 200},    /* uz-cyrl-uz */
-       {51987, 279},    /* uz-latn */
-       {51995, 154},    /* uz-latn-uz */
-       {38647, 42},     /* vi */
-       {52006, 137},    /* vi-vn */
-       {38942, 48},     /* xh */
-       {52012, 143},    /* xh-za */
-       {41061, 86},     /* yo */
-       {52018, 176},    /* yo-ng */
-       {36732, 268},    /* zh */
-       {52024, 3},      /* zh-chs */
-       {52031, 275},    /* zh-cht */
-       {52038, 187},    /* zh-cn */
-       {52044, 4},      /* zh-hans */
-       {52052, 274},    /* zh-hant */
-       {52060, 204},    /* zh-hk */
-       {52066, 217},    /* zh-mo */
-       {52072, 211},    /* zh-sg */
-       {52078, 100},    /* zh-tw */
-       {38968, 49},     /* zu */
-       {52084, 144}     /* zu-za */
+       {39624, 50},     /* af */
+       {51505, 145},    /* af-za */
+       {7932, 80},      /* am */
+       {51511, 171},    /* am-et */
+       {37103, 0},      /* ar */
+       {51517, 252},    /* ar-ae */
+       {51523, 254},    /* ar-bh */
+       {51529, 216},    /* ar-dz */
+       {51535, 203},    /* ar-eg */
+       {51541, 186},    /* ar-iq */
+       {51547, 241},    /* ar-jo */
+       {51553, 249},    /* ar-kw */
+       {51559, 245},    /* ar-lb */
+       {51565, 210},    /* ar-ly */
+       {51571, 222},    /* ar-ma */
+       {51577, 231},    /* ar-om */
+       {51583, 256},    /* ar-qa */
+       {51589, 97},     /* ar-sa */
+       {51595, 237},    /* ar-sy */
+       {51601, 227},    /* ar-tn */
+       {51607, 234},    /* ar-ye */
+       {14651, 70},     /* as */
+       {51613, 162},    /* as-in */
+       {14654, 44},     /* az */
+       {51619, 267},    /* az-cyrl */
+       {51627, 197},    /* az-cyrl-az */
+       {51638, 271},    /* az-latn */
+       {51646, 139},    /* az-latn-az */
+       {38896, 35},     /* be */
+       {51657, 130},    /* be-by */
+       {37164, 1},      /* bg */
+       {51663, 98},     /* bg-bg */
+       {40250, 62},     /* bn */
+       {51669, 201},    /* bn-bd */
+       {51675, 155},    /* bn-in */
+       {41128, 73},     /* bo */
+       {51681, 164},    /* bo-cn */
+       {41838, 91},     /* br */
+       {51687, 181},    /* br-fr */
+       {51161, 270},    /* bs */
+       {37246, 2},      /* ca */
+       {51693, 99},     /* ca-es */
+       {37382, 5},      /* cs */
+       {51699, 101},    /* cs-cz */
+       {41172, 74},     /* cy */
+       {51705, 165},    /* cy-gb */
+       {37435, 6},      /* da */
+       {51711, 102},    /* da-dk */
+       {37480, 7},      /* de */
+       {51717, 205},    /* de-at */
+       {51723, 188},    /* de-ch */
+       {51729, 103},    /* de-de */
+       {51735, 218},    /* de-li */
+       {51741, 212},    /* de-lu */
+       {37531, 8},      /* el */
+       {51747, 104},    /* el-gr */
+       {37607, 9},      /* en */
+       {51753, 206},    /* en-au */
+       {51759, 238},    /* en-bz */
+       {51765, 213},    /* en-ca */
+       {51771, 189},    /* en-gb */
+       {51777, 223},    /* en-ie */
+       {51783, 257},    /* en-in */
+       {51789, 232},    /* en-jm */
+       {51795, 219},    /* en-nz */
+       {51801, 250},    /* en-ph */
+       {51807, 260},    /* en-sg */
+       {51813, 242},    /* en-tt */
+       {51819, 105},    /* en-us */
+       {51825, 228},    /* en-za */
+       {51831, 246},    /* en-zw */
+       {37645, 10},     /* es */
+       {51837, 243},    /* es-ar */
+       {51843, 258},    /* es-bo */
+       {51849, 251},    /* es-cl */
+       {51855, 235},    /* es-co */
+       {51861, 220},    /* es-cr */
+       {51867, 229},    /* es-do */
+       {51873, 247},    /* es-ec */
+       {51879, 207},    /* es-es */
+       {51885, 214},    /* es-gt */
+       {51891, 261},    /* es-hn */
+       {51897, 190},    /* es-mx */
+       {51903, 262},    /* es-ni */
+       {51909, 224},    /* es-pa */
+       {51915, 239},    /* es-pe */
+       {51921, 263},    /* es-pr */
+       {51927, 255},    /* es-py */
+       {51933, 259},    /* es-sv */
+       {51939, 264},    /* es-us */
+       {51945, 253},    /* es-uy */
+       {51951, 233},    /* es-ve */
+       {39038, 37},     /* et */
+       {51957, 132},    /* et-ee */
+       {39393, 45},     /* eu */
+       {51963, 140},    /* eu-es */
+       {39204, 41},     /* fa */
+       {51969, 136},    /* fa-ir */
+       {37695, 11},     /* fi */
+       {51975, 106},    /* fi-fi */
+       {41615, 84},     /* fil */
+       {51981, 174},    /* fil-ph */
+       {39772, 52},     /* fo */
+       {51988, 147},    /* fo-fo */
+       {37745, 12},     /* fr */
+       {51994, 191},    /* fr-be */
+       {52000, 208},    /* fr-ca */
+       {52006, 215},    /* fr-ch */
+       {52012, 107},    /* fr-fr */
+       {52018, 221},    /* fr-lu */
+       {52024, 225},    /* fr-mc */
+       {39966, 56},     /* ga */
+       {52030, 198},    /* ga-ie */
+       {42033, 96},     /* gd */
+       {52036, 185},    /* gd-gb */
+       {41267, 77},     /* gl */
+       {52042, 168},    /* gl-es */
+       {41913, 93},     /* gsw */
+       {40388, 64},     /* gu */
+       {52048, 156},    /* gu-in */
+       {41655, 85},     /* ha */
+       {52054, 282},    /* ha-latn */
+       {52062, 175},    /* ha-latn-ng */
+       {37795, 13},     /* he */
+       {52073, 108},    /* he-il */
+       {39801, 53},     /* hi */
+       {52079, 148},    /* hi-in */
+       {38437, 26},     /* hr */
+       {52085, 121},    /* hr-hr */
+       {37857, 14},     /* hu */
+       {52091, 109},    /* hu-hu */
+       {39306, 43},     /* hy */
+       {52097, 138},    /* hy-am */
+       {38750, 33},     /* id */
+       {52103, 128},    /* id-id */
+       {14645, 89},     /* ig */
+       {52109, 179},    /* ig-ng */
+       {41793, 90},     /* ii */
+       {52115, 180},    /* ii-cn */
+       {37901, 15},     /* is */
+       {52121, 110},    /* is-is */
+       {37952, 16},     /* it */
+       {52127, 192},    /* it-ch */
+       {52133, 111},    /* it-it */
+       {37980, 17},     /* ja */
+       {52139, 112},    /* ja-jp */
+       {39665, 51},     /* ka */
+       {52145, 146},    /* ka-ge */
+       {40060, 58},     /* kk */
+       {41745, 88},     /* kl */
+       {52151, 178},    /* kl-gl */
+       {41197, 75},     /* km */
+       {52157, 166},    /* km-kh */
+       {36452, 68},     /* kn */
+       {52163, 160},    /* kn-in */
+       {38037, 18},     /* ko */
+       {52169, 113},    /* ko-kr */
+       {41294, 78},     /* kok */
+       {52175, 169},    /* kok-in */
+       {40140, 59},     /* ky */
+       {52182, 152},    /* ky-kg */
+       {41242, 76},     /* lo */
+       {52188, 167},    /* lo-la */
+       {39132, 39},     /* lt */
+       {52194, 134},    /* lt-lt */
+       {39084, 38},     /* lv */
+       {52200, 133},    /* lv-lv */
+       {39439, 46},     /* mk */
+       {52206, 141},    /* mk-mk */
+       {40819, 69},     /* ml */
+       {52212, 161},    /* ml-in */
+       {41094, 72},     /* mn */
+       {52218, 273},    /* mn-cyrl */
+       {52226, 280},    /* mn-mong */
+       {52234, 202},    /* mn-mong-cn */
+       {41001, 71},     /* mr */
+       {52245, 163},    /* mr-in */
+       {40012, 57},     /* ms */
+       {52251, 199},    /* ms-bn */
+       {52257, 151},    /* ms-my */
+       {39878, 54},     /* mt */
+       {52263, 149},    /* mt-mt */
+       {38152, 276},    /* nb */
+       {52269, 115},    /* nb-no */
+       {2100, 82},      /* ne */
+       {52275, 172},    /* ne-np */
+       {38075, 19},     /* nl */
+       {52281, 193},    /* nl-be */
+       {52287, 114},    /* nl-nl */
+       {47274, 269},    /* nn */
+       {52293, 194},    /* nn-no */
+       {38125, 20},     /* no */
+       {41705, 87},     /* nso */
+       {52299, 177},    /* nso-za */
+       {41886, 92},     /* oc */
+       {52306, 182},    /* oc-fr */
+       {14660, 65},     /* or */
+       {52312, 157},    /* or-in */
+       {40350, 63},     /* pa */
+       {38155, 21},     /* pl */
+       {52318, 116},    /* pl-pl */
+       {41588, 83},     /* ps */
+       {52324, 173},    /* ps-af */
+       {38204, 22},     /* pt */
+       {52330, 117},    /* pt-br */
+       {52336, 195},    /* pt-pt */
+       {38260, 23},     /* rm */
+       {52342, 118},    /* rm-ch */
+       {38309, 24},     /* ro */
+       {52348, 119},    /* ro-ro */
+       {38357, 25},     /* ru */
+       {52354, 120},    /* ru-ru */
+       {42010, 95},     /* rw */
+       {52360, 184},    /* rw-rw */
+       {41978, 94},     /* sah */
+       {52366, 183},    /* sah-ru */
+       {39924, 55},     /* se */
+       {52373, 209},    /* se-fi */
+       {52379, 150},    /* se-no */
+       {41329, 79},     /* si */
+       {52385, 170},    /* si-lk */
+       {38489, 27},     /* sk */
+       {52391, 122},    /* sk-sk */
+       {38981, 36},     /* sl */
+       {52397, 131},    /* sl-si */
+       {38543, 28},     /* sq */
+       {52403, 123},    /* sq-al */
+       {49025, 277},    /* sr */
+       {52409, 265},    /* sr-cyrl */
+       {52417, 230},    /* sr-cyrl-ba */
+       {52428, 248},    /* sr-cyrl-me */
+       {52439, 240},    /* sr-cyrl-rs */
+       {52450, 266},    /* sr-latn */
+       {52458, 226},    /* sr-latn-ba */
+       {52469, 244},    /* sr-latn-me */
+       {52480, 236},    /* sr-latn-rs */
+       {38569, 29},     /* sv */
+       {52491, 196},    /* sv-fi */
+       {52497, 124},    /* sv-se */
+       {40172, 60},     /* sw */
+       {52503, 153},    /* sw-ke */
+       {40516, 66},     /* ta */
+       {52509, 158},    /* ta-in */
+       {40614, 67},     /* te */
+       {52515, 159},    /* te-in */
+       {39187, 40},     /* tg */
+       {52521, 278},    /* tg-cyrl */
+       {52529, 135},    /* tg-cyrl-tj */
+       {38596, 30},     /* th */
+       {52540, 125},    /* th-th */
+       {39526, 47},     /* tn */
+       {52546, 142},    /* tn-za */
+       {38653, 31},     /* tr */
+       {52552, 126},    /* tr-tr */
+       {41460, 81},     /* tzm */
+       {52558, 281},    /* tzm-latn */
+       {38808, 34},     /* uk */
+       {52567, 129},    /* uk-ua */
+       {38695, 32},     /* ur */
+       {52573, 127},    /* ur-pk */
+       {40222, 61},     /* uz */
+       {52579, 272},    /* uz-cyrl */
+       {52587, 200},    /* uz-cyrl-uz */
+       {52598, 279},    /* uz-latn */
+       {52606, 154},    /* uz-latn-uz */
+       {39258, 42},     /* vi */
+       {52617, 137},    /* vi-vn */
+       {39553, 48},     /* xh */
+       {52623, 143},    /* xh-za */
+       {41672, 86},     /* yo */
+       {52629, 176},    /* yo-ng */
+       {37343, 268},    /* zh */
+       {52635, 3},      /* zh-chs */
+       {52642, 275},    /* zh-cht */
+       {52649, 187},    /* zh-cn */
+       {52655, 4},      /* zh-hans */
+       {52663, 274},    /* zh-hant */
+       {52671, 204},    /* zh-hk */
+       {52677, 217},    /* zh-mo */
+       {52683, 211},    /* zh-sg */
+       {52689, 100},    /* zh-tw */
+       {39579, 49},     /* zu */
+       {52695, 144}     /* zu-za */
 };
 
 
 static const RegionInfoEntry region_entries [] = {
-       { 224,49822,47117,47117,52090,52111,36428,52158,52162,52190},
-       { 3,45689,52214,52214,52218,52230,36210,52249,52253,52268},
-       { 6,42869,52281,52281,52285,52293,35844,52304,52308,0},
-       { 7,3781,48171,48171,52321,52329,35991,52377,52381,0},
-       { 11,49313,47818,47818,52395,52395,35586,49036,52405,52420},
-       { 14,47266,52435,52435,52439,52447,35481,52459,52463,52463},
-       { 12,47299,52468,52468,52472,52472,35586,52482,52486,52486},
-       { 5,43764,38756,38756,52504,52515,36238,52527,52531,52549},
-       { 25,48417,52569,52569,52573,52596,36326,52633,52637,52673},
-       { 23,47025,52716,52716,52720,52731,36274,52756,52760,52777},
-       { 21,46504,38320,38320,52818,52826,35481,52459,52463,52835},
-       { 35,41641,36585,36585,52840,52849,35465,52866,52870,52884},
-       { 17,49934,52910,52910,52914,52922,36438,52937,52941,52956},
-       { 37,46908,52980,52980,52984,52984,35586,52991,52995,53009},
-       { 26,50114,53022,53022,53026,53026,36462,40553,53034,53053},
-       { 32,42561,53063,53063,53067,53074,35735,53081,53085,53100},
-       { 29,43255,53116,53116,53120,53128,0,53145,53149,53166},
-       { 24,49070,53198,53198,53202,53202,35586,53209,53213,53213},
-       { 39,47392,53227,53227,53231,53231,35586,53238,53242,53258},
-       { 223,13261,53274,53274,53278,53290,0,53297,53301,53313},
-       { 46,49715,53327,53327,53331,53331,35586,53337,53341,53354},
-       { 45,13340,53367,53367,53371,53377,36166,53396,53400,53413},
-       { 51,48914,53432,53432,53436,53436,35586,53445,53449,53464},
-       { 54,48062,53480,53480,53484,53484,36308,53495,53499,53518},
-       { 75,41804,53539,53539,53543,53558,35506,53576,53580,53602},
-       { 94,41894,36887,36887,53617,53625,35481,52459,52463,52463},
-       { 61,41846,53637,53637,53641,53649,35534,53657,53661,53674},
-       { 65,48604,53686,53686,53690,53709,35586,53731,53735,53750},
-       { 4,47822,53766,53766,53770,53778,36298,53793,53797,53812},
-       { 66,49532,53836,53836,53840,53840,35586,53848,53852,53862},
-       { 70,43353,50425,50425,53884,53892,35481,52459,52463,52835},
-       { 67,47121,53898,53898,53902,53908,36278,53915,53919,53934},
-       { 217,41684,37054,37054,53952,53958,35481,52459,52463,52835},
-       { 73,45568,53966,53966,53970,53979,36190,53995,53999,54014},
-       { 77,42024,37101,37101,54040,54048,35481,52459,52463,52835},
-       { 81,44184,54054,54054,54058,54072,35534,53657,53661,54081},
-       { 84,42068,37154,37154,54094,54094,35481,52459,52463,52835},
-       { 242,45213,54101,54101,54105,54120,36171,54133,54137,54160},
-       { 88,44130,54182,54182,54186,54194,0,54225,54229,54243},
-       { 93,45967,54278,54278,54282,54292,35534,53657,53661,54309},
-       { 98,41950,54327,54327,54331,54338,35481,52459,52463,54351},
-       { 99,47710,54360,54360,54364,54364,7774,54374,54378,54397},
-       { 104,47214,54418,54418,54422,54442,35586,54470,54474,54491},
-       { 106,50254,54498,54498,54502,54502,2471,54511,54515,54532},
-       { 108,42760,37847,37847,54551,54559,35841,54568,54572,54586},
-       { 109,42169,37266,37266,54591,54599,35636,54613,54617,54634},
-       { 111,43118,54648,54648,54652,54652,35867,54662,54666,54684},
-       { 68,46857,54701,54701,54705,54713,35481,52459,52463,52463},
-       { 117,42117,54719,54719,54723,54730,35632,54741,54745,54764},
-       { 113,44241,38170,38170,54771,54777,36016,54790,54794,54807},
-       { 121,46298,54842,54842,54846,54851,36249,54864,54868,54880},
-       { 116,43542,54902,54902,54906,54911,35983,54922,54926,54939},
-       { 110,42218,37313,37313,54959,54967,35534,54975,54979,54996},
-       { 118,42261,37361,37361,55012,55018,35481,52459,52463,52463},
-       { 124,48752,55025,55025,55029,55029,35586,55037,55041,55041},
-       { 126,49216,55057,55057,55061,55068,36398,55081,55085,55101},
-       { 122,42306,37391,37391,55123,55129,35502,55136,55140,55153},
-       { 129,44494,55163,55163,55167,55167,36030,55173,55177,55193},
-       { 130,44451,55211,55211,55215,55226,36023,55247,55251,0},
-       { 40,45291,40623,40623,55266,55275,36174,55297,55301,55316},
-       { 134,42361,37446,37446,55321,55333,35670,55346,55350,55367},
-       { 136,49637,55384,55384,55388,55395,36418,55408,55412,55426},
-       { 138,45333,40648,40648,55448,40638,36178,55453,55457,55469},
-       { 139,49450,55479,55479,55483,55491,36408,55502,55506,55521},
-       { 145,47971,55543,55543,55547,55547,0,53297,53301,55561},
-       { 42,45509,55579,55579,55583,55593,36182,55625,55629,55646},
-       { 141,43451,55681,55681,55685,55695,35957,55703,55707,55724},
-       { 147,47629,55730,55730,55734,55745,35481,52459,52463,52463},
-       { 140,43399,55755,55755,55759,55766,35917,55774,55778,55791},
-       { 148,47512,55805,55805,55809,55815,36288,55826,55830,55843},
-       { 159,48175,40417,40417,55863,55871,36312,55884,55888,55904},
-       { 158,48300,55924,55924,55928,55928,35481,52459,52463,52835},
-       { 270,49392,55935,55935,55939,55950,35481,52459,52463,55968},
-       { 19618,43880,55973,55973,55977,55987,0,55973,56008,56025},
-       { 151,47911,56057,56057,56061,56077,0,56105,56109,56125},
-       { 163,44280,39284,39284,56135,56135,35481,52459,52463,56141},
-       { 166,46453,56146,56146,56150,56157,35586,56165,56169,56182},
-       { 167,44385,56196,56196,56200,56200,36020,56209,56213,56231},
-       { 175,45797,56248,56248,56252,56260,36217,56269,56273,56288},
-       { 182,50308,56294,56294,56298,56298,36469,56308,56312,56332},
-       { 176,42413,37484,37484,56355,56367,35481,52459,52463,52463},
-       { 177,42471,37533,37533,56377,56384,35534,56390,56394,56410},
-       { 178,45629,56424,56424,56428,56434,36197,56450,56454,0},
-       { 183,48006,56469,56469,56473,56473,35586,56485,56489,56489},
-       { 164,48721,56508,56508,56512,56517,36345,56528,56532,56543},
-       { 192,48252,39769,39769,56563,56570,36322,56578,56582,56600},
-       { 187,49115,56617,56617,56621,56626,36386,56632,56636,56655},
-       { 201,45743,56673,56673,56677,56689,36213,56699,56703,56703},
-       { 190,43057,56719,56719,56723,56732,35862,56747,56751,56767},
-       { 191,42512,56795,56795,56799,56806,35693,56813,56817,56830},
-       { 202,50366,56844,56844,56848,56848,35586,53848,53852,53862},
-       { 193,46720,56860,56860,56864,56864,35481,52459,52463,52463},
-       { 185,49986,56873,56873,56877,56877,36448,56886,56890,56909},
-       { 197,50038,56928,56928,56932,56938,36452,56945,56949,56961},
-       { 200,42656,56979,56979,56983,56991,0,57000,57004,57017},
-       { 271,48984,50748,50748,57031,57038,36371,57051,57055,57069},
-       { 203,42712,37772,37772,57082,57089,35762,57102,57106,57120},
-       { 204,46166,57152,57152,57156,57156,36221,57163,57167,0},
-       { 205,13258,57181,57181,57185,57198,35411,57245,57249,57261},
-       { 221,42913,57281,57281,57285,57292,35534,57300,57304,57318},
-       { 215,47576,57331,57331,57335,57345,0,57355,57359,57376},
-       { 212,43311,57389,57389,57393,57402,35481,52459,52463,57412},
-       { 143,42822,57417,57417,57421,57430,35481,52459,52463,52463},
-       { 72,50172,38397,38397,57451,57451,36465,53848,53852,53862},
-       { 222,49040,57463,57463,57467,57473,36376,57484,57488,57501},
-       { 227,42960,38003,38003,57521,37993,35855,57530,57534,57544},
-       { 228,43494,57563,57563,57567,0,36023,57578,57582,57601},
-       { 234,48496,57614,57614,57618,57626,36329,57635,57639,57654},
-       { 235,43006,57675,57675,57679,57686,35859,57695,57699,57712},
-       { 225,49259,57726,57726,57730,57730,35586,57750,57754,57754},
-       { 237,41735,57781,57781,57785,57792,36224,57799,57803,57821},
-       { 241,43185,38231,38231,57831,57839,35870,57854,57858,57876},
-       { 244,41983,57910,57910,57914,57914,35586,53848,53852,53852},
-       { 246,49872,57928,57928,57932,57932,35586,57940,57944,57959},
-       { 247,44568,39631,39631,57973,57984,36243,58005,58009,58024},
-       { 249,48806,58043,58043,58047,58047,36355,58057,58061,58081},
-       { 251,43600,58101,58101,58105,58113,35987,58124,58128,58144},
-       { 261,48862,58152,58152,58156,58162,36361,58173,58177,58189},
-       { 209,43911,58207,58207,58211,0,10511,58224,58228,0},
-       { 264,49482,58247,58247,58251,58251,35586,53848,53852,53852}
+       { 224,50433,47728,47728,52701,52722,37039,52769,52773,52801},
+       { 3,46300,52825,52825,52829,52841,36821,52860,52864,52879},
+       { 6,43480,52892,52892,52896,52904,36455,52915,52919,0},
+       { 7,3824,48782,48782,52932,52940,36602,52988,52992,0},
+       { 11,49924,48429,48429,53006,53006,36197,49647,53016,53031},
+       { 14,47877,53046,53046,53050,53058,36092,53070,53074,53074},
+       { 12,47910,53079,53079,53083,53083,36197,53093,53097,53097},
+       { 5,44375,39367,39367,53115,53126,36849,53138,53142,53160},
+       { 25,49028,53180,53180,53184,53207,36937,53244,53248,53284},
+       { 23,47636,53327,53327,53331,53342,36885,53367,53371,53388},
+       { 21,47115,38931,38931,53429,53437,36092,53070,53074,53446},
+       { 35,42252,37196,37196,53451,53460,36076,53477,53481,53495},
+       { 17,50545,53521,53521,53525,53533,37049,53548,53552,53567},
+       { 37,47519,53591,53591,53595,53595,36197,53602,53606,53620},
+       { 26,50725,53633,53633,53637,53637,37073,41164,53645,53664},
+       { 32,43172,53674,53674,53678,53685,36346,53692,53696,53711},
+       { 29,43866,53727,53727,53731,53739,0,53756,53760,53777},
+       { 24,49681,53809,53809,53813,53813,36197,53820,53824,53824},
+       { 39,48003,53838,53838,53842,53842,36197,53849,53853,53869},
+       { 223,13371,53885,53885,53889,53901,0,53908,53912,53924},
+       { 46,50326,53938,53938,53942,53942,36197,53948,53952,53965},
+       { 45,13450,53978,53978,53982,53988,36777,54007,54011,54024},
+       { 51,49525,54043,54043,54047,54047,36197,54056,54060,54075},
+       { 54,48673,54091,54091,54095,54095,36919,54106,54110,54129},
+       { 75,42415,54150,54150,54154,54169,36117,54187,54191,54213},
+       { 94,42505,37498,37498,54228,54236,36092,53070,53074,53074},
+       { 61,42457,54248,54248,54252,54260,36145,54268,54272,54285},
+       { 65,49215,54297,54297,54301,54320,36197,54342,54346,54361},
+       { 4,48433,54377,54377,54381,54389,36909,54404,54408,54423},
+       { 66,50143,54447,54447,54451,54451,36197,54459,54463,54473},
+       { 70,43964,51036,51036,54495,54503,36092,53070,53074,53446},
+       { 67,47732,54509,54509,54513,54519,36889,54526,54530,54545},
+       { 217,42295,37665,37665,54563,54569,36092,53070,53074,53446},
+       { 73,46179,54577,54577,54581,54590,36801,54606,54610,54625},
+       { 77,42635,37712,37712,54651,54659,36092,53070,53074,53446},
+       { 81,44795,54665,54665,54669,54683,36145,54268,54272,54692},
+       { 84,42679,37765,37765,54705,54705,36092,53070,53074,53446},
+       { 242,45824,54712,54712,54716,54731,36782,54744,54748,54771},
+       { 88,44741,54793,54793,54797,54805,0,54836,54840,54854},
+       { 93,46578,54889,54889,54893,54903,36145,54268,54272,54920},
+       { 98,42561,54938,54938,54942,54949,36092,53070,53074,54962},
+       { 99,48321,54971,54971,54975,54975,7812,54985,54989,55008},
+       { 104,47825,55029,55029,55033,55053,36197,55081,55085,55102},
+       { 106,50865,55109,55109,55113,55113,2516,55122,55126,55143},
+       { 108,43371,38458,38458,55162,55170,36452,55179,55183,55197},
+       { 109,42780,37877,37877,55202,55210,36247,55224,55228,55245},
+       { 111,43729,55259,55259,55263,55263,36478,55273,55277,55295},
+       { 68,47468,55312,55312,55316,55324,36092,53070,53074,53074},
+       { 117,42728,55330,55330,55334,55341,36243,55352,55356,55375},
+       { 113,44852,38781,38781,55382,55388,36627,55401,55405,55418},
+       { 121,46909,55453,55453,55457,55462,36860,55475,55479,55491},
+       { 116,44153,55513,55513,55517,55522,36594,55533,55537,55550},
+       { 110,42829,37924,37924,55570,55578,36145,55586,55590,55607},
+       { 118,42872,37972,37972,55623,55629,36092,53070,53074,53074},
+       { 124,49363,55636,55636,55640,55640,36197,55648,55652,55652},
+       { 126,49827,55668,55668,55672,55679,37009,55692,55696,55712},
+       { 122,42917,38002,38002,55734,55740,36113,55747,55751,55764},
+       { 129,45105,55774,55774,55778,55778,36641,55784,55788,55804},
+       { 130,45062,55822,55822,55826,55837,36634,55858,55862,0},
+       { 40,45902,41234,41234,55877,55886,36785,55908,55912,55927},
+       { 134,42972,38057,38057,55932,55944,36281,55957,55961,55978},
+       { 136,50248,55995,55995,55999,56006,37029,56019,56023,56037},
+       { 138,45944,41259,41259,56059,41249,36789,56064,56068,56080},
+       { 139,50061,56090,56090,56094,56102,37019,56113,56117,56132},
+       { 145,48582,56154,56154,56158,56158,0,53908,53912,56172},
+       { 42,46120,56190,56190,56194,56204,36793,56236,56240,56257},
+       { 141,44062,56292,56292,56296,56306,36568,56314,56318,56335},
+       { 147,48240,56341,56341,56345,56356,36092,53070,53074,53074},
+       { 140,44010,56366,56366,56370,56377,36528,56385,56389,56402},
+       { 148,48123,56416,56416,56420,56426,36899,56437,56441,56454},
+       { 159,48786,41028,41028,56474,56482,36923,56495,56499,56515},
+       { 158,48911,56535,56535,56539,56539,36092,53070,53074,53446},
+       { 270,50003,56546,56546,56550,56561,36092,53070,53074,56579},
+       { 19618,44491,56584,56584,56588,56598,0,56584,56619,56636},
+       { 151,48522,56668,56668,56672,56688,0,56716,56720,56736},
+       { 163,44891,39895,39895,56746,56746,36092,53070,53074,56752},
+       { 166,47064,56757,56757,56761,56768,36197,56776,56780,56793},
+       { 167,44996,56807,56807,56811,56811,36631,56820,56824,56842},
+       { 175,46408,56859,56859,56863,56871,36828,56880,56884,56899},
+       { 182,50919,56905,56905,56909,56909,37080,56919,56923,56943},
+       { 176,43024,38095,38095,56966,56978,36092,53070,53074,53074},
+       { 177,43082,38144,38144,56988,56995,36145,57001,57005,57021},
+       { 178,46240,57035,57035,57039,57045,36808,57061,57065,0},
+       { 183,48617,57080,57080,57084,57084,36197,57096,57100,57100},
+       { 164,49332,57119,57119,57123,57128,36956,57139,57143,57154},
+       { 192,48863,40380,40380,57174,57181,36933,57189,57193,57211},
+       { 187,49726,57228,57228,57232,57237,36997,57243,57247,57266},
+       { 201,46354,57284,57284,57288,57300,36824,57310,57314,57314},
+       { 190,43668,57330,57330,57334,57343,36473,57358,57362,57378},
+       { 191,43123,57406,57406,57410,57417,36304,57424,57428,57441},
+       { 202,50977,57455,57455,57459,57459,36197,54459,54463,54473},
+       { 193,47331,57471,57471,57475,57475,36092,53070,53074,53074},
+       { 185,50597,57484,57484,57488,57488,37059,57497,57501,57520},
+       { 197,50649,57539,57539,57543,57549,37063,57556,57560,57572},
+       { 200,43267,57590,57590,57594,57602,0,57611,57615,57628},
+       { 271,49595,51359,51359,57642,57649,36982,57662,57666,57680},
+       { 203,43323,38383,38383,57693,57700,36373,57713,57717,57731},
+       { 204,46777,57763,57763,57767,57767,36832,57774,57778,0},
+       { 205,13368,57792,57792,57796,57809,36022,57856,57860,57872},
+       { 221,43524,57892,57892,57896,57903,36145,57911,57915,57929},
+       { 215,48187,57942,57942,57946,57956,0,57966,57970,57987},
+       { 212,43922,58000,58000,58004,58013,36092,53070,53074,58023},
+       { 143,43433,58028,58028,58032,58041,36092,53070,53074,53074},
+       { 72,50783,39008,39008,58062,58062,37076,54459,54463,54473},
+       { 222,49651,58074,58074,58078,58084,36987,58095,58099,58112},
+       { 227,43571,38614,38614,58132,38604,36466,58141,58145,58155},
+       { 228,44105,58174,58174,58178,0,36634,58189,58193,58212},
+       { 234,49107,58225,58225,58229,58237,36940,58246,58250,58265},
+       { 235,43617,58286,58286,58290,58297,36470,58306,58310,58323},
+       { 225,49870,58337,58337,58341,58341,36197,58361,58365,58365},
+       { 237,42346,58392,58392,58396,58403,36835,58410,58414,58432},
+       { 241,43796,38842,38842,58442,58450,36481,58465,58469,58487},
+       { 244,42594,58521,58521,58525,58525,36197,54459,54463,54463},
+       { 246,50483,58539,58539,58543,58543,36197,58551,58555,58570},
+       { 247,45179,40242,40242,58584,58595,36854,58616,58620,58635},
+       { 249,49417,58654,58654,58658,58658,36966,58668,58672,58692},
+       { 251,44211,58712,58712,58716,58724,36598,58735,58739,58755},
+       { 261,49473,58763,58763,58767,58773,36972,58784,58788,58800},
+       { 209,44522,58818,58818,58822,0,10573,58835,58839,0},
+       { 264,50093,58858,58858,58862,58862,36197,54459,54463,54463}
 };
 
 
 static const RegionInfoNameEntry region_name_entries [] = {
-       {49822, 0},      /* AE */
-       {45689, 1},      /* AF */
-       {42869, 2},      /* AL */
-       {3781, 3},       /* AM */
-       {49313, 4},      /* AR */
-       {47266, 5},      /* AT */
-       {47299, 6},      /* AU */
-       {43764, 7},      /* AZ */
-       {48417, 8},      /* BA */
-       {47025, 9},      /* BD */
-       {46504, 10},     /* BE */
-       {41641, 11},     /* BG */
-       {49934, 12},     /* BH */
-       {46908, 13},     /* BN */
-       {50114, 14},     /* BO */
-       {42561, 15},     /* BR */
-       {43255, 16},     /* BY */
-       {49070, 17},     /* BZ */
-       {47392, 18},     /* CA */
-       {13261, 19},     /* CH */
-       {49715, 20},     /* CL */
-       {13340, 21},     /* CN */
-       {48914, 22},     /* CO */
-       {48062, 23},     /* CR */
-       {41804, 24},     /* CZ */
-       {41894, 25},     /* DE */
-       {41846, 26},     /* DK */
-       {48604, 27},     /* DO */
-       {47822, 28},     /* DZ */
-       {49532, 29},     /* EC */
-       {43353, 30},     /* EE */
-       {47121, 31},     /* EG */
-       {41684, 32},     /* ES */
-       {45568, 33},     /* ET */
-       {42024, 34},     /* FI */
-       {44184, 35},     /* FO */
-       {42068, 36},     /* FR */
-       {45213, 37},     /* GB */
-       {44130, 38},     /* GE */
-       {45967, 39},     /* GL */
-       {41950, 40},     /* GR */
-       {47710, 41},     /* GT */
-       {47214, 42},     /* HK */
-       {50254, 43},     /* HN */
-       {42760, 44},     /* HR */
-       {42169, 45},     /* HU */
-       {43118, 46},     /* ID */
-       {46857, 47},     /* IE */
-       {42117, 48},     /* IL */
-       {44241, 49},     /* IN */
-       {46298, 50},     /* IQ */
-       {43542, 51},     /* IR */
-       {42218, 52},     /* IS */
-       {42261, 53},     /* IT */
-       {48752, 54},     /* JM */
-       {49216, 55},     /* JO */
-       {42306, 56},     /* JP */
-       {44494, 57},     /* KE */
-       {44451, 58},     /* KG */
-       {45291, 59},     /* KH */
-       {42361, 60},     /* KR */
-       {49637, 61},     /* KW */
-       {45333, 62},     /* LA */
-       {49450, 63},     /* LB */
-       {47971, 64},     /* LI */
-       {45509, 65},     /* LK */
-       {43451, 66},     /* LT */
-       {47629, 67},     /* LU */
-       {43399, 68},     /* LV */
-       {47512, 69},     /* LY */
-       {48175, 70},     /* MA */
-       {48300, 71},     /* MC */
-       {49392, 72},     /* ME */
-       {43880, 73},     /* MK */
-       {47911, 74},     /* MO */
-       {44280, 75},     /* MT */
-       {46453, 76},     /* MX */
-       {44385, 77},     /* MY */
-       {45797, 78},     /* NG */
-       {50308, 79},     /* NI */
-       {42413, 80},     /* NL */
-       {42471, 81},     /* NO */
-       {45629, 82},     /* NP */
-       {48006, 83},     /* NZ */
-       {48721, 84},     /* OM */
-       {48252, 85},     /* PA */
-       {49115, 86},     /* PE */
-       {45743, 87},     /* PH */
-       {43057, 88},     /* PK */
-       {42512, 89},     /* PL */
-       {50366, 90},     /* PR */
-       {46720, 91},     /* PT */
-       {49986, 92},     /* PY */
-       {50038, 93},     /* QA */
-       {42656, 94},     /* RO */
-       {48984, 95},     /* RS */
-       {42712, 96},     /* RU */
-       {46166, 97},     /* RW */
-       {13258, 98},     /* SA */
-       {42913, 99},     /* SE */
-       {47576, 100},    /* SG */
-       {43311, 101},    /* SI */
-       {42822, 102},    /* SK */
-       {50172, 103},    /* SV */
-       {49040, 104},    /* SY */
-       {42960, 105},    /* TH */
-       {43494, 106},    /* TJ */
-       {48496, 107},    /* TN */
-       {43006, 108},    /* TR */
-       {49259, 109},    /* TT */
-       {41735, 110},    /* TW */
-       {43185, 111},    /* UA */
-       {41983, 112},    /* US */
-       {49872, 113},    /* UY */
-       {44568, 114},    /* UZ */
-       {48806, 115},    /* VE */
-       {43600, 116},    /* VN */
-       {48862, 117},    /* YE */
-       {43911, 118},    /* ZA */
-       {49482, 119}     /* ZW */
+       {50433, 0},      /* AE */
+       {46300, 1},      /* AF */
+       {43480, 2},      /* AL */
+       {3824, 3},       /* AM */
+       {49924, 4},      /* AR */
+       {47877, 5},      /* AT */
+       {47910, 6},      /* AU */
+       {44375, 7},      /* AZ */
+       {49028, 8},      /* BA */
+       {47636, 9},      /* BD */
+       {47115, 10},     /* BE */
+       {42252, 11},     /* BG */
+       {50545, 12},     /* BH */
+       {47519, 13},     /* BN */
+       {50725, 14},     /* BO */
+       {43172, 15},     /* BR */
+       {43866, 16},     /* BY */
+       {49681, 17},     /* BZ */
+       {48003, 18},     /* CA */
+       {13371, 19},     /* CH */
+       {50326, 20},     /* CL */
+       {13450, 21},     /* CN */
+       {49525, 22},     /* CO */
+       {48673, 23},     /* CR */
+       {42415, 24},     /* CZ */
+       {42505, 25},     /* DE */
+       {42457, 26},     /* DK */
+       {49215, 27},     /* DO */
+       {48433, 28},     /* DZ */
+       {50143, 29},     /* EC */
+       {43964, 30},     /* EE */
+       {47732, 31},     /* EG */
+       {42295, 32},     /* ES */
+       {46179, 33},     /* ET */
+       {42635, 34},     /* FI */
+       {44795, 35},     /* FO */
+       {42679, 36},     /* FR */
+       {45824, 37},     /* GB */
+       {44741, 38},     /* GE */
+       {46578, 39},     /* GL */
+       {42561, 40},     /* GR */
+       {48321, 41},     /* GT */
+       {47825, 42},     /* HK */
+       {50865, 43},     /* HN */
+       {43371, 44},     /* HR */
+       {42780, 45},     /* HU */
+       {43729, 46},     /* ID */
+       {47468, 47},     /* IE */
+       {42728, 48},     /* IL */
+       {44852, 49},     /* IN */
+       {46909, 50},     /* IQ */
+       {44153, 51},     /* IR */
+       {42829, 52},     /* IS */
+       {42872, 53},     /* IT */
+       {49363, 54},     /* JM */
+       {49827, 55},     /* JO */
+       {42917, 56},     /* JP */
+       {45105, 57},     /* KE */
+       {45062, 58},     /* KG */
+       {45902, 59},     /* KH */
+       {42972, 60},     /* KR */
+       {50248, 61},     /* KW */
+       {45944, 62},     /* LA */
+       {50061, 63},     /* LB */
+       {48582, 64},     /* LI */
+       {46120, 65},     /* LK */
+       {44062, 66},     /* LT */
+       {48240, 67},     /* LU */
+       {44010, 68},     /* LV */
+       {48123, 69},     /* LY */
+       {48786, 70},     /* MA */
+       {48911, 71},     /* MC */
+       {50003, 72},     /* ME */
+       {44491, 73},     /* MK */
+       {48522, 74},     /* MO */
+       {44891, 75},     /* MT */
+       {47064, 76},     /* MX */
+       {44996, 77},     /* MY */
+       {46408, 78},     /* NG */
+       {50919, 79},     /* NI */
+       {43024, 80},     /* NL */
+       {43082, 81},     /* NO */
+       {46240, 82},     /* NP */
+       {48617, 83},     /* NZ */
+       {49332, 84},     /* OM */
+       {48863, 85},     /* PA */
+       {49726, 86},     /* PE */
+       {46354, 87},     /* PH */
+       {43668, 88},     /* PK */
+       {43123, 89},     /* PL */
+       {50977, 90},     /* PR */
+       {47331, 91},     /* PT */
+       {50597, 92},     /* PY */
+       {50649, 93},     /* QA */
+       {43267, 94},     /* RO */
+       {49595, 95},     /* RS */
+       {43323, 96},     /* RU */
+       {46777, 97},     /* RW */
+       {13368, 98},     /* SA */
+       {43524, 99},     /* SE */
+       {48187, 100},    /* SG */
+       {43922, 101},    /* SI */
+       {43433, 102},    /* SK */
+       {50783, 103},    /* SV */
+       {49651, 104},    /* SY */
+       {43571, 105},    /* TH */
+       {44105, 106},    /* TJ */
+       {49107, 107},    /* TN */
+       {43617, 108},    /* TR */
+       {49870, 109},    /* TT */
+       {42346, 110},    /* TW */
+       {43796, 111},    /* UA */
+       {42594, 112},    /* US */
+       {50483, 113},    /* UY */
+       {45179, 114},    /* UZ */
+       {49417, 115},    /* VE */
+       {44211, 116},    /* VN */
+       {49473, 117},    /* YE */
+       {44522, 118},    /* ZA */
+       {50093, 119}     /* ZW */
 };
 
 
@@ -1432,9 +1432,10 @@ static const char locale_strings [] = {
        "HH:mm:ss\0"
        "dd MMMM yyyy '\xd0\xb3.'\0"
        "d.M.yyyy '\xd0\xb3.'\0"
-       "HH:mm:ss '\xd1\x87.'\0"
-       "HH:mm '\xd1\x87.'\0"
+       "H:mm:ss\0"
+       "H:mm\0"
        "MMMM yyyy '\xd0\xb3.'\0"
+       "d MMMM\0"
        "\xd0\xbf\xd1\x80. \xd0\xbe\xd0\xb1.\0"
        "\xd1\x81\xd0\xbb. \xd0\xbe\xd0\xb1.\0"
        "\xd0\xbd\xd0\xb5\xd0\xb4\xd0\xb5\xd0\xbb\xd1\x8f\0"
@@ -1483,10 +1484,12 @@ static const char locale_strings [] = {
        "d MMMM yyyy '\xd0\xb3.'\0"
        "dddd, dd MMMM yyyy '\xd0\xb3.'\0"
        "dddd, d MMMM yyyy '\xd0\xb3.'\0"
+       "HH:mm '\xd1\x87.'\0"
        "H:mm '\xd1\x87.'\0"
+       "HH:mm:ss '\xd1\x87.'\0"
        "H:mm:ss '\xd1\x87.'\0"
-       "dddd, d' / 'MMMM' / 'yyyy\0"
-       "MMMM' / 'yyyy\0"
+       "dddd, d MMMM' de 'yyyy\0"
+       "MMMM' de 'yyyy\0"
        "a.m.\0"
        "p.m.\0"
        "diumenge\0"
@@ -1548,11 +1551,10 @@ static const char locale_strings [] = {
        "d/M/yy\0"
        "dd-MM-yy\0"
        "dd.MM.yy\0"
+       "dddd, d' / 'MMMM' / 'yyyy\0"
        "d'/'MMMM'/'yyyy\0"
        "d' 'MMMM' 'yyyy\0"
-       "H:mm\0"
        "HH'H'mm'\\''\0"
-       "H:mm:ss\0"
        "HH'H'mm'\\''ss'\\'\\''\0"
        "yyyy'\xe5\xb9\xb4'M'\xe6\x9c\x88'd'\xe6\x97\xa5'\0"
        "yyyy/M/d\0"
@@ -1620,8 +1622,9 @@ static const char locale_strings [] = {
        "tt h:mm:ss\0"
        "tt hh:mm:ss\0"
        "d. MMMM yyyy\0"
-       "d.M.yyyy\0"
+       "d. M. yyyy\0"
        "MMMM yyyy\0"
+       "d. MMMM\0"
        "dop.\0"
        "odp.\0"
        "ned\xc4\x9ble\0"
@@ -1678,13 +1681,14 @@ static const char locale_strings [] = {
        "10.\0"
        "11.\0"
        "12.\0"
+       ". \0"
+       "d.M.yyyy\0"
        "d-M-yy\0"
        "h.mm tt\0"
        "H.mm\0"
        "h.mm.ss tt\0"
        "H.mm.ss\0"
        "dd-MM-yyyy\0"
-       "d. MMMM\0"
        "f.m.\0"
        "e.m.\0"
        "s\xc3\xb8ndag\0"
@@ -1845,9 +1849,9 @@ static const char locale_strings [] = {
        "\xce\x94\xce\xb5\xce\xba\0"
        "dd/MMM/yyyy\0"
        "d MMMM yyyy\0"
-       "dddd, MMMM dd, yyyy\0"
+       "dddd, MMMM d, yyyy\0"
        "M/d/yyyy\0"
-       "MMMM dd\0"
+       "MMMM d\0"
        "AM\0"
        "PM\0"
        "Sunday\0"
@@ -1880,10 +1884,11 @@ static const char locale_strings [] = {
        "MM/dd/yy\0"
        "MM/dd/yyyy\0"
        "dd-MMM-yy\0"
+       "dddd, MMMM dd, yyyy\0"
        "MMMM dd, yyyy\0"
        "dd MMMM, yyyy\0"
-       "dddd, dd' de 'MMMM' de 'yyyy\0"
-       "MMMM' de 'yyyy\0"
+       "dddd, d' de 'MMMM' de 'yyyy\0"
+       "d' de 'MMMM\0"
        "domingo\0"
        "lunes\0"
        "martes\0"
@@ -1915,10 +1920,10 @@ static const char locale_strings [] = {
        "ago\0"
        "oct\0"
        "dic\0"
+       "dddd, dd' de 'MMMM' de 'yyyy\0"
        "dddd d' de 'MMMM' de 'yyyy\0"
        "d' de 'MMMM' de 'yyyy\0"
-       "d. MMMM'ta 'yyyy\0"
-       "d. MMMM'ta'\0"
+       "d'.' MMMM\0"
        "ap.\0"
        "ip.\0"
        "sunnuntaina\0"
@@ -1972,9 +1977,9 @@ static const char locale_strings [] = {
        "loka\0"
        "marras\0"
        "joulu\0"
+       "d. MMMM'ta 'yyyy\0"
        "dd. MMMM'ta 'yyyy\0"
        "dddd d MMMM yyyy\0"
-       "d MMMM\0"
        "dimanche\0"
        "lundi\0"
        "mardi\0"
@@ -2332,8 +2337,6 @@ static const char locale_strings [] = {
        "pa\xc5\xba\0"
        "lis\0"
        "gru\0"
-       "dddd, d' de 'MMMM' de 'yyyy\0"
-       "dd' de 'MMMM\0"
        "segunda-feira\0"
        "ter\xc3\xa7\x61-feira\0"
        "quarta-feira\0"
@@ -2358,6 +2361,7 @@ static const char locale_strings [] = {
        "fev\0"
        "out\0"
        "dez\0"
+       "dddd, 'ils\xe2\x80\x99' d. MMMM, yyyy\0"
        "am\0"
        "sm\0"
        "dumengia\0"
@@ -2537,7 +2541,6 @@ static const char locale_strings [] = {
        "dd. MM. yy.\0"
        "dd. MMMM yyyy.\0"
        "dddd, d. MMMM yyyy.\0"
-       "d. M. yyyy\0"
        "dopoludnia\0"
        "popoludn\xc3\xad\0"
        "nede\xc4\xbe\x61\0"
@@ -2564,11 +2567,7 @@ static const char locale_strings [] = {
        "okt\xc3\xb3\x62ra\0"
        "novembra\0"
        "decembra\0"
-       ". \0"
        "d. M. yy\0"
-       "h:mm:ss.tt\0"
-       "h:mm.tt\0"
-       "yyyy-MM\0"
        "PD\0"
        "MD\0"
        "e diel\0"
@@ -2604,6 +2603,8 @@ static const char locale_strings [] = {
        "Tet\0"
        "N\xc3\xabn\0"
        "Dhj\0"
+       "h:mm.tt\0"
+       "h:mm:ss.tt\0"
        "'den 'd MMMM yyyy\0"
        "'den 'd MMMM\0"
        "FM\0"
@@ -2624,7 +2625,7 @@ static const char locale_strings [] = {
        "dd MMM yyyy\0"
        "ddd d MMMM yyyy\0"
        "'\xe0\xb8\xa7\xe0\xb8\xb1\xe0\xb8\x99'dddd'\xe0\xb8\x97\xe0\xb8\xb5\xe0\xb9\x88' d MMMM gg yyyy\0"
-       "dd MMMM yyyy dddd\0"
+       "d MMMM yyyy dddd\0"
        "Pazar\0"
        "Pazartesi\0"
        "Sal\xc4\xb1\0"
@@ -2662,6 +2663,7 @@ static const char locale_strings [] = {
        "Eki\0"
        "Kas\0"
        "Ara\0"
+       "dd MMMM yyyy dddd\0"
        "\xd8\xaf\xd9\x86\0"
        "\xd8\xb1\xd8\xa7\xd8\xaa\0"
        "\xd8\xa7\xd8\xaa\xd9\x88\xd8\xa7\xd8\xb1\0"
@@ -2805,9 +2807,8 @@ static const char locale_strings [] = {
        "avgust\0"
        "avg\0"
        "dd. MM. yy\0"
-       "d. MMMM yyyy'. a.'\0"
        "d.MM.yyyy\0"
-       "MMMM yyyy'. a.'\0"
+       "dd. MMMM\0"
        "e.k.\0"
        "p.k.\0"
        "p\xc3\xbchap\xc3\xa4\x65v\0"
@@ -2829,8 +2830,10 @@ static const char locale_strings [] = {
        "veebr\0"
        "sept\0"
        "dets\0"
+       "d. MMMM yyyy'. a.'\0"
        "dd. MMMM yyyy'. a.'\0"
        "dddd, yyyy'. gada 'd. MMMM\0"
+       "yyyy'. gada 'MMMM\0"
        "priek\xc5\xa1pusdien\xc4\x81\0"
        "p\xc4\x93\x63pusdien\xc4\x81\0"
        "sv\xc4\x93tdiena\0"
@@ -2914,6 +2917,7 @@ static const char locale_strings [] = {
        "Spal.\0"
        "Lapkr.\0"
        "Gruod.\0"
+       "d MMMM yyyy' \xd1\x81.'\0"
        "\xd0\xbf\xd0\xb5. \xd1\x87\xd0\xbe.\0"
        "\xd0\xbf\xd0\xb0. \xd1\x87\xd0\xbe.\0"
        "\xd0\xaf\xd0\xba\xd1\x88\xd0\xb0\xd0\xbd\xd0\xb1\xd0\xb5\0"
@@ -2948,6 +2952,7 @@ static const char locale_strings [] = {
        "\xd0\x9e\xd0\xba\xd1\x82\0"
        "\xd0\x9d\xd0\xbe\xd1\x8f\0"
        "\xd0\x94\xd0\xb5\xd0\xba\0"
+       "dddd, dd MMMM yyyy\0"
        "\xd9\x82\xd8\xa8\xd9\x84\xe2\x80\x8c\xd8\xa7\xd8\xb2\xd8\xb8\xd9\x87\xd8\xb1\0"
        "\xd8\xa8\xd8\xb9\xd8\xaf\xd8\xa7\xd8\xb2\xd8\xb8\xd9\x87\xd8\xb1\0"
        "\xdb\x8c\xda\xa9\xd8\xb4\xd9\x86\xd8\xa8\xd9\x87\0"
@@ -3069,11 +3074,11 @@ static const char locale_strings [] = {
        "\xd4\xb4\xd5\xa5\xd5\xaf\0"
        "d/MM/yyyy\0"
        "d/MMM/yyyy\0"
-       "dddd, dd MMMM yyyy\0"
        "d-MMM-yyyy\0"
        "dd-MMM-yyyy\0"
        "ddd, d-MMMM-yyyy\0"
        "ddd, dd-MMMM-yyyy\0"
+       "dd MMMM yyyy'-c\xc3\xbc il'\0"
        "bazar\0"
        "bazar ert\xc9\x99si\0"
        "\xc3\xa7\xc9\x99r\xc5\x9f\xc9\x99nb\xc9\x99 ax\xc5\x9f\x61m\xc4\xb1\0"
@@ -3105,8 +3110,9 @@ static const char locale_strings [] = {
        "sen\0"
        "noy\0"
        "dek\0"
-       "dddd, yyyy.'eko' MMMM'k 'd\0"
-       "yyyy.'eko' MMMM\0"
+       "dddd, yyyy'(e)ko' MMMM'ren' d'a'\0"
+       "yyyy'(e)ko' MMMM\0"
+       "MMMM'ren' d'a'\0"
        "igandea\0"
        "astelehena\0"
        "asteartea\0"
@@ -3144,6 +3150,7 @@ static const char locale_strings [] = {
        "urr\0"
        "aza\0"
        "abe\0"
+       "dddd, yyyy.'eko' MMMM'k 'd\0"
        "\xd0\xbf\xd1\x80\xd0\xb5\xd1\x82\xd0\xbf\xd0\xbb\xd0\xb0\xd0\xb4\xd0\xbd\xd0\xb5\0"
        "\xd0\xbf\xd0\xbe\xd0\xbf\xd0\xbb\xd0\xb0\xd0\xb4\xd0\xbd\xd0\xb5\0"
        "\xd0\xbd\xd0\xb5\xd0\xb4\xd0\xb5\xd0\xbb\xd0\xb0\0"
@@ -3277,8 +3284,7 @@ static const char locale_strings [] = {
        "Julie\0"
        "Augustus\0"
        "yyyy/MMM/dd\0"
-       "yyyy '\xe1\x83\xac\xe1\x83\x9a\xe1\x83\x98\xe1\x83\xa1' dd MM, dddd\0"
-       "dd MM\0"
+       "dddd, d MMMM, yyyy '\xe1\x83\xac\xe1\x83\x94\xe1\x83\x9a\xe1\x83\x98'\0"
        "\xe1\x83\x93\xe1\x83\x98\xe1\x83\x9a\xe1\x83\x98\xe1\x83\xa1\0"
        "\xe1\x83\xa1\xe1\x83\x90\xe1\x83\xa6\xe1\x83\x90\xe1\x83\x9b\xe1\x83\x9d\xe1\x83\xa1\0"
        "\xe1\x83\x99\xe1\x83\x95\xe1\x83\x98\xe1\x83\xa0\xe1\x83\x90\0"
@@ -3325,6 +3331,7 @@ static const char locale_strings [] = {
        "\xe1\x83\x9d\xe1\x83\xa5\xe1\x83\xa2\0"
        "\xe1\x83\x9c\xe1\x83\x9d\xe1\x83\x94\0"
        "\xe1\x83\x93\xe1\x83\x94\xe1\x83\x99\0"
+       "yyyy '\xe1\x83\xac\xe1\x83\x9a\xe1\x83\x98\xe1\x83\xa1' dd MM, dddd\0"
        "f.p.\0"
        "s.p.\0"
        "m\xc3\xa1nadagur\0"
@@ -3414,8 +3421,8 @@ static const char locale_strings [] = {
        "Di\xc4\x8b\0"
        "ddMMyyyy\0"
        "d' ta\\' 'MMMM yyyy\0"
-       "MMMM d'. b. 'yyyy\0"
-       "MMMM d'. b. '\0"
+       "dddd, MMMM d'. b. 'yyyy\0"
+       "MMMM d'. b.'\0"
        "i.b.\0"
        "e.b.\0"
        "sotnabeaivi\0"
@@ -3456,6 +3463,7 @@ static const char locale_strings [] = {
        "golg\0"
        "sk\xc3\xa1\x62\0"
        "juov\0"
+       "MMMM d'. b. 'yyyy\0"
        "D\xc3\xa9 Domhnaigh\0"
        "D\xc3\xa9 Luain\0"
        "D\xc3\xa9 M\xc3\xa1irt\0"
@@ -3546,8 +3554,12 @@ static const char locale_strings [] = {
        "\xd2\x9b\xd0\xb0\xd1\x80.\0"
        "\xd0\xb6\xd0\xb5\xd0\xbb\xd1\x82.\0"
        "dd MMMM yyyy '\xd0\xb6.'\0"
-       "d'-'MMMM yyyy'-\xd0\xb6.'\0"
+       "dd'-'MMMM yyyy'-\xd0\xb6.'\0"
+       "d-MMM yy\0"
        "MMMM yyyy'-\xd0\xb6.'\0"
+       "d'-'MMMM\0"
+       "d'-'MMMM yyyy'-\xd0\xb6.'\0"
+       "MMMM dd\0"
        "asubuhi\0"
        "alasiri\0"
        "Jumapili\0"
@@ -3571,7 +3583,6 @@ static const char locale_strings [] = {
        "Desemba\0"
        "Ago\0"
        "yyyy 'yil' d-MMMM\0"
-       "dd/MM yyyy\0"
        "d-MMMM\0"
        "\xd1\x8f\xd0\xba\xd1\x88\xd0\xb0\xd0\xbd\xd0\xb1\xd0\xb0\0"
        "\xd0\xb4\xd1\x83\xd1\x88\xd0\xb0\xd0\xbd\xd0\xb1\xd0\xb0\0"
@@ -3591,6 +3602,7 @@ static const char locale_strings [] = {
        "\xd0\x94\0"
        "\xd0\x96\0"
        "\xd0\xa8\0"
+       "dd/MM yyyy\0"
        "\xe0\xa6\xaa\xe0\xa7\x82\xe0\xa6\xb0\xe0\xa7\x8d\xe0\xa6\xac\xe0\xa6\xbe\xe0\xa6\xb9\xe0\xa7\x8d\xe0\xa6\xa3\0"
        "\xe0\xa6\x85\xe0\xa6\xaa\xe0\xa6\xb0\xe0\xa6\xbe\xe0\xa6\xb9\xe0\xa7\x8d\xe0\xa6\xa3\0"
        "\xe0\xa6\xb0\xe0\xa6\xac\xe0\xa6\xbf\xe0\xa6\xac\xe0\xa6\xbe\xe0\xa6\xb0\0"
@@ -3949,9 +3961,8 @@ static const char locale_strings [] = {
        "\xe0\xa4\xb8\xe0\xa5\x87\xe0\xa4\xaa\xe0\xa5\x8d\xe0\xa4\x9f\xe0\xa5\x87\xe0\xa4\x82\0"
        "\xe0\xa4\xa8\xe0\xa5\x8b\xe0\xa4\xb5\xe0\xa5\x8d\xe0\xa4\xb9\xe0\xa5\x87\xe0\xa4\x82\0"
        "\xe0\xa4\xa1\xe0\xa4\xbf\xe0\xa4\xb8\xe0\xa5\x87\xe0\xa4\x82\0"
-       "yyyy '\xd0\xbe\xd0\xbd\xd1\x8b' MMMM d\0"
-       "yy.MM.dd\0"
-       "yyyy '\xd0\xbe\xd0\xbd' MMMM\0"
+       "yyyy '\xd0\xbe\xd0\xbd\xd1\x8b' M'-\xd1\x80 \xd1\x81\xd0\xb0\xd1\x80\xd1\x8b\xd0\xbd' d. dddd '\xd0\xb3\xd0\xb0\xd1\x80\xd0\xb8\xd0\xb3'.\0"
+       "yyyy '\xd0\xbe\xd0\xbd\xd1\x8b' MMMM\0"
        "\xd0\xbd\xd1\x8f\xd0\xbc\0"
        "\xd0\xb4\xd0\xb0\xd0\xb2\xd0\xb0\xd0\xb0\0"
        "\xd0\xbc\xd1\x8f\xd0\xb3\xd0\xbc\xd0\xb0\xd1\x80\0"
@@ -3990,9 +4001,11 @@ static const char locale_strings [] = {
        "\xd1\x82\xd0\xb0\xd1\x85\0"
        "\xd0\xbd\xd0\xbe\xd1\x85\0"
        "\xd0\xb3\xd0\xb0\xd1\x85\0"
+       "yy.MM.dd\0"
+       "yyyy '\xd0\xbe\xd0\xbd\xd1\x8b' MMMM d\0"
        "yyyy'\xe0\xbd\xa3\xe0\xbd\xbc\xe0\xbd\xa0\xe0\xbd\xb2\xe0\xbc\x8b\xe0\xbd\x9f\xe0\xbe\xb3' M'\xe0\xbd\x9a\xe0\xbd\xba\xe0\xbd\xa6' d\0"
-       "yyyy.M\0"
-       "'\xe0\xbd\x9f\xe0\xbe\xb3\xe0\xbc\x8b' M'\xe0\xbd\x9a\xe0\xbd\xba\xe0\xbd\xa6'd\0"
+       "yyyy'\xe0\xbd\xa3\xe0\xbd\xbc\xe0\xbd\xa0\xe0\xbd\xb2\xe0\xbc\x8b\xe0\xbd\x9f\xe0\xbe\xb3\xe0\xbc\x8b' M\0"
+       "\xe0\xbd\x9f\xe0\xbe\xb3\xe0\xbc\x8bM\xe0\xbd\x9a\xe0\xbd\xba\xe0\xbd\xa6\xe0\xbc\x8b\x64\0"
        "\xe0\xbd\xa6\xe0\xbe\x94\xe0\xbc\x8b\xe0\xbd\x91\xe0\xbe\xb2\xe0\xbd\xbc\xe0\xbc\x8b\0"
        "\xe0\xbd\x95\xe0\xbe\xb1\xe0\xbd\xb2\xe0\xbc\x8b\xe0\xbd\x91\xe0\xbe\xb2\xe0\xbd\xbc\xe0\xbc\x8b\0"
        "\xe0\xbd\x82\xe0\xbd\x9f\xe0\xbd\xa0\xe0\xbc\x8b\xe0\xbd\x89\xe0\xbd\xb2\xe0\xbc\x8b\xe0\xbd\x98\xe0\xbc\x8b\0"
@@ -4075,9 +4088,7 @@ static const char locale_strings [] = {
        "Hyd\0"
        "Tach\0"
        "Rhag\0"
-       "H:mm tt\0"
        "'\xe1\x9e\x81\xe1\x9f\x82' MM '\xe1\x9e\x86\xe1\x9f\x92\xe1\x9e\x93\xe1\x9e\xb6\xe1\x9f\x86' yyyy\0"
-       "'\xe1\x9e\x90\xe1\x9f\x92\xe1\x9e\x84\xe1\x9f\x83\xe1\x9e\x91\xe1\x9e\xb8' dd '\xe1\x9e\x81\xe1\x9f\x82' MM\0"
        "\xe1\x9e\x96\xe1\x9f\x92\xe1\x9e\x9a\xe1\x9e\xb9\xe1\x9e\x80\0"
        "\xe1\x9e\x9b\xe1\x9f\x92\xe1\x9e\x84\xe1\x9e\xb6\xe1\x9e\x85\0"
        "\xe1\x9e\x90\xe1\x9f\x92\xe1\x9e\x84\xe1\x9f\x83\xe1\x9e\xa2\xe1\x9e\xb6\xe1\x9e\x91\xe1\x9e\xb7\xe1\x9e\x8f\xe1\x9f\x92\xe1\x9e\x99\0"
@@ -4118,6 +4129,7 @@ static const char locale_strings [] = {
        "\xe1\x9f\xa1\xe1\x9f\xa0\0"
        "\xe1\x9f\xa1\xe1\x9f\xa1\0"
        "\xe1\x9f\xa1\xe1\x9f\xa2\0"
+       "H:mm tt\0"
        "\xe0\xba\x81\xe0\xbb\x88\xe0\xba\xad\xe0\xba\x99\xe0\xba\x97\xe0\xbb\x88\xe0\xba\xbd\xe0\xba\x87\0"
        "\xe0\xba\xab\xe0\xba\xa5\xe0\xba\xb1\xe0\xba\x87\xe0\xba\x97\xe0\xbb\x88\xe0\xba\xbd\xe0\xba\x87\0"
        "\xe0\xba\xa7\xe0\xba\xb1\xe0\xba\x99\xe0\xba\xad\xe0\xba\xb2\xe0\xba\x97\xe0\xba\xb4\xe0\xba\x94\0"
@@ -4239,7 +4251,7 @@ static const char locale_strings [] = {
        "\xe0\xb6\xb1\xe0\xb7\x9c\xe0\xb7\x80\xe0\xb7\x90\0"
        "\xe0\xb6\xaf\xe0\xb7\x99\xe0\xb7\x83\xe0\xb7\x90\0"
        "dddd '\xe1\x8d\xa3' MMMM d '\xe1\x89\x80\xe1\x8a\x95' yyyy\0"
-       "MMMM d \xe1\x89\x80\xe1\x8a\x95\0"
+       "MMMM d' \xe1\x89\x80\xe1\x8a\x95'\0"
        "\xe1\x8c\xa1\xe1\x8b\x8b\xe1\x89\xb5\0"
        "\xe1\x8a\xa8\xe1\x88\xb3\xe1\x8b\x93\xe1\x89\xb5\0"
        "\xe1\x8a\xa5\xe1\x88\x91\xe1\x8b\xb5\0"
@@ -4352,6 +4364,7 @@ static const char locale_strings [] = {
        "\xe0\xa4\x85\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\x9f\xe0\xa5\x8b\0"
        "\xe0\xa4\xa8\xe0\xa5\x8b\xe0\xa4\xad\xe0\xa5\x87\0"
        "\xe0\xa4\xa1\xe0\xa4\xbf\xe0\xa4\xb8\xe0\xa5\x87\0"
+       "yyyy, dd, MMMM, dddd\0"
        "\xd9\x88\xd8\xb1\xdb\x8c\0"
        "\xd8\xba\xd9\x88\xdb\x8c\xdb\x8c\0"
        "\xd8\xba\xd8\xa8\xd8\xb1\xda\xab\xd9\x88\xd9\x84\xdb\x8c\0"
@@ -4365,6 +4378,7 @@ static const char locale_strings [] = {
        "\xd8\xb3\xd9\x84\xd9\x88\xd8\xa7\xd8\xba\xd9\x87\0"
        "\xda\xa9\xd8\xa8\0"
        "dd/MM/yyyy '\xd9\x87\xd9\x80'\0"
+       "MM/dd\0"
        "Linggo\0"
        "Lunes\0"
        "Miyerkules\0"
@@ -4474,6 +4488,8 @@ static const char locale_strings [] = {
        "Disemere\0"
        "Apo\0"
        "Nof\0"
+       "MMMM d'.-at, 'yyyy\0"
+       "MMMM d'.-at'\0"
        "u.t.\0"
        "u.k.\0"
        "sabaat\0"
@@ -4527,7 +4543,7 @@ static const char locale_strings [] = {
        "\xe1\xbb\x8ckt\0"
        "yyyy'\xea\x88\x8e' M'\xea\x86\xaa' d'\xea\x91\x8d'\0"
        "yyyy'\xea\x88\x8e' M'\xea\x86\xaa'\0"
-       "M'\xea\x86\xaa' d'\xea\x91\x8d'\0"
+       "M'\xe2\x80\x99 \xea\x86\xaa\xe2\x80\x99'd'\xe2\x80\x99 \xea\x91\x8d\xe2\x80\x99'\0"
        "\xea\x8e\xb8\xea\x84\x91\0"
        "\xea\x81\xaf\xea\x8b\x92\0"
        "\xea\x91\xad\xea\x86\x8f\xea\x91\x8d\0"
@@ -4598,7 +4614,7 @@ static const char locale_strings [] = {
        "Goue\0"
        "Gwen\0"
        "Ker\0"
-       "dddd,' lo 'd MMMM' de 'yyyy\0"
+       "dddd d MMMM' de 'yyyy\0"
        "Dimenge\0"
        "diluns\0"
        "dimar\xc3\xa7\0"
@@ -4611,6 +4627,7 @@ static const char locale_strings [] = {
        "julhet\0"
        "oct\xc3\xb2\x62re\0"
        "dezembre\0"
+       "dddd,' lo 'd MMMM' de 'yyyy\0"
        "v.m.\0"
        "n.m.\0"
        "Sunntig\0"
@@ -4632,9 +4649,9 @@ static const char locale_strings [] = {
        "Oktoober\0"
        "Nov\xc3\xa4mber\0"
        "Dez\xc3\xa4mber\0"
-       "MMMM d yyyy '\xd1\x81.'\0"
-       "MM.dd.yyyy\0"
-       "MMMM yyyy '\xd1\x81.'\0"
+       "dddd, yyyy '\xd1\x81.' MMMM d '\xd0\xba\xd2\xaf\xd0\xbd\xd1\x8d'\0"
+       "yyyy '\xd1\x81.' MMMM\0"
+       "MMMM d '\xd0\xba\xd2\xaf\xd0\xbd\xd1\x8d'\0"
        "\xd0\xad\xd0\x98\0"
        "\xd0\xad\xd0\x9a\0"
        "\xd0\x91\xd0\xb0\xd1\x81\xd0\xba\xd1\x8b\xd2\xbb\xd1\x8b\xd0\xb0\xd0\xbd\xd0\xbd\xd1\x8c\xd0\xb0\0"
@@ -4676,9 +4693,12 @@ static const char locale_strings [] = {
        "\xd0\x90\xd0\xbb\xd1\x82\0"
        "\xd0\xa1\xd1\x8d\xd1\x82\0"
        "\xd0\x90\xd1\x85\xd1\x81\0"
+       "MM.dd.yyyy\0"
        "MM.dd.yy\0"
        "MM-dd-yyyy\0"
+       "MMMM d yyyy '\xd1\x81.'\0"
        "MMMM dd yyyy '\xd1\x81.'\0"
+       "d ' ' MMMM ' ' yyyy\0"
        "Ku cyumweru\0"
        "Kuwa mbere\0"
        "Kuwa kabiri\0"
@@ -4788,7 +4808,6 @@ static const char locale_strings [] = {
        "tysdag\0"
        "laurdag\0"
        "tys\0"
-       "d/M\0"
        "Segunda-feira\0"
        "Ter\xc3\xa7\x61-feira\0"
        "Quarta-feira\0"
@@ -4820,9 +4839,10 @@ static const char locale_strings [] = {
        "\xd0\xbd\xd0\xbe\xd1\x98\xd0\xb0\xd0\xb1\xd1\x80\0"
        "\xd0\xb4\xd0\xb5\xd0\xba\xd0\xb0\xd0\xb1\xd1\x80\0"
        "yyyy '\xd0\xb9\xd0\xb8\xd0\xbb' d-MMMM\0"
+       "yyyy\xe1\xa0\xa3\xe1\xa0\xa8 MMMM d\xe1\xa0\xa1\xe1\xa0\xb3\xe1\xa0\xa6\xe1\xa0\xb7\xe1\xa0\x82 dddd\0"
+       "yyyy\xe1\xa0\xa3\xe1\xa0\xa8 MMMM\0"
+       "MMMM d\xe1\xa0\xa1\xe1\xa0\xb3\xe1\xa0\xa6\xe1\xa0\xb7\0"
        "yyyy'\xe1\xa0\xa3\xe1\xa0\xa8 \xe1\xa0\xa4\xe1\xa0\x8b' M'\xe1\xa0\xb0\xe1\xa0\xa0\xe1\xa0\xb7\xe1\xa0\x8e\xe1\xa0\xa0 \xe2\x80\xaf\xe1\xa0\xa2\xe1\xa0\xa2\xe1\xa0\xa8 'd' \xe1\xa0\xa4\xe1\xa0\x8b \xe1\xa0\xa1\xe1\xa0\xb3\xe1\xa0\xa6\xe1\xa0\xb7'\0"
-       "yyyy'\xe1\xa0\xa3\xe1\xa0\xa8' M'\xe1\xa0\xb0\xe1\xa0\xa0\xe1\xa0\xb7\xe1\xa0\x8e\xe1\xa0\xa0'\0"
-       "M'\xe1\xa0\xb0\xe1\xa0\xa0\xe1\xa0\xb7\xe1\xa0\x8e\xe1\xa0\xa0' d'\xe1\xa0\xa1\xe1\xa0\xb3\xe1\xa0\xa6\xe1\xa0\xb7'\0"
        "yyyy'\xe1\xa0\xa3\xe1\xa0\xa8 \xe1\xa0\xa4\xe1\xa0\x8b' M'\xe1\xa0\xb0\xe1\xa0\xa0\xe1\xa0\xb7\xe1\xa0\x8e\xe1\xa0\xa0 \xe2\x80\xaf\xe1\xa0\xa2\xe1\xa0\xa2\xe1\xa0\xa8 'd' \xe1\xa0\xa4\xe1\xa0\x8b \xe1\xa0\xa1\xe1\xa0\xb3\xe1\xa0\xa6\xe1\xa0\xb7\xe1\xa0\x82' dddd\0"
        "dddd, dd. MMMM yyyy\0"
        "J\xc3\xa4nner\0"
@@ -4832,6 +4852,7 @@ static const char locale_strings [] = {
        "d.MMMyyyy\0"
        "HH:mm' Uhr'\0"
        "H:mm' Uhr'\0"
+       "dddd', 'MMMM d'. b. 'yyyy\0"
        "aejlege\0"
        "m\xc3\xa5\x61nta\0"
        "d\xc3\xa4jsta\0"
@@ -4851,11 +4872,14 @@ static const char locale_strings [] = {
        "golggot\0"
        "sk\xc3\xa1\x62ma\0"
        "juovla\0"
-       "MMMM-dd-yy\0"
-       "M/dd/yy\0"
+       "dddd' den 'd'.' MMMM yyyy\0"
        "MMMM d, yyyy\0"
+       "M/dd/yy\0"
+       "MMMM-dd-yy\0"
        "dddd yyyy'\xe5\xb9\xb4'M'\xe6\x9c\x88'd'\xe6\x97\xa5'\0"
        "dddd yyyy MM dd\0"
+       "dddd', le 'd MMMM yyyy\0"
+       "MMMM yyyy.\0"
        "pre podne\0"
        "popodne\0"
        "ponedeljak\0"
@@ -4910,7 +4934,11 @@ static const char locale_strings [] = {
        "\xd8\xaa\xd8\xb4\xd8\xb1\xd9\x8a\xd9\x86 \xd8\xa7\xd9\x84\xd8\xab\xd8\xa7\xd9\x86\xd9\x8a\0"
        "\xd9\x83\xd8\xa7\xd9\x86\xd9\x88\xd9\x86 \xd8\xa7\xd9\x84\xd8\xa3\xd9\x88\xd9\x84\0"
        "\xd1\x81\xd1\x80\xd0\xb5\0"
+       "dd' de 'MMMM\0"
+       "MMMM/yyyy\0"
+       "d' de 'MMM\0"
        "dddd, d MMMM, yyyy\0"
+       "MMMM' del 'yyyy\0"
        ",\0"
        "\xd9\xab\0"
        "\xd9\xac\0"
index 7f52929f50419c007e7417554fe1073ebdfb9c43..aca4ec8549b5e57dd5a3e3dcda958f0daec1c850 100644 (file)
@@ -42,7 +42,7 @@
 #include <metadata/profiler-private.h>
 #include <mono/metadata/coree.h>
 
-/* #define DEBUG_DOMAIN_UNLOAD */
+#define DEBUG_DOMAIN_UNLOAD 1
 
 /* we need to use both the Tls* functions and __thread because
  * some archs may generate faster jit code with one meachanism
index 9ae6be8cdf46ef6f2e8cb5092ad6c7c35c5cb8f4..64a70d73f8f421f2584711ce90e3ba8ae9639821 100644 (file)
@@ -931,6 +931,11 @@ ves_icall_System_Runtime_CompilerServices_RuntimeHelpers_SufficientExecutionStac
        /* if we have no info we are optimistic and assume there is enough room */
        if (!stack_addr)
                return TRUE;
+#ifdef HOST_WIN32
+       // FIXME: Windows dynamically extends the stack, so stack_addr might be close
+       // to the current sp
+       return TRUE;
+#endif
        current = (guint8 *)&stack_addr;
        if (current > stack_addr) {
                if ((current - stack_addr) < min_size)
index 2c6ea2b68429083a131526041831ea1292f7593b..3cc9c04a45f00f324fbe4392199e435045e3865f 100644 (file)
@@ -1311,6 +1311,7 @@ build_imt_slots (MonoClass *klass, MonoVTable *vt, MonoDomain *domain, gpointer*
                if (mono_class_has_variant_generic_params (iface))
                        has_variant_iface = TRUE;
 
+               mono_class_setup_methods (iface);
                vt_slot = interface_offset;
                for (method_slot_in_interface = 0; method_slot_in_interface < iface->method.count; method_slot_in_interface++) {
                        MonoMethod *method;
index aff68b82ec47d2d4da8a7c4341ab98bc6d42b07f..4f66e3997fa40fdb895a10c0c90eba0ae1863353 100755 (executable)
@@ -4692,16 +4692,51 @@ emit_and_reloc_code (MonoAotCompile *acfg, MonoMethod *method, guint8 *code, gui
 /*
  * sanitize_symbol:
  *
- *   Modify SYMBOL so it only includes characters permissible in symbols.
+ *   Return a modified version of S which only includes characters permissible in symbols.
  */
-static void
-sanitize_symbol (char *symbol)
+static char*
+sanitize_symbol (MonoAotCompile *acfg, char *s)
 {
-       int i, len = strlen (symbol);
+       gboolean process = FALSE;
+       int i, len;
+       GString *gs;
+       char *res;
+
+       if (!s)
+               return s;
 
+       len = strlen (s);
        for (i = 0; i < len; ++i)
-               if (!isalnum (symbol [i]) && (symbol [i] != '_'))
-                       symbol [i] = '_';
+               if (!(s [i] <= 0x7f && (isalnum (s [i]) || s [i] == '_')))
+                       process = TRUE;
+       if (!process)
+               return s;
+
+       gs = g_string_sized_new (len);
+       for (i = 0; i < len; ++i) {
+               guint8 c = s [i];
+               if (c <= 0x7f && (isalnum (c) || c == '_')) {
+                       g_string_append_c (gs, c);
+               } else if (c > 0x7f) {
+                       /* multi-byte utf8 */
+                       g_string_append_printf (gs, "_0x%x", c);
+                       i ++;
+                       c = s [i];
+                       while (c >> 6 == 0x2) {
+                               g_string_append_printf (gs, "%x", c);
+                               i ++;
+                               c = s [i];
+                       }
+                       g_string_append_printf (gs, "_");
+                       i --;
+               } else {
+                       g_string_append_c (gs, '_');
+               }
+       }
+
+       res = mono_mempool_strdup (acfg->mempool, gs->str);
+       g_string_free (gs, TRUE);
+       return res;
 }
 
 static char*
@@ -5528,6 +5563,7 @@ static char*
 get_plt_entry_debug_sym (MonoAotCompile *acfg, MonoJumpInfo *ji, GHashTable *cache)
 {
        char *debug_sym = NULL;
+       char *s;
 
        switch (ji->type) {
        case MONO_PATCH_INFO_METHOD:
@@ -5537,8 +5573,9 @@ get_plt_entry_debug_sym (MonoAotCompile *acfg, MonoJumpInfo *ji, GHashTable *cac
                debug_sym = g_strdup_printf ("plt__jit_icall_%s", ji->data.name);
                break;
        case MONO_PATCH_INFO_CLASS_INIT:
-               debug_sym = g_strdup_printf ("plt__class_init_%s", mono_type_get_name (&ji->data.klass->byval_arg));
-               sanitize_symbol (debug_sym);
+               s = mono_type_get_name (&ji->data.klass->byval_arg);
+               debug_sym = g_strdup_printf ("plt__class_init_%s", s);
+               g_free (s);
                break;
        case MONO_PATCH_INFO_RGCTX_FETCH:
                debug_sym = g_strdup_printf ("plt__rgctx_fetch_%d", acfg->label_generator ++);
@@ -5560,7 +5597,7 @@ get_plt_entry_debug_sym (MonoAotCompile *acfg, MonoJumpInfo *ji, GHashTable *cac
                break;
        }
 
-       return debug_sym;
+       return sanitize_symbol (acfg, debug_sym);
 }
 
 /*
index 3d3d73e5f6335d2e97df23099c680c0175f50510..f219374c9708f5717f60e543d3684a7f803f49b9 100644 (file)
@@ -4633,8 +4633,10 @@ mini_field_access_needs_cctor_run (MonoCompile *cfg, MonoMethod *method, MonoCla
                        return FALSE;
        }
 
-       if (klass->flags & TYPE_ATTRIBUTE_BEFORE_FIELD_INIT)
-               return FALSE;
+       if (klass->flags & TYPE_ATTRIBUTE_BEFORE_FIELD_INIT) {
+               if (cfg->method == method)
+                       return FALSE;
+       }
 
        if (!mono_class_needs_cctor_run (klass, method))
                return FALSE;
@@ -4654,7 +4656,7 @@ mini_emit_ldelema_1_ins (MonoCompile *cfg, MonoClass *klass, MonoInst *arr, Mono
        int mult_reg, add_reg, array_reg, index_reg, index2_reg;
        int context_used;
 
-       if (mini_is_gsharedvt_klass (cfg, klass)) {
+       if (mini_is_gsharedvt_variable_klass (cfg, klass)) {
                size = -1;
        } else {
                mono_class_init (klass);
@@ -4926,7 +4928,7 @@ emit_array_store (MonoCompile *cfg, MonoClass *klass, MonoInst **sp, gboolean sa
        } else {
                MonoInst *ins;
 
-               if (mini_is_gsharedvt_klass (cfg, klass)) {
+               if (mini_is_gsharedvt_variable_klass (cfg, klass)) {
                        MonoInst *addr;
 
                        // FIXME-VT: OP_ICONST optimization
@@ -10561,7 +10563,7 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
 
                        cfg->flags |= MONO_CFG_HAS_LDELEMA;
 
-                       if (mini_is_gsharedvt_klass (cfg, klass)) {
+                       if (mini_is_gsharedvt_variable_klass (cfg, klass)) {
                                // FIXME-VT: OP_ICONST optimization
                                addr = mini_emit_ldelema_1_ins (cfg, klass, sp [0], sp [1], TRUE);
                                EMIT_NEW_LOAD_MEMBASE_TYPE (cfg, ins, &klass->byval_arg, addr->dreg, 0);
index acf729f66e4ca5bd70f2090b3872905fc695215c..ac7d9ea2c7eea5518500393c5483fa749a0195d5 100644 (file)
@@ -2699,6 +2699,13 @@ mini_class_is_generic_sharable (MonoClass *klass)
        return (klass->generic_class && mono_generic_context_is_sharable (&klass->generic_class->context, FALSE));
 }
 
+
+gboolean
+mini_is_gsharedvt_variable_klass (MonoCompile *cfg, MonoClass *klass)
+{
+       return mini_is_gsharedvt_variable_type (cfg, &klass->byval_arg);
+}
+
 #if defined(MONOTOUCH) || defined(MONO_EXTENSIONS)
 
 #include "../../../mono-extensions/mono/mini/mini-generic-sharing-gsharedvt.c"
index b95ccf557c24c6aa6198cfd45e8c87b4cb256228..3cdfbe9b66bbe74b69926d92531db0a9b2f4e028 100644 (file)
@@ -894,10 +894,11 @@ mono_class_init_trampoline (mgreg_t *regs, guint8 *code, MonoVTable *vtable, gui
 
        mono_runtime_class_init (vtable);
 
-       if (plt_entry) {
-               mono_arch_nullify_plt_entry (plt_entry, regs);
-       } else {
-               mono_arch_nullify_class_init_trampoline (code, regs);
+       if (vtable->initialized) {
+               if (plt_entry)
+                       mono_arch_nullify_plt_entry (plt_entry, regs);
+               else
+                       mono_arch_nullify_class_init_trampoline (code, regs);
        }
 }
 
index 8bec4fa09fe12f4cd78ecaf37bc0198c99503d9e..21f62e1757a68fd989fa651cee8c66350b042072 100644 (file)
@@ -6525,7 +6525,7 @@ mono_jit_runtime_invoke (MonoMethod *method, void *obj, void **params, MonoObjec
                        if (supported)
                                info->dyn_call_info = mono_arch_dyn_call_prepare (sig);
 
-                       ret_type = mini_replace_type (sig->ret);
+                       ret_type = sig->ret;
                        if (info->dyn_call_info) {
                                switch (ret_type->type) {
                                case MONO_TYPE_VOID:
@@ -6622,7 +6622,7 @@ mono_jit_runtime_invoke (MonoMethod *method, void *obj, void **params, MonoObjec
                if (sig->hasthis)
                        args [pindex ++] = &obj;
                for (i = 0; i < sig->param_count; ++i) {
-                       MonoType *t = mini_replace_type (sig->params [i]);
+                       MonoType *t = sig->params [i];
 
                        if (t->byref) {
                                args [pindex ++] = &params [i];
index aaff747103b604ffe2b2b197d7b35afa73a02a36..b46fd389cc41b5a313f2e5ea9cf64f4b0d2c07ec 100644 (file)
@@ -2640,6 +2640,7 @@ gboolean mini_is_gsharedvt_type (MonoCompile *cfg, MonoType *t) MONO_INTERNAL;
 gboolean mini_is_gsharedvt_signature (MonoCompile *cfg, MonoMethodSignature *sig) MONO_INTERNAL;
 gboolean mini_is_gsharedvt_type_gsctx (MonoGenericSharingContext *gsctx, MonoType *t) MONO_INTERNAL;
 gboolean mini_is_gsharedvt_variable_type (MonoCompile *cfg, MonoType *t) MONO_INTERNAL;
+gboolean mini_is_gsharedvt_variable_klass (MonoCompile *cfg, MonoClass *klass) MONO_INTERNAL;
 gboolean mini_is_gsharedvt_sharable_method (MonoMethod *method) MONO_INTERNAL;
 gboolean mini_is_gsharedvt_variable_signature (MonoMethodSignature *sig) MONO_INTERNAL;
 gboolean mini_is_gsharedvt_sharable_inst (MonoGenericInst *inst) MONO_INTERNAL;
index bbe19f5bc7ef73d72f0916dfd1e22e9edc0f051a..41b8aaf5ef1c6244ecf4b4846f0b34dd3de4b675 100644 (file)
@@ -34,357 +34,407 @@ namespace Mono.Tools.LocaleBuilder
        {
                static readonly Dictionary<int, string[]> DateTime = new Dictionary<int, string[]> {
                        { 0x0001, new [] { "/", "dd/MMMM/yyyy", "hh:mm:ss tt", "dd/MM/yy", "hh:mm tt", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x0002, new [] { ".", "dd MMMM yyyy 'г.'", "HH:mm:ss 'ч.'", "d.M.yyyy 'г.'", "HH:mm 'ч.'", "dd MMMM", "MMMM yyyy 'г.'" } },
-                       { 0x0003, new [] { "/", "dddd, d' / 'MMMM' / 'yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd MMMM", "MMMM' / 'yyyy" } },
+                       { 0x0002, new [] { ".", "dd MMMM yyyy 'г.'", "H:mm:ss", "d.M.yyyy 'г.'", "H:mm", "d MMMM", "MMMM yyyy 'г.'" } },
+                       { 0x0003, new [] { "/", "dddd, d MMMM' de 'yyyy", "H:mm:ss", "dd/MM/yyyy", "H:mm", "d MMMM", "MMMM' de 'yyyy" } },
                        { 0x0004, new [] { "/", "yyyy'年'M'月'd'日'", "H:mm:ss", "yyyy/M/d", "H:mm", "M'月'd'日'", "yyyy'年'M'月'" } },
-                       { 0x0005, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "dd MMMM", "MMMM yyyy" } },
+                       { 0x0005, new [] { ". ", "d. MMMM yyyy", "H:mm:ss", "d. M. yyyy", "H:mm", "d. MMMM", "MMMM yyyy" } },
                        { 0x0006, new [] { "-", "d. MMMM yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
-                       { 0x0007, new [] { ".", "dddd, d. MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0008, new [] { "/", "dddd, d MMMM yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0009, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
-                       { 0x000a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "H:mm:ss", "dd/MM/yyyy", "H:mm", "dd MMMM", "MMMM' de 'yyyy" } },
-                       { 0x000b, new [] { ".", "d. MMMM'ta 'yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d. MMMM'ta'", "MMMM yyyy" } },
+                       { 0x0007, new [] { ".", "dddd, d. MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
+                       { 0x0008, new [] { "/", "dddd, d MMMM yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "d MMMM", "MMMM yyyy" } },
+                       { 0x0009, new [] { "/", "dddd, MMMM d, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MMMM d", "MMMM yyyy" } },
+                       { 0x000a, new [] { "/", "dddd, d' de 'MMMM' de 'yyyy", "H:mm:ss", "dd/MM/yyyy", "H:mm", "d' de 'MMMM", "MMMM' de 'yyyy" } },
+                       { 0x000b, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d'.' MMMM", "MMMM yyyy" } },
                        { 0x000c, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x000d, new [] { "/", "dddd dd MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
                        { 0x000e, new [] { ".", "yyyy. MMMM d.", "H:mm:ss", "yyyy.MM.dd.", "H:mm", "MMMM d.", "yyyy. MMMM" } },
                        { 0x000f, new [] { ".", "d. MMMM yyyy", "HH:mm:ss", "d.M.yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
-                       { 0x0010, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
+                       { 0x0010, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x0011, new [] { "/", "yyyy'年'M'月'd'日'", "H:mm:ss", "yyyy/MM/dd", "H:mm", "M'月'd'日'", "yyyy'年'M'月'" } },
                        { 0x0012, new [] { "-", "yyyy'년' M'월' d'일' dddd", "tt h:mm:ss", "yyyy-MM-dd", "tt h:mm", "M'월' d'일'", "yyyy'년' M'월'" } },
-                       { 0x0013, new [] { "-", "dddd d MMMM yyyy", "H:mm:ss", "d-M-yyyy", "H:mm", "dd MMMM", "MMMM yyyy" } },
+                       { 0x0013, new [] { "-", "dddd d MMMM yyyy", "HH:mm:ss", "d-M-yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x0014, new [] { ".", "d. MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
                        { 0x0015, new [] { "-", "d MMMM yyyy", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x0016, new [] { "/", "dddd, d' de 'MMMM' de 'yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd' de 'MMMM", "MMMM' de 'yyyy" } },
-                       { 0x0017, new [] { "/", "dddd, d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0018, new [] { ".", "d MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x0019, new [] { ".", "d MMMM yyyy 'г.'", "H:mm:ss", "dd.MM.yyyy", "H:mm", "MMMM dd", "MMMM yyyy" } },
+                       { 0x0016, new [] { "/", "dddd, d' de 'MMMM' de 'yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d' de 'MMMM", "MMMM' de 'yyyy" } },
+                       { 0x0017, new [] { "-", "dddd, 'ils’' d. MMMM, yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0018, new [] { ".", "d MMMM yyyy", "H:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0019, new [] { ".", "d MMMM yyyy 'г.'", "H:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x001a, new [] { ".", "d. MMMM yyyy.", "H:mm:ss", "d.M.yyyy.", "H:mm", "d. MMMM", "MMMM, yyyy" } },
-                       { 0x001b, new [] { ". ", "d. MMMM yyyy", "H:mm:ss", "d. M. yyyy", "H:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x001c, new [] { "-", "yyyy-MM-dd", "h:mm:ss.tt", "yyyy-MM-dd", "h:mm.tt", "MMMM dd", "yyyy-MM" } },
+                       { 0x001b, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d. MMMM", "MMMM yyyy" } },
+                       { 0x001c, new [] { ".", "dddd, d MMMM yyyy", "HH:mm:ss", "d.M.yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x001d, new [] { "-", "'den 'd MMMM yyyy", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "'den 'd MMMM", "MMMM yyyy" } },
-                       { 0x001e, new [] { "/", "d MMMM yyyy", "H:mm:ss", "d/M/yyyy", "H:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x001f, new [] { ".", "dd MMMM yyyy dddd", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
+                       { 0x001e, new [] { "/", "d MMMM yyyy", "H:mm:ss", "d/M/yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x001f, new [] { ".", "d MMMM yyyy dddd", "HH:mm:ss", "d.M.yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x0020, new [] { "/", "dd MMMM, yyyy", "h:mm:ss tt", "dd/MM/yyyy", "h:mm tt", "dd MMMM", "MMMM, yyyy" } },
                        { 0x0021, new [] { "/", "dd MMMM yyyy", "H:mm:ss", "dd/MM/yyyy", "H:mm", "dd MMMM", "MMMM yyyy" } },
                        { 0x0022, new [] { ".", "d MMMM yyyy' р.'", "H:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM yyyy' р.'" } },
-                       { 0x0023, new [] { ".", "d MMMM yyyy", "H:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0023, new [] { ".", "d MMMM yyyy", "HH:mm:ss", "dd.MM.yy", "HH:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x0024, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d. MMMM", "MMMM yyyy" } },
-                       { 0x0025, new [] { ".", "d. MMMM yyyy'. a.'", "H:mm:ss", "d.MM.yyyy", "H:mm", "d. MMMM", "MMMM yyyy'. a.'" } },
-                       { 0x0026, new [] { ".", "dddd, yyyy'. gada 'd. MMMM", "H:mm:ss", "yyyy.MM.dd.", "H:mm", "d. MMMM", "yyyy. MMMM" } },
-                       { 0x0027, new [] { ".", "yyyy 'm.' MMMM d 'd.'", "HH:mm:ss", "yyyy.MM.dd", "HH:mm", "MMMM d 'd.'", "yyyy 'm.' MMMM" } },
-                       { 0x0028, new [] { ".", "d MMMM yyyy", "H:mm:ss", "dd.MM.yy", "H:mm", "MMMM dd", "MMMM yyyy" } },
-                       { 0x0029, new [] { "/", "dddd, MMMM dd, yyyy", "hh:mm:ss tt", "MM/dd/yyyy", "hh:mm tt", "MMMM dd", "MMMM, yyyy" } },
+                       { 0x0025, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.MM.yyyy", "H:mm", "dd. MMMM", "MMMM yyyy" } },
+                       { 0x0026, new [] { ".", "dddd, yyyy'. gada 'd. MMMM", "H:mm:ss", "dd.MM.yyyy.", "H:mm", "d. MMMM", "yyyy'. gada 'MMMM" } },
+                       { 0x0027, new [] { "-", "yyyy 'm.' MMMM d 'd.'", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "MMMM d 'd.'", "yyyy 'm.' MMMM" } },
+                       { 0x0028, new [] { ".", "d MMMM yyyy' с.'", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
+                       { 0x0029, new [] { "/", "dddd, dd MMMM yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "d MMMM", "MMMM, yyyy" } },
                        { 0x002a, new [] { "/", "dd MMMM yyyy", "h:mm:ss tt", "dd/MM/yyyy", "h:mm tt", "dd MMMM", "MMMM yyyy" } },
-                       { 0x002b, new [] { ".", "d MMMM, yyyy", "H:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM, yyyy" } },
-                       { 0x002c, new [] { ".", "d MMMM yyyy", "H:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x002d, new [] { "/", "dddd, yyyy.'eko' MMMM'k 'd", "H:mm:ss", "yyyy/MM/dd", "HH:mm", "MMMM dd", "yyyy.'eko' MMMM" } },
-                       { 0x002e, new [] { ". ", "dddd, 'dnja' d. MMMM yyyy", "H:mm:ss", "d. M. yyyy", "H.mm 'hodź.'", "d. MMMM", "MMMM yyyy" } },
-                       { 0x002f, new [] { ".", "dddd, dd MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0032, new [] { "/", "dd MMMM yyyy", "hh:mm:ss tt", "yyyy/MM/dd", "hh:mm tt", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0034, new [] { "/", "dd MMMM yyyy", "hh:mm:ss tt", "yyyy/MM/dd", "hh:mm tt", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0035, new [] { "/", "dd MMMM yyyy", "hh:mm:ss tt", "yyyy/MM/dd", "hh:mm tt", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0036, new [] { "/", "dd MMMM yyyy", "hh:mm:ss tt", "yyyy/MM/dd", "hh:mm tt", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0037, new [] { ".", "yyyy 'წლის' dd MM, dddd", "H:mm:ss", "dd.MM.yyyy", "H:mm", "dd MM", "MMMM yyyy" } },
-                       { 0x0038, new [] { "-", "d. MMMM yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
+                       { 0x002b, new [] { ".", "d MMMM, yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d MMMM", "MMMM, yyyy" } },
+                       { 0x002c, new [] { ".", "dd MMMM yyyy'-cü il'", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x002d, new [] { "/", "dddd, yyyy'(e)ko' MMMM'ren' d'a'", "H:mm:ss", "yyyy/MM/dd", "H:mm", "MMMM'ren' d'a'", "yyyy'(e)ko' MMMM" } },
+                       { 0x002e, new [] { ". ", "dddd, 'dnja' d. MMMM yyyy", "H.mm.ss", "d. M. yyyy", "H.mm", "d. MMMM", "MMMM yyyy" } },
+                       { 0x002f, new [] { ".", "dddd, dd MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0030, new [] { "-", "yyyy MMMM d, dddd", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "MMMM d", "yyyy MMMM" } },
+                       { 0x0031, new [] { "-", "yyyy MMMM d, dddd", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "MMMM d", "yyyy MMMM" } },
+                       { 0x0032, new [] { "/", "dd MMMM yyyy", "hh:mm:ss tt", "dd/MM/yy", "hh:mm tt", "d MMMM", "MMMM yyyy" } },
+                       { 0x0034, new [] { "/", "dd MMMM yyyy", "hh:mm:ss tt", "yyyy/MM/dd", "hh:mm tt", "d MMMM", "MMMM yyyy" } },
+                       { 0x0035, new [] { "-", "dd MMMM yyyy", "hh:mm:ss tt", "dd-MM-yyyy", "hh:mm tt", "d MMMM", "MMMM yyyy" } },
+                       { 0x0036, new [] { "/", "dd MMMM yyyy", "hh:mm:ss tt", "yyyy/MM/dd", "hh:mm tt", "d MMMM", "MMMM yyyy" } },
+                       { 0x0037, new [] { ".", "dddd, d MMMM, yyyy 'წელი'", "H:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0038, new [] { "-", "d. MMMM yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x0039, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "dd MMMM", "MMMM, yyyy" } },
                        { 0x003a, new [] { "/", "dddd, d' ta\\' 'MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d' ta\\' 'MMMM", "MMMM yyyy" } },
-                       { 0x003b, new [] { ".", "MMMM d'. b. 'yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "MMMM d'. b. '", "MMMM yyyy" } },
-                       { 0x003c, new [] { "/", "d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
+                       { 0x003b, new [] { ".", "dddd, MMMM d'. b. 'yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "MMMM d'. b.'", "MMMM yyyy" } },
+                       { 0x003c, new [] { "/", "d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x003e, new [] { "/", "dd MMMM yyyy", "H:mm:ss", "dd/MM/yyyy", "H:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x003f, new [] { ".", "d MMMM yyyy 'ж.'", "H:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x0040, new [] { ".", "d'-'MMMM yyyy'-ж.'", "H:mm:ss", "dd.MM.yy", "H:mm", "d MMMM", "MMMM yyyy'-ж.'" } },
+                       { 0x003f, new [] { "-", "d MMMM yyyy 'ж.'", "HH:mm:ss", "d-MMM-yy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0040, new [] { "-", "dd'-'MMMM yyyy'-ж.'", "HH:mm:ss", "d-MMM yy", "HH:mm", "d'-'MMMM", "MMMM yyyy'-ж.'" } },
                        { 0x0041, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
-                       { 0x0042, new [] { ".", "yyyy 'ý.' MMMM d", "H:mm:ss", "dd.MM.yy", "H:mm", "MMMM dd", "yyyy 'ý.' MMMM" } },
-                       { 0x0043, new [] { "/", "yyyy 'yil' d-MMMM", "HH:mm:ss", "dd/MM yyyy", "HH:mm", "d-MMMM", "MMMM yyyy" } },
-                       { 0x0044, new [] { ".", "d MMMM yyyy", "H:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x0045, new [] { "-", "dd MMMM yyyy", "HH.mm.ss", "dd-MM-yy", "HH.mm", "dd MMMM", "MMMM, yyyy" } },
+                       { 0x0042, new [] { ".", "yyyy'-nji ýylyň 'd'-nji 'MMMM", "HH:mm:ss", "dd.MM.yy 'ý.'", "HH:mm", "d MMMM", "yyyy 'ý.' MMMM" } },
+                       { 0x0043, new [] { ".", "yyyy 'yil' d-MMMM", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d-MMMM", "MMMM yyyy" } },
+                       { 0x0044, new [] { ".", "dd MMMM yyyy' ел'", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0045, new [] { "-", "dd MMMM yyyy", "HH.mm.ss", "dd-MM-yy", "HH.mm", "d MMMM", "MMMM, yyyy" } },
                        { 0x0046, new [] { "-", "dd MMMM yyyy dddd", "tt hh:mm:ss", "dd-MM-yy", "tt hh:mm", "dd MMMM", "MMMM, yyyy" } },
                        { 0x0047, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yy", "HH:mm", "dd MMMM", "MMMM, yyyy" } },
                        { 0x0048, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yy", "HH:mm", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x0049, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x004a, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yy", "HH:mm", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x004b, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yy", "HH:mm", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x004c, new [] { "-", "dd MMMM yyyy", "HH.mm.ss", "dd-MM-yy", "HH.mm", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x004d, new [] { "-", "yyyy,MMMM dd, dddd", "tt h:mm:ss", "dd-MM-yyyy", "tt h:mm", "dd MMMM", "MMMM,yy" } },
+                       { 0x0049, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x004a, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yy", "HH:mm", "MMMM d", "MMMM, yyyy" } },
+                       { 0x004b, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yy", "HH:mm", "MMMM d", "MMMM, yyyy" } },
+                       { 0x004c, new [] { "-", "dd MMMM yyyy", "HH.mm.ss", "dd-MM-yy", "HH.mm", "MMMM dd", "MMMM, yyyy" } },
+                       { 0x004d, new [] { "-", "yyyy,MMMM dd, dddd", "tt h:mm:ss", "dd-MM-yyyy", "tt h:mm", "d MMMM", "MMMM,yy" } },
                        { 0x004e, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "dd MMMM", "MMMM, yyyy" } },
                        { 0x004f, new [] { "-", "dd MMMM yyyy dddd", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x0050, new [] { ".", "yyyy 'оны' MMMM d", "H:mm:ss", "yy.MM.dd", "H:mm", "d MMMM", "yyyy 'он' MMMM" } },
-                       { 0x0051, new [] { "/", "yyyy'ལོའི་ཟླ' M'ཚེས' d", "HH:mm:ss", "yyyy/M/d", "HH:mm", "'ཟླ་' M'ཚེས'd", "yyyy.M" } },
-                       { 0x0052, new [] { "/", "dd MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0053, new [] { "-", "d MMMM yyyy", "HH:mm:ss", "yyyy-MM-dd", "H:mm tt", "'ថ្ងៃទី' dd 'ខែ' MM", "'ខែ' MM 'ឆ្នាំ' yyyy" } },
-                       { 0x0054, new [] { "/", "dd MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "H:mm tt", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0056, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "H:mm:ss", "dd/MM/yyyy", "H:mm", "dd MMMM", "MMMM' de 'yyyy" } },
+                       { 0x0050, new [] { "-", "yyyy 'оны' M'-р сарын' d. dddd 'гариг'.", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "MMMM d.", "yyyy 'оны' MMMM" } },
+                       { 0x0051, new [] { "/", "yyyy'ལོའི་ཟླ' M'ཚེས' d", "HH:mm:ss", "yyyy/M/d", "HH:mm", "ཟླ་Mཚེས་d", "yyyy'ལོའི་ཟླ་' M" } },
+                       { 0x0052, new [] { "/", "d MMMM yyyy", "HH:mm:ss", "dd/MM/yy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0053, new [] { "/", "d MMMM yyyy", "HH:mm:ss", "dd/MM/yy", "H:mm", "d MMMM", "'ខែ' MM 'ឆ្នាំ' yyyy" } },
+                       { 0x0054, new [] { "/", "dd MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0055, new [] { "-", "yyyy MMMM d", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "MMMM d", "yyyy MMMM" } },
+                       { 0x0056, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "H:mm:ss", "dd/MM/yyyy", "H:mm", "d' de 'MMMM", "MMMM' de 'yyyy" } },
                        { 0x0057, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x005a, new [] { "/", "dd MMMM, yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x005b, new [] { "-", "yyyy MMMM' මස 'dd' වැනිදා 'dddd", "h:mm:ss tt", "yyyy-MM-dd", "h:mm tt", "MMMM dd", "yyyy MMMM" } },
-                       { 0x005d, new [] { "/", "ddd, MMMM dd,yyyy", "h:mm:ss tt", "d/MM/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
-                       { 0x005e, new [] { "/", "dddd '፣' MMMM d 'ቀን' yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "MMMM d ቀን", "MMMM yyyy" } },
-                       { 0x005f, new [] { "-", "dd MMMM, yyyy", "H:mm:ss", "dd-MM-yyyy", "H:mm", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x0061, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MMMM dd", "MMMM,yyyy" } },
-                       { 0x0062, new [] { "-", "dddd d MMMM yyyy", "H:mm:ss", "d-M-yyyy", "H:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0063, new [] { "/", "dd/MM/yyyy", "h:mm:ss tt", "dd/MM/yy", "h:mm tt", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x0064, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
-                       { 0x0065, new [] { "/", "dd/MM/yyyy", "HH:mm:ss", "dd/MM/yy", "HH:mm", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x0068, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
-                       { 0x006a, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
-                       { 0x006b, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "MMMM dd", "MMMM' de 'yyyy" } },
-                       { 0x006c, new [] { "/", "dd MMMM yyyy", "hh:mm:ss tt", "yyyy/MM/dd", "hh:mm tt", "dd MMMM", "MMMM yyyy" } },
-                       { 0x006d, new [] { ".", "d MMMM yyyy 'й'", "H:mm:ss", "dd.MM.yy", "H:mm", "MMMM dd", "MMMM yyyy" } },
-                       { 0x006e, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x006f, new [] { "-", "d. MMMM yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
-                       { 0x0070, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
-                       { 0x0078, new [] { "/", "yyyy'ꈎ' M'ꆪ' d'ꑍ'", "H:mm:ss", "yyyy/M/d", "tt h:mm", "M'ꆪ' d'ꑍ'", "yyyy'ꈎ' M'ꆪ'" } },
-                       { 0x007a, new [] { "-", "dddd, dd' de 'MMMM' de 'yyyy", "H:mm:ss", "dd-MM-yyyy", "H:mm", "dd MMMM", "MMMM' de 'yyyy" } },
+                       { 0x0059, new [] { "/", "dddd, dd MMMM, yyyy", "h:mm:ss tt", "dd/MM/yyyy", "h:mm tt", "dd MMMM", "MMMM, yyyy" } },
+                       { 0x005a, new [] { "/", "dd MMMM, yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "MMMM dd", "MMMM, yyyy" } },
+                       { 0x005b, new [] { "-", "yyyy MMMM' මස 'dd' වැනිදා 'dddd", "tt h:mm:ss", "yyyy-MM-dd", "tt h:mm", "MMMM dd", "yyyy MMMM" } },
+                       { 0x005c, new [] { "/", "dddd, MMMM dd,yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MMMM d", "MMMM, yyyy" } },
+                       { 0x005d, new [] { "/", "dddd, dd MMMM, yyyy", "h:mm:ss tt", "d/MM/yyyy", "h:mm tt", "MMMM d", "MMMM, yyyy" } },
+                       { 0x005e, new [] { "/", "dddd '፣' MMMM d 'ቀን' yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "MMMM d' ቀን'", "MMMM yyyy" } },
+                       { 0x005f, new [] { "-", "dd MMMM, yyyy", "H:mm:ss", "dd-MM-yyyy", "H:mm", "d MMMM", "MMMM, yyyy" } },
+                       { 0x0061, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "dd MMMM", "MMMM,yyyy" } },
+                       { 0x0062, new [] { "-", "dddd d MMMM yyyy", "H:mm:ss", "d-M-yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0063, new [] { "/", "yyyy, dd, MMMM, dddd", "h:mm:ss tt", "yyyy/M/d", "h:mm tt", "d MMMM", "MMMM yyyy" } },
+                       { 0x0064, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MM/dd", "MMMM, yyyy" } },
+                       { 0x0065, new [] { "/", "ddd, yyyy MMMM dd", "HH:mm:ss", "dd/MM/yy", "HH:mm", "MMMM dd", "yyyy, MMMM" } },
+                       { 0x0067, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
+                       { 0x0068, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "d MMMM", "MMMM, yyyy" } },
+                       { 0x006a, new [] { "/", "dddd, dd MMMM, yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "dd MMMM", "MMMM,yyyy" } },
+                       { 0x006b, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "d' de 'MMMM", "MMMM' de 'yyyy" } },
+                       { 0x006c, new [] { "/", "dd MMMM yyyy", "hh:mm:ss tt", "dd/MM/yy", "hh:mm tt", "MMMM d", "MMMM yyyy" } },
+                       { 0x006d, new [] { ".", "d MMMM yyyy 'й'", "H:mm:ss", "dd.MM.yy", "H:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x006e, new [] { ".", "d. MMMM yyyy", "HH:mm:ss", "dd.MM.yy", "HH:mm", "dd. MMMM", "MMMM yyyy" } },
+                       { 0x006f, new [] { "-", "MMMM d'.-at, 'yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "MMMM d'.-at'", "MMMM yyyy" } },
+                       { 0x0070, new [] { "/", "dddd, MMMM dd, yyyy", "h.mm.ss tt", "d/M/yyyy", "h.mm tt", "d MMMM", "MMMM, yyyy" } },
+                       { 0x0072, new [] { "/", "dddd, MMMM d, yyyy", "h:mm:ss tt", "dd/MM/yy", "h:mm tt", "dd MMMM", "MMMM yyyy" } },
+                       { 0x0073, new [] { "/", "dddd '፣' MMMM d 'መዓልቲ' yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "MMMM d", "MMMM yyyy" } },
+                       { 0x0074, new [] { "/", "dddd, dd MMMM, yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd MMMM", "MMMM, yyyy" } },
+                       { 0x0075, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "d MMMM", "MMMM, yyyy" } },
+                       { 0x0077, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "dd/MM/yy", "h:mm tt", "MMMM d", "MMMM yyyy" } },
+                       { 0x0078, new [] { "/", "yyyy'ꈎ' M'ꆪ' d'ꑍ'", "tt h:mm:ss", "yyyy/M/d", "tt h:mm", "M'’ ꆪ’'d'’ ꑍ’'", "yyyy'ꈎ' M'ꆪ'" } },
+                       { 0x007a, new [] { "-", "dddd, dd' de 'MMMM' de 'yyyy", "H:mm:ss", "dd-MM-yyyy", "H:mm", "d' de 'MMMM", "MMMM' de 'yyyy" } },
                        { 0x007c, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
                        { 0x007e, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x007f, new [] { "/", "dddd, dd MMMM yyyy", "HH:mm:ss", "MM/dd/yyyy", "HH:mm", "MMMM dd", "yyyy MMMM" } },
-                       { 0x0080, new [] { "-", "yyyy-'يىلى' MMMM d-'كۈنى،'", "H:mm:ss", "yyyy-M-d", "H:mm", "MMMM d'-كۈنى'", "yyyy-'يىلى' MMMM" } },
-                       { 0x0081, new [] { "/", "dddd, dd MMMM, yyyy", "h:mm:ss tt", "dd/MM/yyyy", "h:mm tt", "dd MMMM", "MMMM, yy" } },
-                       { 0x0082, new [] { "/", "dddd,' lo 'd MMMM' de 'yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x0083, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x0084, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x0085, new [] { ".", "MMMM d yyyy 'с.'", "H:mm:ss", "MM.dd.yyyy", "H:mm", "MMMM dd", "MMMM yyyy 'с.'" } },
-                       { 0x0086, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM' de 'yyyy" } },
-                       { 0x0087, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
+                       { 0x0080, new [] { "-", "yyyy-'يىل' d-MMMM", "H:mm:ss", "yyyy-M-d", "H:mm", "d-MMMM", "yyyy-'يىلى' MMMM" } },
+                       { 0x0081, new [] { "/", "dddd, dd MMMM, yyyy", "h:mm:ss tt", "dd/MM/yyyy", "h:mm tt", "d MMMM", "MMMM, yy" } },
+                       { 0x0082, new [] { "/", "dddd d MMMM' de 'yyyy", "HH.mm.ss", "dd/MM/yyyy", "HH' h 'mm", "d MMMM", "MMMM' de 'yyyy" } },
+                       { 0x0083, new [] { "/", "dddd d MMMM yyyy", "H:mm:ss", "dd/MM/yyyy", "HH:mm", "d' di 'MMMM", "MMMM' di u 'yyyy" } },
+                       { 0x0084, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
+                       { 0x0085, new [] { ".", "dddd, yyyy 'с.' MMMM d 'күнэ'", "H:mm:ss", "dd.MM.yyyy", "H:mm", "MMMM d 'күнэ'", "yyyy 'с.' MMMM" } },
+                       { 0x0086, new [] { "/", "dddd, dd' rech 'MMMM' rech 'yyyy", "h:mm:ss tt", "dd/MM/yyyy", "h:mm tt", "d' rech 'MMMM", "MMMM' rech 'yyyy" } },
+                       { 0x0087, new [] { "/", "d ' ' MMMM ' ' yyyy", "H:mm:ss", "d/MM/yyyy", "H:mm", "MMMM dd", "MMMM yyyy" } },
                        { 0x0088, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x008c, new [] { "/", "dd/MM/yyyy", "h:mm:ss tt", "dd/MM/yy", "h:mm tt", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x0091, new [] { "/", "dd MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
+                       { 0x008c, new [] { "/", "yyyy, dd, MMMM, dddd", "h:mm:ss tt", "yyyy/M/d", "h:mm tt", "d MMMM", "MMMM yyyy" } },
+                       { 0x0091, new [] { "/", "dd MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0092, new [] { "/", "dddd, dd MMMM, yyyy", "hh:mm:ss tt", "yyyy/MM/dd", "hh:mm tt", "d MMMM", "MMMM, yyyy" } },
                        { 0x0401, new [] { "/", "dd/MMMM/yyyy", "hh:mm:ss tt", "dd/MM/yy", "hh:mm tt", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x0402, new [] { ".", "dd MMMM yyyy 'г.'", "HH:mm:ss 'ч.'", "d.M.yyyy 'г.'", "HH:mm 'ч.'", "dd MMMM", "MMMM yyyy 'г.'" } },
-                       { 0x0403, new [] { "/", "dddd, d' / 'MMMM' / 'yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd MMMM", "MMMM' / 'yyyy" } },
+                       { 0x0402, new [] { ".", "dd MMMM yyyy 'г.'", "H:mm:ss", "d.M.yyyy 'г.'", "H:mm", "d MMMM", "MMMM yyyy 'г.'" } },
+                       { 0x0403, new [] { "/", "dddd, d MMMM' de 'yyyy", "H:mm:ss", "dd/MM/yyyy", "H:mm", "d MMMM", "MMMM' de 'yyyy" } },
                        { 0x0404, new [] { "/", "yyyy'年'M'月'd'日'", "tt hh:mm:ss", "yyyy/M/d", "tt hh:mm", "M'月'd'日'", "yyyy'年'M'月'" } },
-                       { 0x0405, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "dd MMMM", "MMMM yyyy" } },
+                       { 0x0405, new [] { ". ", "d. MMMM yyyy", "H:mm:ss", "d. M. yyyy", "H:mm", "d. MMMM", "MMMM yyyy" } },
                        { 0x0406, new [] { "-", "d. MMMM yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
-                       { 0x0407, new [] { ".", "dddd, d. MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0408, new [] { "/", "dddd, d MMMM yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0409, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
-                       { 0x040b, new [] { ".", "d. MMMM'ta 'yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d. MMMM'ta'", "MMMM yyyy" } },
+                       { 0x0407, new [] { ".", "dddd, d. MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
+                       { 0x0408, new [] { "/", "dddd, d MMMM yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "d MMMM", "MMMM yyyy" } },
+                       { 0x0409, new [] { "/", "dddd, MMMM d, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MMMM d", "MMMM yyyy" } },
+                       { 0x040b, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d'.' MMMM", "MMMM yyyy" } },
                        { 0x040c, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x040d, new [] { "/", "dddd dd MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
                        { 0x040e, new [] { ".", "yyyy. MMMM d.", "H:mm:ss", "yyyy.MM.dd.", "H:mm", "MMMM d.", "yyyy. MMMM" } },
                        { 0x040f, new [] { ".", "d. MMMM yyyy", "HH:mm:ss", "d.M.yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
-                       { 0x0410, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
+                       { 0x0410, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x0411, new [] { "/", "yyyy'年'M'月'd'日'", "H:mm:ss", "yyyy/MM/dd", "H:mm", "M'月'd'日'", "yyyy'年'M'月'" } },
                        { 0x0412, new [] { "-", "yyyy'년' M'월' d'일' dddd", "tt h:mm:ss", "yyyy-MM-dd", "tt h:mm", "M'월' d'일'", "yyyy'년' M'월'" } },
-                       { 0x0413, new [] { "-", "dddd d MMMM yyyy", "H:mm:ss", "d-M-yyyy", "H:mm", "dd MMMM", "MMMM yyyy" } },
+                       { 0x0413, new [] { "-", "dddd d MMMM yyyy", "HH:mm:ss", "d-M-yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x0414, new [] { ".", "d. MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
                        { 0x0415, new [] { "-", "d MMMM yyyy", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x0416, new [] { "/", "dddd, d' de 'MMMM' de 'yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd' de 'MMMM", "MMMM' de 'yyyy" } },
-                       { 0x0417, new [] { "/", "dddd, d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0418, new [] { ".", "d MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x0419, new [] { ".", "d MMMM yyyy 'г.'", "H:mm:ss", "dd.MM.yyyy", "H:mm", "MMMM dd", "MMMM yyyy" } },
+                       { 0x0416, new [] { "/", "dddd, d' de 'MMMM' de 'yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d' de 'MMMM", "MMMM' de 'yyyy" } },
+                       { 0x0417, new [] { "-", "dddd, 'ils’' d. MMMM, yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0418, new [] { ".", "d MMMM yyyy", "H:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0419, new [] { ".", "d MMMM yyyy 'г.'", "H:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x041a, new [] { ".", "d. MMMM yyyy.", "H:mm:ss", "d.M.yyyy.", "H:mm", "d. MMMM", "MMMM, yyyy" } },
-                       { 0x041b, new [] { ". ", "d. MMMM yyyy", "H:mm:ss", "d. M. yyyy", "H:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x041c, new [] { "-", "yyyy-MM-dd", "h:mm:ss.tt", "yyyy-MM-dd", "h:mm.tt", "MMMM dd", "yyyy-MM" } },
+                       { 0x041b, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d. MMMM", "MMMM yyyy" } },
+                       { 0x041c, new [] { ".", "dddd, d MMMM yyyy", "HH:mm:ss", "d.M.yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x041d, new [] { "-", "'den 'd MMMM yyyy", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "'den 'd MMMM", "MMMM yyyy" } },
-                       { 0x041e, new [] { "/", "d MMMM yyyy", "H:mm:ss", "d/M/yyyy", "H:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x041f, new [] { ".", "dd MMMM yyyy dddd", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
+                       { 0x041e, new [] { "/", "d MMMM yyyy", "H:mm:ss", "d/M/yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x041f, new [] { ".", "d MMMM yyyy dddd", "HH:mm:ss", "d.M.yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x0420, new [] { "/", "dd MMMM, yyyy", "h:mm:ss tt", "dd/MM/yyyy", "h:mm tt", "dd MMMM", "MMMM, yyyy" } },
                        { 0x0421, new [] { "/", "dd MMMM yyyy", "H:mm:ss", "dd/MM/yyyy", "H:mm", "dd MMMM", "MMMM yyyy" } },
                        { 0x0422, new [] { ".", "d MMMM yyyy' р.'", "H:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM yyyy' р.'" } },
-                       { 0x0423, new [] { ".", "d MMMM yyyy", "H:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0423, new [] { ".", "d MMMM yyyy", "HH:mm:ss", "dd.MM.yy", "HH:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x0424, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d. MMMM", "MMMM yyyy" } },
-                       { 0x0425, new [] { ".", "d. MMMM yyyy'. a.'", "H:mm:ss", "d.MM.yyyy", "H:mm", "d. MMMM", "MMMM yyyy'. a.'" } },
-                       { 0x0426, new [] { ".", "dddd, yyyy'. gada 'd. MMMM", "H:mm:ss", "yyyy.MM.dd.", "H:mm", "d. MMMM", "yyyy. MMMM" } },
-                       { 0x0427, new [] { ".", "yyyy 'm.' MMMM d 'd.'", "HH:mm:ss", "yyyy.MM.dd", "HH:mm", "MMMM d 'd.'", "yyyy 'm.' MMMM" } },
-                       { 0x0428, new [] { ".", "d MMMM yyyy", "H:mm:ss", "dd.MM.yy", "H:mm", "MMMM dd", "MMMM yyyy" } },
-                       { 0x0429, new [] { "/", "dddd, MMMM dd, yyyy", "hh:mm:ss tt", "MM/dd/yyyy", "hh:mm tt", "MMMM dd", "MMMM, yyyy" } },
+                       { 0x0425, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.MM.yyyy", "H:mm", "dd. MMMM", "MMMM yyyy" } },
+                       { 0x0426, new [] { ".", "dddd, yyyy'. gada 'd. MMMM", "H:mm:ss", "dd.MM.yyyy.", "H:mm", "d. MMMM", "yyyy'. gada 'MMMM" } },
+                       { 0x0427, new [] { "-", "yyyy 'm.' MMMM d 'd.'", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "MMMM d 'd.'", "yyyy 'm.' MMMM" } },
+                       { 0x0428, new [] { ".", "d MMMM yyyy' с.'", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
+                       { 0x0429, new [] { "/", "dddd, dd MMMM yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "d MMMM", "MMMM, yyyy" } },
                        { 0x042a, new [] { "/", "dd MMMM yyyy", "h:mm:ss tt", "dd/MM/yyyy", "h:mm tt", "dd MMMM", "MMMM yyyy" } },
-                       { 0x042b, new [] { ".", "d MMMM, yyyy", "H:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM, yyyy" } },
-                       { 0x042c, new [] { ".", "d MMMM yyyy", "H:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x042d, new [] { "/", "dddd, yyyy.'eko' MMMM'k 'd", "H:mm:ss", "yyyy/MM/dd", "HH:mm", "MMMM dd", "yyyy.'eko' MMMM" } },
-                       { 0x042e, new [] { ". ", "dddd, 'dnja' d. MMMM yyyy", "H:mm:ss", "d. M. yyyy", "H.mm 'hodź.'", "d. MMMM", "MMMM yyyy" } },
-                       { 0x042f, new [] { ".", "dddd, dd MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0432, new [] { "/", "dd MMMM yyyy", "hh:mm:ss tt", "yyyy/MM/dd", "hh:mm tt", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0434, new [] { "/", "dd MMMM yyyy", "hh:mm:ss tt", "yyyy/MM/dd", "hh:mm tt", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0435, new [] { "/", "dd MMMM yyyy", "hh:mm:ss tt", "yyyy/MM/dd", "hh:mm tt", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0436, new [] { "/", "dd MMMM yyyy", "hh:mm:ss tt", "yyyy/MM/dd", "hh:mm tt", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0437, new [] { ".", "yyyy 'წლის' dd MM, dddd", "H:mm:ss", "dd.MM.yyyy", "H:mm", "dd MM", "MMMM yyyy" } },
-                       { 0x0438, new [] { "-", "d. MMMM yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
+                       { 0x042b, new [] { ".", "d MMMM, yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d MMMM", "MMMM, yyyy" } },
+                       { 0x042c, new [] { ".", "dd MMMM yyyy'-cü il'", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x042d, new [] { "/", "dddd, yyyy'(e)ko' MMMM'ren' d'a'", "H:mm:ss", "yyyy/MM/dd", "H:mm", "MMMM'ren' d'a'", "yyyy'(e)ko' MMMM" } },
+                       { 0x042e, new [] { ". ", "dddd, 'dnja' d. MMMM yyyy", "H.mm.ss", "d. M. yyyy", "H.mm", "d. MMMM", "MMMM yyyy" } },
+                       { 0x042f, new [] { ".", "dddd, dd MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0430, new [] { "-", "yyyy MMMM d, dddd", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "MMMM d", "yyyy MMMM" } },
+                       { 0x0431, new [] { "-", "yyyy MMMM d, dddd", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "MMMM d", "yyyy MMMM" } },
+                       { 0x0432, new [] { "/", "dd MMMM yyyy", "hh:mm:ss tt", "dd/MM/yy", "hh:mm tt", "d MMMM", "MMMM yyyy" } },
+                       { 0x0434, new [] { "/", "dd MMMM yyyy", "hh:mm:ss tt", "yyyy/MM/dd", "hh:mm tt", "d MMMM", "MMMM yyyy" } },
+                       { 0x0435, new [] { "-", "dd MMMM yyyy", "hh:mm:ss tt", "dd-MM-yyyy", "hh:mm tt", "d MMMM", "MMMM yyyy" } },
+                       { 0x0436, new [] { "/", "dd MMMM yyyy", "hh:mm:ss tt", "yyyy/MM/dd", "hh:mm tt", "d MMMM", "MMMM yyyy" } },
+                       { 0x0437, new [] { ".", "dddd, d MMMM, yyyy 'წელი'", "H:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0438, new [] { "-", "d. MMMM yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x0439, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "dd MMMM", "MMMM, yyyy" } },
                        { 0x043a, new [] { "/", "dddd, d' ta\\' 'MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d' ta\\' 'MMMM", "MMMM yyyy" } },
-                       { 0x043b, new [] { ".", "MMMM d'. b. 'yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "MMMM d'. b. '", "MMMM yyyy" } },
+                       { 0x043b, new [] { ".", "dddd, MMMM d'. b. 'yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "MMMM d'. b.'", "MMMM yyyy" } },
                        { 0x043e, new [] { "/", "dd MMMM yyyy", "H:mm:ss", "dd/MM/yyyy", "H:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x043f, new [] { ".", "d MMMM yyyy 'ж.'", "H:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x0440, new [] { ".", "d'-'MMMM yyyy'-ж.'", "H:mm:ss", "dd.MM.yy", "H:mm", "d MMMM", "MMMM yyyy'-ж.'" } },
+                       { 0x043f, new [] { "-", "d MMMM yyyy 'ж.'", "HH:mm:ss", "d-MMM-yy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0440, new [] { "-", "dd'-'MMMM yyyy'-ж.'", "HH:mm:ss", "d-MMM yy", "HH:mm", "d'-'MMMM", "MMMM yyyy'-ж.'" } },
                        { 0x0441, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
-                       { 0x0442, new [] { ".", "yyyy 'ý.' MMMM d", "H:mm:ss", "dd.MM.yy", "H:mm", "MMMM dd", "yyyy 'ý.' MMMM" } },
-                       { 0x0443, new [] { "/", "yyyy 'yil' d-MMMM", "HH:mm:ss", "dd/MM yyyy", "HH:mm", "d-MMMM", "MMMM yyyy" } },
-                       { 0x0444, new [] { ".", "d MMMM yyyy", "H:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x0445, new [] { "-", "dd MMMM yyyy", "HH.mm.ss", "dd-MM-yy", "HH.mm", "dd MMMM", "MMMM, yyyy" } },
+                       { 0x0442, new [] { ".", "yyyy'-nji ýylyň 'd'-nji 'MMMM", "HH:mm:ss", "dd.MM.yy 'ý.'", "HH:mm", "d MMMM", "yyyy 'ý.' MMMM" } },
+                       { 0x0443, new [] { ".", "yyyy 'yil' d-MMMM", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d-MMMM", "MMMM yyyy" } },
+                       { 0x0444, new [] { ".", "dd MMMM yyyy' ел'", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0445, new [] { "-", "dd MMMM yyyy", "HH.mm.ss", "dd-MM-yy", "HH.mm", "d MMMM", "MMMM, yyyy" } },
                        { 0x0446, new [] { "-", "dd MMMM yyyy dddd", "tt hh:mm:ss", "dd-MM-yy", "tt hh:mm", "dd MMMM", "MMMM, yyyy" } },
                        { 0x0447, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yy", "HH:mm", "dd MMMM", "MMMM, yyyy" } },
                        { 0x0448, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yy", "HH:mm", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x0449, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x044a, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yy", "HH:mm", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x044b, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yy", "HH:mm", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x044c, new [] { "-", "dd MMMM yyyy", "HH.mm.ss", "dd-MM-yy", "HH.mm", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x044d, new [] { "-", "yyyy,MMMM dd, dddd", "tt h:mm:ss", "dd-MM-yyyy", "tt h:mm", "dd MMMM", "MMMM,yy" } },
+                       { 0x0449, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x044a, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yy", "HH:mm", "MMMM d", "MMMM, yyyy" } },
+                       { 0x044b, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yy", "HH:mm", "MMMM d", "MMMM, yyyy" } },
+                       { 0x044c, new [] { "-", "dd MMMM yyyy", "HH.mm.ss", "dd-MM-yy", "HH.mm", "MMMM dd", "MMMM, yyyy" } },
+                       { 0x044d, new [] { "-", "yyyy,MMMM dd, dddd", "tt h:mm:ss", "dd-MM-yyyy", "tt h:mm", "d MMMM", "MMMM,yy" } },
                        { 0x044e, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "dd MMMM", "MMMM, yyyy" } },
                        { 0x044f, new [] { "-", "dd MMMM yyyy dddd", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x0450, new [] { ".", "yyyy 'оны' MMMM d", "H:mm:ss", "yy.MM.dd", "H:mm", "d MMMM", "yyyy 'он' MMMM" } },
-                       { 0x0451, new [] { "/", "yyyy'ལོའི་ཟླ' M'ཚེས' d", "HH:mm:ss", "yyyy/M/d", "HH:mm", "'ཟླ་' M'ཚེས'd", "yyyy.M" } },
-                       { 0x0452, new [] { "/", "dd MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0453, new [] { "-", "d MMMM yyyy", "HH:mm:ss", "yyyy-MM-dd", "H:mm tt", "'ថ្ងៃទី' dd 'ខែ' MM", "'ខែ' MM 'ឆ្នាំ' yyyy" } },
-                       { 0x0454, new [] { "/", "dd MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "H:mm tt", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0456, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "H:mm:ss", "dd/MM/yyyy", "H:mm", "dd MMMM", "MMMM' de 'yyyy" } },
+                       { 0x0450, new [] { "-", "yyyy 'оны' M'-р сарын' d. dddd 'гариг'.", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "MMMM d.", "yyyy 'оны' MMMM" } },
+                       { 0x0451, new [] { "/", "yyyy'ལོའི་ཟླ' M'ཚེས' d", "HH:mm:ss", "yyyy/M/d", "HH:mm", "ཟླ་Mཚེས་d", "yyyy'ལོའི་ཟླ་' M" } },
+                       { 0x0452, new [] { "/", "d MMMM yyyy", "HH:mm:ss", "dd/MM/yy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0453, new [] { "/", "d MMMM yyyy", "HH:mm:ss", "dd/MM/yy", "H:mm", "d MMMM", "'ខែ' MM 'ឆ្នាំ' yyyy" } },
+                       { 0x0454, new [] { "/", "dd MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0455, new [] { "-", "yyyy MMMM d", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "MMMM d", "yyyy MMMM" } },
+                       { 0x0456, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "H:mm:ss", "dd/MM/yyyy", "H:mm", "d' de 'MMMM", "MMMM' de 'yyyy" } },
                        { 0x0457, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x045a, new [] { "/", "dd MMMM, yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x045b, new [] { "-", "yyyy MMMM' මස 'dd' වැනිදා 'dddd", "h:mm:ss tt", "yyyy-MM-dd", "h:mm tt", "MMMM dd", "yyyy MMMM" } },
-                       { 0x045d, new [] { "/", "dddd,MMMM dd,yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "MMMM dd", "MMMM,yyyy" } },
-                       { 0x045e, new [] { "/", "dddd '፣' MMMM d 'ቀን' yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "MMMM d ቀን", "MMMM yyyy" } },
-                       { 0x0461, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MMMM dd", "MMMM,yyyy" } },
-                       { 0x0462, new [] { "-", "dddd d MMMM yyyy", "H:mm:ss", "d-M-yyyy", "H:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0463, new [] { "/", "dd/MM/yyyy", "h:mm:ss tt", "dd/MM/yy", "h:mm tt", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x0464, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
-                       { 0x0465, new [] { "/", "dd/MM/yyyy", "HH:mm:ss", "dd/MM/yy", "HH:mm", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x0468, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
-                       { 0x046a, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
-                       { 0x046b, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "MMMM dd", "MMMM' de 'yyyy" } },
-                       { 0x046c, new [] { "/", "dd MMMM yyyy", "hh:mm:ss tt", "yyyy/MM/dd", "hh:mm tt", "dd MMMM", "MMMM yyyy" } },
-                       { 0x046d, new [] { ".", "d MMMM yyyy 'й'", "H:mm:ss", "dd.MM.yy", "H:mm", "MMMM dd", "MMMM yyyy" } },
-                       { 0x046e, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x046f, new [] { "-", "d. MMMM yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
-                       { 0x0470, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
-                       { 0x0478, new [] { "/", "yyyy'ꈎ' M'ꆪ' d'ꑍ'", "H:mm:ss", "yyyy/M/d", "tt h:mm", "M'ꆪ' d'ꑍ'", "yyyy'ꈎ' M'ꆪ'" } },
-                       { 0x047a, new [] { "-", "dddd, dd' de 'MMMM' de 'yyyy", "H:mm:ss", "dd-MM-yyyy", "H:mm", "dd MMMM", "MMMM' de 'yyyy" } },
+                       { 0x045a, new [] { "/", "dd MMMM, yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "MMMM dd", "MMMM, yyyy" } },
+                       { 0x045b, new [] { "-", "yyyy MMMM' මස 'dd' වැනිදා 'dddd", "tt h:mm:ss", "yyyy-MM-dd", "tt h:mm", "MMMM dd", "yyyy MMMM" } },
+                       { 0x045c, new [] { "/", "dddd, MMMM dd,yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MMMM d", "MMMM, yyyy" } },
+                       { 0x045d, new [] { "/", "dddd,MMMM dd,yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "d MMMM", "MMMM,yyyy" } },
+                       { 0x045e, new [] { "/", "dddd '፣' MMMM d 'ቀን' yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "MMMM d' ቀን'", "MMMM yyyy" } },
+                       { 0x0461, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "dd MMMM", "MMMM,yyyy" } },
+                       { 0x0462, new [] { "-", "dddd d MMMM yyyy", "H:mm:ss", "d-M-yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0463, new [] { "/", "yyyy, dd, MMMM, dddd", "h:mm:ss tt", "yyyy/M/d", "h:mm tt", "d MMMM", "MMMM yyyy" } },
+                       { 0x0464, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MM/dd", "MMMM, yyyy" } },
+                       { 0x0465, new [] { "/", "ddd, yyyy MMMM dd", "HH:mm:ss", "dd/MM/yy", "HH:mm", "MMMM dd", "yyyy, MMMM" } },
+                       { 0x0468, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "d MMMM", "MMMM, yyyy" } },
+                       { 0x046a, new [] { "/", "dddd, dd MMMM, yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "dd MMMM", "MMMM,yyyy" } },
+                       { 0x046b, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "d' de 'MMMM", "MMMM' de 'yyyy" } },
+                       { 0x046c, new [] { "/", "dd MMMM yyyy", "hh:mm:ss tt", "dd/MM/yy", "hh:mm tt", "MMMM d", "MMMM yyyy" } },
+                       { 0x046d, new [] { ".", "d MMMM yyyy 'й'", "H:mm:ss", "dd.MM.yy", "H:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x046e, new [] { ".", "d. MMMM yyyy", "HH:mm:ss", "dd.MM.yy", "HH:mm", "dd. MMMM", "MMMM yyyy" } },
+                       { 0x046f, new [] { "-", "MMMM d'.-at, 'yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "MMMM d'.-at'", "MMMM yyyy" } },
+                       { 0x0470, new [] { "/", "dddd, MMMM dd, yyyy", "h.mm.ss tt", "d/M/yyyy", "h.mm tt", "d MMMM", "MMMM, yyyy" } },
+                       { 0x0472, new [] { "/", "dddd, MMMM d, yyyy", "h:mm:ss tt", "dd/MM/yy", "h:mm tt", "dd MMMM", "MMMM yyyy" } },
+                       { 0x0473, new [] { "/", "dddd '፣' MMMM d 'መዓልቲ' yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "MMMM d", "MMMM yyyy" } },
+                       { 0x0474, new [] { "/", "dddd, dd MMMM, yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd MMMM", "MMMM, yyyy" } },
+                       { 0x0475, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "d MMMM", "MMMM, yyyy" } },
+                       { 0x0477, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "dd/MM/yy", "h:mm tt", "MMMM d", "MMMM yyyy" } },
+                       { 0x0478, new [] { "/", "yyyy'ꈎ' M'ꆪ' d'ꑍ'", "tt h:mm:ss", "yyyy/M/d", "tt h:mm", "M'’ ꆪ’'d'’ ꑍ’'", "yyyy'ꈎ' M'ꆪ'" } },
+                       { 0x047a, new [] { "-", "dddd, dd' de 'MMMM' de 'yyyy", "H:mm:ss", "dd-MM-yyyy", "H:mm", "d' de 'MMMM", "MMMM' de 'yyyy" } },
                        { 0x047c, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
                        { 0x047e, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x0480, new [] { "-", "yyyy-'يىلى' MMMM d-'كۈنى،'", "H:mm:ss", "yyyy-M-d", "H:mm", "MMMM d'-كۈنى'", "yyyy-'يىلى' MMMM" } },
-                       { 0x0481, new [] { "/", "dddd, dd MMMM, yyyy", "h:mm:ss tt", "dd/MM/yyyy", "h:mm tt", "dd MMMM", "MMMM, yy" } },
-                       { 0x0482, new [] { "/", "dddd,' lo 'd MMMM' de 'yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x0483, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x0484, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x0485, new [] { ".", "MMMM d yyyy 'с.'", "H:mm:ss", "MM.dd.yyyy", "H:mm", "MMMM dd", "MMMM yyyy 'с.'" } },
-                       { 0x0486, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM' de 'yyyy" } },
-                       { 0x0487, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
+                       { 0x0480, new [] { "-", "yyyy-'يىل' d-MMMM", "H:mm:ss", "yyyy-M-d", "H:mm", "d-MMMM", "yyyy-'يىلى' MMMM" } },
+                       { 0x0481, new [] { "/", "dddd, dd MMMM, yyyy", "h:mm:ss tt", "dd/MM/yyyy", "h:mm tt", "d MMMM", "MMMM, yy" } },
+                       { 0x0482, new [] { "/", "dddd d MMMM' de 'yyyy", "HH.mm.ss", "dd/MM/yyyy", "HH' h 'mm", "d MMMM", "MMMM' de 'yyyy" } },
+                       { 0x0483, new [] { "/", "dddd d MMMM yyyy", "H:mm:ss", "dd/MM/yyyy", "HH:mm", "d' di 'MMMM", "MMMM' di u 'yyyy" } },
+                       { 0x0484, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
+                       { 0x0485, new [] { ".", "dddd, yyyy 'с.' MMMM d 'күнэ'", "H:mm:ss", "dd.MM.yyyy", "H:mm", "MMMM d 'күнэ'", "yyyy 'с.' MMMM" } },
+                       { 0x0486, new [] { "/", "dddd, dd' rech 'MMMM' rech 'yyyy", "h:mm:ss tt", "dd/MM/yyyy", "h:mm tt", "d' rech 'MMMM", "MMMM' rech 'yyyy" } },
+                       { 0x0487, new [] { "/", "d ' ' MMMM ' ' yyyy", "H:mm:ss", "d/MM/yyyy", "H:mm", "MMMM dd", "MMMM yyyy" } },
                        { 0x0488, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x048c, new [] { "/", "dd/MM/yyyy", "h:mm:ss tt", "dd/MM/yy", "h:mm tt", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x0491, new [] { "/", "dd MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
+                       { 0x048c, new [] { "/", "yyyy, dd, MMMM, dddd", "h:mm:ss tt", "yyyy/M/d", "h:mm tt", "d MMMM", "MMMM yyyy" } },
+                       { 0x0491, new [] { "/", "dd MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0492, new [] { "/", "dddd, dd MMMM, yyyy", "hh:mm:ss tt", "yyyy/MM/dd", "hh:mm tt", "d MMMM", "MMMM, yyyy" } },
                        { 0x0801, new [] { "/", "dd MMMM, yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM, yyyy" } },
+                       { 0x0803, new [] { "/", "dddd, d MMMM' del 'yyyy", "HH:mm:ss", "dd/MM/yy", "HH:mm", "d MMMM", "MM/yy" } },
                        { 0x0804, new [] { "/", "yyyy'年'M'月'd'日'", "H:mm:ss", "yyyy/M/d", "H:mm", "M'月'd'日'", "yyyy'年'M'月'" } },
-                       { 0x0807, new [] { ".", "dddd, d. MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0809, new [] { "/", "dd MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x080a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM' de 'yyyy" } },
-                       { 0x080c, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "d/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x0810, new [] { ".", "dddd, d. MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
-                       { 0x0813, new [] { "/", "dddd d MMMM yyyy", "H:mm:ss", "d/MM/yyyy", "H:mm", "dd MMMM", "MMMM yyyy" } },
+                       { 0x0807, new [] { ".", "dddd, d. MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
+                       { 0x0809, new [] { "/", "dd MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x080a, new [] { "/", "dddd, d' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "d' de 'MMMM", "MMMM' de 'yyyy" } },
+                       { 0x080c, new [] { "-", "dddd d MMMM yyyy", "HH:mm:ss", "dd-MM-yy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0810, new [] { ".", "dddd, d. MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0813, new [] { "/", "dddd d MMMM yyyy", "H:mm:ss", "d/MM/yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x0814, new [] { ".", "d. MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
-                       { 0x0816, new [] { "-", "dddd, d' de 'MMMM' de 'yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "d/M", "MMMM' de 'yyyy" } },
-                       { 0x081a, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d. MMMM", "MMMM yyyy" } },
+                       { 0x0816, new [] { "/", "d' de 'MMMM' de 'yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d' de 'MMMM", "MMMM' de 'yyyy" } },
+                       { 0x0818, new [] { ".", "dddd, d MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x081a, new [] { ".", "d. MMMM yyyy.", "H:mm:ss", "d.M.yyyy.", "H:mm", "d. MMMM", "MMMM yyyy." } },
                        { 0x081d, new [] { ".", "'den 'd MMMM yyyy", "HH:mm:ss", "d.M.yyyy", "HH:mm", "'den 'd MMMM", "MMMM yyyy" } },
-                       { 0x082c, new [] { ".", "d MMMM yyyy", "H:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x082e, new [] { ". ", "dddd, 'dnja' d. MMMM yyyy", "H:mm:ss", "d. M. yyyy", "H.mm 'goź.'", "d. MMMM", "MMMM yyyy" } },
-                       { 0x083b, new [] { "-", "MMMM d'. b. 'yyyy", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "MMMM d'. b. '", "MMMM yyyy" } },
-                       { 0x083c, new [] { "/", "d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
+                       { 0x0820, new [] { "/", "dddd, d MMMM, yyyy", "h:mm:ss tt", "d/M/yy", "h:mm tt", "d MMMM", "MMMM yyyy" } },
+                       { 0x082c, new [] { ".", "d MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x082e, new [] { ". ", "dddd, d. MMMM yyyy", "HH:mm:ss", "d. M. yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
+                       { 0x0832, new [] { "/", "dd MMMM yyyy", "hh:mm:ss tt", "dd/MM/yy", "hh:mm tt", "d MMMM", "MMMM yyyy" } },
+                       { 0x083b, new [] { "-", "dddd, MMMM d'. b. 'yyyy", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "MMMM d'. b.'", "MMMM yyyy" } },
+                       { 0x083c, new [] { "/", "d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x083e, new [] { "/", "dd MMMM yyyy", "H:mm:ss", "dd/MM/yyyy", "H:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0843, new [] { ".", "yyyy 'йил' d-MMMM", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d-MMMM", "MMMM yyyy" } },
+                       { 0x0843, new [] { ".", "yyyy 'йил' d-MMMM", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x0845, new [] { "-", "dd MMMM yyyy", "HH.mm.ss", "dd-MM-yy", "HH.mm", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x0850, new [] { "/", "yyyy'ᠣᠨ ᠤ᠋' M'ᠰᠠᠷ᠎ᠠ  ᠢᠢᠨ 'd' ᠤ᠋ ᠡᠳᠦᠷ'", "H:mm:ss", "yyyy/M/d", "H:mm", "M'ᠰᠠᠷ᠎ᠠ' d'ᠡᠳᠦᠷ'", "yyyy'ᠣᠨ' M'ᠰᠠᠷ᠎ᠠ'" } },
-                       { 0x085d, new [] { "/", "ddd, MMMM dd,yyyy", "h:mm:ss tt", "d/MM/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
-                       { 0x085f, new [] { "-", "dd MMMM, yyyy", "H:mm:ss", "dd-MM-yyyy", "H:mm", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x086b, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "H:mm:ss", "dd/MM/yyyy", "H:mm", "MMMM dd", "MMMM' de 'yyyy" } },
+                       { 0x0846, new [] { "-", "dd MMMM yyyy dddd", "h.mm.ss tt", "dd-MM-yy", "h.mm tt", "dd MMMM", "MMMM, yyyy" } },
+                       { 0x0849, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x0850, new [] { "/", "yyyyᠣᠨ MMMM dᠡᠳᠦᠷ᠂ dddd", "H:mm:ss", "yyyy/M/d", "H:mm", "MMMM dᠡᠳᠦᠷ", "yyyyᠣᠨ MMMM" } },
+                       { 0x0859, new [] { "/", "dddd, dd MMMM, yyyy", "h:mm:ss tt", "dd/MM/yyyy", "h:mm tt", "dd MMMM", "MMMM, yyyy" } },
+                       { 0x085d, new [] { "/", "dddd, dd MMMM, yyyy", "h:mm:ss tt", "d/MM/yyyy", "h:mm tt", "MMMM d", "MMMM, yyyy" } },
+                       { 0x085f, new [] { "-", "dd MMMM, yyyy", "H:mm:ss", "dd-MM-yyyy", "H:mm", "d MMMM", "MMMM, yyyy" } },
+                       { 0x0861, new [] { "-", "yyyy MMMM d, dddd", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "MMMM d", "yyyy MMMM" } },
+                       { 0x0867, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
+                       { 0x086b, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "H:mm:ss", "dd/MM/yyyy", "H:mm", "d' de 'MMMM", "MMMM' de 'yyyy" } },
+                       { 0x0873, new [] { "/", "dddd '፣' MMMM d 'መዓልቲ' yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "MMMM d", "MMMM yyyy" } },
                        { 0x0c01, new [] { "/", "dd MMMM, yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM, yyyy" } },
                        { 0x0c04, new [] { "/", "yyyy'年'M'月'd'日'", "H:mm:ss", "d/M/yyyy", "H:mm", "M'月'd'日'", "yyyy'年'M'月'" } },
-                       { 0x0c07, new [] { ".", "dddd, dd. MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0c09, new [] { "/", "dddd, d MMMM yyyy", "h:mm:ss tt", "d/MM/yyyy", "h:mm tt", "dd MMMM", "MMMM yyyy" } },
-                       { 0x0c0a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "H:mm:ss", "dd/MM/yyyy", "H:mm", "dd MMMM", "MMMM' de 'yyyy" } },
+                       { 0x0c07, new [] { ".", "dddd, dd. MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
+                       { 0x0c09, new [] { "/", "dddd, d MMMM yyyy", "h:mm:ss tt", "d/MM/yyyy", "h:mm tt", "MMMM d", "MMMM yyyy" } },
+                       { 0x0c0a, new [] { "/", "dddd, d' de 'MMMM' de 'yyyy", "H:mm:ss", "dd/MM/yyyy", "H:mm", "d' de 'MMMM", "MMMM' de 'yyyy" } },
                        { 0x0c0c, new [] { "-", "d MMMM yyyy", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "d MMMM", "MMMM, yyyy" } },
-                       { 0x0c1a, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d. MMMM", "MMMM yyyy" } },
-                       { 0x0c3b, new [] { ".", "MMMM d'. b. 'yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "MMMM d'. b. '", "MMMM yyyy" } },
-                       { 0x0c6b, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "MMMM dd", "MMMM' de 'yyyy" } },
+                       { 0x0c1a, new [] { ".", "d. MMMM yyyy.", "H:mm:ss", "d.M.yyyy.", "H:mm", "d. MMMM", "MMMM yyyy." } },
+                       { 0x0c3b, new [] { ".", "dddd', 'MMMM d'. b. 'yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "MMMM d'. b.'", "MMMM yyyy" } },
+                       { 0x0c50, new [] { "/", "yyyyᠣᠨ MMMM dᠡᠳᠦᠷ᠂ dddd", "H:mm:ss", "yyyy/M/d", "H:mm", "MMMM dᠡᠳᠦᠷ", "yyyyᠣᠨ MMMM" } },
+                       { 0x0c6b, new [] { "/", "dddd, d MMMM, yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "d MMMM", "MMMM' de 'yyyy" } },
+                       { 0x1000, new [] { "/", "dd MMMM yyyy", "HH.mm.ss", "dd/MM/yyyy", "HH.mm", "dd MMMM", "MMMM yyyy" } },
                        { 0x1001, new [] { "/", "dd MMMM, yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM, yyyy" } },
                        { 0x1004, new [] { "/", "yyyy'年'M'月'd'日'", "tt h:mm:ss", "d/M/yyyy", "tt h:mm", "M'月'd'日'", "yyyy'年'M'月'" } },
-                       { 0x1007, new [] { ".", "dddd, d. MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x1009, new [] { "/", "MMMM-dd-yy", "h:mm:ss tt", "dd/MM/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
-                       { 0x100a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM' de 'yyyy" } },
+                       { 0x1007, new [] { ".", "dddd' den 'd'.' MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
+                       { 0x1009, new [] { "-", "MMMM d, yyyy", "h:mm:ss tt", "yyyy-MM-dd", "h:mm tt", "d MMMM", "MMMM, yyyy" } },
+                       { 0x100a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "h:mm:ss tt", "dd/MM/yyyy", "h:mm tt", "d' de 'MMMM", "MMMM' de 'yyyy" } },
                        { 0x100c, new [] { ".", "dddd d MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x101a, new [] { ".", "d. MMMM yyyy.", "H:mm:ss", "d.M.yyyy.", "H:mm", "d. MMMM", "MMMM, yyyy" } },
-                       { 0x103b, new [] { ".", "MMMM d'. b. 'yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "MMMM d'. b. '", "MMMM yyyy" } },
+                       { 0x103b, new [] { ".", "dddd, MMMM d'. b. 'yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "MMMM d'. b.'", "MMMM yyyy" } },
+                       { 0x105f, new [] { "-", "dddd, dd MMMM, yyyy", "H:mm:ss", "dd-MM-yyyy", "H:mm", "dd MMMM", "MMMM, yyyy" } },
                        { 0x1401, new [] { "-", "dd MMMM, yyyy", "H:mm:ss", "dd-MM-yyyy", "H:mm", "dd MMMM", "MMMM, yyyy" } },
                        { 0x1404, new [] { "/", "yyyy'年'M'月'd'日'", "H:mm:ss", "d/M/yyyy", "H:mm", "M'月'd'日'", "yyyy'年'M'月'" } },
-                       { 0x1407, new [] { ".", "dddd, d. MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x1409, new [] { "/", "dddd, d MMMM yyyy", "h:mm:ss tt", "d/MM/yyyy", "h:mm tt", "dd MMMM", "MMMM yyyy" } },
-                       { 0x140a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM' de 'yyyy" } },
-                       { 0x140c, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x141a, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d. MMMM", "MMMM yyyy" } },
-                       { 0x143b, new [] { "-", "MMMM d'. b. 'yyyy", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "MMMM d'. b. '", "MMMM yyyy" } },
+                       { 0x1407, new [] { ".", "dddd, d. MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
+                       { 0x1409, new [] { "/", "dddd, d MMMM yyyy", "h:mm:ss tt", "d/MM/yyyy", "h:mm tt", "d MMMM", "MMMM yyyy" } },
+                       { 0x140a, new [] { "/", "dddd d' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "d' de 'MMMM", "MMMM' de 'yyyy" } },
+                       { 0x140c, new [] { "/", "dddd', le 'd MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x141a, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "dd. MMMM", "MMMM yyyy" } },
+                       { 0x143b, new [] { "-", "dddd, MMMM d'. b. 'yyyy", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "MMMM d'. b.'", "MMMM yyyy" } },
                        { 0x1801, new [] { "-", "dd MMMM, yyyy", "H:mm:ss", "dd-MM-yyyy", "H:mm", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x1809, new [] { "/", "dd MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
-                       { 0x180a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "MM/dd/yyyy", "hh:mm tt", "dd MMMM", "MMMM' de 'yyyy" } },
+                       { 0x1809, new [] { "/", "dd MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x180a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "h:mm:ss tt", "d/M/yy", "h:mm tt", "d' de 'MMMM", "MMMM' de 'yyyy" } },
                        { 0x180c, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x181a, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d. MMMM", "MMMM yyyy" } },
-                       { 0x183b, new [] { ".", "MMMM d'. b. 'yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "MMMM d'. b. '", "MMMM yyyy" } },
+                       { 0x181a, new [] { ".", "d. MMMM yyyy.", "H:mm:ss", "d.M.yyyy.", "H:mm", "d. MMMM", "MMMM yyyy." } },
+                       { 0x183b, new [] { ".", "dddd, MMMM d'. b. 'yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "MMMM d'. b.'", "MMMM yyyy" } },
                        { 0x1c01, new [] { "-", "dd MMMM, yyyy", "H:mm:ss", "dd-MM-yyyy", "H:mm", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x1c09, new [] { "/", "dd MMMM yyyy", "hh:mm:ss tt", "yyyy/MM/dd", "hh:mm tt", "dd MMMM", "MMMM yyyy" } },
-                       { 0x1c0a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM' de 'yyyy" } },
-                       { 0x1c1a, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d. MMMM", "MMMM, yyyy" } },
-                       { 0x1c3b, new [] { "-", "MMMM d'. b. 'yyyy", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "MMMM d'. b. '", "MMMM yyyy" } },
+                       { 0x1c09, new [] { "-", "dd MMMM yyyy", "hh:mm:ss tt", "yyyy-MM-dd", "hh:mm tt", "MMMM d", "MMMM yyyy" } },
+                       { 0x1c0a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "h:mm:ss tt", "d/M/yy", "h:mm tt", "d' de 'MMMM", "MMMM' de 'yyyy" } },
+                       { 0x1c1a, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy.", "H:mm", "d. MMMM", "MMMM, yyyy" } },
+                       { 0x1c3b, new [] { "-", "dddd, MMMM d'. b. 'yyyy", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "MMMM d'. b.'", "MMMM yyyy" } },
                        { 0x2001, new [] { "/", "dd MMMM, yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x2009, new [] { "/", "dddd, MMMM dd, yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "MMMM dd", "MMMM, yyyy" } },
-                       { 0x200a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM' de 'yyyy" } },
-                       { 0x201a, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d. MMMM", "MMMM, yyyy" } },
+                       { 0x2009, new [] { "/", "dd MMMM, yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM, yyyy" } },
+                       { 0x200a, new [] { "-", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd-MM-yyyy", "hh:mm tt", "d' de 'MMMM", "MMMM' de 'yyyy" } },
+                       { 0x200c, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x201a, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "MMMM dd", "MMMM, yyyy" } },
                        { 0x203b, new [] { ".", "MMMM d'. p. 'yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "MMMM d'. p. '", "MMMM yyyy" } },
                        { 0x2401, new [] { "/", "dd MMMM, yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x2409, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "MM/dd/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
-                       { 0x240a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM' de 'yyyy" } },
-                       { 0x241a, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d. MMMM", "MMMM yyyy" } },
+                       { 0x2409, new [] { "/", "dddd, dd MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM, yyyy" } },
+                       { 0x240a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "h:mm:ss tt", "dd/MM/yyyy", "h:mm tt", "d' de 'MMMM", "MMMM' de 'yyyy" } },
+                       { 0x240c, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x241a, new [] { ".", "d. MMMM yyyy.", "H:mm:ss", "d.M.yyyy.", "H:mm", "d. MMMM", "MMMM yyyy." } },
                        { 0x243b, new [] { ".", "MMMM d'. p. 'yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "MMMM d'. p. '", "MMMM yyyy" } },
                        { 0x2801, new [] { "/", "dd MMMM, yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x2809, new [] { "/", "dddd, dd MMMM yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM yyyy" } },
-                       { 0x280a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM' de 'yyyy" } },
-                       { 0x281a, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d. MMMM", "MMMM yyyy" } },
+                       { 0x2809, new [] { "/", "dddd, dd MMMM yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "d MMMM", "MMMM yyyy" } },
+                       { 0x280a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "d' de 'MMMM", "MMMM' de 'yyyy" } },
+                       { 0x280c, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x281a, new [] { ".", "d. MMMM yyyy.", "H:mm:ss", "d.M.yyyy.", "H:mm", "d. MMMM", "MMMM yyyy." } },
                        { 0x2c01, new [] { "/", "dd MMMM, yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x2c09, new [] { "/", "dddd, dd MMMM yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM yyyy" } },
-                       { 0x2c0a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM' de 'yyyy" } },
-                       { 0x2c1a, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d. MMMM", "MMMM yyyy" } },
+                       { 0x2c09, new [] { "/", "dddd, dd MMMM yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "d MMMM", "MMMM yyyy" } },
+                       { 0x2c0a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd' de 'MMMM", "MMMM' de 'yyyy" } },
+                       { 0x2c0c, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x2c1a, new [] { ".", "d. MMMM yyyy.", "H:mm:ss", "d.M.yyyy.", "H:mm", "d. MMMM", "MMMM yyyy." } },
                        { 0x3001, new [] { "/", "dd MMMM, yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x3009, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
-                       { 0x300a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "H:mm:ss", "dd/MM/yyyy", "H:mm", "dd MMMM", "MMMM' de 'yyyy" } },
-                       { 0x301a, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d. MMMM", "MMMM yyyy" } },
+                       { 0x3009, new [] { "/", "dddd, d MMMM yyyy", "h:mm:ss tt", "dd/MM/yyyy", "h:mm tt", "d MMMM", "MMMM/yyyy" } },
+                       { 0x300a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "H:mm:ss", "dd/MM/yyyy", "H:mm", "d' de 'MMMM", "MMMM' de 'yyyy" } },
+                       { 0x300c, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x301a, new [] { ".", "d. MMMM yyyy.", "H:mm:ss", "d.M.yyyy.", "H:mm", "d. MMMM", "MMMM yyyy." } },
                        { 0x3401, new [] { "/", "dd MMMM, yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x3409, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
-                       { 0x340a, new [] { "-", "dddd, dd' de 'MMMM' de 'yyyy", "H:mm:ss", "dd-MM-yyyy", "H:mm", "dd MMMM", "MMMM' de 'yyyy" } },
+                       { 0x3409, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MMMM d", "MMMM, yyyy" } },
+                       { 0x340a, new [] { "-", "dddd, dd' de 'MMMM' de 'yyyy", "H:mm:ss", "dd-MM-yyyy", "H:mm", "d' de 'MMM", "MMMM' de 'yyyy" } },
+                       { 0x340c, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x3801, new [] { "/", "dd MMMM, yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x380a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM' de 'yyyy" } },
+                       { 0x380a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "H:mm:ss", "dd/MM/yyyy", "H:mm", "d' de 'MMMM", "MMMM' de 'yyyy" } },
+                       { 0x380c, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x3c01, new [] { "/", "dd MMMM, yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x3c0a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM' de 'yyyy" } },
+                       { 0x3c09, new [] { "/", "dddd, d MMMM, yyyy", "h:mm:ss tt", "d/M/yy", "h:mm tt", "d MMMM", "MMMM yyyy" } },
+                       { 0x3c0a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "d' de 'MMMM", "MMMM' de 'yyyy" } },
+                       { 0x3c0c, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x4001, new [] { "/", "dd MMMM, yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x4009, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x400a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM' de 'yyyy" } },
+                       { 0x4009, new [] { "-", "dd MMMM yyyy", "HH:mm:ss", "dd-MM-yyyy", "HH:mm", "d MMMM", "MMMM, yyyy" } },
+                       { 0x400a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "d' de 'MMM", "MMMM' de 'yyyy" } },
                        { 0x4409, new [] { "/", "dddd, d MMMM, yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "d MMMM", "MMMM, yyyy" } },
-                       { 0x440a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM' de 'yyyy" } },
-                       { 0x4809, new [] { "/", "dddd, d MMMM, yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "d MMMM", "MMMM, yyyy" } },
-                       { 0x480a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM' de 'yyyy" } },
-                       { 0x4c0a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM' de 'yyyy" } },
-                       { 0x500a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "dd MMMM", "MMMM' de 'yyyy" } },
-                       { 0x540a, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "dd' de 'MMMM", "MMMM' de 'yyyy" } },
-                       { 0x641a, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d. MMMM", "MMMM, yyyy" } },
-                       { 0x681a, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d. MMMM", "MMMM yyyy" } },
-                       { 0x6c1a, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d. MMMM", "MMMM yyyy" } },
-                       { 0x701a, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d. MMMM", "MMMM yyyy" } },
+                       { 0x440a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "d' de 'MMMM", "MMMM' de 'yyyy" } },
+                       { 0x4809, new [] { "/", "dddd, d MMMM yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "d MMMM", "MMMM yyyy" } },
+                       { 0x480a, new [] { "/", "dddd, d' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "d' de 'MMMM", "MMMM' de 'yyyy" } },
+                       { 0x4c0a, new [] { "/", "dddd, d' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "d' de 'MMMM", "MMMM' del 'yyyy" } },
+                       { 0x500a, new [] { "/", "dddd, dd' de 'MMMM' de 'yyyy", "hh:mm:ss tt", "dd/MM/yyyy", "hh:mm tt", "d' de 'MMMM", "MMMM' de 'yyyy" } },
+                       { 0x540a, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MMMM d", "MMMM' de 'yyyy" } },
+                       { 0x580a, new [] { "/", "dddd, d 'de' MMMM 'de' yyyy", "HH:mm:ss", "dd/MM/yy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x641a, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "MMMM dd", "MMMM, yyyy" } },
+                       { 0x681a, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "dd. MMMM", "MMMM yyyy" } },
+                       { 0x6c1a, new [] { ".", "d. MMMM yyyy.", "H:mm:ss", "d.M.yyyy.", "H:mm", "d. MMMM", "MMMM yyyy." } },
+                       { 0x701a, new [] { ".", "d. MMMM yyyy.", "H:mm:ss", "d.M.yyyy.", "H:mm", "d. MMMM", "MMMM yyyy." } },
                        { 0x703b, new [] { ".", "MMMM d'. p. 'yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "MMMM d'. p. '", "MMMM yyyy" } },
-                       { 0x742c, new [] { ".", "d MMMM yyyy", "H:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x742c, new [] { ".", "d MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
                        { 0x743b, new [] { ".", "MMMM d'. p. 'yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "MMMM d'. p. '", "MMMM yyyy" } },
                        { 0x7804, new [] { "/", "yyyy'年'M'月'd'日'", "H:mm:ss", "yyyy/M/d", "H:mm", "M'月'd'日'", "yyyy'年'M'月'" } },
                        { 0x7814, new [] { ".", "d. MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
-                       { 0x781a, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d. MMMM", "MMMM yyyy" } },
-                       { 0x782c, new [] { ".", "d MMMM yyyy", "H:mm:ss", "dd.MM.yyyy", "H:mm", "d MMMM", "MMMM yyyy" } },
-                       { 0x783b, new [] { "-", "MMMM d'. b. 'yyyy", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "MMMM d'. b. '", "MMMM yyyy" } },
-                       { 0x7843, new [] { ".", "yyyy 'йил' d-MMMM", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d-MMMM", "MMMM yyyy" } },
-                       { 0x7850, new [] { ".", "yyyy 'оны' MMMM d", "H:mm:ss", "yy.MM.dd", "H:mm", "d MMMM", "yyyy 'он' MMMM" } },
-                       { 0x785d, new [] { "/", "dddd,MMMM dd,yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "MMMM dd", "MMMM,yyyy" } },
+                       { 0x781a, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "dd. MMMM", "MMMM yyyy" } },
+                       { 0x782c, new [] { ".", "dd MMMM yyyy'-cü il'", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x783b, new [] { "-", "dddd, MMMM d'. b. 'yyyy", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "MMMM d'. b.'", "MMMM yyyy" } },
+                       { 0x7843, new [] { ".", "yyyy 'йил' d-MMMM", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d MMMM", "MMMM yyyy" } },
+                       { 0x7850, new [] { "-", "yyyy 'оны' M'-р сарын' d. dddd 'гариг'.", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "MMMM d.", "yyyy 'оны' MMMM" } },
+                       { 0x785d, new [] { "/", "dddd,MMMM dd,yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "d MMMM", "MMMM,yyyy" } },
+                       { 0x785f, new [] { "-", "dddd, dd MMMM, yyyy", "H:mm:ss", "dd-MM-yyyy", "H:mm", "dd MMMM", "MMMM, yyyy" } },
                        { 0x7c04, new [] { "/", "yyyy'年'M'月'd'日'", "H:mm:ss", "d/M/yyyy", "H:mm", "M'月'd'日'", "yyyy'年'M'月'" } },
                        { 0x7c14, new [] { ".", "d. MMMM yyyy", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
-                       { 0x7c1a, new [] { ".", "d. MMMM yyyy", "H:mm:ss", "d.M.yyyy", "H:mm", "d. MMMM", "MMMM yyyy" } },
-                       { 0x7c28, new [] { ".", "d MMMM yyyy", "H:mm:ss", "dd.MM.yy", "H:mm", "MMMM dd", "MMMM yyyy" } },
-                       { 0x7c2e, new [] { ". ", "dddd, 'dnja' d. MMMM yyyy", "H:mm:ss", "d. M. yyyy", "H.mm 'goź.'", "d. MMMM", "MMMM yyyy" } },
-                       { 0x7c3b, new [] { "-", "MMMM d'. b. 'yyyy", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "MMMM d'. b. '", "MMMM yyyy" } },
-                       { 0x7c43, new [] { "/", "yyyy 'yil' d-MMMM", "HH:mm:ss", "dd/MM yyyy", "HH:mm", "d-MMMM", "MMMM yyyy" } },
-                       { 0x7c50, new [] { "/", "yyyy'ᠣᠨ ᠤ᠋' M'ᠰᠠᠷ᠎ᠠ  ᠢᠢᠨ 'd' ᠤ᠋ ᠡᠳᠦᠷ'", "H:mm:ss", "yyyy/M/d", "H:mm", "M'ᠰᠠᠷ᠎ᠠ' d'ᠡᠳᠦᠷ'", "yyyy'ᠣᠨ' M'ᠰᠠᠷ᠎ᠠ'" } },
-                       { 0x7c5d, new [] { "/", "ddd, MMMM dd,yyyy", "h:mm:ss tt", "d/MM/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } },
-                       { 0x7c5f, new [] { "-", "dd MMMM, yyyy", "H:mm:ss", "dd-MM-yyyy", "H:mm", "dd MMMM", "MMMM, yyyy" } },
-                       { 0x7c68, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "MMMM dd", "MMMM, yyyy" } }
+                       { 0x7c1a, new [] { ".", "d. MMMM yyyy.", "H:mm:ss", "d.M.yyyy.", "H:mm", "d. MMMM", "MMMM yyyy." } },
+                       { 0x7c28, new [] { ".", "d MMMM yyyy' с.'", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
+                       { 0x7c2e, new [] { ". ", "dddd, d. MMMM yyyy", "HH:mm:ss", "d. M. yyyy", "HH:mm", "d. MMMM", "MMMM yyyy" } },
+                       { 0x7c3b, new [] { "-", "dddd, MMMM d'. b. 'yyyy", "HH:mm:ss", "yyyy-MM-dd", "HH:mm", "MMMM d'. b.'", "MMMM yyyy" } },
+                       { 0x7c43, new [] { ".", "yyyy 'yil' d-MMMM", "HH:mm:ss", "dd.MM.yyyy", "HH:mm", "d-MMMM", "MMMM yyyy" } },
+                       { 0x7c46, new [] { "-", "dd MMMM yyyy dddd", "h.mm.ss tt", "dd-MM-yy", "h.mm tt", "dd MMMM", "MMMM, yyyy" } },
+                       { 0x7c50, new [] { "/", "yyyyᠣᠨ MMMM dᠡᠳᠦᠷ᠂ dddd", "H:mm:ss", "yyyy/M/d", "H:mm", "MMMM dᠡᠳᠦᠷ", "yyyyᠣᠨ MMMM" } },
+                       { 0x7c59, new [] { "/", "dddd, dd MMMM, yyyy", "h:mm:ss tt", "dd/MM/yyyy", "h:mm tt", "dd MMMM", "MMMM, yyyy" } },
+                       { 0x7c5c, new [] { "/", "dddd, MMMM dd,yyyy", "h:mm:ss tt", "M/d/yyyy", "h:mm tt", "MMMM d", "MMMM, yyyy" } },
+                       { 0x7c5d, new [] { "/", "dddd, dd MMMM, yyyy", "h:mm:ss tt", "d/MM/yyyy", "h:mm tt", "MMMM d", "MMMM, yyyy" } },
+                       { 0x7c5f, new [] { "-", "dd MMMM, yyyy", "H:mm:ss", "dd-MM-yyyy", "H:mm", "d MMMM", "MMMM, yyyy" } },
+                       { 0x7c67, new [] { "/", "dddd d MMMM yyyy", "HH:mm:ss", "dd/MM/yyyy", "HH:mm", "dd MMMM", "MMMM yyyy" } },
+                       { 0x7c68, new [] { "/", "dddd, MMMM dd, yyyy", "h:mm:ss tt", "d/M/yyyy", "h:mm tt", "d MMMM", "MMMM, yyyy" } },
+                       { 0x7c92, new [] { "/", "dddd, dd MMMM, yyyy", "hh:mm:ss tt", "yyyy/MM/dd", "hh:mm tt", "d MMMM", "MMMM, yyyy" } }
                };
 
                static readonly Dictionary<int, string[][]> DateTime2 = new Dictionary<int, string[][]> {