about summary refs log tree commit diff stats
path: root/res
diff options
context:
space:
mode:
authorbptato <nincsnevem662@gmail.com>2024-03-03 23:10:44 +0100
committerbptato <nincsnevem662@gmail.com>2024-03-03 23:18:25 +0100
commit15d5ad451bdc456e80e7468a76fb2eac6feb4a4e (patch)
tree941481cc2795e1dd191b928737a323362e298b16 /res
parentfb04a7e96ff68b4516ea483ca4fbe9c4976bb7d2 (diff)
downloadchawan-15d5ad451bdc456e80e7468a76fb2eac6feb4a4e.tar.gz
strwidth, renderdocument: small refactoring
* put attrs pointer in state
* simplify width()
* use unsigned int as ptint to avoid UB
Diffstat (limited to 'res')
-rw-r--r--res/gencharwidth.nim4
-rw-r--r--res/map/charwidth_gen.nim577
2 files changed, 449 insertions, 132 deletions
diff --git a/res/gencharwidth.nim b/res/gencharwidth.nim
index 3cc0bebd..a171f306 100644
--- a/res/gencharwidth.nim
+++ b/res/gencharwidth.nim
@@ -187,14 +187,14 @@ proc main() =
 
   echo "const DoubleWidthTable: PropertyTable = ["
   for u in DoubleWidthTable:
-    writer.write($u & ",")
+    writer.write($u & "u32,")
   writer.flush()
   echo "]"
   echo ""
 
   echo "const CombiningTable: PropertyTable = ["
   for u in CombiningTable:
-    writer.write($u & ",")
+    writer.write($u & "u32,")
   writer.flush()
   echo "]"
   echo ""
diff --git a/res/map/charwidth_gen.nim b/res/map/charwidth_gen.nim
index 93ee3733..4d32bf44 100644
--- a/res/map/charwidth_gen.nim
+++ b/res/map/charwidth_gen.nim
@@ -59,138 +59,455 @@ const Combining: array[13, tuple[ucs, mapped: uint32]] = [
 ]
 
 const DoubleWidthTable: PropertyTable = [
--1,0,0,-2147483648,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,201326592,1536,0,0,0,0,0,597504,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-1610612736,3145728,0,1048320,-2147483648,524288,1610615810,1065008,606864384,
-3104,256,12079104,0,14680064,-2147418112,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,402653184,0,2162688,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,-67108865,-1,-1,1048575,-1,-1,-1,-1,-1,-1,4194303,268369920,-1,2147483647,
--2,-1,-25165825,-1,-1,-1,-32,-65537,-1,-1,-32769,-1,-1,-65521,2147483647,-1,
--65281,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-57345,-1,127,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,536870911,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,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,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,67043328,-65536,-524289,3967,0,0,0,0,-2,-1,-1,1,0,0,0,127,
+4294967295u32,0u32,0u32,2147483648u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,4294967295u32,
+4294967295u32,4294967295u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,201326592u32,1536u32,0u32,0u32,0u32,0u32,0u32,597504u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+1610612736u32,3145728u32,0u32,1048320u32,2147483648u32,524288u32,1610615810u32,
+1065008u32,606864384u32,3104u32,256u32,12079104u32,0u32,14680064u32,
+2147549184u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,402653184u32,
+0u32,2162688u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,4227858431u32,
+4294967295u32,4294967295u32,1048575u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4194303u32,268369920u32,
+4294967295u32,2147483647u32,4294967294u32,4294967295u32,4269801471u32,
+4294967295u32,4294967295u32,4294967295u32,4294967264u32,4294901759u32,
+4294967295u32,4294967295u32,4294934527u32,4294967295u32,4294967295u32,
+4294901775u32,2147483647u32,4294967295u32,4294902015u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,0u32,0u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294909951u32,4294967295u32,127u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,536870911u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,15u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,4294967295u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,67043328u32,4294901760u32,4294443007u32,3967u32,0u32,0u32,0u32,0u32,
+4294967294u32,4294967295u32,4294967295u32,1u32,0u32,0u32,0u32,127u32,
 ]
 
 const CombiningTable: PropertyTable = [
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,65535,0,0,0,0,0,0,0,0,
-888,0,0,0,0,0,0,0,-131072,-1073741825,182,0,4128783,0,2147481600,65536,0,0,
--4194304,15775,163840,-65536,2047,0,0,131008,0,1046528,0,0,0,0,0,0,0,0,6,
-268435456,1974782,12,2,268435456,8222,12,6,268435456,14726,196608,6,268435456,
-8638,12,2,-1879048192,4202510,0,4,0,8193,0,0,-1073741824,6307265,0,0,
--1879048192,12352,12,0,0,8206,0,0,0,6030336,0,0,133300224,32640,0,0,468844544,
-16128,0,50331648,44040192,0,2147352576,-16842529,536870911,64,0,0,46522368,
-50331648,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,-2147483648,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,1835008,1835008,786432,786432,
-0,1068498944,537919040,0,14336,0,0,0,0,512,0,0,0,235143559,0,0,0,0,0,0,25165824,
-0,0,0,0,0,0,0,15,399507456,4,1046528,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2047,
--1073741824,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63488,31744,0,64527,0,0,-65536,
-65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,64512,0,0,100663296,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,2112,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-1073741824,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,15,0,0,0,0,0,
--2147483648,0,0,0,0,0,0,0,234881024,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,4294967295u32,4294967295u32,
+4294967295u32,65535u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,888u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,4294836224u32,3221225471u32,182u32,0u32,4128783u32,
+0u32,2147481600u32,65536u32,0u32,0u32,4290772992u32,15775u32,163840u32,
+4294901760u32,2047u32,0u32,0u32,131008u32,0u32,1046528u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,6u32,268435456u32,1974782u32,12u32,2u32,268435456u32,
+8222u32,12u32,6u32,268435456u32,14726u32,196608u32,6u32,268435456u32,8638u32,
+12u32,2u32,2415919104u32,4202510u32,0u32,4u32,0u32,8193u32,0u32,0u32,
+3221225472u32,6307265u32,0u32,0u32,2415919104u32,12352u32,12u32,0u32,0u32,
+8206u32,0u32,0u32,0u32,6030336u32,0u32,0u32,133300224u32,32640u32,0u32,0u32,
+468844544u32,16128u32,0u32,50331648u32,44040192u32,0u32,2147352576u32,
+4278124767u32,536870911u32,64u32,0u32,0u32,46522368u32,50331648u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,4294967295u32,4294967295u32,4294967295u32,
+4294967295u32,4294967295u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+2147483648u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+1835008u32,1835008u32,786432u32,786432u32,0u32,1068498944u32,537919040u32,0u32,
+14336u32,0u32,0u32,0u32,0u32,512u32,0u32,0u32,0u32,235143559u32,0u32,0u32,0u32,
+0u32,0u32,0u32,25165824u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,15u32,
+399507456u32,4u32,1046528u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,2047u32,3221225472u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,63488u32,
+31744u32,0u32,64527u32,0u32,0u32,4294901760u32,65535u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,64512u32,0u32,0u32,100663296u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,2112u32,96u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+1073741824u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,
+0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,65535u32,15u32,0u32,0u32,0u32,
+0u32,0u32,2147483648u32,0u32,0u32,0u32,0u32,0u32,0u32,0u32,234881024u32,
 ]